Skip to content
Snippets Groups Projects
Commit 640e975a authored by pycsham's avatar pycsham
Browse files

fixed some J1 bugs (for statements) in the CFG

parent a4041459
No related branches found
No related tags found
No related merge requests found
...@@ -62,7 +62,7 @@ COMMA ...@@ -62,7 +62,7 @@ COMMA
PERIOD PERIOD
COMPID COMPID
IMPORTALL IMPORTALL
91 92
start start
packageDcl packageDcl
importDcls importDcls
...@@ -120,6 +120,7 @@ ifElseStatement ...@@ -120,6 +120,7 @@ ifElseStatement
ifStatement ifStatement
forStatement forStatement
forInit forInit
forExpr
returnStatement returnStatement
statementNoShortIf statementNoShortIf
ifElseStatementNoShortIf ifElseStatementNoShortIf
...@@ -155,7 +156,7 @@ postfixExpr ...@@ -155,7 +156,7 @@ postfixExpr
primaryNoArrayAccess primaryNoArrayAccess
arrayID arrayID
start start
199 205
start BOF packageDcl importDcls topDcls EOF start BOF packageDcl importDcls topDcls EOF
packageDcl PACKAGE name SEMICO packageDcl PACKAGE name SEMICO
packageDcl PACKAGE ID SEMICO packageDcl PACKAGE ID SEMICO
...@@ -243,6 +244,8 @@ arrayType ID LSQRBRACK RSQRBRACK ...@@ -243,6 +244,8 @@ arrayType ID LSQRBRACK RSQRBRACK
variableDcl ID variableDcl ID
variableDcl ID ASSIGN variableInit variableDcl ID ASSIGN variableInit
variableDcl name ASSIGN variableInit variableDcl name ASSIGN variableInit
variableDcl type ID ASSIGN variableInit
variableDcl type name ASSIGN variableInit
variableInit expr variableInit expr
args exprs args exprs
args args
...@@ -257,7 +260,6 @@ statement ifElseStatement ...@@ -257,7 +260,6 @@ statement ifElseStatement
statement forStatement statement forStatement
statement whileStatement statement whileStatement
statement variableDcl SEMICO statement variableDcl SEMICO
statement type variableDcl SEMICO
noTailStatement block noTailStatement block
noTailStatement SEMICO noTailStatement SEMICO
noTailStatement exprStatement noTailStatement exprStatement
...@@ -268,18 +270,22 @@ statementExpr methodInvoc ...@@ -268,18 +270,22 @@ statementExpr methodInvoc
whileStatement WHILE LPAREN expr RPAREN statement whileStatement WHILE LPAREN expr RPAREN statement
ifElseStatement IF LPAREN expr RPAREN statementNoShortIf ELSE statement ifElseStatement IF LPAREN expr RPAREN statementNoShortIf ELSE statement
ifStatement IF LPAREN expr RPAREN statement ifStatement IF LPAREN expr RPAREN statement
forStatement FOR LPAREN forInit SEMICO expr SEMICO forInit RPAREN statement forStatement FOR LPAREN forInit SEMICO forExpr SEMICO forInit RPAREN statement
forInit statementExpr forInit statementExpr
forInit variableDcl forInit variableDcl
forInit
forExpr expr
forExpr
returnStatement RETURN expr SEMICO returnStatement RETURN expr SEMICO
returnStatement RETURN SEMICO returnStatement RETURN SEMICO
statementNoShortIf noTailStatement statementNoShortIf noTailStatement
statementNoShortIf ifElseStatementNoShortIf statementNoShortIf ifElseStatementNoShortIf
statementNoShortIf whileStatementNoShortIf statementNoShortIf whileStatementNoShortIf
statementNoShortIf forStatementNoShortIf statementNoShortIf forStatementNoShortIf
statementNoShortIf variableDcl SEMICO
ifElseStatementNoShortIf IF LPAREN expr RPAREN statementNoShortIf ELSE statementNoShortIf ifElseStatementNoShortIf IF LPAREN expr RPAREN statementNoShortIf ELSE statementNoShortIf
whileStatementNoShortIf WHILE LPAREN expr RPAREN statementNoShortIf whileStatementNoShortIf WHILE LPAREN expr RPAREN statementNoShortIf
forStatementNoShortIf FOR LPAREN forInit SEMICO expr SEMICO forInit RPAREN statementNoShortIf forStatementNoShortIf FOR LPAREN forInit SEMICO forExpr SEMICO forInit RPAREN statementNoShortIf
primaryAndArray primary primaryAndArray primary
primaryAndArray arrayCreationExpr primaryAndArray arrayCreationExpr
arrayCreationExpr NEW primitiveType LSQRBRACK expr RSQRBRACK arrayCreationExpr NEW primitiveType LSQRBRACK expr RSQRBRACK
...@@ -304,6 +310,7 @@ arrayAccess primaryNoArrayAccess LSQRBRACK expr RSQRBRACK ...@@ -304,6 +310,7 @@ arrayAccess primaryNoArrayAccess LSQRBRACK expr RSQRBRACK
methodInvoc primary PERIOD ID LPAREN args RPAREN methodInvoc primary PERIOD ID LPAREN args RPAREN
methodInvoc ID PERIOD ID LPAREN args RPAREN methodInvoc ID PERIOD ID LPAREN args RPAREN
methodInvoc name LPAREN args RPAREN methodInvoc name LPAREN args RPAREN
methodInvoc ID LPAREN args RPAREN
literal LITERALBOOL literal LITERALBOOL
literal LITERALCHAR literal LITERALCHAR
literal LITERALSTRING literal LITERALSTRING
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment