ifc-expressions 0.2.3 → 0.3.0
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/dist/ExprVisitor.d.ts +5 -1
- package/dist/IfcExpression.d.ts +3 -2
- package/dist/cjs/ExprVisitor.js +36 -2
- package/dist/cjs/ExprVisitor.js.map +1 -1
- package/dist/cjs/IfcExpression.js +3 -5
- package/dist/cjs/IfcExpression.js.map +1 -1
- package/dist/cjs/context/IfcElementAccessor.js +2 -2
- package/dist/cjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/cjs/context/ObjectAccessor.js +9 -0
- package/dist/cjs/context/ObjectAccessor.js.map +1 -1
- package/dist/cjs/expression/Expr.js.map +1 -1
- package/dist/cjs/expression/Expr0.js +18 -2
- package/dist/cjs/expression/Expr0.js.map +1 -1
- package/dist/cjs/expression/Expr1.js +46 -2
- package/dist/cjs/expression/Expr1.js.map +1 -1
- package/dist/cjs/expression/Expr2.js +48 -2
- package/dist/cjs/expression/Expr2.js.map +1 -1
- package/dist/cjs/expression/Expr2LeftBeforeRight.js +45 -0
- package/dist/cjs/expression/Expr2LeftBeforeRight.js.map +1 -0
- package/dist/cjs/expression/ExprBase.js +20 -0
- package/dist/cjs/expression/ExprBase.js.map +1 -0
- package/dist/cjs/expression/ExprEvalResult.js +165 -0
- package/dist/cjs/expression/ExprEvalResult.js.map +1 -0
- package/dist/cjs/expression/ExprKind.js +24 -0
- package/dist/cjs/expression/ExprKind.js.map +1 -0
- package/dist/cjs/expression/LiteralExpr.js +25 -0
- package/dist/cjs/expression/LiteralExpr.js.map +1 -0
- package/dist/cjs/expression/LocalContextKeys.js +7 -0
- package/dist/cjs/expression/LocalContextKeys.js.map +1 -0
- package/dist/cjs/expression/function/Func.js +93 -0
- package/dist/cjs/expression/function/Func.js.map +1 -0
- package/dist/cjs/expression/function/FuncArg.js +33 -0
- package/dist/cjs/expression/function/FuncArg.js.map +1 -0
- package/dist/cjs/expression/function/FunctionExpr.js +33 -0
- package/dist/cjs/expression/function/FunctionExpr.js.map +1 -0
- package/dist/cjs/expression/function/IfcExpressionFunctionConfigException.js +10 -0
- package/dist/cjs/expression/function/IfcExpressionFunctionConfigException.js.map +1 -0
- package/dist/cjs/expression/function/IfcExpressionFunctions.js +26 -0
- package/dist/cjs/expression/function/IfcExpressionFunctions.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgBase.js +34 -0
- package/dist/cjs/expression/function/arg/FuncArgBase.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgInt.js +25 -0
- package/dist/cjs/expression/function/arg/FuncArgInt.js.map +1 -0
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js +22 -0
- package/dist/cjs/expression/function/arg/FuncArgNumeric.js.map +1 -0
- package/dist/cjs/expression/function/impl/MAP.js +77 -0
- package/dist/cjs/expression/function/impl/MAP.js.map +1 -0
- package/dist/cjs/expression/function/impl/ROUND.js +29 -0
- package/dist/cjs/expression/function/impl/ROUND.js.map +1 -0
- package/dist/cjs/expression/numeric/DivideExpr.js +8 -6
- package/dist/cjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MinusExpr.js +4 -6
- package/dist/cjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MultiplyExpr.js +4 -6
- package/dist/cjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/NumParenthesisExpr.js +4 -3
- package/dist/cjs/expression/numeric/NumParenthesisExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/NumericLiteralExpr.js +5 -4
- package/dist/cjs/expression/numeric/NumericLiteralExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/PlusExpr.js +4 -6
- package/dist/cjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js +19 -5
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js +3 -2
- package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js +19 -5
- package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js +33 -8
- package/dist/cjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js +3 -2
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/string/StringConcatExpr.js +4 -3
- package/dist/cjs/expression/string/StringConcatExpr.js.map +1 -1
- package/dist/cjs/expression/string/StringLiteralExpr.js +5 -4
- package/dist/cjs/expression/string/StringLiteralExpr.js.map +1 -1
- package/dist/cjs/expression/structure/ArrayExpr.js +26 -0
- package/dist/cjs/expression/structure/ArrayExpr.js.map +1 -0
- package/dist/cjs/gen/parser/IfcExpressionLexer.js +74 -72
- package/dist/cjs/gen/parser/IfcExpressionLexer.js.map +1 -1
- package/dist/cjs/gen/parser/IfcExpressionParser.js +148 -104
- package/dist/cjs/gen/parser/IfcExpressionParser.js.map +1 -1
- package/dist/cjs/value/ArrayValue.js +23 -0
- package/dist/cjs/value/ArrayValue.js.map +1 -0
- package/dist/cjs/value/BooleanValue.js +12 -3
- package/dist/cjs/value/BooleanValue.js.map +1 -1
- package/dist/cjs/value/LiteralValue.js.map +1 -1
- package/dist/cjs/value/LiteralValueAnyArity.js.map +1 -1
- package/dist/cjs/value/LogicalValue.js +14 -3
- package/dist/cjs/value/LogicalValue.js.map +1 -1
- package/dist/cjs/value/NumericValue.js +16 -7
- package/dist/cjs/value/NumericValue.js.map +1 -1
- package/dist/cjs/value/ReferenceValue.js +12 -3
- package/dist/cjs/value/ReferenceValue.js.map +1 -1
- package/dist/cjs/value/StringValue.js +12 -3
- package/dist/cjs/value/StringValue.js.map +1 -1
- package/dist/cjs/value/Value.js +0 -10
- package/dist/cjs/value/Value.js.map +1 -1
- package/dist/context/ObjectAccessor.d.ts +1 -0
- package/dist/expression/Expr.d.ts +4 -1
- package/dist/expression/Expr0.d.ts +8 -4
- package/dist/expression/Expr1.d.ts +20 -5
- package/dist/expression/Expr2.d.ts +15 -6
- package/dist/expression/Expr2LeftBeforeRight.d.ts +14 -0
- package/dist/expression/ExprBase.d.ts +11 -0
- package/dist/expression/ExprEvalResult.d.ts +125 -0
- package/dist/expression/ExprKind.d.ts +19 -0
- package/dist/expression/LiteralExpr.d.ts +11 -0
- package/dist/expression/LocalContextKeys.d.ts +3 -0
- package/dist/expression/function/Func.d.ts +30 -0
- package/dist/expression/function/FuncArg.d.ts +18 -0
- package/dist/expression/function/FunctionExpr.d.ts +13 -0
- package/dist/expression/function/IfcExpressionFunctionConfigException.d.ts +3 -0
- package/dist/expression/function/IfcExpressionFunctions.d.ts +7 -0
- package/dist/expression/function/arg/FuncArgBase.d.ts +19 -0
- package/dist/expression/function/arg/FuncArgInt.d.ts +8 -0
- package/dist/expression/function/arg/FuncArgNumeric.d.ts +8 -0
- package/dist/expression/function/impl/MAP.d.ts +10 -0
- package/dist/expression/function/impl/ROUND.d.ts +9 -0
- package/dist/expression/numeric/DivideExpr.d.ts +4 -2
- package/dist/expression/numeric/MinusExpr.d.ts +3 -2
- package/dist/expression/numeric/MultiplyExpr.d.ts +3 -2
- package/dist/expression/numeric/NumParenthesisExpr.d.ts +2 -2
- package/dist/expression/numeric/NumericLiteralExpr.d.ts +4 -3
- package/dist/expression/numeric/PlusExpr.d.ts +2 -2
- package/dist/expression/reference/AttributeReferenceExpr.d.ts +9 -5
- package/dist/expression/reference/ElemObjectReferenceExpr.d.ts +1 -1
- package/dist/expression/reference/NestedObjectChainEndExpr.d.ts +5 -4
- package/dist/expression/reference/NestedObjectChainExpr.d.ts +9 -6
- package/dist/expression/reference/PropObjectReferenceExpr.d.ts +1 -1
- package/dist/expression/string/StringConcatExpr.d.ts +2 -2
- package/dist/expression/string/StringLiteralExpr.d.ts +3 -3
- package/dist/expression/structure/ArrayExpr.d.ts +11 -0
- package/dist/gen/parser/IfcExpressionLexer.d.ts +10 -9
- package/dist/gen/parser/IfcExpressionParser.d.ts +10 -9
- package/dist/mjs/ExprVisitor.js +37 -3
- package/dist/mjs/ExprVisitor.js.map +1 -1
- package/dist/mjs/IfcExpression.js +3 -4
- package/dist/mjs/IfcExpression.js.map +1 -1
- package/dist/mjs/context/IfcElementAccessor.js +2 -2
- package/dist/mjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/mjs/context/ObjectAccessor.js +7 -1
- package/dist/mjs/context/ObjectAccessor.js.map +1 -1
- package/dist/mjs/expression/Expr.js.map +1 -1
- package/dist/mjs/expression/Expr0.js +18 -2
- package/dist/mjs/expression/Expr0.js.map +1 -1
- package/dist/mjs/expression/Expr1.js +46 -2
- package/dist/mjs/expression/Expr1.js.map +1 -1
- package/dist/mjs/expression/Expr2.js +48 -2
- package/dist/mjs/expression/Expr2.js.map +1 -1
- package/dist/mjs/expression/Expr2LeftBeforeRight.js +41 -0
- package/dist/mjs/expression/Expr2LeftBeforeRight.js.map +1 -0
- package/dist/mjs/expression/ExprBase.js +16 -0
- package/dist/mjs/expression/ExprBase.js.map +1 -0
- package/dist/mjs/expression/ExprEvalResult.js +144 -0
- package/dist/mjs/expression/ExprEvalResult.js.map +1 -0
- package/dist/mjs/expression/ExprKind.js +21 -0
- package/dist/mjs/expression/ExprKind.js.map +1 -0
- package/dist/mjs/expression/LiteralExpr.js +21 -0
- package/dist/mjs/expression/LiteralExpr.js.map +1 -0
- package/dist/mjs/expression/LocalContextKeys.js +4 -0
- package/dist/mjs/expression/LocalContextKeys.js.map +1 -0
- package/dist/mjs/expression/function/Func.js +89 -0
- package/dist/mjs/expression/function/Func.js.map +1 -0
- package/dist/mjs/expression/function/FuncArg.js +29 -0
- package/dist/mjs/expression/function/FuncArg.js.map +1 -0
- package/dist/mjs/expression/function/FunctionExpr.js +29 -0
- package/dist/mjs/expression/function/FunctionExpr.js.map +1 -0
- package/dist/mjs/expression/function/IfcExpressionFunctionConfigException.js +6 -0
- package/dist/mjs/expression/function/IfcExpressionFunctionConfigException.js.map +1 -0
- package/dist/mjs/expression/function/IfcExpressionFunctions.js +22 -0
- package/dist/mjs/expression/function/IfcExpressionFunctions.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgBase.js +30 -0
- package/dist/mjs/expression/function/arg/FuncArgBase.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgInt.js +21 -0
- package/dist/mjs/expression/function/arg/FuncArgInt.js.map +1 -0
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js +18 -0
- package/dist/mjs/expression/function/arg/FuncArgNumeric.js.map +1 -0
- package/dist/mjs/expression/function/impl/MAP.js +73 -0
- package/dist/mjs/expression/function/impl/MAP.js.map +1 -0
- package/dist/mjs/expression/function/impl/ROUND.js +25 -0
- package/dist/mjs/expression/function/impl/ROUND.js.map +1 -0
- package/dist/mjs/expression/numeric/DivideExpr.js +8 -6
- package/dist/mjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MinusExpr.js +4 -6
- package/dist/mjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MultiplyExpr.js +4 -6
- package/dist/mjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/NumParenthesisExpr.js +4 -3
- package/dist/mjs/expression/numeric/NumParenthesisExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/NumericLiteralExpr.js +5 -4
- package/dist/mjs/expression/numeric/NumericLiteralExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/PlusExpr.js +4 -6
- package/dist/mjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js +19 -5
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js +3 -2
- package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js +19 -5
- package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -1
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js +33 -8
- package/dist/mjs/expression/reference/NestedObjectChainExpr.js.map +1 -1
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js +3 -2
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/string/StringConcatExpr.js +4 -3
- package/dist/mjs/expression/string/StringConcatExpr.js.map +1 -1
- package/dist/mjs/expression/string/StringLiteralExpr.js +5 -4
- package/dist/mjs/expression/string/StringLiteralExpr.js.map +1 -1
- package/dist/mjs/expression/structure/ArrayExpr.js +22 -0
- package/dist/mjs/expression/structure/ArrayExpr.js.map +1 -0
- package/dist/mjs/gen/parser/IfcExpressionLexer.js +74 -72
- package/dist/mjs/gen/parser/IfcExpressionLexer.js.map +1 -1
- package/dist/mjs/gen/parser/IfcExpressionParser.js +148 -104
- package/dist/mjs/gen/parser/IfcExpressionParser.js.map +1 -1
- package/dist/mjs/value/ArrayValue.js +19 -0
- package/dist/mjs/value/ArrayValue.js.map +1 -0
- package/dist/mjs/value/BooleanValue.js +12 -3
- package/dist/mjs/value/BooleanValue.js.map +1 -1
- package/dist/mjs/value/LiteralValue.js.map +1 -1
- package/dist/mjs/value/LiteralValueAnyArity.js.map +1 -1
- package/dist/mjs/value/LogicalValue.js +14 -3
- package/dist/mjs/value/LogicalValue.js.map +1 -1
- package/dist/mjs/value/NumericValue.js +16 -4
- package/dist/mjs/value/NumericValue.js.map +1 -1
- package/dist/mjs/value/ReferenceValue.js +12 -3
- package/dist/mjs/value/ReferenceValue.js.map +1 -1
- package/dist/mjs/value/StringValue.js +12 -3
- package/dist/mjs/value/StringValue.js.map +1 -1
- package/dist/mjs/value/Value.js +1 -8
- package/dist/mjs/value/Value.js.map +1 -1
- package/dist/value/ArrayValue.d.ts +12 -0
- package/dist/value/BooleanValue.d.ts +8 -1
- package/dist/value/LiteralValue.d.ts +2 -1
- package/dist/value/LiteralValueAnyArity.d.ts +1 -1
- package/dist/value/LogicalValue.d.ts +8 -1
- package/dist/value/NumericValue.d.ts +11 -4
- package/dist/value/ReferenceValue.d.ts +8 -1
- package/dist/value/StringValue.d.ts +8 -1
- package/dist/value/Value.d.ts +2 -3
- package/package.json +1 -1
- package/dist/cjs/expression/ArrayExpr.js +0 -3
- package/dist/cjs/expression/ArrayExpr.js.map +0 -1
- package/dist/cjs/expression/numeric/MultiplyByExpr.js +0 -18
- package/dist/cjs/expression/numeric/MultiplyByExpr.js.map +0 -1
- package/dist/expression/ArrayExpr.d.ts +0 -3
- package/dist/expression/numeric/MultiplyByExpr.d.ts +0 -8
- package/dist/mjs/expression/ArrayExpr.js +0 -2
- package/dist/mjs/expression/ArrayExpr.js.map +0 -1
- package/dist/mjs/expression/numeric/MultiplyByExpr.js +0 -14
- package/dist/mjs/expression/numeric/MultiplyByExpr.js.map +0 -1
|
@@ -93,6 +93,8 @@ class IfcExpressionParser extends Parser {
|
|
|
93
93
|
this.state = 39;
|
|
94
94
|
this._errHandler.sync(this);
|
|
95
95
|
switch (this._input.LA(1)) {
|
|
96
|
+
case 3:
|
|
97
|
+
case 4:
|
|
96
98
|
case 12:
|
|
97
99
|
case 13:
|
|
98
100
|
{
|
|
@@ -116,7 +118,7 @@ class IfcExpressionParser extends Parser {
|
|
|
116
118
|
this.match(IfcExpressionParser.T__5);
|
|
117
119
|
}
|
|
118
120
|
break;
|
|
119
|
-
case
|
|
121
|
+
case 21:
|
|
120
122
|
{
|
|
121
123
|
localctx = new NumFunCallContext(this, localctx);
|
|
122
124
|
this._ctx = localctx;
|
|
@@ -125,8 +127,8 @@ class IfcExpressionParser extends Parser {
|
|
|
125
127
|
this.functionCall();
|
|
126
128
|
}
|
|
127
129
|
break;
|
|
128
|
-
case 14:
|
|
129
130
|
case 15:
|
|
131
|
+
case 16:
|
|
130
132
|
{
|
|
131
133
|
localctx = new NumAttributeRefContext(this, localctx);
|
|
132
134
|
this._ctx = localctx;
|
|
@@ -226,17 +228,55 @@ class IfcExpressionParser extends Parser {
|
|
|
226
228
|
this.enterRule(localctx, 4, IfcExpressionParser.RULE_numLiteral);
|
|
227
229
|
let _la;
|
|
228
230
|
try {
|
|
229
|
-
this.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
231
|
+
this.state = 60;
|
|
232
|
+
this._errHandler.sync(this);
|
|
233
|
+
switch (this._interp.adaptivePredict(this._input, 6, this._ctx)) {
|
|
234
|
+
case 1:
|
|
235
|
+
this.enterOuterAlt(localctx, 1);
|
|
236
|
+
{
|
|
237
|
+
this.state = 53;
|
|
238
|
+
this._errHandler.sync(this);
|
|
239
|
+
_la = this._input.LA(1);
|
|
240
|
+
if (_la === 3 || _la === 4) {
|
|
241
|
+
{
|
|
242
|
+
this.state = 52;
|
|
243
|
+
_la = this._input.LA(1);
|
|
244
|
+
if (!(_la === 3 || _la === 4)) {
|
|
245
|
+
this._errHandler.recoverInline(this);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this._errHandler.reportMatch(this);
|
|
249
|
+
this.consume();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
this.state = 55;
|
|
254
|
+
this.match(IfcExpressionParser.INT);
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
case 2:
|
|
258
|
+
this.enterOuterAlt(localctx, 2);
|
|
259
|
+
{
|
|
260
|
+
this.state = 57;
|
|
261
|
+
this._errHandler.sync(this);
|
|
262
|
+
_la = this._input.LA(1);
|
|
263
|
+
if (_la === 3 || _la === 4) {
|
|
264
|
+
{
|
|
265
|
+
this.state = 56;
|
|
266
|
+
_la = this._input.LA(1);
|
|
267
|
+
if (!(_la === 3 || _la === 4)) {
|
|
268
|
+
this._errHandler.recoverInline(this);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
this._errHandler.reportMatch(this);
|
|
272
|
+
this.consume();
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
this.state = 59;
|
|
277
|
+
this.match(IfcExpressionParser.FLOAT);
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
240
280
|
}
|
|
241
281
|
}
|
|
242
282
|
catch (re) {
|
|
@@ -269,34 +309,34 @@ class IfcExpressionParser extends Parser {
|
|
|
269
309
|
let _alt;
|
|
270
310
|
this.enterOuterAlt(localctx, 1);
|
|
271
311
|
{
|
|
272
|
-
this.state =
|
|
312
|
+
this.state = 66;
|
|
273
313
|
this._errHandler.sync(this);
|
|
274
314
|
switch (this._input.LA(1)) {
|
|
275
|
-
case
|
|
315
|
+
case 19:
|
|
276
316
|
{
|
|
277
317
|
localctx = new StringLiteralContext(this, localctx);
|
|
278
318
|
this._ctx = localctx;
|
|
279
319
|
_prevctx = localctx;
|
|
280
|
-
this.state =
|
|
320
|
+
this.state = 63;
|
|
281
321
|
this.match(IfcExpressionParser.QUOTED_STRING);
|
|
282
322
|
}
|
|
283
323
|
break;
|
|
284
|
-
case
|
|
324
|
+
case 21:
|
|
285
325
|
{
|
|
286
326
|
localctx = new StringFunCallContext(this, localctx);
|
|
287
327
|
this._ctx = localctx;
|
|
288
328
|
_prevctx = localctx;
|
|
289
|
-
this.state =
|
|
329
|
+
this.state = 64;
|
|
290
330
|
this.functionCall();
|
|
291
331
|
}
|
|
292
332
|
break;
|
|
293
|
-
case 14:
|
|
294
333
|
case 15:
|
|
334
|
+
case 16:
|
|
295
335
|
{
|
|
296
336
|
localctx = new StringAttributeRefContext(this, localctx);
|
|
297
337
|
this._ctx = localctx;
|
|
298
338
|
_prevctx = localctx;
|
|
299
|
-
this.state =
|
|
339
|
+
this.state = 65;
|
|
300
340
|
this.attributeRef();
|
|
301
341
|
}
|
|
302
342
|
break;
|
|
@@ -304,9 +344,9 @@ class IfcExpressionParser extends Parser {
|
|
|
304
344
|
throw new NoViableAltException(this);
|
|
305
345
|
}
|
|
306
346
|
this._ctx.stop = this._input.LT(-1);
|
|
307
|
-
this.state =
|
|
347
|
+
this.state = 73;
|
|
308
348
|
this._errHandler.sync(this);
|
|
309
|
-
_alt = this._interp.adaptivePredict(this._input,
|
|
349
|
+
_alt = this._interp.adaptivePredict(this._input, 8, this._ctx);
|
|
310
350
|
while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
|
|
311
351
|
if (_alt === 1) {
|
|
312
352
|
if (this._parseListeners != null) {
|
|
@@ -318,20 +358,20 @@ class IfcExpressionParser extends Parser {
|
|
|
318
358
|
localctx = new StringConcatContext(this, new StringExprContext(this, _parentctx, _parentState));
|
|
319
359
|
localctx._left = _prevctx;
|
|
320
360
|
this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_stringExpr);
|
|
321
|
-
this.state =
|
|
361
|
+
this.state = 68;
|
|
322
362
|
if (!(this.precpred(this._ctx, 3))) {
|
|
323
363
|
throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
|
|
324
364
|
}
|
|
325
|
-
this.state =
|
|
365
|
+
this.state = 69;
|
|
326
366
|
this.match(IfcExpressionParser.T__2);
|
|
327
|
-
this.state =
|
|
367
|
+
this.state = 70;
|
|
328
368
|
localctx._right = this.stringExpr(4);
|
|
329
369
|
}
|
|
330
370
|
}
|
|
331
371
|
}
|
|
332
|
-
this.state =
|
|
372
|
+
this.state = 75;
|
|
333
373
|
this._errHandler.sync(this);
|
|
334
|
-
_alt = this._interp.adaptivePredict(this._input,
|
|
374
|
+
_alt = this._interp.adaptivePredict(this._input, 8, this._ctx);
|
|
335
375
|
}
|
|
336
376
|
}
|
|
337
377
|
}
|
|
@@ -358,9 +398,9 @@ class IfcExpressionParser extends Parser {
|
|
|
358
398
|
try {
|
|
359
399
|
this.enterOuterAlt(localctx, 1);
|
|
360
400
|
{
|
|
361
|
-
this.state =
|
|
401
|
+
this.state = 76;
|
|
362
402
|
_la = this._input.LA(1);
|
|
363
|
-
if (!(_la ===
|
|
403
|
+
if (!(_la === 15 || _la === 16)) {
|
|
364
404
|
this._errHandler.recoverInline(this);
|
|
365
405
|
}
|
|
366
406
|
else {
|
|
@@ -391,9 +431,9 @@ class IfcExpressionParser extends Parser {
|
|
|
391
431
|
try {
|
|
392
432
|
this.enterOuterAlt(localctx, 1);
|
|
393
433
|
{
|
|
394
|
-
this.state =
|
|
434
|
+
this.state = 78;
|
|
395
435
|
this.objectRef();
|
|
396
|
-
this.state =
|
|
436
|
+
this.state = 79;
|
|
397
437
|
this.nestedObjectChain();
|
|
398
438
|
}
|
|
399
439
|
}
|
|
@@ -417,18 +457,18 @@ class IfcExpressionParser extends Parser {
|
|
|
417
457
|
let localctx = new NestedObjectChainContext(this, this._ctx, this.state);
|
|
418
458
|
this.enterRule(localctx, 12, IfcExpressionParser.RULE_nestedObjectChain);
|
|
419
459
|
try {
|
|
420
|
-
this.state =
|
|
460
|
+
this.state = 87;
|
|
421
461
|
this._errHandler.sync(this);
|
|
422
462
|
switch (this._input.LA(1)) {
|
|
423
463
|
case 7:
|
|
424
464
|
localctx = new NestedObjectChainInnerContext(this, localctx);
|
|
425
465
|
this.enterOuterAlt(localctx, 1);
|
|
426
466
|
{
|
|
427
|
-
this.state =
|
|
467
|
+
this.state = 81;
|
|
428
468
|
this.match(IfcExpressionParser.T__6);
|
|
429
|
-
this.state =
|
|
469
|
+
this.state = 82;
|
|
430
470
|
this.namedRef();
|
|
431
|
-
this.state =
|
|
471
|
+
this.state = 83;
|
|
432
472
|
this.nestedObjectChain();
|
|
433
473
|
}
|
|
434
474
|
break;
|
|
@@ -436,9 +476,9 @@ class IfcExpressionParser extends Parser {
|
|
|
436
476
|
localctx = new NestedObjectChainEndContext(this, localctx);
|
|
437
477
|
this.enterOuterAlt(localctx, 2);
|
|
438
478
|
{
|
|
439
|
-
this.state =
|
|
479
|
+
this.state = 85;
|
|
440
480
|
this.match(IfcExpressionParser.T__7);
|
|
441
|
-
this.state =
|
|
481
|
+
this.state = 86;
|
|
442
482
|
localctx._name = this.match(IfcExpressionParser.RESERVED_ATTRIBUTE_NAME);
|
|
443
483
|
}
|
|
444
484
|
break;
|
|
@@ -466,27 +506,27 @@ class IfcExpressionParser extends Parser {
|
|
|
466
506
|
let localctx = new NamedRefContext(this, this._ctx, this.state);
|
|
467
507
|
this.enterRule(localctx, 14, IfcExpressionParser.RULE_namedRef);
|
|
468
508
|
try {
|
|
469
|
-
this.state =
|
|
509
|
+
this.state = 92;
|
|
470
510
|
this._errHandler.sync(this);
|
|
471
511
|
switch (this._input.LA(1)) {
|
|
472
|
-
case
|
|
512
|
+
case 18:
|
|
473
513
|
this.enterOuterAlt(localctx, 1);
|
|
474
514
|
{
|
|
475
|
-
this.state =
|
|
515
|
+
this.state = 89;
|
|
476
516
|
localctx._name = this.match(IfcExpressionParser.RESERVED_RELATION_NAME);
|
|
477
517
|
}
|
|
478
518
|
break;
|
|
479
|
-
case
|
|
519
|
+
case 20:
|
|
480
520
|
this.enterOuterAlt(localctx, 2);
|
|
481
521
|
{
|
|
482
|
-
this.state =
|
|
522
|
+
this.state = 90;
|
|
483
523
|
localctx._name = this.match(IfcExpressionParser.BRACKETED_STRING);
|
|
484
524
|
}
|
|
485
525
|
break;
|
|
486
|
-
case
|
|
526
|
+
case 21:
|
|
487
527
|
this.enterOuterAlt(localctx, 3);
|
|
488
528
|
{
|
|
489
|
-
this.state =
|
|
529
|
+
this.state = 91;
|
|
490
530
|
localctx._name = this.match(IfcExpressionParser.IDENTIFIER);
|
|
491
531
|
}
|
|
492
532
|
break;
|
|
@@ -516,13 +556,13 @@ class IfcExpressionParser extends Parser {
|
|
|
516
556
|
try {
|
|
517
557
|
this.enterOuterAlt(localctx, 1);
|
|
518
558
|
{
|
|
519
|
-
this.state =
|
|
559
|
+
this.state = 94;
|
|
520
560
|
localctx._name = this.match(IfcExpressionParser.IDENTIFIER);
|
|
521
|
-
this.state =
|
|
561
|
+
this.state = 95;
|
|
522
562
|
this.match(IfcExpressionParser.T__4);
|
|
523
|
-
this.state =
|
|
563
|
+
this.state = 96;
|
|
524
564
|
this.exprList();
|
|
525
|
-
this.state =
|
|
565
|
+
this.state = 97;
|
|
526
566
|
this.match(IfcExpressionParser.T__5);
|
|
527
567
|
}
|
|
528
568
|
}
|
|
@@ -546,24 +586,24 @@ class IfcExpressionParser extends Parser {
|
|
|
546
586
|
let localctx = new ExprListContext(this, this._ctx, this.state);
|
|
547
587
|
this.enterRule(localctx, 18, IfcExpressionParser.RULE_exprList);
|
|
548
588
|
try {
|
|
549
|
-
this.state =
|
|
589
|
+
this.state = 104;
|
|
550
590
|
this._errHandler.sync(this);
|
|
551
|
-
switch (this._interp.adaptivePredict(this._input,
|
|
591
|
+
switch (this._interp.adaptivePredict(this._input, 11, this._ctx)) {
|
|
552
592
|
case 1:
|
|
553
593
|
this.enterOuterAlt(localctx, 1);
|
|
554
594
|
{
|
|
555
|
-
this.state =
|
|
595
|
+
this.state = 99;
|
|
556
596
|
this.expr();
|
|
557
597
|
}
|
|
558
598
|
break;
|
|
559
599
|
case 2:
|
|
560
600
|
this.enterOuterAlt(localctx, 2);
|
|
561
601
|
{
|
|
562
|
-
this.state =
|
|
602
|
+
this.state = 100;
|
|
563
603
|
this.expr();
|
|
564
|
-
this.state =
|
|
604
|
+
this.state = 101;
|
|
565
605
|
this.match(IfcExpressionParser.T__8);
|
|
566
|
-
this.state =
|
|
606
|
+
this.state = 102;
|
|
567
607
|
this.exprList();
|
|
568
608
|
}
|
|
569
609
|
break;
|
|
@@ -591,11 +631,11 @@ class IfcExpressionParser extends Parser {
|
|
|
591
631
|
try {
|
|
592
632
|
this.enterOuterAlt(localctx, 1);
|
|
593
633
|
{
|
|
594
|
-
this.state =
|
|
634
|
+
this.state = 106;
|
|
595
635
|
this.match(IfcExpressionParser.T__9);
|
|
596
|
-
this.state =
|
|
636
|
+
this.state = 107;
|
|
597
637
|
this.arrayElementList();
|
|
598
|
-
this.state =
|
|
638
|
+
this.state = 108;
|
|
599
639
|
this.match(IfcExpressionParser.T__10);
|
|
600
640
|
}
|
|
601
641
|
}
|
|
@@ -619,24 +659,24 @@ class IfcExpressionParser extends Parser {
|
|
|
619
659
|
let localctx = new ArrayElementListContext(this, this._ctx, this.state);
|
|
620
660
|
this.enterRule(localctx, 22, IfcExpressionParser.RULE_arrayElementList);
|
|
621
661
|
try {
|
|
622
|
-
this.state =
|
|
662
|
+
this.state = 115;
|
|
623
663
|
this._errHandler.sync(this);
|
|
624
|
-
switch (this._interp.adaptivePredict(this._input,
|
|
664
|
+
switch (this._interp.adaptivePredict(this._input, 12, this._ctx)) {
|
|
625
665
|
case 1:
|
|
626
666
|
this.enterOuterAlt(localctx, 1);
|
|
627
667
|
{
|
|
628
|
-
this.state =
|
|
668
|
+
this.state = 110;
|
|
629
669
|
this.expr();
|
|
630
670
|
}
|
|
631
671
|
break;
|
|
632
672
|
case 2:
|
|
633
673
|
this.enterOuterAlt(localctx, 2);
|
|
634
674
|
{
|
|
635
|
-
this.state =
|
|
675
|
+
this.state = 111;
|
|
636
676
|
this.expr();
|
|
637
|
-
this.state =
|
|
677
|
+
this.state = 112;
|
|
638
678
|
this.match(IfcExpressionParser.T__8);
|
|
639
|
-
this.state =
|
|
679
|
+
this.state = 113;
|
|
640
680
|
this.arrayElementList();
|
|
641
681
|
}
|
|
642
682
|
break;
|
|
@@ -702,15 +742,16 @@ IfcExpressionParser.T__9 = 10;
|
|
|
702
742
|
IfcExpressionParser.T__10 = 11;
|
|
703
743
|
IfcExpressionParser.INT = 12;
|
|
704
744
|
IfcExpressionParser.FLOAT = 13;
|
|
705
|
-
IfcExpressionParser.
|
|
706
|
-
IfcExpressionParser.
|
|
707
|
-
IfcExpressionParser.
|
|
708
|
-
IfcExpressionParser.
|
|
709
|
-
IfcExpressionParser.
|
|
710
|
-
IfcExpressionParser.
|
|
711
|
-
IfcExpressionParser.
|
|
712
|
-
IfcExpressionParser.
|
|
713
|
-
IfcExpressionParser.
|
|
745
|
+
IfcExpressionParser.SIGN = 14;
|
|
746
|
+
IfcExpressionParser.PROP = 15;
|
|
747
|
+
IfcExpressionParser.ELEM = 16;
|
|
748
|
+
IfcExpressionParser.RESERVED_ATTRIBUTE_NAME = 17;
|
|
749
|
+
IfcExpressionParser.RESERVED_RELATION_NAME = 18;
|
|
750
|
+
IfcExpressionParser.QUOTED_STRING = 19;
|
|
751
|
+
IfcExpressionParser.BRACKETED_STRING = 20;
|
|
752
|
+
IfcExpressionParser.IDENTIFIER = 21;
|
|
753
|
+
IfcExpressionParser.WS = 22;
|
|
754
|
+
IfcExpressionParser.NEWLINE = 23;
|
|
714
755
|
IfcExpressionParser.EOF = Token.EOF;
|
|
715
756
|
IfcExpressionParser.RULE_expr = 0;
|
|
716
757
|
IfcExpressionParser.RULE_numExpr = 1;
|
|
@@ -737,8 +778,8 @@ IfcExpressionParser.symbolicNames = [null, null,
|
|
|
737
778
|
null, null,
|
|
738
779
|
null, null,
|
|
739
780
|
"INT", "FLOAT",
|
|
740
|
-
"
|
|
741
|
-
"RESERVED_ATTRIBUTE_NAME",
|
|
781
|
+
"SIGN", "PROP",
|
|
782
|
+
"ELEM", "RESERVED_ATTRIBUTE_NAME",
|
|
742
783
|
"RESERVED_RELATION_NAME",
|
|
743
784
|
"QUOTED_STRING",
|
|
744
785
|
"BRACKETED_STRING",
|
|
@@ -750,39 +791,42 @@ IfcExpressionParser.ruleNames = [
|
|
|
750
791
|
"nestedObjectChain", "namedRef", "functionCall", "exprList", "array",
|
|
751
792
|
"arrayElementList",
|
|
752
793
|
];
|
|
753
|
-
IfcExpressionParser._serializedATN = [4, 1,
|
|
794
|
+
IfcExpressionParser._serializedATN = [4, 1, 23, 118, 2, 0, 7, 0, 2,
|
|
754
795
|
1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
|
|
755
796
|
10, 7, 10, 2, 11, 7, 11, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 30, 8, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
756
797
|
1, 1, 1, 1, 1, 3, 1, 40, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 48, 8, 1, 10, 1, 12, 1, 51, 9,
|
|
757
|
-
1, 1, 2,
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
1,
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
0, 0, 0,
|
|
764
|
-
0, 0,
|
|
765
|
-
|
|
766
|
-
0,
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
1, 0, 0, 0,
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
1, 0, 0, 0,
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
798
|
+
1, 1, 2, 3, 2, 54, 8, 2, 1, 2, 1, 2, 3, 2, 58, 8, 2, 1, 2, 3, 2, 61, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3,
|
|
799
|
+
67, 8, 3, 1, 3, 1, 3, 1, 3, 5, 3, 72, 8, 3, 10, 3, 12, 3, 75, 9, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 6,
|
|
800
|
+
1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 88, 8, 6, 1, 7, 1, 7, 1, 7, 3, 7, 93, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1,
|
|
801
|
+
8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 105, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1,
|
|
802
|
+
11, 1, 11, 3, 11, 116, 8, 11, 1, 11, 0, 2, 2, 6, 12, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 0,
|
|
803
|
+
3, 1, 0, 1, 2, 1, 0, 3, 4, 1, 0, 15, 16, 125, 0, 29, 1, 0, 0, 0, 2, 39, 1, 0, 0, 0, 4, 60, 1, 0, 0, 0,
|
|
804
|
+
6, 66, 1, 0, 0, 0, 8, 76, 1, 0, 0, 0, 10, 78, 1, 0, 0, 0, 12, 87, 1, 0, 0, 0, 14, 92, 1, 0, 0, 0, 16,
|
|
805
|
+
94, 1, 0, 0, 0, 18, 104, 1, 0, 0, 0, 20, 106, 1, 0, 0, 0, 22, 115, 1, 0, 0, 0, 24, 30, 3, 10, 5, 0,
|
|
806
|
+
25, 30, 3, 16, 8, 0, 26, 30, 3, 2, 1, 0, 27, 30, 3, 20, 10, 0, 28, 30, 3, 6, 3, 0, 29, 24, 1, 0, 0,
|
|
807
|
+
0, 29, 25, 1, 0, 0, 0, 29, 26, 1, 0, 0, 0, 29, 27, 1, 0, 0, 0, 29, 28, 1, 0, 0, 0, 30, 1, 1, 0, 0, 0,
|
|
808
|
+
31, 32, 6, 1, -1, 0, 32, 40, 3, 4, 2, 0, 33, 34, 5, 5, 0, 0, 34, 35, 3, 2, 1, 0, 35, 36, 5, 6, 0, 0,
|
|
809
|
+
36, 40, 1, 0, 0, 0, 37, 40, 3, 16, 8, 0, 38, 40, 3, 10, 5, 0, 39, 31, 1, 0, 0, 0, 39, 33, 1, 0, 0, 0,
|
|
810
|
+
39, 37, 1, 0, 0, 0, 39, 38, 1, 0, 0, 0, 40, 49, 1, 0, 0, 0, 41, 42, 10, 6, 0, 0, 42, 43, 7, 0, 0, 0,
|
|
811
|
+
43, 48, 3, 2, 1, 7, 44, 45, 10, 5, 0, 0, 45, 46, 7, 1, 0, 0, 46, 48, 3, 2, 1, 6, 47, 41, 1, 0, 0, 0,
|
|
812
|
+
47, 44, 1, 0, 0, 0, 48, 51, 1, 0, 0, 0, 49, 47, 1, 0, 0, 0, 49, 50, 1, 0, 0, 0, 50, 3, 1, 0, 0, 0, 51,
|
|
813
|
+
49, 1, 0, 0, 0, 52, 54, 7, 1, 0, 0, 53, 52, 1, 0, 0, 0, 53, 54, 1, 0, 0, 0, 54, 55, 1, 0, 0, 0, 55, 61,
|
|
814
|
+
5, 12, 0, 0, 56, 58, 7, 1, 0, 0, 57, 56, 1, 0, 0, 0, 57, 58, 1, 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 61,
|
|
815
|
+
5, 13, 0, 0, 60, 53, 1, 0, 0, 0, 60, 57, 1, 0, 0, 0, 61, 5, 1, 0, 0, 0, 62, 63, 6, 3, -1, 0, 63, 67,
|
|
816
|
+
5, 19, 0, 0, 64, 67, 3, 16, 8, 0, 65, 67, 3, 10, 5, 0, 66, 62, 1, 0, 0, 0, 66, 64, 1, 0, 0, 0, 66, 65,
|
|
817
|
+
1, 0, 0, 0, 67, 73, 1, 0, 0, 0, 68, 69, 10, 3, 0, 0, 69, 70, 5, 3, 0, 0, 70, 72, 3, 6, 3, 4, 71, 68,
|
|
818
|
+
1, 0, 0, 0, 72, 75, 1, 0, 0, 0, 73, 71, 1, 0, 0, 0, 73, 74, 1, 0, 0, 0, 74, 7, 1, 0, 0, 0, 75, 73, 1,
|
|
819
|
+
0, 0, 0, 76, 77, 7, 2, 0, 0, 77, 9, 1, 0, 0, 0, 78, 79, 3, 8, 4, 0, 79, 80, 3, 12, 6, 0, 80, 11, 1, 0,
|
|
820
|
+
0, 0, 81, 82, 5, 7, 0, 0, 82, 83, 3, 14, 7, 0, 83, 84, 3, 12, 6, 0, 84, 88, 1, 0, 0, 0, 85, 86, 5, 8,
|
|
821
|
+
0, 0, 86, 88, 5, 17, 0, 0, 87, 81, 1, 0, 0, 0, 87, 85, 1, 0, 0, 0, 88, 13, 1, 0, 0, 0, 89, 93, 5, 18,
|
|
822
|
+
0, 0, 90, 93, 5, 20, 0, 0, 91, 93, 5, 21, 0, 0, 92, 89, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 92, 91, 1, 0,
|
|
823
|
+
0, 0, 93, 15, 1, 0, 0, 0, 94, 95, 5, 21, 0, 0, 95, 96, 5, 5, 0, 0, 96, 97, 3, 18, 9, 0, 97, 98, 5, 6,
|
|
824
|
+
0, 0, 98, 17, 1, 0, 0, 0, 99, 105, 3, 0, 0, 0, 100, 101, 3, 0, 0, 0, 101, 102, 5, 9, 0, 0, 102, 103,
|
|
825
|
+
3, 18, 9, 0, 103, 105, 1, 0, 0, 0, 104, 99, 1, 0, 0, 0, 104, 100, 1, 0, 0, 0, 105, 19, 1, 0, 0, 0,
|
|
826
|
+
106, 107, 5, 10, 0, 0, 107, 108, 3, 22, 11, 0, 108, 109, 5, 11, 0, 0, 109, 21, 1, 0, 0, 0, 110,
|
|
827
|
+
116, 3, 0, 0, 0, 111, 112, 3, 0, 0, 0, 112, 113, 5, 9, 0, 0, 113, 114, 3, 22, 11, 0, 114, 116, 1,
|
|
828
|
+
0, 0, 0, 115, 110, 1, 0, 0, 0, 115, 111, 1, 0, 0, 0, 116, 23, 1, 0, 0, 0, 13, 29, 39, 47, 49, 53,
|
|
829
|
+
57, 60, 66, 73, 87, 92, 104, 115];
|
|
786
830
|
IfcExpressionParser.DecisionsToDFA = IfcExpressionParser._ATN.decisionToState.map((ds, index) => new DFA(ds, index));
|
|
787
831
|
export default IfcExpressionParser;
|
|
788
832
|
export class ExprContext extends ParserRuleContext {
|