Coding Project. Compilers Lab course - 2016. Federal University of São Carlos - UFSCar Sorocaba.
- Igor Felipe Ferreira Ceridório
- Rafael Zanetti
-
AssignExprLocalDec ::= Expression [ “=” Expression ] | LocalDec
-
BasicType ::= “void” | “int” | “boolean” | “String”
-
BasicValue ::= IntValue | BooleanValue | StringValue
-
BooleanValue ::= “true” | “false”
-
ClassDec ::= “class” Id [ “extends” Id ] “{” MemberList “}”
-
CompStatement ::= “{” { Statement } “}”
-
Digit ::= “0” | ... | “9”
-
DoWhileStat ::= “do” CompStatement “while” “(” Expression “)”
-
Expression ::= SimpleExpression [ Relation SimpleExpression ]
-
ExpressionList ::= Expression { “,” Expression }
-
Factor ::= BasicValue | “(” Expression “)” | “!” Factor | “null” | ObjectCreation | PrimaryExpr
-
FormalParamDec ::= ParamDec { “,” ParamDec }
-
HighOperator ::= “∗” | “/” | “&&”
-
Id ::= Letter { Letter | Digit | “ ” }
-
IdList ::= Id { “,” Id }
-
IfStat ::= “if” “(” Expression “)” Statement [ “else” Statement ]
-
InstVarDec ::= Type IdList “;”
-
IntValue ::= Digit { Digit }
-
LeftValue ::= [ (“this” | Id ) “.” ] Id
-
Letter ::= “A” | ... | “Z” | “a” | ... | “z”
-
LocalDec ::= Type IdList “;”
-
LowOperator ::= “+” | “−” | “||”
-
MemberList ::= { Qualifier Member }
-
Member ::= InstVarDec | MethodDec
-
MethodDec ::= Type Id “(” [ FormalParamDec ] “)” “{” StatementList “}”
-
MOCall ::= “@” Id [ “(” { MOParam } “)” ]
-
MOParam ::= IntValue | StringValue | Id
-
ObjectCreation ::= “new” Id “(” “)”
-
ParamDec ::= Type Id
-
Program ::= { MOCall } ClassDec { ClassDec }
-
Qualifier ::= [ "final" ] [ "static" ] ( “private” | “public”)
-
ReadStat ::= “read” “(” LeftValue { “,” LeftValue } “)”
-
PrimaryExpr ::= “super” “.” Id “(” [ ExpressionList ] “)” | Id | Id “.” Id | Id “.” Id “(” [ ExpressionList ] ”)” | Id “.” Id “.” Id “(” [ ExpressionList ] “)” | “this” | “this” “.” Id | “this” ”.” Id “(” [ ExpressionList ] “)” | “this” ”.” I
“.” Id “(” [ ExpressionList ] “)”``` -
Relation ::= “==” | “<” | “>” | “<=” | “>=” | “! =”
-
ReturnStat ::= “return” Expression
-
RightValue ::= “this” [ “.” Id ] | Id [ “.” Id ]
-
Signal ::= “+” | “−”
-
SignalFactor ::= [ Signal ] Factor
-
SimpleExpression ::= Term { LowOperator Term }
-
Statement ::= AssignExprLocalDec “;” | IfStat | WhileStat | ReturnStat “;” | ReadStat “;” | WriteStat “;” | “break” “;” | “;” | CompStatement DoWhileStat
-
StatementList ::= { Statement }
-
Term ::= SignalFactor { HighOperator SignalFactor }
-
Type ::= BasicType | Id
-
WriteStat ::= “write” “(” ExpressionList “)”
-
WhileStat ::= “while” “(” Expression “)” Statement
-
AsssignmentStatement
-
BreakStatement
-
CompositeExpr
-
CompositeStatement
-
DoWhileStatement
-
ExprList
-
IfStatement
-
InstanceVariableList
-
KraClass
-
LiteralBoolean
-
LiteralInt
-
LiteralString
-
LocalVariableList
-
Member
-
MemberList
-
MessageSendStatement
-
MessageSendToSelf
-
MessageSendToSuper
-
MessageSendToVariable
-
MethodDec
-
NullExpr
-
NullStatement
-
ObjectCreation
-
ParamList
-
ParenthesisExpr
-
Program
-
ReadStatement
-
ReturnStatement
-
SignalExpr
-
StatementAssert
-
StatementList
-
UnaryExpr
-
Variable
-
VariableExpr
-
VariableList
-
WhileStatement
-
WriteStatement
-
OK-GER01
-
OK-GER02
-
OK-GER03
-
OK-GER04
-
OK-GER05 - problemas na fase 1
-
OK-GER06
-
OK-GER07
-
OK-GER08
-
OK-GER09
-
OK-GER10
-
OK-GER11
-
OK-GER12
-
OK-GER13
-
OK-GER14
-
OK-GER15
-
OK-GER16
-
OK-GER17
-
OK-GER18
-
OK-GER19
-
OK-GER20
-
OK-GER21