@woosh/meep-engine 2.48.23 → 2.49.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.
Files changed (142) hide show
  1. package/editor/tools/GridPaintTool.js +1 -1
  2. package/editor/tools/paint/TerrainPaintTool.js +1 -1
  3. package/editor/view/GridPickCoordinateView.js +1 -1
  4. package/package.json +1 -1
  5. package/src/core/UUID.js +2 -0
  6. package/src/core/assert.js +4 -1
  7. package/src/core/binary/ctz32.js +1 -1
  8. package/src/core/binary/operations/bitCount.spec.js +19 -0
  9. package/src/core/binary/uint82float.spec.js +7 -0
  10. package/src/core/bvh2/bvh3/EBBVHLeafProxy.js +3 -0
  11. package/src/core/bvh2/bvh3/query/compute_tight_near_far_clipping_planes.js +5 -4
  12. package/src/core/bvh2/transform/RotationOptimizer.spec.js +161 -155
  13. package/src/core/codegen/LineBuilder.js +12 -3
  14. package/src/core/codegen/LineBuilder.spec.js +7 -0
  15. package/src/core/collection/HashMap.js +486 -237
  16. package/src/core/collection/HashMap.spec.js +110 -1
  17. package/src/core/collection/array/{typedArrayToDataType.js → typed/typedArrayToDataType.js} +1 -1
  18. package/src/core/collection/array/weightedRandomFromArray.spec.js +20 -0
  19. package/src/core/debug/matchers/AnyOf.js +1 -2
  20. package/src/core/geom/2d/aabb/AABB2.spec.js +1 -1
  21. package/src/core/geom/2d/aabb/aabb2_compute_center_from_multiple.js +19 -0
  22. package/src/core/geom/2d/quad-tree/qt_collect_by_circle.js +3 -3
  23. package/src/core/geom/2d/quad-tree/qt_query_data_nearest_to_point.js +7 -9
  24. package/src/core/geom/3d/aabb/aabb3_compute_plane_side.js +17 -15
  25. package/src/core/geom/3d/aabb/aabb3_compute_plane_side.spec.js +25 -0
  26. package/src/core/geom/3d/aabb/aabb3_detailed_volume_intersection.js +1 -1
  27. package/src/core/geom/3d/aabb/aabb3_from_v3_array.js +3 -0
  28. package/src/core/geom/3d/aabb/aabb3_from_v3_array.spec.js +32 -0
  29. package/src/core/geom/3d/aabb/aabb3_intersects_aabb3.spec.js +115 -0
  30. package/src/core/geom/3d/aabb/aabb3_raycast.js +6 -1
  31. package/src/core/geom/3d/aabb/serializeAABB3Encoded_v0.js +6 -6
  32. package/src/core/geom/3d/{CircleMath.js → compute_circle_bounding_box.js} +1 -1
  33. package/src/core/geom/3d/decompose_matrix_4_array.js +18 -19
  34. package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +1 -1
  35. package/src/{engine/graphics/ecs/mesh-v2 → core/geom/3d/matrix}/allocate_transform_m4.js +1 -1
  36. package/src/core/geom/3d/normal/hemioct/decode_hemioct_to_unit.js +26 -0
  37. package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.js +0 -26
  38. package/src/core/geom/3d/normal/hemioct/unit_hemioct.spec.js +2 -1
  39. package/src/core/geom/3d/plane/computePlaneLineIntersection.js +51 -0
  40. package/src/core/geom/3d/plane/computePlanePlaneIntersection.js +77 -0
  41. package/src/core/geom/3d/plane/computePlaneRayIntersection.js +55 -0
  42. package/src/core/geom/3d/plane/plane3_computeLineSegmentIntersection.js +50 -0
  43. package/src/core/geom/3d/plane/planeRayIntersection.js +14 -0
  44. package/src/core/geom/3d/{tetrahedra/in_sphere_fast.js → sphere/in_sphere3d_fast.js} +1 -1
  45. package/src/core/geom/3d/{tetrahedra/in_sphere_robust.js → sphere/in_sphere3d_robust.js} +1 -1
  46. package/src/core/geom/3d/sphere/sphere_array_intersects_point.js +2 -2
  47. package/src/core/geom/3d/sphere/{sphereIntersectsPoint.js → sphere_intersects_point.js} +7 -4
  48. package/src/core/geom/3d/sphere/sphere_intersects_point.spec.js +134 -0
  49. package/src/core/geom/3d/sphere/sphere_intersects_ray.spec.js +49 -0
  50. package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.js +11 -7
  51. package/src/core/geom/3d/tetrahedra/delaunay/{debug_validate_mesh.js → debug/debug_validate_mesh.js} +1 -1
  52. package/src/core/geom/3d/tetrahedra/delaunay/{push_boundary_with_validation.js → debug/push_boundary_with_validation.js} +1 -1
  53. package/src/core/geom/3d/tetrahedra/delaunay/{validate_cavity_boundary.js → debug/validate_cavity_boundary.js} +2 -2
  54. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_compute_cavity.js +2 -2
  55. package/src/core/geom/3d/triangle/computeTriangleRayIntersection.js +0 -164
  56. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.js +87 -0
  57. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentricEdge.js +81 -0
  58. package/src/core/geom/{rayTriangleIntersection.js → 3d/triangle/rayTriangleIntersection.js} +2 -2
  59. package/src/core/geom/ConicRay.js +160 -152
  60. package/src/core/geom/Matrix4.js +2 -0
  61. package/src/core/geom/Quaternion.js +19 -1
  62. package/src/core/geom/packing/max-rect/MaxRectangles.js +4 -214
  63. package/src/core/geom/packing/max-rect/cost/costByBestShortSide.js +11 -0
  64. package/src/core/geom/packing/max-rect/cost/costByRemainingArea.js +14 -0
  65. package/src/core/geom/packing/max-rect/cutArea.js +79 -0
  66. package/src/core/geom/packing/max-rect/findBestContainer.js +58 -0
  67. package/src/core/geom/packing/max-rect/packOneBox.js +49 -0
  68. package/src/core/geom/v3_dot.js +1 -1
  69. package/src/core/graph/layout/CircleLayout.js +1 -1
  70. package/src/core/graph/layout/{BoxLayouter.js → box/BoxLayouter.js} +6 -50
  71. package/src/core/graph/layout/box/applyCentralGravityAABB2.js +29 -0
  72. package/src/core/json/resolvePath.spec.js +14 -0
  73. package/src/core/land/reactive/{compiler/ReactiveCompiler.spec.js → compileReactiveExpression.spec.js} +17 -17
  74. package/src/core/math/random/MersenneTwister.spec.js +19 -0
  75. package/src/core/math/random/randomGaussian.spec.js +9 -0
  76. package/src/core/math/statistics/computeStatisticalMean.js +2 -2
  77. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.js +1 -1
  78. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.js +3 -1
  79. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.js +1 -1
  80. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.js +3 -1
  81. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.js +1 -1
  82. package/src/core/model/reactive/model/comparative/ReactiveEquals.js +1 -1
  83. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.js +3 -1
  84. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.js +3 -1
  85. package/src/core/model/reactive/model/comparative/ReactiveLessThan.js +3 -1
  86. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.js +3 -1
  87. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.js +1 -1
  88. package/src/core/model/reactive/model/logic/ReactiveAnd.js +1 -1
  89. package/src/core/model/reactive/model/logic/ReactiveNot.js +3 -1
  90. package/src/core/model/reactive/model/logic/ReactiveOr.js +1 -1
  91. package/src/core/primitives/numbers/computeHashFloat.spec.js +7 -0
  92. package/src/core/process/task/util/iteratorTask.js +3 -1
  93. package/src/engine/animation/curve/AnimationCurve.js +34 -5
  94. package/src/engine/animation/curve/AnimationCurve.spec.js +100 -0
  95. package/src/engine/asset/AssetTransformer.js +1 -0
  96. package/src/engine/computeStridedIntegerArrayHash.js +4 -2
  97. package/src/engine/ecs/components/Renderable.d.ts +1 -1
  98. package/src/{ecs → engine/ecs}/grid/pick.js +4 -4
  99. package/src/engine/ecs/parent/entity_node_compute_bounding_box.js +1 -1
  100. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.js +1 -18
  101. package/src/engine/ecs/systems/MotionSystem.js +7 -1
  102. package/src/engine/ecs/systems/SynchronizePositionSystem.js +8 -2
  103. package/src/engine/ecs/transform/Transform.js +1 -1
  104. package/src/engine/graphics/camera/makeScreenScissorFrustum.js +3 -3
  105. package/src/engine/graphics/camera/testClippingPlaneComputation.js +13 -13
  106. package/src/engine/graphics/ecs/camera/Camera.js +1 -1
  107. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.js +1 -1
  108. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.js +9 -0
  109. package/src/engine/graphics/geometry/MikkT/MikkTSpace.js +1 -1
  110. package/src/engine/graphics/geometry/MikkT/STSpace.js +1 -1
  111. package/src/engine/graphics/geometry/bvh/buffered/BVHGeometryRaycaster.js +1 -1
  112. package/src/engine/graphics/material/optimization/MaterialOptimizationContext.js +1 -1
  113. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.js +1 -1
  114. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +1 -0
  115. package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +1 -1
  116. package/src/engine/graphics/postprocess/threejs/postprocessing/TexturePass.js +2 -2
  117. package/src/engine/graphics/sh3/path_tracer/GeometryBVHBatched.js +2 -2
  118. package/src/engine/graphics/texture/sampler/Sampler2D.js +1 -1
  119. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.js +1 -1
  120. package/src/engine/intelligence/behavior/Behavior.spec.js +15 -0
  121. package/src/engine/intelligence/mcts/MoveEdge.js +1 -1
  122. package/src/engine/reference/v1/ReferenceManager.js +3 -0
  123. package/src/engine/reference/v2/Reference.js +33 -37
  124. package/src/engine/sound/sopra/README.md +6 -0
  125. package/src/generation/automata/CaveGeneratorCellularAutomata.js +10 -7
  126. package/src/generation/automata/CaveGeneratorCellularAutomata.spec.js +12 -0
  127. package/src/generation/automata/CellularAutomata.js +5 -4
  128. package/src/generation/filtering/numeric/complex/CellFilterGaussianBlur.js +25 -9
  129. package/src/view/minimap/dom/MinimapCameraView.js +1 -1
  130. package/src/core/geom/Plane.js +0 -250
  131. package/src/core/land/reactive/ReactiveLexer.js +0 -158
  132. package/src/core/land/reactive/ReactiveLexer.ts +0 -181
  133. package/src/core/land/reactive/ReactiveListener.ts +0 -323
  134. package/src/core/land/reactive/ReactiveParser.js +0 -1573
  135. package/src/core/land/reactive/ReactiveParser.ts +0 -1776
  136. package/src/core/land/reactive/ReactiveVisitor.js +0 -1
  137. package/src/core/land/reactive/ReactiveVisitor.ts +0 -218
  138. package/src/core/land/reactive/compiler/ReactiveCompiler.js +0 -350
  139. package/src/core/land/reactive/compiler/ReactiveNearlyCompiler.js +0 -166
  140. package/src/core/land/reactive/compiler/ReactiveParser.js +0 -34
  141. package/src/core/land/reactive/nearley/ReactiveNearley.js +0 -187
  142. /package/src/{engine/graphics/ecs/mesh-v2 → core/geom/3d/vector}/allocate_v3.js +0 -0
