Add more features to javascript grammar

This commit is contained in:
Max Brunsfeld 2014-03-26 08:23:13 -07:00
parent 09e28e7859
commit 6a0e2c08e6
4 changed files with 3055 additions and 1500 deletions

View file

@ -34,3 +34,37 @@ if (theCondition) {
(statement_block (statement (assignment (identifier) (number))))
(statement_block (statement (assignment (identifier) (number))))))
==============================================
parses if-else statements with many conditions
==============================================
if (conditionA) {
var x = 2;
} else if (conditionB)
var x = 4;
else {
var x = 8;
}
---
(program (if_statement
(identifier)
(statement_block (statement (assignment (identifier) (number))))
(if_statement
(identifier)
(statement (assignment (identifier) (number)))
(statement_block (statement (assignment (identifier) (number)))))))
==========================================
parses named functions
==========================================
function doThis(argA, argB) {
var x = argA;
};
doThis(5, 6);
---
(program
(statement (function_expression
(identifier)
(formal_parameters (identifier) (identifier))
(statement_block (statement (assignment (identifier) (identifier))))))
(statement (function_call (identifier) (number) (number))))