occam-languages 1.0.26 → 1.0.27
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/lib/index.js +5 -1
- package/lib/utilities/bnf.js +32 -0
- package/package.json +3 -2
- package/src/index.js +1 -0
- package/src/utilities/bnf.js +24 -0
package/lib/index.js
CHANGED
|
@@ -63,6 +63,9 @@ _export(exports, {
|
|
|
63
63
|
get asynchronousUtilities () {
|
|
64
64
|
return _asynchronous.default;
|
|
65
65
|
},
|
|
66
|
+
get bnfUtilities () {
|
|
67
|
+
return _bnf.default;
|
|
68
|
+
},
|
|
66
69
|
get breakPointUtilities () {
|
|
67
70
|
return _breakPoint1.default;
|
|
68
71
|
},
|
|
@@ -106,6 +109,7 @@ const _lexer1 = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"
|
|
|
106
109
|
const _parser1 = /*#__PURE__*/ _interop_require_default(require("./nominal/parser"));
|
|
107
110
|
const _nonTerminalNode = /*#__PURE__*/ _interop_require_default(require("./nonTerminalNode"));
|
|
108
111
|
const _node = /*#__PURE__*/ _interop_require_default(require("./mixins/node"));
|
|
112
|
+
const _bnf = /*#__PURE__*/ _interop_require_default(require("./utilities/bnf"));
|
|
109
113
|
const _node1 = /*#__PURE__*/ _interop_require_default(require("./utilities/node"));
|
|
110
114
|
const _furtle = /*#__PURE__*/ _interop_require_default(require("./utilities/furtle"));
|
|
111
115
|
const _nominal = /*#__PURE__*/ _interop_require_default(require("./utilities/nominal"));
|
|
@@ -120,4 +124,4 @@ function _interop_require_default(obj) {
|
|
|
120
124
|
};
|
|
121
125
|
}
|
|
122
126
|
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMb2cgfSBmcm9tIFwiLi9sb2dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWtQb2ludCB9IGZyb20gXCIuL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy96aXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTaW1wbGVQYXNzIH0gZnJvbSBcIi4vcGFzcy9zaW1wbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFppcFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRaaXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRXF1aXZhbGVuY2VQYXNzIH0gZnJvbSBcIi4vcGFzcy9lcXVpdmFsZW5jZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb21pbmFsUGFyc2VyIH0gZnJvbSBcIi4vbm9taW5hbC9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwiLi9ub25UZXJtaW5hbE5vZGVcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlTWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL25vZGVcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBibmZVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYm5mXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmdXJ0bGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZnVydGxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vbWluYWxVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9taW5hbFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZUNvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyaWZpY2F0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3ZlcmlmaWNhdGlvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlbGVhc2VDb250ZXh0VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3JlbGVhc2VDb250ZXh0XCI7XG4iXSwibmFtZXMiOlsiQXN5bmNQYXNzIiwiQnJlYWtQb2ludCIsIkNvbnRleHQiLCJFbGVtZW50IiwiRXF1aXZhbGVuY2VQYXNzIiwiRmlsZUNvbnRleHQiLCJGb3J3YXJkUGFzcyIsIkZvcndhcmRaaXBQYXNzIiwiRnVydGxlTGV4ZXIiLCJGdXJ0bGVQYXJzZXIiLCJMb2ciLCJOb21pbmFsTGV4ZXIiLCJOb21pbmFsUGFyc2VyIiwiTm9uVGVybWluYWxOb2RlIiwiUmVsZWFzZUNvbnRleHQiLCJTaW1wbGVQYXNzIiwiWmlwUGFzcyIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImJuZlV0aWxpdGllcyIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJmaWxlQ29udGV4dFV0aWxpdGllcyIsImZ1cnRsZVV0aWxpdGllcyIsIm5vZGVNaXhpbnMiLCJub2RlVXRpbGl0aWVzIiwibm9taW5hbFV0aWxpdGllcyIsInJlbGVhc2VDb250ZXh0VXRpbGl0aWVzIiwidmVyaWZpY2F0aW9uVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFVb0JBO2VBQUFBLGNBQVM7O1FBTFRDO2VBQUFBLG1CQUFVOztRQURWQztlQUFBQSxnQkFBTzs7UUFEUEM7ZUFBQUEsZ0JBQU87O1FBV1BDO2VBQUFBLG9CQUFlOztRQVJmQztlQUFBQSxhQUFXOztRQU1YQztlQUFBQSxnQkFBVzs7UUFDWEM7ZUFBQUEsbUJBQWM7O1FBR2RDO2VBQUFBLGNBQVc7O1FBQ1hDO2VBQUFBLGVBQVk7O1FBZlpDO2VBQUFBLFlBQUc7O1FBZ0JIQztlQUFBQSxlQUFZOztRQUNaQztlQUFBQSxnQkFBYTs7UUFFYkM7ZUFBQUEsd0JBQWU7O1FBZGZDO2VBQUFBLGdCQUFjOztRQUlkQztlQUFBQSxlQUFVOztRQUZWQztlQUFBQSxZQUFPOztRQXVCUEM7ZUFBQUEscUJBQXFCOztRQVByQkM7ZUFBQUEsWUFBWTs7UUFJWkM7ZUFBQUEsb0JBQW1COztRQUNuQkM7ZUFBQUEsb0JBQW9COztRQUhwQkM7ZUFBQUEsZUFBZTs7UUFKZkM7ZUFBQUEsYUFBVTs7UUFHVkM7ZUFBQUEsY0FBYTs7UUFFYkM7ZUFBQUEsZ0JBQWdCOztRQUtoQkM7ZUFBQUEsdUJBQXVCOztRQUZ2QkM7ZUFBQUEscUJBQXFCOzs7NERBN0JWO2dFQUNJO2dFQUNBO21FQUNHOzZEQUNDO2dFQUNHOzREQUVQOzhEQUNFOytEQUNDO2dFQUNDO21FQUNHO29FQUNDOzhEQUVKOytEQUNDOytEQUNBO2dFQUNDO3dFQUVFOzZEQUVMOzREQUVFOzhEQUNDOytEQUNFO2dFQUNDO29FQUNHO29FQUNDO3FFQUNDO3FFQUNBO3VFQUNFIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
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 default () {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
get ruleFromRuleName () {
|
|
16
|
+
return ruleFromRuleName;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _occamlexers = require("occam-lexers");
|
|
20
|
+
const _occamparsers = require("occam-parsers");
|
|
21
|
+
const _necessary = require("necessary");
|
|
22
|
+
const { first } = _necessary.arrayUtilities;
|
|
23
|
+
const bnfLexer = _occamlexers.BNFLexer.fromNothing(), bnfParser = _occamparsers.BNFParser.fromNothing();
|
|
24
|
+
function ruleFromRuleName(ruleName) {
|
|
25
|
+
const bnf = ` _ ::= ${ruleName}... <END_OF_LINE> ; `, tokens = bnfLexer.tokensFromBNF(bnf), rules = bnfParser.rulesFromTokens(tokens), firstRule = first(rules), rule = firstRule; ///
|
|
26
|
+
return rule;
|
|
27
|
+
}
|
|
28
|
+
const _default = {
|
|
29
|
+
ruleFromRuleName
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBCTkZMZXhlciB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IEJORlBhcnNlciB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGJuZkxleGVyID0gQk5GTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIGJuZlBhcnNlciA9IEJORlBhcnNlci5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgZnVuY3Rpb24gcnVsZUZyb21SdWxlTmFtZShydWxlTmFtZSkge1xuICBjb25zdCBibmYgPSBgIF8gOjo9ICR7cnVsZU5hbWV9Li4uIDxFTkRfT0ZfTElORT4gOyBgLFxuICAgICAgICB0b2tlbnMgPSBibmZMZXhlci50b2tlbnNGcm9tQk5GKGJuZiksXG4gICAgICAgIHJ1bGVzID0gYm5mUGFyc2VyLnJ1bGVzRnJvbVRva2Vucyh0b2tlbnMpLFxuICAgICAgICBmaXJzdFJ1bGUgPSBmaXJzdChydWxlcyksXG4gICAgICAgIHJ1bGUgPSBmaXJzdFJ1bGU7IC8vL1xuXG4gIHJldHVybiBydWxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHJ1bGVGcm9tUnVsZU5hbWVcbn07XG4iXSwibmFtZXMiOlsicnVsZUZyb21SdWxlTmFtZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJibmZMZXhlciIsIkJORkxleGVyIiwiZnJvbU5vdGhpbmciLCJibmZQYXJzZXIiLCJCTkZQYXJzZXIiLCJydWxlTmFtZSIsImJuZiIsInRva2VucyIsInRva2Vuc0Zyb21CTkYiLCJydWxlcyIsInJ1bGVzRnJvbVRva2VucyIsImZpcnN0UnVsZSIsInJ1bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXFCQTtlQUFBOztRQVZnQkE7ZUFBQUE7Ozs2QkFUUzs4QkFDQzsyQkFDSztBQUUvQixNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyx5QkFBYztBQUVoQyxNQUFNQyxXQUFXQyxxQkFBUSxDQUFDQyxXQUFXLElBQy9CQyxZQUFZQyx1QkFBUyxDQUFDRixXQUFXO0FBRWhDLFNBQVNMLGlCQUFpQlEsUUFBUTtJQUN2QyxNQUFNQyxNQUFNLENBQUMsT0FBTyxFQUFFRCxTQUFTLG9CQUFvQixDQUFDLEVBQzlDRSxTQUFTUCxTQUFTUSxhQUFhLENBQUNGLE1BQ2hDRyxRQUFRTixVQUFVTyxlQUFlLENBQUNILFNBQ2xDSSxZQUFZYixNQUFNVyxRQUNsQkcsT0FBT0QsV0FBVyxHQUFHO0lBRTNCLE9BQU9DO0FBQ1Q7TUFFQSxXQUFlO0lBQ2JmO0FBQ0YifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-languages",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.27",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-languages",
|
|
7
7
|
"description": "Occam's common language functionality.",
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
"occam-custom-grammars": "^6.0.125",
|
|
15
15
|
"occam-grammar-utilities": "^8.1.17",
|
|
16
16
|
"occam-grammars": "^1.3.628",
|
|
17
|
+
"occam-lexers": "^23.2.4",
|
|
17
18
|
"occam-model": "^1.0.559",
|
|
18
|
-
"occam-parsers": "^23.2.
|
|
19
|
+
"occam-parsers": "^23.2.7",
|
|
19
20
|
"occam-query": "^4.1.198"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
package/src/index.js
CHANGED
|
@@ -23,6 +23,7 @@ export { default as NonTerminalNode } from "./nonTerminalNode";
|
|
|
23
23
|
|
|
24
24
|
export { default as nodeMixins } from "./mixins/node";
|
|
25
25
|
|
|
26
|
+
export { default as bnfUtilities } from "./utilities/bnf";
|
|
26
27
|
export { default as nodeUtilities } from "./utilities/node";
|
|
27
28
|
export { default as furtleUtilities } from "./utilities/furtle";
|
|
28
29
|
export { default as nominalUtilities } from "./utilities/nominal";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { BNFLexer } from "occam-lexers";
|
|
4
|
+
import { BNFParser } from "occam-parsers";
|
|
5
|
+
import { arrayUtilities } from "necessary";
|
|
6
|
+
|
|
7
|
+
const { first } = arrayUtilities;
|
|
8
|
+
|
|
9
|
+
const bnfLexer = BNFLexer.fromNothing(),
|
|
10
|
+
bnfParser = BNFParser.fromNothing();
|
|
11
|
+
|
|
12
|
+
export function ruleFromRuleName(ruleName) {
|
|
13
|
+
const bnf = ` _ ::= ${ruleName}... <END_OF_LINE> ; `,
|
|
14
|
+
tokens = bnfLexer.tokensFromBNF(bnf),
|
|
15
|
+
rules = bnfParser.rulesFromTokens(tokens),
|
|
16
|
+
firstRule = first(rules),
|
|
17
|
+
rule = firstRule; ///
|
|
18
|
+
|
|
19
|
+
return rule;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
ruleFromRuleName
|
|
24
|
+
};
|