Fixes <statements> opening after first statement

This commit is contained in:
Nemo 2020-07-06 21:15:19 +05:30
parent d25f7407da
commit a274797e58
2 changed files with 101 additions and 101 deletions

View File

@ -54,7 +54,7 @@ class Engine:
# We don't have to move the cursor for LL0 grammar # We don't have to move the cursor for LL0 grammar
if matchOnly: if matchOnly:
assert(lookahead == 1) return lookup_keys in dictionary
for _ in range(lookahead-1): for _ in range(lookahead-1):
self.advance() self.advance()

View File

@ -22,6 +22,7 @@
<identifier> game </identifier> <identifier> game </identifier>
<symbol> ; </symbol> <symbol> ; </symbol>
</varDec> </varDec>
<statements>
<letStatement> <letStatement>
<keyword> let </keyword> <keyword> let </keyword>
<identifier> game </identifier> <identifier> game </identifier>
@ -33,7 +34,6 @@
</expression> </expression>
<symbol> ; </symbol> <symbol> ; </symbol>
</letStatement> </letStatement>
<statements>
<doStatement> <doStatement>
<keyword> do </keyword> <keyword> do </keyword>
<identifier> game </identifier> <identifier> game </identifier>
@ -88,6 +88,7 @@
<identifier> a </identifier> <identifier> a </identifier>
<symbol> ; </symbol> <symbol> ; </symbol>
</varDec> </varDec>
<statements>
<ifStatement> <ifStatement>
<keyword> if </keyword> <keyword> if </keyword>
<symbol> ( </symbol> <symbol> ( </symbol>
@ -98,6 +99,7 @@
</expression> </expression>
<symbol> ) </symbol> <symbol> ) </symbol>
<symbol> { </symbol> <symbol> { </symbol>
<statements>
<letStatement> <letStatement>
<keyword> let </keyword> <keyword> let </keyword>
<identifier> s </identifier> <identifier> s </identifier>
@ -109,7 +111,6 @@
</expression> </expression>
<symbol> ; </symbol> <symbol> ; </symbol>
</letStatement> </letStatement>
<statements>
<letStatement> <letStatement>
<keyword> let </keyword> <keyword> let </keyword>
<identifier> s </identifier> <identifier> s </identifier>
@ -143,6 +144,7 @@
<symbol> } </symbol> <symbol> } </symbol>
<keyword> else </keyword> <keyword> else </keyword>
<symbol> { </symbol> <symbol> { </symbol>
<statements>
<letStatement> <letStatement>
<keyword> let </keyword> <keyword> let </keyword>
<identifier> i </identifier> <identifier> i </identifier>
@ -154,7 +156,6 @@
</expression> </expression>
<symbol> ; </symbol> <symbol> ; </symbol>
</letStatement> </letStatement>
<statements>
<letStatement> <letStatement>
<keyword> let </keyword> <keyword> let </keyword>
<identifier> j </identifier> <identifier> j </identifier>
@ -184,7 +185,6 @@
</statements> </statements>
<symbol> } </symbol> <symbol> } </symbol>
</ifStatement> </ifStatement>
<statements>
<returnStatement> <returnStatement>
<keyword> return </keyword> <keyword> return </keyword>
<symbol> ; </symbol> <symbol> ; </symbol>