modl 0.0.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +15 -0
  3. data/.idea/vcs.xml +6 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +5 -0
  6. data/.travis.yml +7 -0
  7. data/CHANGELOG.md +4 -0
  8. data/CODE_OF_CONDUCT.md +74 -0
  9. data/Gemfile +9 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +52 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +14 -0
  14. data/bin/setup +8 -0
  15. data/grammar_tests/1.modl +1 -0
  16. data/grammar_tests/2.modl +1 -0
  17. data/grammar_tests/3.modl +1 -0
  18. data/grammar_tests/a.modl +1 -0
  19. data/grammar_tests/b.modl +1 -0
  20. data/grammar_tests/base_tests.json +996 -0
  21. data/grammar_tests/c.modl +1 -0
  22. data/grammar_tests/demo_config.modl +9 -0
  23. data/grammar_tests/error_tests.json +70 -0
  24. data/grammar_tests/import_config.modl +9 -0
  25. data/grammar_tests/test_import_dir/nested_import1.txt +1 -0
  26. data/grammar_tests/test_import_dir/nested_import2.txt +1 -0
  27. data/grammar_tests/test_import_dir/nested_import3.txt +1 -0
  28. data/grammar_tests/test_import_dir/test_import.txt +9 -0
  29. data/lib/modl/interpreter.rb +10 -0
  30. data/lib/modl/parser/MODLLexer.interp +136 -0
  31. data/lib/modl/parser/MODLLexer.rb +324 -0
  32. data/lib/modl/parser/MODLLexer.tokens +41 -0
  33. data/lib/modl/parser/MODLParser.interp +95 -0
  34. data/lib/modl/parser/MODLParser.rb +2504 -0
  35. data/lib/modl/parser/MODLParser.tokens +41 -0
  36. data/lib/modl/parser/MODLParserBaseListener.rb +164 -0
  37. data/lib/modl/parser/MODLParserBaseVisitor.rb +107 -0
  38. data/lib/modl/parser/MODLParserListener.rb +151 -0
  39. data/lib/modl/parser/MODLParserVisitor.rb +56 -0
  40. data/lib/modl/parser/class_processor.rb +159 -0
  41. data/lib/modl/parser/evaluator.rb +164 -0
  42. data/lib/modl/parser/file_importer.rb +64 -0
  43. data/lib/modl/parser/global_parse_context.rb +249 -0
  44. data/lib/modl/parser/instruction_processor.rb +58 -0
  45. data/lib/modl/parser/interpreter.rb +38 -0
  46. data/lib/modl/parser/modl_class.rb +102 -0
  47. data/lib/modl/parser/modl_index.rb +30 -0
  48. data/lib/modl/parser/modl_keylist.rb +43 -0
  49. data/lib/modl/parser/modl_method.rb +132 -0
  50. data/lib/modl/parser/object_cache.rb +54 -0
  51. data/lib/modl/parser/parsed.rb +1410 -0
  52. data/lib/modl/parser/parser.rb +42 -0
  53. data/lib/modl/parser/ref_processor.rb +139 -0
  54. data/lib/modl/parser/substitutions.rb +67 -0
  55. data/lib/modl/parser/sutil.rb +78 -0
  56. data/lib/modl/parser/throwing_error_listener.rb +20 -0
  57. data/lib/modl/parser/version.rb +5 -0
  58. data/modl.gemspec +32 -0
  59. metadata +138 -11
  60. data/lib/modl.rb +0 -5
