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

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