Add if-else statements

pull/70/head
Max Brunsfeld 2014-08-26 08:14:44 +07:00
parent 53563a5f08
commit 95ed648299
2 changed files with 35 additions and 1 deletions

@ -37,7 +37,11 @@ module.exports = compiler.grammar
if_statement: -> seq(
keyword("if"),
"(", err(@expression), ")",
@statement)
@statement,
optional(seq(
keyword("else"),
@statement
)))
switch_statement: -> seq(
keyword("switch"),

@ -23,6 +23,36 @@ if (a.b) {
(expression_statement (function_call
(identifier) (arguments (identifier)))))))
============================================
If-else statements
============================================
if (x)
y();
else if (a)
b();
if (a) {
c();
d();
} else {
e();
}
----
(program
(if_statement (identifier)
(expression_statement (function_call (identifier)))
(if_statement (identifier)
(expression_statement (function_call (identifier)))))
(if_statement (identifier)
(statement_block
(expression_statement (function_call (identifier)))
(expression_statement (function_call (identifier))))
(statement_block
(expression_statement (function_call (identifier))))))
============================================
For statements
============================================