From 9717dc3417cc37dc920210db7c70c0e5b974a7ba Mon Sep 17 00:00:00 2001 From: David Majda Date: Fri, 29 Jul 2016 15:16:56 +0200 Subject: [PATCH] Talk about "undefined rules" instead of "missing rules" internally The new terminology is more precise and in line with commonly used programming languages. The change involves mainly renaming related compiler pass and files associated with it. --- lib/compiler/index.js | 2 +- ...ssing-rules.js => report-undefined-rules.js} | 4 ++-- package.json | 2 +- spec/api/pegjs-api.spec.js | 2 +- spec/index.html | 2 +- .../passes/report-missing-rules.spec.js | 17 ----------------- .../passes/report-undefined-rules.spec.js | 17 +++++++++++++++++ 7 files changed, 23 insertions(+), 23 deletions(-) rename lib/compiler/passes/{report-missing-rules.js => report-undefined-rules.js} (85%) delete mode 100644 spec/unit/compiler/passes/report-missing-rules.spec.js create mode 100644 spec/unit/compiler/passes/report-undefined-rules.spec.js 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 } + } + }); + }); +});