occam-parsers 23.0.154 → 23.0.156
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 +93 -93
- package/lib/node/bnf/choiceOfParts.js +4 -4
- package/lib/node/bnf/definition.js +4 -4
- package/lib/node/bnf/definitions.js +4 -4
- package/lib/node/bnf/document.js +4 -4
- package/lib/node/bnf/endOfLine.js +4 -4
- package/lib/node/bnf/epsilon.js +4 -4
- package/lib/node/bnf/error.js +4 -4
- package/lib/node/bnf/name.js +4 -4
- package/lib/node/bnf/noWhitespacePart.js +4 -4
- package/lib/node/bnf/nonTerminalPart.js +4 -4
- package/lib/node/bnf/oneOneOrMoreQuantifier.js +4 -4
- package/lib/node/bnf/opacityModifier.js +4 -4
- package/lib/node/bnf/optionalQuantifier.js +4 -4
- package/lib/node/bnf/part.js +4 -4
- package/lib/node/bnf/partChoice.js +4 -4
- package/lib/node/bnf/precedence.js +4 -4
- package/lib/node/bnf/quantifier.js +4 -4
- package/lib/node/bnf/regularExpression.js +4 -4
- package/lib/node/bnf/rule.js +4 -4
- package/lib/node/bnf/ruleName.js +4 -4
- package/lib/node/bnf/sequenceOfParts.js +4 -4
- package/lib/node/bnf/significantTokenType.js +4 -4
- package/lib/node/bnf/startOfContentPart.js +4 -4
- package/lib/node/bnf/terminalPart.js +4 -4
- package/lib/node/bnf/terminalSymbol.js +4 -4
- package/lib/node/bnf/wildcard.js +4 -4
- package/lib/node/bnf/zeroOneOrMoreQuantifier.js +4 -4
- package/lib/node/nonTerminal.js +6 -6
- package/lib/rule.js +2 -2
- package/package.json +3 -3
- package/src/node/bnf/choiceOfParts.js +1 -1
- package/src/node/bnf/definition.js +1 -1
- package/src/node/bnf/definitions.js +1 -1
- package/src/node/bnf/document.js +1 -1
- package/src/node/bnf/endOfLine.js +1 -1
- package/src/node/bnf/epsilon.js +1 -1
- package/src/node/bnf/error.js +1 -1
- package/src/node/bnf/name.js +1 -1
- package/src/node/bnf/noWhitespacePart.js +1 -1
- package/src/node/bnf/nonTerminalPart.js +1 -1
- package/src/node/bnf/oneOneOrMoreQuantifier.js +1 -1
- package/src/node/bnf/opacityModifier.js +1 -1
- package/src/node/bnf/optionalQuantifier.js +1 -1
- package/src/node/bnf/part.js +1 -1
- package/src/node/bnf/partChoice.js +1 -1
- package/src/node/bnf/precedence.js +1 -1
- package/src/node/bnf/quantifier.js +1 -1
- package/src/node/bnf/regularExpression.js +1 -1
- package/src/node/bnf/rule.js +1 -1
- package/src/node/bnf/ruleName.js +1 -1
- package/src/node/bnf/sequenceOfParts.js +1 -1
- package/src/node/bnf/significantTokenType.js +1 -1
- package/src/node/bnf/startOfContentPart.js +1 -1
- package/src/node/bnf/terminalPart.js +1 -1
- package/src/node/bnf/terminalSymbol.js +1 -1
- package/src/node/bnf/wildcard.js +1 -1
- package/src/node/bnf/zeroOneOrMoreQuantifier.js +1 -1
- package/src/node/nonTerminal.js +1 -2
- package/src/rule.js +2 -1
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
import NonTerminalNode from "../../node/nonTerminal";
|
|
4
4
|
|
|
5
5
|
export default class QuantifierBNFNode extends NonTerminalNode {
|
|
6
|
-
static
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(QuantifierBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
7
7
|
}
|
|
@@ -30,6 +30,6 @@ export default class RegularExpressionBNFNode extends NonTerminalNode {
|
|
|
30
30
|
return regularExpression;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
static
|
|
33
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(RegularExpressionBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
34
34
|
}
|
|
35
35
|
|
package/src/node/bnf/rule.js
CHANGED
|
@@ -51,5 +51,5 @@ export default class RuleBNFNode extends NonTerminalNode {
|
|
|
51
51
|
return definitions;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
static
|
|
54
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(RuleBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
55
55
|
}
|
package/src/node/bnf/ruleName.js
CHANGED
|
@@ -19,5 +19,5 @@ export default class RuleNameBNFNode extends NonTerminalNode {
|
|
|
19
19
|
return ruleNamePart;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
static
|
|
22
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(RuleNameBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
23
23
|
}
|
|
@@ -25,5 +25,5 @@ export default class SequenceOfPartsBNFNode extends NonTerminalNode {
|
|
|
25
25
|
return part;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
static
|
|
28
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SequenceOfPartsBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
29
29
|
}
|
|
@@ -29,7 +29,7 @@ export default class SignificantTokenTypeBNFNode extends NonTerminalNode {
|
|
|
29
29
|
return significantTokenType;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
static
|
|
32
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SignificantTokenTypeBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
module.exports = SignificantTokenTypeBNFNode;
|
|
@@ -10,5 +10,5 @@ export default class StartOfContentPartBNFNode extends NonTerminalNode {
|
|
|
10
10
|
return startOfContentPart;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
static
|
|
13
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(StartOfContentPartBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
14
14
|
}
|
|
@@ -16,5 +16,5 @@ export default class TerminalPartBNFNode extends NonTerminalNode {
|
|
|
16
16
|
return part;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
static
|
|
19
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TerminalPartBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
20
20
|
}
|
|
@@ -35,7 +35,7 @@ export default class TerminalSymbolBNFNode extends NonTerminalNode {
|
|
|
35
35
|
return content;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
static
|
|
38
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TerminalSymbolBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function sanitiseContent(content) {
|
package/src/node/bnf/wildcard.js
CHANGED
|
@@ -10,5 +10,5 @@ export default class WildcardBNFNode extends NonTerminalNode {
|
|
|
10
10
|
return wildcardPart;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
static
|
|
13
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(WildcardBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
14
14
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
import NonTerminalNode from "../../node/nonTerminal";
|
|
4
4
|
|
|
5
5
|
export default class ZerorOrMoreQuantifierBNFNode extends NonTerminalNode {
|
|
6
|
-
static
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ZerorOrMoreQuantifierBNFNode, ruleName, childNodes, opacity, precedence); }
|
|
7
7
|
}
|
package/src/node/nonTerminal.js
CHANGED
|
@@ -268,7 +268,7 @@ export default class NonTerminalNode {
|
|
|
268
268
|
return nonTerminalNode;
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
-
static
|
|
271
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence, ...remainingArguments) {
|
|
272
272
|
if (opacity === undefined) {
|
|
273
273
|
opacity = childNodes; ///
|
|
274
274
|
|
|
@@ -280,7 +280,6 @@ export default class NonTerminalNode {
|
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
const parentNode = null,
|
|
283
|
-
precedence = null,
|
|
284
283
|
nonTerminalNode = new Class(ruleName, parentNode, childNodes, opacity, precedence, ...remainingArguments);
|
|
285
284
|
|
|
286
285
|
nonTerminalNode.setChildNodesParentNode();
|
package/src/rule.js
CHANGED
|
@@ -63,9 +63,10 @@ export default class Rule {
|
|
|
63
63
|
|
|
64
64
|
const opacity = this.opacity,
|
|
65
65
|
ruleName = this.name, ///
|
|
66
|
+
precedence = null,
|
|
66
67
|
childNodes = [],
|
|
67
68
|
NonTerminalNode = this.NonTerminalNodeFromRuleName(ruleName, state),
|
|
68
|
-
nonTerminalNode = NonTerminalNode.
|
|
69
|
+
nonTerminalNode = NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence),
|
|
69
70
|
savedPrecedence = state.getSavedPrecedence();
|
|
70
71
|
|
|
71
72
|
let node = nonTerminalNode; ///
|