yapp 2.2.51 → 2.2.52
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 +85 -50
- package/lib/parser/yapp.js +5 -19
- package/lib/utilities/parser.js +24 -0
- package/package.json +2 -2
- package/src/parser/yapp.js +2 -26
- package/src/utilities/parser.js +29 -0
package/lib/parser/yapp.js
CHANGED
|
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _occamLexers = require("occam-lexers");
|
|
7
|
-
var _occamGrammarUtilities = require("occam-grammar-utilities");
|
|
8
6
|
var _occamParsers = require("occam-parsers");
|
|
9
|
-
var
|
|
7
|
+
var _parser = require("../utilities/parser");
|
|
10
8
|
function _assertThisInitialized(self) {
|
|
11
9
|
if (self === void 0) {
|
|
12
10
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -91,7 +89,6 @@ function _createSuper(Derived) {
|
|
|
91
89
|
return _possibleConstructorReturn(this, result);
|
|
92
90
|
};
|
|
93
91
|
}
|
|
94
|
-
var bnfLexer = _occamLexers.BNFLexer.fromNothing(), bnfParser = _occamParsers.BNFParser.fromNothing();
|
|
95
92
|
var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
96
93
|
_inherits(YappParser, CommonParser);
|
|
97
94
|
var _super = _createSuper(YappParser);
|
|
@@ -103,21 +100,21 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
|
103
100
|
{
|
|
104
101
|
key: "fromNothing",
|
|
105
102
|
value: function fromNothing(Class) {
|
|
106
|
-
var bnf = Class.bnf, rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
|
|
103
|
+
var bnf = Class.bnf, rules = (0, _parser).rulesFromBNF(bnf), parser = (0, _parser).parserFromRules(Class, rules);
|
|
107
104
|
return parser;
|
|
108
105
|
}
|
|
109
106
|
},
|
|
110
107
|
{
|
|
111
108
|
key: "fromBNF",
|
|
112
109
|
value: function fromBNF(Class, bnf) {
|
|
113
|
-
var rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
|
|
110
|
+
var rules = (0, _parser).rulesFromBNF(bnf), parser = (0, _parser).parserFromRules(Class, rules);
|
|
114
111
|
return parser;
|
|
115
112
|
}
|
|
116
113
|
},
|
|
117
114
|
{
|
|
118
115
|
key: "fromRules",
|
|
119
116
|
value: function fromRules(Class, rules) {
|
|
120
|
-
var parser = parserFromRules(Class, rules);
|
|
117
|
+
var parser = (0, _parser).parserFromRules(Class, rules);
|
|
121
118
|
return parser;
|
|
122
119
|
}
|
|
123
120
|
}
|
|
@@ -125,16 +122,5 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
|
|
|
125
122
|
return YappParser;
|
|
126
123
|
}(_occamParsers.CommonParser);
|
|
127
124
|
exports.default = YappParser;
|
|
128
|
-
function rulesFromBNF(bnf) {
|
|
129
|
-
var tokens = bnfLexer.tokensFromBNF(bnf), rules = bnfParser.rulesFromTokens(tokens);
|
|
130
|
-
return rules;
|
|
131
|
-
}
|
|
132
|
-
function parserFromRules(Class, rules) {
|
|
133
|
-
var ruleMap = (0, _rules).ruleMapFromRules(rules);
|
|
134
|
-
var startRule = (0, _rules).startRuleFromRules(rules);
|
|
135
|
-
startRule = (0, _occamGrammarUtilities).eliminateLeftRecursion(startRule, ruleMap);
|
|
136
|
-
var parser = new Class(startRule, ruleMap);
|
|
137
|
-
return parser;
|
|
138
|
-
}
|
|
139
125
|
|
|
140
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIveWFwcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcnNlclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBZYXBwUGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzKSB7XG4gICAgY29uc3QgeyBibmYgfSA9IENsYXNzLFxuICAgICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgc3RhdGljIGZyb21CTkYoQ2xhc3MsIGJuZikge1xuICAgIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhDbGFzcywgcnVsZXMpIHtcbiAgICBjb25zdCBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJZYXBwUGFyc2VyIiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsImJuZiIsInJ1bGVzIiwicGFyc2VyIiwiZnJvbUJORiIsImZyb21SdWxlcyJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7Ozs7QUFFaUIsR0FBZSxDQUFmLGFBQWU7QUFFRSxHQUFxQixDQUFyQixPQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUU5Q0EsVUFBVSxpQkFBaEIsUUFBUTtjQUFGQSxVQUFVOzhCQUFWQSxVQUFVO2FBQVZBLFVBQVU7OEJBQVZBLFVBQVU7OztpQkFBVkEsVUFBVTs7WUFDdEJDLEdBQVcsRUFBWEEsQ0FBVzttQkFBbEIsUUFBUSxDQUFEQSxXQUFXLENBQUNDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixHQUFLLENBQUdDLEdBQUcsR0FBS0QsS0FBSyxDQUFiQyxHQUFHLEVBQ0xDLEtBQUssT0FMK0IsT0FBcUIsZUFLcENELEdBQUcsR0FDeEJFLE1BQU0sT0FOOEIsT0FBcUIsa0JBTWhDSCxLQUFLLEVBQUVFLEtBQUs7Z0JBRTNDLE1BQU0sQ0FBQ0MsTUFBTTtZQUNmLENBQUM7OztZQUVNQyxHQUFPLEVBQVBBLENBQU87bUJBQWQsUUFBUSxDQUFEQSxPQUFPLENBQUNKLEtBQUssRUFBRUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLEdBQUssQ0FBQ0MsS0FBSyxPQVorQixPQUFxQixlQVlwQ0QsR0FBRyxHQUN4QkUsTUFBTSxPQWI4QixPQUFxQixrQkFhaENILEtBQUssRUFBRUUsS0FBSztnQkFFM0MsTUFBTSxDQUFDQyxNQUFNO1lBQ2YsQ0FBQzs7O1lBRU1FLEdBQVMsRUFBVEEsQ0FBUzttQkFBaEIsUUFBUSxDQUFEQSxTQUFTLENBQUNMLEtBQUssRUFBRUUsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLEdBQUssQ0FBQ0MsTUFBTSxPQW5COEIsT0FBcUIsa0JBbUJoQ0gsS0FBSyxFQUFFRSxLQUFLO2dCQUUzQyxNQUFNLENBQUNDLE1BQU07WUFDZixDQUFDOzs7V0FwQmtCTCxVQUFVO0VBSkYsYUFBZTtrQkFJdkJBLFVBQVUifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
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;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBCTkZMZXhlciB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IEJORlBhcnNlciB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMsIHN0YXJ0UnVsZUZyb21SdWxlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcnVsZXNcIjtcblxuY29uc3QgYm5mTGV4ZXIgPSBCTkZMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgYm5mUGFyc2VyID0gQk5GUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlc0Zyb21CTkYoYm5mKSB7XG4gIGNvbnN0IHRva2VucyA9IGJuZkxleGVyLnRva2Vuc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgcnVsZXMgPSBibmZQYXJzZXIucnVsZXNGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcykge1xuICBjb25zdCBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyk7XG5cbiAgbGV0IHN0YXJ0UnVsZSA9IHN0YXJ0UnVsZUZyb21SdWxlcyhydWxlcyk7XG5cbiAgc3RhcnRSdWxlID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gIGNvbnN0IHBhcnNlciA9IG5ldyBDbGFzcyhzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gIHJldHVybiBwYXJzZXI7XG59XG4iXSwibmFtZXMiOlsicnVsZXNGcm9tQk5GIiwicGFyc2VyRnJvbVJ1bGVzIiwiYm5mTGV4ZXIiLCJmcm9tTm90aGluZyIsImJuZlBhcnNlciIsImJuZiIsInRva2VucyIsInRva2Vuc0Zyb21CTkYiLCJydWxlcyIsInJ1bGVzRnJvbVRva2VucyIsIkNsYXNzIiwicnVsZU1hcCIsInN0YXJ0UnVsZSIsInBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVdJQSxZQUFZLEdBQVpBLFlBQVk7UUFPWkMsZUFBZSxHQUFmQSxlQUFlO0FBaEJOLEdBQWMsQ0FBZCxZQUFjO0FBQ2IsR0FBZSxDQUFmLGFBQWU7QUFDRixHQUF5QixDQUF6QixzQkFBeUI7QUFFWCxHQUFvQixDQUFwQixNQUFvQjtBQUV6RSxHQUFLLENBQUNDLFFBQVEsR0FOVyxZQUFjLFVBTWJDLFdBQVcsSUFDL0JDLFNBQVMsR0FOVyxhQUFlLFdBTWJELFdBQVc7U0FFdkJILFlBQVksQ0FBQ0ssR0FBRyxFQUFFLENBQUM7SUFDakMsR0FBSyxDQUFDQyxNQUFNLEdBQUdKLFFBQVEsQ0FBQ0ssYUFBYSxDQUFDRixHQUFHLEdBQ25DRyxLQUFLLEdBQUdKLFNBQVMsQ0FBQ0ssZUFBZSxDQUFDSCxNQUFNO0lBRTlDLE1BQU0sQ0FBQ0UsS0FBSztBQUNkLENBQUM7U0FFZVAsZUFBZSxDQUFDUyxLQUFLLEVBQUVGLEtBQUssRUFBRSxDQUFDO0lBQzdDLEdBQUssQ0FBQ0csT0FBTyxPQWJzQyxNQUFvQixtQkFhdENILEtBQUs7SUFFdEMsR0FBRyxDQUFDSSxTQUFTLE9BZnNDLE1BQW9CLHFCQWVwQ0osS0FBSztJQUV4Q0ksU0FBUyxPQW5CNEIsc0JBQXlCLHlCQW1CM0JBLFNBQVMsRUFBRUQsT0FBTztJQUVyRCxHQUFLLENBQUNFLE1BQU0sR0FBRyxHQUFHLENBQUNILEtBQUssQ0FBQ0UsU0FBUyxFQUFFRCxPQUFPO0lBRTNDLE1BQU0sQ0FBQ0UsTUFBTTtBQUNmLENBQUMifQ==
|
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.52",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/yapp",
|
|
7
7
|
"description": "Yet Another Pretty Printer.",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"occam-dom": "^3.0.74",
|
|
18
18
|
"occam-grammar-utilities": "^5.0.80",
|
|
19
19
|
"occam-lexers": "^15.0.1",
|
|
20
|
-
"occam-parsers": "^14.1.
|
|
20
|
+
"occam-parsers": "^14.1.1"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@swc/core": "^1.2.106",
|
package/src/parser/yapp.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { eliminateLeftRecursion } from "occam-grammar-utilities";
|
|
5
|
-
import { BNFParser, CommonParser } from "occam-parsers";
|
|
3
|
+
import { CommonParser } from "occam-parsers";
|
|
6
4
|
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
const bnfLexer = BNFLexer.fromNothing(),
|
|
10
|
-
bnfParser = BNFParser.fromNothing();
|
|
5
|
+
import { rulesFromBNF, parserFromRules } from "../utilities/parser";
|
|
11
6
|
|
|
12
7
|
export default class YappParser extends CommonParser {
|
|
13
8
|
static fromNothing(Class) {
|
|
@@ -31,22 +26,3 @@ export default class YappParser extends CommonParser {
|
|
|
31
26
|
return parser;
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
|
-
|
|
35
|
-
function rulesFromBNF(bnf) {
|
|
36
|
-
const tokens = bnfLexer.tokensFromBNF(bnf),
|
|
37
|
-
rules = bnfParser.rulesFromTokens(tokens);
|
|
38
|
-
|
|
39
|
-
return rules;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function parserFromRules(Class, rules) {
|
|
43
|
-
const ruleMap = ruleMapFromRules(rules);
|
|
44
|
-
|
|
45
|
-
let startRule = startRuleFromRules(rules);
|
|
46
|
-
|
|
47
|
-
startRule = eliminateLeftRecursion(startRule, ruleMap);
|
|
48
|
-
|
|
49
|
-
const parser = new Class(startRule, ruleMap);
|
|
50
|
-
|
|
51
|
-
return parser;
|
|
52
|
-
}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
const bnfLexer = BNFLexer.fromNothing(),
|
|
10
|
+
bnfParser = BNFParser.fromNothing();
|
|
11
|
+
|
|
12
|
+
export function rulesFromBNF(bnf) {
|
|
13
|
+
const tokens = bnfLexer.tokensFromBNF(bnf),
|
|
14
|
+
rules = bnfParser.rulesFromTokens(tokens);
|
|
15
|
+
|
|
16
|
+
return rules;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function parserFromRules(Class, rules) {
|
|
20
|
+
const ruleMap = ruleMapFromRules(rules);
|
|
21
|
+
|
|
22
|
+
let startRule = startRuleFromRules(rules);
|
|
23
|
+
|
|
24
|
+
startRule = eliminateLeftRecursion(startRule, ruleMap);
|
|
25
|
+
|
|
26
|
+
const parser = new Class(startRule, ruleMap);
|
|
27
|
+
|
|
28
|
+
return parser;
|
|
29
|
+
}
|