|
|
|
@ -20,7 +20,10 @@ test("reports missing referenced rules", function() {
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < grammars.length; i++) {
|
|
|
|
|
throws(
|
|
|
|
|
function() { PEG.buildParser(grammars[i]); },
|
|
|
|
|
function() {
|
|
|
|
|
var ast = PEG.parser.parse(grammars[i]);
|
|
|
|
|
PEG.compiler.checks.missingReferencedRules(ast);
|
|
|
|
|
},
|
|
|
|
|
PEG.GrammarError,
|
|
|
|
|
{ message: "Referenced rule \"missing\" does not exist." }
|
|
|
|
|
);
|
|
|
|
@ -48,7 +51,10 @@ test("reports left recursion", function() {
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < grammars.length; i++) {
|
|
|
|
|
throws(
|
|
|
|
|
function() { PEG.buildParser(grammars[i]); },
|
|
|
|
|
function() {
|
|
|
|
|
var ast = PEG.parser.parse(grammars[i]);
|
|
|
|
|
PEG.compiler.checks.leftRecursion(ast);
|
|
|
|
|
},
|
|
|
|
|
PEG.GrammarError,
|
|
|
|
|
{ message: "Left recursion detected for rule \"start\"." }
|
|
|
|
|
);
|
|
|
|
|