occam-verify-cli 1.0.180 → 1.0.184

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.
Files changed (113) hide show
  1. package/lib/context/release.js +4 -2
  2. package/lib/defaultTerminalNode.js +20 -0
  3. package/lib/node/assertion/contained.js +4 -4
  4. package/lib/node/assertion/defined.js +4 -4
  5. package/lib/node/assertion/property.js +4 -4
  6. package/lib/node/assertion/satisfies.js +4 -4
  7. package/lib/node/assertion/subproof.js +4 -4
  8. package/lib/node/assertion/type.js +4 -4
  9. package/lib/node/axiom.js +4 -4
  10. package/lib/node/combinator.js +4 -4
  11. package/lib/node/conclusion.js +4 -4
  12. package/lib/node/conjecture.js +4 -4
  13. package/lib/node/constructor.js +4 -4
  14. package/lib/node/declaration/combinator.js +4 -4
  15. package/lib/node/declaration/complexType.js +4 -4
  16. package/lib/node/declaration/constructor.js +4 -4
  17. package/lib/node/declaration/metavariable.js +4 -4
  18. package/lib/node/declaration/property.js +4 -4
  19. package/lib/node/declaration/type.js +4 -4
  20. package/lib/node/declaration/variable.js +4 -4
  21. package/lib/node/declaration.js +4 -4
  22. package/lib/node/deduction.js +4 -4
  23. package/lib/node/derivation.js +4 -4
  24. package/lib/node/equality.js +4 -4
  25. package/lib/node/error.js +4 -4
  26. package/lib/node/frame.js +4 -4
  27. package/lib/node/judgement.js +4 -4
  28. package/lib/node/label.js +4 -4
  29. package/lib/node/lemma.js +4 -4
  30. package/lib/node/metaLemma.js +4 -4
  31. package/lib/node/metaType.js +4 -4
  32. package/lib/node/metatheorem.js +4 -4
  33. package/lib/node/metavariable.js +4 -4
  34. package/lib/node/parameter.js +4 -4
  35. package/lib/node/premise.js +4 -4
  36. package/lib/node/procedureCall.js +4 -4
  37. package/lib/node/proof.js +4 -4
  38. package/lib/node/property.js +4 -4
  39. package/lib/node/propertyRelation.js +4 -4
  40. package/lib/node/reference.js +4 -4
  41. package/lib/node/rule.js +4 -4
  42. package/lib/node/statement.js +4 -4
  43. package/lib/node/step.js +4 -4
  44. package/lib/node/subDerivation.js +4 -4
  45. package/lib/node/subproof.js +4 -4
  46. package/lib/node/supposition.js +4 -4
  47. package/lib/node/term.js +4 -4
  48. package/lib/node/theorem.js +4 -4
  49. package/lib/node/topLevelAssertion.js +4 -4
  50. package/lib/node/topLevelMetaAssertion.js +4 -4
  51. package/lib/node/type.js +4 -4
  52. package/lib/node/variable.js +4 -4
  53. package/lib/node.js +6 -39
  54. package/lib/nominal/lexer.js +80 -0
  55. package/lib/nominal/parser.js +102 -0
  56. package/lib/utilities/nominal.js +10 -3
  57. package/package.json +8 -6
  58. package/src/context/release.js +4 -2
  59. package/src/defaultTerminalNode.js +7 -0
  60. package/src/node/assertion/contained.js +1 -1
  61. package/src/node/assertion/defined.js +1 -1
  62. package/src/node/assertion/property.js +1 -1
  63. package/src/node/assertion/satisfies.js +1 -1
  64. package/src/node/assertion/subproof.js +1 -1
  65. package/src/node/assertion/type.js +1 -1
  66. package/src/node/axiom.js +1 -1
  67. package/src/node/combinator.js +1 -1
  68. package/src/node/conclusion.js +1 -1
  69. package/src/node/conjecture.js +1 -1
  70. package/src/node/constructor.js +1 -1
  71. package/src/node/declaration/combinator.js +1 -1
  72. package/src/node/declaration/complexType.js +1 -1
  73. package/src/node/declaration/constructor.js +1 -1
  74. package/src/node/declaration/metavariable.js +1 -1
  75. package/src/node/declaration/property.js +1 -1
  76. package/src/node/declaration/type.js +1 -1
  77. package/src/node/declaration/variable.js +1 -1
  78. package/src/node/declaration.js +1 -1
  79. package/src/node/deduction.js +1 -1
  80. package/src/node/derivation.js +1 -1
  81. package/src/node/equality.js +1 -1
  82. package/src/node/error.js +1 -1
  83. package/src/node/frame.js +1 -1
  84. package/src/node/judgement.js +1 -1
  85. package/src/node/label.js +1 -1
  86. package/src/node/lemma.js +1 -1
  87. package/src/node/metaLemma.js +1 -1
  88. package/src/node/metaType.js +1 -1
  89. package/src/node/metatheorem.js +1 -1
  90. package/src/node/metavariable.js +1 -1
  91. package/src/node/parameter.js +1 -1
  92. package/src/node/premise.js +1 -1
  93. package/src/node/procedureCall.js +1 -1
  94. package/src/node/proof.js +1 -1
  95. package/src/node/property.js +1 -1
  96. package/src/node/propertyRelation.js +1 -1
  97. package/src/node/reference.js +1 -1
  98. package/src/node/rule.js +1 -1
  99. package/src/node/statement.js +1 -1
  100. package/src/node/step.js +1 -1
  101. package/src/node/subDerivation.js +1 -1
  102. package/src/node/subproof.js +1 -1
  103. package/src/node/supposition.js +1 -1
  104. package/src/node/term.js +1 -1
  105. package/src/node/theorem.js +1 -1
  106. package/src/node/topLevelAssertion.js +1 -1
  107. package/src/node/topLevelMetaAssertion.js +1 -1
  108. package/src/node/type.js +1 -1
  109. package/src/node/variable.js +1 -1
  110. package/src/node.js +5 -3
  111. package/src/nominal/lexer.js +5 -0
  112. package/src/nominal/parser.js +12 -0
  113. package/src/utilities/nominal.js +5 -2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.180",
