Add var declarations

pull/70/head
Max Brunsfeld 2014-08-03 17:23:04 +07:00
parent edd9cb4987
commit be4273cb3b
2 changed files with 28 additions and 1 deletions

@ -15,7 +15,8 @@ module.exports = compiler.grammar
@if_statement,
@for_statement,
@statement_block,
@return_statement)
@return_statement,
@var_declaration)
expression_statement: -> seq(
optional(@expression), ";")
@ -39,6 +40,16 @@ module.exports = compiler.grammar
optional(@expression),
";")
var_declaration: -> seq(
keyword("var"),
commaSep(choice(
@identifier,
seq(
@identifier,
"=",
@expression))),
";")
expression: -> choice(
@identifier,
@number,

@ -61,3 +61,19 @@ return 5;
(program
(return_statement)
(return_statement (number)))
============================================
Var declarations
============================================
var x = 1;
var x, y = {}, z;
---
(program
(var_declaration (identifier) (number))
(var_declaration
(identifier)
(identifier) (object)
(identifier)))