krl-parser
Advanced tools
Comparing version 0.3.0 to 0.3.1
{ | ||
"name": "krl-parser", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"description": "Parse KRL source code into an AST", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -364,3 +364,3 @@ # krl-parser | ||
#### Assignment | ||
#### Declaration | ||
@@ -367,0 +367,0 @@ ```js |
@@ -154,4 +154,6 @@ // Generated automatically by nearley | ||
ParserRules: [ | ||
{"name": "main", "symbols": ["_", "ruleset", "_"], "postprocess": getN(1)}, | ||
{"name": "main", "symbols": ["_", "ruleset_list", "_"], "postprocess": getN(1)}, | ||
{"name": "main", "symbols": ["_", "Statement_list", "_"], "postprocess": getN(1)}, | ||
{"name": "ruleset_list", "symbols": ["ruleset"], "postprocess": idArr}, | ||
{"name": "ruleset_list", "symbols": ["ruleset_list", "_", {"literal":";"}, "_", "ruleset"], "postprocess": concatArr(4)}, | ||
{"name": "ruleset$string$1", "symbols": [{"literal":"r"}, {"literal":"u"}, {"literal":"l"}, {"literal":"e"}, {"literal":"s"}, {"literal":"e"}, {"literal":"t"}], "postprocess": function joiner(d) {return d.join('');}}, | ||
@@ -158,0 +160,0 @@ {"name": "ruleset$ebnf$1$subexpression$1$string$1", "symbols": [{"literal":"m"}, {"literal":"e"}, {"literal":"t"}, {"literal":"a"}], "postprocess": function joiner(d) {return d.join('');}}, |
@@ -40,3 +40,8 @@ var nearley = require('nearley'); | ||
} | ||
return [].concat.apply([], p.results); | ||
if(p.results.length !== 1){ | ||
throw new Error( | ||
'Parsing Ambiguity: ' + p.results.length + ' Try adding a semi-colon.' | ||
); | ||
} | ||
return p.results[0]; | ||
}; |
63800
766