4
+ "version": "1.0.184",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,12 +12,14 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.32",
14
14
  "necessary": "^14.3.2",
15
- "occam-custom-grammars": "^5.0.1207",
16
- "occam-entities": "^1.0.359",
17
- "occam-furtle": "^2.0.160",
15
+ "occam-custom-grammars": "^5.0.1209",
16
+ "occam-entities": "^1.0.361",
17
+ "occam-file-system": "^6.0.379",
18
+ "occam-furtle": "^2.0.163",
19
+ "occam-grammars": "^1.3.285",
18
20
  "occam-lexers": "^23.0.47",
19
- "occam-parsers": "^23.0.154",
20
- "occam-query": "^4.1.102"
21
+ "occam-parsers": "^23.0.157",
22
+ "occam-query": "^4.1.104"
21
23
  },
22
24
  "devDependencies": {
23
25
  "@swc/core": "^1.5.6",
@@ -7,6 +7,8 @@ import { filePathUtilities } from "occam-entities";
7
7
  import { lexersUtilities, parsersUtilities } from "occam-custom-grammars";
8
8
 
9
9
  import FileContext from "../context/file";
10
+ import NominalLexer from "../nominal/lexer";
11
+ import NominalParser from "../nominal/parser";
10
12
 
11
13
  import { objectType } from "../dom/type";
12
14
  import { frameMetaType, referenceMetaType, statementMetaType } from "../dom/metaType";
@@ -424,8 +426,8 @@ export default class ReleaseContext {
424
426
 
425
427
  initialise(releaseContexts) {
426
428
  const combinedCustomGrammar = combinedCustomGrammarFromReleaseContexts(releaseContexts),
427
- nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar),
428
- nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar),
429
+ nominalLexer = nominalLexerFromCombinedCustomGrammar(NominalLexer, combinedCustomGrammar),
430
+ nominalParser = nominalParserFromCombinedCustomGrammar(NominalParser, combinedCustomGrammar),
429
431
  releaseContext = this, ///
430
432
  released = this.isReleased();
431
433
 
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import Node from "./Node";
4
+
5
+ const defaultNonTerminalNode = Node; ///
6
+
7
+ export default defaultNonTerminalNode;
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class ContainedAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ContainedAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ContainedAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class DefinedAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(DefinedAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(DefinedAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class PropertyAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(PropertyAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(PropertyAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class SatisfiesAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(SatisfiesAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(SatisfiesAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class SubproofAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(SubproofAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(SubproofAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class TypeAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TypeAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TypeAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/axiom.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class AxiomNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(AxiomNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(AxiomNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class CombinatorNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(CombinatorNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(CombinatorNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ConclusionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ConclusionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ConclusionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ConjectureNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ConjectureNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ConjectureNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ConstructorNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ConstructorNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -13,5 +13,5 @@ export default class ContainedDeclarationNode extends Node {
13
13
  return statementNode;
14
14
  }
15
15
 
16
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ContainedDeclarationNode, ruleName, childNodes, opacity); }
16
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ContainedDeclarationNode, ruleName, childNodes, opacity, precedence); }
17
17
  }
@@ -73,5 +73,5 @@ export default class ComplexTypeDeclarationNode extends Node {
73
73
  return propertyDeclarationNodes;
74
74
  }
75
75
 
76
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ComplexTypeDeclarationNode, ruleName, childNodes, opacity); }
76
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ComplexTypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
77
77
  }
@@ -47,5 +47,5 @@ export default class ConstructorDeclarationNode extends Node {
47
47
  return provisional;
48
48
  }
49
49
 
50
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ConstructorDeclarationNode, ruleName, childNodes, opacity); }
50
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ConstructorDeclarationNode, ruleName, childNodes, opacity, precedence); }
51
51
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../../node";
4
4
 
5
5
  export default class MetavariableDeclarationNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(MetavariableDeclarationNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(MetavariableDeclarationNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -32,5 +32,5 @@ export default class PropertyDeclarationNode extends Node {
32
32
  return propertyNames;
33
33
  }
34
34
 
35
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(PropertyDeclarationNode, ruleName, childNodes, opacity); }
35
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(PropertyDeclarationNode, ruleName, childNodes, opacity, precedence); }
36
36
  }
