Fix handling of ubiquitous tokens used in grammar rules

This commit is contained in:
Max Brunsfeld 2014-07-01 20:47:35 -07:00
parent 59cc65c2e3
commit 83a1b9439e
30 changed files with 39086 additions and 32890 deletions

View file

@ -24,7 +24,7 @@ moreStuff();
recovers from errors in for loops
==========================================
stuff();
for (var i = 0; *nonsense*; *what*) {
for (var i = 0; *nonsense*; i++) {
*more-nonsense*;
}
moreStuff();
@ -34,7 +34,7 @@ moreStuff();
(for_statement
(var_declaration (assignment (identifier) (number)))
(expression_statement (ERROR '*'))
(ERROR '*')
(math_op (identifier))
(statement_block (expression_statement (ERROR '*'))))
(expression_statement (function_call (identifier))))

View file

@ -34,6 +34,18 @@ print(object.property);
(identifier)
(property_access (identifier) (identifier)))))
==========================================
parses property access across lines
==========================================
object
.someProperty
.otherProperty
---
(program (expression_statement
(property_access
(property_access (identifier) (identifier))
(identifier))))
===========================================
parses dynamic property access
==========================================