occam-nominal 0.0.6 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.swcrc +0 -6
- package/lib/index.js +1 -29
- package/lib/utilities/lexers.js +6 -43
- package/lib/utilities/parsers.js +9 -20
- package/package.json +3 -10
- package/src/index.js +0 -10
- package/src/utilities/lexers.js +8 -26
- package/src/utilities/parsers.js +19 -30
- package/lib/constants.js +0 -42
- package/lib/customGrammar/combined.js +0 -219
- package/lib/customGrammar/default.js +0 -49
- package/lib/customGrammar.js +0 -213
- package/lib/example/customGrammar/userDefined.js +0 -22
- package/lib/example/div/sizeable.js +0 -39
- package/lib/example/grammarNames.js +0 -22
- package/lib/example/input/startRuleName.js +0 -142
- package/lib/example/input.js +0 -39
- package/lib/example/select/name.js +0 -176
- package/lib/example/select/ruleName.js +0 -176
- package/lib/example/select/vocabularyName.js +0 -176
- package/lib/example/select.js +0 -39
- package/lib/example/subHeading.js +0 -39
- package/lib/example/textarea/bnf.js +0 -142
- package/lib/example/textarea/content.js +0 -163
- package/lib/example/textarea/nominalBNF.js +0 -172
- package/lib/example/textarea/parseTree.js +0 -149
- package/lib/example/textarea/vocabulary.js +0 -142
- package/lib/example/textarea.js +0 -39
- package/lib/example/utilities/rules.js +0 -25
- package/lib/example/view.js +0 -281
- package/lib/example.js +0 -19
- package/lib/grammarNames.js +0 -13
- package/lib/ruleNames.js +0 -29
- package/lib/typesMap.js +0 -45
- package/lib/utilities/customGrammar.js +0 -70
- package/lib/utilities/grammar.js +0 -31
- package/lib/utilities/nominal.js +0 -25
- package/lib/utilities/part.js +0 -23
- package/lib/utilities/query.js +0 -36
- package/lib/utilities/validate.js +0 -114
- package/lib/utilities/vocabulary.js +0 -35
- package/lib/vocabularyNames.js +0 -29
- package/src/constants.js +0 -11
- package/src/customGrammar/combined.js +0 -196
- package/src/customGrammar/default.js +0 -80
- package/src/customGrammar.js +0 -163
- package/src/example/customGrammar/userDefined.js +0 -21
- package/src/example/div/sizeable.js +0 -12
- package/src/example/grammarNames.js +0 -5
- package/src/example/input/startRuleName.js +0 -33
- package/src/example/input.js +0 -14
- package/src/example/select/name.js +0 -51
- package/src/example/select/ruleName.js +0 -51
- package/src/example/select/vocabularyName.js +0 -52
- package/src/example/select.js +0 -19
- package/src/example/subHeading.js +0 -16
- package/src/example/textarea/bnf.js +0 -33
- package/src/example/textarea/content.js +0 -41
- package/src/example/textarea/nominalBNF.js +0 -51
- package/src/example/textarea/parseTree.js +0 -42
- package/src/example/textarea/vocabulary.js +0 -33
- package/src/example/textarea.js +0 -18
- package/src/example/utilities/rules.js +0 -25
- package/src/example/view.js +0 -195
- package/src/example.js +0 -21
- package/src/grammarNames.js +0 -3
- package/src/ruleNames.js +0 -9
- package/src/typesMap.js +0 -50
- package/src/utilities/customGrammar.js +0 -62
- package/src/utilities/grammar.js +0 -12
- package/src/utilities/nominal.js +0 -9
- package/src/utilities/part.js +0 -22
- package/src/utilities/query.js +0 -25
- package/src/utilities/validate.js +0 -155
- package/src/utilities/vocabulary.js +0 -43
- package/src/vocabularyNames.js +0 -9
package/.swcrc
CHANGED
package/lib/index.js
CHANGED
|
@@ -9,47 +9,19 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get CombinedCustomGrammar () {
|
|
13
|
-
return _combined.default;
|
|
14
|
-
},
|
|
15
|
-
get CustomGrammar () {
|
|
16
|
-
return _customGrammar.default;
|
|
17
|
-
},
|
|
18
|
-
get DEFAULT_CUSTOM_GRAMMAR_NAME () {
|
|
19
|
-
return _grammarNames.DEFAULT_CUSTOM_GRAMMAR_NAME;
|
|
20
|
-
},
|
|
21
|
-
get customGrammarUtilities () {
|
|
22
|
-
return _customGrammar1.default;
|
|
23
|
-
},
|
|
24
|
-
get defaultCustomGrammar () {
|
|
25
|
-
return _default.default;
|
|
26
|
-
},
|
|
27
12
|
get lexersUtilities () {
|
|
28
13
|
return _lexers.default;
|
|
29
14
|
},
|
|
30
15
|
get parsersUtilities () {
|
|
31
16
|
return _parsers.default;
|
|
32
|
-
},
|
|
33
|
-
get ruleNames () {
|
|
34
|
-
return _ruleNames.default;
|
|
35
|
-
},
|
|
36
|
-
get vocabularyNames () {
|
|
37
|
-
return _vocabularyNames.default;
|
|
38
17
|
}
|
|
39
18
|
});
|
|
40
|
-
var _grammarNames = require("./grammarNames");
|
|
41
|
-
var _ruleNames = /*#__PURE__*/ _interop_require_default(require("./ruleNames"));
|
|
42
|
-
var _vocabularyNames = /*#__PURE__*/ _interop_require_default(require("./vocabularyNames"));
|
|
43
|
-
var _customGrammar = /*#__PURE__*/ _interop_require_default(require("./customGrammar"));
|
|
44
|
-
var _default = /*#__PURE__*/ _interop_require_default(require("./customGrammar/default"));
|
|
45
|
-
var _combined = /*#__PURE__*/ _interop_require_default(require("./customGrammar/combined"));
|
|
46
19
|
var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
|
|
47
20
|
var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
|
|
48
|
-
var _customGrammar1 = /*#__PURE__*/ _interop_require_default(require("./utilities/customGrammar"));
|
|
49
21
|
function _interop_require_default(obj) {
|
|
50
22
|
return obj && obj.__esModule ? obj : {
|
|
51
23
|
default: obj
|
|
52
24
|
};
|
|
53
25
|
}
|
|
54
26
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGV4ZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFyc2Vyc1wiO1xuIl0sIm5hbWVzIjpbImxleGVyc1V0aWxpdGllcyIsInBhcnNlcnNVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUVvQkE7ZUFBQUEsZUFBZTs7UUFDZkM7ZUFBQUEsZ0JBQWdCOzs7NkRBRE87OERBQ0MifQ==
|
package/lib/utilities/lexers.js
CHANGED
|
@@ -23,44 +23,13 @@ _export(exports, {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
var _occamgrammars = require("occam-grammars");
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
function _array_like_to_array(arr, len) {
|
|
29
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
30
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
31
|
-
return arr2;
|
|
32
|
-
}
|
|
33
|
-
function _array_without_holes(arr) {
|
|
34
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
35
|
-
}
|
|
36
|
-
function _interop_require_default(obj) {
|
|
37
|
-
return obj && obj.__esModule ? obj : {
|
|
38
|
-
default: obj
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function _iterable_to_array(iter) {
|
|
42
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
43
|
-
}
|
|
44
|
-
function _non_iterable_spread() {
|
|
45
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
46
|
-
}
|
|
47
|
-
function _to_consumable_array(arr) {
|
|
48
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
49
|
-
}
|
|
50
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
51
|
-
if (!o) return;
|
|
52
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
53
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
54
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
55
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
56
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
57
|
-
}
|
|
58
|
-
var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
|
|
26
|
+
var _occamcustomgrammars = require("occam-custom-grammars");
|
|
27
|
+
var lexerFromNothing = _occamcustomgrammars.lexersUtilities.lexerFromNothing, lexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.lexerFromCombinedCustomGrammar, lexerFromEntriesAndCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.lexerFromEntriesAndCombinedCustomGrammar;
|
|
59
28
|
function nominalLexerFromNothing(Class) {
|
|
60
29
|
if (Class === undefined) {
|
|
61
30
|
Class = _occamgrammars.NominalLexer; ///
|
|
62
31
|
}
|
|
63
|
-
var
|
|
32
|
+
var lexer = lexerFromNothing(Class), nominalLexer = lexer; ///
|
|
64
33
|
return nominalLexer;
|
|
65
34
|
}
|
|
66
35
|
function nominalLexerFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
|
|
@@ -68,7 +37,7 @@ function nominalLexerFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
|
|
|
68
37
|
combinedCustomGrammar = Class; ///
|
|
69
38
|
Class = _occamgrammars.NominalLexer; ///
|
|
70
39
|
}
|
|
71
|
-
var
|
|
40
|
+
var lexer = lexerFromCombinedCustomGrammar(Class, combinedCustomGrammar), nominalLexer = lexer; ///
|
|
72
41
|
return nominalLexer;
|
|
73
42
|
}
|
|
74
43
|
function nominalLexerFromEntriesAndCombinedCustomGrammar(Class, entries, combinedCustomGrammar) {
|
|
@@ -77,7 +46,7 @@ function nominalLexerFromEntriesAndCombinedCustomGrammar(Class, entries, combine
|
|
|
77
46
|
entries = Class; ///
|
|
78
47
|
Class = _occamgrammars.NominalLexer; ///
|
|
79
48
|
}
|
|
80
|
-
var
|
|
49
|
+
var lexer = lexerFromEntriesAndCombinedCustomGrammar(Class, entries, combinedCustomGrammar), nominalLexer = lexer; ///
|
|
81
50
|
return nominalLexer;
|
|
82
51
|
}
|
|
83
52
|
var _default = {
|
|
@@ -85,11 +54,5 @@ var _default = {
|
|
|
85
54
|
nominalLexerFromCombinedCustomGrammar: nominalLexerFromCombinedCustomGrammar,
|
|
86
55
|
nominalLexerFromEntriesAndCombinedCustomGrammar: nominalLexerFromEntriesAndCombinedCustomGrammar
|
|
87
56
|
};
|
|
88
|
-
function rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
|
|
89
|
-
var customGrammarEntries = combinedCustomGrammar.getEntries();
|
|
90
|
-
entries = _to_consumable_array(customGrammarEntries).concat(_to_consumable_array(entries));
|
|
91
|
-
var rules = rulesFromEntries(entries);
|
|
92
|
-
return rules;
|
|
93
|
-
}
|
|
94
57
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb21pbmFsTGV4ZXIgfSBmcm9tIFwib2NjYW0tZ3JhbW1hcnNcIjtcbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuY29uc3QgeyBsZXhlckZyb21Ob3RoaW5nLCBsZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsIGxleGVyRnJvbUVudHJpZXNBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IGxleGVyc1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxMZXhlckZyb21Ob3RoaW5nKENsYXNzKSB7XG4gIGlmIChDbGFzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgQ2xhc3MgPSBOb21pbmFsTGV4ZXI7IC8vL1xuICB9XG5cbiAgY29uc3QgbGV4ZXIgPSBsZXhlckZyb21Ob3RoaW5nKENsYXNzKSxcbiAgICAgICAgbm9taW5hbExleGVyID0gbGV4ZXI7IC8vL1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgaWYgKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gTm9taW5hbExleGVyOyAvLy9cbiAgfVxuXG4gIGNvbnN0IGxleGVyID0gbGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsTGV4ZXIgPSBsZXhlcjsgLy8vXG5cbiAgcmV0dXJuIG5vbWluYWxMZXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBlbnRyaWVzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgaWYgKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gZW50cmllczsgIC8vL1xuXG4gICAgZW50cmllcyA9IENsYXNzOyAgLy8vXG5cbiAgICBDbGFzcyA9IE5vbWluYWxMZXhlcjsgLy8vXG4gIH1cblxuICBjb25zdCBsZXhlciA9IGxleGVyRnJvbUVudHJpZXNBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyOyAvLy9cblxuICByZXR1cm4gbm9taW5hbExleGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5vbWluYWxMZXhlckZyb21Ob3RoaW5nLFxuICBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsTGV4ZXJGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hclxufTtcbiJdLCJuYW1lcyI6WyJub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbExleGVyRnJvbUVudHJpZXNBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsTGV4ZXJGcm9tTm90aGluZyIsImxleGVyRnJvbU5vdGhpbmciLCJsZXhlcnNVdGlsaXRpZXMiLCJsZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwiQ2xhc3MiLCJ1bmRlZmluZWQiLCJOb21pbmFsTGV4ZXIiLCJsZXhlciIsIm5vbWluYWxMZXhlciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQThDQTtlQUFBOztRQTVCZ0JBO2VBQUFBOztRQWFBQztlQUFBQTs7UUF4QkFDO2VBQUFBOzs7NkJBTGE7bUNBQ0c7QUFFaEMsSUFBUUMsbUJBQStGQyxvQ0FBZSxDQUE5R0Qsa0JBQWtCRSxpQ0FBNkVELG9DQUFlLENBQTVGQyxnQ0FBZ0NDLDJDQUE2Q0Ysb0NBQWUsQ0FBNURFO0FBRW5ELFNBQVNKLHdCQUF3QkssS0FBSztJQUMzQyxJQUFJQSxVQUFVQyxXQUFXO1FBQ3ZCRCxRQUFRRSwyQkFBWSxFQUFFLEdBQUc7SUFDM0I7SUFFQSxJQUFNQyxRQUFRUCxpQkFBaUJJLFFBQ3pCSSxlQUFlRCxPQUFPLEdBQUc7SUFFL0IsT0FBT0M7QUFDVDtBQUVPLFNBQVNYLHNDQUFzQ08sS0FBSyxFQUFFSyxxQkFBcUI7SUFDaEYsSUFBSUEsMEJBQTBCSixXQUFXO1FBQ3ZDSSx3QkFBd0JMLE9BQVEsR0FBRztRQUVuQ0EsUUFBUUUsMkJBQVksRUFBRSxHQUFHO0lBQzNCO0lBRUEsSUFBTUMsUUFBUUwsK0JBQStCRSxPQUFPSyx3QkFDOUNELGVBQWVELE9BQU8sR0FBRztJQUUvQixPQUFPQztBQUNUO0FBRU8sU0FBU1YsZ0RBQWdETSxLQUFLLEVBQUVNLE9BQU8sRUFBRUQscUJBQXFCO0lBQ25HLElBQUlBLDBCQUEwQkosV0FBVztRQUN2Q0ksd0JBQXdCQyxTQUFVLEdBQUc7UUFFckNBLFVBQVVOLE9BQVEsR0FBRztRQUVyQkEsUUFBUUUsMkJBQVksRUFBRSxHQUFHO0lBQzNCO0lBRUEsSUFBTUMsUUFBUUoseUNBQXlDQyxPQUFPTSxTQUFTRCx3QkFDakVELGVBQWVELE9BQU8sR0FBRztJQUUvQixPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiVCx5QkFBQUE7SUFDQUYsdUNBQUFBO0lBQ0FDLGlEQUFBQTtBQUNGIn0=
|
package/lib/utilities/parsers.js
CHANGED
|
@@ -32,19 +32,13 @@ _export(exports, {
|
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
var _occamgrammars = require("occam-grammars");
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
function _interop_require_default(obj) {
|
|
38
|
-
return obj && obj.__esModule ? obj : {
|
|
39
|
-
default: obj
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
|
|
35
|
+
var _occamcustomgrammars = require("occam-custom-grammars");
|
|
36
|
+
var parserFromNothing = _occamcustomgrammars.parsersUtilities.parserFromNothing, parserFromStartRuleName = _occamcustomgrammars.parsersUtilities.parserFromStartRuleName, parserFromCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.parserFromCombinedCustomGrammar, parserFromBNFAndCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.parserFromBNFAndCombinedCustomGrammar, parserFromStartRuleNameAndCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.parserFromStartRuleNameAndCombinedCustomGrammar, parserFromBNFStartRuleNameAndCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.parserFromBNFStartRuleNameAndCombinedCustomGrammar;
|
|
43
37
|
function nominalParserFromNothing(Class) {
|
|
44
38
|
if (Class === undefined) {
|
|
45
39
|
Class = _occamgrammars.NominalParser; ///
|
|
46
40
|
}
|
|
47
|
-
var
|
|
41
|
+
var parser = parserFromNothing(Class), nominalParser = parser; ///
|
|
48
42
|
return nominalParser;
|
|
49
43
|
}
|
|
50
44
|
function nominalParserFromStartRuleName(Class, startRuleName) {
|
|
@@ -52,7 +46,7 @@ function nominalParserFromStartRuleName(Class, startRuleName) {
|
|
|
52
46
|
startRuleName = Class; ///
|
|
53
47
|
Class = _occamgrammars.NominalParser; ///
|
|
54
48
|
}
|
|
55
|
-
var
|
|
49
|
+
var parser = parserFromStartRuleName(Class, startRuleName), nominalParser = parser; ///
|
|
56
50
|
return nominalParser;
|
|
57
51
|
}
|
|
58
52
|
function nominalParserFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
|
|
@@ -60,7 +54,7 @@ function nominalParserFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
|
|
|
60
54
|
combinedCustomGrammar = Class; ///
|
|
61
55
|
Class = _occamgrammars.NominalParser; ///
|
|
62
56
|
}
|
|
63
|
-
var
|
|
57
|
+
var parser = parserFromCombinedCustomGrammar(Class, combinedCustomGrammar), nominalParser = parser; ///
|
|
64
58
|
return nominalParser;
|
|
65
59
|
}
|
|
66
60
|
function nominalParserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustomGrammar) {
|
|
@@ -69,7 +63,7 @@ function nominalParserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustom
|
|
|
69
63
|
bnf = Class; ///
|
|
70
64
|
Class = _occamgrammars.NominalParser; ///
|
|
71
65
|
}
|
|
72
|
-
var
|
|
66
|
+
var parser = parserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustomGrammar), nominalParser = parser; ///
|
|
73
67
|
return nominalParser;
|
|
74
68
|
}
|
|
75
69
|
function nominalParserFromStartRuleNameAndCombinedCustomGrammar(Class, startRuleName, combinedCustomGrammar) {
|
|
@@ -78,7 +72,7 @@ function nominalParserFromStartRuleNameAndCombinedCustomGrammar(Class, startRule
|
|
|
78
72
|
startRuleName = Class; ///
|
|
79
73
|
Class = _occamgrammars.NominalParser; ///
|
|
80
74
|
}
|
|
81
|
-
var
|
|
75
|
+
var parser = parserFromStartRuleNameAndCombinedCustomGrammar(Class, startRuleName, combinedCustomGrammar), nominalParser = parser; ///
|
|
82
76
|
return nominalParser;
|
|
83
77
|
}
|
|
84
78
|
function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, startRuleName, combinedCustomGrammar) {
|
|
@@ -88,7 +82,7 @@ function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, s
|
|
|
88
82
|
bnf = Class; ///
|
|
89
83
|
Class = _occamgrammars.NominalParser; ///
|
|
90
84
|
}
|
|
91
|
-
var
|
|
85
|
+
var parser = parserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, startRuleName, combinedCustomGrammar), nominalParser = parser; ///
|
|
92
86
|
return nominalParser;
|
|
93
87
|
}
|
|
94
88
|
var _default = {
|
|
@@ -99,10 +93,5 @@ var _default = {
|
|
|
99
93
|
nominalParserFromStartRuleNameAndCombinedCustomGrammar: nominalParserFromStartRuleNameAndCombinedCustomGrammar,
|
|
100
94
|
nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar: nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar
|
|
101
95
|
};
|
|
102
|
-
function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
103
|
-
var rules = rulesFromBNF(bnf);
|
|
104
|
-
rules = combinedCustomGrammar.postProcess(rules);
|
|
105
|
-
return rules;
|
|
106
|
-
}
|
|
107
96
|
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuY29uc3QgeyBwYXJzZXJGcm9tTm90aGluZyxcbiAgICAgICAgcGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUsXG4gICAgICAgIHBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gICAgICAgIHBhcnNlckZyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gICAgICAgIHBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICAgICAgICBwYXJzZXJGcm9tQk5GU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tTm90aGluZyhDbGFzcykge1xuICBpZiAoQ2xhc3MgPT09IHVuZGVmaW5lZCkge1xuICAgIENsYXNzID0gTm9taW5hbFBhcnNlcjsgIC8vL1xuICB9XG5cbiAgY29uc3QgcGFyc2VyID0gcGFyc2VyRnJvbU5vdGhpbmcoQ2xhc3MpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyOyAvLy9cblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZShDbGFzcywgc3RhcnRSdWxlTmFtZSkge1xuICBpZiAoc3RhcnRSdWxlTmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RhcnRSdWxlTmFtZSA9IENsYXNzOyAgLy8vXG5cbiAgICBDbGFzcyA9IE5vbWluYWxQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IHBhcnNlciA9ICBwYXJzZXJGcm9tU3RhcnRSdWxlTmFtZShDbGFzcywgc3RhcnRSdWxlTmFtZSksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXI7IC8vL1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDbGFzczsgIC8vL1xuXG4gICAgQ2xhc3MgPSBOb21pbmFsUGFyc2VyOyAgLy8vXG4gIH1cblxuICBjb25zdCBwYXJzZXIgPSBwYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyOyAvLy9cblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBibmY7ICAvLy9cblxuICAgIGJuZiA9IENsYXNzOyAgLy8vXG5cbiAgICBDbGFzcyA9IE5vbWluYWxQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IHBhcnNlciA9IHBhcnNlckZyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlcjsgLy8vXG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBzdGFydFJ1bGVOYW1lOyAgLy8vXG5cbiAgICBzdGFydFJ1bGVOYW1lID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gTm9taW5hbFBhcnNlcjsgIC8vL1xuICB9XG5cbiAgY29uc3QgcGFyc2VyID0gcGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXI7IC8vL1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21CTkZTdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBibmYsIHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBzdGFydFJ1bGVOYW1lOyAgLy8vXG5cbiAgICBzdGFydFJ1bGVOYW1lID0gYm5mOyAgLy8vXG5cbiAgICBibmYgPSBDbGFzczsgIC8vL1xuXG4gICAgQ2xhc3MgPSBOb21pbmFsUGFyc2VyOyAgLy8vXG4gIH1cblxuICBjb25zdCBwYXJzZXIgPSBwYXJzZXJGcm9tQk5GU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihDbGFzcywgYm5mLCBzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyOyAvLy9cblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcsXG4gIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZSxcbiAgbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxQYXJzZXJGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxQYXJzZXJGcm9tQk5GU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hclxufTtcbiJdLCJuYW1lcyI6WyJub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxQYXJzZXJGcm9tQk5GU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlckZyb21Ob3RoaW5nIiwibm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lIiwibm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2VyRnJvbU5vdGhpbmciLCJwYXJzZXJzVXRpbGl0aWVzIiwicGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUiLCJwYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDbGFzcyIsInVuZGVmaW5lZCIsIk5vbWluYWxQYXJzZXIiLCJwYXJzZXIiLCJub21pbmFsUGFyc2VyIiwic3RhcnRSdWxlTmFtZSIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBZ0dBO2VBQUE7O1FBL0NnQkE7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUEzQ0FDO2VBQUFBOztRQXhCQUM7ZUFBQUE7O1FBV0FDO2VBQUFBOztRQXlDQUM7ZUFBQUE7Ozs2QkE5RGM7bUNBQ0c7QUFFakMsSUFBUUMsb0JBS3VEQyxxQ0FBZ0IsQ0FMdkVELG1CQUNBRSwwQkFJdURELHFDQUFnQixDQUp2RUMseUJBQ0FDLGtDQUd1REYscUNBQWdCLENBSHZFRSxpQ0FDQUMsd0NBRXVESCxxQ0FBZ0IsQ0FGdkVHLHVDQUNBQyxrREFDdURKLHFDQUFnQixDQUR2RUksaURBQ0FDLHFEQUF1REwscUNBQWdCLENBQXZFSztBQUVELFNBQVNULHlCQUF5QlUsS0FBSztJQUM1QyxJQUFJQSxVQUFVQyxXQUFXO1FBQ3ZCRCxRQUFRRSw0QkFBYSxFQUFHLEdBQUc7SUFDN0I7SUFFQSxJQUFNQyxTQUFTVixrQkFBa0JPLFFBQzNCSSxnQkFBZ0JELFFBQVEsR0FBRztJQUVqQyxPQUFPQztBQUNUO0FBRU8sU0FBU2IsK0JBQStCUyxLQUFLLEVBQUVLLGFBQWE7SUFDakUsSUFBSUEsa0JBQWtCSixXQUFXO1FBQy9CSSxnQkFBZ0JMLE9BQVEsR0FBRztRQUUzQkEsUUFBUUUsNEJBQWEsRUFBRyxHQUFHO0lBQzdCO0lBRUEsSUFBTUMsU0FBVVIsd0JBQXdCSyxPQUFPSyxnQkFDekNELGdCQUFnQkQsUUFBUSxHQUFHO0lBRWpDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTZix1Q0FBdUNXLEtBQUssRUFBRU0scUJBQXFCO0lBQ2pGLElBQUlBLDBCQUEwQkwsV0FBVztRQUN2Q0ssd0JBQXdCTixPQUFRLEdBQUc7UUFFbkNBLFFBQVFFLDRCQUFhLEVBQUcsR0FBRztJQUM3QjtJQUVBLElBQU1DLFNBQVNQLGdDQUFnQ0ksT0FBT00sd0JBQ2hERixnQkFBZ0JELFFBQVEsR0FBRztJQUVqQyxPQUFPQztBQUNUO0FBRU8sU0FBU2pCLDZDQUE2Q2EsS0FBSyxFQUFFTyxHQUFHLEVBQUVELHFCQUFxQjtJQUM1RixJQUFJQSwwQkFBMEJMLFdBQVc7UUFDdkNLLHdCQUF3QkMsS0FBTSxHQUFHO1FBRWpDQSxNQUFNUCxPQUFRLEdBQUc7UUFFakJBLFFBQVFFLDRCQUFhLEVBQUcsR0FBRztJQUM3QjtJQUVBLElBQU1DLFNBQVNOLHNDQUFzQ0csT0FBT08sS0FBS0Qsd0JBQzNERixnQkFBZ0JELFFBQVEsR0FBRztJQUVqQyxPQUFPQztBQUNUO0FBRU8sU0FBU1osdURBQXVEUSxLQUFLLEVBQUVLLGFBQWEsRUFBRUMscUJBQXFCO0lBQ2hILElBQUlBLDBCQUEwQkwsV0FBVztRQUN2Q0ssd0JBQXdCRCxlQUFnQixHQUFHO1FBRTNDQSxnQkFBZ0JMLE9BQVEsR0FBRztRQUUzQkEsUUFBUUUsNEJBQWEsRUFBRyxHQUFHO0lBQzdCO0lBRUEsSUFBTUMsU0FBU0wsZ0RBQWdERSxPQUFPSyxlQUFlQyx3QkFDL0VGLGdCQUFnQkQsUUFBUSxHQUFHO0lBRWpDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTaEIsMERBQTBEWSxLQUFLLEVBQUVPLEdBQUcsRUFBRUYsYUFBYSxFQUFFQyxxQkFBcUI7SUFDeEgsSUFBSUEsMEJBQTBCTCxXQUFXO1FBQ3ZDSyx3QkFBd0JELGVBQWdCLEdBQUc7UUFFM0NBLGdCQUFnQkUsS0FBTSxHQUFHO1FBRXpCQSxNQUFNUCxPQUFRLEdBQUc7UUFFakJBLFFBQVFFLDRCQUFhLEVBQUcsR0FBRztJQUM3QjtJQUVBLElBQU1DLFNBQVNKLG1EQUFtREMsT0FBT08sS0FBS0YsZUFBZUMsd0JBQ3ZGRixnQkFBZ0JELFFBQVEsR0FBRztJQUVqQyxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiZCwwQkFBQUE7SUFDQUMsZ0NBQUFBO0lBQ0FGLHdDQUFBQTtJQUNBRiw4Q0FBQUE7SUFDQUssd0RBQUFBO0lBQ0FKLDJEQUFBQTtBQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-nominal",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-nominal",
|
|
7
7
|
"description": "Occam's Nominal language.",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.0.9",
|
|
14
|
+
"occam-custom-grammars": "^6.0.0",
|
|
14
15
|
"occam-grammar-utilities": "^8.0.394",
|
|
15
16
|
"occam-grammars": "^1.3.510",
|
|
16
17
|
"occam-lexers": "^23.1.34",
|
|
@@ -19,19 +20,11 @@
|
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
22
|
"@swc/core": "1.13.20",
|
|
22
|
-
"esbuild": "0.11.14",
|
|
23
|
-
"easy": "^24.1.1",
|
|
24
|
-
"easy-layout": "^6.0.287",
|
|
25
|
-
"easy-with-style": "^3.0.537",
|
|
26
|
-
"express": "^4.17.1",
|
|
27
|
-
"juxtapose": "^4.0.130",
|
|
28
|
-
"lively-cli": "^2.0.77",
|
|
29
23
|
"watchful-cli": "^1.7.67"
|
|
30
24
|
},
|
|
31
25
|
"scripts": {
|
|
32
|
-
"start": "node ./bin/main.js",
|
|
33
26
|
"clean": "rm -rf ./lib",
|
|
34
|
-
"watchful": "watchful -m --transpiler=swc --
|
|
27
|
+
"watchful": "watchful -m --transpiler=swc --source-directory=./src --lib-directory=./lib --pause=100",
|
|
35
28
|
"batch": "npm run watchful batch --",
|
|
36
29
|
"batch-debug": "npm run watchful batch -- --debug",
|
|
37
30
|
"incremental": "npm run watchful incremental --",
|
package/src/index.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { DEFAULT_CUSTOM_GRAMMAR_NAME } from "./grammarNames";
|
|
4
|
-
|
|
5
|
-
export { default as ruleNames } from "./ruleNames";
|
|
6
|
-
export { default as vocabularyNames } from "./vocabularyNames";
|
|
7
|
-
|
|
8
|
-
export { default as CustomGrammar } from "./customGrammar";
|
|
9
|
-
export { default as defaultCustomGrammar } from "./customGrammar/default";
|
|
10
|
-
export { default as CombinedCustomGrammar } from "./customGrammar/combined";
|
|
11
|
-
|
|
12
3
|
export { default as lexersUtilities } from "./utilities/lexers";
|
|
13
4
|
export { default as parsersUtilities } from "./utilities/parsers";
|
|
14
|
-
export { default as customGrammarUtilities } from "./utilities/customGrammar";
|
package/src/utilities/lexers.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NominalLexer } from "occam-grammars";
|
|
4
|
-
import {
|
|
4
|
+
import { lexersUtilities } from "occam-custom-grammars";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const { lexerFromRules, rulesFromEntries } = lexerUtilities;
|
|
6
|
+
const { lexerFromNothing, lexerFromCombinedCustomGrammar, lexerFromEntriesAndCombinedCustomGrammar } = lexersUtilities;
|
|
9
7
|
|
|
10
8
|
export function nominalLexerFromNothing(Class) {
|
|
11
9
|
if (Class === undefined) {
|
|
12
10
|
Class = NominalLexer; ///
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
|
|
18
|
-
nominalLexer = lexerFromRules(Class, rules);
|
|
13
|
+
const lexer = lexerFromNothing(Class),
|
|
14
|
+
nominalLexer = lexer; ///
|
|
19
15
|
|
|
20
16
|
return nominalLexer;
|
|
21
17
|
}
|
|
@@ -27,9 +23,8 @@ export function nominalLexerFromCombinedCustomGrammar(Class, combinedCustomGramm
|
|
|
27
23
|
Class = NominalLexer; ///
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
nominalLexer = lexerFromRules(Class, rules);
|
|
26
|
+
const lexer = lexerFromCombinedCustomGrammar(Class, combinedCustomGrammar),
|
|
27
|
+
nominalLexer = lexer; ///
|
|
33
28
|
|
|
34
29
|
return nominalLexer;
|
|
35
30
|
}
|
|
@@ -43,8 +38,8 @@ export function nominalLexerFromEntriesAndCombinedCustomGrammar(Class, entries,
|
|
|
43
38
|
Class = NominalLexer; ///
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
const
|
|
47
|
-
nominalLexer =
|
|
41
|
+
const lexer = lexerFromEntriesAndCombinedCustomGrammar(Class, entries, combinedCustomGrammar),
|
|
42
|
+
nominalLexer = lexer; ///
|
|
48
43
|
|
|
49
44
|
return nominalLexer;
|
|
50
45
|
}
|
|
@@ -54,16 +49,3 @@ export default {
|
|
|
54
49
|
nominalLexerFromCombinedCustomGrammar,
|
|
55
50
|
nominalLexerFromEntriesAndCombinedCustomGrammar
|
|
56
51
|
};
|
|
57
|
-
|
|
58
|
-
function rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
|
|
59
|
-
const customGrammarEntries = combinedCustomGrammar.getEntries();
|
|
60
|
-
|
|
61
|
-
entries = [ ///
|
|
62
|
-
...customGrammarEntries,
|
|
63
|
-
...entries
|
|
64
|
-
];
|
|
65
|
-
|
|
66
|
-
const rules = rulesFromEntries(entries);
|
|
67
|
-
|
|
68
|
-
return rules;
|
|
69
|
-
}
|
package/src/utilities/parsers.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NominalParser } from "occam-grammars";
|
|
4
|
-
import {
|
|
4
|
+
import { parsersUtilities } from "occam-custom-grammars";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const { parserFromNothing,
|
|
7
|
+
parserFromStartRuleName,
|
|
8
|
+
parserFromCombinedCustomGrammar,
|
|
9
|
+
parserFromBNFAndCombinedCustomGrammar,
|
|
10
|
+
parserFromStartRuleNameAndCombinedCustomGrammar,
|
|
11
|
+
parserFromBNFStartRuleNameAndCombinedCustomGrammar } = parsersUtilities;
|
|
9
12
|
|
|
10
13
|
export function nominalParserFromNothing(Class) {
|
|
11
14
|
if (Class === undefined) {
|
|
12
15
|
Class = NominalParser; ///
|
|
13
16
|
}
|
|
14
17
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
18
|
-
nominalParser = parserFromRules(Class, rules);
|
|
18
|
+
const parser = parserFromNothing(Class),
|
|
19
|
+
nominalParser = parser; ///
|
|
19
20
|
|
|
20
21
|
return nominalParser;
|
|
21
22
|
}
|
|
@@ -27,10 +28,8 @@ export function nominalParserFromStartRuleName(Class, startRuleName) {
|
|
|
27
28
|
Class = NominalParser; ///
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
33
|
-
nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
|
|
31
|
+
const parser = parserFromStartRuleName(Class, startRuleName),
|
|
32
|
+
nominalParser = parser; ///
|
|
34
33
|
|
|
35
34
|
return nominalParser;
|
|
36
35
|
}
|
|
@@ -42,9 +41,8 @@ export function nominalParserFromCombinedCustomGrammar(Class, combinedCustomGram
|
|
|
42
41
|
Class = NominalParser; ///
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
nominalParser = parserFromRules(Class, rules);
|
|
44
|
+
const parser = parserFromCombinedCustomGrammar(Class, combinedCustomGrammar),
|
|
45
|
+
nominalParser = parser; ///
|
|
48
46
|
|
|
49
47
|
return nominalParser;
|
|
50
48
|
}
|
|
@@ -58,8 +56,8 @@ export function nominalParserFromBNFAndCombinedCustomGrammar(Class, bnf, combine
|
|
|
58
56
|
Class = NominalParser; ///
|
|
59
57
|
}
|
|
60
58
|
|
|
61
|
-
const
|
|
62
|
-
nominalParser =
|
|
59
|
+
const parser = parserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustomGrammar),
|
|
60
|
+
nominalParser = parser; ///
|
|
63
61
|
|
|
64
62
|
return nominalParser;
|
|
65
63
|
}
|
|
@@ -73,9 +71,8 @@ export function nominalParserFromStartRuleNameAndCombinedCustomGrammar(Class, st
|
|
|
73
71
|
Class = NominalParser; ///
|
|
74
72
|
}
|
|
75
73
|
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
|
|
74
|
+
const parser = parserFromStartRuleNameAndCombinedCustomGrammar(Class, startRuleName, combinedCustomGrammar),
|
|
75
|
+
nominalParser = parser; ///
|
|
79
76
|
|
|
80
77
|
return nominalParser;
|
|
81
78
|
}
|
|
@@ -91,8 +88,8 @@ export function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(Class,
|
|
|
91
88
|
Class = NominalParser; ///
|
|
92
89
|
}
|
|
93
90
|
|
|
94
|
-
const
|
|
95
|
-
nominalParser =
|
|
91
|
+
const parser = parserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, startRuleName, combinedCustomGrammar),
|
|
92
|
+
nominalParser = parser; ///
|
|
96
93
|
|
|
97
94
|
return nominalParser;
|
|
98
95
|
}
|
|
@@ -105,11 +102,3 @@ export default {
|
|
|
105
102
|
nominalParserFromStartRuleNameAndCombinedCustomGrammar,
|
|
106
103
|
nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar
|
|
107
104
|
};
|
|
108
|
-
|
|
109
|
-
function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
110
|
-
let rules = rulesFromBNF(bnf);
|
|
111
|
-
|
|
112
|
-
rules = combinedCustomGrammar.postProcess(rules);
|
|
113
|
-
|
|
114
|
-
return rules;
|
|
115
|
-
}
|
package/lib/constants.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get BASE_TYPE_SYMBOL () {
|
|
13
|
-
return BASE_TYPE_SYMBOL;
|
|
14
|
-
},
|
|
15
|
-
get EMPTY_STRING () {
|
|
16
|
-
return EMPTY_STRING;
|
|
17
|
-
},
|
|
18
|
-
get NONSENSE_RULE_NAME () {
|
|
19
|
-
return NONSENSE_RULE_NAME;
|
|
20
|
-
},
|
|
21
|
-
get STUFF_RULE_NAME () {
|
|
22
|
-
return STUFF_RULE_NAME;
|
|
23
|
-
},
|
|
24
|
-
get UNASSIGNED_TYPE () {
|
|
25
|
-
return UNASSIGNED_TYPE;
|
|
26
|
-
},
|
|
27
|
-
get VERTICAL_BAR () {
|
|
28
|
-
return VERTICAL_BAR;
|
|
29
|
-
},
|
|
30
|
-
get VERTICAL_SPACE () {
|
|
31
|
-
return VERTICAL_SPACE;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
var EMPTY_STRING = "";
|
|
35
|
-
var VERTICAL_BAR = "|";
|
|
36
|
-
var VERTICAL_SPACE = "\n\n";
|
|
37
|
-
var UNASSIGNED_TYPE = "unassigned";
|
|
38
|
-
var STUFF_RULE_NAME = "stuff";
|
|
39
|
-
var BASE_TYPE_SYMBOL = "<>";
|
|
40
|
-
var NONSENSE_RULE_NAME = "nonsense";
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX0JBUiA9IFwifFwiO1xuZXhwb3J0IGNvbnN0IFZFUlRJQ0FMX1NQQUNFID0gYFxuXG5gXG5leHBvcnQgY29uc3QgVU5BU1NJR05FRF9UWVBFID0gXCJ1bmFzc2lnbmVkXCI7XG5leHBvcnQgY29uc3QgU1RVRkZfUlVMRV9OQU1FID0gXCJzdHVmZlwiO1xuZXhwb3J0IGNvbnN0IEJBU0VfVFlQRV9TWU1CT0wgPSBcIjw+XCI7XG5leHBvcnQgY29uc3QgTk9OU0VOU0VfUlVMRV9OQU1FID0gXCJub25zZW5zZVwiO1xuIl0sIm5hbWVzIjpbIkJBU0VfVFlQRV9TWU1CT0wiLCJFTVBUWV9TVFJJTkciLCJOT05TRU5TRV9SVUxFX05BTUUiLCJTVFVGRl9SVUxFX05BTUUiLCJVTkFTU0lHTkVEX1RZUEUiLCJWRVJUSUNBTF9CQVIiLCJWRVJUSUNBTF9TUEFDRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBU2FBO2VBQUFBOztRQVBBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFKQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOzs7QUFGTixJQUFNTCxlQUFlO0FBQ3JCLElBQU1JLGVBQWU7QUFDckIsSUFBTUMsaUJBQWlCO0FBR3ZCLElBQU1GLGtCQUFrQjtBQUN4QixJQUFNRCxrQkFBa0I7QUFDeEIsSUFBTUgsbUJBQW1CO0FBQ3pCLElBQU1FLHFCQUFxQiJ9
|