diff --git a/README.md b/README.md index 04514db..83ef9a2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +## Requires + - node + - npm ## Compile lemon-js ```bash diff --git a/parsers/filters/parser.y b/parsers/filters/parser.y index 7a414b1..f54449f 100644 --- a/parsers/filters/parser.y +++ b/parsers/filters/parser.y @@ -13,7 +13,9 @@ %code { &&REPLACER{parsers/filters/test_code_environment.js}&& - var _result = {}; + var _result = { + error: false + }; var LemonJS = function(_input) { _result = Object.create(null); var parser = new Parser(); @@ -21,6 +23,10 @@ var token; var lexemes = []; while (token = lexer.next()) { + if(_result.error) { + return { success: false } + } + if (token.error === 0) { console.log("PARSE", token.lexeme); parser.parse(parser["TOKEN_" + token.lexeme], token); @@ -30,6 +36,7 @@ parser.parse(); return { + success: true, tree: _result.root_node, lexemes: lexemes }; @@ -37,6 +44,7 @@ } %syntax_error { + _result.error = "true"; console.log("Syntax error"); }