yapp 2.2.95 → 2.2.99
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/example.js +1394 -437
- package/lib/parser/yapp.js +6 -5
- package/package.json +2 -2
- package/src/parser/yapp.js +2 -1
- package/lib/utilities/parser.js +0 -24
- package/src/utilities/parser.js +0 -30
package/lib/parser/yapp.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _occamParsers = require("occam-parsers");
|
|
7
|
-
var
|
|
7
|
+
var _occamGrammarUtilities = require("occam-grammar-utilities");
|
|
8
8
|
function _assertThisInitialized(self) {
|
|
9
9
|
if (self === void 0) {
|
|
10
10
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -90,6 +90,7 @@ function _createSuper(Derived) {
|
|
|
90
90
|
return _possibleConstructorReturn(this, result);
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
+
var rulesFromBNF = _occamGrammarUtilities.parserUtilities.rulesFromBNF, parserFromRules = _occamGrammarUtilities.parserUtilities.parserFromRules;
|
|
93
94
|
var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
94
95
|
_inherits(YappParser, CommonParser);
|
|
95
96
|
var _super = _createSuper(YappParser);
|
|
@@ -101,21 +102,21 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
|
101
102
|
{
|
|
102
103
|
key: "fromNothing",
|
|
103
104
|
value: function fromNothing(Class) {
|
|
104
|
-
var bnf = Class.bnf, rules =
|
|
105
|
+
var bnf = Class.bnf, rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
|
|
105
106
|
return parser;
|
|
106
107
|
}
|
|
107
108
|
},
|
|
108
109
|
{
|
|
109
110
|
key: "fromBNF",
|
|
110
111
|
value: function fromBNF(Class, bnf) {
|
|
111
|
-
var rules =
|
|
112
|
+
var rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
|
|
112
113
|
return parser;
|
|
113
114
|
}
|
|
114
115
|
},
|
|
115
116
|
{
|
|
116
117
|
key: "fromRules",
|
|
117
118
|
value: function fromRules(Class, rules) {
|
|
118
|
-
var parser =
|
|
119
|
+
var parser = parserFromRules(Class, rules);
|
|
119
120
|
return parser;
|
|
120
121
|
}
|
|
121
122
|
}
|
|
@@ -124,4 +125,4 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
|
124
125
|
}(_occamParsers.CommonParser);
|
|
125
126
|
exports.default = YappParser;
|
|
126
127
|
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIveWFwcC5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIveWFwcC5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1ncmFtbWFyLXV0aWxpdGllc1wiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFlhcHBQYXJzZXIgZXh0ZW5kcyBDb21tb25QYXJzZXIge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgICBjb25zdCB7IGJuZiB9ID0gQ2xhc3MsXG4gICAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgICBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBzdGF0aWMgZnJvbUJORihDbGFzcywgYm5mKSB7XG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgICBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVzKENsYXNzLCBydWxlcykge1xuICAgIGNvbnN0IHBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJZYXBwUGFyc2VyIiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsImJuZiIsInJ1bGVzIiwicGFyc2VyIiwiZnJvbUJORiIsImZyb21SdWxlcyIsIkNvbW1vblBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7OztBQUVnQixJQUFBLGFBQWUsV0FBZixlQUFlLENBQUE7QUFDWixJQUFBLHNCQUF5QixXQUF6Qix5QkFBeUIsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekQsSUFBUUEsWUFBWSxHQUFzQkMsc0JBQWUsZ0JBQUEsQ0FBakRELFlBQVksRUFBRUUsZUFBZSxHQUFLRCxzQkFBZSxnQkFBQSxDQUFuQ0MsZUFBZSxBQUFxQjtBQUUzQyxJQUFBLEFBQU1DLFVBQVUsaUJDUDVCLEFET1k7OzthQUFNQSxVQUFVOzs7Ozs7WUFDdEJDLEdBQVcsRUFBWEEsYUFBVzttQkFBbEIsU0FBT0EsV0FBVyxDQUFDQyxLQUFLLEVBQUU7Z0JBQ3hCLElBQU0sQUFBRUMsR0FBRyxHQUFLRCxLQUFLLENBQWJDLEdBQUcsQUFBVSxFQUNmQyxLQUFLLEdBQUdQLFlBQVksQ0FBQ00sR0FBRyxDQUFDLEVBQ3pCRSxNQUFNLEdBQUdOLGVBQWUsQ0FBQ0csS0FBSyxFQUFFRSxLQUFLLENBQUMsQUFBQztnQkFFN0MsT0FBT0MsTUFBTSxDQUFDO2FBQ2Y7OztZQUVNQyxHQUFPLEVBQVBBLFNBQU87bUJBQWQsU0FBT0EsT0FBTyxDQUFDSixLQUFLLEVBQUVDLEdBQUcsRUFBRTtnQkFDekIsSUFBTUMsS0FBSyxHQUFHUCxZQUFZLENBQUNNLEdBQUcsQ0FBQyxFQUN6QkUsTUFBTSxHQUFHTixlQUFlLENBQUNHLEtBQUssRUFBRUUsS0FBSyxDQUFDLEFBQUM7Z0JBRTdDLE9BQU9DLE1BQU0sQ0FBQzthQUNmOzs7WUFFTUUsR0FBUyxFQUFUQSxXQUFTO21CQUFoQixTQUFPQSxTQUFTLENBQUNMLEtBQUssRUFBRUUsS0FBSyxFQUFFO2dCQUM3QixJQUFNQyxNQUFNLEdBQUdOLGVBQWUsQ0FBQ0csS0FBSyxFQUFFRSxLQUFLLENBQUMsQUFBQztnQkFFN0MsT0FBT0MsTUFBTSxDQUFDO2FBQ2Y7Ozs7Q0FDRixDQXJCdUNHLGFBQVksYUFBQSxDQXFCbkQ7a0JBckJvQlIsVUFBVSJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yapp",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.99",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/yapp",
|
|
7
7
|
"description": "Yet Another Pretty Printer.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@swc/core": "^1.2.106",
|
|
24
|
-
"easy-layout": "^5.0.
|
|
24
|
+
"easy-layout": "^5.0.106",
|
|
25
25
|
"esbuild": "^0.11.7",
|
|
26
26
|
"express": "^4.17.1",
|
|
27
27
|
"juxtapose": "^4.0.37",
|
package/src/parser/yapp.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { CommonParser } from "occam-parsers";
|
|
4
|
+
import { parserUtilities } from "occam-grammar-utilities";
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
const { rulesFromBNF, parserFromRules } = parserUtilities;
|
|
6
7
|
|
|
7
8
|
export default class YappParser extends CommonParser {
|
|
8
9
|
static fromNothing(Class) {
|
package/lib/utilities/parser.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
exports.rulesFromBNF = rulesFromBNF;
|
|
6
|
-
exports.parserFromRules = parserFromRules;
|
|
7
|
-
var _occamLexers = require("occam-lexers");
|
|
8
|
-
var _occamParsers = require("occam-parsers");
|
|
9
|
-
var _occamGrammarUtilities = require("occam-grammar-utilities");
|
|
10
|
-
var _rules = require("../utilities/rules");
|
|
11
|
-
var bnfLexer = _occamLexers.BNFLexer.fromNothing(), bnfParser = _occamParsers.BNFParser.fromNothing();
|
|
12
|
-
function rulesFromBNF(bnf) {
|
|
13
|
-
var tokens = bnfLexer.tokensFromBNF(bnf), rules = bnfParser.rulesFromTokens(tokens);
|
|
14
|
-
return rules;
|
|
15
|
-
}
|
|
16
|
-
function parserFromRules(Class, rules) {
|
|
17
|
-
var ruleMap = (0, _rules).ruleMapFromRules(rules);
|
|
18
|
-
var startRule = (0, _rules).startRuleFromRules(rules);
|
|
19
|
-
startRule = (0, _occamGrammarUtilities).eliminateLeftRecursion(startRule, ruleMap);
|
|
20
|
-
var parser = new Class(startRule, ruleMap);
|
|
21
|
-
return parser;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBCTkZMZXhlciB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IEJORlBhcnNlciB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMsIHN0YXJ0UnVsZUZyb21SdWxlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcnVsZXNcIjtcblxuXG5jb25zdCBibmZMZXhlciA9IEJORkxleGVyLmZyb21Ob3RoaW5nKCksXG4gICAgICBibmZQYXJzZXIgPSBCTkZQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzRnJvbUJORihibmYpIHtcbiAgY29uc3QgdG9rZW5zID0gYm5mTGV4ZXIudG9rZW5zRnJvbUJORihibmYpLFxuICAgICAgICBydWxlcyA9IGJuZlBhcnNlci5ydWxlc0Zyb21Ub2tlbnModG9rZW5zKTtcblxuICByZXR1cm4gcnVsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKTtcblxuICBsZXQgc3RhcnRSdWxlID0gc3RhcnRSdWxlRnJvbVJ1bGVzKHJ1bGVzKTtcblxuICBzdGFydFJ1bGUgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG5cbiAgY29uc3QgcGFyc2VyID0gbmV3IENsYXNzKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG5cbiAgcmV0dXJuIHBhcnNlcjtcbn1cbiJdLCJuYW1lcyI6WyJydWxlc0Zyb21CTkYiLCJwYXJzZXJGcm9tUnVsZXMiLCJibmZMZXhlciIsIkJORkxleGVyIiwiZnJvbU5vdGhpbmciLCJibmZQYXJzZXIiLCJCTkZQYXJzZXIiLCJibmYiLCJ0b2tlbnMiLCJ0b2tlbnNGcm9tQk5GIiwicnVsZXMiLCJydWxlc0Zyb21Ub2tlbnMiLCJDbGFzcyIsInJ1bGVNYXAiLCJydWxlTWFwRnJvbVJ1bGVzIiwic3RhcnRSdWxlIiwic3RhcnRSdWxlRnJvbVJ1bGVzIiwiZWxpbWluYXRlTGVmdFJlY3Vyc2lvbiIsInBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7O1FBWUdBLFlBQVksR0FBWkEsWUFBWTtRQU9aQyxlQUFlLEdBQWZBLGVBQWU7QUFqQk4sSUFBQSxZQUFjLFdBQWQsY0FBYyxDQUFBO0FBQ2IsSUFBQSxhQUFlLFdBQWYsZUFBZSxDQUFBO0FBQ0YsSUFBQSxzQkFBeUIsV0FBekIseUJBQXlCLENBQUE7QUFFWCxJQUFBLE1BQW9CLFdBQXBCLG9CQUFvQixDQUFBO0FBR3pFLElBQU1DLFFBQVEsR0FBR0MsWUFBUSxTQUFBLENBQUNDLFdBQVcsRUFBRSxFQUNqQ0MsU0FBUyxHQUFHQyxhQUFTLFVBQUEsQ0FBQ0YsV0FBVyxFQUFFLEFBQUM7QUFFbkMsU0FBU0osWUFBWSxDQUFDTyxHQUFHLEVBQUU7SUFDaEMsSUFBTUMsTUFBTSxHQUFHTixRQUFRLENBQUNPLGFBQWEsQ0FBQ0YsR0FBRyxDQUFDLEVBQ3BDRyxLQUFLLEdBQUdMLFNBQVMsQ0FBQ00sZUFBZSxDQUFDSCxNQUFNLENBQUMsQUFBQztJQUVoRCxPQUFPRSxLQUFLLENBQUM7Q0FDZDtBQUVNLFNBQVNULGVBQWUsQ0FBQ1csS0FBSyxFQUFFRixLQUFLLEVBQUU7SUFDNUMsSUFBTUcsT0FBTyxHQUFHQyxDQUFBQSxHQUFBQSxNQUFnQixBQUFPLENBQUEsaUJBQVAsQ0FBQ0osS0FBSyxDQUFDLEFBQUM7SUFFeEMsSUFBSUssU0FBUyxHQUFHQyxDQUFBQSxHQUFBQSxNQUFrQixBQUFPLENBQUEsbUJBQVAsQ0FBQ04sS0FBSyxDQUFDLEFBQUM7SUFFMUNLLFNBQVMsR0FBR0UsQ0FBQUEsR0FBQUEsc0JBQXNCLEFBQW9CLENBQUEsdUJBQXBCLENBQUNGLFNBQVMsRUFBRUYsT0FBTyxDQUFDLENBQUM7SUFFdkQsSUFBTUssTUFBTSxHQUFHLElBQUlOLEtBQUssQ0FBQ0csU0FBUyxFQUFFRixPQUFPLENBQUMsQUFBQztJQUU3QyxPQUFPSyxNQUFNLENBQUM7Q0FDZiJ9
|
package/src/utilities/parser.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { BNFLexer } from "occam-lexers";
|
|
4
|
-
import { BNFParser } from "occam-parsers";
|
|
5
|
-
import { eliminateLeftRecursion } from "occam-grammar-utilities";
|
|
6
|
-
|
|
7
|
-
import { ruleMapFromRules, startRuleFromRules } from "../utilities/rules";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const bnfLexer = BNFLexer.fromNothing(),
|
|
11
|
-
bnfParser = BNFParser.fromNothing();
|
|
12
|
-
|
|
13
|
-
export function rulesFromBNF(bnf) {
|
|
14
|
-
const tokens = bnfLexer.tokensFromBNF(bnf),
|
|
15
|
-
rules = bnfParser.rulesFromTokens(tokens);
|
|
16
|
-
|
|
17
|
-
return rules;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function parserFromRules(Class, rules) {
|
|
21
|
-
const ruleMap = ruleMapFromRules(rules);
|
|
22
|
-
|
|
23
|
-
let startRule = startRuleFromRules(rules);
|
|
24
|
-
|
|
25
|
-
startRule = eliminateLeftRecursion(startRule, ruleMap);
|
|
26
|
-
|
|
27
|
-
const parser = new Class(startRule, ruleMap);
|
|
28
|
-
|
|
29
|
-
return parser;
|
|
30
|
-
}
|