@@ -1,1776 +0,0 @@
1
- // Generated from app/src/lang/Reactive.g4 by ANTLR 4.6-SNAPSHOT
2
-
3
-
4
- import {ATN} from "antlr4ts/atn/ATN";
5
- import {ATNDeserializer} from "antlr4ts/atn/ATNDeserializer";
6
- import {FailedPredicateException} from "antlr4ts/FailedPredicateException";
7
- import {NoViableAltException} from "antlr4ts/NoViableAltException";
8
- import {Parser} from "antlr4ts/Parser";
9
- import {ParserRuleContext} from "antlr4ts/ParserRuleContext";
10
- import {ParserATNSimulator} from "antlr4ts/atn/ParserATNSimulator";
11
- import {RecognitionException} from "antlr4ts/RecognitionException";
12
- import {RuleContext} from "antlr4ts/RuleContext";
13
- //import { RuleVersion } from "antlr4ts/RuleVersion";
14
- import {TerminalNode} from "antlr4ts/tree/TerminalNode";
15
- import {Token} from "antlr4ts/Token";
16
- import {TokenStream} from "antlr4ts/TokenStream";
17
- import {Vocabulary} from "antlr4ts/Vocabulary";
18
- import {VocabularyImpl} from "antlr4ts/VocabularyImpl";
19
-
20
- import * as Utils from "antlr4ts/misc/Utils";
21
-
22
- import {ReactiveListener} from "./ReactiveListener";
23
- import {ReactiveVisitor} from "./ReactiveVisitor";
24
-
25
-
26
- export class ReactiveParser extends Parser {
27
- public static readonly T__0 = 1;
28
- public static readonly T__1 = 2;
29
- public static readonly T__2 = 3;
30
- public static readonly Identifier = 4;
31
- public static readonly NonzeroDigit = 5;
32
- public static readonly DigitSequence = 6;
33
- public static readonly FractionalConstant = 7;
34
- public static readonly ExponentPart = 8;
35
- public static readonly PLUS = 9;
36
- public static readonly MINUS = 10;
37
- public static readonly MULTIPLY = 11;
38
- public static readonly DIVIDE = 12;
39
- public static readonly NOT = 13;
40
- public static readonly GT = 14;
41
- public static readonly GTE = 15;
42
- public static readonly LT = 16;
43
- public static readonly LTE = 17;
44
- public static readonly EQUALS = 18;
45
- public static readonly NOT_EQUALS = 19;
46
- public static readonly AND = 20;
47
- public static readonly OR = 21;
48
- public static readonly DOT = 22;
49
- public static readonly OPEN_BRACKET = 23;
50
- public static readonly CLOSED_BRACKET = 24;
51
- public static readonly Whitespace = 25;
52
- public static readonly RULE_expression = 0;
53
- public static readonly RULE_reference = 1;
54
- public static readonly RULE_atomicExpression = 2;
55
- public static readonly RULE_literal = 3;
56
- public static readonly RULE_integerLiteral = 4;
57
- public static readonly RULE_floatingLiteral = 5;
58
- public static readonly RULE_booleanLiteral = 6;
59
- // tslint:disable:no-trailing-whitespace
60
- public static readonly ruleNames: string[] = [
61
- "expression", "reference", "atomicExpression", "literal", "integerLiteral",
62
- "floatingLiteral", "booleanLiteral",
63
- ];
64
-
65
- private static readonly _LITERAL_NAMES: Array<string | undefined> = [
66
- undefined, "'0'", "'true'", "'false'", undefined, undefined, undefined,
67
- undefined, undefined, "'+'", "'-'", "'*'", "'/'", "'!'", "'>'", "'>='",
68
- "'<'", "'<='", "'=='", "'!='", "'&&'", "'||'", "'.'", "'('", "')'",
69
- ];
70
- private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
71
- undefined, undefined, undefined, undefined, "Identifier", "NonzeroDigit",
72
- "DigitSequence", "FractionalConstant", "ExponentPart", "PLUS", "MINUS",
73
- "MULTIPLY", "DIVIDE", "NOT", "GT", "GTE", "LT", "LTE", "EQUALS", "NOT_EQUALS",
74
- "AND", "OR", "DOT", "OPEN_BRACKET", "CLOSED_BRACKET", "Whitespace",
75
- ];
76
- public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(ReactiveParser._LITERAL_NAMES, ReactiveParser._SYMBOLIC_NAMES, []);
77
-
78
- // @Override
79
- // @NotNull
80
- public get vocabulary(): Vocabulary {
81
- return ReactiveParser.VOCABULARY;
82
- }
83
-
84
- // tslint:enable:no-trailing-whitespace
85
-
86
- // @Override
87
- public get grammarFileName(): string {
88
- return "Reactive.g4";
89
- }
90
-
91
- // @Override
92
- public get ruleNames(): string[] {
93
- return ReactiveParser.ruleNames;
94
- }
95
-
96
- // @Override
97
- public get serializedATN(): string {
98
- return ReactiveParser._serializedATN;
99
- }
100
-
101
- constructor(input: TokenStream) {
102
- super(input);
103
- this._interp = new ParserATNSimulator(ReactiveParser._ATN, this);
104
- }
105
-
106
- public expression(): ExpressionContext;
107
- public expression(_p: number): ExpressionContext;
108
- // @RuleVersion(0)
109
- public expression(_p?: number): ExpressionContext {
110
- if (_p === undefined) {
111
- _p = 0;
112
- }
113
-
114
- let _parentctx: ParserRuleContext = this._ctx;
115
- let _parentState: number = this.state;
116
- let _localctx: ExpressionContext = new ExpressionContext(this._ctx, _parentState);
117
- let _prevctx: ExpressionContext = _localctx;
118
- let _startState: number = 0;
119
- this.enterRecursionRule(_localctx, 0, ReactiveParser.RULE_expression, _p);
120
- try {
121
- let _alt: number;
122
- this.enterOuterAlt(_localctx, 1);
123
- {
124
- this.state = 24;
125
- this._errHandler.sync(this);
126
- switch (this._input.LA(1)) {
127
- case ReactiveParser.T__0:
128
- case ReactiveParser.T__1:
129
- case ReactiveParser.T__2:
130
- case ReactiveParser.Identifier:
131
- case ReactiveParser.NonzeroDigit:
132
- case ReactiveParser.DigitSequence:
133
- case ReactiveParser.FractionalConstant: {
134
- _localctx = new AtomicContext(_localctx);
135
- this._ctx = _localctx;
136
- _prevctx = _localctx;
137
-
138
- this.state = 15;
139
- this.atomicExpression();
140
- }
141
- break;
142
- case ReactiveParser.OPEN_BRACKET: {
143
- _localctx = new GroupExpressionContext(_localctx);
144
- this._ctx = _localctx;
145
- _prevctx = _localctx;
146
- this.state = 16;
147
- this.match(ReactiveParser.OPEN_BRACKET);
148
- this.state = 17;
149
- (_localctx as GroupExpressionContext)._exp = this.expression(0);
150
- this.state = 18;
151
- this.match(ReactiveParser.CLOSED_BRACKET);
152
- }
153
- break;
154
- case ReactiveParser.NOT: {
155
- _localctx = new UnaryExpressionNotContext(_localctx);
156
- this._ctx = _localctx;
157
- _prevctx = _localctx;
158
- this.state = 20;
159
- this.match(ReactiveParser.NOT);
160
- this.state = 21;
161
- (_localctx as UnaryExpressionNotContext)._exp = this.expression(14);
162
- }
163
- break;
164
- case ReactiveParser.MINUS: {
165
- _localctx = new UnaryExpressionNegateContext(_localctx);
166
- this._ctx = _localctx;
167
- _prevctx = _localctx;
168
- this.state = 22;
169
- this.match(ReactiveParser.MINUS);
170
- this.state = 23;
171
- (_localctx as UnaryExpressionNegateContext)._exp = this.expression(13);
172
- }
173
- break;
174
- default:
175
- throw new NoViableAltException(this);
176
- }
177
- this._ctx._stop = this._input.tryLT(-1);
178
- this.state = 64;
179
- this._errHandler.sync(this);
180
- _alt = this.interpreter.adaptivePredict(this._input, 2, this._ctx);
181
- while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
182
- if (_alt === 1) {
183
- if (this._parseListeners != null) {
184
- this.triggerExitRuleEvent();
185
- }
186
- _prevctx = _localctx;
187
- {
188
- this.state = 62;
189
- this._errHandler.sync(this);
190
- switch (this.interpreter.adaptivePredict(this._input, 1, this._ctx)) {
191
- case 1: {
192
- _localctx = new BinaryExpressionMultiplyContext(new ExpressionContext(_parentctx, _parentState));
193
- (_localctx as BinaryExpressionMultiplyContext)._left = _prevctx;
194
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
195
- this.state = 26;
196
- if (!(this.precpred(this._ctx, 12))) {
197
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 12)");
198
- }
199
- this.state = 27;
200
- this.match(ReactiveParser.MULTIPLY);
201
- this.state = 28;
202
- (_localctx as BinaryExpressionMultiplyContext)._right = this.expression(13);
203
- }
204
- break;
205
-
206
- case 2: {
207
- _localctx = new BinaryExpressionDivideContext(new ExpressionContext(_parentctx, _parentState));
208
- (_localctx as BinaryExpressionDivideContext)._left = _prevctx;
209
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
210
- this.state = 29;
211
- if (!(this.precpred(this._ctx, 11))) {
212
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 11)");
213
- }
214
- this.state = 30;
215
- this.match(ReactiveParser.DIVIDE);
216
- this.state = 31;
217
- (_localctx as BinaryExpressionDivideContext)._right = this.expression(12);
218
- }
219
- break;
220
-
221
- case 3: {
222
- _localctx = new BinaryExpressionAddContext(new ExpressionContext(_parentctx, _parentState));
223
- (_localctx as BinaryExpressionAddContext)._left = _prevctx;
224
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
225
- this.state = 32;
226
- if (!(this.precpred(this._ctx, 10))) {
227
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 10)");
228
- }
229
- this.state = 33;
230
- this.match(ReactiveParser.PLUS);
231
- this.state = 34;
232
- (_localctx as BinaryExpressionAddContext)._right = this.expression(11);
233
- }
234
- break;
235
-
236
- case 4: {
237
- _localctx = new BinaryExpressionSubtractContext(new ExpressionContext(_parentctx, _parentState));
238
- (_localctx as BinaryExpressionSubtractContext)._left = _prevctx;
239
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
240
- this.state = 35;
241
- if (!(this.precpred(this._ctx, 9))) {
242
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 9)");
243
- }
244
- this.state = 36;
245
- this.match(ReactiveParser.MINUS);
246
- this.state = 37;
247
- (_localctx as BinaryExpressionSubtractContext)._right = this.expression(10);
248
- }
249
- break;
250
-
251
- case 5: {
252
- _localctx = new BinaryExpressionGreaterThanContext(new ExpressionContext(_parentctx, _parentState));
253
- (_localctx as BinaryExpressionGreaterThanContext)._left = _prevctx;
254
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
255
- this.state = 38;
256
- if (!(this.precpred(this._ctx, 8))) {
257
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 8)");
258
- }
259
- this.state = 39;
260
- this.match(ReactiveParser.GT);
261
- this.state = 40;
262
- (_localctx as BinaryExpressionGreaterThanContext)._right = this.expression(9);
263
- }
264
- break;
265
-
266
- case 6: {
267
- _localctx = new BinaryExpressionLessThanContext(new ExpressionContext(_parentctx, _parentState));
268
- (_localctx as BinaryExpressionLessThanContext)._left = _prevctx;
269
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
270
- this.state = 41;
271
- if (!(this.precpred(this._ctx, 7))) {
272
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 7)");
273
- }
274
- this.state = 42;
275
- this.match(ReactiveParser.LT);
276
- this.state = 43;
277
- (_localctx as BinaryExpressionLessThanContext)._right = this.expression(8);
278
- }
279
- break;
280
-
281
- case 7: {
282
- _localctx = new BinaryExpressionGreaterThanOrEqualContext(new ExpressionContext(_parentctx, _parentState));
283
- (_localctx as BinaryExpressionGreaterThanOrEqualContext)._left = _prevctx;
284
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
285
- this.state = 44;
286
- if (!(this.precpred(this._ctx, 6))) {
287
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 6)");
288
- }
289
- this.state = 45;
290
- this.match(ReactiveParser.GTE);
291
- this.state = 46;
292
- (_localctx as BinaryExpressionGreaterThanOrEqualContext)._right = this.expression(7);
293
- }
294
- break;
295
-
296
- case 8: {
297
- _localctx = new BinaryExpressionLessThanOrEqualContext(new ExpressionContext(_parentctx, _parentState));
298
- (_localctx as BinaryExpressionLessThanOrEqualContext)._left = _prevctx;
299
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
300
- this.state = 47;
301
- if (!(this.precpred(this._ctx, 5))) {
302
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 5)");
303
- }
304
- this.state = 48;
305
- this.match(ReactiveParser.LTE);
306
- this.state = 49;
307
- (_localctx as BinaryExpressionLessThanOrEqualContext)._right = this.expression(6);
308
- }
309
- break;
310
-
311
- case 9: {
312
- _localctx = new BinaryExpressionEqualContext(new ExpressionContext(_parentctx, _parentState));
313
- (_localctx as BinaryExpressionEqualContext)._left = _prevctx;
314
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
315
- this.state = 50;
316
- if (!(this.precpred(this._ctx, 4))) {
317
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 4)");
318
- }
319
- this.state = 51;
320
- this.match(ReactiveParser.EQUALS);
321
- this.state = 52;
322
- (_localctx as BinaryExpressionEqualContext)._right = this.expression(5);
323
- }
324
- break;
325
-
326
- case 10: {
327
- _localctx = new BinaryExpressionNotEqualContext(new ExpressionContext(_parentctx, _parentState));
328
- (_localctx as BinaryExpressionNotEqualContext)._left = _prevctx;
329
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
330
- this.state = 53;
331
- if (!(this.precpred(this._ctx, 3))) {
332
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 3)");
333
- }
334
- this.state = 54;
335
- this.match(ReactiveParser.NOT_EQUALS);
336
- this.state = 55;
337
- (_localctx as BinaryExpressionNotEqualContext)._right = this.expression(4);
338
- }
339
- break;
340
-
341
- case 11: {
342
- _localctx = new BinaryExpressionAndContext(new ExpressionContext(_parentctx, _parentState));
343
- (_localctx as BinaryExpressionAndContext)._left = _prevctx;
344
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
345
- this.state = 56;
346
- if (!(this.precpred(this._ctx, 2))) {
347
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 2)");
348
- }
349
- this.state = 57;
350
- this.match(ReactiveParser.AND);
351
- this.state = 58;
352
- (_localctx as BinaryExpressionAndContext)._right = this.expression(3);
353
- }
354
- break;
355
-
356
- case 12: {
357
- _localctx = new BinaryExpressionOrContext(new ExpressionContext(_parentctx, _parentState));
358
- (_localctx as BinaryExpressionOrContext)._left = _prevctx;
359
- this.pushNewRecursionContext(_localctx, _startState, ReactiveParser.RULE_expression);
360
- this.state = 59;
361
- if (!(this.precpred(this._ctx, 1))) {
362
- throw new FailedPredicateException(this, "this.precpred(this._ctx, 1)");
363
- }
364
- this.state = 60;
365
- this.match(ReactiveParser.OR);
366
- this.state = 61;
367
- (_localctx as BinaryExpressionOrContext)._right = this.expression(2);
368
- }
369
- break;
370
- }
371
- }
372
- }
373
- this.state = 66;
374
- this._errHandler.sync(this);
375
- _alt = this.interpreter.adaptivePredict(this._input, 2, this._ctx);
376
- }
377
- }
378
- } catch (re) {
379
- if (re instanceof RecognitionException) {
380
- _localctx.exception = re;
381
- this._errHandler.reportError(this, re);
382
- this._errHandler.recover(this, re);
383
- } else {
384
- throw re;
385
- }
386
- } finally {
387
- this.unrollRecursionContexts(_parentctx);
388
- }
389
- return _localctx;
390
- }
391
-
392
- // @RuleVersion(0)
393
- public reference(): ReferenceContext {
394
- let _localctx: ReferenceContext = new ReferenceContext(this._ctx, this.state);
395
- this.enterRule(_localctx, 2, ReactiveParser.RULE_reference);
396
- try {
397
- let _alt: number;
398
- this.enterOuterAlt(_localctx, 1);
399
- {
400
- this.state = 67;
401
- this.match(ReactiveParser.Identifier);
402
- this.state = 72;
403
- this._errHandler.sync(this);
404
- _alt = this.interpreter.adaptivePredict(this._input, 3, this._ctx);
405
- while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
406
- if (_alt === 1) {
407
- {
408
- {
409
- this.state = 68;
410
- this.match(ReactiveParser.DOT);
411
- this.state = 69;
412
- this.match(ReactiveParser.Identifier);
413
- }
414
- }
415
- }
416
- this.state = 74;
417
- this._errHandler.sync(this);
418
- _alt = this.interpreter.adaptivePredict(this._input, 3, this._ctx);
419
- }
420
- }
421
- } catch (re) {
422
- if (re instanceof RecognitionException) {
423
- _localctx.exception = re;
424
- this._errHandler.reportError(this, re);
425
- this._errHandler.recover(this, re);
426
- } else {
427
- throw re;
428
- }
429
- } finally {
430
- this.exitRule();
431
- }
432
- return _localctx;
433
- }
434
-
435
- // @RuleVersion(0)
436
- public atomicExpression(): AtomicExpressionContext {
437
- let _localctx: AtomicExpressionContext = new AtomicExpressionContext(this._ctx, this.state);
438
- this.enterRule(_localctx, 4, ReactiveParser.RULE_atomicExpression);
439
- try {
440
- this.state = 77;
441
- this._errHandler.sync(this);
442
- switch (this._input.LA(1)) {
443
- case ReactiveParser.T__0:
444
- case ReactiveParser.T__1:
445
- case ReactiveParser.T__2:
446
- case ReactiveParser.NonzeroDigit:
447
- case ReactiveParser.DigitSequence:
448
- case ReactiveParser.FractionalConstant:
449
- this.enterOuterAlt(_localctx, 1);
450
- {
451
- this.state = 75;
452
- this.literal();
453
- }
454
- break;
455
- case ReactiveParser.Identifier:
456
- this.enterOuterAlt(_localctx, 2);
457
- {
458
- this.state = 76;
459
- this.reference();
460
- }
461
- break;
462
- default:
463
- throw new NoViableAltException(this);
464
- }
465
- } catch (re) {
466
- if (re instanceof RecognitionException) {
467
- _localctx.exception = re;
468
- this._errHandler.reportError(this, re);
469
- this._errHandler.recover(this, re);
470
- } else {
471
- throw re;
472
- }
473
- } finally {
474
- this.exitRule();
475
- }
476
- return _localctx;
477
- }
478
-
479
- // @RuleVersion(0)
480
- public literal(): LiteralContext {
481
- let _localctx: LiteralContext = new LiteralContext(this._ctx, this.state);
482
- this.enterRule(_localctx, 6, ReactiveParser.RULE_literal);
483
- try {
484
- this.state = 82;
485
- this._errHandler.sync(this);
486
- switch (this._input.LA(1)) {
487
- case ReactiveParser.T__0:
488
- case ReactiveParser.NonzeroDigit:
489
- this.enterOuterAlt(_localctx, 1);
490
- {
491
- this.state = 79;
492
- this.integerLiteral();
493
- }
494
- break;
495
- case ReactiveParser.DigitSequence:
496
- case ReactiveParser.FractionalConstant:
497
- this.enterOuterAlt(_localctx, 2);
498
- {
499
- this.state = 80;
500
- this.floatingLiteral();
501
- }
502
- break;
503
- case ReactiveParser.T__1:
504
- case ReactiveParser.T__2:
505
- this.enterOuterAlt(_localctx, 3);
506
- {
507
- this.state = 81;
508
- this.booleanLiteral();
509
- }
510
- break;
511
- default:
512
- throw new NoViableAltException(this);
513
- }
514
- } catch (re) {
515
- if (re instanceof RecognitionException) {
516
- _localctx.exception = re;
517
- this._errHandler.reportError(this, re);
518
- this._errHandler.recover(this, re);
519
- } else {
520
- throw re;
521
- }
522
- } finally {
523
- this.exitRule();
524
- }
525
- return _localctx;
526
- }
527
-
528
- // @RuleVersion(0)
529
- public integerLiteral(): IntegerLiteralContext {
530
- let _localctx: IntegerLiteralContext = new IntegerLiteralContext(this._ctx, this.state);
531
- this.enterRule(_localctx, 8, ReactiveParser.RULE_integerLiteral);
532
- try {
533
- this.state = 89;
534
- this._errHandler.sync(this);
535
- switch (this._input.LA(1)) {
536
- case ReactiveParser.T__0:
537
- this.enterOuterAlt(_localctx, 1);
538
- {
539
- this.state = 84;
540
- this.match(ReactiveParser.T__0);
541
- }
542
- break;
543
- case ReactiveParser.NonzeroDigit:
544
- this.enterOuterAlt(_localctx, 2);
545
- {
546
- {
547
- this.state = 85;
548
- this.match(ReactiveParser.NonzeroDigit);
549
- this.state = 87;
550
- this._errHandler.sync(this);
551
- switch (this.interpreter.adaptivePredict(this._input, 6, this._ctx)) {
552
- case 1: {
553
- this.state = 86;
554
- this.match(ReactiveParser.DigitSequence);
555
- }
556
- break;
557
- }
558
- }
559
- }
560
- break;
561
- default:
562
- throw new NoViableAltException(this);
563
- }
564
- } catch (re) {
565
- if (re instanceof RecognitionException) {
566
- _localctx.exception = re;
567
- this._errHandler.reportError(this, re);
568
- this._errHandler.recover(this, re);
569
- } else {
570
- throw re;
571
- }
572
- } finally {
573
- this.exitRule();
574
- }
575
- return _localctx;
576
- }
577
-
578
- // @RuleVersion(0)
579
- public floatingLiteral(): FloatingLiteralContext {
580
- let _localctx: FloatingLiteralContext = new FloatingLiteralContext(this._ctx, this.state);
581
- this.enterRule(_localctx, 10, ReactiveParser.RULE_floatingLiteral);
582
- try {
583
- this.state = 97;
584
- this._errHandler.sync(this);
585
- switch (this._input.LA(1)) {
586
- case ReactiveParser.FractionalConstant:
587
- this.enterOuterAlt(_localctx, 1);
588
- {
589
- this.state = 91;
590
- this.match(ReactiveParser.FractionalConstant);
591
- this.state = 93;
592
- this._errHandler.sync(this);
593
- switch (this.interpreter.adaptivePredict(this._input, 8, this._ctx)) {
594
- case 1: {
595
- this.state = 92;
596
- this.match(ReactiveParser.ExponentPart);
597
- }
598
- break;
599
- }
600
- }
601
- break;
602
- case ReactiveParser.DigitSequence:
603
- this.enterOuterAlt(_localctx, 2);
604
- {
605
- this.state = 95;
606
- this.match(ReactiveParser.DigitSequence);
607
- this.state = 96;
608
- this.match(ReactiveParser.ExponentPart);
609
- }
610
- break;
611
- default:
612
- throw new NoViableAltException(this);
613
- }
614
- } catch (re) {
615
- if (re instanceof RecognitionException) {
616
- _localctx.exception = re;
617
- this._errHandler.reportError(this, re);
618
- this._errHandler.recover(this, re);
619
- } else {
620
- throw re;
621
- }
622
- } finally {
623
- this.exitRule();
624
- }
625
- return _localctx;
626
- }
627
-
628
- // @RuleVersion(0)
629
- public booleanLiteral(): BooleanLiteralContext {
630
- let _localctx: BooleanLiteralContext = new BooleanLiteralContext(this._ctx, this.state);
631
- this.enterRule(_localctx, 12, ReactiveParser.RULE_booleanLiteral);
632
- let _la: number;
633
- try {
634
- this.enterOuterAlt(_localctx, 1);
635
- {
636
- this.state = 99;
637
- _la = this._input.LA(1);
638
- if (!(_la === ReactiveParser.T__1 || _la === ReactiveParser.T__2)) {
639
- this._errHandler.recoverInline(this);
640
- } else {
641
- if (this._input.LA(1) === Token.EOF) {
642
- this.matchedEOF = true;
643
- }
644
-
645
- this._errHandler.reportMatch(this);
646
- this.consume();
647
- }
648
- }
649
- } catch (re) {
650
- if (re instanceof RecognitionException) {
651
- _localctx.exception = re;
652
- this._errHandler.reportError(this, re);
653
- this._errHandler.recover(this, re);
654
- } else {
655
- throw re;
656
- }
657
- } finally {
658
- this.exitRule();
659
- }
660
- return _localctx;
661
- }
662
-
663
- public sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean {
664
- switch (ruleIndex) {
665
- case 0:
666
- return this.expression_sempred(_localctx as ExpressionContext, predIndex);
667
- }
668
- return true;
669
- }
670
-
671
- private expression_sempred(_localctx: ExpressionContext, predIndex: number): boolean {
672
- switch (predIndex) {
673
- case 0:
674
- return this.precpred(this._ctx, 12);
675
-
676
- case 1:
677
- return this.precpred(this._ctx, 11);
678
-
679
- case 2:
680
- return this.precpred(this._ctx, 10);
681
-
682
- case 3:
683
- return this.precpred(this._ctx, 9);
684
-
685
- case 4:
686
- return this.precpred(this._ctx, 8);
687
-
688
- case 5:
689
- return this.precpred(this._ctx, 7);
690
-
691
- case 6:
692
- return this.precpred(this._ctx, 6);
693
-
694
- case 7:
695
- return this.precpred(this._ctx, 5);
696
-
697
- case 8:
698
- return this.precpred(this._ctx, 4);
699
-
700
- case 9:
701
- return this.precpred(this._ctx, 3);
702
-
703
- case 10:
704
- return this.precpred(this._ctx, 2);
705
-
706
- case 11:
707
- return this.precpred(this._ctx, 1);
708
- }
709
- return true;
710
- }
711
-
712
- public static readonly _serializedATN: string =
713
- "\x03\uAF6F\u8320\u479D\uB75C\u4880\u1605\u191C\uAB37\x03\x1Bh\x04\x02" +
714
- "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
715
- "\t\x07\x04\b\t\b\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02" +
716
- "\x03\x02\x03\x02\x03\x02\x05\x02\x1B\n\x02\x03\x02\x03\x02\x03\x02\x03" +
717
- "\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" +
718
- "\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" +
719
- "\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03" +
720
- "\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x07\x02A\n\x02\f\x02\x0E" +
721
- "\x02D\v\x02\x03\x03\x03\x03\x03\x03\x07\x03I\n\x03\f\x03\x0E\x03L\v\x03" +
722
- "\x03\x04\x03\x04\x05\x04P\n\x04\x03\x05\x03\x05\x03\x05\x05\x05U\n\x05" +
723
- "\x03\x06\x03\x06\x03\x06\x05\x06Z\n\x06\x05\x06\\\n\x06\x03\x07\x03\x07" +
724
- "\x05\x07`\n\x07\x03\x07\x03\x07\x05\x07d\n\x07\x03\b\x03\b\x03\b\x02\x02" +
725
- "\x03\x02\t\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x02\x03\x03" +
726
- "\x02\x04\x05w\x02\x1A\x03\x02\x02\x02\x04E\x03\x02\x02\x02\x06O\x03\x02" +
727
- "\x02\x02\bT\x03\x02\x02\x02\n[\x03\x02\x02\x02\fc\x03\x02\x02\x02\x0E" +
728
- "e\x03\x02\x02\x02\x10\x11\b\x02\x01\x02\x11\x1B\x05\x06\x04\x02\x12\x13" +
729
- "\x07\x19\x02\x02\x13\x14\x05\x02\x02\x02\x14\x15\x07\x1A\x02\x02\x15\x1B" +
730
- "\x03\x02\x02\x02\x16\x17\x07\x0F\x02\x02\x17\x1B\x05\x02\x02\x10\x18\x19" +
731
- "\x07\f\x02\x02\x19\x1B\x05\x02\x02\x0F\x1A\x10\x03\x02\x02\x02\x1A\x12" +
732
- "\x03\x02\x02\x02\x1A\x16\x03\x02\x02\x02\x1A\x18\x03\x02\x02\x02\x1BB" +
733
- "\x03\x02\x02\x02\x1C\x1D\f\x0E\x02\x02\x1D\x1E\x07\r\x02\x02\x1EA\x05" +
734
- "\x02\x02\x0F\x1F \f\r\x02\x02 !\x07\x0E\x02\x02!A\x05\x02\x02\x0E\"#\f" +
735
- "\f\x02\x02#$\x07\v\x02\x02$A\x05\x02\x02\r%&\f\v\x02\x02&\'\x07\f\x02" +
736
- "\x02\'A\x05\x02\x02\f()\f\n\x02\x02)*\x07\x10\x02\x02*A\x05\x02\x02\v" +
737
- "+,\f\t\x02\x02,-\x07\x12\x02\x02-A\x05\x02\x02\n./\f\b\x02\x02/0\x07\x11" +
738
- "\x02\x020A\x05\x02\x02\t12\f\x07\x02\x0223\x07\x13\x02\x023A\x05\x02\x02" +
739
- "\b45\f\x06\x02\x0256\x07\x14\x02\x026A\x05\x02\x02\x0778\f\x05\x02\x02" +
740
- "89\x07\x15\x02\x029A\x05\x02\x02\x06:;\f\x04\x02\x02;<\x07\x16\x02\x02" +
741
- "<A\x05\x02\x02\x05=>\f\x03\x02\x02>?\x07\x17\x02\x02?A\x05\x02\x02\x04" +
742
- "@\x1C\x03\x02\x02\x02@\x1F\x03\x02\x02\x02@\"\x03\x02\x02\x02@%\x03\x02" +
743
- "\x02\x02@(\x03\x02\x02\x02@+\x03\x02\x02\x02@.\x03\x02\x02\x02@1\x03\x02" +
744
- "\x02\x02@4\x03\x02\x02\x02@7\x03\x02\x02\x02@:\x03\x02\x02\x02@=\x03\x02" +
745
- "\x02\x02AD\x03\x02\x02\x02B@\x03\x02\x02\x02BC\x03\x02\x02\x02C\x03\x03" +
746
- "\x02\x02\x02DB\x03\x02\x02\x02EJ\x07\x06\x02\x02FG\x07\x18\x02\x02GI\x07" +
747
- "\x06\x02\x02HF\x03\x02\x02\x02IL\x03\x02\x02\x02JH\x03\x02\x02\x02JK\x03" +
748
- "\x02\x02\x02K\x05\x03\x02\x02\x02LJ\x03\x02\x02\x02MP\x05\b\x05\x02NP" +
749
- "\x05\x04\x03\x02OM\x03\x02\x02\x02ON\x03\x02\x02\x02P\x07\x03\x02\x02" +
750
- "\x02QU\x05\n\x06\x02RU\x05\f\x07\x02SU\x05\x0E\b\x02TQ\x03\x02\x02\x02" +
751
- "TR\x03\x02\x02\x02TS\x03\x02\x02\x02U\t\x03\x02\x02\x02V\\\x07\x03\x02" +
752
- "\x02WY\x07\x07\x02\x02XZ\x07\b\x02\x02YX\x03\x02\x02\x02YZ\x03\x02\x02" +
753
- "\x02Z\\\x03\x02\x02\x02[V\x03\x02\x02\x02[W\x03\x02\x02\x02\\\v\x03\x02" +
754
- "\x02\x02]_\x07\t\x02\x02^`\x07\n\x02\x02_^\x03\x02\x02\x02_`\x03\x02\x02" +
755
- "\x02`d\x03\x02\x02\x02ab\x07\b\x02\x02bd\x07\n\x02\x02c]\x03\x02\x02\x02" +
756
- "ca\x03\x02\x02\x02d\r\x03\x02\x02\x02ef\t\x02\x02\x02f\x0F\x03\x02\x02" +
757
- "\x02\f\x1A@BJOTY[_c";
758
- public static __ATN: ATN;
759
- public static get _ATN(): ATN {
760
- if (!ReactiveParser.__ATN) {
761
- ReactiveParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(ReactiveParser._serializedATN));
762
- }
763
-
764
- return ReactiveParser.__ATN;
765
- }
766
-
767
- }
768
-
769
- export class ExpressionContext extends ParserRuleContext {
770
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
771
- super(parent, invokingState);
772
- }
773
-
774
- // @Override
775
- public get ruleIndex(): number {
776
- return ReactiveParser.RULE_expression;
777
- }
778
-
779
- public copyFrom(ctx: ExpressionContext): void {
780
- super.copyFrom(ctx);
781
- }
782
- }
783
-
784
- export class BinaryExpressionDivideContext extends ExpressionContext {
785
- public _left: ExpressionContext;
786
- public _right: ExpressionContext;
787
-
788
- public DIVIDE(): TerminalNode {
789
- return this.getToken(ReactiveParser.DIVIDE, 0);
790
- }
791
-
792
- public expression(): ExpressionContext[];
793
- public expression(i: number): ExpressionContext;
794
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
795
- if (i === undefined) {
796
- return this.getRuleContexts(ExpressionContext);
797
- } else {
798
- return this.getRuleContext(i, ExpressionContext);
799
- }
800
- }
801
-
802
- constructor(ctx: ExpressionContext) {
803
- super(ctx.parent, ctx.invokingState);
804
- this.copyFrom(ctx);
805
- }
806
-
807
- // @Override
808
- public enterRule(listener: ReactiveListener): void {
809
- if (listener.enterBinaryExpressionDivide) {
810
- listener.enterBinaryExpressionDivide(this);
811
- }
812
- }
813
-
814
- // @Override
815
- public exitRule(listener: ReactiveListener): void {
816
- if (listener.exitBinaryExpressionDivide) {
817
- listener.exitBinaryExpressionDivide(this);
818
- }
819
- }
820
-
821
- // @Override
822
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
823
- if (visitor.visitBinaryExpressionDivide) {
824
- return visitor.visitBinaryExpressionDivide(this);
825
- } else {
826
- return visitor.visitChildren(this);
827
- }
828
- }
829
- }
830
-
831
- export class UnaryExpressionNotContext extends ExpressionContext {
832
- public _exp: ExpressionContext;
833
-
834
- public NOT(): TerminalNode {
835
- return this.getToken(ReactiveParser.NOT, 0);
836
- }
837
-
838
- public expression(): ExpressionContext {
839
- return this.getRuleContext(0, ExpressionContext);
840
- }
841
-
842
- constructor(ctx: ExpressionContext) {
843
- super(ctx.parent, ctx.invokingState);
844
- this.copyFrom(ctx);
845
- }
846
-
847
- // @Override
848
- public enterRule(listener: ReactiveListener): void {
849
- if (listener.enterUnaryExpressionNot) {
850
- listener.enterUnaryExpressionNot(this);
851
- }
852
- }
853
-
854
- // @Override
855
- public exitRule(listener: ReactiveListener): void {
856
- if (listener.exitUnaryExpressionNot) {
857
- listener.exitUnaryExpressionNot(this);
858
- }
859
- }
860
-
861
- // @Override
862
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
863
- if (visitor.visitUnaryExpressionNot) {
864
- return visitor.visitUnaryExpressionNot(this);
865
- } else {
866
- return visitor.visitChildren(this);
867
- }
868
- }
869
- }
870
-
871
- export class BinaryExpressionLessThanContext extends ExpressionContext {
872
- public _left: ExpressionContext;
873
- public _right: ExpressionContext;
874
-
875
- public LT(): TerminalNode {
876
- return this.getToken(ReactiveParser.LT, 0);
877
- }
878
-
879
- public expression(): ExpressionContext[];
880
- public expression(i: number): ExpressionContext;
881
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
882
- if (i === undefined) {
883
- return this.getRuleContexts(ExpressionContext);
884
- } else {
885
- return this.getRuleContext(i, ExpressionContext);
886
- }
887
- }
888
-
889
- constructor(ctx: ExpressionContext) {
890
- super(ctx.parent, ctx.invokingState);
891
- this.copyFrom(ctx);
892
- }
893
-
894
- // @Override
895
- public enterRule(listener: ReactiveListener): void {
896
- if (listener.enterBinaryExpressionLessThan) {
897
- listener.enterBinaryExpressionLessThan(this);
898
- }
899
- }
900
-
901
- // @Override
902
- public exitRule(listener: ReactiveListener): void {
903
- if (listener.exitBinaryExpressionLessThan) {
904
- listener.exitBinaryExpressionLessThan(this);
905
- }
906
- }
907
-
908
- // @Override
909
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
910
- if (visitor.visitBinaryExpressionLessThan) {
911
- return visitor.visitBinaryExpressionLessThan(this);
912
- } else {
913
- return visitor.visitChildren(this);
914
- }
915
- }
916
- }
917
-
918
- export class BinaryExpressionAndContext extends ExpressionContext {
919
- public _left: ExpressionContext;
920
- public _right: ExpressionContext;
921
-
922
- public AND(): TerminalNode {
923
- return this.getToken(ReactiveParser.AND, 0);
924
- }
925
-
926
- public expression(): ExpressionContext[];
927
- public expression(i: number): ExpressionContext;
928
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
929
- if (i === undefined) {
930
- return this.getRuleContexts(ExpressionContext);
931
- } else {
932
- return this.getRuleContext(i, ExpressionContext);
933
- }
934
- }
935
-
936
- constructor(ctx: ExpressionContext) {
937
- super(ctx.parent, ctx.invokingState);
938
- this.copyFrom(ctx);
939
- }
940
-
941
- // @Override
942
- public enterRule(listener: ReactiveListener): void {
943
- if (listener.enterBinaryExpressionAnd) {
944
- listener.enterBinaryExpressionAnd(this);
945
- }
946
- }
947
-
948
- // @Override
949
- public exitRule(listener: ReactiveListener): void {
950
- if (listener.exitBinaryExpressionAnd) {
951
- listener.exitBinaryExpressionAnd(this);
952
- }
953
- }
954
-
955
- // @Override
956
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
957
- if (visitor.visitBinaryExpressionAnd) {
958
- return visitor.visitBinaryExpressionAnd(this);
959
- } else {
960
- return visitor.visitChildren(this);
961
- }
962
- }
963
- }
964
-
965
- export class AtomicContext extends ExpressionContext {
966
- public atomicExpression(): AtomicExpressionContext {
967
- return this.getRuleContext(0, AtomicExpressionContext);
968
- }
969
-
970
- constructor(ctx: ExpressionContext) {
971
- super(ctx.parent, ctx.invokingState);
972
- this.copyFrom(ctx);
973
- }
974
-
975
- // @Override
976
- public enterRule(listener: ReactiveListener): void {
977
- if (listener.enterAtomic) {
978
- listener.enterAtomic(this);
979
- }
980
- }
981
-
982
- // @Override
983
- public exitRule(listener: ReactiveListener): void {
984
- if (listener.exitAtomic) {
985
- listener.exitAtomic(this);
986
- }
987
- }
988
-
989
- // @Override
990
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
991
- if (visitor.visitAtomic) {
992
- return visitor.visitAtomic(this);
993
- } else {
994
- return visitor.visitChildren(this);
995
- }
996
- }
997
- }
998
-
999
- export class BinaryExpressionGreaterThanOrEqualContext extends ExpressionContext {
1000
- public _left: ExpressionContext;
1001
- public _right: ExpressionContext;
1002
-
1003
- public GTE(): TerminalNode {
1004
- return this.getToken(ReactiveParser.GTE, 0);
1005
- }
1006
-
1007
- public expression(): ExpressionContext[];
1008
- public expression(i: number): ExpressionContext;
1009
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1010
- if (i === undefined) {
1011
- return this.getRuleContexts(ExpressionContext);
1012
- } else {
1013
- return this.getRuleContext(i, ExpressionContext);
1014
- }
1015
- }
1016
-
1017
- constructor(ctx: ExpressionContext) {
1018
- super(ctx.parent, ctx.invokingState);
1019
- this.copyFrom(ctx);
1020
- }
1021
-
1022
- // @Override
1023
- public enterRule(listener: ReactiveListener): void {
1024
- if (listener.enterBinaryExpressionGreaterThanOrEqual) {
1025
- listener.enterBinaryExpressionGreaterThanOrEqual(this);
1026
- }
1027
- }
1028
-
1029
- // @Override
1030
- public exitRule(listener: ReactiveListener): void {
1031
- if (listener.exitBinaryExpressionGreaterThanOrEqual) {
1032
- listener.exitBinaryExpressionGreaterThanOrEqual(this);
1033
- }
1034
- }
1035
-
1036
- // @Override
1037
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1038
- if (visitor.visitBinaryExpressionGreaterThanOrEqual) {
1039
- return visitor.visitBinaryExpressionGreaterThanOrEqual(this);
1040
- } else {
1041
- return visitor.visitChildren(this);
1042
- }
1043
- }
1044
- }
1045
-
1046
- export class BinaryExpressionOrContext extends ExpressionContext {
1047
- public _left: ExpressionContext;
1048
- public _right: ExpressionContext;
1049
-
1050
- public OR(): TerminalNode {
1051
- return this.getToken(ReactiveParser.OR, 0);
1052
- }
1053
-
1054
- public expression(): ExpressionContext[];
1055
- public expression(i: number): ExpressionContext;
1056
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1057
- if (i === undefined) {
1058
- return this.getRuleContexts(ExpressionContext);
1059
- } else {
1060
- return this.getRuleContext(i, ExpressionContext);
1061
- }
1062
- }
1063
-
1064
- constructor(ctx: ExpressionContext) {
1065
- super(ctx.parent, ctx.invokingState);
1066
- this.copyFrom(ctx);
1067
- }
1068
-
1069
- // @Override
1070
- public enterRule(listener: ReactiveListener): void {
1071
- if (listener.enterBinaryExpressionOr) {
1072
- listener.enterBinaryExpressionOr(this);
1073
- }
1074
- }
1075
-
1076
- // @Override
1077
- public exitRule(listener: ReactiveListener): void {
1078
- if (listener.exitBinaryExpressionOr) {
1079
- listener.exitBinaryExpressionOr(this);
1080
- }
1081
- }
1082
-
1083
- // @Override
1084
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1085
- if (visitor.visitBinaryExpressionOr) {
1086
- return visitor.visitBinaryExpressionOr(this);
1087
- } else {
1088
- return visitor.visitChildren(this);
1089
- }
1090
- }
1091
- }
1092
-
1093
- export class GroupExpressionContext extends ExpressionContext {
1094
- public _exp: ExpressionContext;
1095
-
1096
- public OPEN_BRACKET(): TerminalNode {
1097
- return this.getToken(ReactiveParser.OPEN_BRACKET, 0);
1098
- }
1099
-
1100
- public CLOSED_BRACKET(): TerminalNode {
1101
- return this.getToken(ReactiveParser.CLOSED_BRACKET, 0);
1102
- }
1103
-
1104
- public expression(): ExpressionContext {
1105
- return this.getRuleContext(0, ExpressionContext);
1106
- }
1107
-
1108
- constructor(ctx: ExpressionContext) {
1109
- super(ctx.parent, ctx.invokingState);
1110
- this.copyFrom(ctx);
1111
- }
1112
-
1113
- // @Override
1114
- public enterRule(listener: ReactiveListener): void {
1115
- if (listener.enterGroupExpression) {
1116
- listener.enterGroupExpression(this);
1117
- }
1118
- }
1119
-
1120
- // @Override
1121
- public exitRule(listener: ReactiveListener): void {
1122
- if (listener.exitGroupExpression) {
1123
- listener.exitGroupExpression(this);
1124
- }
1125
- }
1126
-
1127
- // @Override
1128
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1129
- if (visitor.visitGroupExpression) {
1130
- return visitor.visitGroupExpression(this);
1131
- } else {
1132
- return visitor.visitChildren(this);
1133
- }
1134
- }
1135
- }
1136
-
1137
- export class BinaryExpressionSubtractContext extends ExpressionContext {
1138
- public _left: ExpressionContext;
1139
- public _right: ExpressionContext;
1140
-
1141
- public MINUS(): TerminalNode {
1142
- return this.getToken(ReactiveParser.MINUS, 0);
1143
- }
1144
-
1145
- public expression(): ExpressionContext[];
1146
- public expression(i: number): ExpressionContext;
1147
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1148
- if (i === undefined) {
1149
- return this.getRuleContexts(ExpressionContext);
1150
- } else {
1151
- return this.getRuleContext(i, ExpressionContext);
1152
- }
1153
- }
1154
-
1155
- constructor(ctx: ExpressionContext) {
1156
- super(ctx.parent, ctx.invokingState);
1157
- this.copyFrom(ctx);
1158
- }
1159
-
1160
- // @Override
1161
- public enterRule(listener: ReactiveListener): void {
1162
- if (listener.enterBinaryExpressionSubtract) {
1163
- listener.enterBinaryExpressionSubtract(this);
1164
- }
1165
- }
1166
-
1167
- // @Override
1168
- public exitRule(listener: ReactiveListener): void {
1169
- if (listener.exitBinaryExpressionSubtract) {
1170
- listener.exitBinaryExpressionSubtract(this);
1171
- }
1172
- }
1173
-
1174
- // @Override
1175
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1176
- if (visitor.visitBinaryExpressionSubtract) {
1177
- return visitor.visitBinaryExpressionSubtract(this);
1178
- } else {
1179
- return visitor.visitChildren(this);
1180
- }
1181
- }
1182
- }
1183
-
1184
- export class BinaryExpressionGreaterThanContext extends ExpressionContext {
1185
- public _left: ExpressionContext;
1186
- public _right: ExpressionContext;
1187
-
1188
- public GT(): TerminalNode {
1189
- return this.getToken(ReactiveParser.GT, 0);
1190
- }
1191
-
1192
- public expression(): ExpressionContext[];
1193
- public expression(i: number): ExpressionContext;
1194
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1195
- if (i === undefined) {
1196
- return this.getRuleContexts(ExpressionContext);
1197
- } else {
1198
- return this.getRuleContext(i, ExpressionContext);
1199
- }
1200
- }
1201
-
1202
- constructor(ctx: ExpressionContext) {
1203
- super(ctx.parent, ctx.invokingState);
1204
- this.copyFrom(ctx);
1205
- }
1206
-
1207
- // @Override
1208
- public enterRule(listener: ReactiveListener): void {
1209
- if (listener.enterBinaryExpressionGreaterThan) {
1210
- listener.enterBinaryExpressionGreaterThan(this);
1211
- }
1212
- }
1213
-
1214
- // @Override
1215
- public exitRule(listener: ReactiveListener): void {
1216
- if (listener.exitBinaryExpressionGreaterThan) {
1217
- listener.exitBinaryExpressionGreaterThan(this);
1218
- }
1219
- }
1220
-
1221
- // @Override
1222
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1223
- if (visitor.visitBinaryExpressionGreaterThan) {
1224
- return visitor.visitBinaryExpressionGreaterThan(this);
1225
- } else {
1226
- return visitor.visitChildren(this);
1227
- }
1228
- }
1229
- }
1230
-
1231
- export class BinaryExpressionNotEqualContext extends ExpressionContext {
1232
- public _left: ExpressionContext;
1233
- public _right: ExpressionContext;
1234
-
1235
- public NOT_EQUALS(): TerminalNode {
1236
- return this.getToken(ReactiveParser.NOT_EQUALS, 0);
1237
- }
1238
-
1239
- public expression(): ExpressionContext[];
1240
- public expression(i: number): ExpressionContext;
1241
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1242
- if (i === undefined) {
1243
- return this.getRuleContexts(ExpressionContext);
1244
- } else {
1245
- return this.getRuleContext(i, ExpressionContext);
1246
- }
1247
- }
1248
-
1249
- constructor(ctx: ExpressionContext) {
1250
- super(ctx.parent, ctx.invokingState);
1251
- this.copyFrom(ctx);
1252
- }
1253
-
1254
- // @Override
1255
- public enterRule(listener: ReactiveListener): void {
1256
- if (listener.enterBinaryExpressionNotEqual) {
1257
- listener.enterBinaryExpressionNotEqual(this);
1258
- }
1259
- }
1260
-
1261
- // @Override
1262
- public exitRule(listener: ReactiveListener): void {
1263
- if (listener.exitBinaryExpressionNotEqual) {
1264
- listener.exitBinaryExpressionNotEqual(this);
1265
- }
1266
- }
1267
-
1268
- // @Override
1269
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1270
- if (visitor.visitBinaryExpressionNotEqual) {
1271
- return visitor.visitBinaryExpressionNotEqual(this);
1272
- } else {
1273
- return visitor.visitChildren(this);
1274
- }
1275
- }
1276
- }
1277
-
1278
- export class UnaryExpressionNegateContext extends ExpressionContext {
1279
- public _exp: ExpressionContext;
1280
-
1281
- public MINUS(): TerminalNode {
1282
- return this.getToken(ReactiveParser.MINUS, 0);
1283
- }
1284
-
1285
- public expression(): ExpressionContext {
1286
- return this.getRuleContext(0, ExpressionContext);
1287
- }
1288
-
1289
- constructor(ctx: ExpressionContext) {
1290
- super(ctx.parent, ctx.invokingState);
1291
- this.copyFrom(ctx);
1292
- }
1293
-
1294
- // @Override
1295
- public enterRule(listener: ReactiveListener): void {
1296
- if (listener.enterUnaryExpressionNegate) {
1297
- listener.enterUnaryExpressionNegate(this);
1298
- }
1299
- }
1300
-
1301
- // @Override
1302
- public exitRule(listener: ReactiveListener): void {
1303
- if (listener.exitUnaryExpressionNegate) {
1304
- listener.exitUnaryExpressionNegate(this);
1305
- }
1306
- }
1307
-
1308
- // @Override
1309
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1310
- if (visitor.visitUnaryExpressionNegate) {
1311
- return visitor.visitUnaryExpressionNegate(this);
1312
- } else {
1313
- return visitor.visitChildren(this);
1314
- }
1315
- }
1316
- }
1317
-
1318
- export class BinaryExpressionEqualContext extends ExpressionContext {
1319
- public _left: ExpressionContext;
1320
- public _right: ExpressionContext;
1321
-
1322
- public EQUALS(): TerminalNode {
1323
- return this.getToken(ReactiveParser.EQUALS, 0);
1324
- }
1325
-
1326
- public expression(): ExpressionContext[];
1327
- public expression(i: number): ExpressionContext;
1328
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1329
- if (i === undefined) {
1330
- return this.getRuleContexts(ExpressionContext);
1331
- } else {
1332
- return this.getRuleContext(i, ExpressionContext);
1333
- }
1334
- }
1335
-
1336
- constructor(ctx: ExpressionContext) {
1337
- super(ctx.parent, ctx.invokingState);
1338
- this.copyFrom(ctx);
1339
- }
1340
-
1341
- // @Override
1342
- public enterRule(listener: ReactiveListener): void {
1343
- if (listener.enterBinaryExpressionEqual) {
1344
- listener.enterBinaryExpressionEqual(this);
1345
- }
1346
- }
1347
-
1348
- // @Override
1349
- public exitRule(listener: ReactiveListener): void {
1350
- if (listener.exitBinaryExpressionEqual) {
1351
- listener.exitBinaryExpressionEqual(this);
1352
- }
1353
- }
1354
-
1355
- // @Override
1356
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1357
- if (visitor.visitBinaryExpressionEqual) {
1358
- return visitor.visitBinaryExpressionEqual(this);
1359
- } else {
1360
- return visitor.visitChildren(this);
1361
- }
1362
- }
1363
- }
1364
-
1365
- export class BinaryExpressionMultiplyContext extends ExpressionContext {
1366
- public _left: ExpressionContext;
1367
- public _right: ExpressionContext;
1368
-
1369
- public MULTIPLY(): TerminalNode {
1370
- return this.getToken(ReactiveParser.MULTIPLY, 0);
1371
- }
1372
-
1373
- public expression(): ExpressionContext[];
1374
- public expression(i: number): ExpressionContext;
1375
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1376
- if (i === undefined) {
1377
- return this.getRuleContexts(ExpressionContext);
1378
- } else {
1379
- return this.getRuleContext(i, ExpressionContext);
1380
- }
1381
- }
1382
-
1383
- constructor(ctx: ExpressionContext) {
1384
- super(ctx.parent, ctx.invokingState);
1385
- this.copyFrom(ctx);
1386
- }
1387
-
1388
- // @Override
1389
- public enterRule(listener: ReactiveListener): void {
1390
- if (listener.enterBinaryExpressionMultiply) {
1391
- listener.enterBinaryExpressionMultiply(this);
1392
- }
1393
- }
1394
-
1395
- // @Override
1396
- public exitRule(listener: ReactiveListener): void {
1397
- if (listener.exitBinaryExpressionMultiply) {
1398
- listener.exitBinaryExpressionMultiply(this);
1399
- }
1400
- }
1401
-
1402
- // @Override
1403
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1404
- if (visitor.visitBinaryExpressionMultiply) {
1405
- return visitor.visitBinaryExpressionMultiply(this);
1406
- } else {
1407
- return visitor.visitChildren(this);
1408
- }
1409
- }
1410
- }
1411
-
1412
- export class BinaryExpressionLessThanOrEqualContext extends ExpressionContext {
1413
- public _left: ExpressionContext;
1414
- public _right: ExpressionContext;
1415
-
1416
- public LTE(): TerminalNode {
1417
- return this.getToken(ReactiveParser.LTE, 0);
1418
- }
1419
-
1420
- public expression(): ExpressionContext[];
1421
- public expression(i: number): ExpressionContext;
1422
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1423
- if (i === undefined) {
1424
- return this.getRuleContexts(ExpressionContext);
1425
- } else {
1426
- return this.getRuleContext(i, ExpressionContext);
1427
- }
1428
- }
1429
-
1430
- constructor(ctx: ExpressionContext) {
1431
- super(ctx.parent, ctx.invokingState);
1432
- this.copyFrom(ctx);
1433
- }
1434
-
1435
- // @Override
1436
- public enterRule(listener: ReactiveListener): void {
1437
- if (listener.enterBinaryExpressionLessThanOrEqual) {
1438
- listener.enterBinaryExpressionLessThanOrEqual(this);
1439
- }
1440
- }
1441
-
1442
- // @Override
1443
- public exitRule(listener: ReactiveListener): void {
1444
- if (listener.exitBinaryExpressionLessThanOrEqual) {
1445
- listener.exitBinaryExpressionLessThanOrEqual(this);
1446
- }
1447
- }
1448
-
1449
- // @Override
1450
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1451
- if (visitor.visitBinaryExpressionLessThanOrEqual) {
1452
- return visitor.visitBinaryExpressionLessThanOrEqual(this);
1453
- } else {
1454
- return visitor.visitChildren(this);
1455
- }
1456
- }
1457
- }
1458
-
1459
- export class BinaryExpressionAddContext extends ExpressionContext {
1460
- public _left: ExpressionContext;
1461
- public _right: ExpressionContext;
1462
-
1463
- public PLUS(): TerminalNode {
1464
- return this.getToken(ReactiveParser.PLUS, 0);
1465
- }
1466
-
1467
- public expression(): ExpressionContext[];
1468
- public expression(i: number): ExpressionContext;
1469
- public expression(i?: number): ExpressionContext | ExpressionContext[] {
1470
- if (i === undefined) {
1471
- return this.getRuleContexts(ExpressionContext);
1472
- } else {
1473
- return this.getRuleContext(i, ExpressionContext);
1474
- }
1475
- }
1476
-
1477
- constructor(ctx: ExpressionContext) {
1478
- super(ctx.parent, ctx.invokingState);
1479
- this.copyFrom(ctx);
1480
- }
1481
-
1482
- // @Override
1483
- public enterRule(listener: ReactiveListener): void {
1484
- if (listener.enterBinaryExpressionAdd) {
1485
- listener.enterBinaryExpressionAdd(this);
1486
- }
1487
- }
1488
-
1489
- // @Override
1490
- public exitRule(listener: ReactiveListener): void {
1491
- if (listener.exitBinaryExpressionAdd) {
1492
- listener.exitBinaryExpressionAdd(this);
1493
- }
1494
- }
1495
-
1496
- // @Override
1497
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1498
- if (visitor.visitBinaryExpressionAdd) {
1499
- return visitor.visitBinaryExpressionAdd(this);
1500
- } else {
1501
- return visitor.visitChildren(this);
1502
- }
1503
- }
1504
- }
1505
-
1506
-
1507
- export class ReferenceContext extends ParserRuleContext {
1508
- public Identifier(): TerminalNode[];
1509
- public Identifier(i: number): TerminalNode;
1510
- public Identifier(i?: number): TerminalNode | TerminalNode[] {
1511
- if (i === undefined) {
1512
- return this.getTokens(ReactiveParser.Identifier);
1513
- } else {
1514
- return this.getToken(ReactiveParser.Identifier, i);
1515
- }
1516
- }
1517
-
1518
- public DOT(): TerminalNode[];
1519
- public DOT(i: number): TerminalNode;
1520
- public DOT(i?: number): TerminalNode | TerminalNode[] {
1521
- if (i === undefined) {
1522
- return this.getTokens(ReactiveParser.DOT);
1523
- } else {
1524
- return this.getToken(ReactiveParser.DOT, i);
1525
- }
1526
- }
1527
-
1528
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1529
- super(parent, invokingState);
1530
- }
1531
-
1532
- // @Override
1533
- public get ruleIndex(): number {
1534
- return ReactiveParser.RULE_reference;
1535
- }
1536
-
1537
- // @Override
1538
- public enterRule(listener: ReactiveListener): void {
1539
- if (listener.enterReference) {
1540
- listener.enterReference(this);
1541
- }
1542
- }
1543
-
1544
- // @Override
1545
- public exitRule(listener: ReactiveListener): void {
1546
- if (listener.exitReference) {
1547
- listener.exitReference(this);
1548
- }
1549
- }
1550
-
1551
- // @Override
1552
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1553
- if (visitor.visitReference) {
1554
- return visitor.visitReference(this);
1555
- } else {
1556
- return visitor.visitChildren(this);
1557
- }
1558
- }
1559
- }
1560
-
1561
-
1562
- export class AtomicExpressionContext extends ParserRuleContext {
1563
- public literal(): LiteralContext | undefined {
1564
- return this.tryGetRuleContext(0, LiteralContext);
1565
- }
1566
-
1567
- public reference(): ReferenceContext | undefined {
1568
- return this.tryGetRuleContext(0, ReferenceContext);
1569
- }
1570
-
1571
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1572
- super(parent, invokingState);
1573
- }
1574
-
1575
- // @Override
1576
- public get ruleIndex(): number {
1577
- return ReactiveParser.RULE_atomicExpression;
1578
- }
1579
-
1580
- // @Override
1581
- public enterRule(listener: ReactiveListener): void {
1582
- if (listener.enterAtomicExpression) {
1583
- listener.enterAtomicExpression(this);
1584
- }
1585
- }
1586
-
1587
- // @Override
1588
- public exitRule(listener: ReactiveListener): void {
1589
- if (listener.exitAtomicExpression) {
1590
- listener.exitAtomicExpression(this);
1591
- }
1592
- }
1593
-
1594
- // @Override
1595
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1596
- if (visitor.visitAtomicExpression) {
1597
- return visitor.visitAtomicExpression(this);
1598
- } else {
1599
- return visitor.visitChildren(this);
1600
- }
1601
- }
1602
- }
1603
-
1604
-
1605
- export class LiteralContext extends ParserRuleContext {
1606
- public integerLiteral(): IntegerLiteralContext | undefined {
1607
- return this.tryGetRuleContext(0, IntegerLiteralContext);
1608
- }
1609
-
1610
- public floatingLiteral(): FloatingLiteralContext | undefined {
1611
- return this.tryGetRuleContext(0, FloatingLiteralContext);
1612
- }
1613
-
1614
- public booleanLiteral(): BooleanLiteralContext | undefined {
1615
- return this.tryGetRuleContext(0, BooleanLiteralContext);
1616
- }
1617
-
1618
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1619
- super(parent, invokingState);
1620
- }
1621
-
1622
- // @Override
1623
- public get ruleIndex(): number {
1624
- return ReactiveParser.RULE_literal;
1625
- }
1626
-
1627
- // @Override
1628
- public enterRule(listener: ReactiveListener): void {
1629
- if (listener.enterLiteral) {
1630
- listener.enterLiteral(this);
1631
- }
1632
- }
1633
-
1634
- // @Override
1635
- public exitRule(listener: ReactiveListener): void {
1636
- if (listener.exitLiteral) {
1637
- listener.exitLiteral(this);
1638
- }
1639
- }
1640
-
1641
- // @Override
1642
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1643
- if (visitor.visitLiteral) {
1644
- return visitor.visitLiteral(this);
1645
- } else {
1646
- return visitor.visitChildren(this);
1647
- }
1648
- }
1649
- }
1650
-
1651
-
1652
- export class IntegerLiteralContext extends ParserRuleContext {
1653
- public NonzeroDigit(): TerminalNode | undefined {
1654
- return this.tryGetToken(ReactiveParser.NonzeroDigit, 0);
1655
- }
1656
-
1657
- public DigitSequence(): TerminalNode | undefined {
1658
- return this.tryGetToken(ReactiveParser.DigitSequence, 0);
1659
- }
1660
-
1661
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1662
- super(parent, invokingState);
1663
- }
1664
-
1665
- // @Override
1666
- public get ruleIndex(): number {
1667
- return ReactiveParser.RULE_integerLiteral;
1668
- }
1669
-
1670
- // @Override
1671
- public enterRule(listener: ReactiveListener): void {
1672
- if (listener.enterIntegerLiteral) {
1673
- listener.enterIntegerLiteral(this);
1674
- }
1675
- }
1676
-
1677
- // @Override
1678
- public exitRule(listener: ReactiveListener): void {
1679
- if (listener.exitIntegerLiteral) {
1680
- listener.exitIntegerLiteral(this);
1681
- }
1682
- }
1683
-
1684
- // @Override
1685
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1686
- if (visitor.visitIntegerLiteral) {
1687
- return visitor.visitIntegerLiteral(this);
1688
- } else {
1689
- return visitor.visitChildren(this);
1690
- }
1691
- }
1692
- }
1693
-
1694
-
1695
- export class FloatingLiteralContext extends ParserRuleContext {
1696
- public FractionalConstant(): TerminalNode | undefined {
1697
- return this.tryGetToken(ReactiveParser.FractionalConstant, 0);
1698
- }
1699
-
1700
- public ExponentPart(): TerminalNode | undefined {
1701
- return this.tryGetToken(ReactiveParser.ExponentPart, 0);
1702
- }
1703
-
1704
- public DigitSequence(): TerminalNode | undefined {
1705
- return this.tryGetToken(ReactiveParser.DigitSequence, 0);
1706
- }
1707
-
1708
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1709
- super(parent, invokingState);
1710
- }
1711
-
1712
- // @Override
1713
- public get ruleIndex(): number {
1714
- return ReactiveParser.RULE_floatingLiteral;
1715
- }
1716
-
1717
- // @Override
1718
- public enterRule(listener: ReactiveListener): void {
1719
- if (listener.enterFloatingLiteral) {
1720
- listener.enterFloatingLiteral(this);
1721
- }
1722
- }
1723
-
1724
- // @Override
1725
- public exitRule(listener: ReactiveListener): void {
1726
- if (listener.exitFloatingLiteral) {
1727
- listener.exitFloatingLiteral(this);
1728
- }
1729
- }
1730
-
1731
- // @Override
1732
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1733
- if (visitor.visitFloatingLiteral) {
1734
- return visitor.visitFloatingLiteral(this);
1735
- } else {
1736
- return visitor.visitChildren(this);
1737
- }
1738
- }
1739
- }
1740
-
1741
-
1742
- export class BooleanLiteralContext extends ParserRuleContext {
1743
- constructor(parent: ParserRuleContext | undefined, invokingState: number) {
1744
- super(parent, invokingState);
1745
- }
1746
-
1747
- // @Override
1748
- public get ruleIndex(): number {
1749
- return ReactiveParser.RULE_booleanLiteral;
1750
- }
1751
-
1752
- // @Override
1753
- public enterRule(listener: ReactiveListener): void {
1754
- if (listener.enterBooleanLiteral) {
1755
- listener.enterBooleanLiteral(this);
1756
- }
1757
- }
1758
-
1759
- // @Override
1760
- public exitRule(listener: ReactiveListener): void {
1761
- if (listener.exitBooleanLiteral) {
1762
- listener.exitBooleanLiteral(this);
1763
- }
1764
- }
1765
-
1766
- // @Override
1767
- public accept<Result>(visitor: ReactiveVisitor<Result>): Result {
1768
- if (visitor.visitBooleanLiteral) {
1769
- return visitor.visitBooleanLiteral(this);
1770
- } else {
1771
- return visitor.visitChildren(this);
1772
- }
1773
- }
1774
- }
1775
-
1776
-