@@ -57,6 +57,6 @@ export default class TypeDeclarationNode extends Node {
57
57
  return superTypeNodes;
58
58
  }
59
59
 
60
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TypeDeclarationNode, ruleName, childNodes, opacity); }
60
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
61
61
  }
62
62
 
@@ -67,5 +67,5 @@ export default class VariableDeclarationNode extends Node {
67
67
  return variableName;
68
68
  }
69
69
 
70
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(VariableDeclarationNode, ruleName, childNodes, opacity); }
70
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(VariableDeclarationNode, ruleName, childNodes, opacity, precedence); }
71
71
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class DeclarationNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(DeclarationNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(DeclarationNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class DeductionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(DeductionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(DeductionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class DerivationNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(DerivationNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(DerivationNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class EqualityNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(EqualityNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(EqualityNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/error.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ErrorNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ErrorNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ErrorNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/frame.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class FrameNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(FrameNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(FrameNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class JudgementNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(JudgementNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(JudgementNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/label.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class LabelNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(LabelNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(LabelNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/lemma.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class LemmaNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(LemmaNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(LemmaNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class MetaLemmaNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(MetaLemmaNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -15,5 +15,5 @@ export default class MetaTypeNode extends Node {
15
15
  return metaTypeName;
16
16
  }
17
17
 
18
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(MetaTypeNode, ruleName, childNodes, opacity); }
18
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(MetaTypeNode, ruleName, childNodes, opacity, precedence); }
19
19
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class MetatheoremNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(MetatheoremNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -15,5 +15,5 @@ export default class MetavariableNode extends Node {
15
15
  return metavariableName;
16
16
  }
17
17
 
18
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(MetavariableNode, ruleName, childNodes, opacity); }
18
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(MetavariableNode, ruleName, childNodes, opacity, precedence); }
19
19
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ParameterNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ParameterNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ParameterNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class PremiseNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(PremiseNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(PremiseNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ProcedureCallNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ProcedureCallNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ProcedureCallNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/proof.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ProofNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ProofNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ProofNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -18,5 +18,5 @@ export default class PropertyNode extends Node {
18
18
  return propertyName;
19
19
  }
20
20
 
21
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(PropertyNode, ruleName, childNodes, opacity); }
21
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(PropertyNode, ruleName, childNodes, opacity, precedence); }
22
22
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class PropertyRelationNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(PropertyRelationNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(PropertyRelationNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class ReferenceNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(ReferenceNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(ReferenceNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/rule.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class RuleNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(RuleNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(RuleNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class StatementNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(StatementNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(StatementNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/step.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class StepNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(StepNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(StepNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class SubDerivationNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(SubDerivationNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(SubDerivationNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class SubproofNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(SubproofNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(SubproofNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class SuppositionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(SuppositionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(SuppositionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/term.js CHANGED
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class TermNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TermNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TermNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class TheoremNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TheoremNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TheoremNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class TopLevelAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TopLevelAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TopLevelAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -3,5 +3,5 @@
3
3
  import Node from "../node";
4
4
 
5
5
  export default class TopLevelMetaAssertionNode extends Node {
6
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TopLevelMetaAssertionNode, ruleName, childNodes, opacity); }
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TopLevelMetaAssertionNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
package/src/node/type.js CHANGED
@@ -15,5 +15,5 @@ export default class TypeNode extends Node {
15
15
  return typeName;
16
16
  }
17
17
 
18
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(TypeNode, ruleName, childNodes, opacity); }
18
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(TypeNode, ruleName, childNodes, opacity, precedence); }
19
19
  }
@@ -15,5 +15,5 @@ export default class VariableNode extends Node {
15
15
  return variableName;
16
16
  }
17
17
 
18
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return Node.fromRuleNameChildNodesAndOpacity(VariableNode, ruleName, childNodes, opacity); }
18
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return Node.fromRuleNameChildNodesOpacityAndPrecedence(VariableNode, ruleName, childNodes, opacity, precedence); }
19
19
  }
package/src/node.js CHANGED
@@ -5,8 +5,10 @@ import { NonTerminalNode } from "occam-parsers";
5
5
  import nodeMixins from "./mixins/node";
6
6
 
7
7
  class Node extends NonTerminalNode {
8
- static fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity, ...remainingArguments) {
9
- if (opacity === undefined) {
8
+ static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
9
+ if (precedence === undefined) {
10
+ precedence = opacity; ///
11
+
10
12
  opacity = childNodes; ///
11
13
 
12
14
  childNodes = ruleName; ///
@@ -16,7 +18,7 @@ class Node extends NonTerminalNode {
16
18
  Class = Node; ///
17
19
  }
18
20
 
19
- const node = NonTerminalNode.fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity, ...remainingArguments);
21
+ const node = NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
20
22
 
21
23
  return node;
22
24
  }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { NominalLexer as NominalLexerBase } from "occam-grammars";
4
+
5
+ export default class NominalLexer extends NominalLexerBase {}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { NominalParser as NominalParserBase } from "occam-grammars";
4
+
5
+ import NonTerminalNodeMap from "../nonTerminalNodeMap";
6
+ import defaultNonTerminalNode from "../defaultTerminalNode";
7
+
8
+ export default class NominalParser extends NominalParserBase {
9
+ static NonTerminalNodeMap = NonTerminalNodeMap;
10
+
11
+ static defaultNonTerminalNode = defaultNonTerminalNode;
12
+ }
@@ -2,6 +2,9 @@
2
2
 
3
3
  import { lexersUtilities, parsersUtilities } from "occam-custom-grammars";
4
4
 
5
+ import NominalLexer from "../nominal/lexer";
6
+ import NominalParser from "../nominal/parser";
7
+
5
8
  import { combinedCustomGrammarFromNothing } from "./customGrammar";
6
9
 
7
10
  const { nominalLexerFromCombinedCustomGrammar } = lexersUtilities,
@@ -9,6 +12,6 @@ const { nominalLexerFromCombinedCustomGrammar } = lexersUtilities,
9
12
 
10
13
  const combinedCustomGrammar = combinedCustomGrammarFromNothing();
11
14
 
12
- export const nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar);
15
+ export const nominalLexer = nominalLexerFromCombinedCustomGrammar(NominalLexer, combinedCustomGrammar);
13
16
 
14
- export const nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
17
+ export const nominalParser = nominalParserFromCombinedCustomGrammar(NominalParser, combinedCustomGrammar);