ifc-expressions 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/ExprVisitor.d.ts +3 -3
  2. package/dist/IfcExpression.d.ts +25 -23
  3. package/dist/IfcExpressionErrorListener.d.ts +1 -1
  4. package/dist/IfcExpressionUtils.d.ts +2 -0
  5. package/dist/cjs/ExprVisitor.js +126 -0
  6. package/dist/cjs/ExprVisitor.js.map +1 -0
  7. package/dist/cjs/IfcExpression.js +43 -40
  8. package/dist/cjs/IfcExpression.js.map +1 -0
  9. package/dist/cjs/IfcExpressionErrorListener.js +23 -0
  10. package/dist/cjs/IfcExpressionErrorListener.js.map +1 -0
  11. package/dist/cjs/IfcExpressionUtils.js +12 -0
  12. package/dist/cjs/IfcExpressionUtils.js.map +1 -0
  13. package/dist/cjs/SyntaxErrorException.js +24 -0
  14. package/dist/cjs/SyntaxErrorException.js.map +1 -0
  15. package/dist/cjs/context/IfcElementAccessor.js +34 -0
  16. package/dist/cjs/context/IfcElementAccessor.js.map +1 -0
  17. package/dist/cjs/context/IfcExpressionContext.js +3 -0
  18. package/dist/cjs/context/IfcExpressionContext.js.map +1 -0
  19. package/dist/cjs/context/IfcPropertyAccessor.js +28 -0
  20. package/dist/cjs/context/IfcPropertyAccessor.js.map +1 -0
  21. package/dist/cjs/context/IfcPropertySetAccessor.js +17 -0
  22. package/dist/cjs/context/IfcPropertySetAccessor.js.map +1 -0
  23. package/dist/cjs/context/IfcRootObjectAccessor.js +19 -0
  24. package/dist/cjs/context/IfcRootObjectAccessor.js.map +1 -0
  25. package/dist/cjs/context/IfcTypeObjectAccessor.js +22 -0
  26. package/dist/cjs/context/IfcTypeObjectAccessor.js.map +1 -0
  27. package/dist/cjs/context/NamedObjectAccessor.js +26 -0
  28. package/dist/cjs/context/NamedObjectAccessor.js.map +1 -0
  29. package/dist/cjs/context/ObjectAccessor.js +3 -0
  30. package/dist/cjs/context/ObjectAccessor.js.map +1 -0
  31. package/dist/cjs/expression/ArrayExpr.js +3 -0
  32. package/dist/cjs/expression/ArrayExpr.js.map +1 -0
  33. package/dist/cjs/expression/Expr.js +3 -0
  34. package/dist/cjs/expression/Expr.js.map +1 -0
  35. package/dist/cjs/expression/Expr0.js +8 -0
  36. package/dist/cjs/expression/Expr0.js.map +1 -0
  37. package/dist/cjs/expression/Expr1.js +10 -0
  38. package/dist/cjs/expression/Expr1.js.map +1 -0
  39. package/dist/cjs/expression/Expr2.js +11 -0
  40. package/dist/cjs/expression/Expr2.js.map +1 -0
  41. package/dist/cjs/expression/IfcExpressionEvaluationException.js +10 -0
  42. package/dist/cjs/expression/IfcExpressionEvaluationException.js.map +1 -0
  43. package/dist/cjs/expression/numeric/DivideExpr.js +18 -0
  44. package/dist/cjs/expression/numeric/DivideExpr.js.map +1 -0
  45. package/dist/cjs/expression/numeric/MinusExpr.js +18 -0
  46. package/dist/cjs/expression/numeric/MinusExpr.js.map +1 -0
  47. package/dist/cjs/expression/numeric/MultiplyByExpr.js +18 -0
  48. package/dist/cjs/expression/numeric/MultiplyByExpr.js.map +1 -0
  49. package/dist/cjs/expression/numeric/MultiplyExpr.js +18 -0
  50. package/dist/cjs/expression/numeric/MultiplyExpr.js.map +1 -0
  51. package/dist/cjs/expression/numeric/NumParenthesisExpr.js +14 -0
  52. package/dist/cjs/expression/numeric/NumParenthesisExpr.js.map +1 -0
  53. package/dist/cjs/expression/numeric/NumericLiteralExpr.js +14 -0
  54. package/dist/cjs/expression/numeric/NumericLiteralExpr.js.map +1 -0
  55. package/dist/cjs/expression/numeric/PlusExpr.js +18 -0
  56. package/dist/cjs/expression/numeric/PlusExpr.js.map +1 -0
  57. package/dist/cjs/expression/reference/AttributeReferenceExpr.js +16 -0
  58. package/dist/cjs/expression/reference/AttributeReferenceExpr.js.map +1 -0
  59. package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js +14 -0
  60. package/dist/cjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -0
  61. package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js +14 -0
  62. package/dist/cjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -0
  63. package/dist/cjs/expression/reference/NestedObjectChainExpr.js +15 -0
  64. package/dist/cjs/expression/reference/NestedObjectChainExpr.js.map +1 -0
  65. package/dist/cjs/expression/reference/ObjectReferenceExpr.js +3 -0
  66. package/dist/cjs/expression/reference/ObjectReferenceExpr.js.map +1 -0
  67. package/dist/cjs/expression/reference/PropObjectReferenceExpr.js +14 -0
  68. package/dist/cjs/expression/reference/PropObjectReferenceExpr.js.map +1 -0
  69. package/dist/cjs/expression/string/StringConcatExpr.js +15 -0
  70. package/dist/cjs/expression/string/StringConcatExpr.js.map +1 -0
  71. package/dist/cjs/expression/string/StringLiteralExpr.js +14 -0
  72. package/dist/cjs/expression/string/StringLiteralExpr.js.map +1 -0
  73. package/dist/cjs/gen/parser/IfcExpressionLexer.js +140 -0
  74. package/dist/cjs/gen/parser/IfcExpressionLexer.js.map +1 -0
  75. package/dist/cjs/gen/parser/IfcExpressionListener.js +12 -0
  76. package/dist/cjs/gen/parser/IfcExpressionListener.js.map +1 -0
  77. package/dist/cjs/gen/parser/IfcExpressionParser.js +1514 -0
  78. package/dist/cjs/gen/parser/IfcExpressionParser.js.map +1 -0
  79. package/dist/cjs/gen/parser/IfcExpressionVisitor.js +15 -0
  80. package/dist/cjs/gen/parser/IfcExpressionVisitor.js.map +1 -0
  81. package/dist/cjs/package.json +1 -0
  82. package/dist/cjs/value/BooleanValue.js +14 -0
  83. package/dist/cjs/value/BooleanValue.js.map +1 -0
  84. package/dist/cjs/value/LiteralValue.js +3 -0
  85. package/dist/cjs/value/LiteralValue.js.map +1 -0
  86. package/dist/cjs/value/LiteralValueAnyArity.js +3 -0
  87. package/dist/cjs/value/LiteralValueAnyArity.js.map +1 -0
  88. package/dist/cjs/value/LogicalValue.js +14 -0
  89. package/dist/cjs/value/LogicalValue.js.map +1 -0
  90. package/dist/cjs/value/NumericValue.js +18 -0
  91. package/dist/cjs/value/NumericValue.js.map +1 -0
  92. package/dist/cjs/value/PrimitiveValueType.js +3 -0
  93. package/dist/cjs/value/PrimitiveValueType.js.map +1 -0
  94. package/dist/cjs/value/ReferenceValue.js +14 -0
  95. package/dist/cjs/value/ReferenceValue.js.map +1 -0
  96. package/dist/cjs/value/StringValue.js +14 -0
  97. package/dist/cjs/value/StringValue.js.map +1 -0
  98. package/dist/cjs/value/Value.js +13 -0
  99. package/dist/cjs/value/Value.js.map +1 -0
  100. package/dist/context/IfcElementAccessor.d.ts +18 -0
  101. package/dist/context/IfcExpressionContext.d.ts +6 -0
  102. package/dist/context/IfcPropertyAccessor.d.ts +12 -0
  103. package/dist/context/IfcPropertySetAccessor.d.ts +11 -0
  104. package/dist/context/IfcRootObjectAccessor.d.ts +7 -0
  105. package/dist/context/IfcTypeObjectAccessor.d.ts +13 -0
  106. package/dist/context/NamedObjectAccessor.d.ts +10 -0
  107. package/dist/context/ObjectAccessor.d.ts +16 -0
  108. package/dist/expression/ArrayExpr.d.ts +3 -0
  109. package/dist/expression/Expr.d.ts +4 -0
  110. package/dist/expression/Expr0.d.ts +6 -0
  111. package/dist/expression/Expr1.d.ts +7 -0
  112. package/dist/expression/Expr2.d.ts +8 -0
  113. package/dist/expression/IfcExpressionEvaluationException.d.ts +3 -0
  114. package/dist/expression/numeric/DivideExpr.d.ts +8 -0
  115. package/dist/expression/numeric/MinusExpr.d.ts +8 -0
  116. package/dist/expression/numeric/MultiplyByExpr.d.ts +8 -0
  117. package/dist/expression/numeric/MultiplyExpr.d.ts +8 -0
  118. package/dist/expression/numeric/NumParenthesisExpr.d.ts +8 -0
  119. package/dist/expression/numeric/NumericLiteralExpr.d.ts +7 -0
  120. package/dist/expression/numeric/PlusExpr.d.ts +8 -0
  121. package/dist/expression/reference/AttributeReferenceExpr.d.ts +9 -0
  122. package/dist/expression/reference/ElemObjectReferenceExpr.d.ts +8 -0
  123. package/dist/expression/reference/NestedObjectChainEndExpr.d.ts +8 -0
  124. package/dist/expression/reference/NestedObjectChainExpr.d.ts +9 -0
  125. package/dist/expression/reference/ObjectReferenceExpr.d.ts +4 -0
  126. package/dist/expression/reference/PropObjectReferenceExpr.d.ts +8 -0
  127. package/dist/expression/string/StringConcatExpr.d.ts +8 -0
  128. package/dist/expression/string/StringLiteralExpr.d.ts +7 -0
  129. package/dist/gen/parser/IfcExpressionLexer.d.ts +43 -0
  130. package/dist/gen/parser/IfcExpressionListener.d.ts +262 -0
  131. package/dist/gen/parser/IfcExpressionParser.d.ts +265 -0
  132. package/dist/gen/parser/IfcExpressionVisitor.d.ts +169 -0
  133. package/dist/mjs/ExprVisitor.js +119 -0
  134. package/dist/mjs/ExprVisitor.js.map +1 -0
  135. package/dist/mjs/IfcExpression.js +48 -0
  136. package/dist/mjs/IfcExpression.js.map +1 -0
  137. package/dist/mjs/IfcExpressionErrorListener.js +19 -0
  138. package/dist/mjs/IfcExpressionErrorListener.js.map +1 -0
  139. package/dist/mjs/IfcExpressionUtils.js +7 -0
  140. package/dist/mjs/IfcExpressionUtils.js.map +1 -0
  141. package/dist/mjs/SyntaxErrorException.js +20 -0
  142. package/dist/mjs/SyntaxErrorException.js.map +1 -0
  143. package/dist/mjs/context/IfcElementAccessor.js +30 -0
  144. package/dist/mjs/context/IfcElementAccessor.js.map +1 -0
  145. package/dist/mjs/context/IfcExpressionContext.js +2 -0
  146. package/dist/mjs/context/IfcExpressionContext.js.map +1 -0
  147. package/dist/mjs/context/IfcPropertyAccessor.js +24 -0
  148. package/dist/mjs/context/IfcPropertyAccessor.js.map +1 -0
  149. package/dist/mjs/context/IfcPropertySetAccessor.js +13 -0
  150. package/dist/mjs/context/IfcPropertySetAccessor.js.map +1 -0
  151. package/dist/mjs/context/IfcRootObjectAccessor.js +15 -0
  152. package/dist/mjs/context/IfcRootObjectAccessor.js.map +1 -0
  153. package/dist/mjs/context/IfcTypeObjectAccessor.js +18 -0
  154. package/dist/mjs/context/IfcTypeObjectAccessor.js.map +1 -0
  155. package/dist/mjs/context/NamedObjectAccessor.js +22 -0
  156. package/dist/mjs/context/NamedObjectAccessor.js.map +1 -0
  157. package/dist/mjs/context/ObjectAccessor.js +2 -0
  158. package/dist/mjs/context/ObjectAccessor.js.map +1 -0
  159. package/dist/mjs/expression/ArrayExpr.js +2 -0
  160. package/dist/mjs/expression/ArrayExpr.js.map +1 -0
  161. package/dist/mjs/expression/Expr.js +2 -0
  162. package/dist/mjs/expression/Expr.js.map +1 -0
  163. package/dist/mjs/expression/Expr0.js +4 -0
  164. package/dist/mjs/expression/Expr0.js.map +1 -0
  165. package/dist/mjs/expression/Expr1.js +6 -0
  166. package/dist/mjs/expression/Expr1.js.map +1 -0
  167. package/dist/mjs/expression/Expr2.js +7 -0
  168. package/dist/mjs/expression/Expr2.js.map +1 -0
  169. package/dist/mjs/expression/IfcExpressionEvaluationException.js +6 -0
  170. package/dist/mjs/expression/IfcExpressionEvaluationException.js.map +1 -0
  171. package/dist/mjs/expression/numeric/DivideExpr.js +14 -0
  172. package/dist/mjs/expression/numeric/DivideExpr.js.map +1 -0
  173. package/dist/mjs/expression/numeric/MinusExpr.js +14 -0
  174. package/dist/mjs/expression/numeric/MinusExpr.js.map +1 -0
  175. package/dist/mjs/expression/numeric/MultiplyByExpr.js +14 -0
  176. package/dist/mjs/expression/numeric/MultiplyByExpr.js.map +1 -0
  177. package/dist/mjs/expression/numeric/MultiplyExpr.js +14 -0
  178. package/dist/mjs/expression/numeric/MultiplyExpr.js.map +1 -0
  179. package/dist/mjs/expression/numeric/NumParenthesisExpr.js +10 -0
  180. package/dist/mjs/expression/numeric/NumParenthesisExpr.js.map +1 -0
  181. package/dist/mjs/expression/numeric/NumericLiteralExpr.js +10 -0
  182. package/dist/mjs/expression/numeric/NumericLiteralExpr.js.map +1 -0
  183. package/dist/mjs/expression/numeric/PlusExpr.js +14 -0
  184. package/dist/mjs/expression/numeric/PlusExpr.js.map +1 -0
  185. package/dist/mjs/expression/reference/AttributeReferenceExpr.js +12 -0
  186. package/dist/mjs/expression/reference/AttributeReferenceExpr.js.map +1 -0
  187. package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js +10 -0
  188. package/dist/mjs/expression/reference/ElemObjectReferenceExpr.js.map +1 -0
  189. package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js +10 -0
  190. package/dist/mjs/expression/reference/NestedObjectChainEndExpr.js.map +1 -0
  191. package/dist/mjs/expression/reference/NestedObjectChainExpr.js +11 -0
  192. package/dist/mjs/expression/reference/NestedObjectChainExpr.js.map +1 -0
  193. package/dist/mjs/expression/reference/ObjectReferenceExpr.js +2 -0
  194. package/dist/mjs/expression/reference/ObjectReferenceExpr.js.map +1 -0
  195. package/dist/mjs/expression/reference/PropObjectReferenceExpr.js +10 -0
  196. package/dist/mjs/expression/reference/PropObjectReferenceExpr.js.map +1 -0
  197. package/dist/mjs/expression/string/StringConcatExpr.js +11 -0
  198. package/dist/mjs/expression/string/StringConcatExpr.js.map +1 -0
  199. package/dist/mjs/expression/string/StringLiteralExpr.js +10 -0
  200. package/dist/mjs/expression/string/StringLiteralExpr.js.map +1 -0
  201. package/dist/mjs/gen/parser/IfcExpressionLexer.js +138 -0
  202. package/dist/mjs/gen/parser/IfcExpressionLexer.js.map +1 -0
  203. package/dist/mjs/gen/parser/IfcExpressionListener.js +9 -0
  204. package/dist/mjs/gen/parser/IfcExpressionListener.js.map +1 -0
  205. package/dist/mjs/gen/parser/IfcExpressionParser.js +1487 -0
  206. package/dist/mjs/gen/parser/IfcExpressionParser.js.map +1 -0
  207. package/dist/mjs/gen/parser/IfcExpressionVisitor.js +12 -0
  208. package/dist/mjs/gen/parser/IfcExpressionVisitor.js.map +1 -0
  209. package/dist/mjs/package.json +1 -0
  210. package/dist/mjs/value/BooleanValue.js +10 -0
  211. package/dist/mjs/value/BooleanValue.js.map +1 -0
  212. package/dist/mjs/value/LiteralValue.js +2 -0
  213. package/dist/mjs/value/LiteralValue.js.map +1 -0
  214. package/dist/mjs/value/LiteralValueAnyArity.js +2 -0
  215. package/dist/mjs/value/LiteralValueAnyArity.js.map +1 -0
  216. package/dist/mjs/value/LogicalValue.js +10 -0
  217. package/dist/mjs/value/LogicalValue.js.map +1 -0
  218. package/dist/mjs/value/NumericValue.js +11 -0
  219. package/dist/mjs/value/NumericValue.js.map +1 -0
  220. package/dist/mjs/value/PrimitiveValueType.js +2 -0
  221. package/dist/mjs/value/PrimitiveValueType.js.map +1 -0
  222. package/dist/mjs/value/ReferenceValue.js +10 -0
  223. package/dist/mjs/value/ReferenceValue.js.map +1 -0
  224. package/dist/mjs/value/StringValue.js +10 -0
  225. package/dist/mjs/value/StringValue.js.map +1 -0
  226. package/dist/mjs/value/Value.js +9 -0
  227. package/dist/mjs/value/Value.js.map +1 -0
  228. package/dist/value/BooleanValue.d.ts +5 -0
  229. package/dist/value/LiteralValue.d.ts +6 -0
  230. package/dist/value/LiteralValueAnyArity.d.ts +2 -0
  231. package/dist/value/LogicalValue.d.ts +5 -0
  232. package/dist/value/NumericValue.d.ts +6 -0
  233. package/dist/value/PrimitiveValueType.d.ts +2 -0
  234. package/dist/value/ReferenceValue.d.ts +5 -0
  235. package/dist/value/StringValue.d.ts +5 -0
  236. package/dist/value/Value.d.ts +6 -0
  237. package/package.json +3 -2
  238. package/dist/utils.d.ts +0 -2
