Skip to content
Snippets Groups Projects
Commit e0c1196b authored by Nicholas Robinson's avatar Nicholas Robinson
Browse files

methodDcl/methodMod & added statement rule

- methodDcl is now one rule (rather than splitting into
abstractMethodDcl & normalMethodDcl) had to do this because they were
too similar, getting conflicts as abstractMethodDcl ends with SEMICO and
normalMethodDcl ends with methodBody which has a rule `methodBody
SEMICO`
- added rule `statement primitiveType variableDcl SEMICO` because we
didn't have a way to parse 'int x = 0;' or similars, it should actually
be `statement type variableDcl SEMICO` but that causes conflicts in the
grammer with `arrayAccess`
parent 577991d2
No related branches found
No related tags found
No related merge requests found
......@@ -160,15 +160,15 @@ primaryNoArrayAccess
arrayID
methodID
start
196
200
start BOF packageDcl importDcls topDcls EOF
packageDcl PACKAGE name SEMICO
packageDcl PACKAGE ID SEMICO
packageDcl PACKAGE name SEMICO
packageDcl PACKAGE ID SEMICO
packageDcl
importDcls importDcl importDcls
importDcls
importDcl IMPORT name SEMICO
importDcl IMPORT ID SEMICO
importDcl IMPORT name SEMICO
importDcl IMPORT ID SEMICO
topDcls topDcl topDcls
topDcls
topDcl classDcl
......@@ -192,21 +192,24 @@ classBodyDcl constructorDcl
classBodyDcl SEMICO
fieldDcl methodMod type variableDcl SEMICO
constructorDcl methodMod ID LPAREN params RPAREN methodBody
methodDcl normalMethodDcl
methodDcl abstractMethodDcl
normalMethodDcl methodMod methodMod2 methodHead methodBody
abstractMethodDcl methodMod methodMod3 methodHead SEMICO
methodDcl methodMod methodHead methodBody
methodHead type ID LPAREN params RPAREN
methodHead VOID ID LPAREN params RPAREN
methodMod
methodMod PUBLIC
methodMod PROTECTED
methodMod PUBLIC FINAL
methodMod PROTECTED FINAL
methodMod PUBLIC STATIC
methodMod PROTECTED STATIC
methodMod PUBLIC ABSTRACT
methodMod STATIC NATIVE
methodMod PUBLIC STATIC NATIVE
methodMod PROTECTED
methodMod PROTECTED FINAL
methodMod PROTECTED STATIC
methodMod PROTECTED ABSTRACT
methodMod PROTECTED STATIC NATIVE
methodMod STATIC
methodMod STATIC NATIVE
methodMod FINAL
methodMod ABSTRACT
methodBody block
methodBody SEMICO
interfaceDcl PUBLIC INTERFACE ID extendInterface interfaceBody
......@@ -262,6 +265,7 @@ statement ifElseStatement
statement forStatement
statement whileStatement
statement variableDcl SEMICO
statement primitiveType variableDcl SEMICO
noTailStatement block
noTailStatement SEMICO
noTailStatement exprStatement
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
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