ifc-expressions 0.2.2 → 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 +7 -3
- package/dist/IfcExpression.d.ts +27 -24
- package/dist/IfcExpressionErrorListener.d.ts +1 -1
- package/dist/IfcExpressionUtils.d.ts +2 -0
- package/dist/cjs/ExprVisitor.js +70 -36
- package/dist/cjs/ExprVisitor.js.map +1 -1
- package/dist/cjs/IfcExpression.js +42 -41
- package/dist/cjs/IfcExpression.js.map +1 -1
- package/dist/cjs/IfcExpressionErrorListener.js +4 -4
- package/dist/cjs/IfcExpressionErrorListener.js.map +1 -1
- package/dist/cjs/IfcExpressionUtils.js +12 -0
- package/dist/cjs/IfcExpressionUtils.js.map +1 -0
- package/dist/cjs/SyntaxErrorException.js +2 -2
- package/dist/cjs/SyntaxErrorException.js.map +1 -1
- package/dist/cjs/context/IfcElementAccessor.js +8 -8
- package/dist/cjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/cjs/context/IfcExpressionContext.js.map +1 -1
- package/dist/cjs/context/IfcPropertyAccessor.js +2 -2
- package/dist/cjs/context/IfcPropertyAccessor.js.map +1 -1
- package/dist/cjs/context/IfcPropertySetAccessor.js +2 -2
- package/dist/cjs/context/IfcPropertySetAccessor.js.map +1 -1
- package/dist/cjs/context/IfcRootObjectAccessor.js +4 -4
- package/dist/cjs/context/IfcRootObjectAccessor.js.map +1 -1
- package/dist/cjs/context/IfcTypeObjectAccessor.js +4 -4
- package/dist/cjs/context/IfcTypeObjectAccessor.js.map +1 -1
- package/dist/cjs/context/NamedObjectAccessor.js +3 -3
- package/dist/cjs/context/NamedObjectAccessor.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/IfcExpressionEvaluationException.js.map +1 -1
- 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 +11 -9
- package/dist/cjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MinusExpr.js +7 -9
- package/dist/cjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/MultiplyExpr.js +7 -9
- package/dist/cjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/cjs/expression/numeric/NumParenthesisExpr.js +6 -5
- 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 +7 -9
- package/dist/cjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js +21 -7
- package/dist/cjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js +5 -4
- 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/ObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js +5 -4
- package/dist/cjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/cjs/expression/string/StringConcatExpr.js +7 -6
- 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 +142 -0
- package/dist/cjs/gen/parser/IfcExpressionLexer.js.map +1 -0
- package/dist/cjs/gen/parser/IfcExpressionListener.js.map +1 -0
- package/dist/cjs/{parser → gen/parser}/IfcExpressionParser.js +148 -104
- package/dist/cjs/gen/parser/IfcExpressionParser.js.map +1 -0
- package/dist/cjs/gen/parser/IfcExpressionVisitor.js.map +1 -0
- 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/PrimitiveValueType.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/IfcElementAccessor.d.ts +6 -6
- package/dist/context/IfcExpressionContext.d.ts +2 -2
- package/dist/context/IfcPropertyAccessor.d.ts +4 -4
- package/dist/context/IfcPropertySetAccessor.d.ts +4 -4
- package/dist/context/IfcRootObjectAccessor.d.ts +2 -2
- package/dist/context/IfcTypeObjectAccessor.d.ts +4 -4
- package/dist/context/NamedObjectAccessor.d.ts +2 -2
- package/dist/context/ObjectAccessor.d.ts +2 -1
- package/dist/expression/Expr.d.ts +5 -2
- package/dist/expression/Expr0.d.ts +9 -5
- 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 +8 -6
- package/dist/expression/numeric/MinusExpr.d.ts +7 -6
- package/dist/expression/numeric/MultiplyExpr.d.ts +7 -6
- package/dist/expression/numeric/NumParenthesisExpr.d.ts +6 -6
- package/dist/expression/numeric/NumericLiteralExpr.d.ts +6 -5
- package/dist/expression/numeric/PlusExpr.d.ts +6 -6
- package/dist/expression/reference/AttributeReferenceExpr.d.ts +12 -8
- package/dist/expression/reference/ElemObjectReferenceExpr.d.ts +5 -5
- package/dist/expression/reference/NestedObjectChainEndExpr.d.ts +7 -6
- package/dist/expression/reference/NestedObjectChainExpr.d.ts +11 -8
- package/dist/expression/reference/ObjectReferenceExpr.d.ts +2 -2
- package/dist/expression/reference/PropObjectReferenceExpr.d.ts +5 -5
- package/dist/expression/string/StringConcatExpr.d.ts +6 -6
- package/dist/expression/string/StringLiteralExpr.d.ts +5 -5
- package/dist/expression/structure/ArrayExpr.d.ts +11 -0
- package/dist/{parser → gen/parser}/IfcExpressionLexer.d.ts +10 -9
- package/dist/{parser → gen/parser}/IfcExpressionParser.d.ts +10 -9
- package/dist/mjs/ExprVisitor.js +57 -23
- package/dist/mjs/ExprVisitor.js.map +1 -1
- package/dist/mjs/IfcExpression.js +21 -22
- package/dist/mjs/IfcExpression.js.map +1 -1
- package/dist/mjs/IfcExpressionErrorListener.js +3 -3
- package/dist/mjs/IfcExpressionErrorListener.js.map +1 -1
- package/dist/mjs/IfcExpressionUtils.js +7 -0
- package/dist/mjs/IfcExpressionUtils.js.map +1 -0
- package/dist/mjs/SyntaxErrorException.js +2 -2
- package/dist/mjs/SyntaxErrorException.js.map +1 -1
- package/dist/mjs/context/IfcElementAccessor.js +6 -6
- package/dist/mjs/context/IfcElementAccessor.js.map +1 -1
- package/dist/mjs/context/IfcExpressionContext.js.map +1 -1
- package/dist/mjs/context/IfcPropertyAccessor.js +1 -1
- package/dist/mjs/context/IfcPropertyAccessor.js.map +1 -1
- package/dist/mjs/context/IfcPropertySetAccessor.js +1 -1
- package/dist/mjs/context/IfcPropertySetAccessor.js.map +1 -1
- package/dist/mjs/context/IfcRootObjectAccessor.js +2 -2
- package/dist/mjs/context/IfcRootObjectAccessor.js.map +1 -1
- package/dist/mjs/context/IfcTypeObjectAccessor.js +3 -3
- package/dist/mjs/context/IfcTypeObjectAccessor.js.map +1 -1
- package/dist/mjs/context/NamedObjectAccessor.js +1 -1
- package/dist/mjs/context/NamedObjectAccessor.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 +10 -8
- package/dist/mjs/expression/numeric/DivideExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MinusExpr.js +6 -8
- package/dist/mjs/expression/numeric/MinusExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/MultiplyExpr.js +6 -8
- package/dist/mjs/expression/numeric/MultiplyExpr.js.map +1 -1
- package/dist/mjs/expression/numeric/NumParenthesisExpr.js +5 -4
- 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 +6 -8
- package/dist/mjs/expression/numeric/PlusExpr.js.map +1 -1
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js +20 -6
- package/dist/mjs/expression/reference/AttributeReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js +4 -3
- 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/ObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js +4 -3
- package/dist/mjs/expression/reference/PropObjectReferenceExpr.js.map +1 -1
- package/dist/mjs/expression/string/StringConcatExpr.js +6 -5
- 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 +140 -0
- package/dist/mjs/gen/parser/IfcExpressionLexer.js.map +1 -0
- package/dist/mjs/gen/parser/IfcExpressionListener.js.map +1 -0
- package/dist/mjs/{parser → gen/parser}/IfcExpressionParser.js +148 -104
- package/dist/mjs/gen/parser/IfcExpressionParser.js.map +1 -0
- package/dist/mjs/gen/parser/IfcExpressionVisitor.js.map +1 -0
- 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 +9 -2
- package/dist/value/LiteralValue.d.ts +7 -6
- package/dist/value/LiteralValueAnyArity.d.ts +2 -2
- package/dist/value/LogicalValue.d.ts +9 -2
- package/dist/value/NumericValue.d.ts +12 -5
- package/dist/value/ReferenceValue.d.ts +9 -2
- package/dist/value/StringValue.d.ts +9 -2
- package/dist/value/Value.d.ts +3 -4
- package/package.json +4 -3
- 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/cjs/parser/IfcExpressionLexer.js +0 -140
- package/dist/cjs/parser/IfcExpressionLexer.js.map +0 -1
- package/dist/cjs/parser/IfcExpressionListener.js.map +0 -1
- package/dist/cjs/parser/IfcExpressionParser.js.map +0 -1
- package/dist/cjs/parser/IfcExpressionVisitor.js.map +0 -1
- package/dist/cjs/utils.js +0 -12
- package/dist/cjs/utils.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
- package/dist/mjs/parser/IfcExpressionLexer.js +0 -138
- package/dist/mjs/parser/IfcExpressionLexer.js.map +0 -1
- package/dist/mjs/parser/IfcExpressionListener.js.map +0 -1
- package/dist/mjs/parser/IfcExpressionParser.js.map +0 -1
- package/dist/mjs/parser/IfcExpressionVisitor.js.map +0 -1
- package/dist/mjs/utils.js +0 -7
- package/dist/mjs/utils.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- /package/dist/cjs/{parser → gen/parser}/IfcExpressionListener.js +0 -0
- /package/dist/cjs/{parser → gen/parser}/IfcExpressionVisitor.js +0 -0
- /package/dist/{parser → gen/parser}/IfcExpressionListener.d.ts +0 -0
- /package/dist/{parser → gen/parser}/IfcExpressionVisitor.d.ts +0 -0
- /package/dist/mjs/{parser → gen/parser}/IfcExpressionListener.js +0 -0
- /package/dist/mjs/{parser → gen/parser}/IfcExpressionVisitor.js +0 -0
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Expr2 } from "../Expr2";
|
|
2
|
-
import { Expr } from "../Expr";
|
|
3
|
-
import { IfcExpressionContext } from "../../context/IfcExpressionContext";
|
|
4
|
-
import { NumericValue } from "../../value/NumericValue";
|
|
5
|
-
export declare class PlusExpr extends Expr2<Expr<NumericValue>, Expr<NumericValue>, NumericValue> {
|
|
6
|
-
constructor(left: Expr<NumericValue>, right: Expr<NumericValue>);
|
|
7
|
-
evaluate(ctx: IfcExpressionContext): NumericValue;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/ArrayExpr.ts"],"names":[],"mappings":"","file":"expression/ArrayExpr.js","sourcesContent":["export interface ArrayExpr<T> {\n evaluate(): Array<T>;\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Expr2 } from "../Expr2";
|
|
2
|
-
import { NumericValue } from "../../value/NumericValue";
|
|
3
|
-
export class PlusExpr extends Expr2 {
|
|
4
|
-
constructor(left, right) {
|
|
5
|
-
super(left, right);
|
|
6
|
-
}
|
|
7
|
-
evaluate(ctx) {
|
|
8
|
-
return NumericValue.of(this.left
|
|
9
|
-
.evaluate(ctx)
|
|
10
|
-
.getValue()
|
|
11
|
-
.mul(this.right.evaluate(ctx).getValue()));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=MultiplyByExpr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["expression/numeric/MultiplyByExpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,OAAO,QAAS,SAAQ,KAI7B;IACC,YAAY,IAAwB,EAAE,KAAyB;QAC7D,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAyB;QAChC,OAAO,YAAY,CAAC,EAAE,CACpB,IAAI,CAAC,IAAI;aACN,QAAQ,CAAC,GAAG,CAAC;aACb,QAAQ,EAAE;aACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF","file":"expression/numeric/MultiplyByExpr.js","sourcesContent":["import { Expr2 } from \"../Expr2\";\nimport { Expr } from \"../Expr\";\nimport { IfcExpressionContext } from \"../../context/IfcExpressionContext\";\nimport { NumericValue } from \"../../value/NumericValue\";\n\nexport class PlusExpr extends Expr2<\n Expr<NumericValue>,\n Expr<NumericValue>,\n NumericValue\n> {\n constructor(left: Expr<NumericValue>, right: Expr<NumericValue>) {\n super(left, right);\n }\n\n evaluate(ctx: IfcExpressionContext): NumericValue {\n return NumericValue.of(\n this.left\n .evaluate(ctx)\n .getValue()\n .mul(this.right.evaluate(ctx).getValue())\n );\n }\n}\n"]}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
// Generated from IfcExpression.g4 by ANTLR 4.13.0
|
|
2
|
-
// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
|
|
3
|
-
import { ATNDeserializer, DFA, Lexer, LexerATNSimulator, PredictionContextCache, Token } from "antlr4";
|
|
4
|
-
class IfcExpressionLexer extends Lexer {
|
|
5
|
-
constructor(input) {
|
|
6
|
-
super(input);
|
|
7
|
-
this._interp = new LexerATNSimulator(this, IfcExpressionLexer._ATN, IfcExpressionLexer.DecisionsToDFA, new PredictionContextCache());
|
|
8
|
-
}
|
|
9
|
-
get grammarFileName() { return "IfcExpression.g4"; }
|
|
10
|
-
get literalNames() { return IfcExpressionLexer.literalNames; }
|
|
11
|
-
get symbolicNames() { return IfcExpressionLexer.symbolicNames; }
|
|
12
|
-
get ruleNames() { return IfcExpressionLexer.ruleNames; }
|
|
13
|
-
get serializedATN() { return IfcExpressionLexer._serializedATN; }
|
|
14
|
-
get channelNames() { return IfcExpressionLexer.channelNames; }
|
|
15
|
-
get modeNames() { return IfcExpressionLexer.modeNames; }
|
|
16
|
-
static get _ATN() {
|
|
17
|
-
if (!IfcExpressionLexer.__ATN) {
|
|
18
|
-
IfcExpressionLexer.__ATN = new ATNDeserializer().deserialize(IfcExpressionLexer._serializedATN);
|
|
19
|
-
}
|
|
20
|
-
return IfcExpressionLexer.__ATN;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
IfcExpressionLexer.T__0 = 1;
|
|
24
|
-
IfcExpressionLexer.T__1 = 2;
|
|
25
|
-
IfcExpressionLexer.T__2 = 3;
|
|
26
|
-
IfcExpressionLexer.T__3 = 4;
|
|
27
|
-
IfcExpressionLexer.T__4 = 5;
|
|
28
|
-
IfcExpressionLexer.T__5 = 6;
|
|
29
|
-
IfcExpressionLexer.T__6 = 7;
|
|
30
|
-
IfcExpressionLexer.T__7 = 8;
|
|
31
|
-
IfcExpressionLexer.T__8 = 9;
|
|
32
|
-
IfcExpressionLexer.T__9 = 10;
|
|
33
|
-
IfcExpressionLexer.T__10 = 11;
|
|
34
|
-
IfcExpressionLexer.INT = 12;
|
|
35
|
-
IfcExpressionLexer.FLOAT = 13;
|
|
36
|
-
IfcExpressionLexer.PROP = 14;
|
|
37
|
-
IfcExpressionLexer.ELEM = 15;
|
|
38
|
-
IfcExpressionLexer.RESERVED_ATTRIBUTE_NAME = 16;
|
|
39
|
-
IfcExpressionLexer.RESERVED_RELATION_NAME = 17;
|
|
40
|
-
IfcExpressionLexer.QUOTED_STRING = 18;
|
|
41
|
-
IfcExpressionLexer.BRACKETED_STRING = 19;
|
|
42
|
-
IfcExpressionLexer.IDENTIFIER = 20;
|
|
43
|
-
IfcExpressionLexer.WS = 21;
|
|
44
|
-
IfcExpressionLexer.NEWLINE = 22;
|
|
45
|
-
IfcExpressionLexer.EOF = Token.EOF;
|
|
46
|
-
IfcExpressionLexer.channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"];
|
|
47
|
-
IfcExpressionLexer.literalNames = [null, "'*'",
|
|
48
|
-
"'/'", "'+'",
|
|
49
|
-
"'-'", "'('",
|
|
50
|
-
"')'", "'.'",
|
|
51
|
-
"'@'", "','",
|
|
52
|
-
"'['", "']'"];
|
|
53
|
-
IfcExpressionLexer.symbolicNames = [null, null,
|
|
54
|
-
null, null,
|
|
55
|
-
null, null,
|
|
56
|
-
null, null,
|
|
57
|
-
null, null,
|
|
58
|
-
null, null,
|
|
59
|
-
"INT", "FLOAT",
|
|
60
|
-
"PROP", "ELEM",
|
|
61
|
-
"RESERVED_ATTRIBUTE_NAME",
|
|
62
|
-
"RESERVED_RELATION_NAME",
|
|
63
|
-
"QUOTED_STRING",
|
|
64
|
-
"BRACKETED_STRING",
|
|
65
|
-
"IDENTIFIER",
|
|
66
|
-
"WS", "NEWLINE"];
|
|
67
|
-
IfcExpressionLexer.modeNames = ["DEFAULT_MODE",];
|
|
68
|
-
IfcExpressionLexer.ruleNames = [
|
|
69
|
-
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
|
|
70
|
-
"T__9", "T__10", "INT", "FLOAT", "PROP", "ELEM", "RESERVED_ATTRIBUTE_NAME",
|
|
71
|
-
"RESERVED_RELATION_NAME", "QUOTED_STRING", "BRACKETED_STRING", "IDENTIFIER",
|
|
72
|
-
"WS", "NEWLINE",
|
|
73
|
-
];
|
|
74
|
-
IfcExpressionLexer._serializedATN = [4, 0, 22, 185, 6, -1, 2, 0,
|
|
75
|
-
7, 0, 2, 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,
|
|
76
|
-
7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7,
|
|
77
|
-
16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 1, 0, 1, 0, 1, 1, 1, 1, 1,
|
|
78
|
-
2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10,
|
|
79
|
-
1, 11, 4, 11, 69, 8, 11, 11, 11, 12, 11, 70, 1, 12, 4, 12, 74, 8, 12, 11, 12, 12, 12, 75, 1, 12,
|
|
80
|
-
1, 12, 4, 12, 80, 8, 12, 11, 12, 12, 12, 81, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13,
|
|
81
|
-
3, 13, 92, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 102, 8, 14, 1, 15,
|
|
82
|
-
1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1,
|
|
83
|
-
15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
|
|
84
|
-
1, 15, 1, 15, 3, 15, 136, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 146,
|
|
85
|
-
8, 16, 1, 17, 1, 17, 5, 17, 150, 8, 17, 10, 17, 12, 17, 153, 9, 17, 1, 17, 1, 17, 1, 18, 1, 18, 4,
|
|
86
|
-
18, 159, 8, 18, 11, 18, 12, 18, 160, 1, 18, 1, 18, 1, 19, 1, 19, 5, 19, 167, 8, 19, 10, 19, 12,
|
|
87
|
-
19, 170, 9, 19, 1, 20, 4, 20, 173, 8, 20, 11, 20, 12, 20, 174, 1, 20, 1, 20, 1, 21, 4, 21, 180,
|
|
88
|
-
8, 21, 11, 21, 12, 21, 181, 1, 21, 1, 21, 2, 151, 160, 0, 22, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6,
|
|
89
|
-
13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37,
|
|
90
|
-
19, 39, 20, 41, 21, 43, 22, 1, 0, 5, 1, 0, 48, 57, 3, 0, 65, 90, 95, 95, 97, 122, 7, 0, 36, 36, 38,
|
|
91
|
-
38, 45, 45, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 9, 9, 32, 32, 2, 0, 10, 10, 13, 13, 199, 0, 1,
|
|
92
|
-
1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0,
|
|
93
|
-
13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0,
|
|
94
|
-
0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0,
|
|
95
|
-
35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 1, 45, 1, 0,
|
|
96
|
-
0, 0, 3, 47, 1, 0, 0, 0, 5, 49, 1, 0, 0, 0, 7, 51, 1, 0, 0, 0, 9, 53, 1, 0, 0, 0, 11, 55, 1, 0, 0, 0, 13,
|
|
97
|
-
57, 1, 0, 0, 0, 15, 59, 1, 0, 0, 0, 17, 61, 1, 0, 0, 0, 19, 63, 1, 0, 0, 0, 21, 65, 1, 0, 0, 0, 23, 68,
|
|
98
|
-
1, 0, 0, 0, 25, 73, 1, 0, 0, 0, 27, 91, 1, 0, 0, 0, 29, 101, 1, 0, 0, 0, 31, 135, 1, 0, 0, 0, 33, 145,
|
|
99
|
-
1, 0, 0, 0, 35, 147, 1, 0, 0, 0, 37, 156, 1, 0, 0, 0, 39, 164, 1, 0, 0, 0, 41, 172, 1, 0, 0, 0, 43,
|
|
100
|
-
179, 1, 0, 0, 0, 45, 46, 5, 42, 0, 0, 46, 2, 1, 0, 0, 0, 47, 48, 5, 47, 0, 0, 48, 4, 1, 0, 0, 0, 49,
|
|
101
|
-
50, 5, 43, 0, 0, 50, 6, 1, 0, 0, 0, 51, 52, 5, 45, 0, 0, 52, 8, 1, 0, 0, 0, 53, 54, 5, 40, 0, 0, 54,
|
|
102
|
-
10, 1, 0, 0, 0, 55, 56, 5, 41, 0, 0, 56, 12, 1, 0, 0, 0, 57, 58, 5, 46, 0, 0, 58, 14, 1, 0, 0, 0, 59,
|
|
103
|
-
60, 5, 64, 0, 0, 60, 16, 1, 0, 0, 0, 61, 62, 5, 44, 0, 0, 62, 18, 1, 0, 0, 0, 63, 64, 5, 91, 0, 0, 64,
|
|
104
|
-
20, 1, 0, 0, 0, 65, 66, 5, 93, 0, 0, 66, 22, 1, 0, 0, 0, 67, 69, 7, 0, 0, 0, 68, 67, 1, 0, 0, 0, 69,
|
|
105
|
-
70, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 24, 1, 0, 0, 0, 72, 74, 7, 0, 0, 0, 73, 72,
|
|
106
|
-
1, 0, 0, 0, 74, 75, 1, 0, 0, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 79, 5,
|
|
107
|
-
46, 0, 0, 78, 80, 7, 0, 0, 0, 79, 78, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 81, 82, 1,
|
|
108
|
-
0, 0, 0, 82, 26, 1, 0, 0, 0, 83, 84, 5, 112, 0, 0, 84, 85, 5, 114, 0, 0, 85, 86, 5, 111, 0, 0, 86,
|
|
109
|
-
92, 5, 112, 0, 0, 87, 88, 5, 80, 0, 0, 88, 89, 5, 82, 0, 0, 89, 90, 5, 79, 0, 0, 90, 92, 5, 80, 0,
|
|
110
|
-
0, 91, 83, 1, 0, 0, 0, 91, 87, 1, 0, 0, 0, 92, 28, 1, 0, 0, 0, 93, 94, 5, 101, 0, 0, 94, 95, 5, 108,
|
|
111
|
-
0, 0, 95, 96, 5, 101, 0, 0, 96, 102, 5, 109, 0, 0, 97, 98, 5, 69, 0, 0, 98, 99, 5, 76, 0, 0, 99, 100,
|
|
112
|
-
5, 69, 0, 0, 100, 102, 5, 77, 0, 0, 101, 93, 1, 0, 0, 0, 101, 97, 1, 0, 0, 0, 102, 30, 1, 0, 0, 0,
|
|
113
|
-
103, 104, 5, 118, 0, 0, 104, 105, 5, 97, 0, 0, 105, 106, 5, 108, 0, 0, 106, 107, 5, 117, 0, 0,
|
|
114
|
-
107, 136, 5, 101, 0, 0, 108, 109, 5, 103, 0, 0, 109, 110, 5, 117, 0, 0, 110, 111, 5, 105, 0, 0,
|
|
115
|
-
111, 136, 5, 100, 0, 0, 112, 113, 5, 110, 0, 0, 113, 114, 5, 97, 0, 0, 114, 115, 5, 109, 0, 0,
|
|
116
|
-
115, 136, 5, 101, 0, 0, 116, 117, 5, 100, 0, 0, 117, 118, 5, 101, 0, 0, 118, 119, 5, 115, 0, 0,
|
|
117
|
-
119, 120, 5, 99, 0, 0, 120, 121, 5, 114, 0, 0, 121, 122, 5, 105, 0, 0, 122, 123, 5, 112, 0, 0,
|
|
118
|
-
123, 124, 5, 116, 0, 0, 124, 125, 5, 105, 0, 0, 125, 126, 5, 111, 0, 0, 126, 136, 5, 110, 0, 0,
|
|
119
|
-
127, 128, 5, 105, 0, 0, 128, 129, 5, 102, 0, 0, 129, 130, 5, 99, 0, 0, 130, 131, 5, 67, 0, 0, 131,
|
|
120
|
-
132, 5, 108, 0, 0, 132, 133, 5, 97, 0, 0, 133, 134, 5, 115, 0, 0, 134, 136, 5, 115, 0, 0, 135,
|
|
121
|
-
103, 1, 0, 0, 0, 135, 108, 1, 0, 0, 0, 135, 112, 1, 0, 0, 0, 135, 116, 1, 0, 0, 0, 135, 127, 1, 0,
|
|
122
|
-
0, 0, 136, 32, 1, 0, 0, 0, 137, 138, 5, 116, 0, 0, 138, 139, 5, 121, 0, 0, 139, 140, 5, 112, 0,
|
|
123
|
-
0, 140, 146, 5, 101, 0, 0, 141, 142, 5, 112, 0, 0, 142, 143, 5, 115, 0, 0, 143, 144, 5, 101, 0,
|
|
124
|
-
0, 144, 146, 5, 116, 0, 0, 145, 137, 1, 0, 0, 0, 145, 141, 1, 0, 0, 0, 146, 34, 1, 0, 0, 0, 147,
|
|
125
|
-
151, 5, 34, 0, 0, 148, 150, 9, 0, 0, 0, 149, 148, 1, 0, 0, 0, 150, 153, 1, 0, 0, 0, 151, 152, 1,
|
|
126
|
-
0, 0, 0, 151, 149, 1, 0, 0, 0, 152, 154, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 154, 155, 5, 34, 0, 0,
|
|
127
|
-
155, 36, 1, 0, 0, 0, 156, 158, 5, 123, 0, 0, 157, 159, 9, 0, 0, 0, 158, 157, 1, 0, 0, 0, 159, 160,
|
|
128
|
-
1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 5, 125, 0,
|
|
129
|
-
0, 163, 38, 1, 0, 0, 0, 164, 168, 7, 1, 0, 0, 165, 167, 7, 2, 0, 0, 166, 165, 1, 0, 0, 0, 167, 170,
|
|
130
|
-
1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 40, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0,
|
|
131
|
-
171, 173, 7, 3, 0, 0, 172, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 172, 1, 0, 0, 0, 174, 175,
|
|
132
|
-
1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 177, 6, 20, 0, 0, 177, 42, 1, 0, 0, 0, 178, 180, 7, 4, 0, 0,
|
|
133
|
-
179, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183,
|
|
134
|
-
1, 0, 0, 0, 183, 184, 6, 21, 0, 0, 184, 44, 1, 0, 0, 0, 13, 0, 70, 75, 81, 91, 101, 135, 145, 151,
|
|
135
|
-
160, 168, 174, 181, 1, 6, 0, 0];
|
|
136
|
-
IfcExpressionLexer.DecisionsToDFA = IfcExpressionLexer._ATN.decisionToState.map((ds, index) => new DFA(ds, index));
|
|
137
|
-
export default IfcExpressionLexer;
|
|
138
|
-
//# sourceMappingURL=IfcExpressionLexer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["parser/IfcExpressionLexer.ts"],"names":[],"mappings":"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,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACtE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACtE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACxE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;IACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACvE,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;IACtE,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;IACtE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACtE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;IACvE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;IACxE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACxE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACxE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;IACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACtE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG;IACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;IACzE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;IACzE,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;IACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC;IACtE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC;IACvE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;IACtE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC;IACvE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IACxE,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAYlB,iCAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAE,CAAC,EAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAE,CAAC;eAlJ5G,kBAAkB","file":"parser/IfcExpressionLexer.js","sourcesContent":["// Generated from IfcExpression.g4 by ANTLR 4.13.0\n// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols\nimport {\n\tATN,\n\tATNDeserializer,\n\tCharStream,\n\tDecisionState, DFA,\n\tLexer,\n\tLexerATNSimulator,\n\tRuleContext,\n\tPredictionContextCache,\n\tToken\n} from \"antlr4\";\nexport default class IfcExpressionLexer extends Lexer {\n\tpublic static readonly T__0 = 1;\n\tpublic static readonly T__1 = 2;\n\tpublic static readonly T__2 = 3;\n\tpublic static readonly T__3 = 4;\n\tpublic static readonly T__4 = 5;\n\tpublic static readonly T__5 = 6;\n\tpublic static readonly T__6 = 7;\n\tpublic static readonly T__7 = 8;\n\tpublic static readonly T__8 = 9;\n\tpublic static readonly T__9 = 10;\n\tpublic static readonly T__10 = 11;\n\tpublic static readonly INT = 12;\n\tpublic static readonly FLOAT = 13;\n\tpublic static readonly PROP = 14;\n\tpublic static readonly ELEM = 15;\n\tpublic static readonly RESERVED_ATTRIBUTE_NAME = 16;\n\tpublic static readonly RESERVED_RELATION_NAME = 17;\n\tpublic static readonly QUOTED_STRING = 18;\n\tpublic static readonly BRACKETED_STRING = 19;\n\tpublic static readonly IDENTIFIER = 20;\n\tpublic static readonly WS = 21;\n\tpublic static readonly NEWLINE = 22;\n\tpublic static readonly EOF = Token.EOF;\n\n\tpublic static readonly channelNames: string[] = [ \"DEFAULT_TOKEN_CHANNEL\", \"HIDDEN\" ];\n\tpublic static readonly literalNames: (string | null)[] = [ null, \"'*'\", \n \"'/'\", \"'+'\", \n \"'-'\", \"'('\", \n \"')'\", \"'.'\", \n \"'@'\", \"','\", \n \"'['\", \"']'\" ];\n\tpublic static readonly symbolicNames: (string | null)[] = [ null, null, \n null, null, \n null, null, \n null, null, \n null, null, \n null, null, \n \"INT\", \"FLOAT\", \n \"PROP\", \"ELEM\", \n \"RESERVED_ATTRIBUTE_NAME\", \n \"RESERVED_RELATION_NAME\", \n \"QUOTED_STRING\", \n \"BRACKETED_STRING\", \n \"IDENTIFIER\", \n \"WS\", \"NEWLINE\" ];\n\tpublic static readonly modeNames: string[] = [ \"DEFAULT_MODE\", ];\n\n\tpublic static readonly ruleNames: string[] = [\n\t\t\"T__0\", \"T__1\", \"T__2\", \"T__3\", \"T__4\", \"T__5\", \"T__6\", \"T__7\", \"T__8\", \n\t\t\"T__9\", \"T__10\", \"INT\", \"FLOAT\", \"PROP\", \"ELEM\", \"RESERVED_ATTRIBUTE_NAME\", \n\t\t\"RESERVED_RELATION_NAME\", \"QUOTED_STRING\", \"BRACKETED_STRING\", \"IDENTIFIER\", \n\t\t\"WS\", \"NEWLINE\",\n\t];\n\n\n\tconstructor(input: CharStream) {\n\t\tsuper(input);\n\t\tthis._interp = new LexerATNSimulator(this, IfcExpressionLexer._ATN, IfcExpressionLexer.DecisionsToDFA, new PredictionContextCache());\n\t}\n\n\tpublic get grammarFileName(): string { return \"IfcExpression.g4\"; }\n\n\tpublic get literalNames(): (string | null)[] { return IfcExpressionLexer.literalNames; }\n\tpublic get symbolicNames(): (string | null)[] { return IfcExpressionLexer.symbolicNames; }\n\tpublic get ruleNames(): string[] { return IfcExpressionLexer.ruleNames; }\n\n\tpublic get serializedATN(): number[] { return IfcExpressionLexer._serializedATN; }\n\n\tpublic get channelNames(): string[] { return IfcExpressionLexer.channelNames; }\n\n\tpublic get modeNames(): string[] { return IfcExpressionLexer.modeNames; }\n\n\tpublic static readonly _serializedATN: number[] = [4,0,22,185,6,-1,2,0,\n\t7,0,2,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,\n\t7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,\n\t16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,1,0,1,0,1,1,1,1,1,\n\t2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,\n\t1,11,4,11,69,8,11,11,11,12,11,70,1,12,4,12,74,8,12,11,12,12,12,75,1,12,\n\t1,12,4,12,80,8,12,11,12,12,12,81,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,\n\t3,13,92,8,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,3,14,102,8,14,1,15,\n\t1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,\n\t15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,\n\t1,15,1,15,3,15,136,8,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,146,\n\t8,16,1,17,1,17,5,17,150,8,17,10,17,12,17,153,9,17,1,17,1,17,1,18,1,18,4,\n\t18,159,8,18,11,18,12,18,160,1,18,1,18,1,19,1,19,5,19,167,8,19,10,19,12,\n\t19,170,9,19,1,20,4,20,173,8,20,11,20,12,20,174,1,20,1,20,1,21,4,21,180,\n\t8,21,11,21,12,21,181,1,21,1,21,2,151,160,0,22,1,1,3,2,5,3,7,4,9,5,11,6,\n\t13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,\n\t19,39,20,41,21,43,22,1,0,5,1,0,48,57,3,0,65,90,95,95,97,122,7,0,36,36,38,\n\t38,45,45,48,57,65,90,95,95,97,122,2,0,9,9,32,32,2,0,10,10,13,13,199,0,1,\n\t1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,\n\t13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,\n\t0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,\n\t35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,1,45,1,0,\n\t0,0,3,47,1,0,0,0,5,49,1,0,0,0,7,51,1,0,0,0,9,53,1,0,0,0,11,55,1,0,0,0,13,\n\t57,1,0,0,0,15,59,1,0,0,0,17,61,1,0,0,0,19,63,1,0,0,0,21,65,1,0,0,0,23,68,\n\t1,0,0,0,25,73,1,0,0,0,27,91,1,0,0,0,29,101,1,0,0,0,31,135,1,0,0,0,33,145,\n\t1,0,0,0,35,147,1,0,0,0,37,156,1,0,0,0,39,164,1,0,0,0,41,172,1,0,0,0,43,\n\t179,1,0,0,0,45,46,5,42,0,0,46,2,1,0,0,0,47,48,5,47,0,0,48,4,1,0,0,0,49,\n\t50,5,43,0,0,50,6,1,0,0,0,51,52,5,45,0,0,52,8,1,0,0,0,53,54,5,40,0,0,54,\n\t10,1,0,0,0,55,56,5,41,0,0,56,12,1,0,0,0,57,58,5,46,0,0,58,14,1,0,0,0,59,\n\t60,5,64,0,0,60,16,1,0,0,0,61,62,5,44,0,0,62,18,1,0,0,0,63,64,5,91,0,0,64,\n\t20,1,0,0,0,65,66,5,93,0,0,66,22,1,0,0,0,67,69,7,0,0,0,68,67,1,0,0,0,69,\n\t70,1,0,0,0,70,68,1,0,0,0,70,71,1,0,0,0,71,24,1,0,0,0,72,74,7,0,0,0,73,72,\n\t1,0,0,0,74,75,1,0,0,0,75,73,1,0,0,0,75,76,1,0,0,0,76,77,1,0,0,0,77,79,5,\n\t46,0,0,78,80,7,0,0,0,79,78,1,0,0,0,80,81,1,0,0,0,81,79,1,0,0,0,81,82,1,\n\t0,0,0,82,26,1,0,0,0,83,84,5,112,0,0,84,85,5,114,0,0,85,86,5,111,0,0,86,\n\t92,5,112,0,0,87,88,5,80,0,0,88,89,5,82,0,0,89,90,5,79,0,0,90,92,5,80,0,\n\t0,91,83,1,0,0,0,91,87,1,0,0,0,92,28,1,0,0,0,93,94,5,101,0,0,94,95,5,108,\n\t0,0,95,96,5,101,0,0,96,102,5,109,0,0,97,98,5,69,0,0,98,99,5,76,0,0,99,100,\n\t5,69,0,0,100,102,5,77,0,0,101,93,1,0,0,0,101,97,1,0,0,0,102,30,1,0,0,0,\n\t103,104,5,118,0,0,104,105,5,97,0,0,105,106,5,108,0,0,106,107,5,117,0,0,\n\t107,136,5,101,0,0,108,109,5,103,0,0,109,110,5,117,0,0,110,111,5,105,0,0,\n\t111,136,5,100,0,0,112,113,5,110,0,0,113,114,5,97,0,0,114,115,5,109,0,0,\n\t115,136,5,101,0,0,116,117,5,100,0,0,117,118,5,101,0,0,118,119,5,115,0,0,\n\t119,120,5,99,0,0,120,121,5,114,0,0,121,122,5,105,0,0,122,123,5,112,0,0,\n\t123,124,5,116,0,0,124,125,5,105,0,0,125,126,5,111,0,0,126,136,5,110,0,0,\n\t127,128,5,105,0,0,128,129,5,102,0,0,129,130,5,99,0,0,130,131,5,67,0,0,131,\n\t132,5,108,0,0,132,133,5,97,0,0,133,134,5,115,0,0,134,136,5,115,0,0,135,\n\t103,1,0,0,0,135,108,1,0,0,0,135,112,1,0,0,0,135,116,1,0,0,0,135,127,1,0,\n\t0,0,136,32,1,0,0,0,137,138,5,116,0,0,138,139,5,121,0,0,139,140,5,112,0,\n\t0,140,146,5,101,0,0,141,142,5,112,0,0,142,143,5,115,0,0,143,144,5,101,0,\n\t0,144,146,5,116,0,0,145,137,1,0,0,0,145,141,1,0,0,0,146,34,1,0,0,0,147,\n\t151,5,34,0,0,148,150,9,0,0,0,149,148,1,0,0,0,150,153,1,0,0,0,151,152,1,\n\t0,0,0,151,149,1,0,0,0,152,154,1,0,0,0,153,151,1,0,0,0,154,155,5,34,0,0,\n\t155,36,1,0,0,0,156,158,5,123,0,0,157,159,9,0,0,0,158,157,1,0,0,0,159,160,\n\t1,0,0,0,160,161,1,0,0,0,160,158,1,0,0,0,161,162,1,0,0,0,162,163,5,125,0,\n\t0,163,38,1,0,0,0,164,168,7,1,0,0,165,167,7,2,0,0,166,165,1,0,0,0,167,170,\n\t1,0,0,0,168,166,1,0,0,0,168,169,1,0,0,0,169,40,1,0,0,0,170,168,1,0,0,0,\n\t171,173,7,3,0,0,172,171,1,0,0,0,173,174,1,0,0,0,174,172,1,0,0,0,174,175,\n\t1,0,0,0,175,176,1,0,0,0,176,177,6,20,0,0,177,42,1,0,0,0,178,180,7,4,0,0,\n\t179,178,1,0,0,0,180,181,1,0,0,0,181,179,1,0,0,0,181,182,1,0,0,0,182,183,\n\t1,0,0,0,183,184,6,21,0,0,184,44,1,0,0,0,13,0,70,75,81,91,101,135,145,151,\n\t160,168,174,181,1,6,0,0];\n\n\tprivate static __ATN: ATN;\n\tpublic static get _ATN(): ATN {\n\t\tif (!IfcExpressionLexer.__ATN) {\n\t\t\tIfcExpressionLexer.__ATN = new ATNDeserializer().deserialize(IfcExpressionLexer._serializedATN);\n\t\t}\n\n\t\treturn IfcExpressionLexer.__ATN;\n\t}\n\n\n\tstatic DecisionsToDFA = IfcExpressionLexer._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) );\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["parser/IfcExpressionListener.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,OAAO,EAAC,iBAAiB,EAAC,MAAM,QAAQ,CAAC;AA0BzC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;CA2OnE","file":"parser/IfcExpressionListener.js","sourcesContent":["// Generated from IfcExpression.g4 by ANTLR 4.13.0\n\nimport {ParseTreeListener} from \"antlr4\";\n\n\nimport { ExprContext } from \"./IfcExpressionParser\";\nimport { NumMulDivContext } from \"./IfcExpressionParser\";\nimport { NumAddSubContext } from \"./IfcExpressionParser\";\nimport { NumParensContext } from \"./IfcExpressionParser\";\nimport { NumLitContext } from \"./IfcExpressionParser\";\nimport { NumFunCallContext } from \"./IfcExpressionParser\";\nimport { NumAttributeRefContext } from \"./IfcExpressionParser\";\nimport { NumLiteralContext } from \"./IfcExpressionParser\";\nimport { StringAttributeRefContext } from \"./IfcExpressionParser\";\nimport { StringLiteralContext } from \"./IfcExpressionParser\";\nimport { StringFunCallContext } from \"./IfcExpressionParser\";\nimport { StringConcatContext } from \"./IfcExpressionParser\";\nimport { ObjectRefContext } from \"./IfcExpressionParser\";\nimport { AttributeRefContext } from \"./IfcExpressionParser\";\nimport { NestedObjectChainInnerContext } from \"./IfcExpressionParser\";\nimport { NestedObjectChainEndContext } from \"./IfcExpressionParser\";\nimport { NamedRefContext } from \"./IfcExpressionParser\";\nimport { FunctionCallContext } from \"./IfcExpressionParser\";\nimport { ExprListContext } from \"./IfcExpressionParser\";\nimport { ArrayContext } from \"./IfcExpressionParser\";\nimport { ArrayElementListContext } from \"./IfcExpressionParser\";\n\n\n/**\n * This interface defines a complete listener for a parse tree produced by\n * `IfcExpressionParser`.\n */\nexport default class IfcExpressionListener extends ParseTreeListener {\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.expr`.\n\t * @param ctx the parse tree\n\t */\n\tenterExpr?: (ctx: ExprContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.expr`.\n\t * @param ctx the parse tree\n\t */\n\texitExpr?: (ctx: ExprContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numMulDiv`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumMulDiv?: (ctx: NumMulDivContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numMulDiv`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumMulDiv?: (ctx: NumMulDivContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numAddSub`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumAddSub?: (ctx: NumAddSubContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numAddSub`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumAddSub?: (ctx: NumAddSubContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numParens`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumParens?: (ctx: NumParensContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numParens`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumParens?: (ctx: NumParensContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numLit`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumLit?: (ctx: NumLitContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numLit`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumLit?: (ctx: NumLitContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numFunCall`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumFunCall?: (ctx: NumFunCallContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numFunCall`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumFunCall?: (ctx: NumFunCallContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `numAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumAttributeRef?: (ctx: NumAttributeRefContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `numAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitNumAttributeRef?: (ctx: NumAttributeRefContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.numLiteral`.\n\t * @param ctx the parse tree\n\t */\n\tenterNumLiteral?: (ctx: NumLiteralContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.numLiteral`.\n\t * @param ctx the parse tree\n\t */\n\texitNumLiteral?: (ctx: NumLiteralContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `stringAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterStringAttributeRef?: (ctx: StringAttributeRefContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `stringAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitStringAttributeRef?: (ctx: StringAttributeRefContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `stringLiteral`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterStringLiteral?: (ctx: StringLiteralContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `stringLiteral`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitStringLiteral?: (ctx: StringLiteralContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `stringFunCall`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterStringFunCall?: (ctx: StringFunCallContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `stringFunCall`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitStringFunCall?: (ctx: StringFunCallContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `stringConcat`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\tenterStringConcat?: (ctx: StringConcatContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `stringConcat`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t */\n\texitStringConcat?: (ctx: StringConcatContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.objectRef`.\n\t * @param ctx the parse tree\n\t */\n\tenterObjectRef?: (ctx: ObjectRefContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.objectRef`.\n\t * @param ctx the parse tree\n\t */\n\texitObjectRef?: (ctx: ObjectRefContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.attributeRef`.\n\t * @param ctx the parse tree\n\t */\n\tenterAttributeRef?: (ctx: AttributeRefContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.attributeRef`.\n\t * @param ctx the parse tree\n\t */\n\texitAttributeRef?: (ctx: AttributeRefContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `nestedObjectChainInner`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t */\n\tenterNestedObjectChainInner?: (ctx: NestedObjectChainInnerContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `nestedObjectChainInner`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t */\n\texitNestedObjectChainInner?: (ctx: NestedObjectChainInnerContext) => void;\n\t/**\n\t * Enter a parse tree produced by the `nestedObjectChainEnd`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t */\n\tenterNestedObjectChainEnd?: (ctx: NestedObjectChainEndContext) => void;\n\t/**\n\t * Exit a parse tree produced by the `nestedObjectChainEnd`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t */\n\texitNestedObjectChainEnd?: (ctx: NestedObjectChainEndContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.namedRef`.\n\t * @param ctx the parse tree\n\t */\n\tenterNamedRef?: (ctx: NamedRefContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.namedRef`.\n\t * @param ctx the parse tree\n\t */\n\texitNamedRef?: (ctx: NamedRefContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.functionCall`.\n\t * @param ctx the parse tree\n\t */\n\tenterFunctionCall?: (ctx: FunctionCallContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.functionCall`.\n\t * @param ctx the parse tree\n\t */\n\texitFunctionCall?: (ctx: FunctionCallContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.exprList`.\n\t * @param ctx the parse tree\n\t */\n\tenterExprList?: (ctx: ExprListContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.exprList`.\n\t * @param ctx the parse tree\n\t */\n\texitExprList?: (ctx: ExprListContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.array`.\n\t * @param ctx the parse tree\n\t */\n\tenterArray?: (ctx: ArrayContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.array`.\n\t * @param ctx the parse tree\n\t */\n\texitArray?: (ctx: ArrayContext) => void;\n\t/**\n\t * Enter a parse tree produced by `IfcExpressionParser.arrayElementList`.\n\t * @param ctx the parse tree\n\t */\n\tenterArrayElementList?: (ctx: ArrayElementListContext) => void;\n\t/**\n\t * Exit a parse tree produced by `IfcExpressionParser.arrayElementList`.\n\t * @param ctx the parse tree\n\t */\n\texitArrayElementList?: (ctx: ArrayElementListContext) => void;\n}\n\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["parser/IfcExpressionParser.ts"],"names":[],"mappings":"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AAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;IACtE,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;IACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACvE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACvE,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;IACtE,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACtE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACtE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;IACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE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","file":"parser/IfcExpressionParser.js","sourcesContent":["// Generated from IfcExpression.g4 by ANTLR 4.13.0\n// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols\n\nimport {\n\tATN,\n\tATNDeserializer, DecisionState, DFA, FailedPredicateException,\n\tRecognitionException, NoViableAltException, BailErrorStrategy,\n\tParser, ParserATNSimulator,\n\tRuleContext, ParserRuleContext, PredictionMode, PredictionContextCache,\n\tTerminalNode, RuleNode,\n\tToken, TokenStream,\n\tInterval, IntervalSet\n} from 'antlr4';\nimport IfcExpressionListener from \"./IfcExpressionListener.js\";\nimport IfcExpressionVisitor from \"./IfcExpressionVisitor.js\";\n\n// for running tests with parameters, TODO: discuss strategy for typed parameters in CI\n// eslint-disable-next-line no-unused-vars\ntype int = number;\n\nexport default class IfcExpressionParser extends Parser {\n\tpublic static readonly T__0 = 1;\n\tpublic static readonly T__1 = 2;\n\tpublic static readonly T__2 = 3;\n\tpublic static readonly T__3 = 4;\n\tpublic static readonly T__4 = 5;\n\tpublic static readonly T__5 = 6;\n\tpublic static readonly T__6 = 7;\n\tpublic static readonly T__7 = 8;\n\tpublic static readonly T__8 = 9;\n\tpublic static readonly T__9 = 10;\n\tpublic static readonly T__10 = 11;\n\tpublic static readonly INT = 12;\n\tpublic static readonly FLOAT = 13;\n\tpublic static readonly PROP = 14;\n\tpublic static readonly ELEM = 15;\n\tpublic static readonly RESERVED_ATTRIBUTE_NAME = 16;\n\tpublic static readonly RESERVED_RELATION_NAME = 17;\n\tpublic static readonly QUOTED_STRING = 18;\n\tpublic static readonly BRACKETED_STRING = 19;\n\tpublic static readonly IDENTIFIER = 20;\n\tpublic static readonly WS = 21;\n\tpublic static readonly NEWLINE = 22;\n\tpublic static readonly EOF = Token.EOF;\n\tpublic static readonly RULE_expr = 0;\n\tpublic static readonly RULE_numExpr = 1;\n\tpublic static readonly RULE_numLiteral = 2;\n\tpublic static readonly RULE_stringExpr = 3;\n\tpublic static readonly RULE_objectRef = 4;\n\tpublic static readonly RULE_attributeRef = 5;\n\tpublic static readonly RULE_nestedObjectChain = 6;\n\tpublic static readonly RULE_namedRef = 7;\n\tpublic static readonly RULE_functionCall = 8;\n\tpublic static readonly RULE_exprList = 9;\n\tpublic static readonly RULE_array = 10;\n\tpublic static readonly RULE_arrayElementList = 11;\n\tpublic static readonly literalNames: (string | null)[] = [ null, \"'*'\", \n \"'/'\", \"'+'\", \n \"'-'\", \"'('\", \n \"')'\", \"'.'\", \n \"'@'\", \"','\", \n \"'['\", \"']'\" ];\n\tpublic static readonly symbolicNames: (string | null)[] = [ null, null, \n null, null, \n null, null, \n null, null, \n null, null, \n null, null, \n \"INT\", \"FLOAT\", \n \"PROP\", \"ELEM\", \n \"RESERVED_ATTRIBUTE_NAME\", \n \"RESERVED_RELATION_NAME\", \n \"QUOTED_STRING\", \n \"BRACKETED_STRING\", \n \"IDENTIFIER\", \n \"WS\", \"NEWLINE\" ];\n\t// tslint:disable:no-trailing-whitespace\n\tpublic static readonly ruleNames: string[] = [\n\t\t\"expr\", \"numExpr\", \"numLiteral\", \"stringExpr\", \"objectRef\", \"attributeRef\", \n\t\t\"nestedObjectChain\", \"namedRef\", \"functionCall\", \"exprList\", \"array\", \n\t\t\"arrayElementList\",\n\t];\n\tpublic get grammarFileName(): string { return \"IfcExpression.g4\"; }\n\tpublic get literalNames(): (string | null)[] { return IfcExpressionParser.literalNames; }\n\tpublic get symbolicNames(): (string | null)[] { return IfcExpressionParser.symbolicNames; }\n\tpublic get ruleNames(): string[] { return IfcExpressionParser.ruleNames; }\n\tpublic get serializedATN(): number[] { return IfcExpressionParser._serializedATN; }\n\n\tprotected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException {\n\t\treturn new FailedPredicateException(this, predicate, message);\n\t}\n\n\tconstructor(input: TokenStream) {\n\t\tsuper(input);\n\t\tthis._interp = new ParserATNSimulator(this, IfcExpressionParser._ATN, IfcExpressionParser.DecisionsToDFA, new PredictionContextCache());\n\t}\n\t// @RuleVersion(0)\n\tpublic expr(): ExprContext {\n\t\tlet localctx: ExprContext = new ExprContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 0, IfcExpressionParser.RULE_expr);\n\t\ttry {\n\t\t\tthis.state = 29;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch ( this._interp.adaptivePredict(this._input, 0, this._ctx) ) {\n\t\t\tcase 1:\n\t\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t\t{\n\t\t\t\tthis.state = 24;\n\t\t\t\tthis.attributeRef();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.enterOuterAlt(localctx, 2);\n\t\t\t\t{\n\t\t\t\tthis.state = 25;\n\t\t\t\tthis.functionCall();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tthis.enterOuterAlt(localctx, 3);\n\t\t\t\t{\n\t\t\t\tthis.state = 26;\n\t\t\t\tthis.numExpr(0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tthis.enterOuterAlt(localctx, 4);\n\t\t\t\t{\n\t\t\t\tthis.state = 27;\n\t\t\t\tthis.array();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tthis.enterOuterAlt(localctx, 5);\n\t\t\t\t{\n\t\t\t\tthis.state = 28;\n\t\t\t\tthis.stringExpr(0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\n\tpublic numExpr(): NumExprContext;\n\tpublic numExpr(_p: number): NumExprContext;\n\t// @RuleVersion(0)\n\tpublic numExpr(_p?: number): NumExprContext {\n\t\tif (_p === undefined) {\n\t\t\t_p = 0;\n\t\t}\n\n\t\tlet _parentctx: ParserRuleContext = this._ctx;\n\t\tlet _parentState: number = this.state;\n\t\tlet localctx: NumExprContext = new NumExprContext(this, this._ctx, _parentState);\n\t\tlet _prevctx: NumExprContext = localctx;\n\t\tlet _startState: number = 2;\n\t\tthis.enterRecursionRule(localctx, 2, IfcExpressionParser.RULE_numExpr, _p);\n\t\tlet _la: number;\n\t\ttry {\n\t\t\tlet _alt: number;\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 39;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch (this._input.LA(1)) {\n\t\t\tcase 12:\n\t\t\tcase 13:\n\t\t\t\t{\n\t\t\t\tlocalctx = new NumLitContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\n\t\t\t\tthis.state = 32;\n\t\t\t\tthis.numLiteral();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\t{\n\t\t\t\tlocalctx = new NumParensContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\t\t\t\tthis.state = 33;\n\t\t\t\tthis.match(IfcExpressionParser.T__4);\n\t\t\t\tthis.state = 34;\n\t\t\t\tthis.numExpr(0);\n\t\t\t\tthis.state = 35;\n\t\t\t\tthis.match(IfcExpressionParser.T__5);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 20:\n\t\t\t\t{\n\t\t\t\tlocalctx = new NumFunCallContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\t\t\t\tthis.state = 37;\n\t\t\t\tthis.functionCall();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 14:\n\t\t\tcase 15:\n\t\t\t\t{\n\t\t\t\tlocalctx = new NumAttributeRefContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\t\t\t\tthis.state = 38;\n\t\t\t\tthis.attributeRef();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NoViableAltException(this);\n\t\t\t}\n\t\t\tthis._ctx.stop = this._input.LT(-1);\n\t\t\tthis.state = 49;\n\t\t\tthis._errHandler.sync(this);\n\t\t\t_alt = this._interp.adaptivePredict(this._input, 3, this._ctx);\n\t\t\twhile (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {\n\t\t\t\tif (_alt === 1) {\n\t\t\t\t\tif (this._parseListeners != null) {\n\t\t\t\t\t\tthis.triggerExitRuleEvent();\n\t\t\t\t\t}\n\t\t\t\t\t_prevctx = localctx;\n\t\t\t\t\t{\n\t\t\t\t\tthis.state = 47;\n\t\t\t\t\tthis._errHandler.sync(this);\n\t\t\t\t\tswitch ( this._interp.adaptivePredict(this._input, 2, this._ctx) ) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\t{\n\t\t\t\t\t\tlocalctx = new NumMulDivContext(this, new NumExprContext(this, _parentctx, _parentState));\n\t\t\t\t\t\tthis.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_numExpr);\n\t\t\t\t\t\tthis.state = 41;\n\t\t\t\t\t\tif (!(this.precpred(this._ctx, 6))) {\n\t\t\t\t\t\t\tthrow this.createFailedPredicateException(\"this.precpred(this._ctx, 6)\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.state = 42;\n\t\t\t\t\t\t(localctx as NumMulDivContext)._op = this._input.LT(1);\n\t\t\t\t\t\t_la = this._input.LA(1);\n\t\t\t\t\t\tif(!(_la===1 || _la===2)) {\n\t\t\t\t\t\t (localctx as NumMulDivContext)._op = this._errHandler.recoverInline(this);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis._errHandler.reportMatch(this);\n\t\t\t\t\t\t this.consume();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.state = 43;\n\t\t\t\t\t\tthis.numExpr(7);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t{\n\t\t\t\t\t\tlocalctx = new NumAddSubContext(this, new NumExprContext(this, _parentctx, _parentState));\n\t\t\t\t\t\tthis.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_numExpr);\n\t\t\t\t\t\tthis.state = 44;\n\t\t\t\t\t\tif (!(this.precpred(this._ctx, 5))) {\n\t\t\t\t\t\t\tthrow this.createFailedPredicateException(\"this.precpred(this._ctx, 5)\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.state = 45;\n\t\t\t\t\t\t(localctx as NumAddSubContext)._op = this._input.LT(1);\n\t\t\t\t\t\t_la = this._input.LA(1);\n\t\t\t\t\t\tif(!(_la===3 || _la===4)) {\n\t\t\t\t\t\t (localctx as NumAddSubContext)._op = this._errHandler.recoverInline(this);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis._errHandler.reportMatch(this);\n\t\t\t\t\t\t this.consume();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.state = 46;\n\t\t\t\t\t\tthis.numExpr(6);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.state = 51;\n\t\t\t\tthis._errHandler.sync(this);\n\t\t\t\t_alt = this._interp.adaptivePredict(this._input, 3, this._ctx);\n\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.unrollRecursionContexts(_parentctx);\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic numLiteral(): NumLiteralContext {\n\t\tlet localctx: NumLiteralContext = new NumLiteralContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 4, IfcExpressionParser.RULE_numLiteral);\n\t\tlet _la: number;\n\t\ttry {\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 52;\n\t\t\t_la = this._input.LA(1);\n\t\t\tif(!(_la===12 || _la===13)) {\n\t\t\tthis._errHandler.recoverInline(this);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._errHandler.reportMatch(this);\n\t\t\t this.consume();\n\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\n\tpublic stringExpr(): StringExprContext;\n\tpublic stringExpr(_p: number): StringExprContext;\n\t// @RuleVersion(0)\n\tpublic stringExpr(_p?: number): StringExprContext {\n\t\tif (_p === undefined) {\n\t\t\t_p = 0;\n\t\t}\n\n\t\tlet _parentctx: ParserRuleContext = this._ctx;\n\t\tlet _parentState: number = this.state;\n\t\tlet localctx: StringExprContext = new StringExprContext(this, this._ctx, _parentState);\n\t\tlet _prevctx: StringExprContext = localctx;\n\t\tlet _startState: number = 6;\n\t\tthis.enterRecursionRule(localctx, 6, IfcExpressionParser.RULE_stringExpr, _p);\n\t\ttry {\n\t\t\tlet _alt: number;\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 58;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch (this._input.LA(1)) {\n\t\t\tcase 18:\n\t\t\t\t{\n\t\t\t\tlocalctx = new StringLiteralContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\n\t\t\t\tthis.state = 55;\n\t\t\t\tthis.match(IfcExpressionParser.QUOTED_STRING);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 20:\n\t\t\t\t{\n\t\t\t\tlocalctx = new StringFunCallContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\t\t\t\tthis.state = 56;\n\t\t\t\tthis.functionCall();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 14:\n\t\t\tcase 15:\n\t\t\t\t{\n\t\t\t\tlocalctx = new StringAttributeRefContext(this, localctx);\n\t\t\t\tthis._ctx = localctx;\n\t\t\t\t_prevctx = localctx;\n\t\t\t\tthis.state = 57;\n\t\t\t\tthis.attributeRef();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NoViableAltException(this);\n\t\t\t}\n\t\t\tthis._ctx.stop = this._input.LT(-1);\n\t\t\tthis.state = 65;\n\t\t\tthis._errHandler.sync(this);\n\t\t\t_alt = this._interp.adaptivePredict(this._input, 5, this._ctx);\n\t\t\twhile (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {\n\t\t\t\tif (_alt === 1) {\n\t\t\t\t\tif (this._parseListeners != null) {\n\t\t\t\t\t\tthis.triggerExitRuleEvent();\n\t\t\t\t\t}\n\t\t\t\t\t_prevctx = localctx;\n\t\t\t\t\t{\n\t\t\t\t\t{\n\t\t\t\t\tlocalctx = new StringConcatContext(this, new StringExprContext(this, _parentctx, _parentState));\n\t\t\t\t\t(localctx as StringConcatContext)._left = _prevctx;\n\t\t\t\t\tthis.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_stringExpr);\n\t\t\t\t\tthis.state = 60;\n\t\t\t\t\tif (!(this.precpred(this._ctx, 3))) {\n\t\t\t\t\t\tthrow this.createFailedPredicateException(\"this.precpred(this._ctx, 3)\");\n\t\t\t\t\t}\n\t\t\t\t\tthis.state = 61;\n\t\t\t\t\tthis.match(IfcExpressionParser.T__2);\n\t\t\t\t\tthis.state = 62;\n\t\t\t\t\t(localctx as StringConcatContext)._right = this.stringExpr(4);\n\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.state = 67;\n\t\t\t\tthis._errHandler.sync(this);\n\t\t\t\t_alt = this._interp.adaptivePredict(this._input, 5, this._ctx);\n\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.unrollRecursionContexts(_parentctx);\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic objectRef(): ObjectRefContext {\n\t\tlet localctx: ObjectRefContext = new ObjectRefContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 8, IfcExpressionParser.RULE_objectRef);\n\t\tlet _la: number;\n\t\ttry {\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 68;\n\t\t\t_la = this._input.LA(1);\n\t\t\tif(!(_la===14 || _la===15)) {\n\t\t\tthis._errHandler.recoverInline(this);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._errHandler.reportMatch(this);\n\t\t\t this.consume();\n\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic attributeRef(): AttributeRefContext {\n\t\tlet localctx: AttributeRefContext = new AttributeRefContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 10, IfcExpressionParser.RULE_attributeRef);\n\t\ttry {\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 70;\n\t\t\tthis.objectRef();\n\t\t\tthis.state = 71;\n\t\t\tthis.nestedObjectChain();\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic nestedObjectChain(): NestedObjectChainContext {\n\t\tlet localctx: NestedObjectChainContext = new NestedObjectChainContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 12, IfcExpressionParser.RULE_nestedObjectChain);\n\t\ttry {\n\t\t\tthis.state = 79;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch (this._input.LA(1)) {\n\t\t\tcase 7:\n\t\t\t\tlocalctx = new NestedObjectChainInnerContext(this, localctx);\n\t\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t\t{\n\t\t\t\tthis.state = 73;\n\t\t\t\tthis.match(IfcExpressionParser.T__6);\n\t\t\t\tthis.state = 74;\n\t\t\t\tthis.namedRef();\n\t\t\t\tthis.state = 75;\n\t\t\t\tthis.nestedObjectChain();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 8:\n\t\t\t\tlocalctx = new NestedObjectChainEndContext(this, localctx);\n\t\t\t\tthis.enterOuterAlt(localctx, 2);\n\t\t\t\t{\n\t\t\t\tthis.state = 77;\n\t\t\t\tthis.match(IfcExpressionParser.T__7);\n\t\t\t\tthis.state = 78;\n\t\t\t\t(localctx as NestedObjectChainEndContext)._name = this.match(IfcExpressionParser.RESERVED_ATTRIBUTE_NAME);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NoViableAltException(this);\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic namedRef(): NamedRefContext {\n\t\tlet localctx: NamedRefContext = new NamedRefContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 14, IfcExpressionParser.RULE_namedRef);\n\t\ttry {\n\t\t\tthis.state = 84;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch (this._input.LA(1)) {\n\t\t\tcase 17:\n\t\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t\t{\n\t\t\t\tthis.state = 81;\n\t\t\t\tlocalctx._name = this.match(IfcExpressionParser.RESERVED_RELATION_NAME);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 19:\n\t\t\t\tthis.enterOuterAlt(localctx, 2);\n\t\t\t\t{\n\t\t\t\tthis.state = 82;\n\t\t\t\tlocalctx._name = this.match(IfcExpressionParser.BRACKETED_STRING);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 20:\n\t\t\t\tthis.enterOuterAlt(localctx, 3);\n\t\t\t\t{\n\t\t\t\tthis.state = 83;\n\t\t\t\tlocalctx._name = this.match(IfcExpressionParser.IDENTIFIER);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NoViableAltException(this);\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic functionCall(): FunctionCallContext {\n\t\tlet localctx: FunctionCallContext = new FunctionCallContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 16, IfcExpressionParser.RULE_functionCall);\n\t\ttry {\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 86;\n\t\t\tlocalctx._name = this.match(IfcExpressionParser.IDENTIFIER);\n\t\t\tthis.state = 87;\n\t\t\tthis.match(IfcExpressionParser.T__4);\n\t\t\tthis.state = 88;\n\t\t\tthis.exprList();\n\t\t\tthis.state = 89;\n\t\t\tthis.match(IfcExpressionParser.T__5);\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic exprList(): ExprListContext {\n\t\tlet localctx: ExprListContext = new ExprListContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 18, IfcExpressionParser.RULE_exprList);\n\t\ttry {\n\t\t\tthis.state = 96;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch ( this._interp.adaptivePredict(this._input, 8, this._ctx) ) {\n\t\t\tcase 1:\n\t\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t\t{\n\t\t\t\tthis.state = 91;\n\t\t\t\tthis.expr();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.enterOuterAlt(localctx, 2);\n\t\t\t\t{\n\t\t\t\tthis.state = 92;\n\t\t\t\tthis.expr();\n\t\t\t\tthis.state = 93;\n\t\t\t\tthis.match(IfcExpressionParser.T__8);\n\t\t\t\tthis.state = 94;\n\t\t\t\tthis.exprList();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic array(): ArrayContext {\n\t\tlet localctx: ArrayContext = new ArrayContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 20, IfcExpressionParser.RULE_array);\n\t\ttry {\n\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t{\n\t\t\tthis.state = 98;\n\t\t\tthis.match(IfcExpressionParser.T__9);\n\t\t\tthis.state = 99;\n\t\t\tthis.arrayElementList();\n\t\t\tthis.state = 100;\n\t\t\tthis.match(IfcExpressionParser.T__10);\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\t// @RuleVersion(0)\n\tpublic arrayElementList(): ArrayElementListContext {\n\t\tlet localctx: ArrayElementListContext = new ArrayElementListContext(this, this._ctx, this.state);\n\t\tthis.enterRule(localctx, 22, IfcExpressionParser.RULE_arrayElementList);\n\t\ttry {\n\t\t\tthis.state = 107;\n\t\t\tthis._errHandler.sync(this);\n\t\t\tswitch ( this._interp.adaptivePredict(this._input, 9, this._ctx) ) {\n\t\t\tcase 1:\n\t\t\t\tthis.enterOuterAlt(localctx, 1);\n\t\t\t\t{\n\t\t\t\tthis.state = 102;\n\t\t\t\tthis.expr();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.enterOuterAlt(localctx, 2);\n\t\t\t\t{\n\t\t\t\tthis.state = 103;\n\t\t\t\tthis.expr();\n\t\t\t\tthis.state = 104;\n\t\t\t\tthis.match(IfcExpressionParser.T__8);\n\t\t\t\tthis.state = 105;\n\t\t\t\tthis.arrayElementList();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tcatch (re) {\n\t\t\tif (re instanceof RecognitionException) {\n\t\t\t\tlocalctx.exception = re;\n\t\t\t\tthis._errHandler.reportError(this, re);\n\t\t\t\tthis._errHandler.recover(this, re);\n\t\t\t} else {\n\t\t\t\tthrow re;\n\t\t\t}\n\t\t}\n\t\tfinally {\n\t\t\tthis.exitRule();\n\t\t}\n\t\treturn localctx;\n\t}\n\n\tpublic sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean {\n\t\tswitch (ruleIndex) {\n\t\tcase 1:\n\t\t\treturn this.numExpr_sempred(localctx as NumExprContext, predIndex);\n\t\tcase 3:\n\t\t\treturn this.stringExpr_sempred(localctx as StringExprContext, predIndex);\n\t\t}\n\t\treturn true;\n\t}\n\tprivate numExpr_sempred(localctx: NumExprContext, predIndex: number): boolean {\n\t\tswitch (predIndex) {\n\t\tcase 0:\n\t\t\treturn this.precpred(this._ctx, 6);\n\t\tcase 1:\n\t\t\treturn this.precpred(this._ctx, 5);\n\t\t}\n\t\treturn true;\n\t}\n\tprivate stringExpr_sempred(localctx: StringExprContext, predIndex: number): boolean {\n\t\tswitch (predIndex) {\n\t\tcase 2:\n\t\t\treturn this.precpred(this._ctx, 3);\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic static readonly _serializedATN: number[] = [4,1,22,110,2,0,7,0,2,\n\t1,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,\n\t10,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,\n\t1,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,\n\t1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,59,8,3,1,3,1,3,1,3,5,3,64,8,3,10,3,12,3,67,\n\t9,3,1,4,1,4,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,80,8,6,1,7,1,7,1,7,\n\t3,7,85,8,7,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,3,9,97,8,9,1,10,1,10,\n\t1,10,1,10,1,11,1,11,1,11,1,11,1,11,3,11,108,8,11,1,11,0,2,2,6,12,0,2,4,\n\t6,8,10,12,14,16,18,20,22,0,4,1,0,1,2,1,0,3,4,1,0,12,13,1,0,14,15,114,0,\n\t29,1,0,0,0,2,39,1,0,0,0,4,52,1,0,0,0,6,58,1,0,0,0,8,68,1,0,0,0,10,70,1,\n\t0,0,0,12,79,1,0,0,0,14,84,1,0,0,0,16,86,1,0,0,0,18,96,1,0,0,0,20,98,1,0,\n\t0,0,22,107,1,0,0,0,24,30,3,10,5,0,25,30,3,16,8,0,26,30,3,2,1,0,27,30,3,\n\t20,10,0,28,30,3,6,3,0,29,24,1,0,0,0,29,25,1,0,0,0,29,26,1,0,0,0,29,27,1,\n\t0,0,0,29,28,1,0,0,0,30,1,1,0,0,0,31,32,6,1,-1,0,32,40,3,4,2,0,33,34,5,5,\n\t0,0,34,35,3,2,1,0,35,36,5,6,0,0,36,40,1,0,0,0,37,40,3,16,8,0,38,40,3,10,\n\t5,0,39,31,1,0,0,0,39,33,1,0,0,0,39,37,1,0,0,0,39,38,1,0,0,0,40,49,1,0,0,\n\t0,41,42,10,6,0,0,42,43,7,0,0,0,43,48,3,2,1,7,44,45,10,5,0,0,45,46,7,1,0,\n\t0,46,48,3,2,1,6,47,41,1,0,0,0,47,44,1,0,0,0,48,51,1,0,0,0,49,47,1,0,0,0,\n\t49,50,1,0,0,0,50,3,1,0,0,0,51,49,1,0,0,0,52,53,7,2,0,0,53,5,1,0,0,0,54,\n\t55,6,3,-1,0,55,59,5,18,0,0,56,59,3,16,8,0,57,59,3,10,5,0,58,54,1,0,0,0,\n\t58,56,1,0,0,0,58,57,1,0,0,0,59,65,1,0,0,0,60,61,10,3,0,0,61,62,5,3,0,0,\n\t62,64,3,6,3,4,63,60,1,0,0,0,64,67,1,0,0,0,65,63,1,0,0,0,65,66,1,0,0,0,66,\n\t7,1,0,0,0,67,65,1,0,0,0,68,69,7,3,0,0,69,9,1,0,0,0,70,71,3,8,4,0,71,72,\n\t3,12,6,0,72,11,1,0,0,0,73,74,5,7,0,0,74,75,3,14,7,0,75,76,3,12,6,0,76,80,\n\t1,0,0,0,77,78,5,8,0,0,78,80,5,16,0,0,79,73,1,0,0,0,79,77,1,0,0,0,80,13,\n\t1,0,0,0,81,85,5,17,0,0,82,85,5,19,0,0,83,85,5,20,0,0,84,81,1,0,0,0,84,82,\n\t1,0,0,0,84,83,1,0,0,0,85,15,1,0,0,0,86,87,5,20,0,0,87,88,5,5,0,0,88,89,\n\t3,18,9,0,89,90,5,6,0,0,90,17,1,0,0,0,91,97,3,0,0,0,92,93,3,0,0,0,93,94,\n\t5,9,0,0,94,95,3,18,9,0,95,97,1,0,0,0,96,91,1,0,0,0,96,92,1,0,0,0,97,19,\n\t1,0,0,0,98,99,5,10,0,0,99,100,3,22,11,0,100,101,5,11,0,0,101,21,1,0,0,0,\n\t102,108,3,0,0,0,103,104,3,0,0,0,104,105,5,9,0,0,105,106,3,22,11,0,106,108,\n\t1,0,0,0,107,102,1,0,0,0,107,103,1,0,0,0,108,23,1,0,0,0,10,29,39,47,49,58,\n\t65,79,84,96,107];\n\n\tprivate static __ATN: ATN;\n\tpublic static get _ATN(): ATN {\n\t\tif (!IfcExpressionParser.__ATN) {\n\t\t\tIfcExpressionParser.__ATN = new ATNDeserializer().deserialize(IfcExpressionParser._serializedATN);\n\t\t}\n\n\t\treturn IfcExpressionParser.__ATN;\n\t}\n\n\n\tstatic DecisionsToDFA = IfcExpressionParser._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) );\n\n}\n\nexport class ExprContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic attributeRef(): AttributeRefContext {\n\t\treturn this.getTypedRuleContext(AttributeRefContext, 0) as AttributeRefContext;\n\t}\n\tpublic functionCall(): FunctionCallContext {\n\t\treturn this.getTypedRuleContext(FunctionCallContext, 0) as FunctionCallContext;\n\t}\n\tpublic numExpr(): NumExprContext {\n\t\treturn this.getTypedRuleContext(NumExprContext, 0) as NumExprContext;\n\t}\n\tpublic array(): ArrayContext {\n\t\treturn this.getTypedRuleContext(ArrayContext, 0) as ArrayContext;\n\t}\n\tpublic stringExpr(): StringExprContext {\n\t\treturn this.getTypedRuleContext(StringExprContext, 0) as StringExprContext;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_expr;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterExpr) {\n\t \t\tlistener.enterExpr(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitExpr) {\n\t \t\tlistener.exitExpr(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitExpr) {\n\t\t\treturn visitor.visitExpr(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class NumExprContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_numExpr;\n\t}\n\tpublic copyFrom(ctx: NumExprContext): void {\n\t\tsuper.copyFrom(ctx);\n\t}\n}\nexport class NumMulDivContext extends NumExprContext {\n\tpublic _op!: Token;\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic numExpr_list(): NumExprContext[] {\n\t\treturn this.getTypedRuleContexts(NumExprContext) as NumExprContext[];\n\t}\n\tpublic numExpr(i: number): NumExprContext {\n\t\treturn this.getTypedRuleContext(NumExprContext, i) as NumExprContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumMulDiv) {\n\t \t\tlistener.enterNumMulDiv(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumMulDiv) {\n\t \t\tlistener.exitNumMulDiv(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumMulDiv) {\n\t\t\treturn visitor.visitNumMulDiv(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NumAddSubContext extends NumExprContext {\n\tpublic _op!: Token;\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic numExpr_list(): NumExprContext[] {\n\t\treturn this.getTypedRuleContexts(NumExprContext) as NumExprContext[];\n\t}\n\tpublic numExpr(i: number): NumExprContext {\n\t\treturn this.getTypedRuleContext(NumExprContext, i) as NumExprContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumAddSub) {\n\t \t\tlistener.enterNumAddSub(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumAddSub) {\n\t \t\tlistener.exitNumAddSub(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumAddSub) {\n\t\t\treturn visitor.visitNumAddSub(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NumParensContext extends NumExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic numExpr(): NumExprContext {\n\t\treturn this.getTypedRuleContext(NumExprContext, 0) as NumExprContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumParens) {\n\t \t\tlistener.enterNumParens(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumParens) {\n\t \t\tlistener.exitNumParens(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumParens) {\n\t\t\treturn visitor.visitNumParens(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NumLitContext extends NumExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic numLiteral(): NumLiteralContext {\n\t\treturn this.getTypedRuleContext(NumLiteralContext, 0) as NumLiteralContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumLit) {\n\t \t\tlistener.enterNumLit(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumLit) {\n\t \t\tlistener.exitNumLit(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumLit) {\n\t\t\treturn visitor.visitNumLit(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NumFunCallContext extends NumExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic functionCall(): FunctionCallContext {\n\t\treturn this.getTypedRuleContext(FunctionCallContext, 0) as FunctionCallContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumFunCall) {\n\t \t\tlistener.enterNumFunCall(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumFunCall) {\n\t \t\tlistener.exitNumFunCall(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumFunCall) {\n\t\t\treturn visitor.visitNumFunCall(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NumAttributeRefContext extends NumExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: NumExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic attributeRef(): AttributeRefContext {\n\t\treturn this.getTypedRuleContext(AttributeRefContext, 0) as AttributeRefContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumAttributeRef) {\n\t \t\tlistener.enterNumAttributeRef(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumAttributeRef) {\n\t \t\tlistener.exitNumAttributeRef(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumAttributeRef) {\n\t\t\treturn visitor.visitNumAttributeRef(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class NumLiteralContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic INT(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.INT, 0);\n\t}\n\tpublic FLOAT(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.FLOAT, 0);\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_numLiteral;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNumLiteral) {\n\t \t\tlistener.enterNumLiteral(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNumLiteral) {\n\t \t\tlistener.exitNumLiteral(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNumLiteral) {\n\t\t\treturn visitor.visitNumLiteral(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class StringExprContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_stringExpr;\n\t}\n\tpublic copyFrom(ctx: StringExprContext): void {\n\t\tsuper.copyFrom(ctx);\n\t}\n}\nexport class StringAttributeRefContext extends StringExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: StringExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic attributeRef(): AttributeRefContext {\n\t\treturn this.getTypedRuleContext(AttributeRefContext, 0) as AttributeRefContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterStringAttributeRef) {\n\t \t\tlistener.enterStringAttributeRef(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitStringAttributeRef) {\n\t \t\tlistener.exitStringAttributeRef(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitStringAttributeRef) {\n\t\t\treturn visitor.visitStringAttributeRef(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class StringLiteralContext extends StringExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: StringExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic QUOTED_STRING(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.QUOTED_STRING, 0);\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterStringLiteral) {\n\t \t\tlistener.enterStringLiteral(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitStringLiteral) {\n\t \t\tlistener.exitStringLiteral(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitStringLiteral) {\n\t\t\treturn visitor.visitStringLiteral(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class StringFunCallContext extends StringExprContext {\n\tconstructor(parser: IfcExpressionParser, ctx: StringExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic functionCall(): FunctionCallContext {\n\t\treturn this.getTypedRuleContext(FunctionCallContext, 0) as FunctionCallContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterStringFunCall) {\n\t \t\tlistener.enterStringFunCall(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitStringFunCall) {\n\t \t\tlistener.exitStringFunCall(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitStringFunCall) {\n\t\t\treturn visitor.visitStringFunCall(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class StringConcatContext extends StringExprContext {\n\tpublic _left!: StringExprContext;\n\tpublic _right!: StringExprContext;\n\tconstructor(parser: IfcExpressionParser, ctx: StringExprContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic stringExpr_list(): StringExprContext[] {\n\t\treturn this.getTypedRuleContexts(StringExprContext) as StringExprContext[];\n\t}\n\tpublic stringExpr(i: number): StringExprContext {\n\t\treturn this.getTypedRuleContext(StringExprContext, i) as StringExprContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterStringConcat) {\n\t \t\tlistener.enterStringConcat(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitStringConcat) {\n\t \t\tlistener.exitStringConcat(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitStringConcat) {\n\t\t\treturn visitor.visitStringConcat(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class ObjectRefContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic PROP(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.PROP, 0);\n\t}\n\tpublic ELEM(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.ELEM, 0);\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_objectRef;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterObjectRef) {\n\t \t\tlistener.enterObjectRef(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitObjectRef) {\n\t \t\tlistener.exitObjectRef(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitObjectRef) {\n\t\t\treturn visitor.visitObjectRef(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class AttributeRefContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic objectRef(): ObjectRefContext {\n\t\treturn this.getTypedRuleContext(ObjectRefContext, 0) as ObjectRefContext;\n\t}\n\tpublic nestedObjectChain(): NestedObjectChainContext {\n\t\treturn this.getTypedRuleContext(NestedObjectChainContext, 0) as NestedObjectChainContext;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_attributeRef;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterAttributeRef) {\n\t \t\tlistener.enterAttributeRef(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitAttributeRef) {\n\t \t\tlistener.exitAttributeRef(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitAttributeRef) {\n\t\t\treturn visitor.visitAttributeRef(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class NestedObjectChainContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_nestedObjectChain;\n\t}\n\tpublic copyFrom(ctx: NestedObjectChainContext): void {\n\t\tsuper.copyFrom(ctx);\n\t}\n}\nexport class NestedObjectChainEndContext extends NestedObjectChainContext {\n\tpublic _name!: Token;\n\tconstructor(parser: IfcExpressionParser, ctx: NestedObjectChainContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic RESERVED_ATTRIBUTE_NAME(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.RESERVED_ATTRIBUTE_NAME, 0);\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNestedObjectChainEnd) {\n\t \t\tlistener.enterNestedObjectChainEnd(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNestedObjectChainEnd) {\n\t \t\tlistener.exitNestedObjectChainEnd(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNestedObjectChainEnd) {\n\t\t\treturn visitor.visitNestedObjectChainEnd(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\nexport class NestedObjectChainInnerContext extends NestedObjectChainContext {\n\tconstructor(parser: IfcExpressionParser, ctx: NestedObjectChainContext) {\n\t\tsuper(parser, ctx.parentCtx, ctx.invokingState);\n\t\tsuper.copyFrom(ctx);\n\t}\n\tpublic namedRef(): NamedRefContext {\n\t\treturn this.getTypedRuleContext(NamedRefContext, 0) as NamedRefContext;\n\t}\n\tpublic nestedObjectChain(): NestedObjectChainContext {\n\t\treturn this.getTypedRuleContext(NestedObjectChainContext, 0) as NestedObjectChainContext;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNestedObjectChainInner) {\n\t \t\tlistener.enterNestedObjectChainInner(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNestedObjectChainInner) {\n\t \t\tlistener.exitNestedObjectChainInner(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNestedObjectChainInner) {\n\t\t\treturn visitor.visitNestedObjectChainInner(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class NamedRefContext extends ParserRuleContext {\n\tpublic _name!: Token;\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic RESERVED_RELATION_NAME(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.RESERVED_RELATION_NAME, 0);\n\t}\n\tpublic BRACKETED_STRING(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.BRACKETED_STRING, 0);\n\t}\n\tpublic IDENTIFIER(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.IDENTIFIER, 0);\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_namedRef;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterNamedRef) {\n\t \t\tlistener.enterNamedRef(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitNamedRef) {\n\t \t\tlistener.exitNamedRef(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitNamedRef) {\n\t\t\treturn visitor.visitNamedRef(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class FunctionCallContext extends ParserRuleContext {\n\tpublic _name!: Token;\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic exprList(): ExprListContext {\n\t\treturn this.getTypedRuleContext(ExprListContext, 0) as ExprListContext;\n\t}\n\tpublic IDENTIFIER(): TerminalNode {\n\t\treturn this.getToken(IfcExpressionParser.IDENTIFIER, 0);\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_functionCall;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterFunctionCall) {\n\t \t\tlistener.enterFunctionCall(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitFunctionCall) {\n\t \t\tlistener.exitFunctionCall(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitFunctionCall) {\n\t\t\treturn visitor.visitFunctionCall(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class ExprListContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic expr(): ExprContext {\n\t\treturn this.getTypedRuleContext(ExprContext, 0) as ExprContext;\n\t}\n\tpublic exprList(): ExprListContext {\n\t\treturn this.getTypedRuleContext(ExprListContext, 0) as ExprListContext;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_exprList;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterExprList) {\n\t \t\tlistener.enterExprList(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitExprList) {\n\t \t\tlistener.exitExprList(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitExprList) {\n\t\t\treturn visitor.visitExprList(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class ArrayContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic arrayElementList(): ArrayElementListContext {\n\t\treturn this.getTypedRuleContext(ArrayElementListContext, 0) as ArrayElementListContext;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_array;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterArray) {\n\t \t\tlistener.enterArray(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitArray) {\n\t \t\tlistener.exitArray(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitArray) {\n\t\t\treturn visitor.visitArray(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n\n\nexport class ArrayElementListContext extends ParserRuleContext {\n\tconstructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number) {\n\t\tsuper(parent, invokingState);\n \tthis.parser = parser;\n\t}\n\tpublic expr(): ExprContext {\n\t\treturn this.getTypedRuleContext(ExprContext, 0) as ExprContext;\n\t}\n\tpublic arrayElementList(): ArrayElementListContext {\n\t\treturn this.getTypedRuleContext(ArrayElementListContext, 0) as ArrayElementListContext;\n\t}\n public get ruleIndex(): number {\n \treturn IfcExpressionParser.RULE_arrayElementList;\n\t}\n\tpublic enterRule(listener: IfcExpressionListener): void {\n\t if(listener.enterArrayElementList) {\n\t \t\tlistener.enterArrayElementList(this);\n\t\t}\n\t}\n\tpublic exitRule(listener: IfcExpressionListener): void {\n\t if(listener.exitArrayElementList) {\n\t \t\tlistener.exitArrayElementList(this);\n\t\t}\n\t}\n\t// @Override\n\tpublic accept<Result>(visitor: IfcExpressionVisitor<Result>): Result {\n\t\tif (visitor.visitArrayElementList) {\n\t\t\treturn visitor.visitArrayElementList(this);\n\t\t} else {\n\t\t\treturn visitor.visitChildren(this);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["parser/IfcExpressionVisitor.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,OAAO,EAAC,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AA0BxC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,oBAA6B,SAAQ,gBAAwB;CA2IjF","file":"parser/IfcExpressionVisitor.js","sourcesContent":["// Generated from IfcExpression.g4 by ANTLR 4.13.0\n\nimport {ParseTreeVisitor} from 'antlr4';\n\n\nimport { ExprContext } from \"./IfcExpressionParser\";\nimport { NumMulDivContext } from \"./IfcExpressionParser\";\nimport { NumAddSubContext } from \"./IfcExpressionParser\";\nimport { NumParensContext } from \"./IfcExpressionParser\";\nimport { NumLitContext } from \"./IfcExpressionParser\";\nimport { NumFunCallContext } from \"./IfcExpressionParser\";\nimport { NumAttributeRefContext } from \"./IfcExpressionParser\";\nimport { NumLiteralContext } from \"./IfcExpressionParser\";\nimport { StringAttributeRefContext } from \"./IfcExpressionParser\";\nimport { StringLiteralContext } from \"./IfcExpressionParser\";\nimport { StringFunCallContext } from \"./IfcExpressionParser\";\nimport { StringConcatContext } from \"./IfcExpressionParser\";\nimport { ObjectRefContext } from \"./IfcExpressionParser\";\nimport { AttributeRefContext } from \"./IfcExpressionParser\";\nimport { NestedObjectChainInnerContext } from \"./IfcExpressionParser\";\nimport { NestedObjectChainEndContext } from \"./IfcExpressionParser\";\nimport { NamedRefContext } from \"./IfcExpressionParser\";\nimport { FunctionCallContext } from \"./IfcExpressionParser\";\nimport { ExprListContext } from \"./IfcExpressionParser\";\nimport { ArrayContext } from \"./IfcExpressionParser\";\nimport { ArrayElementListContext } from \"./IfcExpressionParser\";\n\n\n/**\n * This interface defines a complete generic visitor for a parse tree produced\n * by `IfcExpressionParser`.\n *\n * @param <Result> The return type of the visit operation. Use `void` for\n * operations with no return type.\n */\nexport default class IfcExpressionVisitor<Result> extends ParseTreeVisitor<Result> {\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.expr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitExpr?: (ctx: ExprContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numMulDiv`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumMulDiv?: (ctx: NumMulDivContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numAddSub`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumAddSub?: (ctx: NumAddSubContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numParens`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumParens?: (ctx: NumParensContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numLit`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumLit?: (ctx: NumLitContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numFunCall`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumFunCall?: (ctx: NumFunCallContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `numAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.numExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumAttributeRef?: (ctx: NumAttributeRefContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.numLiteral`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNumLiteral?: (ctx: NumLiteralContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `stringAttributeRef`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitStringAttributeRef?: (ctx: StringAttributeRefContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `stringLiteral`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitStringLiteral?: (ctx: StringLiteralContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `stringFunCall`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitStringFunCall?: (ctx: StringFunCallContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `stringConcat`\n\t * labeled alternative in `IfcExpressionParser.stringExpr`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitStringConcat?: (ctx: StringConcatContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.objectRef`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitObjectRef?: (ctx: ObjectRefContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.attributeRef`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitAttributeRef?: (ctx: AttributeRefContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `nestedObjectChainInner`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNestedObjectChainInner?: (ctx: NestedObjectChainInnerContext) => Result;\n\t/**\n\t * Visit a parse tree produced by the `nestedObjectChainEnd`\n\t * labeled alternative in `IfcExpressionParser.nestedObjectChain`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNestedObjectChainEnd?: (ctx: NestedObjectChainEndContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.namedRef`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitNamedRef?: (ctx: NamedRefContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.functionCall`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitFunctionCall?: (ctx: FunctionCallContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.exprList`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitExprList?: (ctx: ExprListContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.array`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitArray?: (ctx: ArrayContext) => Result;\n\t/**\n\t * Visit a parse tree produced by `IfcExpressionParser.arrayElementList`.\n\t * @param ctx the parse tree\n\t * @return the visitor result\n\t */\n\tvisitArrayElementList?: (ctx: ArrayElementListContext) => Result;\n}\n\n"]}
|
package/dist/mjs/utils.js
DELETED
package/dist/mjs/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC","file":"utils.js","sourcesContent":["export function nullish(val: any) {\n return typeof val !== \"undefined\" && val !== null;\n}\n\nexport function notNullish(val: any): boolean {\n return nullish(val);\n}\n"]}
|
package/dist/utils.d.ts
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|