Add return statement

pull/70/head
Max Brunsfeld 2014-08-01 08:26:27 +07:00
parent 2389c52a43
commit edd9cb4987
2 changed files with 19 additions and 1 deletions

@ -14,7 +14,8 @@ module.exports = compiler.grammar
@expression_statement,
@if_statement,
@for_statement,
@statement_block)
@statement_block,
@return_statement)
expression_statement: -> seq(
optional(@expression), ";")
@ -33,6 +34,11 @@ module.exports = compiler.grammar
")",
@statement)
return_statement: -> seq(
keyword("return"),
optional(@expression),
";")
expression: -> choice(
@identifier,
@number,

@ -49,3 +49,15 @@ for (;;) {
(statement_block
(expression_statement (function_call (identifier) (identifier))))))
============================================
Return statements
============================================
return;
return 5;
---
(program
(return_statement)
(return_statement (number)))