occam-verify-cli 0.0.518 → 0.0.520

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/src/type.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { TYPE_KIND } from "./kinds";
4
+ import { OBJECT_TYPE_NAME } from "./typeNames";
4
5
 
5
6
  export default class Type {
6
7
  constructor(name, superType) {
@@ -95,7 +96,7 @@ export default class Type {
95
96
  return matchesTypeName;
96
97
  }
97
98
 
98
- asString(noSuperType = (this.superType === null)) {
99
+ asString(noSuperType) {
99
100
  let string;
100
101
 
101
102
  if (noSuperType) {
@@ -110,9 +111,7 @@ export default class Type {
110
111
  }
111
112
 
112
113
  toJSON() {
113
- const superTypeJSON = (this.superType === null) ?
114
- null :
115
- this.superType.toJSON(),
114
+ const superTypeJSON = this.superType.toJSON(),
116
115
  kind = TYPE_KIND,
117
116
  name = this.name,
118
117
  superType = superTypeJSON, ///
@@ -126,30 +125,24 @@ export default class Type {
126
125
  }
127
126
 
128
127
  static fromJSON(json, releaseContext) {
129
- const { name } = json;
128
+ let type;
130
129
 
131
130
  let { superType } = json;
132
131
 
133
- if (superType !== null) {
134
- const superTypeJSON = superType; ///
135
-
136
- json = superTypeJSON; ///
132
+ const superTypeJSON = superType; ///
137
133
 
138
- superType = Type.fromJSON(json, releaseContext);
134
+ superType = superTypeFromSuperTypeJSON(superTypeJSON, releaseContext);
139
135
 
140
- const superTypeName = superType.getName();
141
-
142
- superType = releaseContext.findTypeByTypeName(superTypeName); ///
143
- }
136
+ const { name } = json;
144
137
 
145
- const type = new Type(name, superType);
138
+ type = new Type(name, superType);
146
139
 
147
140
  return type;
148
141
  }
149
142
 
150
143
  static fromTypeName(typeName) {
151
144
  const name = typeName, ///
152
- superType = null,
145
+ superType = objectType, ///
153
146
  type = new Type(name, superType);
154
147
 
155
148
  return type;
@@ -162,3 +155,25 @@ export default class Type {
162
155
  return type;
163
156
  }
164
157
  }
158
+
159
+ class ObjectType extends Type {
160
+ static fromNothing() {
161
+ const name = OBJECT_TYPE_NAME,
162
+ superType = null,
163
+ objectType = new ObjectType(name, superType);
164
+
165
+ return objectType;
166
+ }
167
+ }
168
+
169
+ export const objectType = ObjectType.fromNothing();
170
+
171
+ function superTypeFromSuperTypeJSON(superTypeJSON, releaseContext) {
172
+ const json = superTypeJSON, ///
173
+ { name } = json,
174
+ superType = (name === OBJECT_TYPE_NAME) ?
175
+ objectType :
176
+ Type.fromJSON(json, releaseContext);
177
+
178
+ return superType;
179
+ }
package/src/typeNames.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
 
3
- export
3
+ export const OBJECT_TYPE_NAME = "Object";
@@ -70,12 +70,13 @@ function verifyVariableTypeAssertion(typeAssertionNode, assertions, proofContext
70
70
  variable = firstVariable, ///
71
71
  variableName = variable.getName(),
72
72
  variableType = variable.getType(),
73
- assertedTypeEqualToOrSubTypeOfVariableType = (variableType === null) ?
74
- true : ///
75
- assertedType.isEqualToOrSubTypeOf(variableType);
73
+ assertedTypeEqualToOrSubTypeOfVariableType = assertedType.isEqualToOrSubTypeOf(variableType);
76
74
 
77
75
  if (!assertedTypeEqualToOrSubTypeOfVariableType) {
78
- proofContext.error(`The asserted type is not equal to or a sub-type of the '${variableName}' variable type.`);
76
+ const assertedTypeName = assertedType.getName(),
77
+ variableTypeName = variableType.getName();
78
+
79
+ proofContext.error(`The '${assertedTypeName}' asserted type is not equal to or a sub-type of the '${variableName}' variable's '${variableTypeName}' type.`);
79
80
  } else {
80
81
  const type = assertedType, ///
81
82
  typeAssertion = TypeAssertion.fromTypeAndVariableName(type, variableName),
@@ -115,7 +116,10 @@ function verifyTermTypeAssertion(typeAssertionNode, assertions, proofContext) {
115
116
  assertedType.isEqualTo(termType);
116
117
 
117
118
  if (!assertedTypeEqualToTermType) {
118
- proofContext.error(`The asserted type is not equal to the '${termString}' term type.`);
119
+ const termTypeName = termType.getName(),
120
+ assertedTypeName = assertedType.getName();
121
+
122
+ proofContext.error(`The '${assertedTypeName}' asserted type is not equal to the '${termString}' term's '${termTypeName}' type.`);
119
123
  } else {
120
124
  const type = assertedType, ///
121
125
  typeAssertion = TypeAssertion.fromTypeAndTermNode(type, termNode),
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import verifyTerm from "../verify/term";
4
+ import EqualityAssertion from "../assertion/equality";
5
+ import equalityCombinator from "../ocmbinator/equality";
6
+ import bracketedCombinator from "../ocmbinator/bracketed";
4
7
  import verifyTypeAssertion from "../verify/assertion/type";
5
8
 
6
9
  import { first } from "../utilities/array";
10
+ import { objectType } from "../type";
7
11
  import { nodeAsString } from "../utilities/string";
12
+ import { OBJECT_TYPE_NAME } from "../typeNames";
8
13
  import { STATEMENT_META_TYPE } from "../metaTypes";
9
14
  import { nodeQuery, typeNameFromTypeNode } from "../utilities/query";
10
15
  import { ARGUMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../ruleNames";
11
- import bracketedCombinator from "../ocmbinator/bracketed";
12
16
 
13
17
  const termNodeQuery = nodeQuery("/argument/term!"),
14
18
  typeNodeQuery = nodeQuery("/argument/type!"),
@@ -21,15 +25,20 @@ export default function verifyStatement(statementNode, assertions, proofContext)
21
25
 
22
26
  proofContext.begin(statementNode);
23
27
 
24
- const typeAssertionNode = typeAssertionNodeQuery(statementNode);
28
+ if (!statementVerified) {
29
+ const statementVerifiedAsEquality = verifyStatementAsEquality(statementNode, assertions, proofContext);
25
30
 
26
- if (typeAssertionNode !== null) {
27
- const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assertions, proofContext);
31
+ statementVerified = statementVerifiedAsEquality; //
32
+ }
28
33
 
29
- statementVerified = typeAssertionVerified; ///
30
- } else {
31
- const context = proofContext, ///
32
- statementVerifiedAgainstCombinators = verifyStatementAgainstCombinators(statementNode, context);
34
+ if (!statementVerified) {
35
+ const statementVerifiedAsTypeAssertion = verifyStatementAsTypeAssertion(statementNode, assertions, proofContext);
36
+
37
+ statementVerified = statementVerifiedAsTypeAssertion; ///
38
+ }
39
+
40
+ if (!statementVerified) {
41
+ const statementVerifiedAgainstCombinators = verifyStatementAgainstCombinators(statementNode, proofContext);
33
42
 
34
43
  statementVerified = statementVerifiedAgainstCombinators; ///
35
44
  }
@@ -41,17 +50,50 @@ export default function verifyStatement(statementNode, assertions, proofContext)
41
50
  return statementVerified;
42
51
  }
43
52
 
44
- function verifyStatementAgainstCombinators(statementNode, context) {
45
- let statementVerifiedAgainstCombinators = false;
53
+ function verifyStatementAsEquality(statementNode, assertions, proofContext) {
54
+ let statementVerifiedAsEquality = false;
55
+
56
+ const combinator = equalityCombinator, ///
57
+ statementVerifiedAgainstCombinator = verifyStatementAgainstCombinator(statementNode, combinator, proofContext);
58
+
59
+ if (statementVerifiedAgainstCombinator) {
60
+ const equalityAssertion = EqualityAssertion.fromStatementNode(statementNode),
61
+ assertion = equalityAssertion; ///
62
+
63
+ assertions.push(assertion);
64
+
65
+ statementVerifiedAsEquality = true;
66
+ }
67
+
68
+ return statementVerifiedAsEquality;
69
+ }
70
+
71
+ function verifyStatementAsTypeAssertion(statementNode, assertions, proofContext) {
72
+ let statementVerifiedAsTypeAssertion = false;
46
73
 
47
- context.begin(statementNode);
74
+ const typeAssertionNode = typeAssertionNodeQuery(statementNode);
48
75
 
49
- const combinators = context.getCombinators();
76
+ if (typeAssertionNode !== null) {
77
+ const typeAssertionVerified = verifyTypeAssertion(typeAssertionNode, assertions, proofContext);
50
78
 
51
- combinators.unshift(bracketedCombinator);
79
+ statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
80
+ }
81
+
82
+ return statementVerifiedAsTypeAssertion;
83
+ }
84
+
85
+ function verifyStatementAgainstCombinators(statementNode, proofContext) {
86
+ let statementVerifiedAgainstCombinators = false;
87
+
88
+ let combinators = proofContext.getCombinators();
89
+
90
+ combinators = [ ///
91
+ bracketedCombinator,
92
+ ...combinators
93
+ ];
52
94
 
53
95
  const combinator = combinators.find((combinator) => {
54
- const statementVerifiedAgainstCombinator = verifyStatementAgainstCombinator(statementNode, combinator, context);
96
+ const statementVerifiedAgainstCombinator = verifyStatementAgainstCombinator(statementNode, combinator, proofContext);
55
97
 
56
98
  if (statementVerifiedAgainstCombinator) {
57
99
  return true;
@@ -62,24 +104,20 @@ function verifyStatementAgainstCombinators(statementNode, context) {
62
104
  statementVerifiedAgainstCombinators = true;
63
105
  }
64
106
 
65
- statementVerifiedAgainstCombinators ?
66
- context.complete(statementNode) :
67
- context.halt(statementNode);
68
-
69
107
  return statementVerifiedAgainstCombinators;
70
108
  }
71
109
 
72
- function verifyStatementAgainstCombinator(statementNode, combinator, context) {
110
+ function verifyStatementAgainstCombinator(statementNode, combinator, proofContext) {
73
111
  const combinatorStatementNode = combinator.getStatementNode(),
74
112
  node = statementNode, ///
75
113
  combinatorNode = combinatorStatementNode, ///
76
- nodeVerified = verifyNode(node, combinatorNode, context),
114
+ nodeVerified = verifyNode(node, combinatorNode, proofContext),
77
115
  statementVerifiedAgainstCombinator = nodeVerified; ///
78
116
 
79
117
  return statementVerifiedAgainstCombinator;
80
118
  }
81
119
 
82
- function verifyNode(node, combinatorNode, context) {
120
+ function verifyNode(node, combinatorNode, proofContext) {
83
121
  let nodeVerified;
84
122
 
85
123
  const nodeTerminalNode = node.isTerminalNode(),
@@ -89,13 +127,13 @@ function verifyNode(node, combinatorNode, context) {
89
127
  if (nodeTerminalNode) {
90
128
  const terminalNode = node, ///
91
129
  combinatorTerminalNode = combinatorNode, ///
92
- terminalNodeVerified = verifyTerminalNode(terminalNode, combinatorTerminalNode, context);
130
+ terminalNodeVerified = verifyTerminalNode(terminalNode, combinatorTerminalNode, proofContext);
93
131
 
94
132
  nodeVerified = terminalNodeVerified; ///
95
133
  } else {
96
134
  const nonTerminalNode = node, ///
97
135
  combinatorNonTerminalNode = combinatorNode, ///
98
- nonTerminalNodeVerified = verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context);
136
+ nonTerminalNodeVerified = verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, proofContext);
99
137
 
100
138
  nodeVerified = nonTerminalNodeVerified; ///
101
139
  }
@@ -104,7 +142,7 @@ function verifyNode(node, combinatorNode, context) {
104
142
  return nodeVerified;
105
143
  }
106
144
 
107
- function verifyNodes(nodes, combinatorNodes, context) {
145
+ function verifyNodes(nodes, combinatorNodes, proofContext) {
108
146
  let nodesVerified = false;
109
147
 
110
148
  const nodesLength = nodes.length,
@@ -113,7 +151,7 @@ function verifyNodes(nodes, combinatorNodes, context) {
113
151
  if (nodesLength === combinatorNodesLength) {
114
152
  nodesVerified = nodes.every((node, index) => {
115
153
  const combinatorNode = combinatorNodes[index],
116
- nodeVerified = verifyNode(node, combinatorNode, context);
154
+ nodeVerified = verifyNode(node, combinatorNode, proofContext);
117
155
 
118
156
  if (nodeVerified) {
119
157
  return true;
@@ -124,7 +162,7 @@ function verifyNodes(nodes, combinatorNodes, context) {
124
162
  return nodesVerified;
125
163
  }
126
164
 
127
- function verifyTerminalNode(terminalNode, combinatorTerminalNode, context) {
165
+ function verifyTerminalNode(terminalNode, combinatorTerminalNode, proofContext) {
128
166
  let terminalNodeVerified = false;
129
167
 
130
168
  const matches = terminalNode.match(combinatorTerminalNode);
@@ -136,7 +174,7 @@ function verifyTerminalNode(terminalNode, combinatorTerminalNode, context) {
136
174
  return terminalNodeVerified;
137
175
  }
138
176
 
139
- function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, context) {
177
+ function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, proofContext) {
140
178
  let nonTerminalNodeVerified = false;
141
179
 
142
180
  const ruleName = nonTerminalNode.getRuleName(), ///
@@ -147,7 +185,7 @@ function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, conte
147
185
  case ARGUMENT_RULE_NAME: {
148
186
  const argumentNode = nonTerminalNode, ///
149
187
  combinatorArgumentNode = combinatorNonTerminalNode, ///
150
- argumentNodeVerified = verifyArgumentNode(argumentNode, combinatorArgumentNode, context);
188
+ argumentNodeVerified = verifyArgumentNode(argumentNode, combinatorArgumentNode, proofContext);
151
189
 
152
190
  nonTerminalNodeVerified = argumentNodeVerified; ///
153
191
 
@@ -157,7 +195,7 @@ function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, conte
157
195
  case META_ARGUMENT_RULE_NAME: {
158
196
  const metaArgumentNode = nonTerminalNode, ///
159
197
  combinatorMetaargumentNode = combinatorNonTerminalNode, ///
160
- metaArgumentNodeVerified = verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context);
198
+ metaArgumentNodeVerified = verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, proofContext);
161
199
 
162
200
  nonTerminalNodeVerified = metaArgumentNodeVerified; ///
163
201
 
@@ -169,7 +207,7 @@ function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, conte
169
207
  combinatorChildNodes = combinatorNonTerminalNode.getChildNodes(),
170
208
  nodes = childNodes, ///
171
209
  combinatorNodes = combinatorChildNodes, ///
172
- nodesVerified = verifyNodes(nodes, combinatorNodes, context);
210
+ nodesVerified = verifyNodes(nodes, combinatorNodes, proofContext);
173
211
 
174
212
  nonTerminalNodeVerified = nodesVerified; ///
175
213
 
@@ -181,7 +219,7 @@ function verifyNonTerminalNode(nonTerminalNode, combinatorNonTerminalNode, conte
181
219
  return nonTerminalNodeVerified;
182
220
  }
183
221
 
184
- function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
222
+ function verifyArgumentNode(argumentNode, combinatorArgumentNode, proofContext) {
185
223
  let argumentNodeVerified = false;
186
224
 
187
225
  const termNode = termNodeQuery(argumentNode);
@@ -189,9 +227,10 @@ function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
189
227
  if (termNode === null) {
190
228
  const argumentString = nodeAsString(argumentNode);
191
229
 
192
- context.error(`The ${argumentString} argument should be a term, not a type`);
230
+ proofContext.error(`The ${argumentString} argument should be a term, not a type`);
193
231
  } else {
194
232
  const types = [],
233
+ context = proofContext, ///
195
234
  termVerified = verifyTerm(termNode, types, context);
196
235
 
197
236
  if (termVerified) {
@@ -199,7 +238,9 @@ function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
199
238
  termType = firstType, ///
200
239
  typeNode = typeNodeQuery(combinatorArgumentNode),
201
240
  typeName = typeNameFromTypeNode(typeNode),
202
- type = context.findTypeByTypeName(typeName),
241
+ type = (typeName === OBJECT_TYPE_NAME) ?
242
+ objectType : ///
243
+ proofContext.findTypeByTypeName(typeName),
203
244
  statementTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
204
245
 
205
246
  if (statementTypeEqualToOrSubTypeOfType) {
@@ -211,7 +252,7 @@ function verifyArgumentNode(argumentNode, combinatorArgumentNode, context) {
211
252
  return argumentNodeVerified;
212
253
  }
213
254
 
214
- function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context) {
255
+ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, proofContext) {
215
256
  let metaArgumentNodeVerified = false;
216
257
 
217
258
  const statementNode = statementNodeQuery(metaArgumentNode);
@@ -219,10 +260,10 @@ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, co
219
260
  if (statementNode === null) {
220
261
  const metaArgumentString = nodeAsString(metaArgumentNode);
221
262
 
222
- context.error(`The '${metaArgumentString}' meta-argument should be a statement, not a meta-type.`);
263
+ proofContext.error(`The '${metaArgumentString}' meta-argument should be a statement, not a meta-type.`);
223
264
  } else {
224
265
  const assertions = null,
225
- statementVerified = verifyStatement(statementNode, assertions, context);
266
+ statementVerified = verifyStatement(statementNode, assertions, proofContext);
226
267
 
227
268
  if (statementVerified) {
228
269
  const combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
@@ -238,7 +279,7 @@ function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, co
238
279
  if (!metaArgumentNodeVerified) {
239
280
  const combinatorMetaargumentString = nodeAsString(combinatorMetaargumentNode);
240
281
 
241
- context.error(`The '${combinatorMetaargumentString}' combinator meta-argument should be the 'Statement' meta-type.`);
282
+ proofContext.error(`The '${combinatorMetaargumentString}' combinator meta-argument should be the 'Statement' meta-type.`);
242
283
  }
243
284
  }
244
285
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { first } from "../utilities/array";
4
+ import { objectType } from "../type";
4
5
  import { nodeAsString } from "../utilities/string";
6
+ import { OBJECT_TYPE_NAME } from "../typeNames";
5
7
  import { ARGUMENT_RULE_NAME } from "../ruleNames";
6
8
  import { nodeQuery, typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities/query";
7
9
 
@@ -18,18 +20,22 @@ export default function verifyTerm(termNode, types, context) {
18
20
 
19
21
  context.debug(`Verifying the '${termString}' term...`);
20
22
 
21
- const variables = [],
22
- termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context);
23
+ if (!termVerified) {
24
+ const variables = [],
25
+ termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context);
23
26
 
24
- if (termVerifiedAsVariable) {
25
- const firstVariable = first(variables),
26
- variable = firstVariable, ///
27
- type = variable.getType();
27
+ if (termVerifiedAsVariable) {
28
+ const firstVariable = first(variables),
29
+ variable = firstVariable, ///
30
+ type = variable.getType();
28
31
 
29
- types.push(type);
32
+ types.push(type);
30
33
 
31
- termVerified = true;
32
- } else {
34
+ termVerified = true;
35
+ }
36
+ }
37
+
38
+ if (!termVerified) {
33
39
  const termVerifiedAgainstConstructors = verifyTermAgainstConstructors(termNode, types, context);
34
40
 
35
41
  if (termVerifiedAgainstConstructors) {
@@ -224,7 +230,9 @@ function verifyArgumentNode(argumentNode, constructorArgumentNode, context) {
224
230
  termType = firstType, ///
225
231
  typeNode = typeNodeQuery(constructorArgumentNode),
226
232
  typeName = typeNameFromTypeNode(typeNode),
227
- type = context.findTypeByTypeName(typeName),
233
+ type = (typeName === OBJECT_TYPE_NAME) ?
234
+ objectType : ///
235
+ context.findTypeByTypeName(typeName),
228
236
  termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
229
237
 
230
238
  if (termTypeEqualToOrSubTypeOfType) {
@@ -2,6 +2,7 @@
2
2
 
3
3
  import Variable from "../variable";
4
4
 
5
+ import { objectType } from "../type";
5
6
  import { nodeAsString } from "../utilities/string";
6
7
  import { typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities/query";
7
8
 
@@ -25,7 +26,7 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
25
26
  const typeName = typeNameFromTypeNode(typeNode);
26
27
 
27
28
  if (typeName === null) {
28
- const type = null,
29
+ const type = objectType,
29
30
  name = variableName; ///
30
31
 
31
32
  variable = Variable.fromTypeAndName(type, name);
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _occamGrammarUtilities = require("occam-grammar-utilities");
12
- var _occamCustomGrammars = require("occam-custom-grammars");
13
- var _customGrammar = require("../../utilities/customGrammar");
14
- function _classCallCheck(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _createClass(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- var florenceLexerFromCombinedCustomGrammar = _occamCustomGrammars.lexersUtilities.florenceLexerFromCombinedCustomGrammar, florenceParserFromCombinedCustomGrammar = _occamCustomGrammars.parsersUtilities.florenceParserFromCombinedCustomGrammar;
34
- var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), florenceLexer = florenceLexerFromCombinedCustomGrammar(combinedCustomGrammar), florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
35
- var BracketedCombinatorReleaseContext = /*#__PURE__*/ function() {
36
- function BracketedCombinatorReleaseContext() {
37
- _classCallCheck(this, BracketedCombinatorReleaseContext);
38
- }
39
- _createClass(BracketedCombinatorReleaseContext, [
40
- {
41
- key: "nodeFromContentAndRuleName",
42
- value: function nodeFromContentAndRuleName(content, ruleName) {
43
- var ruleMap = florenceParser.getRuleMap(), rule = ruleMap[ruleName], tokens = florenceLexer.tokenise(content), node = florenceParser.parse(tokens, rule);
44
- if (node !== null) {
45
- (0, _occamGrammarUtilities.rewriteNodes)(node);
46
- }
47
- return node;
48
- }
49
- }
50
- ], [
51
- {
52
- key: "fromNothing",
53
- value: function fromNothing() {
54
- var bracketedCombinatorReleaseContext = new BracketedCombinatorReleaseContext();
55
- return bracketedCombinatorReleaseContext;
56
- }
57
- }
58
- ]);
59
- return BracketedCombinatorReleaseContext;
60
- }();
61
- var bracketedCombinatorReleaseContext = BracketedCombinatorReleaseContext.fromNothing();
62
- var _default = bracketedCombinatorReleaseContext;
63
-
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvYnJhY2tldGVkQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmV3cml0ZU5vZGVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jdXN0b21HcmFtbWFyXCI7XG5cbmNvbnN0IHsgZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IGxleGVyc1V0aWxpdGllcyxcbiAgICAgIHsgZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5jb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZygpLFxuICAgICAgZmxvcmVuY2VMZXhlciA9IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICBmbG9yZW5jZVBhcnNlciA9IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG5jbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQge1xuICBub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSkge1xuICAgIGNvbnN0IHJ1bGVNYXAgPSBmbG9yZW5jZVBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgcnVsZSA9IHJ1bGVNYXBbcnVsZU5hbWVdLFxuICAgICAgICAgIHRva2VucyA9IGZsb3JlbmNlTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IGZsb3JlbmNlUGFyc2VyLnBhcnNlKHRva2VucywgcnVsZSk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgcmV3cml0ZU5vZGVzKG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGJyYWNrZXRlZENvbWJpbmF0b3JSZWxlYXNlQ29udGV4dCA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQoKTtcblxuICAgIHJldHVybiBicmFja2V0ZWRDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cblxuY29uc3QgYnJhY2tldGVkQ29tYmluYXRvclJlbGVhc2VDb250ZXh0ID0gQnJhY2tldGVkQ29tYmluYXRvclJlbGVhc2VDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGJyYWNrZXRlZENvbWJpbmF0b3JSZWxlYXNlQ29udGV4dDtcblxuIl0sIm5hbWVzIjpbImZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VMZXhlciIsImZsb3JlbmNlUGFyc2VyIiwiQnJhY2tldGVkQ29tYmluYXRvclJlbGVhc2VDb250ZXh0Iiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJjb250ZW50IiwicnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInJld3JpdGVOb2RlcyIsImZyb21Ob3RoaW5nIiwiYnJhY2tldGVkQ29tYmluYXRvclJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxQ0E7OztlQUFBOzs7cUNBbkM2QjttQ0FDcUI7NkJBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQU0sQUFBRUEseUNBQTJDQyxvQ0FBZSxDQUExREQsd0NBQ0YsQUFBRUUsMENBQTRDQyxxQ0FBZ0IsQ0FBNUREO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGdCQUFnQk4sdUNBQXVDSSx3QkFDdkRHLGlCQUFpQkwsd0NBQXdDRTtBQUUvRCxJQUFBLEFBQU1JLGtEQXFCSCxBQXJCSDthQUFNQTs4QkFBQUE7O2lCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQkMsT0FBTyxFQUFFQyxRQUFRLEVBQUU7Z0JBQzVDLElBQU1DLFVBQVVMLGVBQWVNLFVBQVUsSUFDbkNDLE9BQU9GLE9BQU8sQ0FBQ0QsU0FBUyxFQUN4QkksU0FBU1QsY0FBY1UsUUFBUSxDQUFDTixVQUNoQ08sT0FBT1YsZUFBZVcsS0FBSyxDQUFDSCxRQUFRRDtnQkFFMUMsSUFBSUcsU0FBUyxJQUFJLEVBQUU7b0JBQ2pCRSxJQUFBQSxtQ0FBWSxFQUFDRjtnQkFDZixDQUFDO2dCQUVELE9BQU9BO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTUMsb0NBQW9DLElBZnhDYjtnQkFpQkYsT0FBT2E7WUFDVDs7O1dBbEJJYjs7QUFxQk4sSUFBTWEsb0NBQW9DYixrQ0FBa0NZLFdBQVc7SUFFdkYsV0FBZUMifQ==
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import Type from "../type";
4
-
5
- export default class ObjectType extends Type {
6
- static fromNothing() {
7
-
8
- }
9
- }