@@ -0,0 +1,1487 @@
1
+ // Generated from IfcExpression.g4 by ANTLR 4.13.0
2
+ // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
3
+ import { ATN, ATNDeserializer, DFA, FailedPredicateException, RecognitionException, NoViableAltException, Parser, ParserATNSimulator, ParserRuleContext, PredictionContextCache, Token } from 'antlr4';
4
+ class IfcExpressionParser extends Parser {
5
+ get grammarFileName() { return "IfcExpression.g4"; }
6
+ get literalNames() { return IfcExpressionParser.literalNames; }
7
+ get symbolicNames() { return IfcExpressionParser.symbolicNames; }
8
+ get ruleNames() { return IfcExpressionParser.ruleNames; }
9
+ get serializedATN() { return IfcExpressionParser._serializedATN; }
10
+ createFailedPredicateException(predicate, message) {
11
+ return new FailedPredicateException(this, predicate, message);
12
+ }
13
+ constructor(input) {
14
+ super(input);
15
+ this._interp = new ParserATNSimulator(this, IfcExpressionParser._ATN, IfcExpressionParser.DecisionsToDFA, new PredictionContextCache());
16
+ }
17
+ // @RuleVersion(0)
18
+ expr() {
19
+ let localctx = new ExprContext(this, this._ctx, this.state);
20
+ this.enterRule(localctx, 0, IfcExpressionParser.RULE_expr);
21
+ try {
22
+ this.state = 29;
23
+ this._errHandler.sync(this);
24
+ switch (this._interp.adaptivePredict(this._input, 0, this._ctx)) {
25
+ case 1:
26
+ this.enterOuterAlt(localctx, 1);
27
+ {
28
+ this.state = 24;
29
+ this.attributeRef();
30
+ }
31
+ break;
32
+ case 2:
33
+ this.enterOuterAlt(localctx, 2);
34
+ {
35
+ this.state = 25;
36
+ this.functionCall();
37
+ }
38
+ break;
39
+ case 3:
40
+ this.enterOuterAlt(localctx, 3);
41
+ {
42
+ this.state = 26;
43
+ this.numExpr(0);
44
+ }
45
+ break;
46
+ case 4:
47
+ this.enterOuterAlt(localctx, 4);
48
+ {
49
+ this.state = 27;
50
+ this.array();
51
+ }
52
+ break;
53
+ case 5:
54
+ this.enterOuterAlt(localctx, 5);
55
+ {
56
+ this.state = 28;
57
+ this.stringExpr(0);
58
+ }
59
+ break;
60
+ }
61
+ }
62
+ catch (re) {
63
+ if (re instanceof RecognitionException) {
64
+ localctx.exception = re;
65
+ this._errHandler.reportError(this, re);
66
+ this._errHandler.recover(this, re);
67
+ }
68
+ else {
69
+ throw re;
70
+ }
71
+ }
72
+ finally {
73
+ this.exitRule();
74
+ }
75
+ return localctx;
76
+ }
77
+ // @RuleVersion(0)
78
+ numExpr(_p) {
79
+ if (_p === undefined) {
80
+ _p = 0;
81
+ }
82
+ let _parentctx = this._ctx;
83
+ let _parentState = this.state;
84
+ let localctx = new NumExprContext(this, this._ctx, _parentState);
85
+ let _prevctx = localctx;
86
+ let _startState = 2;
87
+ this.enterRecursionRule(localctx, 2, IfcExpressionParser.RULE_numExpr, _p);
88
+ let _la;
89
+ try {
90
+ let _alt;
91
+ this.enterOuterAlt(localctx, 1);
92
+ {
93
+ this.state = 39;
94
+ this._errHandler.sync(this);
95
+ switch (this._input.LA(1)) {
96
+ case 12:
97
+ case 13:
98
+ {
99
+ localctx = new NumLitContext(this, localctx);
100
+ this._ctx = localctx;
101
+ _prevctx = localctx;
102
+ this.state = 32;
103
+ this.numLiteral();
104
+ }
105
+ break;
106
+ case 5:
107
+ {
108
+ localctx = new NumParensContext(this, localctx);
109
+ this._ctx = localctx;
110
+ _prevctx = localctx;
111
+ this.state = 33;
112
+ this.match(IfcExpressionParser.T__4);
113
+ this.state = 34;
114
+ this.numExpr(0);
115
+ this.state = 35;
116
+ this.match(IfcExpressionParser.T__5);
117
+ }
118
+ break;
119
+ case 20:
120
+ {
121
+ localctx = new NumFunCallContext(this, localctx);
122
+ this._ctx = localctx;
123
+ _prevctx = localctx;
124
+ this.state = 37;
125
+ this.functionCall();
126
+ }
127
+ break;
128
+ case 14:
129
+ case 15:
130
+ {
131
+ localctx = new NumAttributeRefContext(this, localctx);
132
+ this._ctx = localctx;
133
+ _prevctx = localctx;
134
+ this.state = 38;
135
+ this.attributeRef();
136
+ }
137
+ break;
138
+ default:
139
+ throw new NoViableAltException(this);
140
+ }
141
+ this._ctx.stop = this._input.LT(-1);
142
+ this.state = 49;
143
+ this._errHandler.sync(this);
144
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
145
+ while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
146
+ if (_alt === 1) {
147
+ if (this._parseListeners != null) {
148
+ this.triggerExitRuleEvent();
149
+ }
150
+ _prevctx = localctx;
151
+ {
152
+ this.state = 47;
153
+ this._errHandler.sync(this);
154
+ switch (this._interp.adaptivePredict(this._input, 2, this._ctx)) {
155
+ case 1:
156
+ {
157
+ localctx = new NumMulDivContext(this, new NumExprContext(this, _parentctx, _parentState));
158
+ this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_numExpr);
159
+ this.state = 41;
160
+ if (!(this.precpred(this._ctx, 6))) {
161
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 6)");
162
+ }
163
+ this.state = 42;
164
+ localctx._op = this._input.LT(1);
165
+ _la = this._input.LA(1);
166
+ if (!(_la === 1 || _la === 2)) {
167
+ localctx._op = this._errHandler.recoverInline(this);
168
+ }
169
+ else {
170
+ this._errHandler.reportMatch(this);
171
+ this.consume();
172
+ }
173
+ this.state = 43;
174
+ this.numExpr(7);
175
+ }
176
+ break;
177
+ case 2:
178
+ {
179
+ localctx = new NumAddSubContext(this, new NumExprContext(this, _parentctx, _parentState));
180
+ this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_numExpr);
181
+ this.state = 44;
182
+ if (!(this.precpred(this._ctx, 5))) {
183
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
184
+ }
185
+ this.state = 45;
186
+ localctx._op = this._input.LT(1);
187
+ _la = this._input.LA(1);
188
+ if (!(_la === 3 || _la === 4)) {
189
+ localctx._op = this._errHandler.recoverInline(this);
190
+ }
191
+ else {
192
+ this._errHandler.reportMatch(this);
193
+ this.consume();
194
+ }
195
+ this.state = 46;
196
+ this.numExpr(6);
197
+ }
198
+ break;
199
+ }
200
+ }
201
+ }
202
+ this.state = 51;
203
+ this._errHandler.sync(this);
204
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
205
+ }
206
+ }
207
+ }
208
+ catch (re) {
209
+ if (re instanceof RecognitionException) {
210
+ localctx.exception = re;
211
+ this._errHandler.reportError(this, re);
212
+ this._errHandler.recover(this, re);
213
+ }
214
+ else {
215
+ throw re;
216
+ }
217
+ }
218
+ finally {
219
+ this.unrollRecursionContexts(_parentctx);
220
+ }
221
+ return localctx;
222
+ }
223
+ // @RuleVersion(0)
224
+ numLiteral() {
225
+ let localctx = new NumLiteralContext(this, this._ctx, this.state);
226
+ this.enterRule(localctx, 4, IfcExpressionParser.RULE_numLiteral);
227
+ let _la;
228
+ try {
229
+ this.enterOuterAlt(localctx, 1);
230
+ {
231
+ this.state = 52;
232
+ _la = this._input.LA(1);
233
+ if (!(_la === 12 || _la === 13)) {
234
+ this._errHandler.recoverInline(this);
235
+ }
236
+ else {
237
+ this._errHandler.reportMatch(this);
238
+ this.consume();
239
+ }
240
+ }
241
+ }
242
+ catch (re) {
243
+ if (re instanceof RecognitionException) {
244
+ localctx.exception = re;
245
+ this._errHandler.reportError(this, re);
246
+ this._errHandler.recover(this, re);
247
+ }
248
+ else {
249
+ throw re;
250
+ }
251
+ }
252
+ finally {
253
+ this.exitRule();
254
+ }
255
+ return localctx;
256
+ }
257
+ // @RuleVersion(0)
258
+ stringExpr(_p) {
259
+ if (_p === undefined) {
260
+ _p = 0;
261
+ }
262
+ let _parentctx = this._ctx;
263
+ let _parentState = this.state;
264
+ let localctx = new StringExprContext(this, this._ctx, _parentState);
265
+ let _prevctx = localctx;
266
+ let _startState = 6;
267
+ this.enterRecursionRule(localctx, 6, IfcExpressionParser.RULE_stringExpr, _p);
268
+ try {
269
+ let _alt;
270
+ this.enterOuterAlt(localctx, 1);
271
+ {
272
+ this.state = 58;
273
+ this._errHandler.sync(this);
274
+ switch (this._input.LA(1)) {
275
+ case 18:
276
+ {
277
+ localctx = new StringLiteralContext(this, localctx);
278
+ this._ctx = localctx;
279
+ _prevctx = localctx;
280
+ this.state = 55;
281
+ this.match(IfcExpressionParser.QUOTED_STRING);
282
+ }
283
+ break;
284
+ case 20:
285
+ {
286
+ localctx = new StringFunCallContext(this, localctx);
287
+ this._ctx = localctx;
288
+ _prevctx = localctx;
289
+ this.state = 56;
290
+ this.functionCall();
291
+ }
292
+ break;
293
+ case 14:
294
+ case 15:
295
+ {
296
+ localctx = new StringAttributeRefContext(this, localctx);
297
+ this._ctx = localctx;
298
+ _prevctx = localctx;
299
+ this.state = 57;
300
+ this.attributeRef();
301
+ }
302
+ break;
303
+ default:
304
+ throw new NoViableAltException(this);
305
+ }
306
+ this._ctx.stop = this._input.LT(-1);
307
+ this.state = 65;
308
+ this._errHandler.sync(this);
309
+ _alt = this._interp.adaptivePredict(this._input, 5, this._ctx);
310
+ while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
311
+ if (_alt === 1) {
312
+ if (this._parseListeners != null) {
313
+ this.triggerExitRuleEvent();
314
+ }
315
+ _prevctx = localctx;
316
+ {
317
+ {
318
+ localctx = new StringConcatContext(this, new StringExprContext(this, _parentctx, _parentState));
319
+ localctx._left = _prevctx;
320
+ this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_stringExpr);
321
+ this.state = 60;
322
+ if (!(this.precpred(this._ctx, 3))) {
323
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
324
+ }
325
+ this.state = 61;
326
+ this.match(IfcExpressionParser.T__2);
327
+ this.state = 62;
328
+ localctx._right = this.stringExpr(4);
329
+ }
330
+ }
331
+ }
332
+ this.state = 67;
333
+ this._errHandler.sync(this);
334
+ _alt = this._interp.adaptivePredict(this._input, 5, this._ctx);
335
+ }
336
+ }
337
+ }
338
+ catch (re) {
339
+ if (re instanceof RecognitionException) {
340
+ localctx.exception = re;
341
+ this._errHandler.reportError(this, re);
342
+ this._errHandler.recover(this, re);
343
+ }
344
+ else {
345
+ throw re;
346
+ }
347
+ }
348
+ finally {
349
+ this.unrollRecursionContexts(_parentctx);
350
+ }
351
+ return localctx;
352
+ }
353
+ // @RuleVersion(0)
354
+ objectRef() {
355
+ let localctx = new ObjectRefContext(this, this._ctx, this.state);
356
+ this.enterRule(localctx, 8, IfcExpressionParser.RULE_objectRef);
357
+ let _la;
358
+ try {
359
+ this.enterOuterAlt(localctx, 1);
360
+ {
361
+ this.state = 68;
362
+ _la = this._input.LA(1);
363
+ if (!(_la === 14 || _la === 15)) {
364
+ this._errHandler.recoverInline(this);
365
+ }
366
+ else {
367
+ this._errHandler.reportMatch(this);
368
+ this.consume();
369
+ }
370
+ }
371
+ }
372
+ catch (re) {
373
+ if (re instanceof RecognitionException) {
374
+ localctx.exception = re;
375
+ this._errHandler.reportError(this, re);
376
+ this._errHandler.recover(this, re);
377
+ }
378
+ else {
379
+ throw re;
380
+ }
381
+ }
382
+ finally {
383
+ this.exitRule();
384
+ }
385
+ return localctx;
386
+ }
387
+ // @RuleVersion(0)
388
+ attributeRef() {
389
+ let localctx = new AttributeRefContext(this, this._ctx, this.state);
390
+ this.enterRule(localctx, 10, IfcExpressionParser.RULE_attributeRef);
391
+ try {
392
+ this.enterOuterAlt(localctx, 1);
393
+ {
394
+ this.state = 70;
395
+ this.objectRef();
396
+ this.state = 71;
397
+ this.nestedObjectChain();
398
+ }
399
+ }
400
+ catch (re) {
401
+ if (re instanceof RecognitionException) {
402
+ localctx.exception = re;
403
+ this._errHandler.reportError(this, re);
404
+ this._errHandler.recover(this, re);
405
+ }
406
+ else {
407
+ throw re;
408
+ }
409
+ }
410
+ finally {
411
+ this.exitRule();
412
+ }
413
+ return localctx;
414
+ }
415
+ // @RuleVersion(0)
416
+ nestedObjectChain() {
417
+ let localctx = new NestedObjectChainContext(this, this._ctx, this.state);
418
+ this.enterRule(localctx, 12, IfcExpressionParser.RULE_nestedObjectChain);
419
+ try {
420
+ this.state = 79;
421
+ this._errHandler.sync(this);
422
+ switch (this._input.LA(1)) {
423
+ case 7:
424
+ localctx = new NestedObjectChainInnerContext(this, localctx);
425
+ this.enterOuterAlt(localctx, 1);
426
+ {
427
+ this.state = 73;
428
+ this.match(IfcExpressionParser.T__6);
429
+ this.state = 74;
430
+ this.namedRef();
431
+ this.state = 75;
432
+ this.nestedObjectChain();
433
+ }
434
+ break;
435
+ case 8:
436
+ localctx = new NestedObjectChainEndContext(this, localctx);
437
+ this.enterOuterAlt(localctx, 2);
438
+ {
439
+ this.state = 77;
440
+ this.match(IfcExpressionParser.T__7);
441
+ this.state = 78;
442
+ localctx._name = this.match(IfcExpressionParser.RESERVED_ATTRIBUTE_NAME);
443
+ }
444
+ break;
445
+ default:
446
+ throw new NoViableAltException(this);
447
+ }
448
+ }
449
+ catch (re) {
450
+ if (re instanceof RecognitionException) {
451
+ localctx.exception = re;
452
+ this._errHandler.reportError(this, re);
453
+ this._errHandler.recover(this, re);
454
+ }
455
+ else {
456
+ throw re;
457
+ }
458
+ }
459
+ finally {
460
+ this.exitRule();
461
+ }
462
+ return localctx;
463
+ }
464
+ // @RuleVersion(0)
465
+ namedRef() {
466
+ let localctx = new NamedRefContext(this, this._ctx, this.state);
467
+ this.enterRule(localctx, 14, IfcExpressionParser.RULE_namedRef);
468
+ try {
469
+ this.state = 84;
470
+ this._errHandler.sync(this);
471
+ switch (this._input.LA(1)) {
472
+ case 17:
473
+ this.enterOuterAlt(localctx, 1);
474
+ {
475
+ this.state = 81;
476
+ localctx._name = this.match(IfcExpressionParser.RESERVED_RELATION_NAME);
477
+ }
478
+ break;
479
+ case 19:
480
+ this.enterOuterAlt(localctx, 2);
481
+ {
482
+ this.state = 82;
483
+ localctx._name = this.match(IfcExpressionParser.BRACKETED_STRING);
484
+ }
485
+ break;
486
+ case 20:
487
+ this.enterOuterAlt(localctx, 3);
488
+ {
489
+ this.state = 83;
490
+ localctx._name = this.match(IfcExpressionParser.IDENTIFIER);
491
+ }
492
+ break;
493
+ default:
494
+ throw new NoViableAltException(this);
495
+ }
496
+ }
497
+ catch (re) {
498
+ if (re instanceof RecognitionException) {
499
+ localctx.exception = re;
500
+ this._errHandler.reportError(this, re);
501
+ this._errHandler.recover(this, re);
502
+ }
503
+ else {
504
+ throw re;
505
+ }
506
+ }
507
+ finally {
508
+ this.exitRule();
509
+ }
510
+ return localctx;
511
+ }
512
+ // @RuleVersion(0)
513
+ functionCall() {
514
+ let localctx = new FunctionCallContext(this, this._ctx, this.state);
515
+ this.enterRule(localctx, 16, IfcExpressionParser.RULE_functionCall);
516
+ try {
517
+ this.enterOuterAlt(localctx, 1);
518
+ {
519
+ this.state = 86;
520
+ localctx._name = this.match(IfcExpressionParser.IDENTIFIER);
521
+ this.state = 87;
522
+ this.match(IfcExpressionParser.T__4);
523
+ this.state = 88;
524
+ this.exprList();
525
+ this.state = 89;
526
+ this.match(IfcExpressionParser.T__5);
527
+ }
528
+ }
529
+ catch (re) {
530
+ if (re instanceof RecognitionException) {
531
+ localctx.exception = re;
532
+ this._errHandler.reportError(this, re);
533
+ this._errHandler.recover(this, re);
534
+ }
535
+ else {
536
+ throw re;
537
+ }
538
+ }
539
+ finally {
540
+ this.exitRule();
541
+ }
542
+ return localctx;
543
+ }
544
+ // @RuleVersion(0)
545
+ exprList() {
546
+ let localctx = new ExprListContext(this, this._ctx, this.state);
547
+ this.enterRule(localctx, 18, IfcExpressionParser.RULE_exprList);
548
+ try {
549
+ this.state = 96;
550
+ this._errHandler.sync(this);
551
+ switch (this._interp.adaptivePredict(this._input, 8, this._ctx)) {
552
+ case 1:
553
+ this.enterOuterAlt(localctx, 1);
554
+ {
555
+ this.state = 91;
556
+ this.expr();
557
+ }
558
+ break;
559
+ case 2:
560
+ this.enterOuterAlt(localctx, 2);
561
+ {
562
+ this.state = 92;
563
+ this.expr();
564
+ this.state = 93;
565
+ this.match(IfcExpressionParser.T__8);
566
+ this.state = 94;
567
+ this.exprList();
568
+ }
569
+ break;
570
+ }
571
+ }
572
+ catch (re) {
573
+ if (re instanceof RecognitionException) {
574
+ localctx.exception = re;
575
+ this._errHandler.reportError(this, re);
576
+ this._errHandler.recover(this, re);
577
+ }
578
+ else {
579
+ throw re;
580
+ }
581
+ }
582
+ finally {
583
+ this.exitRule();
584
+ }
585
+ return localctx;
586
+ }
587
+ // @RuleVersion(0)
588
+ array() {
589
+ let localctx = new ArrayContext(this, this._ctx, this.state);
590
+ this.enterRule(localctx, 20, IfcExpressionParser.RULE_array);
591
+ try {
592
+ this.enterOuterAlt(localctx, 1);
593
+ {
594
+ this.state = 98;
595
+ this.match(IfcExpressionParser.T__9);
596
+ this.state = 99;
597
+ this.arrayElementList();
598
+ this.state = 100;
599
+ this.match(IfcExpressionParser.T__10);
600
+ }
601
+ }
602
+ catch (re) {
603
+ if (re instanceof RecognitionException) {
604
+ localctx.exception = re;
605
+ this._errHandler.reportError(this, re);
606
+ this._errHandler.recover(this, re);
607
+ }
608
+ else {
609
+ throw re;
610
+ }
611
+ }
612
+ finally {
613
+ this.exitRule();
614
+ }
615
+ return localctx;
616
+ }
617
+ // @RuleVersion(0)
618
+ arrayElementList() {
619
+ let localctx = new ArrayElementListContext(this, this._ctx, this.state);
620
+ this.enterRule(localctx, 22, IfcExpressionParser.RULE_arrayElementList);
621
+ try {
622
+ this.state = 107;
623
+ this._errHandler.sync(this);
624
+ switch (this._interp.adaptivePredict(this._input, 9, this._ctx)) {
625
+ case 1:
626
+ this.enterOuterAlt(localctx, 1);
627
+ {
628
+ this.state = 102;
629
+ this.expr();
630
+ }
631
+ break;
632
+ case 2:
633
+ this.enterOuterAlt(localctx, 2);
634
+ {
635
+ this.state = 103;
636
+ this.expr();
637
+ this.state = 104;
638
+ this.match(IfcExpressionParser.T__8);
639
+ this.state = 105;
640
+ this.arrayElementList();
641
+ }
642
+ break;
643
+ }
644
+ }
645
+ catch (re) {
646
+ if (re instanceof RecognitionException) {
647
+ localctx.exception = re;
648
+ this._errHandler.reportError(this, re);
649
+ this._errHandler.recover(this, re);
650
+ }
651
+ else {
652
+ throw re;
653
+ }
654
+ }
655
+ finally {
656
+ this.exitRule();
657
+ }
658
+ return localctx;
659
+ }
660
+ sempred(localctx, ruleIndex, predIndex) {
661
+ switch (ruleIndex) {
662
+ case 1:
663
+ return this.numExpr_sempred(localctx, predIndex);
664
+ case 3:
665
+ return this.stringExpr_sempred(localctx, predIndex);
666
+ }
667
+ return true;
668
+ }
669
+ numExpr_sempred(localctx, predIndex) {
670
+ switch (predIndex) {
671
+ case 0:
672
+ return this.precpred(this._ctx, 6);
673
+ case 1:
674
+ return this.precpred(this._ctx, 5);
675
+ }
676
+ return true;
677
+ }
678
+ stringExpr_sempred(localctx, predIndex) {
679
+ switch (predIndex) {
680
+ case 2:
681
+ return this.precpred(this._ctx, 3);
682
+ }
683
+ return true;
684
+ }
685
+ static get _ATN() {
686
+ if (!IfcExpressionParser.__ATN) {
687
+ IfcExpressionParser.__ATN = new ATNDeserializer().deserialize(IfcExpressionParser._serializedATN);
688
+ }
689
+ return IfcExpressionParser.__ATN;
690
+ }
691
+ }
692
+ IfcExpressionParser.T__0 = 1;
693
+ IfcExpressionParser.T__1 = 2;
694
+ IfcExpressionParser.T__2 = 3;
695
+ IfcExpressionParser.T__3 = 4;
696
+ IfcExpressionParser.T__4 = 5;
697
+ IfcExpressionParser.T__5 = 6;
698
+ IfcExpressionParser.T__6 = 7;
699
+ IfcExpressionParser.T__7 = 8;
700
+ IfcExpressionParser.T__8 = 9;
701
+ IfcExpressionParser.T__9 = 10;
702
+ IfcExpressionParser.T__10 = 11;
703
+ IfcExpressionParser.INT = 12;
704
+ IfcExpressionParser.FLOAT = 13;
705
+ IfcExpressionParser.PROP = 14;
706
+ IfcExpressionParser.ELEM = 15;
707
+ IfcExpressionParser.RESERVED_ATTRIBUTE_NAME = 16;
708
+ IfcExpressionParser.RESERVED_RELATION_NAME = 17;
709
+ IfcExpressionParser.QUOTED_STRING = 18;
710
+ IfcExpressionParser.BRACKETED_STRING = 19;
711
+ IfcExpressionParser.IDENTIFIER = 20;
712
+ IfcExpressionParser.WS = 21;
713
+ IfcExpressionParser.NEWLINE = 22;
714
+ IfcExpressionParser.EOF = Token.EOF;
715
+ IfcExpressionParser.RULE_expr = 0;
716
+ IfcExpressionParser.RULE_numExpr = 1;
717
+ IfcExpressionParser.RULE_numLiteral = 2;
718
+ IfcExpressionParser.RULE_stringExpr = 3;
719
+ IfcExpressionParser.RULE_objectRef = 4;
720
+ IfcExpressionParser.RULE_attributeRef = 5;
721
+ IfcExpressionParser.RULE_nestedObjectChain = 6;
722
+ IfcExpressionParser.RULE_namedRef = 7;
723
+ IfcExpressionParser.RULE_functionCall = 8;
724
+ IfcExpressionParser.RULE_exprList = 9;
725
+ IfcExpressionParser.RULE_array = 10;
726
+ IfcExpressionParser.RULE_arrayElementList = 11;
727
+ IfcExpressionParser.literalNames = [null, "'*'",
728
+ "'/'", "'+'",
729
+ "'-'", "'('",
730
+ "')'", "'.'",
731
+ "'@'", "','",
732
+ "'['", "']'"];
733
+ IfcExpressionParser.symbolicNames = [null, null,
734
+ null, null,
735
+ null, null,
736
+ null, null,
737
+ null, null,
738
+ null, null,
739
+ "INT", "FLOAT",
740
+ "PROP", "ELEM",
741
+ "RESERVED_ATTRIBUTE_NAME",
742
+ "RESERVED_RELATION_NAME",
743
+ "QUOTED_STRING",
744
+ "BRACKETED_STRING",
745
+ "IDENTIFIER",
746
+ "WS", "NEWLINE"];
747
+ // tslint:disable:no-trailing-whitespace
748
+ IfcExpressionParser.ruleNames = [
749
+ "expr", "numExpr", "numLiteral", "stringExpr", "objectRef", "attributeRef",
750
+ "nestedObjectChain", "namedRef", "functionCall", "exprList", "array",
751
+ "arrayElementList",
752
+ ];
753
+ IfcExpressionParser._serializedATN = [4, 1, 22, 110, 2, 0, 7, 0, 2,
754
+ 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
755
+ 10, 7, 10, 2, 11, 7, 11, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 30, 8, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
756
+ 1, 1, 1, 1, 1, 3, 1, 40, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 48, 8, 1, 10, 1, 12, 1, 51, 9,
757
+ 1, 1, 2, 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,
758
+ 9, 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,
759
+ 3, 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,
760
+ 1, 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,
761
+ 6, 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,
762
+ 29, 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,
763
+ 0, 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,
764
+ 0, 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,
765
+ 20, 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,
766
+ 0, 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,
767
+ 0, 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,
768
+ 5, 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,
769
+ 0, 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,
770
+ 0, 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,
771
+ 49, 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,
772
+ 55, 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,
773
+ 58, 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,
774
+ 62, 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,
775
+ 7, 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,
776
+ 3, 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,
777
+ 1, 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,
778
+ 1, 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,
779
+ 1, 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,
780
+ 3, 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,
781
+ 5, 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,
782
+ 1, 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,
783
+ 102, 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,
784
+ 1, 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,
785
+ 65, 79, 84, 96, 107];
786
+ IfcExpressionParser.DecisionsToDFA = IfcExpressionParser._ATN.decisionToState.map((ds, index) => new DFA(ds, index));
787
+ export default IfcExpressionParser;
788
+ export class ExprContext extends ParserRuleContext {
789
+ constructor(parser, parent, invokingState) {
790
+ super(parent, invokingState);
791
+ this.parser = parser;
792
+ }
793
+ attributeRef() {
794
+ return this.getTypedRuleContext(AttributeRefContext, 0);
795
+ }
796
+ functionCall() {
797
+ return this.getTypedRuleContext(FunctionCallContext, 0);
798
+ }
799
+ numExpr() {
800
+ return this.getTypedRuleContext(NumExprContext, 0);
801
+ }
802
+ array() {
803
+ return this.getTypedRuleContext(ArrayContext, 0);
804
+ }
805
+ stringExpr() {
806
+ return this.getTypedRuleContext(StringExprContext, 0);
807
+ }
808
+ get ruleIndex() {
809
+ return IfcExpressionParser.RULE_expr;
810
+ }
811
+ enterRule(listener) {
812
+ if (listener.enterExpr) {
813
+ listener.enterExpr(this);
814
+ }
815
+ }
816
+ exitRule(listener) {
817
+ if (listener.exitExpr) {
818
+ listener.exitExpr(this);
819
+ }
820
+ }
821
+ // @Override
822
+ accept(visitor) {
823
+ if (visitor.visitExpr) {
824
+ return visitor.visitExpr(this);
825
+ }
826
+ else {
827
+ return visitor.visitChildren(this);
828
+ }
829
+ }
830
+ }
831
+ export class NumExprContext extends ParserRuleContext {
832
+ constructor(parser, parent, invokingState) {
833
+ super(parent, invokingState);
834
+ this.parser = parser;
835
+ }
836
+ get ruleIndex() {
837
+ return IfcExpressionParser.RULE_numExpr;
838
+ }
839
+ copyFrom(ctx) {
840
+ super.copyFrom(ctx);
841
+ }
842
+ }
843
+ export class NumMulDivContext extends NumExprContext {
844
+ constructor(parser, ctx) {
845
+ super(parser, ctx.parentCtx, ctx.invokingState);
846
+ super.copyFrom(ctx);
847
+ }
848
+ numExpr_list() {
849
+ return this.getTypedRuleContexts(NumExprContext);
850
+ }
851
+ numExpr(i) {
852
+ return this.getTypedRuleContext(NumExprContext, i);
853
+ }
854
+ enterRule(listener) {
855
+ if (listener.enterNumMulDiv) {
856
+ listener.enterNumMulDiv(this);
857
+ }
858
+ }
859
+ exitRule(listener) {
860
+ if (listener.exitNumMulDiv) {
861
+ listener.exitNumMulDiv(this);
862
+ }
863
+ }
864
+ // @Override
865
+ accept(visitor) {
866
+ if (visitor.visitNumMulDiv) {
867
+ return visitor.visitNumMulDiv(this);
868
+ }
869
+ else {
870
+ return visitor.visitChildren(this);
871
+ }
872
+ }
873
+ }
874
+ export class NumAddSubContext extends NumExprContext {
875
+ constructor(parser, ctx) {
876
+ super(parser, ctx.parentCtx, ctx.invokingState);
877
+ super.copyFrom(ctx);
878
+ }
879
+ numExpr_list() {
880
+ return this.getTypedRuleContexts(NumExprContext);
881
+ }
882
+ numExpr(i) {
883
+ return this.getTypedRuleContext(NumExprContext, i);
884
+ }
885
+ enterRule(listener) {
886
+ if (listener.enterNumAddSub) {
887
+ listener.enterNumAddSub(this);
888
+ }
889
+ }
890
+ exitRule(listener) {
891
+ if (listener.exitNumAddSub) {
892
+ listener.exitNumAddSub(this);
893
+ }
894
+ }
895
+ // @Override
896
+ accept(visitor) {
897
+ if (visitor.visitNumAddSub) {
898
+ return visitor.visitNumAddSub(this);
899
+ }
900
+ else {
901
+ return visitor.visitChildren(this);
902
+ }
903
+ }
904
+ }
905
+ export class NumParensContext extends NumExprContext {
906
+ constructor(parser, ctx) {
907
+ super(parser, ctx.parentCtx, ctx.invokingState);
908
+ super.copyFrom(ctx);
909
+ }
910
+ numExpr() {
911
+ return this.getTypedRuleContext(NumExprContext, 0);
912
+ }
913
+ enterRule(listener) {
914
+ if (listener.enterNumParens) {
915
+ listener.enterNumParens(this);
916
+ }
917
+ }
918
+ exitRule(listener) {
919
+ if (listener.exitNumParens) {
920
+ listener.exitNumParens(this);
921
+ }
922
+ }
923
+ // @Override
924
+ accept(visitor) {
925
+ if (visitor.visitNumParens) {
926
+ return visitor.visitNumParens(this);
927
+ }
928
+ else {
929
+ return visitor.visitChildren(this);
930
+ }
931
+ }
932
+ }
933
+ export class NumLitContext extends NumExprContext {
934
+ constructor(parser, ctx) {
935
+ super(parser, ctx.parentCtx, ctx.invokingState);
936
+ super.copyFrom(ctx);
937
+ }
938
+ numLiteral() {
939
+ return this.getTypedRuleContext(NumLiteralContext, 0);
940
+ }
941
+ enterRule(listener) {
942
+ if (listener.enterNumLit) {
943
+ listener.enterNumLit(this);
944
+ }
945
+ }
946
+ exitRule(listener) {
947
+ if (listener.exitNumLit) {
948
+ listener.exitNumLit(this);
949
+ }
950
+ }
951
+ // @Override
952
+ accept(visitor) {
953
+ if (visitor.visitNumLit) {
954
+ return visitor.visitNumLit(this);
955
+ }
956
+ else {
957
+ return visitor.visitChildren(this);
958
+ }
959
+ }
960
+ }
961
+ export class NumFunCallContext extends NumExprContext {
962
+ constructor(parser, ctx) {
963
+ super(parser, ctx.parentCtx, ctx.invokingState);
964
+ super.copyFrom(ctx);
965
+ }
966
+ functionCall() {
967
+ return this.getTypedRuleContext(FunctionCallContext, 0);
968
+ }
969
+ enterRule(listener) {
970
+ if (listener.enterNumFunCall) {
971
+ listener.enterNumFunCall(this);
972
+ }
973
+ }
974
+ exitRule(listener) {
975
+ if (listener.exitNumFunCall) {
976
+ listener.exitNumFunCall(this);
977
+ }
978
+ }
979
+ // @Override
980
+ accept(visitor) {
981
+ if (visitor.visitNumFunCall) {
982
+ return visitor.visitNumFunCall(this);
983
+ }
984
+ else {
985
+ return visitor.visitChildren(this);
986
+ }
987
+ }
988
+ }
989
+ export class NumAttributeRefContext extends NumExprContext {
990
+ constructor(parser, ctx) {
991
+ super(parser, ctx.parentCtx, ctx.invokingState);
992
+ super.copyFrom(ctx);
993
+ }
994
+ attributeRef() {
995
+ return this.getTypedRuleContext(AttributeRefContext, 0);
996
+ }
997
+ enterRule(listener) {
998
+ if (listener.enterNumAttributeRef) {
999
+ listener.enterNumAttributeRef(this);
1000
+ }
1001
+ }
1002
+ exitRule(listener) {
1003
+ if (listener.exitNumAttributeRef) {
1004
+ listener.exitNumAttributeRef(this);
1005
+ }
1006
+ }
1007
+ // @Override
1008
+ accept(visitor) {
1009
+ if (visitor.visitNumAttributeRef) {
1010
+ return visitor.visitNumAttributeRef(this);
1011
+ }
1012
+ else {
1013
+ return visitor.visitChildren(this);
1014
+ }
1015
+ }
1016
+ }
1017
+ export class NumLiteralContext extends ParserRuleContext {
1018
+ constructor(parser, parent, invokingState) {
1019
+ super(parent, invokingState);
1020
+ this.parser = parser;
1021
+ }
1022
+ INT() {
1023
+ return this.getToken(IfcExpressionParser.INT, 0);
1024
+ }
1025
+ FLOAT() {
1026
+ return this.getToken(IfcExpressionParser.FLOAT, 0);
1027
+ }
1028
+ get ruleIndex() {
1029
+ return IfcExpressionParser.RULE_numLiteral;
1030
+ }
1031
+ enterRule(listener) {
1032
+ if (listener.enterNumLiteral) {
1033
+ listener.enterNumLiteral(this);
1034
+ }
1035
+ }
1036
+ exitRule(listener) {
1037
+ if (listener.exitNumLiteral) {
1038
+ listener.exitNumLiteral(this);
1039
+ }
1040
+ }
1041
+ // @Override
1042
+ accept(visitor) {
1043
+ if (visitor.visitNumLiteral) {
1044
+ return visitor.visitNumLiteral(this);
1045
+ }
1046
+ else {
1047
+ return visitor.visitChildren(this);
1048
+ }
1049
+ }
1050
+ }
1051
+ export class StringExprContext extends ParserRuleContext {
1052
+ constructor(parser, parent, invokingState) {
1053
+ super(parent, invokingState);
1054
+ this.parser = parser;
1055
+ }
1056
+ get ruleIndex() {
1057
+ return IfcExpressionParser.RULE_stringExpr;
1058
+ }
1059
+ copyFrom(ctx) {
1060
+ super.copyFrom(ctx);
1061
+ }
1062
+ }
1063
+ export class StringAttributeRefContext extends StringExprContext {
1064
+ constructor(parser, ctx) {
1065
+ super(parser, ctx.parentCtx, ctx.invokingState);
1066
+ super.copyFrom(ctx);
1067
+ }
1068
+ attributeRef() {
1069
+ return this.getTypedRuleContext(AttributeRefContext, 0);
1070
+ }
1071
+ enterRule(listener) {
1072
+ if (listener.enterStringAttributeRef) {
1073
+ listener.enterStringAttributeRef(this);
1074
+ }
1075
+ }
1076
+ exitRule(listener) {
1077
+ if (listener.exitStringAttributeRef) {
1078
+ listener.exitStringAttributeRef(this);
1079
+ }
1080
+ }
1081
+ // @Override
1082
+ accept(visitor) {
1083
+ if (visitor.visitStringAttributeRef) {
1084
+ return visitor.visitStringAttributeRef(this);
1085
+ }
1086
+ else {
1087
+ return visitor.visitChildren(this);
1088
+ }
1089
+ }
1090
+ }
1091
+ export class StringLiteralContext extends StringExprContext {
1092
+ constructor(parser, ctx) {
1093
+ super(parser, ctx.parentCtx, ctx.invokingState);
1094
+ super.copyFrom(ctx);
1095
+ }
1096
+ QUOTED_STRING() {
1097
+ return this.getToken(IfcExpressionParser.QUOTED_STRING, 0);
1098
+ }
1099
+ enterRule(listener) {
1100
+ if (listener.enterStringLiteral) {
1101
+ listener.enterStringLiteral(this);
1102
+ }
1103
+ }
1104
+ exitRule(listener) {
1105
+ if (listener.exitStringLiteral) {
1106
+ listener.exitStringLiteral(this);
1107
+ }
1108
+ }
1109
+ // @Override
1110
+ accept(visitor) {
1111
+ if (visitor.visitStringLiteral) {
1112
+ return visitor.visitStringLiteral(this);
1113
+ }
1114
+ else {
1115
+ return visitor.visitChildren(this);
1116
+ }
1117
+ }
1118
+ }
1119
+ export class StringFunCallContext extends StringExprContext {
1120
+ constructor(parser, ctx) {
1121
+ super(parser, ctx.parentCtx, ctx.invokingState);
1122
+ super.copyFrom(ctx);
1123
+ }
1124
+ functionCall() {
1125
+ return this.getTypedRuleContext(FunctionCallContext, 0);
1126
+ }
1127
+ enterRule(listener) {
1128
+ if (listener.enterStringFunCall) {
1129
+ listener.enterStringFunCall(this);
1130
+ }
1131
+ }
1132
+ exitRule(listener) {
1133
+ if (listener.exitStringFunCall) {
1134
+ listener.exitStringFunCall(this);
1135
+ }
1136
+ }
1137
+ // @Override
1138
+ accept(visitor) {
1139
+ if (visitor.visitStringFunCall) {
1140
+ return visitor.visitStringFunCall(this);
1141
+ }
1142
+ else {
1143
+ return visitor.visitChildren(this);
1144
+ }
1145
+ }
1146
+ }
1147
+ export class StringConcatContext extends StringExprContext {
1148
+ constructor(parser, ctx) {
1149
+ super(parser, ctx.parentCtx, ctx.invokingState);
1150
+ super.copyFrom(ctx);
1151
+ }
1152
+ stringExpr_list() {
1153
+ return this.getTypedRuleContexts(StringExprContext);
1154
+ }
1155
+ stringExpr(i) {
1156
+ return this.getTypedRuleContext(StringExprContext, i);
1157
+ }
1158
+ enterRule(listener) {
1159
+ if (listener.enterStringConcat) {
1160
+ listener.enterStringConcat(this);
1161
+ }
1162
+ }
1163
+ exitRule(listener) {
1164
+ if (listener.exitStringConcat) {
1165
+ listener.exitStringConcat(this);
1166
+ }
1167
+ }
1168
+ // @Override
1169
+ accept(visitor) {
1170
+ if (visitor.visitStringConcat) {
1171
+ return visitor.visitStringConcat(this);
1172
+ }
1173
+ else {
1174
+ return visitor.visitChildren(this);
1175
+ }
1176
+ }
1177
+ }
1178
+ export class ObjectRefContext extends ParserRuleContext {
1179
+ constructor(parser, parent, invokingState) {
1180
+ super(parent, invokingState);
1181
+ this.parser = parser;
1182
+ }
1183
+ PROP() {
1184
+ return this.getToken(IfcExpressionParser.PROP, 0);
1185
+ }
1186
+ ELEM() {
1187
+ return this.getToken(IfcExpressionParser.ELEM, 0);
1188
+ }
1189
+ get ruleIndex() {
1190
+ return IfcExpressionParser.RULE_objectRef;
1191
+ }
1192
+ enterRule(listener) {
1193
+ if (listener.enterObjectRef) {
1194
+ listener.enterObjectRef(this);
1195
+ }
1196
+ }
1197
+ exitRule(listener) {
1198
+ if (listener.exitObjectRef) {
1199
+ listener.exitObjectRef(this);
1200
+ }
1201
+ }
1202
+ // @Override
1203
+ accept(visitor) {
1204
+ if (visitor.visitObjectRef) {
1205
+ return visitor.visitObjectRef(this);
1206
+ }
1207
+ else {
1208
+ return visitor.visitChildren(this);
1209
+ }
1210
+ }
1211
+ }
1212
+ export class AttributeRefContext extends ParserRuleContext {
1213
+ constructor(parser, parent, invokingState) {
1214
+ super(parent, invokingState);
1215
+ this.parser = parser;
1216
+ }
1217
+ objectRef() {
1218
+ return this.getTypedRuleContext(ObjectRefContext, 0);
1219
+ }
1220
+ nestedObjectChain() {
1221
+ return this.getTypedRuleContext(NestedObjectChainContext, 0);
1222
+ }
1223
+ get ruleIndex() {
1224
+ return IfcExpressionParser.RULE_attributeRef;
1225
+ }
1226
+ enterRule(listener) {
1227
+ if (listener.enterAttributeRef) {
1228
+ listener.enterAttributeRef(this);
1229
+ }
1230
+ }
1231
+ exitRule(listener) {
1232
+ if (listener.exitAttributeRef) {
1233
+ listener.exitAttributeRef(this);
1234
+ }
1235
+ }
1236
+ // @Override
1237
+ accept(visitor) {
1238
+ if (visitor.visitAttributeRef) {
1239
+ return visitor.visitAttributeRef(this);
1240
+ }
1241
+ else {
1242
+ return visitor.visitChildren(this);
1243
+ }
1244
+ }
1245
+ }
1246
+ export class NestedObjectChainContext extends ParserRuleContext {
1247
+ constructor(parser, parent, invokingState) {
1248
+ super(parent, invokingState);
1249
+ this.parser = parser;
1250
+ }
1251
+ get ruleIndex() {
1252
+ return IfcExpressionParser.RULE_nestedObjectChain;
1253
+ }
1254
+ copyFrom(ctx) {
1255
+ super.copyFrom(ctx);
1256
+ }
1257
+ }
1258
+ export class NestedObjectChainEndContext extends NestedObjectChainContext {
1259
+ constructor(parser, ctx) {
1260
+ super(parser, ctx.parentCtx, ctx.invokingState);
1261
+ super.copyFrom(ctx);
1262
+ }
1263
+ RESERVED_ATTRIBUTE_NAME() {
1264
+ return this.getToken(IfcExpressionParser.RESERVED_ATTRIBUTE_NAME, 0);
1265
+ }
1266
+ enterRule(listener) {
1267
+ if (listener.enterNestedObjectChainEnd) {
1268
+ listener.enterNestedObjectChainEnd(this);
1269
+ }
1270
+ }
1271
+ exitRule(listener) {
1272
+ if (listener.exitNestedObjectChainEnd) {
1273
+ listener.exitNestedObjectChainEnd(this);
1274
+ }
1275
+ }
1276
+ // @Override
1277
+ accept(visitor) {
1278
+ if (visitor.visitNestedObjectChainEnd) {
1279
+ return visitor.visitNestedObjectChainEnd(this);
1280
+ }
1281
+ else {
1282
+ return visitor.visitChildren(this);
1283
+ }
1284
+ }
1285
+ }
1286
+ export class NestedObjectChainInnerContext extends NestedObjectChainContext {
1287
+ constructor(parser, ctx) {
1288
+ super(parser, ctx.parentCtx, ctx.invokingState);
1289
+ super.copyFrom(ctx);
1290
+ }
1291
+ namedRef() {
1292
+ return this.getTypedRuleContext(NamedRefContext, 0);
1293
+ }
1294
+ nestedObjectChain() {
1295
+ return this.getTypedRuleContext(NestedObjectChainContext, 0);
1296
+ }
1297
+ enterRule(listener) {
1298
+ if (listener.enterNestedObjectChainInner) {
1299
+ listener.enterNestedObjectChainInner(this);
1300
+ }
1301
+ }
1302
+ exitRule(listener) {
1303
+ if (listener.exitNestedObjectChainInner) {
1304
+ listener.exitNestedObjectChainInner(this);
1305
+ }
1306
+ }
1307
+ // @Override
1308
+ accept(visitor) {
1309
+ if (visitor.visitNestedObjectChainInner) {
1310
+ return visitor.visitNestedObjectChainInner(this);
1311
+ }
1312
+ else {
1313
+ return visitor.visitChildren(this);
1314
+ }
1315
+ }
1316
+ }
1317
+ export class NamedRefContext extends ParserRuleContext {
1318
+ constructor(parser, parent, invokingState) {
1319
+ super(parent, invokingState);
1320
+ this.parser = parser;
1321
+ }
1322
+ RESERVED_RELATION_NAME() {
1323
+ return this.getToken(IfcExpressionParser.RESERVED_RELATION_NAME, 0);
1324
+ }
1325
+ BRACKETED_STRING() {
1326
+ return this.getToken(IfcExpressionParser.BRACKETED_STRING, 0);
1327
+ }
1328
+ IDENTIFIER() {
1329
+ return this.getToken(IfcExpressionParser.IDENTIFIER, 0);
1330
+ }
1331
+ get ruleIndex() {
1332
+ return IfcExpressionParser.RULE_namedRef;
1333
+ }
1334
+ enterRule(listener) {
1335
+ if (listener.enterNamedRef) {
1336
+ listener.enterNamedRef(this);
1337
+ }
1338
+ }
1339
+ exitRule(listener) {
1340
+ if (listener.exitNamedRef) {
1341
+ listener.exitNamedRef(this);
1342
+ }
1343
+ }
1344
+ // @Override
1345
+ accept(visitor) {
1346
+ if (visitor.visitNamedRef) {
1347
+ return visitor.visitNamedRef(this);
1348
+ }
1349
+ else {
1350
+ return visitor.visitChildren(this);
1351
+ }
1352
+ }
1353
+ }
1354
+ export class FunctionCallContext extends ParserRuleContext {
1355
+ constructor(parser, parent, invokingState) {
1356
+ super(parent, invokingState);
1357
+ this.parser = parser;
1358
+ }
1359
+ exprList() {
1360
+ return this.getTypedRuleContext(ExprListContext, 0);
1361
+ }
1362
+ IDENTIFIER() {
1363
+ return this.getToken(IfcExpressionParser.IDENTIFIER, 0);
1364
+ }
1365
+ get ruleIndex() {
1366
+ return IfcExpressionParser.RULE_functionCall;
1367
+ }
1368
+ enterRule(listener) {
1369
+ if (listener.enterFunctionCall) {
1370
+ listener.enterFunctionCall(this);
1371
+ }
1372
+ }
1373
+ exitRule(listener) {
1374
+ if (listener.exitFunctionCall) {
1375
+ listener.exitFunctionCall(this);
1376
+ }
1377
+ }
1378
+ // @Override
1379
+ accept(visitor) {
1380
+ if (visitor.visitFunctionCall) {
1381
+ return visitor.visitFunctionCall(this);
1382
+ }
1383
+ else {
1384
+ return visitor.visitChildren(this);
1385
+ }
1386
+ }
1387
+ }
1388
+ export class ExprListContext extends ParserRuleContext {
1389
+ constructor(parser, parent, invokingState) {
1390
+ super(parent, invokingState);
1391
+ this.parser = parser;
1392
+ }
1393
+ expr() {
1394
+ return this.getTypedRuleContext(ExprContext, 0);
1395
+ }
1396
+ exprList() {
1397
+ return this.getTypedRuleContext(ExprListContext, 0);
1398
+ }
1399
+ get ruleIndex() {
1400
+ return IfcExpressionParser.RULE_exprList;
1401
+ }
1402
+ enterRule(listener) {
1403
+ if (listener.enterExprList) {
1404
+ listener.enterExprList(this);
1405
+ }
1406
+ }
1407
+ exitRule(listener) {
1408
+ if (listener.exitExprList) {
1409
+ listener.exitExprList(this);
1410
+ }
1411
+ }
1412
+ // @Override
1413
+ accept(visitor) {
1414
+ if (visitor.visitExprList) {
1415
+ return visitor.visitExprList(this);
1416
+ }
1417
+ else {
1418
+ return visitor.visitChildren(this);
1419
+ }
1420
+ }
1421
+ }
1422
+ export class ArrayContext extends ParserRuleContext {
1423
+ constructor(parser, parent, invokingState) {
1424
+ super(parent, invokingState);
1425
+ this.parser = parser;
1426
+ }
1427
+ arrayElementList() {
1428
+ return this.getTypedRuleContext(ArrayElementListContext, 0);
1429
+ }
1430
+ get ruleIndex() {
1431
+ return IfcExpressionParser.RULE_array;
1432
+ }
1433
+ enterRule(listener) {
1434
+ if (listener.enterArray) {
1435
+ listener.enterArray(this);
1436
+ }
1437
+ }
1438
+ exitRule(listener) {
1439
+ if (listener.exitArray) {
1440
+ listener.exitArray(this);
1441
+ }
1442
+ }
1443
+ // @Override
1444
+ accept(visitor) {
1445
+ if (visitor.visitArray) {
1446
+ return visitor.visitArray(this);
1447
+ }
1448
+ else {
1449
+ return visitor.visitChildren(this);
1450
+ }
1451
+ }
1452
+ }
1453
+ export class ArrayElementListContext extends ParserRuleContext {
1454
+ constructor(parser, parent, invokingState) {
1455
+ super(parent, invokingState);
1456
+ this.parser = parser;
1457
+ }
1458
+ expr() {
1459
+ return this.getTypedRuleContext(ExprContext, 0);
1460
+ }
1461
+ arrayElementList() {
1462
+ return this.getTypedRuleContext(ArrayElementListContext, 0);
1463
+ }
1464
+ get ruleIndex() {
1465
+ return IfcExpressionParser.RULE_arrayElementList;
1466
+ }
1467
+ enterRule(listener) {
1468
+ if (listener.enterArrayElementList) {
1469
+ listener.enterArrayElementList(this);
1470
+ }
1471
+ }
1472
+ exitRule(listener) {
1473
+ if (listener.exitArrayElementList) {
1474
+ listener.exitArrayElementList(this);
1475
+ }
1476
+ }
1477
+ // @Override
1478
+ accept(visitor) {
1479
+ if (visitor.visitArrayElementList) {
1480
+ return visitor.visitArrayElementList(this);
1481
+ }
1482
+ else {
1483
+ return visitor.visitChildren(this);
1484
+ }
1485
+ }
1486
+ }
1487
+ //# sourceMappingURL=IfcExpressionParser.js.map