Add for-in loops and math assignment operators to js grammar

This commit is contained in:
Max Brunsfeld 2014-07-07 13:35:55 -07:00
parent f4287c07d0
commit 1c7d2d2d03
6 changed files with 59121 additions and 49463 deletions

View file

@ -1,3 +1,18 @@
==========================================
parses multiple statements
==========================================
var x = {}, z, i = 0;
firstFunction(x)
secondFunction(x);
---
(program
(var_declaration
(identifier) (object)
(identifier)
(identifier) (number))
(expression_statement (function_call (identifier) (identifier)))
(expression_statement (function_call (identifier) (identifier))))
==========================================
js parses if statements
==========================================
@ -49,11 +64,27 @@ for (var i = 1; someCondition(i); i = next()) {
}
---
(program (for_statement
(var_declaration (assignment (identifier) (number)))
(var_declaration (identifier) (number))
(expression_statement (function_call (identifier) (identifier)))
(assignment (identifier) (function_call (identifier)))
(statement_block (expression_statement (function_call (identifier))))))
==========================================
parses for-in loops
==========================================
for (var key in someObject)
doSomething();
for (key in someObject)
doSomethingElse();
---
(program
(for_in_statement
(identifier) (identifier)
(expression_statement (function_call (identifier))))
(for_in_statement
(identifier) (identifier)
(expression_statement (function_call (identifier)))))
==========================================
parses while loops
==========================================