diff --git a/lib/compiler/index.js b/lib/compiler/index.js index d9888fd..502f2d3 100644 --- a/lib/compiler/index.js +++ b/lib/compiler/index.js @@ -19,7 +19,7 @@ var compiler = { */ passes: { check: { - reportMissingRules: require("./passes/report-missing-rules"), + reportUndefinedRules: require("./passes/report-undefined-rules"), reportDuplicateRules: require("./passes/report-duplicate-rules"), reportDuplicateLabels: require("./passes/report-duplicate-labels"), reportLeftRecursion: require("./passes/report-left-recursion"), diff --git a/lib/compiler/passes/report-missing-rules.js b/lib/compiler/passes/report-undefined-rules.js similarity index 85% rename from lib/compiler/passes/report-missing-rules.js rename to lib/compiler/passes/report-undefined-rules.js index 8a7a46e..c71b03f 100644 --- a/lib/compiler/passes/report-missing-rules.js +++ b/lib/compiler/passes/report-undefined-rules.js @@ -5,7 +5,7 @@ var GrammarError = require("../../grammar-error"), visitor = require("../visitor"); /* Checks that all referenced rules exist. */ -function reportMissingRules(ast) { +function reportUndefinedRules(ast) { var check = visitor.build({ rule_ref: function(node) { if (!asts.findRule(ast, node.name)) { @@ -20,4 +20,4 @@ function reportMissingRules(ast) { check(ast); } -module.exports = reportMissingRules; +module.exports = reportUndefinedRules; diff --git a/package.json b/package.json index fad938a..2df73c0 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "lib/compiler/passes/report-duplicate-labels.js", "lib/compiler/passes/report-infinite-loops.js", "lib/compiler/passes/report-left-recursion.js", - "lib/compiler/passes/report-missing-rules.js", + "lib/compiler/passes/report-undefined-rules.js", "lib/compiler/visitor.js", "lib/grammar-error.js", "lib/parser.js", diff --git a/spec/api/pegjs-api.spec.js b/spec/api/pegjs-api.spec.js index caf82d2..5448f12 100644 --- a/spec/api/pegjs-api.spec.js +++ b/spec/api/pegjs-api.spec.js @@ -16,7 +16,7 @@ describe("PEG.js API", function() { }); it("throws an exception on semantic error", function() { - expect(function() { peg.generate('start = missing'); }).toThrow(); + expect(function() { peg.generate('start = undefined'); }).toThrow(); }); describe("allowed start rules", function() { diff --git a/spec/index.html b/spec/index.html index cc4cb88..321bd49 100644 --- a/spec/index.html +++ b/spec/index.html @@ -9,7 +9,7 @@ - + diff --git a/spec/unit/compiler/passes/report-missing-rules.spec.js b/spec/unit/compiler/passes/report-missing-rules.spec.js deleted file mode 100644 index 00b2cff..0000000 --- a/spec/unit/compiler/passes/report-missing-rules.spec.js +++ /dev/null @@ -1,17 +0,0 @@ -/* global peg */ - -"use strict"; - -describe("compiler pass |reportMissingRules|", function() { - var pass = peg.compiler.passes.check.reportMissingRules; - - it("reports missing rules", function() { - expect(pass).toReportError('start = missing', { - message: 'Rule "missing" is not defined.', - location: { - start: { offset: 8, line: 1, column: 9 }, - end: { offset: 15, line: 1, column: 16 } - } - }); - }); -}); diff --git a/spec/unit/compiler/passes/report-undefined-rules.spec.js b/spec/unit/compiler/passes/report-undefined-rules.spec.js new file mode 100644 index 0000000..bf9c5b5 --- /dev/null +++ b/spec/unit/compiler/passes/report-undefined-rules.spec.js @@ -0,0 +1,17 @@ +/* global peg */ + +"use strict"; + +describe("compiler pass |reportUndefinedRules|", function() { + var pass = peg.compiler.passes.check.reportUndefinedRules; + + it("reports undefined rules", function() { + expect(pass).toReportError('start = undefined', { + message: 'Rule "undefined" is not defined.', + location: { + start: { offset: 8, line: 1, column: 9 }, + end: { offset: 17, line: 1, column: 18 } + } + }); + }); +});