modl 0.0.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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