@@ -0,0 +1,2504 @@
1
+ # Generated from MODLParser.g4 by ANTLR 4.7.2
2
+
3
+ require 'antlr4/runtime'
4
+
5
+ module Modl::Parser
6
+
7
+ @@theMODLParserListener = MODLParserListener.new
8
+ @@theMODLParserVisitor = MODLParserVisitor.new
9
+
10
+
11
+
12
+ class MODLParser < Antlr4::Runtime::Parser
13
+
14
+ class << self
15
+ @@_decisionToDFA = []
16
+ end
17
+ @@_sharedContextCache = Antlr4::Runtime::PredictionContextCache.new()
18
+ WS=1
19
+ NULL=2
20
+ TRUE=3
21
+ FALSE=4
22
+ COLON = 5
23
+ EQUALS = 6
24
+ STRUCT_SEP = 7
25
+ ARR_SEP = 8
26
+ LBRAC=9
27
+ RBRAC=10
28
+ LSBRAC=11
29
+ RSBRAC=12
30
+ NUMBER=13
31
+ COMMENT=14
32
+ STRING=15
33
+ HASH_PREFIX=16
34
+ QUOTED=17
35
+ GRAVED=18
36
+ LCBRAC=19
37
+ CWS=20
38
+ QMARK=21
39
+ FSLASH=22
40
+ GTHAN=23
41
+ LTHAN=24
42
+ ASTERISK=25
43
+ AMP=26
44
+ PIPE=27
45
+ EXCLAM=28
46
+ CCOMMENT=29
47
+ RCBRAC=30
48
+ RULE_modl = 0
49
+ RULE_modl_structure = 1
50
+ RULE_modl_map = 2
51
+ RULE_modl_array = 3
52
+ RULE_modl_nb_array = 4
53
+ RULE_modl_pair = 5
54
+ RULE_modl_value_item = 6
55
+ RULE_modl_top_level_conditional = 7
56
+ RULE_modl_top_level_conditional_return = 8
57
+ RULE_modl_map_conditional = 9
58
+ RULE_modl_map_conditional_return = 10
59
+ RULE_modl_map_item = 11
60
+ RULE_modl_array_conditional = 12
61
+ RULE_modl_array_conditional_return = 13
62
+ RULE_modl_array_item = 14
63
+ RULE_modl_value_conditional = 15
64
+ RULE_modl_value_conditional_return = 16
65
+ RULE_modl_condition_test = 17
66
+ RULE_modl_operator = 18
67
+ RULE_modl_condition = 19
68
+ RULE_modl_condition_group = 20
69
+ RULE_modl_value = 21
70
+ RULE_modl_array_value_item = 22
71
+ RULE_modl_primitive = 23
72
+
73
+ @@ruleNames = [
74
+ "modl", "modl_structure", "modl_map", "modl_array", "modl_nb_array",
75
+ "modl_pair", "modl_value_item", "modl_top_level_conditional", "modl_top_level_conditional_return",
76
+ "modl_map_conditional", "modl_map_conditional_return", "modl_map_item",
77
+ "modl_array_conditional", "modl_array_conditional_return", "modl_array_item",
78
+ "modl_value_conditional", "modl_value_conditional_return", "modl_condition_test",
79
+ "modl_operator", "modl_condition", "modl_condition_group", "modl_value",
80
+ "modl_array_value_item", "modl_primitive"
81
+ ]
82
+
83
+ @@_LITERAL_NAMES = [
84
+ nil, nil, nil, nil, nil, nil, nil, nil, "','", nil, nil, nil, nil, nil,
85
+ nil, nil, nil, nil, nil, "'{'", nil, "'?'", "'/'", "'>'", "'<'", "'*'",
86
+ "'&'", "'|'", "'!'", nil, "'}'"
87
+ ]
88
+
89
+ @@_SYMBOLIC_NAMES = [
90
+ nil, "WS", "NULL", "TRUE", "FALSE", "COLON", "EQUALS", "STRUCT_SEP",
91
+ "ARR_SEP", "LBRAC", "RBRAC", "LSBRAC", "RSBRAC", "NUMBER", "COMMENT",
92
+ "STRING", "HASH_PREFIX", "QUOTED", "GRAVED", "LCBRAC", "CWS", "QMARK",
93
+ "FSLASH", "GTHAN", "LTHAN", "ASTERISK", "AMP", "PIPE", "EXCLAM", "CCOMMENT",
94
+ "RCBRAC"
95
+ ]
96
+
97
+ @@VOCABULARY = Antlr4::Runtime::VocabularyImpl.new(@@_LITERAL_NAMES, @@_SYMBOLIC_NAMES)
98
+
99
+ def get_vocabulary
100
+ @@VOCABULARY
101
+ end
102
+
103
+ def getGrammarFileName()
104
+ return "MODLParser.g4"
105
+ end
106
+
107
+ def rule_names()
108
+ return @@ruleNames
109
+ end
110
+
111
+ def serialized_atn()
112
+ return @@_serializedATN
113
+ end
114
+
115
+ def atn()
116
+ return @@_ATN
117
+ end
118
+
119
+ def initialize( input)
120
+ super(input)
121
+ i = 0
122
+ while i < @@_ATN.number_of_decisions()
123
+ @@_decisionToDFA[i] = Antlr4::Runtime::DFA.new(@@_ATN.decision_state(i), i)
124
+ i+=1
125
+ end
126
+
127
+ @_interp = Antlr4::Runtime::ParserATNSimulator.new(self,@@_ATN,@@_decisionToDFA,@@_sharedContextCache)
128
+ end
129
+
130
+ class ModlContext < Antlr4::Runtime::ParserRuleContext
131
+ def modl_structure()
132
+ return rule_contexts("Modl_structureContext")
133
+ end
134
+ def modl_structure_i( i)
135
+ return rule_context("Modl_structureContext",i)
136
+ end
137
+
138
+ def EOF()
139
+ return token(MODLParser::EOF, 0)
140
+ end
141
+
142
+ def STRUCT_SEP()
143
+ return tokens(MODLParser::STRUCT_SEP)
144
+ end
145
+
146
+ def STRUCT_SEP_i(i)
147
+ return token(MODLParser::STRUCT_SEP, i)
148
+ end
149
+ def initialize( parent, invokingState)
150
+ super(parent, invokingState)
151
+ end
152
+ def getRuleIndex()
153
+ return RULE_modl
154
+ end
155
+ def enter_rule( listener)
156
+ if ( listener.is_a? MODLParserListener )
157
+ listener.enterModl(self)
158
+ end
159
+ end
160
+ def exit_rule( listener)
161
+ if ( listener.is_a? MODLParserListener )
162
+ listener.exitModl(self)
163
+ end
164
+ end
165
+
166
+ def accept(visitor)
167
+ if ( visitor.is_a? MODLParserVisitor )
168
+ return visitor.visitModl(self)
169
+ else
170
+ return visitor.visit_children(self)
171
+ end
172
+ end
173
+ end
174
+
175
+ def modl()
176
+ _localctx = ModlContext.new(@_ctx, @_state_number)
177
+ enter_rule(_localctx, 0, RULE_modl)
178
+ _la = 0
179
+ begin
180
+ _alt = 0
181
+ @_state_number = 64
182
+ @_err_handler.sync(self)
183
+ case (@_interp.adaptive_predict(@_input, 3, @_ctx))
184
+ when 1
185
+ enter_outer_alt(_localctx, 1)
186
+
187
+
188
+ @_state_number = 49
189
+ @_err_handler.sync(self)
190
+ _la = @_input.la(1)
191
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0))
192
+
193
+ @_state_number = 48
194
+ modl_structure()
195
+ end
196
+
197
+
198
+ when 2
199
+ enter_outer_alt(_localctx, 2)
200
+
201
+
202
+ @_state_number = 51
203
+ modl_structure()
204
+ @_state_number = 56
205
+ @_err_handler.sync(self);
206
+ _alt = @_interp.adaptive_predict(@_input, 1, @_ctx)
207
+ while (_alt != 2 && _alt != Antlr4::Runtime::ATN::INVALID_ALT_NUMBER)
208
+ if (_alt == 1)
209
+
210
+
211
+ @_state_number = 52
212
+ match(STRUCT_SEP)
213
+ @_state_number = 53
214
+ modl_structure()
215
+ end
216
+ @_state_number = 58
217
+ @_err_handler.sync(self)
218
+ _alt = @_interp.adaptive_predict(@_input, 1, @_ctx)
219
+ end
220
+ @_state_number = 60
221
+ @_err_handler.sync(self)
222
+ _la = @_input.la(1)
223
+ if (_la == STRUCT_SEP)
224
+
225
+ @_state_number = 59
226
+ match(STRUCT_SEP)
227
+ end
228
+
229
+ @_state_number = 62
230
+ match(EOF)
231
+
232
+ end
233
+ rescue Antlr4::Runtime::RecognitionException => re
234
+ _localctx.exception = re
235
+ @_err_handler.report_error(self, re)
236
+ @_err_handler.recover(self, re)
237
+ ensure
238
+ exit_rule()
239
+ end
240
+ return _localctx
241
+ end
242
+
243
+ class Modl_structureContext < Antlr4::Runtime::ParserRuleContext
244
+ def modl_map()
245
+ return rule_context("Modl_mapContext",0)
246
+ end
247
+ def modl_array()
248
+ return rule_context("Modl_arrayContext",0)
249
+ end
250
+ def modl_top_level_conditional()
251
+ return rule_context("Modl_top_level_conditionalContext",0)
252
+ end
253
+ def modl_pair()
254
+ return rule_context("Modl_pairContext",0)
255
+ end
256
+ def initialize( parent, invokingState)
257
+ super(parent, invokingState)
258
+ end
259
+ def getRuleIndex()
260
+ return RULE_modl_structure
261
+ end
262
+ def enter_rule( listener)
263
+ if ( listener.is_a? MODLParserListener )
264
+ listener.enterModl_structure(self)
265
+ end
266
+ end
267
+ def exit_rule( listener)
268
+ if ( listener.is_a? MODLParserListener )
269
+ listener.exitModl_structure(self)
270
+ end
271
+ end
272
+
273
+ def accept(visitor)
274
+ if ( visitor.is_a? MODLParserVisitor )
275
+ return visitor.visitModl_structure(self)
276
+ else
277
+ return visitor.visit_children(self)
278
+ end
279
+ end
280
+ end
281
+
282
+ def modl_structure()
283
+ _localctx = Modl_structureContext.new(@_ctx, @_state_number)
284
+ enter_rule(_localctx, 2, RULE_modl_structure)
285
+ begin
286
+ @_state_number = 70
287
+ @_err_handler.sync(self)
288
+ case (@_input.la(1))
289
+ when MODLParser::LBRAC
290
+ enter_outer_alt(_localctx, 1)
291
+
292
+ @_state_number = 66
293
+ modl_map()
294
+
295
+ when MODLParser::LSBRAC
296
+ enter_outer_alt(_localctx, 2)
297
+
298
+ @_state_number = 67
299
+ modl_array()
300
+
301
+ when MODLParser::LCBRAC
302
+ enter_outer_alt(_localctx, 3)
303
+
304
+ @_state_number = 68
305
+ modl_top_level_conditional()
306
+
307
+ when MODLParser::NULL, MODLParser::TRUE, MODLParser::FALSE, MODLParser::NUMBER, MODLParser::STRING, MODLParser::QUOTED
308
+ enter_outer_alt(_localctx, 4)
309
+
310
+ @_state_number = 69
311
+ modl_pair()
312
+ else
313
+ raise Antlr4::Runtime::NoViableAltException self
314
+ end
315
+ rescue Antlr4::Runtime::RecognitionException => re
316
+ _localctx.exception = re
317
+ @_err_handler.report_error(self, re)
318
+ @_err_handler.recover(self, re)
319
+ ensure
320
+ exit_rule()
321
+ end
322
+ return _localctx
323
+ end
324
+
325
+ class Modl_mapContext < Antlr4::Runtime::ParserRuleContext
326
+ def LBRAC()
327
+ return token(MODLParser::LBRAC, 0)
328
+ end
329
+ def RBRAC()
330
+ return token(MODLParser::RBRAC, 0)
331
+ end
332
+ def modl_map_item()
333
+ return rule_contexts("Modl_map_itemContext")
334
+ end
335
+ def modl_map_item_i( i)
336
+ return rule_context("Modl_map_itemContext",i)
337
+ end
338
+
339
+ def STRUCT_SEP()
340
+ return tokens(MODLParser::STRUCT_SEP)
341
+ end
342
+
343
+ def STRUCT_SEP_i(i)
344
+ return token(MODLParser::STRUCT_SEP, i)
345
+ end
346
+ def initialize( parent, invokingState)
347
+ super(parent, invokingState)
348
+ end
349
+ def getRuleIndex()
350
+ return RULE_modl_map
351
+ end
352
+ def enter_rule( listener)
353
+ if ( listener.is_a? MODLParserListener )
354
+ listener.enterModl_map(self)
355
+ end
356
+ end
357
+ def exit_rule( listener)
358
+ if ( listener.is_a? MODLParserListener )
359
+ listener.exitModl_map(self)
360
+ end
361
+ end
362
+
363
+ def accept(visitor)
364
+ if ( visitor.is_a? MODLParserVisitor )
365
+ return visitor.visitModl_map(self)
366
+ else
367
+ return visitor.visit_children(self)
368
+ end
369
+ end
370
+ end
371
+
372
+ def modl_map()
373
+ _localctx = Modl_mapContext.new(@_ctx, @_state_number)
374
+ enter_rule(_localctx, 4, RULE_modl_map)
375
+ _la = 0
376
+ begin
377
+ enter_outer_alt(_localctx, 1)
378
+
379
+ @_state_number = 72
380
+ match(LBRAC)
381
+ @_state_number = 81
382
+ @_err_handler.sync(self)
383
+ _la = @_input.la(1)
384
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0))
385
+
386
+ @_state_number = 73
387
+ modl_map_item()
388
+ @_state_number = 78
389
+ @_err_handler.sync(self)
390
+ _la = @_input.la(1)
391
+ while (_la == STRUCT_SEP)
392
+
393
+
394
+ @_state_number = 74
395
+ match(STRUCT_SEP)
396
+ @_state_number = 75
397
+ modl_map_item()
398
+ @_state_number = 80
399
+ @_err_handler.sync(self)
400
+ _la = @_input.la(1)
401
+ end
402
+ end
403
+
404
+ @_state_number = 83
405
+ match(RBRAC)
406
+ rescue Antlr4::Runtime::RecognitionException => re
407
+ _localctx.exception = re
408
+ @_err_handler.report_error(self, re)
409
+ @_err_handler.recover(self, re)
410
+ ensure
411
+ exit_rule()
412
+ end
413
+ return _localctx
414
+ end
415
+
416
+ class Modl_arrayContext < Antlr4::Runtime::ParserRuleContext
417
+ def LSBRAC()
418
+ return token(MODLParser::LSBRAC, 0)
419
+ end
420
+ def RSBRAC()
421
+ return token(MODLParser::RSBRAC, 0)
422
+ end
423
+ def modl_array_item()
424
+ return rule_contexts("Modl_array_itemContext")
425
+ end
426
+ def modl_array_item_i( i)
427
+ return rule_context("Modl_array_itemContext",i)
428
+ end
429
+ def modl_nb_array()
430
+ return rule_contexts("Modl_nb_arrayContext")
431
+ end
432
+ def modl_nb_array_i( i)
433
+ return rule_context("Modl_nb_arrayContext",i)
434
+ end
435
+
436
+ def STRUCT_SEP()
437
+ return tokens(MODLParser::STRUCT_SEP)
438
+ end
439
+
440
+ def STRUCT_SEP_i(i)
441
+ return token(MODLParser::STRUCT_SEP, i)
442
+ end
443
+ def initialize( parent, invokingState)
444
+ super(parent, invokingState)
445
+ end
446
+ def getRuleIndex()
447
+ return RULE_modl_array
448
+ end
449
+ def enter_rule( listener)
450
+ if ( listener.is_a? MODLParserListener )
451
+ listener.enterModl_array(self)
452
+ end
453
+ end
454
+ def exit_rule( listener)
455
+ if ( listener.is_a? MODLParserListener )
456
+ listener.exitModl_array(self)
457
+ end
458
+ end
459
+
460
+ def accept(visitor)
461
+ if ( visitor.is_a? MODLParserVisitor )
462
+ return visitor.visitModl_array(self)
463
+ else
464
+ return visitor.visit_children(self)
465
+ end
466
+ end
467
+ end
468
+
469
+ def modl_array()
470
+ _localctx = Modl_arrayContext.new(@_ctx, @_state_number)
471
+ enter_rule(_localctx, 6, RULE_modl_array)
472
+ _la = 0
473
+ begin
474
+ _alt = 0
475
+ enter_outer_alt(_localctx, 1)
476
+
477
+ @_state_number = 85
478
+ match(LSBRAC)
479
+ @_state_number = 110
480
+ @_err_handler.sync(self)
481
+ _la = @_input.la(1)
482
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0))
483
+
484
+ @_state_number = 88
485
+ @_err_handler.sync(self)
486
+ case (@_interp.adaptive_predict(@_input, 7, @_ctx))
487
+ when 1
488
+
489
+ @_state_number = 86
490
+ modl_array_item()
491
+
492
+ when 2
493
+
494
+ @_state_number = 87
495
+ modl_nb_array()
496
+
497
+ end
498
+ @_state_number = 107
499
+ @_err_handler.sync(self)
500
+ _la = @_input.la(1)
501
+ while (_la == STRUCT_SEP)
502
+
503
+
504
+ @_state_number = 91
505
+ @_err_handler.sync(self)
506
+ _la = @_input.la(1)
507
+ loop do
508
+
509
+
510
+ @_state_number = 90
511
+ match(STRUCT_SEP)
512
+ @_state_number = 93
513
+ @_err_handler.sync(self)
514
+ _la = @_input.la(1)
515
+ break if (!(_la == STRUCT_SEP))
516
+ end
517
+ @_state_number = 97
518
+ @_err_handler.sync(self)
519
+ case (@_interp.adaptive_predict(@_input, 9, @_ctx))
520
+ when 1
521
+
522
+ @_state_number = 95
523
+ modl_array_item()
524
+
525
+ when 2
526
+
527
+ @_state_number = 96
528
+ modl_nb_array()
529
+
530
+ end
531
+ @_state_number = 102
532
+ @_err_handler.sync(self);
533
+ _alt = @_interp.adaptive_predict(@_input, 10, @_ctx)
534
+ while (_alt != 2 && _alt != Antlr4::Runtime::ATN::INVALID_ALT_NUMBER)
535
+ if (_alt == 1)
536
+
537
+
538
+ @_state_number = 99
539
+ match(STRUCT_SEP)
540
+ end
541
+ @_state_number = 104
542
+ @_err_handler.sync(self)
543
+ _alt = @_interp.adaptive_predict(@_input, 10, @_ctx)
544
+ end
545
+ @_state_number = 109
546
+ @_err_handler.sync(self)
547
+ _la = @_input.la(1)
548
+ end
549
+ end
550
+
551
+ @_state_number = 112
552
+ match(RSBRAC)
553
+ rescue Antlr4::Runtime::RecognitionException => re
554
+ _localctx.exception = re
555
+ @_err_handler.report_error(self, re)
556
+ @_err_handler.recover(self, re)
557
+ ensure
558
+ exit_rule()
559
+ end
560
+ return _localctx
561
+ end
562
+
563
+ class Modl_nb_arrayContext < Antlr4::Runtime::ParserRuleContext
564
+ def modl_array_item()
565
+ return rule_contexts("Modl_array_itemContext")
566
+ end
567
+ def modl_array_item_i( i)
568
+ return rule_context("Modl_array_itemContext",i)
569
+ end
570
+ def COLON()
571
+ return tokens(MODLParser::COLON)
572
+ end
573
+ def COLON_i( i)
574
+ return token(MODLParser::COLON, i)
575
+ end
576
+ def initialize( parent, invokingState)
577
+ super(parent, invokingState)
578
+ end
579
+ def getRuleIndex()
580
+ return RULE_modl_nb_array
581
+ end
582
+ def enter_rule( listener)
583
+ if ( listener.is_a? MODLParserListener )
584
+ listener.enterModl_nb_array(self)
585
+ end
586
+ end
587
+ def exit_rule( listener)
588
+ if ( listener.is_a? MODLParserListener )
589
+ listener.exitModl_nb_array(self)
590
+ end
591
+ end
592
+
593
+ def accept(visitor)
594
+ if ( visitor.is_a? MODLParserVisitor )
595
+ return visitor.visitModl_nb_array(self)
596
+ else
597
+ return visitor.visit_children(self)
598
+ end
599
+ end
600
+ end
601
+
602
+ def modl_nb_array()
603
+ _localctx = Modl_nb_arrayContext.new(@_ctx, @_state_number)
604
+ enter_rule(_localctx, 8, RULE_modl_nb_array)
605
+ begin
606
+ _alt = 0
607
+ enter_outer_alt(_localctx, 1)
608
+
609
+ @_state_number = 120
610
+ @_err_handler.sync(self)
611
+ _alt = 1
612
+ loop do
613
+ case (_alt)
614
+ when 1
615
+
616
+
617
+ @_state_number = 114
618
+ modl_array_item()
619
+ @_state_number = 116
620
+ @_err_handler.sync(self)
621
+ _alt = 1
622
+ loop do
623
+ case (_alt)
624
+ when 1
625
+
626
+
627
+ @_state_number = 115
628
+ match(COLON)
629
+
630
+ else
631
+ raise Antlr4::Runtime::NoViableAltException self
632
+ end
633
+ @_state_number = 118
634
+ @_err_handler.sync(self)
635
+ _alt = @_interp.adaptive_predict(@_input, 13, @_ctx)
636
+ break if !( _alt!=2 && _alt!=Antlr4::Runtime::ATN::INVALID_ALT_NUMBER )
637
+ end
638
+
639
+ else
640
+ raise Antlr4::Runtime::NoViableAltException self
641
+ end
642
+ @_state_number = 122
643
+ @_err_handler.sync(self)
644
+ _alt = @_interp.adaptive_predict(@_input, 14, @_ctx)
645
+ break if !( _alt!=2 && _alt!=Antlr4::Runtime::ATN::INVALID_ALT_NUMBER )
646
+ end
647
+ @_state_number = 127
648
+ @_err_handler.sync(self);
649
+ _alt = @_interp.adaptive_predict(@_input, 15, @_ctx)
650
+ while ( _alt!=2 && _alt!=Antlr4::Runtime::ATN::INVALID_ALT_NUMBER )
651
+ if ( _alt==1 )
652
+
653
+
654
+ @_state_number = 124
655
+ modl_array_item()
656
+ end
657
+ @_state_number = 129
658
+ @_err_handler.sync(self)
659
+ _alt = @_interp.adaptive_predict(@_input, 15, @_ctx)
660
+ end
661
+ @_state_number = 131
662
+ @_err_handler.sync(self)
663
+ case (@_interp.adaptive_predict(@_input, 16, @_ctx))
664
+ when 1
665
+
666
+ @_state_number = 130
667
+ match(COLON)
668
+
669
+ end
670
+ rescue Antlr4::Runtime::RecognitionException => re
671
+ _localctx.exception = re
672
+ @_err_handler.report_error(self, re)
673
+ @_err_handler.recover(self, re)
674
+ ensure
675
+ exit_rule()
676
+ end
677
+ return _localctx
678
+ end
679
+
680
+ class Modl_pairContext < Antlr4::Runtime::ParserRuleContext
681
+ def EQUALS()
682
+ return token(MODLParser::EQUALS, 0)
683
+ end
684
+ def modl_value_item()
685
+ return rule_context("Modl_value_itemContext",0)
686
+ end
687
+ def STRING()
688
+ return token(MODLParser::STRING, 0)
689
+ end
690
+ def QUOTED()
691
+ return token(MODLParser::QUOTED, 0)
692
+ end
693
+
694
+ def NUMBER()
695
+ return token(MODLParser::NUMBER, 0)
696
+ end
697
+
698
+ def NULL()
699
+ return token(MODLParser::NULL, 0)
700
+ end
701
+
702
+ def TRUE()
703
+ return token(MODLParser::TRUE, 0)
704
+ end
705
+
706
+ def FALSE()
707
+ return token(MODLParser::FALSE, 0)
708
+ end
709
+ def modl_map()
710
+ return rule_context("Modl_mapContext",0)
711
+ end
712
+ def modl_array()
713
+ return rule_context("Modl_arrayContext",0)
714
+ end
715
+ def initialize( parent, invokingState)
716
+ super(parent, invokingState)
717
+ end
718
+ def getRuleIndex()
719
+ return RULE_modl_pair
720
+ end
721
+ def enter_rule( listener)
722
+ if ( listener.is_a? MODLParserListener )
723
+ listener.enterModl_pair(self)
724
+ end
725
+ end
726
+ def exit_rule( listener)
727
+ if ( listener.is_a? MODLParserListener )
728
+ listener.exitModl_pair(self)
729
+ end
730
+ end
731
+
732
+ def accept(visitor)
733
+ if ( visitor.is_a? MODLParserVisitor )
734
+ return visitor.visitModl_pair(self)
735
+ else
736
+ return visitor.visit_children(self)
737
+ end
738
+ end
739
+ end
740
+
741
+ def modl_pair()
742
+ _localctx = Modl_pairContext.new(@_ctx, @_state_number)
743
+ enter_rule(_localctx, 10, RULE_modl_pair)
744
+ _la = 0
745
+ begin
746
+ @_state_number = 140
747
+ @_err_handler.sync(self)
748
+ case (@_interp.adaptive_predict(@_input, 17, @_ctx))
749
+ when 1
750
+ enter_outer_alt(_localctx, 1)
751
+
752
+ @_state_number = 133
753
+ _la = @_input.la(1)
754
+ if (!((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED))) != 0)))
755
+ @_err_handler.recover_in_line(self)
756
+
757
+ else
758
+ if ( @_input.la(1)==Antlr4::Runtime::Token::EOF )
759
+ @matchedEOF = true
760
+ end
761
+ @_err_handler.report_match(self)
762
+ consume()
763
+ end
764
+ @_state_number = 134
765
+ match(EQUALS)
766
+ @_state_number = 135
767
+ modl_value_item()
768
+
769
+ when 2
770
+ enter_outer_alt(_localctx, 2)
771
+
772
+ @_state_number = 136
773
+ match(STRING)
774
+ @_state_number = 137
775
+ modl_map()
776
+
777
+ when 3
778
+ enter_outer_alt(_localctx, 3)
779
+
780
+ @_state_number = 138
781
+ match(STRING)
782
+ @_state_number = 139
783
+ modl_array()
784
+
785
+ end
786
+ rescue Antlr4::Runtime::RecognitionException => re
787
+ _localctx.exception = re
788
+ @_err_handler.report_error(self, re)
789
+ @_err_handler.recover(self, re)
790
+ ensure
791
+ exit_rule()
792
+ end
793
+ return _localctx
794
+ end
795
+
796
+ class Modl_value_itemContext < Antlr4::Runtime::ParserRuleContext
797
+ def modl_value()
798
+ return rule_context("Modl_valueContext",0)
799
+ end
800
+ def modl_value_conditional()
801
+ return rule_context("Modl_value_conditionalContext",0)
802
+ end
803
+ def initialize( parent, invokingState)
804
+ super(parent, invokingState)
805
+ end
806
+ def getRuleIndex()
807
+ return RULE_modl_value_item
808
+ end
809
+ def enter_rule( listener)
810
+ if ( listener.is_a? MODLParserListener )
811
+ listener.enterModl_value_item(self)
812
+ end
813
+ end
814
+ def exit_rule( listener)
815
+ if ( listener.is_a? MODLParserListener )
816
+ listener.exitModl_value_item(self)
817
+ end
818
+ end
819
+
820
+ def accept(visitor)
821
+ if ( visitor.is_a? MODLParserVisitor )
822
+ return visitor.visitModl_value_item(self)
823
+ else
824
+ return visitor.visit_children(self)
825
+ end
826
+ end
827
+ end
828
+
829
+ def modl_value_item()
830
+ _localctx = Modl_value_itemContext.new(@_ctx, @_state_number)
831
+ enter_rule(_localctx, 12, RULE_modl_value_item)
832
+ begin
833
+ enter_outer_alt(_localctx, 1)
834
+
835
+ @_state_number = 144
836
+ @_err_handler.sync(self)
837
+ case (@_interp.adaptive_predict(@_input, 18, @_ctx))
838
+ when 1
839
+
840
+ @_state_number = 142
841
+ modl_value()
842
+
843
+ when 2
844
+
845
+ @_state_number = 143
846
+ modl_value_conditional()
847
+
848
+ end
849
+ rescue Antlr4::Runtime::RecognitionException => re
850
+ _localctx.exception = re
851
+ @_err_handler.report_error(self, re)
852
+ @_err_handler.recover(self, re)
853
+ ensure
854
+ exit_rule()
855
+ end
856
+ return _localctx
857
+ end
858
+
859
+ class Modl_top_level_conditionalContext < Antlr4::Runtime::ParserRuleContext
860
+ def LCBRAC()
861
+ return token(MODLParser::LCBRAC, 0)
862
+ end
863
+ def modl_condition_test()
864
+ return rule_contexts("Modl_condition_testContext")
865
+ end
866
+ def modl_condition_test_i( i)
867
+ return rule_context("Modl_condition_testContext",i)
868
+ end
869
+ def QMARK()
870
+ return tokens(MODLParser::QMARK)
871
+ end
872
+ def QMARK_i( i)
873
+ return token(MODLParser::QMARK, i)
874
+ end
875
+ def modl_top_level_conditional_return()
876
+ return rule_contexts("Modl_top_level_conditional_returnContext")
877
+ end
878
+ def modl_top_level_conditional_return_i( i)
879
+ return rule_context("Modl_top_level_conditional_returnContext",i)
880
+ end
881
+ def RCBRAC()
882
+ return token(MODLParser::RCBRAC, 0)
883
+ end
884
+ def FSLASH()
885
+ return tokens(MODLParser::FSLASH)
886
+ end
887
+ def FSLASH_i( i)
888
+ return token(MODLParser::FSLASH, i)
889
+ end
890
+ def initialize( parent, invokingState)
891
+ super(parent, invokingState)
892
+ end
893
+ def getRuleIndex()
894
+ return RULE_modl_top_level_conditional
895
+ end
896
+ def enter_rule( listener)
897
+ if ( listener.is_a? MODLParserListener )
898
+ listener.enterModl_top_level_conditional(self)
899
+ end
900
+ end
901
+ def exit_rule( listener)
902
+ if ( listener.is_a? MODLParserListener )
903
+ listener.exitModl_top_level_conditional(self)
904
+ end
905
+ end
906
+
907
+ def accept(visitor)
908
+ if ( visitor.is_a? MODLParserVisitor )
909
+ return visitor.visitModl_top_level_conditional(self)
910
+ else
911
+ return visitor.visit_children(self)
912
+ end
913
+ end
914
+ end
915
+
916
+ def modl_top_level_conditional()
917
+ _localctx = Modl_top_level_conditionalContext.new(@_ctx, @_state_number)
918
+ enter_rule(_localctx, 14, RULE_modl_top_level_conditional)
919
+ _la = 0
920
+ begin
921
+ enter_outer_alt(_localctx, 1)
922
+
923
+ @_state_number = 146
924
+ match(LCBRAC)
925
+ @_state_number = 147
926
+ modl_condition_test()
927
+ @_state_number = 148
928
+ match(QMARK)
929
+ @_state_number = 149
930
+ modl_top_level_conditional_return()
931
+ @_state_number = 158
932
+ @_err_handler.sync(self)
933
+ _la = @_input.la(1)
934
+ while (_la==FSLASH)
935
+
936
+
937
+ @_state_number = 150
938
+ match(FSLASH)
939
+ @_state_number = 152
940
+ @_err_handler.sync(self)
941
+ _la = @_input.la(1)
942
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << EQUALS) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC) | (1 << GTHAN) | (1 << LTHAN) | (1 << EXCLAM))) != 0))
943
+
944
+ @_state_number = 151
945
+ modl_condition_test()
946
+ end
947
+
948
+ @_state_number = 154
949
+ match(QMARK)
950
+ @_state_number = 155
951
+ modl_top_level_conditional_return()
952
+ @_state_number = 160
953
+ @_err_handler.sync(self)
954
+ _la = @_input.la(1)
955
+ end
956
+ @_state_number = 161
957
+ match(RCBRAC)
958
+ rescue Antlr4::Runtime::RecognitionException => re
959
+ _localctx.exception = re
960
+ @_err_handler.report_error(self, re)
961
+ @_err_handler.recover(self, re)
962
+ ensure
963
+ exit_rule()
964
+ end
965
+ return _localctx
966
+ end
967
+
968
+ class Modl_top_level_conditional_returnContext < Antlr4::Runtime::ParserRuleContext
969
+ def modl_structure()
970
+ return rule_contexts("Modl_structureContext")
971
+ end
972
+ def modl_structure_i( i)
973
+ return rule_context("Modl_structureContext",i)
974
+ end
975
+ def initialize( parent, invokingState)
976
+ super(parent, invokingState)
977
+ end
978
+ def getRuleIndex()
979
+ return RULE_modl_top_level_conditional_return
980
+ end
981
+ def enter_rule( listener)
982
+ if ( listener.is_a? MODLParserListener )
983
+ listener.enterModl_top_level_conditional_return(self)
984
+ end
985
+ end
986
+ def exit_rule( listener)
987
+ if ( listener.is_a? MODLParserListener )
988
+ listener.exitModl_top_level_conditional_return(self)
989
+ end
990
+ end
991
+
992
+ def accept(visitor)
993
+ if ( visitor.is_a? MODLParserVisitor )
994
+ return visitor.visitModl_top_level_conditional_return(self)
995
+ else
996
+ return visitor.visit_children(self)
997
+ end
998
+ end
999
+ end
1000
+
1001
+ def modl_top_level_conditional_return()
1002
+ _localctx = Modl_top_level_conditional_returnContext.new(@_ctx, @_state_number)
1003
+ enter_rule(_localctx, 16, RULE_modl_top_level_conditional_return)
1004
+ _la = 0
1005
+ begin
1006
+ enter_outer_alt(_localctx, 1)
1007
+
1008
+ @_state_number = 166
1009
+ @_err_handler.sync(self)
1010
+ _la = @_input.la(1)
1011
+ while ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0))
1012
+
1013
+
1014
+ @_state_number = 163
1015
+ modl_structure()
1016
+ @_state_number = 168
1017
+ @_err_handler.sync(self)
1018
+ _la = @_input.la(1)
1019
+ end
1020
+ rescue Antlr4::Runtime::RecognitionException => re
1021
+ _localctx.exception = re
1022
+ @_err_handler.report_error(self, re)
1023
+ @_err_handler.recover(self, re)
1024
+ ensure
1025
+ exit_rule()
1026
+ end
1027
+ return _localctx
1028
+ end
1029
+
1030
+ class Modl_map_conditionalContext < Antlr4::Runtime::ParserRuleContext
1031
+ def LCBRAC()
1032
+ return token(MODLParser::LCBRAC, 0)
1033
+ end
1034
+ def modl_condition_test()
1035
+ return rule_contexts("Modl_condition_testContext")
1036
+ end
1037
+ def modl_condition_test_i( i)
1038
+ return rule_context("Modl_condition_testContext",i)
1039
+ end
1040
+ def QMARK()
1041
+ return tokens(MODLParser::QMARK)
1042
+ end
1043
+ def QMARK_i( i)
1044
+ return token(MODLParser::QMARK, i)
1045
+ end
1046
+ def modl_map_conditional_return()
1047
+ return rule_contexts("Modl_map_conditional_returnContext")
1048
+ end
1049
+ def modl_map_conditional_return_i( i)
1050
+ return rule_context("Modl_map_conditional_returnContext",i)
1051
+ end
1052
+ def RCBRAC()
1053
+ return token(MODLParser::RCBRAC, 0)
1054
+ end
1055
+ def FSLASH()
1056
+ return tokens(MODLParser::FSLASH)
1057
+ end
1058
+ def FSLASH_i( i)
1059
+ return token(MODLParser::FSLASH, i)
1060
+ end
1061
+ def initialize( parent, invokingState)
1062
+ super(parent, invokingState)
1063
+ end
1064
+ def getRuleIndex()
1065
+ return RULE_modl_map_conditional
1066
+ end
1067
+ def enter_rule( listener)
1068
+ if ( listener.is_a? MODLParserListener )
1069
+ listener.enterModl_map_conditional(self)
1070
+ end
1071
+ end
1072
+ def exit_rule( listener)
1073
+ if ( listener.is_a? MODLParserListener )
1074
+ listener.exitModl_map_conditional(self)
1075
+ end
1076
+ end
1077
+
1078
+ def accept(visitor)
1079
+ if ( visitor.is_a? MODLParserVisitor )
1080
+ return visitor.visitModl_map_conditional(self)
1081
+ else
1082
+ return visitor.visit_children(self)
1083
+ end
1084
+ end
1085
+ end
1086
+
1087
+ def modl_map_conditional()
1088
+ _localctx = Modl_map_conditionalContext.new(@_ctx, @_state_number)
1089
+ enter_rule(_localctx, 18, RULE_modl_map_conditional)
1090
+ _la = 0
1091
+ begin
1092
+ enter_outer_alt(_localctx, 1)
1093
+
1094
+ @_state_number = 169
1095
+ match(LCBRAC)
1096
+ @_state_number = 170
1097
+ modl_condition_test()
1098
+ @_state_number = 171
1099
+ match(QMARK)
1100
+ @_state_number = 172
1101
+ modl_map_conditional_return()
1102
+ @_state_number = 181
1103
+ @_err_handler.sync(self)
1104
+ _la = @_input.la(1)
1105
+ while (_la==FSLASH)
1106
+
1107
+
1108
+ @_state_number = 173
1109
+ match(FSLASH)
1110
+ @_state_number = 175
1111
+ @_err_handler.sync(self)
1112
+ _la = @_input.la(1)
1113
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << EQUALS) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC) | (1 << GTHAN) | (1 << LTHAN) | (1 << EXCLAM))) != 0))
1114
+
1115
+ @_state_number = 174
1116
+ modl_condition_test()
1117
+ end
1118
+
1119
+ @_state_number = 177
1120
+ match(QMARK)
1121
+ @_state_number = 178
1122
+ modl_map_conditional_return()
1123
+ @_state_number = 183
1124
+ @_err_handler.sync(self)
1125
+ _la = @_input.la(1)
1126
+ end
1127
+ @_state_number = 184
1128
+ match(RCBRAC)
1129
+ rescue Antlr4::Runtime::RecognitionException => re
1130
+ _localctx.exception = re
1131
+ @_err_handler.report_error(self, re)
1132
+ @_err_handler.recover(self, re)
1133
+ ensure
1134
+ exit_rule()
1135
+ end
1136
+ return _localctx
1137
+ end
1138
+
1139
+ class Modl_map_conditional_returnContext < Antlr4::Runtime::ParserRuleContext
1140
+ def modl_map_item()
1141
+ return rule_contexts("Modl_map_itemContext")
1142
+ end
1143
+ def modl_map_item_i( i)
1144
+ return rule_context("Modl_map_itemContext",i)
1145
+ end
1146
+ def initialize( parent, invokingState)
1147
+ super(parent, invokingState)
1148
+ end
1149
+ def getRuleIndex()
1150
+ return RULE_modl_map_conditional_return
1151
+ end
1152
+ def enter_rule( listener)
1153
+ if ( listener.is_a? MODLParserListener )
1154
+ listener.enterModl_map_conditional_return(self)
1155
+ end
1156
+ end
1157
+ def exit_rule( listener)
1158
+ if ( listener.is_a? MODLParserListener )
1159
+ listener.exitModl_map_conditional_return(self)
1160
+ end
1161
+ end
1162
+
1163
+ def accept(visitor)
1164
+ if ( visitor.is_a? MODLParserVisitor )
1165
+ return visitor.visitModl_map_conditional_return(self)
1166
+ else
1167
+ return visitor.visit_children(self)
1168
+ end
1169
+ end
1170
+ end
1171
+
1172
+ def modl_map_conditional_return()
1173
+ _localctx = Modl_map_conditional_returnContext.new(@_ctx, @_state_number)
1174
+ enter_rule(_localctx, 20, RULE_modl_map_conditional_return)
1175
+ _la = 0
1176
+ begin
1177
+ enter_outer_alt(_localctx, 1)
1178
+
1179
+ @_state_number = 187
1180
+ @_err_handler.sync(self)
1181
+ _la = @_input.la(1)
1182
+ loop do
1183
+
1184
+
1185
+ @_state_number = 186
1186
+ modl_map_item()
1187
+ @_state_number = 189
1188
+ @_err_handler.sync(self)
1189
+ _la = @_input.la(1)
1190
+ break if (!((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0)))
1191
+ end
1192
+ rescue Antlr4::Runtime::RecognitionException => re
1193
+ _localctx.exception = re
1194
+ @_err_handler.report_error(self, re)
1195
+ @_err_handler.recover(self, re)
1196
+ ensure
1197
+ exit_rule()
1198
+ end
1199
+ return _localctx
1200
+ end
1201
+
1202
+ class Modl_map_itemContext < Antlr4::Runtime::ParserRuleContext
1203
+ def modl_pair()
1204
+ return rule_context("Modl_pairContext",0)
1205
+ end
1206
+ def modl_map_conditional()
1207
+ return rule_context("Modl_map_conditionalContext",0)
1208
+ end
1209
+ def initialize( parent, invokingState)
1210
+ super(parent, invokingState)
1211
+ end
1212
+ def getRuleIndex()
1213
+ return RULE_modl_map_item
1214
+ end
1215
+ def enter_rule( listener)
1216
+ if ( listener.is_a? MODLParserListener )
1217
+ listener.enterModl_map_item(self)
1218
+ end
1219
+ end
1220
+ def exit_rule( listener)
1221
+ if ( listener.is_a? MODLParserListener )
1222
+ listener.exitModl_map_item(self)
1223
+ end
1224
+ end
1225
+
1226
+ def accept(visitor)
1227
+ if ( visitor.is_a? MODLParserVisitor )
1228
+ return visitor.visitModl_map_item(self)
1229
+ else
1230
+ return visitor.visit_children(self)
1231
+ end
1232
+ end
1233
+ end
1234
+
1235
+ def modl_map_item()
1236
+ _localctx = Modl_map_itemContext.new(@_ctx, @_state_number)
1237
+ enter_rule(_localctx, 22, RULE_modl_map_item)
1238
+ begin
1239
+ @_state_number = 193
1240
+ @_err_handler.sync(self)
1241
+ case (@_input.la(1))
1242
+ when MODLParser::NULL, MODLParser::TRUE, MODLParser::FALSE, MODLParser::NUMBER, MODLParser::STRING, MODLParser::QUOTED
1243
+ enter_outer_alt(_localctx, 1)
1244
+
1245
+ @_state_number = 191
1246
+ modl_pair()
1247
+
1248
+ when MODLParser::LCBRAC
1249
+ enter_outer_alt(_localctx, 2)
1250
+
1251
+ @_state_number = 192
1252
+ modl_map_conditional()
1253
+ else
1254
+ raise Antlr4::Runtime::NoViableAltException self
1255
+ end
1256
+ rescue Antlr4::Runtime::RecognitionException => re
1257
+ _localctx.exception = re
1258
+ @_err_handler.report_error(self, re)
1259
+ @_err_handler.recover(self, re)
1260
+ ensure
1261
+ exit_rule()
1262
+ end
1263
+ return _localctx
1264
+ end
1265
+
1266
+ class Modl_array_conditionalContext < Antlr4::Runtime::ParserRuleContext
1267
+ def LCBRAC()
1268
+ return token(MODLParser::LCBRAC, 0)
1269
+ end
1270
+ def modl_condition_test()
1271
+ return rule_contexts("Modl_condition_testContext")
1272
+ end
1273
+ def modl_condition_test_i( i)
1274
+ return rule_context("Modl_condition_testContext",i)
1275
+ end
1276
+ def QMARK()
1277
+ return tokens(MODLParser::QMARK)
1278
+ end
1279
+ def QMARK_i( i)
1280
+ return token(MODLParser::QMARK, i)
1281
+ end
1282
+ def modl_array_conditional_return()
1283
+ return rule_contexts("Modl_array_conditional_returnContext")
1284
+ end
1285
+ def modl_array_conditional_return_i( i)
1286
+ return rule_context("Modl_array_conditional_returnContext",i)
1287
+ end
1288
+ def RCBRAC()
1289
+ return token(MODLParser::RCBRAC, 0)
1290
+ end
1291
+ def FSLASH()
1292
+ return tokens(MODLParser::FSLASH)
1293
+ end
1294
+ def FSLASH_i( i)
1295
+ return token(MODLParser::FSLASH, i)
1296
+ end
1297
+ def initialize( parent, invokingState)
1298
+ super(parent, invokingState)
1299
+ end
1300
+ def getRuleIndex()
1301
+ return RULE_modl_array_conditional
1302
+ end
1303
+ def enter_rule( listener)
1304
+ if ( listener.is_a? MODLParserListener )
1305
+ listener.enterModl_array_conditional(self)
1306
+ end
1307
+ end
1308
+ def exit_rule( listener)
1309
+ if ( listener.is_a? MODLParserListener )
1310
+ listener.exitModl_array_conditional(self)
1311
+ end
1312
+ end
1313
+
1314
+ def accept(visitor)
1315
+ if ( visitor.is_a? MODLParserVisitor )
1316
+ return visitor.visitModl_array_conditional(self)
1317
+ else
1318
+ return visitor.visit_children(self)
1319
+ end
1320
+ end
1321
+ end
1322
+
1323
+ def modl_array_conditional()
1324
+ _localctx = Modl_array_conditionalContext.new(@_ctx, @_state_number)
1325
+ enter_rule(_localctx, 24, RULE_modl_array_conditional)
1326
+ _la = 0
1327
+ begin
1328
+ enter_outer_alt(_localctx, 1)
1329
+
1330
+ @_state_number = 195
1331
+ match(LCBRAC)
1332
+ @_state_number = 196
1333
+ modl_condition_test()
1334
+ @_state_number = 197
1335
+ match(QMARK)
1336
+ @_state_number = 198
1337
+ modl_array_conditional_return()
1338
+ @_state_number = 207
1339
+ @_err_handler.sync(self)
1340
+ _la = @_input.la(1)
1341
+ while (_la==FSLASH)
1342
+
1343
+
1344
+ @_state_number = 199
1345
+ match(FSLASH)
1346
+ @_state_number = 201
1347
+ @_err_handler.sync(self)
1348
+ _la = @_input.la(1)
1349
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << EQUALS) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC) | (1 << GTHAN) | (1 << LTHAN) | (1 << EXCLAM))) != 0))
1350
+
1351
+ @_state_number = 200
1352
+ modl_condition_test()
1353
+ end
1354
+
1355
+ @_state_number = 203
1356
+ match(QMARK)
1357
+ @_state_number = 204
1358
+ modl_array_conditional_return()
1359
+ @_state_number = 209
1360
+ @_err_handler.sync(self)
1361
+ _la = @_input.la(1)
1362
+ end
1363
+ @_state_number = 210
1364
+ match(RCBRAC)
1365
+ rescue Antlr4::Runtime::RecognitionException => re
1366
+ _localctx.exception = re
1367
+ @_err_handler.report_error(self, re)
1368
+ @_err_handler.recover(self, re)
1369
+ ensure
1370
+ exit_rule()
1371
+ end
1372
+ return _localctx
1373
+ end
1374
+
1375
+ class Modl_array_conditional_returnContext < Antlr4::Runtime::ParserRuleContext
1376
+ def modl_array_item()
1377
+ return rule_contexts("Modl_array_itemContext")
1378
+ end
1379
+ def modl_array_item_i( i)
1380
+ return rule_context("Modl_array_itemContext",i)
1381
+ end
1382
+ def initialize( parent, invokingState)
1383
+ super(parent, invokingState)
1384
+ end
1385
+ def getRuleIndex()
1386
+ return RULE_modl_array_conditional_return
1387
+ end
1388
+ def enter_rule( listener)
1389
+ if ( listener.is_a? MODLParserListener )
1390
+ listener.enterModl_array_conditional_return(self)
1391
+ end
1392
+ end
1393
+ def exit_rule( listener)
1394
+ if ( listener.is_a? MODLParserListener )
1395
+ listener.exitModl_array_conditional_return(self)
1396
+ end
1397
+ end
1398
+
1399
+ def accept(visitor)
1400
+ if ( visitor.is_a? MODLParserVisitor )
1401
+ return visitor.visitModl_array_conditional_return(self)
1402
+ else
1403
+ return visitor.visit_children(self)
1404
+ end
1405
+ end
1406
+ end
1407
+
1408
+ def modl_array_conditional_return()
1409
+ _localctx = Modl_array_conditional_returnContext.new(@_ctx, @_state_number)
1410
+ enter_rule(_localctx, 26, RULE_modl_array_conditional_return)
1411
+ _la = 0
1412
+ begin
1413
+ enter_outer_alt(_localctx, 1)
1414
+
1415
+ @_state_number = 213
1416
+ @_err_handler.sync(self)
1417
+ _la = @_input.la(1)
1418
+ loop do
1419
+
1420
+
1421
+ @_state_number = 212
1422
+ modl_array_item()
1423
+ @_state_number = 215
1424
+ @_err_handler.sync(self)
1425
+ _la = @_input.la(1)
1426
+ break if (!((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0)))
1427
+ end
1428
+ rescue Antlr4::Runtime::RecognitionException => re
1429
+ _localctx.exception = re
1430
+ @_err_handler.report_error(self, re)
1431
+ @_err_handler.recover(self, re)
1432
+ ensure
1433
+ exit_rule()
1434
+ end
1435
+ return _localctx
1436
+ end
1437
+
1438
+ class Modl_array_itemContext < Antlr4::Runtime::ParserRuleContext
1439
+ def modl_array_value_item()
1440
+ return rule_context("Modl_array_value_itemContext",0)
1441
+ end
1442
+ def modl_array_conditional()
1443
+ return rule_context("Modl_array_conditionalContext",0)
1444
+ end
1445
+ def initialize( parent, invokingState)
1446
+ super(parent, invokingState)
1447
+ end
1448
+ def getRuleIndex()
1449
+ return RULE_modl_array_item
1450
+ end
1451
+ def enter_rule( listener)
1452
+ if ( listener.is_a? MODLParserListener )
1453
+ listener.enterModl_array_item(self)
1454
+ end
1455
+ end
1456
+ def exit_rule( listener)
1457
+ if ( listener.is_a? MODLParserListener )
1458
+ listener.exitModl_array_item(self)
1459
+ end
1460
+ end
1461
+
1462
+ def accept(visitor)
1463
+ if ( visitor.is_a? MODLParserVisitor )
1464
+ return visitor.visitModl_array_item(self)
1465
+ else
1466
+ return visitor.visit_children(self)
1467
+ end
1468
+ end
1469
+ end
1470
+
1471
+ def modl_array_item()
1472
+ _localctx = Modl_array_itemContext.new(@_ctx, @_state_number)
1473
+ enter_rule(_localctx, 28, RULE_modl_array_item)
1474
+ begin
1475
+ @_state_number = 219
1476
+ @_err_handler.sync(self)
1477
+ case (@_input.la(1))
1478
+ when MODLParser::NULL, MODLParser::TRUE, MODLParser::FALSE, MODLParser::LBRAC, MODLParser::LSBRAC, MODLParser::NUMBER, MODLParser::STRING, MODLParser::QUOTED
1479
+ enter_outer_alt(_localctx, 1)
1480
+
1481
+ @_state_number = 217
1482
+ modl_array_value_item()
1483
+
1484
+ when MODLParser::LCBRAC
1485
+ enter_outer_alt(_localctx, 2)
1486
+
1487
+ @_state_number = 218
1488
+ modl_array_conditional()
1489
+ else
1490
+ raise Antlr4::Runtime::NoViableAltException self
1491
+ end
1492
+ rescue Antlr4::Runtime::RecognitionException => re
1493
+ _localctx.exception = re
1494
+ @_err_handler.report_error(self, re)
1495
+ @_err_handler.recover(self, re)
1496
+ ensure
1497
+ exit_rule()
1498
+ end
1499
+ return _localctx
1500
+ end
1501
+
1502
+ class Modl_value_conditionalContext < Antlr4::Runtime::ParserRuleContext
1503
+ def LCBRAC()
1504
+ return token(MODLParser::LCBRAC, 0)
1505
+ end
1506
+ def modl_condition_test()
1507
+ return rule_contexts("Modl_condition_testContext")
1508
+ end
1509
+ def modl_condition_test_i( i)
1510
+ return rule_context("Modl_condition_testContext",i)
1511
+ end
1512
+ def QMARK()
1513
+ return tokens(MODLParser::QMARK)
1514
+ end
1515
+ def QMARK_i( i)
1516
+ return token(MODLParser::QMARK, i)
1517
+ end
1518
+ def RCBRAC()
1519
+ return token(MODLParser::RCBRAC, 0)
1520
+ end
1521
+ def modl_value_conditional_return()
1522
+ return rule_contexts("Modl_value_conditional_returnContext")
1523
+ end
1524
+ def modl_value_conditional_return_i( i)
1525
+ return rule_context("Modl_value_conditional_returnContext",i)
1526
+ end
1527
+ def FSLASH()
1528
+ return tokens(MODLParser::FSLASH)
1529
+ end
1530
+ def FSLASH_i( i)
1531
+ return token(MODLParser::FSLASH, i)
1532
+ end
1533
+ def initialize( parent, invokingState)
1534
+ super(parent, invokingState)
1535
+ end
1536
+ def getRuleIndex()
1537
+ return RULE_modl_value_conditional
1538
+ end
1539
+ def enter_rule( listener)
1540
+ if ( listener.is_a? MODLParserListener )
1541
+ listener.enterModl_value_conditional(self)
1542
+ end
1543
+ end
1544
+ def exit_rule( listener)
1545
+ if ( listener.is_a? MODLParserListener )
1546
+ listener.exitModl_value_conditional(self)
1547
+ end
1548
+ end
1549
+
1550
+ def accept(visitor)
1551
+ if ( visitor.is_a? MODLParserVisitor )
1552
+ return visitor.visitModl_value_conditional(self)
1553
+ else
1554
+ return visitor.visit_children(self)
1555
+ end
1556
+ end
1557
+ end
1558
+
1559
+ def modl_value_conditional()
1560
+ _localctx = Modl_value_conditionalContext.new(@_ctx, @_state_number)
1561
+ enter_rule(_localctx, 30, RULE_modl_value_conditional)
1562
+ _la = 0
1563
+ begin
1564
+ _alt = 0
1565
+ enter_outer_alt(_localctx, 1)
1566
+
1567
+ @_state_number = 221
1568
+ match(LCBRAC)
1569
+ @_state_number = 222
1570
+ modl_condition_test()
1571
+ @_state_number = 223
1572
+ match(QMARK)
1573
+ @_state_number = 239
1574
+ @_err_handler.sync(self)
1575
+ _la = @_input.la(1)
1576
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << LBRAC) | (1 << LSBRAC) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED) | (1 << LCBRAC))) != 0))
1577
+
1578
+ @_state_number = 224
1579
+ modl_value_conditional_return()
1580
+ @_state_number = 232
1581
+ @_err_handler.sync(self);
1582
+ _alt = @_interp.adaptive_predict(@_input, 30, @_ctx)
1583
+ while ( _alt!=2 && _alt!=Antlr4::Runtime::ATN::INVALID_ALT_NUMBER )
1584
+ if ( _alt==1 )
1585
+
1586
+
1587
+ @_state_number = 225
1588
+ match(FSLASH)
1589
+ @_state_number = 226
1590
+ modl_condition_test()
1591
+ @_state_number = 227
1592
+ match(QMARK)
1593
+ @_state_number = 228
1594
+ modl_value_conditional_return()
1595
+ end
1596
+ @_state_number = 234
1597
+ @_err_handler.sync(self)
1598
+ _alt = @_interp.adaptive_predict(@_input, 30, @_ctx)
1599
+ end
1600
+
1601
+ @_state_number = 235
1602
+ match(FSLASH)
1603
+ @_state_number = 236
1604
+ match(QMARK)
1605
+ @_state_number = 237
1606
+ modl_value_conditional_return()
1607
+ end
1608
+
1609
+ @_state_number = 241
1610
+ match(RCBRAC)
1611
+ rescue Antlr4::Runtime::RecognitionException => re
1612
+ _localctx.exception = re
1613
+ @_err_handler.report_error(self, re)
1614
+ @_err_handler.recover(self, re)
1615
+ ensure
1616
+ exit_rule()
1617
+ end
1618
+ return _localctx
1619
+ end
1620
+
1621
+ class Modl_value_conditional_returnContext < Antlr4::Runtime::ParserRuleContext
1622
+ def modl_value_item()
1623
+ return rule_contexts("Modl_value_itemContext")
1624
+ end
1625
+ def modl_value_item_i( i)
1626
+ return rule_context("Modl_value_itemContext",i)
1627
+ end
1628
+ def COLON()
1629
+ return tokens(MODLParser::COLON)
1630
+ end
1631
+ def COLON_i( i)
1632
+ return token(MODLParser::COLON, i)
1633
+ end
1634
+ def initialize( parent, invokingState)
1635
+ super(parent, invokingState)
1636
+ end
1637
+ def getRuleIndex()
1638
+ return RULE_modl_value_conditional_return
1639
+ end
1640
+ def enter_rule( listener)
1641
+ if ( listener.is_a? MODLParserListener )
1642
+ listener.enterModl_value_conditional_return(self)
1643
+ end
1644
+ end
1645
+ def exit_rule( listener)
1646
+ if ( listener.is_a? MODLParserListener )
1647
+ listener.exitModl_value_conditional_return(self)
1648
+ end
1649
+ end
1650
+
1651
+ def accept(visitor)
1652
+ if ( visitor.is_a? MODLParserVisitor )
1653
+ return visitor.visitModl_value_conditional_return(self)
1654
+ else
1655
+ return visitor.visit_children(self)
1656
+ end
1657
+ end
1658
+ end
1659
+
1660
+ def modl_value_conditional_return()
1661
+ _localctx = Modl_value_conditional_returnContext.new(@_ctx, @_state_number)
1662
+ enter_rule(_localctx, 32, RULE_modl_value_conditional_return)
1663
+ _la = 0
1664
+ begin
1665
+ enter_outer_alt(_localctx, 1)
1666
+
1667
+ @_state_number = 243
1668
+ modl_value_item()
1669
+ @_state_number = 248
1670
+ @_err_handler.sync(self)
1671
+ _la = @_input.la(1)
1672
+ while (_la == COLON)
1673
+
1674
+
1675
+ @_state_number = 244
1676
+ match(COLON)
1677
+ @_state_number = 245
1678
+ modl_value_item()
1679
+ @_state_number = 250
1680
+ @_err_handler.sync(self)
1681
+ _la = @_input.la(1)
1682
+ end
1683
+ rescue Antlr4::Runtime::RecognitionException => re
1684
+ _localctx.exception = re
1685
+ @_err_handler.report_error(self, re)
1686
+ @_err_handler.recover(self, re)
1687
+ ensure
1688
+ exit_rule()
1689
+ end
1690
+ return _localctx
1691
+ end
1692
+
1693
+ class Modl_condition_testContext < Antlr4::Runtime::ParserRuleContext
1694
+ def modl_condition()
1695
+ return rule_contexts("Modl_conditionContext")
1696
+ end
1697
+ def modl_condition_i( i)
1698
+ return rule_context("Modl_conditionContext",i)
1699
+ end
1700
+ def modl_condition_group()
1701
+ return rule_contexts("Modl_condition_groupContext")
1702
+ end
1703
+ def modl_condition_group_i( i)
1704
+ return rule_context("Modl_condition_groupContext",i)
1705
+ end
1706
+ def EXCLAM()
1707
+ return tokens(MODLParser::EXCLAM)
1708
+ end
1709
+ def EXCLAM_i( i)
1710
+ return token(MODLParser::EXCLAM, i)
1711
+ end
1712
+ def AMP()
1713
+ return tokens(MODLParser::AMP)
1714
+ end
1715
+ def AMP_i( i)
1716
+ return token(MODLParser::AMP, i)
1717
+ end
1718
+ def PIPE()
1719
+ return tokens(MODLParser::PIPE)
1720
+ end
1721
+ def PIPE_i( i)
1722
+ return token(MODLParser::PIPE, i)
1723
+ end
1724
+ def initialize( parent, invokingState)
1725
+ super(parent, invokingState)
1726
+ end
1727
+ def getRuleIndex()
1728
+ return RULE_modl_condition_test
1729
+ end
1730
+ def enter_rule( listener)
1731
+ if ( listener.is_a? MODLParserListener )
1732
+ listener.enterModl_condition_test(self)
1733
+ end
1734
+ end
1735
+ def exit_rule( listener)
1736
+ if ( listener.is_a? MODLParserListener )
1737
+ listener.exitModl_condition_test(self)
1738
+ end
1739
+ end
1740
+
1741
+ def accept(visitor)
1742
+ if ( visitor.is_a? MODLParserVisitor )
1743
+ return visitor.visitModl_condition_test(self)
1744
+ else
1745
+ return visitor.visit_children(self)
1746
+ end
1747
+ end
1748
+ end
1749
+
1750
+ def modl_condition_test()
1751
+ _localctx = Modl_condition_testContext.new(@_ctx, @_state_number)
1752
+ enter_rule(_localctx, 34, RULE_modl_condition_test)
1753
+ _la = 0
1754
+ begin
1755
+ _alt = 0
1756
+ enter_outer_alt(_localctx, 1)
1757
+
1758
+ @_state_number = 252
1759
+ @_err_handler.sync(self)
1760
+ case (@_interp.adaptive_predict(@_input, 33, @_ctx))
1761
+ when 1
1762
+
1763
+ @_state_number = 251
1764
+ match(EXCLAM)
1765
+
1766
+ end
1767
+ @_state_number = 256
1768
+ @_err_handler.sync(self)
1769
+ case (@_interp.adaptive_predict(@_input, 34, @_ctx))
1770
+ when 1
1771
+
1772
+ @_state_number = 254
1773
+ modl_condition()
1774
+
1775
+ when 2
1776
+
1777
+ @_state_number = 255
1778
+ modl_condition_group()
1779
+
1780
+ end
1781
+ @_state_number = 268
1782
+ @_err_handler.sync(self);
1783
+ _alt = @_interp.adaptive_predict(@_input, 37, @_ctx)
1784
+ while ( _alt!=2 && _alt!=Antlr4::Runtime::ATN::INVALID_ALT_NUMBER )
1785
+ if ( _alt==1 )
1786
+
1787
+
1788
+ @_state_number = 258
1789
+ _la = @_input.la(1)
1790
+ if ( !(_la==AMP || _la==PIPE) )
1791
+ @_err_handler.recover_in_line(self)
1792
+
1793
+ else
1794
+ if ( @_input.la(1)==Antlr4::Runtime::Token::EOF )
1795
+ @matchedEOF = true
1796
+ end
1797
+ @_err_handler.report_match(self)
1798
+ consume()
1799
+ end
1800
+ @_state_number = 260
1801
+ @_err_handler.sync(self)
1802
+ case (@_interp.adaptive_predict(@_input, 35, @_ctx))
1803
+ when 1
1804
+
1805
+ @_state_number = 259
1806
+ match(EXCLAM)
1807
+
1808
+ end
1809
+ @_state_number = 264
1810
+ @_err_handler.sync(self)
1811
+ case (@_interp.adaptive_predict(@_input, 36, @_ctx))
1812
+ when 1
1813
+
1814
+ @_state_number = 262
1815
+ modl_condition()
1816
+
1817
+ when 2
1818
+
1819
+ @_state_number = 263
1820
+ modl_condition_group()
1821
+
1822
+ end
1823
+ end
1824
+ @_state_number = 270
1825
+ @_err_handler.sync(self)
1826
+ _alt = @_interp.adaptive_predict(@_input, 37, @_ctx)
1827
+ end
1828
+ rescue Antlr4::Runtime::RecognitionException => re
1829
+ _localctx.exception = re
1830
+ @_err_handler.report_error(self, re)
1831
+ @_err_handler.recover(self, re)
1832
+ ensure
1833
+ exit_rule()
1834
+ end
1835
+ return _localctx
1836
+ end
1837
+
1838
+ class Modl_operatorContext < Antlr4::Runtime::ParserRuleContext
1839
+ def EQUALS()
1840
+ return token(MODLParser::EQUALS, 0)
1841
+ end
1842
+ def GTHAN()
1843
+ return token(MODLParser::GTHAN, 0)
1844
+ end
1845
+ def LTHAN()
1846
+ return token(MODLParser::LTHAN, 0)
1847
+ end
1848
+ def EXCLAM()
1849
+ return token(MODLParser::EXCLAM, 0)
1850
+ end
1851
+ def initialize( parent, invokingState)
1852
+ super(parent, invokingState)
1853
+ end
1854
+ def getRuleIndex()
1855
+ return RULE_modl_operator
1856
+ end
1857
+ def enter_rule( listener)
1858
+ if ( listener.is_a? MODLParserListener )
1859
+ listener.enterModl_operator(self)
1860
+ end
1861
+ end
1862
+ def exit_rule( listener)
1863
+ if ( listener.is_a? MODLParserListener )
1864
+ listener.exitModl_operator(self)
1865
+ end
1866
+ end
1867
+
1868
+ def accept(visitor)
1869
+ if ( visitor.is_a? MODLParserVisitor )
1870
+ return visitor.visitModl_operator(self)
1871
+ else
1872
+ return visitor.visit_children(self)
1873
+ end
1874
+ end
1875
+ end
1876
+
1877
+ def modl_operator()
1878
+ _localctx = Modl_operatorContext.new(@_ctx, @_state_number)
1879
+ enter_rule(_localctx, 36, RULE_modl_operator)
1880
+ begin
1881
+ @_state_number = 280
1882
+ @_err_handler.sync(self)
1883
+ case (@_interp.adaptive_predict(@_input, 38, @_ctx))
1884
+ when 1
1885
+ enter_outer_alt(_localctx, 1)
1886
+
1887
+ @_state_number = 271
1888
+ match(EQUALS)
1889
+
1890
+ when 2
1891
+ enter_outer_alt(_localctx, 2)
1892
+
1893
+ @_state_number = 272
1894
+ match(GTHAN)
1895
+
1896
+ when 3
1897
+ enter_outer_alt(_localctx, 3)
1898
+
1899
+ @_state_number = 273
1900
+ match(GTHAN)
1901
+ @_state_number = 274
1902
+ match(EQUALS)
1903
+
1904
+ when 4
1905
+ enter_outer_alt(_localctx, 4)
1906
+
1907
+ @_state_number = 275
1908
+ match(LTHAN)
1909
+
1910
+ when 5
1911
+ enter_outer_alt(_localctx, 5)
1912
+
1913
+ @_state_number = 276
1914
+ match(LTHAN)
1915
+ @_state_number = 277
1916
+ match(EQUALS)
1917
+
1918
+ when 6
1919
+ enter_outer_alt(_localctx, 6)
1920
+
1921
+ @_state_number = 278
1922
+ match(EXCLAM)
1923
+ @_state_number = 279
1924
+ match(EQUALS)
1925
+
1926
+ end
1927
+ rescue Antlr4::Runtime::RecognitionException => re
1928
+ _localctx.exception = re
1929
+ @_err_handler.report_error(self, re)
1930
+ @_err_handler.recover(self, re)
1931
+ ensure
1932
+ exit_rule()
1933
+ end
1934
+ return _localctx
1935
+ end
1936
+
1937
+ class Modl_conditionContext < Antlr4::Runtime::ParserRuleContext
1938
+ def modl_value()
1939
+ return rule_contexts("Modl_valueContext")
1940
+ end
1941
+ def modl_value_i( i)
1942
+ return rule_context("Modl_valueContext",i)
1943
+ end
1944
+ def STRING()
1945
+ return token(MODLParser::STRING, 0)
1946
+ end
1947
+ def modl_operator()
1948
+ return rule_context("Modl_operatorContext",0)
1949
+ end
1950
+ def FSLASH()
1951
+ return tokens(MODLParser::FSLASH)
1952
+ end
1953
+ def FSLASH_i( i)
1954
+ return token(MODLParser::FSLASH, i)
1955
+ end
1956
+ def initialize( parent, invokingState)
1957
+ super(parent, invokingState)
1958
+ end
1959
+ def getRuleIndex()
1960
+ return RULE_modl_condition
1961
+ end
1962
+ def enter_rule( listener)
1963
+ if ( listener.is_a? MODLParserListener )
1964
+ listener.enterModl_condition(self)
1965
+ end
1966
+ end
1967
+ def exit_rule( listener)
1968
+ if ( listener.is_a? MODLParserListener )
1969
+ listener.exitModl_condition(self)
1970
+ end
1971
+ end
1972
+
1973
+ def accept(visitor)
1974
+ if ( visitor.is_a? MODLParserVisitor )
1975
+ return visitor.visitModl_condition(self)
1976
+ else
1977
+ return visitor.visit_children(self)
1978
+ end
1979
+ end
1980
+ end
1981
+
1982
+ def modl_condition()
1983
+ _localctx = Modl_conditionContext.new(@_ctx, @_state_number)
1984
+ enter_rule(_localctx, 38, RULE_modl_condition)
1985
+ _la = 0
1986
+ begin
1987
+ enter_outer_alt(_localctx, 1)
1988
+
1989
+ @_state_number = 283
1990
+ @_err_handler.sync(self)
1991
+ case (@_interp.adaptive_predict(@_input, 39, @_ctx))
1992
+ when 1
1993
+
1994
+ @_state_number = 282
1995
+ match(STRING)
1996
+
1997
+ end
1998
+ @_state_number = 286
1999
+ @_err_handler.sync(self)
2000
+ _la = @_input.la(1)
2001
+ if ((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << EQUALS) | (1 << GTHAN) | (1 << LTHAN) | (1 << EXCLAM))) != 0))
2002
+
2003
+ @_state_number = 285
2004
+ modl_operator()
2005
+ end
2006
+
2007
+ @_state_number = 288
2008
+ modl_value()
2009
+ @_state_number = 293
2010
+ @_err_handler.sync(self)
2011
+ _la = @_input.la(1)
2012
+ while (_la==FSLASH)
2013
+
2014
+
2015
+ @_state_number = 289
2016
+ match(FSLASH)
2017
+ @_state_number = 290
2018
+ modl_value()
2019
+ @_state_number = 295
2020
+ @_err_handler.sync(self)
2021
+ _la = @_input.la(1)
2022
+ end
2023
+ rescue Antlr4::Runtime::RecognitionException => re
2024
+ _localctx.exception = re
2025
+ @_err_handler.report_error(self, re)
2026
+ @_err_handler.recover(self, re)
2027
+ ensure
2028
+ exit_rule()
2029
+ end
2030
+ return _localctx
2031
+ end
2032
+
2033
+ class Modl_condition_groupContext < Antlr4::Runtime::ParserRuleContext
2034
+ def LCBRAC()
2035
+ return token(MODLParser::LCBRAC, 0)
2036
+ end
2037
+ def modl_condition_test()
2038
+ return rule_contexts("Modl_condition_testContext")
2039
+ end
2040
+ def modl_condition_test_i( i)
2041
+ return rule_context("Modl_condition_testContext",i)
2042
+ end
2043
+ def RCBRAC()
2044
+ return token(MODLParser::RCBRAC, 0)
2045
+ end
2046
+ def AMP()
2047
+ return tokens(MODLParser::AMP)
2048
+ end
2049
+ def AMP_i( i)
2050
+ return token(MODLParser::AMP, i)
2051
+ end
2052
+ def PIPE()
2053
+ return tokens(MODLParser::PIPE)
2054
+ end
2055
+ def PIPE_i( i)
2056
+ return token(MODLParser::PIPE, i)
2057
+ end
2058
+ def initialize( parent, invokingState)
2059
+ super(parent, invokingState)
2060
+ end
2061
+ def getRuleIndex()
2062
+ return RULE_modl_condition_group
2063
+ end
2064
+ def enter_rule( listener)
2065
+ if ( listener.is_a? MODLParserListener )
2066
+ listener.enterModl_condition_group(self)
2067
+ end
2068
+ end
2069
+ def exit_rule( listener)
2070
+ if ( listener.is_a? MODLParserListener )
2071
+ listener.exitModl_condition_group(self)
2072
+ end
2073
+ end
2074
+
2075
+ def accept(visitor)
2076
+ if ( visitor.is_a? MODLParserVisitor )
2077
+ return visitor.visitModl_condition_group(self)
2078
+ else
2079
+ return visitor.visit_children(self)
2080
+ end
2081
+ end
2082
+ end
2083
+
2084
+ def modl_condition_group()
2085
+ _localctx = Modl_condition_groupContext.new(@_ctx, @_state_number)
2086
+ enter_rule(_localctx, 40, RULE_modl_condition_group)
2087
+ _la = 0
2088
+ begin
2089
+ enter_outer_alt(_localctx, 1)
2090
+
2091
+ @_state_number = 296
2092
+ match(LCBRAC)
2093
+ @_state_number = 297
2094
+ modl_condition_test()
2095
+ @_state_number = 302
2096
+ @_err_handler.sync(self)
2097
+ _la = @_input.la(1)
2098
+ while (_la==AMP || _la==PIPE)
2099
+
2100
+
2101
+ @_state_number = 298
2102
+ _la = @_input.la(1)
2103
+ if ( !(_la==AMP || _la==PIPE) )
2104
+ @_err_handler.recover_in_line(self)
2105
+
2106
+ else
2107
+ if ( @_input.la(1)==Antlr4::Runtime::Token::EOF )
2108
+ @matchedEOF = true
2109
+ end
2110
+ @_err_handler.report_match(self)
2111
+ consume()
2112
+ end
2113
+ @_state_number = 299
2114
+ modl_condition_test()
2115
+ @_state_number = 304
2116
+ @_err_handler.sync(self)
2117
+ _la = @_input.la(1)
2118
+ end
2119
+ @_state_number = 305
2120
+ match(RCBRAC)
2121
+ rescue Antlr4::Runtime::RecognitionException => re
2122
+ _localctx.exception = re
2123
+ @_err_handler.report_error(self, re)
2124
+ @_err_handler.recover(self, re)
2125
+ ensure
2126
+ exit_rule()
2127
+ end
2128
+ return _localctx
2129
+ end
2130
+
2131
+ class Modl_valueContext < Antlr4::Runtime::ParserRuleContext
2132
+ def modl_map()
2133
+ return rule_context("Modl_mapContext",0)
2134
+ end
2135
+ def modl_array()
2136
+ return rule_context("Modl_arrayContext",0)
2137
+ end
2138
+ def modl_nb_array()
2139
+ return rule_context("Modl_nb_arrayContext",0)
2140
+ end
2141
+ def modl_pair()
2142
+ return rule_context("Modl_pairContext",0)
2143
+ end
2144
+ def modl_primitive()
2145
+ return rule_context("Modl_primitiveContext",0)
2146
+ end
2147
+ def initialize( parent, invokingState)
2148
+ super(parent, invokingState)
2149
+ end
2150
+ def getRuleIndex()
2151
+ return RULE_modl_value
2152
+ end
2153
+ def enter_rule( listener)
2154
+ if ( listener.is_a? MODLParserListener )
2155
+ listener.enterModl_value(self)
2156
+ end
2157
+ end
2158
+ def exit_rule( listener)
2159
+ if ( listener.is_a? MODLParserListener )
2160
+ listener.exitModl_value(self)
2161
+ end
2162
+ end
2163
+
2164
+ def accept(visitor)
2165
+ if ( visitor.is_a? MODLParserVisitor )
2166
+ return visitor.visitModl_value(self)
2167
+ else
2168
+ return visitor.visit_children(self)
2169
+ end
2170
+ end
2171
+ end
2172
+
2173
+ def modl_value()
2174
+ _localctx = Modl_valueContext.new(@_ctx, @_state_number)
2175
+ enter_rule(_localctx, 42, RULE_modl_value)
2176
+ begin
2177
+ @_state_number = 312
2178
+ @_err_handler.sync(self)
2179
+ case (@_interp.adaptive_predict(@_input, 43, @_ctx))
2180
+ when 1
2181
+ enter_outer_alt(_localctx, 1)
2182
+
2183
+ @_state_number = 307
2184
+ modl_map()
2185
+
2186
+ when 2
2187
+ enter_outer_alt(_localctx, 2)
2188
+
2189
+ @_state_number = 308
2190
+ modl_array()
2191
+
2192
+ when 3
2193
+ enter_outer_alt(_localctx, 3)
2194
+
2195
+ @_state_number = 309
2196
+ modl_nb_array()
2197
+
2198
+ when 4
2199
+ enter_outer_alt(_localctx, 4)
2200
+
2201
+ @_state_number = 310
2202
+ modl_pair()
2203
+
2204
+ when 5
2205
+ enter_outer_alt(_localctx, 5)
2206
+
2207
+ @_state_number = 311
2208
+ modl_primitive()
2209
+
2210
+ end
2211
+ rescue Antlr4::Runtime::RecognitionException => re
2212
+ _localctx.exception = re
2213
+ @_err_handler.report_error(self, re)
2214
+ @_err_handler.recover(self, re)
2215
+ ensure
2216
+ exit_rule()
2217
+ end
2218
+ return _localctx
2219
+ end
2220
+
2221
+ class Modl_array_value_itemContext < Antlr4::Runtime::ParserRuleContext
2222
+ def modl_map()
2223
+ return rule_context("Modl_mapContext",0)
2224
+ end
2225
+ def modl_pair()
2226
+ return rule_context("Modl_pairContext",0)
2227
+ end
2228
+ def modl_array()
2229
+ return rule_context("Modl_arrayContext",0)
2230
+ end
2231
+ def modl_primitive()
2232
+ return rule_context("Modl_primitiveContext",0)
2233
+ end
2234
+ def initialize( parent, invokingState)
2235
+ super(parent, invokingState)
2236
+ end
2237
+ def getRuleIndex()
2238
+ return RULE_modl_array_value_item
2239
+ end
2240
+ def enter_rule( listener)
2241
+ if ( listener.is_a? MODLParserListener )
2242
+ listener.enterModl_array_value_item(self)
2243
+ end
2244
+ end
2245
+ def exit_rule( listener)
2246
+ if ( listener.is_a? MODLParserListener )
2247
+ listener.exitModl_array_value_item(self)
2248
+ end
2249
+ end
2250
+
2251
+ def accept(visitor)
2252
+ if ( visitor.is_a? MODLParserVisitor )
2253
+ return visitor.visitModl_array_value_item(self)
2254
+ else
2255
+ return visitor.visit_children(self)
2256
+ end
2257
+ end
2258
+ end
2259
+
2260
+ def modl_array_value_item()
2261
+ _localctx = Modl_array_value_itemContext.new(@_ctx, @_state_number)
2262
+ enter_rule(_localctx, 44, RULE_modl_array_value_item)
2263
+ begin
2264
+ @_state_number = 318
2265
+ @_err_handler.sync(self)
2266
+ case (@_interp.adaptive_predict(@_input, 44, @_ctx))
2267
+ when 1
2268
+ enter_outer_alt(_localctx, 1)
2269
+
2270
+ @_state_number = 314
2271
+ modl_map()
2272
+
2273
+ when 2
2274
+ enter_outer_alt(_localctx, 2)
2275
+
2276
+ @_state_number = 315
2277
+ modl_pair()
2278
+
2279
+ when 3
2280
+ enter_outer_alt(_localctx, 3)
2281
+
2282
+ @_state_number = 316
2283
+ modl_array()
2284
+
2285
+ when 4
2286
+ enter_outer_alt(_localctx, 4)
2287
+
2288
+ @_state_number = 317
2289
+ modl_primitive()
2290
+
2291
+ end
2292
+ rescue Antlr4::Runtime::RecognitionException => re
2293
+ _localctx.exception = re
2294
+ @_err_handler.report_error(self, re)
2295
+ @_err_handler.recover(self, re)
2296
+ ensure
2297
+ exit_rule()
2298
+ end
2299
+ return _localctx
2300
+ end
2301
+
2302
+ class Modl_primitiveContext < Antlr4::Runtime::ParserRuleContext
2303
+ def QUOTED()
2304
+ return token(MODLParser::QUOTED, 0)
2305
+ end
2306
+ def NUMBER()
2307
+ return token(MODLParser::NUMBER, 0)
2308
+ end
2309
+ def STRING()
2310
+ return token(MODLParser::STRING, 0)
2311
+ end
2312
+ def TRUE()
2313
+ return token(MODLParser::TRUE, 0)
2314
+ end
2315
+ def FALSE()
2316
+ return token(MODLParser::FALSE, 0)
2317
+ end
2318
+ def NULL()
2319
+ return token(MODLParser::NULL, 0)
2320
+ end
2321
+ def initialize( parent, invokingState)
2322
+ super(parent, invokingState)
2323
+ end
2324
+ def getRuleIndex()
2325
+ return RULE_modl_primitive
2326
+ end
2327
+ def enter_rule( listener)
2328
+ if ( listener.is_a? MODLParserListener )
2329
+ listener.enterModl_primitive(self)
2330
+ end
2331
+ end
2332
+ def exit_rule( listener)
2333
+ if ( listener.is_a? MODLParserListener )
2334
+ listener.exitModl_primitive(self)
2335
+ end
2336
+ end
2337
+
2338
+ def accept(visitor)
2339
+ if ( visitor.is_a? MODLParserVisitor )
2340
+ return visitor.visitModl_primitive(self)
2341
+ else
2342
+ return visitor.visit_children(self)
2343
+ end
2344
+ end
2345
+ end
2346
+
2347
+ def modl_primitive()
2348
+ _localctx = Modl_primitiveContext.new(@_ctx, @_state_number)
2349
+ enter_rule(_localctx, 46, RULE_modl_primitive)
2350
+ _la = 0
2351
+ begin
2352
+ enter_outer_alt(_localctx, 1)
2353
+
2354
+ @_state_number = 320
2355
+ _la = @_input.la(1)
2356
+ if ( !((((_la) & ~0x3f) == 0 && ((1 << _la) & ((1 << NULL) | (1 << TRUE) | (1 << FALSE) | (1 << NUMBER) | (1 << STRING) | (1 << QUOTED))) != 0)) )
2357
+ @_err_handler.recover_in_line(self)
2358
+
2359
+ else
2360
+ if ( @_input.la(1)==Antlr4::Runtime::Token::EOF )
2361
+ @matchedEOF = true
2362
+ end
2363
+ @_err_handler.report_match(self)
2364
+ consume()
2365
+ end
2366
+ rescue Antlr4::Runtime::RecognitionException => re
2367
+ _localctx.exception = re
2368
+ @_err_handler.report_error(self, re)
2369
+ @_err_handler.recover(self, re)
2370
+ ensure
2371
+ exit_rule()
2372
+ end
2373
+ return _localctx
2374
+ end
2375
+
2376
+ @@_serializedATN = ["\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
2377
+ "\3 \u0145\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4",
2378
+ "\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t",
2379
+ "\20\4\21\t\21\4\22\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27",
2380
+ "\t\27\4\30\t\30\4\31\t\31\3\2\5\2\64\n\2\3\2\3\2\3\2\7\29\n\2\f\2\16",
2381
+ "\2<\13\2\3\2\5\2?\n\2\3\2\3\2\5\2C\n\2\3\3\3\3\3\3\3\3\5\3I\n\3\3\4",
2382
+ "\3\4\3\4\3\4\7\4O\n\4\f\4\16\4R\13\4\5\4T\n\4\3\4\3\4\3\5\3\5\3\5\5",
2383
+ "\5[\n\5\3\5\6\5^\n\5\r\5\16\5_\3\5\3\5\5\5d\n\5\3\5\7\5g\n\5\f\5\16",
2384
+ "\5j\13\5\7\5l\n\5\f\5\16\5o\13\5\5\5q\n\5\3\5\3\5\3\6\3\6\6\6w\n\6",
2385
+ "\r\6\16\6x\6\6{\n\6\r\6\16\6|\3\6\7\6\u0080\n\6\f\6\16\6\u0083\13\6",
2386
+ "\3\6\5\6\u0086\n\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\5\7\u008f\n\7\3\b\3",
2387
+ "\b\5\b\u0093\n\b\3\t\3\t\3\t\3\t\3\t\3\t\5\t\u009b\n\t\3\t\3\t\7\t",
2388
+ "\u009f\n\t\f\t\16\t\u00a2\13\t\3\t\3\t\3\n\7\n\u00a7\n\n\f\n\16\n\u00aa",
2389
+ "\13\n\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u00b2\n\13\3\13\3\13\7\13",
2390
+ "\u00b6\n\13\f\13\16\13\u00b9\13\13\3\13\3\13\3\f\6\f\u00be\n\f\r\f",
2391
+ "\16\f\u00bf\3\r\3\r\5\r\u00c4\n\r\3\16\3\16\3\16\3\16\3\16\3\16\5\16",
2392
+ "\u00cc\n\16\3\16\3\16\7\16\u00d0\n\16\f\16\16\16\u00d3\13\16\3\16\3",
2393
+ "\16\3\17\6\17\u00d8\n\17\r\17\16\17\u00d9\3\20\3\20\5\20\u00de\n\20",
2394
+ "\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\7\21\u00e9\n\21\f\21",
2395
+ "\16\21\u00ec\13\21\3\21\3\21\3\21\3\21\5\21\u00f2\n\21\3\21\3\21\3",
2396
+ "\22\3\22\3\22\7\22\u00f9\n\22\f\22\16\22\u00fc\13\22\3\23\5\23\u00ff",
2397
+ "\n\23\3\23\3\23\5\23\u0103\n\23\3\23\3\23\5\23\u0107\n\23\3\23\3\23",
2398
+ "\5\23\u010b\n\23\7\23\u010d\n\23\f\23\16\23\u0110\13\23\3\24\3\24\3",
2399
+ "\24\3\24\3\24\3\24\3\24\3\24\3\24\5\24\u011b\n\24\3\25\5\25\u011e\n",
2400
+ "\25\3\25\5\25\u0121\n\25\3\25\3\25\3\25\7\25\u0126\n\25\f\25\16\25",
2401
+ "\u0129\13\25\3\26\3\26\3\26\3\26\7\26\u012f\n\26\f\26\16\26\u0132\13",
2402
+ "\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27\5\27\u013b\n\27\3\30\3\30\3",
2403
+ "\30\3\30\5\30\u0141\n\30\3\31\3\31\3\31\2\2\32\2\4\6\b\n\f\16\20\22",
2404
+ "\24\26\30\32\34\36 \"$&(*,.\60\2\4\6\2\4\6\17\17\21\21\23\23\3\2\34",
2405
+ "\35\2\u0165\2B\3\2\2\2\4H\3\2\2\2\6J\3\2\2\2\bW\3\2\2\2\nz\3\2\2\2",
2406
+ "\f\u008e\3\2\2\2\16\u0092\3\2\2\2\20\u0094\3\2\2\2\22\u00a8\3\2\2\2",
2407
+ "\24\u00ab\3\2\2\2\26\u00bd\3\2\2\2\30\u00c3\3\2\2\2\32\u00c5\3\2\2",
2408
+ "\2\34\u00d7\3\2\2\2\36\u00dd\3\2\2\2 \u00df\3\2\2\2\"\u00f5\3\2\2\2",
2409
+ "$\u00fe\3\2\2\2&\u011a\3\2\2\2(\u011d\3\2\2\2*\u012a\3\2\2\2,\u013a",
2410
+ "\3\2\2\2.\u0140\3\2\2\2\60\u0142\3\2\2\2\62\64\5\4\3\2\63\62\3\2\2",
2411
+ "\2\63\64\3\2\2\2\64C\3\2\2\2\65:\5\4\3\2\66\67\7\t\2\2\679\5\4\3\2",
2412
+ "8\66\3\2\2\29<\3\2\2\2:8\3\2\2\2:;\3\2\2\2;>\3\2\2\2<:\3\2\2\2=?\7",
2413
+ "\t\2\2>=\3\2\2\2>?\3\2\2\2?@\3\2\2\2@A\7\2\2\3AC\3\2\2\2B\63\3\2\2",
2414
+ "\2B\65\3\2\2\2C\3\3\2\2\2DI\5\6\4\2EI\5\b\5\2FI\5\20\t\2GI\5\f\7\2",
2415
+ "HD\3\2\2\2HE\3\2\2\2HF\3\2\2\2HG\3\2\2\2I\5\3\2\2\2JS\7\13\2\2KP\5",
2416
+ "\30\r\2LM\7\t\2\2MO\5\30\r\2NL\3\2\2\2OR\3\2\2\2PN\3\2\2\2PQ\3\2\2",
2417
+ "\2QT\3\2\2\2RP\3\2\2\2SK\3\2\2\2ST\3\2\2\2TU\3\2\2\2UV\7\f\2\2V\7\3",
2418
+ "\2\2\2Wp\7\r\2\2X[\5\36\20\2Y[\5\n\6\2ZX\3\2\2\2ZY\3\2\2\2[m\3\2\2",
2419
+ "\2\\^\7\t\2\2]\\\3\2\2\2^_\3\2\2\2_]\3\2\2\2_`\3\2\2\2`c\3\2\2\2ad",
2420
+ "\5\36\20\2bd\5\n\6\2ca\3\2\2\2cb\3\2\2\2dh\3\2\2\2eg\7\t\2\2fe\3\2",
2421
+ "\2\2gj\3\2\2\2hf\3\2\2\2hi\3\2\2\2il\3\2\2\2jh\3\2\2\2k]\3\2\2\2lo",
2422
+ "\3\2\2\2mk\3\2\2\2mn\3\2\2\2nq\3\2\2\2om\3\2\2\2pZ\3\2\2\2pq\3\2\2",
2423
+ "\2qr\3\2\2\2rs\7\16\2\2s\t\3\2\2\2tv\5\36\20\2uw\7\7\2\2vu\3\2\2\2",
2424
+ "wx\3\2\2\2xv\3\2\2\2xy\3\2\2\2y{\3\2\2\2zt\3\2\2\2{|\3\2\2\2|z\3\2",
2425
+ "\2\2|}\3\2\2\2}\u0081\3\2\2\2~\u0080\5\36\20\2\177~\3\2\2\2\u0080\u0083",
2426
+ "\3\2\2\2\u0081\177\3\2\2\2\u0081\u0082\3\2\2\2\u0082\u0085\3\2\2\2",
2427
+ "\u0083\u0081\3\2\2\2\u0084\u0086\7\7\2\2\u0085\u0084\3\2\2\2\u0085",
2428
+ "\u0086\3\2\2\2\u0086\13\3\2\2\2\u0087\u0088\t\2\2\2\u0088\u0089\7\b",
2429
+ "\2\2\u0089\u008f\5\16\b\2\u008a\u008b\7\21\2\2\u008b\u008f\5\6\4\2",
2430
+ "\u008c\u008d\7\21\2\2\u008d\u008f\5\b\5\2\u008e\u0087\3\2\2\2\u008e",
2431
+ "\u008a\3\2\2\2\u008e\u008c\3\2\2\2\u008f\r\3\2\2\2\u0090\u0093\5,\27",
2432
+ "\2\u0091\u0093\5 \21\2\u0092\u0090\3\2\2\2\u0092\u0091\3\2\2\2\u0093",
2433
+ "\17\3\2\2\2\u0094\u0095\7\25\2\2\u0095\u0096\5$\23\2\u0096\u0097\7",
2434
+ "\27\2\2\u0097\u00a0\5\22\n\2\u0098\u009a\7\30\2\2\u0099\u009b\5$\23",
2435
+ "\2\u009a\u0099\3\2\2\2\u009a\u009b\3\2\2\2\u009b\u009c\3\2\2\2\u009c",
2436
+ "\u009d\7\27\2\2\u009d\u009f\5\22\n\2\u009e\u0098\3\2\2\2\u009f\u00a2",
2437
+ "\3\2\2\2\u00a0\u009e\3\2\2\2\u00a0\u00a1\3\2\2\2\u00a1\u00a3\3\2\2",
2438
+ "\2\u00a2\u00a0\3\2\2\2\u00a3\u00a4\7 \2\2\u00a4\21\3\2\2\2\u00a5\u00a7",
2439
+ "\5\4\3\2\u00a6\u00a5\3\2\2\2\u00a7\u00aa\3\2\2\2\u00a8\u00a6\3\2\2",
2440
+ "\2\u00a8\u00a9\3\2\2\2\u00a9\23\3\2\2\2\u00aa\u00a8\3\2\2\2\u00ab\u00ac",
2441
+ "\7\25\2\2\u00ac\u00ad\5$\23\2\u00ad\u00ae\7\27\2\2\u00ae\u00b7\5\26",
2442
+ "\f\2\u00af\u00b1\7\30\2\2\u00b0\u00b2\5$\23\2\u00b1\u00b0\3\2\2\2\u00b1",
2443
+ "\u00b2\3\2\2\2\u00b2\u00b3\3\2\2\2\u00b3\u00b4\7\27\2\2\u00b4\u00b6",
2444
+ "\5\26\f\2\u00b5\u00af\3\2\2\2\u00b6\u00b9\3\2\2\2\u00b7\u00b5\3\2\2",
2445
+ "\2\u00b7\u00b8\3\2\2\2\u00b8\u00ba\3\2\2\2\u00b9\u00b7\3\2\2\2\u00ba",
2446
+ "\u00bb\7 \2\2\u00bb\25\3\2\2\2\u00bc\u00be\5\30\r\2\u00bd\u00bc\3\2",
2447
+ "\2\2\u00be\u00bf\3\2\2\2\u00bf\u00bd\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0",
2448
+ "\27\3\2\2\2\u00c1\u00c4\5\f\7\2\u00c2\u00c4\5\24\13\2\u00c3\u00c1\3",
2449
+ "\2\2\2\u00c3\u00c2\3\2\2\2\u00c4\31\3\2\2\2\u00c5\u00c6\7\25\2\2\u00c6",
2450
+ "\u00c7\5$\23\2\u00c7\u00c8\7\27\2\2\u00c8\u00d1\5\34\17\2\u00c9\u00cb",
2451
+ "\7\30\2\2\u00ca\u00cc\5$\23\2\u00cb\u00ca\3\2\2\2\u00cb\u00cc\3\2\2",
2452
+ "\2\u00cc\u00cd\3\2\2\2\u00cd\u00ce\7\27\2\2\u00ce\u00d0\5\34\17\2\u00cf",
2453
+ "\u00c9\3\2\2\2\u00d0\u00d3\3\2\2\2\u00d1\u00cf\3\2\2\2\u00d1\u00d2",
2454
+ "\3\2\2\2\u00d2\u00d4\3\2\2\2\u00d3\u00d1\3\2\2\2\u00d4\u00d5\7 \2\2",
2455
+ "\u00d5\33\3\2\2\2\u00d6\u00d8\5\36\20\2\u00d7\u00d6\3\2\2\2\u00d8\u00d9",
2456
+ "\3\2\2\2\u00d9\u00d7\3\2\2\2\u00d9\u00da\3\2\2\2\u00da\35\3\2\2\2\u00db",
2457
+ "\u00de\5.\30\2\u00dc\u00de\5\32\16\2\u00dd\u00db\3\2\2\2\u00dd\u00dc",
2458
+ "\3\2\2\2\u00de\37\3\2\2\2\u00df\u00e0\7\25\2\2\u00e0\u00e1\5$\23\2",
2459
+ "\u00e1\u00f1\7\27\2\2\u00e2\u00ea\5\"\22\2\u00e3\u00e4\7\30\2\2\u00e4",
2460
+ "\u00e5\5$\23\2\u00e5\u00e6\7\27\2\2\u00e6\u00e7\5\"\22\2\u00e7\u00e9",
2461
+ "\3\2\2\2\u00e8\u00e3\3\2\2\2\u00e9\u00ec\3\2\2\2\u00ea\u00e8\3\2\2",
2462
+ "\2\u00ea\u00eb\3\2\2\2\u00eb\u00ed\3\2\2\2\u00ec\u00ea\3\2\2\2\u00ed",
2463
+ "\u00ee\7\30\2\2\u00ee\u00ef\7\27\2\2\u00ef\u00f0\5\"\22\2\u00f0\u00f2",
2464
+ "\3\2\2\2\u00f1\u00e2\3\2\2\2\u00f1\u00f2\3\2\2\2\u00f2\u00f3\3\2\2",
2465
+ "\2\u00f3\u00f4\7 \2\2\u00f4!\3\2\2\2\u00f5\u00fa\5\16\b\2\u00f6\u00f7",
2466
+ "\7\7\2\2\u00f7\u00f9\5\16\b\2\u00f8\u00f6\3\2\2\2\u00f9\u00fc\3\2\2",
2467
+ "\2\u00fa\u00f8\3\2\2\2\u00fa\u00fb\3\2\2\2\u00fb#\3\2\2\2\u00fc\u00fa",
2468
+ "\3\2\2\2\u00fd\u00ff\7\36\2\2\u00fe\u00fd\3\2\2\2\u00fe\u00ff\3\2\2",
2469
+ "\2\u00ff\u0102\3\2\2\2\u0100\u0103\5(\25\2\u0101\u0103\5*\26\2\u0102",
2470
+ "\u0100\3\2\2\2\u0102\u0101\3\2\2\2\u0103\u010e\3\2\2\2\u0104\u0106",
2471
+ "\t\3\2\2\u0105\u0107\7\36\2\2\u0106\u0105\3\2\2\2\u0106\u0107\3\2\2",
2472
+ "\2\u0107\u010a\3\2\2\2\u0108\u010b\5(\25\2\u0109\u010b\5*\26\2\u010a",
2473
+ "\u0108\3\2\2\2\u010a\u0109\3\2\2\2\u010b\u010d\3\2\2\2\u010c\u0104",
2474
+ "\3\2\2\2\u010d\u0110\3\2\2\2\u010e\u010c\3\2\2\2\u010e\u010f\3\2\2",
2475
+ "\2\u010f%\3\2\2\2\u0110\u010e\3\2\2\2\u0111\u011b\7\b\2\2\u0112\u011b",
2476
+ "\7\31\2\2\u0113\u0114\7\31\2\2\u0114\u011b\7\b\2\2\u0115\u011b\7\32",
2477
+ "\2\2\u0116\u0117\7\32\2\2\u0117\u011b\7\b\2\2\u0118\u0119\7\36\2\2",
2478
+ "\u0119\u011b\7\b\2\2\u011a\u0111\3\2\2\2\u011a\u0112\3\2\2\2\u011a",
2479
+ "\u0113\3\2\2\2\u011a\u0115\3\2\2\2\u011a\u0116\3\2\2\2\u011a\u0118",
2480
+ "\3\2\2\2\u011b\'\3\2\2\2\u011c\u011e\7\21\2\2\u011d\u011c\3\2\2\2\u011d",
2481
+ "\u011e\3\2\2\2\u011e\u0120\3\2\2\2\u011f\u0121\5&\24\2\u0120\u011f",
2482
+ "\3\2\2\2\u0120\u0121\3\2\2\2\u0121\u0122\3\2\2\2\u0122\u0127\5,\27",
2483
+ "\2\u0123\u0124\7\30\2\2\u0124\u0126\5,\27\2\u0125\u0123\3\2\2\2\u0126",
2484
+ "\u0129\3\2\2\2\u0127\u0125\3\2\2\2\u0127\u0128\3\2\2\2\u0128)\3\2\2",
2485
+ "\2\u0129\u0127\3\2\2\2\u012a\u012b\7\25\2\2\u012b\u0130\5$\23\2\u012c",
2486
+ "\u012d\t\3\2\2\u012d\u012f\5$\23\2\u012e\u012c\3\2\2\2\u012f\u0132",
2487
+ "\3\2\2\2\u0130\u012e\3\2\2\2\u0130\u0131\3\2\2\2\u0131\u0133\3\2\2",
2488
+ "\2\u0132\u0130\3\2\2\2\u0133\u0134\7 \2\2\u0134+\3\2\2\2\u0135\u013b",
2489
+ "\5\6\4\2\u0136\u013b\5\b\5\2\u0137\u013b\5\n\6\2\u0138\u013b\5\f\7",
2490
+ "\2\u0139\u013b\5\60\31\2\u013a\u0135\3\2\2\2\u013a\u0136\3\2\2\2\u013a",
2491
+ "\u0137\3\2\2\2\u013a\u0138\3\2\2\2\u013a\u0139\3\2\2\2\u013b-\3\2\2",
2492
+ "\2\u013c\u0141\5\6\4\2\u013d\u0141\5\f\7\2\u013e\u0141\5\b\5\2\u013f",
2493
+ "\u0141\5\60\31\2\u0140\u013c\3\2\2\2\u0140\u013d\3\2\2\2\u0140\u013e",
2494
+ "\3\2\2\2\u0140\u013f\3\2\2\2\u0141/\3\2\2\2\u0142\u0143\t\2\2\2\u0143",
2495
+ "\61\3\2\2\2/\63:>BHPSZ_chmpx|\u0081\u0085\u008e\u0092\u009a\u00a0\u00a8",
2496
+ "\u00b1\u00b7\u00bf\u00c3\u00cb\u00d1\u00d9\u00dd\u00ea\u00f1\u00fa",
2497
+ "\u00fe\u0102\u0106\u010a\u010e\u011a\u011d\u0120\u0127\u0130\u013a",
2498
+ "\u0140"].join("")
2499
+
2500
+ @@_ATN = Antlr4::Runtime::ATNDeserializer.new().deserialize(@@_serializedATN)
2501
+
2502
+ end
2503
+
2504
+ end