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 @@
1
+ _var=`%var`c
@@ -0,0 +1,9 @@
1
+ *class(
2
+ *id=m;
3
+ *name=message;
4
+ *superclass=map;
5
+ *assign=[
6
+ [direction;date_time;message]
7
+ ];
8
+ method=sms
9
+ )
@@ -0,0 +1,70 @@
1
+ [
2
+ "*VERSION=100;\"123\"=1",
3
+ "b=(c=(d=(e=(f=(g=(h=(i=(j=1))))))));a=%b.c.e.f.g.h.i.j",
4
+ "*method(*id=hy;*name=hyp1;*transform=`replace( ,-)`);*method(*id=hy;*name=hyp2;*transform=`replace( ,-)`)",
5
+ "*method(*id=hy;*name=hyp1;*transform=`replace( ,-)`);*method(*id=hy1;*name=hyp1;*transform=`replace( ,-)`)",
6
+ "*method(*id=hy;*name=hyp;*transform=`replace( ,-)`);*method(*id=hyp1;*name=hy;*transform=`replace( ,-)`)",
7
+ "*method(*id=hy;*name=hyp;*transform=`replace( ,-)`);*method(*id=hyp;*name=hyp1;*transform=`replace( ,-)`)",
8
+ "*class(*id=t;*name=test;*assign=[[a;b];[a]])",
9
+ "*class(*id=t;*name=test;*assign=[[a;b]]);test=1:2:3",
10
+ "*class(*id=t;*name=test);*class(*id=tt;*name=test)",
11
+ "*class(*id=test;*name=t);*class(*id=tt;*name=test)",
12
+ "*class(*id=test;*name=t);*class(*id=test;*name=tt)",
13
+ "*class(*name=test;*id=t);*class(*id=test;*name=tt)",
14
+ "*L=grammar_tests/1;*l=grammar_tests/1;a=1",
15
+ "*L=grammar_tests/1;*L=grammar_tests/1",
16
+ "*class(\n *id=g;\n *name=glossary;\n *superclass=map\n);\n*class(\n *id=t;\n *name=title;\n *superclass=str\n);\n*class(\n *id=d;\n *name=GlossDiv;\n *superclass=map\n);\n*class(\n *id=l;\n *name=GlossList;\n *superclass=map\n);\n*class(\n *id=e;\n *name=GlossEntry;\n *superclass=map;\n *assign[\n [i;s;gt;a;ab;gd;gs]\n ]\n);\n*class(\n *id=i;\n *name=ID;\n *superclass=str\n);\n*class(\n *id=s;\n *name=SortAs;\n *superclass=str\n);\n*class(\n *id=gt;\n *name=GlossTerm;\n *superclass=str\n);\n*class(\n *id=a;\n *name=Acronym;\n *superclass=str\n);\n*class(\n *id=ab;\n *name=Abbrev;\n *superclass=str\n);\n*class(\n *id=gd;\n *name=GlossDef;\n *superclass=map;\n *assign=[\n [p];\n [p;sa]\n ]\n);\n*CLASS(\n *id=p;\n *name=para;\n *superclass=str\n);\n*class(\n *id=sa;\n *name=SeeAlso;\n *superclass=arr\n);\n*class(\n *id=gs;\n *name=GlossSee;\n *superclass=str\n);\n\ng(\n ?=[SGML;markup;language];\n t=example glossary;\n d(\n t=S;\n l(\n e(\n i=%0;\n s=%0;\n gt=Standard Generalized %1.s %2.s;\n a=%0;\n ab=ISO 8879\\:1986;\n gd=A meta-%1 %2, used to create %1 %2s such as DocBook.\n :[GML;XML];\n gs=%1\n )\n )\n )\n)",
17
+ "*class(*id=n;*name=name;*superclass=num);n=Elliott",
18
+ "*class(*id=newstr;*superclass=str);*class(*id=a;*name=age;*superclass=anotherstr);a=10",
19
+ "!a=1",
20
+ "a!=1",
21
+ "!a!=1",
22
+ "!~a~!=1",
23
+ "£x=y",
24
+ "$x=y",
25
+ "@x=y",
26
+ "-x=y",
27
+ "+x=y",
28
+ "'x'=y",
29
+ "'x?=y",
30
+ "a=1:2:3;;\nb=4:5:6",
31
+ "a=1:2:3;\n;\nb=4:5:6",
32
+ "a=1:2:3\n;\n;\nb=4:5:6",
33
+ "a=1:2:3\n;;\nb=4:5:6",
34
+ "a=1:2:3\n;\nb=4:5:6\n;\n;\n",
35
+ "a=1:2:3\n;\nb=4:5:6\n;;\n",
36
+ "*nonsense=1",
37
+ "?=1:2:3:4;_12%3=1",
38
+ "_123=1",
39
+ "_12*3=1",
40
+ "_12!3=1",
41
+ "_12@3=1",
42
+ "_12#3=1",
43
+ "_12$3=1",
44
+ "_12^3=1",
45
+ "_12&3=1",
46
+ "_12(3=1",
47
+ "_12)3=1",
48
+ "123=456",
49
+ "_test=(\n first=(\"v1\"=(one=(two=three)))\n);\n \ntesting = \"`%test.first.v1.one.0`\"",
50
+ "_test=(\n first=(\"v1\"=(one=(two=three)))\n);\n \ntesting = \"`%test.first.v1.0.two`\"",
51
+ "_test=(\n first=(\"v1\"=(one=(two=three)))\n);\n \ntesting = \"`%test.first.v1.0.0`\"",
52
+ "_test=(\n numbers=(\"one\"=1)\n);\n\ntesting = this is a string that includes a reference with a letter s after it %test.numbers.ones",
53
+ "true=test",
54
+ "false=test",
55
+ "null=test",
56
+ "*class(*id=arr)",
57
+ "*class(*id=num)",
58
+ "*class(*id=map)",
59
+ "*class(*id=str)",
60
+ "*class(*name=arr)",
61
+ "*class(*name=num)",
62
+ "*class(*name=map)",
63
+ "*class(*name=str)",
64
+ "IMMUTABLE=true;IMMUTABLE=false",
65
+ "*VERSION=test",
66
+ "*V=test",
67
+ "*VERSION=0",
68
+ "*VERSION=0.1",
69
+ "a=b;*VERSION=1"
70
+ ]
@@ -0,0 +1,9 @@
1
+ {
2
+ !tz?
3
+ {
4
+ c = us?
5
+ _tz = EST
6
+ /?
7
+ _tz = GMT
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ *l="grammar_tests/test_import_dir/nested_import2.txt"
@@ -0,0 +1 @@
1
+ *l="grammar_tests/test_import_dir/nested_import3.txt"
@@ -0,0 +1 @@
1
+ *l="grammar_tests/test_import_dir/test_import.txt"
@@ -0,0 +1,9 @@
1
+ *class(
2
+ *id=m;
3
+ *name=message;
4
+ *superclass=map;
5
+ *assign=[
6
+ [direction;date_time;message]
7
+ ];
8
+ method=sms
9
+ )
@@ -0,0 +1,10 @@
1
+ require "antlr4/runtime"
2
+ require "modl/parser/version"
3
+ require 'modl/parser/MODLParserListener'
4
+ require 'modl/parser/MODLParserVisitor'
5
+ require 'modl/parser/MODLParserBaseListener'
6
+ require 'modl/parser/MODLParserBaseVisitor'
7
+ require 'modl/parser/MODLLexer'
8
+ require 'modl/parser/MODLParser'
9
+ require 'modl/parser/interpreter'
10
+ require 'modl/parser/instruction_processor'
@@ -0,0 +1,136 @@
1
+ token literal names:
2
+ null
3
+ null
4
+ null
5
+ null
6
+ null
7
+ null
8
+ null
9
+ null
10
+ ','
11
+ null
12
+ null
13
+ null
14
+ null
15
+ null
16
+ null
17
+ null
18
+ null
19
+ null
20
+ null
21
+ '{'
22
+ null
23
+ '?'
24
+ '/'
25
+ '>'
26
+ '<'
27
+ '*'
28
+ '&'
29
+ '|'
30
+ '!'
31
+ null
32
+ '}'
33
+
34
+ token symbolic names:
35
+ null
36
+ WS
37
+ NULL
38
+ TRUE
39
+ FALSE
40
+ COLON
41
+ EQUALS
42
+ STRUCT_SEP
43
+ ARR_SEP
44
+ LBRAC
45
+ RBRAC
46
+ LSBRAC
47
+ RSBRAC
48
+ NUMBER
49
+ COMMENT
50
+ STRING
51
+ HASH_PREFIX
52
+ QUOTED
53
+ GRAVED
54
+ LCBRAC
55
+ CWS
56
+ QMARK
57
+ FSLASH
58
+ GTHAN
59
+ LTHAN
60
+ ASTERISK
61
+ AMP
62
+ PIPE
63
+ EXCLAM
64
+ CCOMMENT
65
+ RCBRAC
66
+
67
+ rule names:
68
+ WS
69
+ NULL
70
+ TRUE
71
+ FALSE
72
+ COLON
73
+ EQUALS
74
+ STRUCT_SEP
75
+ ARR_SEP
76
+ LBRAC
77
+ RBRAC
78
+ LSBRAC
79
+ RSBRAC
80
+ NUMBER
81
+ INT
82
+ EXP
83
+ COMMENT
84
+ INSIDE_COMMENT
85
+ STRING
86
+ UNRESERVED
87
+ RESERVED_CHARS
88
+ ESCAPED
89
+ UNICODE
90
+ HEX
91
+ HASH_PREFIX
92
+ QUOTED
93
+ INSIDE_QUOTES
94
+ GRAVED
95
+ INSIDE_GRAVES
96
+ LCBRAC
97
+ CWS
98
+ CNULL
99
+ CTRUE
100
+ CFALSE
101
+ CCOLON
102
+ CEQUALS
103
+ CSTRUCT_SEP
104
+ CLBRAC
105
+ CRBRAC
106
+ CLSBRAC
107
+ CRSBRAC
108
+ CNUMBER
109
+ QMARK
110
+ FSLASH
111
+ GTHAN
112
+ LTHAN
113
+ ASTERISK
114
+ AMP
115
+ PIPE
116
+ EXCLAM
117
+ CLCBRAC
118
+ CSTRING
119
+ CUNRESERVED
120
+ CRESERVED_CHARS
121
+ CESCAPED
122
+ CCOMMENT
123
+ CQUOTED
124
+ CGRAVED
125
+ RCBRAC
126
+
127
+ channel names:
128
+ DEFAULT_TOKEN_CHANNEL
129
+ HIDDEN
130
+
131
+ mode names:
132
+ DEFAULT_MODE
133
+ CONDITIONAL
134
+
135
+ atn:
136
+ [3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 32, 502, 8, 1, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 3, 2, 6, 2, 122, 10, 2, 13, 2, 14, 2, 123, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 139, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 151, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 165, 10, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 5, 14, 184, 10, 14, 3, 14, 3, 14, 3, 14, 6, 14, 189, 10, 14, 13, 14, 14, 14, 190, 5, 14, 193, 10, 14, 3, 14, 5, 14, 196, 10, 14, 3, 15, 3, 15, 3, 15, 7, 15, 201, 10, 15, 12, 15, 14, 15, 204, 11, 15, 5, 15, 206, 10, 15, 3, 16, 3, 16, 5, 16, 210, 10, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 7, 18, 222, 10, 18, 12, 18, 14, 18, 225, 11, 18, 3, 19, 3, 19, 5, 19, 229, 10, 19, 3, 19, 3, 19, 3, 19, 3, 19, 6, 19, 235, 10, 19, 13, 19, 14, 19, 236, 3, 19, 5, 19, 240, 10, 19, 3, 19, 6, 19, 243, 10, 19, 13, 19, 14, 19, 244, 3, 19, 5, 19, 248, 10, 19, 3, 19, 3, 19, 3, 19, 6, 19, 253, 10, 19, 13, 19, 14, 19, 254, 7, 19, 257, 10, 19, 12, 19, 14, 19, 260, 11, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 5, 22, 269, 10, 22, 3, 22, 3, 22, 3, 22, 3, 22, 5, 22, 275, 10, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 5, 26, 291, 10, 26, 3, 26, 3, 26, 3, 27, 7, 27, 296, 10, 27, 12, 27, 14, 27, 299, 11, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 7, 29, 306, 10, 29, 12, 29, 14, 29, 309, 11, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 6, 31, 316, 10, 31, 13, 31, 14, 31, 317, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 5, 32, 333, 10, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 347, 10, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 5, 34, 363, 10, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 5, 42, 396, 10, 42, 3, 42, 3, 42, 3, 42, 6, 42, 401, 10, 42, 13, 42, 14, 42, 402, 5, 42, 405, 10, 42, 3, 42, 5, 42, 408, 10, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 3, 51, 3, 51, 3, 52, 3, 52, 3, 52, 6, 52, 436, 10, 52, 13, 52, 14, 52, 437, 3, 52, 6, 52, 441, 10, 52, 13, 52, 14, 52, 442, 3, 52, 3, 52, 3, 52, 6, 52, 448, 10, 52, 13, 52, 14, 52, 449, 7, 52, 452, 10, 52, 12, 52, 14, 52, 455, 11, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 54, 3, 54, 3, 55, 3, 55, 3, 55, 5, 55, 466, 10, 55, 3, 55, 3, 55, 3, 55, 3, 55, 5, 55, 472, 10, 55, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 57, 3, 57, 3, 57, 5, 57, 484, 10, 57, 3, 57, 3, 57, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 5, 58, 493, 10, 58, 3, 58, 3, 58, 3, 58, 3, 58, 3, 59, 3, 59, 3, 59, 3, 59, 2, 2, 60, 4, 3, 6, 4, 8, 5, 10, 6, 12, 7, 14, 8, 16, 9, 18, 10, 20, 11, 22, 12, 24, 13, 26, 14, 28, 15, 30, 2, 32, 2, 34, 16, 36, 2, 38, 17, 40, 2, 42, 2, 44, 2, 46, 2, 48, 2, 50, 18, 52, 19, 54, 2, 56, 20, 58, 2, 60, 21, 62, 22, 64, 2, 66, 2, 68, 2, 70, 2, 72, 2, 74, 2, 76, 2, 78, 2, 80, 2, 82, 2, 84, 2, 86, 23, 88, 24, 90, 25, 92, 26, 94, 27, 96, 28, 98, 29, 100, 30, 102, 2, 104, 2, 106, 2, 108, 2, 110, 2, 112, 31, 114, 2, 116, 2, 118, 32, 4, 2, 3, 14, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 50, 59, 3, 2, 51, 59, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 4, 2, 12, 12, 15, 15, 14, 2, 10, 12, 14, 15, 34, 34, 36, 37, 42, 43, 60, 61, 63, 63, 93, 93, 95, 95, 98, 98, 125, 125, 127, 127, 9, 2, 49, 49, 94, 94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 5, 2, 50, 59, 67, 72, 99, 104, 3, 2, 36, 36, 3, 2, 98, 98, 13, 2, 10, 12, 14, 15, 34, 37, 40, 40, 42, 43, 49, 49, 60, 65, 93, 93, 95, 95, 98, 98, 125, 127, 2, 544, 2, 4, 3, 2, 2, 2, 2, 6, 3, 2, 2, 2, 2, 8, 3, 2, 2, 2, 2, 10, 3, 2, 2, 2, 2, 12, 3, 2, 2, 2, 2, 14, 3, 2, 2, 2, 2, 16, 3, 2, 2, 2, 2, 18, 3, 2, 2, 2, 2, 20, 3, 2, 2, 2, 2, 22, 3, 2, 2, 2, 2, 24, 3, 2, 2, 2, 2, 26, 3, 2, 2, 2, 2, 28, 3, 2, 2, 2, 2, 34, 3, 2, 2, 2, 2, 38, 3, 2, 2, 2, 2, 50, 3, 2, 2, 2, 2, 52, 3, 2, 2, 2, 2, 56, 3, 2, 2, 2, 2, 60, 3, 2, 2, 2, 3, 62, 3, 2, 2, 2, 3, 64, 3, 2, 2, 2, 3, 66, 3, 2, 2, 2, 3, 68, 3, 2, 2, 2, 3, 70, 3, 2, 2, 2, 3, 72, 3, 2, 2, 2, 3, 74, 3, 2, 2, 2, 3, 76, 3, 2, 2, 2, 3, 78, 3, 2, 2, 2, 3, 80, 3, 2, 2, 2, 3, 82, 3, 2, 2, 2, 3, 84, 3, 2, 2, 2, 3, 86, 3, 2, 2, 2, 3, 88, 3, 2, 2, 2, 3, 90, 3, 2, 2, 2, 3, 92, 3, 2, 2, 2, 3, 94, 3, 2, 2, 2, 3, 96, 3, 2, 2, 2, 3, 98, 3, 2, 2, 2, 3, 100, 3, 2, 2, 2, 3, 102, 3, 2, 2, 2, 3, 104, 3, 2, 2, 2, 3, 112, 3, 2, 2, 2, 3, 114, 3, 2, 2, 2, 3, 116, 3, 2, 2, 2, 3, 118, 3, 2, 2, 2, 4, 121, 3, 2, 2, 2, 6, 138, 3, 2, 2, 2, 8, 150, 3, 2, 2, 2, 10, 164, 3, 2, 2, 2, 12, 166, 3, 2, 2, 2, 14, 168, 3, 2, 2, 2, 16, 170, 3, 2, 2, 2, 18, 172, 3, 2, 2, 2, 20, 174, 3, 2, 2, 2, 22, 176, 3, 2, 2, 2, 24, 178, 3, 2, 2, 2, 26, 180, 3, 2, 2, 2, 28, 183, 3, 2, 2, 2, 30, 205, 3, 2, 2, 2, 32, 207, 3, 2, 2, 2, 34, 213, 3, 2, 2, 2, 36, 223, 3, 2, 2, 2, 38, 228, 3, 2, 2, 2, 40, 261, 3, 2, 2, 2, 42, 263, 3, 2, 2, 2, 44, 274, 3, 2, 2, 2, 46, 276, 3, 2, 2, 2, 48, 282, 3, 2, 2, 2, 50, 284, 3, 2, 2, 2, 52, 287, 3, 2, 2, 2, 54, 297, 3, 2, 2, 2, 56, 300, 3, 2, 2, 2, 58, 307, 3, 2, 2, 2, 60, 310, 3, 2, 2, 2, 62, 315, 3, 2, 2, 2, 64, 332, 3, 2, 2, 2, 66, 346, 3, 2, 2, 2, 68, 362, 3, 2, 2, 2, 70, 366, 3, 2, 2, 2, 72, 370, 3, 2, 2, 2, 74, 374, 3, 2, 2, 2, 76, 378, 3, 2, 2, 2, 78, 382, 3, 2, 2, 2, 80, 386, 3, 2, 2, 2, 82, 390, 3, 2, 2, 2, 84, 395, 3, 2, 2, 2, 86, 411, 3, 2, 2, 2, 88, 413, 3, 2, 2, 2, 90, 415, 3, 2, 2, 2, 92, 417, 3, 2, 2, 2, 94, 419, 3, 2, 2, 2, 96, 421, 3, 2, 2, 2, 98, 423, 3, 2, 2, 2, 100, 425, 3, 2, 2, 2, 102, 427, 3, 2, 2, 2, 104, 435, 3, 2, 2, 2, 106, 458, 3, 2, 2, 2, 108, 460, 3, 2, 2, 2, 110, 471, 3, 2, 2, 2, 112, 473, 3, 2, 2, 2, 114, 480, 3, 2, 2, 2, 116, 489, 3, 2, 2, 2, 118, 498, 3, 2, 2, 2, 120, 122, 9, 2, 2, 2, 121, 120, 3, 2, 2, 2, 122, 123, 3, 2, 2, 2, 123, 121, 3, 2, 2, 2, 123, 124, 3, 2, 2, 2, 124, 125, 3, 2, 2, 2, 125, 126, 8, 2, 2, 2, 126, 5, 3, 2, 2, 2, 127, 128, 7, 50, 2, 2, 128, 129, 7, 50, 2, 2, 129, 139, 7, 50, 2, 2, 130, 131, 7, 112, 2, 2, 131, 132, 7, 119, 2, 2, 132, 133, 7, 110, 2, 2, 133, 139, 7, 110, 2, 2, 134, 135, 7, 80, 2, 2, 135, 136, 7, 87, 2, 2, 136, 137, 7, 78, 2, 2, 137, 139, 7, 78, 2, 2, 138, 127, 3, 2, 2, 2, 138, 130, 3, 2, 2, 2, 138, 134, 3, 2, 2, 2, 139, 7, 3, 2, 2, 2, 140, 141, 7, 50, 2, 2, 141, 151, 7, 51, 2, 2, 142, 143, 7, 118, 2, 2, 143, 144, 7, 116, 2, 2, 144, 145, 7, 119, 2, 2, 145, 151, 7, 103, 2, 2, 146, 147, 7, 86, 2, 2, 147, 148, 7, 84, 2, 2, 148, 149, 7, 87, 2, 2, 149, 151, 7, 71, 2, 2, 150, 140, 3, 2, 2, 2, 150, 142, 3, 2, 2, 2, 150, 146, 3, 2, 2, 2, 151, 9, 3, 2, 2, 2, 152, 153, 7, 50, 2, 2, 153, 165, 7, 50, 2, 2, 154, 155, 7, 104, 2, 2, 155, 156, 7, 99, 2, 2, 156, 157, 7, 110, 2, 2, 157, 158, 7, 117, 2, 2, 158, 165, 7, 103, 2, 2, 159, 160, 7, 72, 2, 2, 160, 161, 7, 67, 2, 2, 161, 162, 7, 78, 2, 2, 162, 163, 7, 85, 2, 2, 163, 165, 7, 71, 2, 2, 164, 152, 3, 2, 2, 2, 164, 154, 3, 2, 2, 2, 164, 159, 3, 2, 2, 2, 165, 11, 3, 2, 2, 2, 166, 167, 7, 60, 2, 2, 167, 13, 3, 2, 2, 2, 168, 169, 7, 63, 2, 2, 169, 15, 3, 2, 2, 2, 170, 171, 7, 61, 2, 2, 171, 17, 3, 2, 2, 2, 172, 173, 7, 46, 2, 2, 173, 19, 3, 2, 2, 2, 174, 175, 7, 42, 2, 2, 175, 21, 3, 2, 2, 2, 176, 177, 7, 43, 2, 2, 177, 23, 3, 2, 2, 2, 178, 179, 7, 93, 2, 2, 179, 25, 3, 2, 2, 2, 180, 181, 7, 95, 2, 2, 181, 27, 3, 2, 2, 2, 182, 184, 7, 47, 2, 2, 183, 182, 3, 2, 2, 2, 183, 184, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 192, 5, 30, 15, 2, 186, 188, 7, 48, 2, 2, 187, 189, 9, 3, 2, 2, 188, 187, 3, 2, 2, 2, 189, 190, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 190, 191, 3, 2, 2, 2, 191, 193, 3, 2, 2, 2, 192, 186, 3, 2, 2, 2, 192, 193, 3, 2, 2, 2, 193, 195, 3, 2, 2, 2, 194, 196, 5, 32, 16, 2, 195, 194, 3, 2, 2, 2, 195, 196, 3, 2, 2, 2, 196, 29, 3, 2, 2, 2, 197, 206, 7, 50, 2, 2, 198, 202, 9, 4, 2, 2, 199, 201, 9, 3, 2, 2, 200, 199, 3, 2, 2, 2, 201, 204, 3, 2, 2, 2, 202, 200, 3, 2, 2, 2, 202, 203, 3, 2, 2, 2, 203, 206, 3, 2, 2, 2, 204, 202, 3, 2, 2, 2, 205, 197, 3, 2, 2, 2, 205, 198, 3, 2, 2, 2, 206, 31, 3, 2, 2, 2, 207, 209, 9, 5, 2, 2, 208, 210, 9, 6, 2, 2, 209, 208, 3, 2, 2, 2, 209, 210, 3, 2, 2, 2, 210, 211, 3, 2, 2, 2, 211, 212, 5, 30, 15, 2, 212, 33, 3, 2, 2, 2, 213, 214, 7, 37, 2, 2, 214, 215, 7, 37, 2, 2, 215, 216, 3, 2, 2, 2, 216, 217, 5, 36, 18, 2, 217, 218, 3, 2, 2, 2, 218, 219, 8, 17, 2, 2, 219, 35, 3, 2, 2, 2, 220, 222, 10, 7, 2, 2, 221, 220, 3, 2, 2, 2, 222, 225, 3, 2, 2, 2, 223, 221, 3, 2, 2, 2, 223, 224, 3, 2, 2, 2, 224, 37, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 226, 227, 7, 37, 2, 2, 227, 229, 7, 34, 2, 2, 228, 226, 3, 2, 2, 2, 228, 229, 3, 2, 2, 2, 229, 234, 3, 2, 2, 2, 230, 235, 5, 44, 22, 2, 231, 235, 5, 40, 20, 2, 232, 235, 5, 56, 28, 2, 233, 235, 5, 50, 25, 2, 234, 230, 3, 2, 2, 2, 234, 231, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 234, 233, 3, 2, 2, 2, 235, 236, 3, 2, 2, 2, 236, 234, 3, 2, 2, 2, 236, 237, 3, 2, 2, 2, 237, 258, 3, 2, 2, 2, 238, 240, 7, 37, 2, 2, 239, 238, 3, 2, 2, 2, 239, 240, 3, 2, 2, 2, 240, 242, 3, 2, 2, 2, 241, 243, 7, 34, 2, 2, 242, 241, 3, 2, 2, 2, 243, 244, 3, 2, 2, 2, 244, 242, 3, 2, 2, 2, 244, 245, 3, 2, 2, 2, 245, 247, 3, 2, 2, 2, 246, 248, 7, 37, 2, 2, 247, 246, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 252, 3, 2, 2, 2, 249, 253, 5, 44, 22, 2, 250, 253, 5, 40, 20, 2, 251, 253, 5, 56, 28, 2, 252, 249, 3, 2, 2, 2, 252, 250, 3, 2, 2, 2, 252, 251, 3, 2, 2, 2, 253, 254, 3, 2, 2, 2, 254, 252, 3, 2, 2, 2, 254, 255, 3, 2, 2, 2, 255, 257, 3, 2, 2, 2, 256, 239, 3, 2, 2, 2, 257, 260, 3, 2, 2, 2, 258, 256, 3, 2, 2, 2, 258, 259, 3, 2, 2, 2, 259, 39, 3, 2, 2, 2, 260, 258, 3, 2, 2, 2, 261, 262, 10, 8, 2, 2, 262, 41, 3, 2, 2, 2, 263, 264, 9, 8, 2, 2, 264, 43, 3, 2, 2, 2, 265, 268, 7, 94, 2, 2, 266, 269, 9, 9, 2, 2, 267, 269, 5, 46, 23, 2, 268, 266, 3, 2, 2, 2, 268, 267, 3, 2, 2, 2, 269, 275, 3, 2, 2, 2, 270, 271, 7, 94, 2, 2, 271, 275, 5, 42, 21, 2, 272, 273, 7, 128, 2, 2, 273, 275, 5, 42, 21, 2, 274, 265, 3, 2, 2, 2, 274, 270, 3, 2, 2, 2, 274, 272, 3, 2, 2, 2, 275, 45, 3, 2, 2, 2, 276, 277, 7, 119, 2, 2, 277, 278, 5, 48, 24, 2, 278, 279, 5, 48, 24, 2, 279, 280, 5, 48, 24, 2, 280, 281, 5, 48, 24, 2, 281, 47, 3, 2, 2, 2, 282, 283, 9, 10, 2, 2, 283, 49, 3, 2, 2, 2, 284, 285, 7, 37, 2, 2, 285, 286, 5, 38, 19, 2, 286, 51, 3, 2, 2, 2, 287, 290, 7, 36, 2, 2, 288, 291, 5, 38, 19, 2, 289, 291, 5, 54, 27, 2, 290, 288, 3, 2, 2, 2, 290, 289, 3, 2, 2, 2, 291, 292, 3, 2, 2, 2, 292, 293, 7, 36, 2, 2, 293, 53, 3, 2, 2, 2, 294, 296, 10, 11, 2, 2, 295, 294, 3, 2, 2, 2, 296, 299, 3, 2, 2, 2, 297, 295, 3, 2, 2, 2, 297, 298, 3, 2, 2, 2, 298, 55, 3, 2, 2, 2, 299, 297, 3, 2, 2, 2, 300, 301, 7, 98, 2, 2, 301, 302, 5, 58, 29, 2, 302, 303, 7, 98, 2, 2, 303, 57, 3, 2, 2, 2, 304, 306, 10, 12, 2, 2, 305, 304, 3, 2, 2, 2, 306, 309, 3, 2, 2, 2, 307, 305, 3, 2, 2, 2, 307, 308, 3, 2, 2, 2, 308, 59, 3, 2, 2, 2, 309, 307, 3, 2, 2, 2, 310, 311, 7, 125, 2, 2, 311, 312, 3, 2, 2, 2, 312, 313, 8, 30, 3, 2, 313, 61, 3, 2, 2, 2, 314, 316, 9, 2, 2, 2, 315, 314, 3, 2, 2, 2, 316, 317, 3, 2, 2, 2, 317, 315, 3, 2, 2, 2, 317, 318, 3, 2, 2, 2, 318, 319, 3, 2, 2, 2, 319, 320, 8, 31, 2, 2, 320, 63, 3, 2, 2, 2, 321, 322, 7, 50, 2, 2, 322, 323, 7, 50, 2, 2, 323, 333, 7, 50, 2, 2, 324, 325, 7, 112, 2, 2, 325, 326, 7, 119, 2, 2, 326, 327, 7, 110, 2, 2, 327, 333, 7, 110, 2, 2, 328, 329, 7, 80, 2, 2, 329, 330, 7, 87, 2, 2, 330, 331, 7, 78, 2, 2, 331, 333, 7, 78, 2, 2, 332, 321, 3, 2, 2, 2, 332, 324, 3, 2, 2, 2, 332, 328, 3, 2, 2, 2, 333, 334, 3, 2, 2, 2, 334, 335, 8, 32, 4, 2, 335, 65, 3, 2, 2, 2, 336, 337, 7, 50, 2, 2, 337, 347, 7, 51, 2, 2, 338, 339, 7, 118, 2, 2, 339, 340, 7, 116, 2, 2, 340, 341, 7, 119, 2, 2, 341, 347, 7, 103, 2, 2, 342, 343, 7, 86, 2, 2, 343, 344, 7, 84, 2, 2, 344, 345, 7, 87, 2, 2, 345, 347, 7, 71, 2, 2, 346, 336, 3, 2, 2, 2, 346, 338, 3, 2, 2, 2, 346, 342, 3, 2, 2, 2, 347, 348, 3, 2, 2, 2, 348, 349, 8, 33, 5, 2, 349, 67, 3, 2, 2, 2, 350, 351, 7, 50, 2, 2, 351, 363, 7, 50, 2, 2, 352, 353, 7, 104, 2, 2, 353, 354, 7, 99, 2, 2, 354, 355, 7, 110, 2, 2, 355, 356, 7, 117, 2, 2, 356, 363, 7, 103, 2, 2, 357, 358, 7, 72, 2, 2, 358, 359, 7, 67, 2, 2, 359, 360, 7, 78, 2, 2, 360, 361, 7, 85, 2, 2, 361, 363, 7, 71, 2, 2, 362, 350, 3, 2, 2, 2, 362, 352, 3, 2, 2, 2, 362, 357, 3, 2, 2, 2, 363, 364, 3, 2, 2, 2, 364, 365, 8, 34, 6, 2, 365, 69, 3, 2, 2, 2, 366, 367, 7, 60, 2, 2, 367, 368, 3, 2, 2, 2, 368, 369, 8, 35, 7, 2, 369, 71, 3, 2, 2, 2, 370, 371, 7, 63, 2, 2, 371, 372, 3, 2, 2, 2, 372, 373, 8, 36, 8, 2, 373, 73, 3, 2, 2, 2, 374, 375, 7, 61, 2, 2, 375, 376, 3, 2, 2, 2, 376, 377, 8, 37, 9, 2, 377, 75, 3, 2, 2, 2, 378, 379, 7, 42, 2, 2, 379, 380, 3, 2, 2, 2, 380, 381, 8, 38, 10, 2, 381, 77, 3, 2, 2, 2, 382, 383, 7, 43, 2, 2, 383, 384, 3, 2, 2, 2, 384, 385, 8, 39, 11, 2, 385, 79, 3, 2, 2, 2, 386, 387, 7, 93, 2, 2, 387, 388, 3, 2, 2, 2, 388, 389, 8, 40, 12, 2, 389, 81, 3, 2, 2, 2, 390, 391, 7, 95, 2, 2, 391, 392, 3, 2, 2, 2, 392, 393, 8, 41, 13, 2, 393, 83, 3, 2, 2, 2, 394, 396, 7, 47, 2, 2, 395, 394, 3, 2, 2, 2, 395, 396, 3, 2, 2, 2, 396, 397, 3, 2, 2, 2, 397, 404, 5, 30, 15, 2, 398, 400, 7, 48, 2, 2, 399, 401, 9, 3, 2, 2, 400, 399, 3, 2, 2, 2, 401, 402, 3, 2, 2, 2, 402, 400, 3, 2, 2, 2, 402, 403, 3, 2, 2, 2, 403, 405, 3, 2, 2, 2, 404, 398, 3, 2, 2, 2, 404, 405, 3, 2, 2, 2, 405, 407, 3, 2, 2, 2, 406, 408, 5, 32, 16, 2, 407, 406, 3, 2, 2, 2, 407, 408, 3, 2, 2, 2, 408, 409, 3, 2, 2, 2, 409, 410, 8, 42, 14, 2, 410, 85, 3, 2, 2, 2, 411, 412, 7, 65, 2, 2, 412, 87, 3, 2, 2, 2, 413, 414, 7, 49, 2, 2, 414, 89, 3, 2, 2, 2, 415, 416, 7, 64, 2, 2, 416, 91, 3, 2, 2, 2, 417, 418, 7, 62, 2, 2, 418, 93, 3, 2, 2, 2, 419, 420, 7, 44, 2, 2, 420, 95, 3, 2, 2, 2, 421, 422, 7, 40, 2, 2, 422, 97, 3, 2, 2, 2, 423, 424, 7, 126, 2, 2, 424, 99, 3, 2, 2, 2, 425, 426, 7, 35, 2, 2, 426, 101, 3, 2, 2, 2, 427, 428, 7, 125, 2, 2, 428, 429, 3, 2, 2, 2, 429, 430, 8, 51, 3, 2, 430, 431, 8, 51, 15, 2, 431, 103, 3, 2, 2, 2, 432, 436, 5, 110, 55, 2, 433, 436, 5, 106, 53, 2, 434, 436, 5, 116, 58, 2, 435, 432, 3, 2, 2, 2, 435, 433, 3, 2, 2, 2, 435, 434, 3, 2, 2, 2, 436, 437, 3, 2, 2, 2, 437, 435, 3, 2, 2, 2, 437, 438, 3, 2, 2, 2, 438, 453, 3, 2, 2, 2, 439, 441, 7, 34, 2, 2, 440, 439, 3, 2, 2, 2, 441, 442, 3, 2, 2, 2, 442, 440, 3, 2, 2, 2, 442, 443, 3, 2, 2, 2, 443, 447, 3, 2, 2, 2, 444, 448, 5, 110, 55, 2, 445, 448, 5, 106, 53, 2, 446, 448, 5, 116, 58, 2, 447, 444, 3, 2, 2, 2, 447, 445, 3, 2, 2, 2, 447, 446, 3, 2, 2, 2, 448, 449, 3, 2, 2, 2, 449, 447, 3, 2, 2, 2, 449, 450, 3, 2, 2, 2, 450, 452, 3, 2, 2, 2, 451, 440, 3, 2, 2, 2, 452, 455, 3, 2, 2, 2, 453, 451, 3, 2, 2, 2, 453, 454, 3, 2, 2, 2, 454, 456, 3, 2, 2, 2, 455, 453, 3, 2, 2, 2, 456, 457, 8, 52, 16, 2, 457, 105, 3, 2, 2, 2, 458, 459, 10, 13, 2, 2, 459, 107, 3, 2, 2, 2, 460, 461, 9, 13, 2, 2, 461, 109, 3, 2, 2, 2, 462, 465, 7, 94, 2, 2, 463, 466, 9, 9, 2, 2, 464, 466, 5, 46, 23, 2, 465, 463, 3, 2, 2, 2, 465, 464, 3, 2, 2, 2, 466, 472, 3, 2, 2, 2, 467, 468, 7, 94, 2, 2, 468, 472, 5, 108, 54, 2, 469, 470, 7, 128, 2, 2, 470, 472, 5, 108, 54, 2, 471, 462, 3, 2, 2, 2, 471, 467, 3, 2, 2, 2, 471, 469, 3, 2, 2, 2, 472, 111, 3, 2, 2, 2, 473, 474, 7, 37, 2, 2, 474, 475, 7, 37, 2, 2, 475, 476, 3, 2, 2, 2, 476, 477, 5, 36, 18, 2, 477, 478, 3, 2, 2, 2, 478, 479, 8, 56, 2, 2, 479, 113, 3, 2, 2, 2, 480, 483, 7, 36, 2, 2, 481, 484, 5, 38, 19, 2, 482, 484, 5, 54, 27, 2, 483, 481, 3, 2, 2, 2, 483, 482, 3, 2, 2, 2, 484, 485, 3, 2, 2, 2, 485, 486, 7, 36, 2, 2, 486, 487, 3, 2, 2, 2, 487, 488, 8, 57, 17, 2, 488, 115, 3, 2, 2, 2, 489, 492, 7, 98, 2, 2, 490, 493, 5, 38, 19, 2, 491, 493, 5, 58, 29, 2, 492, 490, 3, 2, 2, 2, 492, 491, 3, 2, 2, 2, 493, 494, 3, 2, 2, 2, 494, 495, 7, 98, 2, 2, 495, 496, 3, 2, 2, 2, 496, 497, 8, 58, 18, 2, 497, 117, 3, 2, 2, 2, 498, 499, 7, 127, 2, 2, 499, 500, 3, 2, 2, 2, 500, 501, 8, 59, 19, 2, 501, 119, 3, 2, 2, 2, 48, 2, 3, 123, 138, 150, 164, 183, 190, 192, 195, 202, 205, 209, 223, 228, 234, 236, 239, 244, 247, 252, 254, 258, 268, 274, 290, 297, 307, 317, 332, 346, 362, 395, 402, 404, 407, 435, 437, 442, 447, 449, 453, 465, 471, 483, 492, 20, 8, 2, 2, 7, 3, 2, 9, 4, 2, 9, 5, 2, 9, 6, 2, 9, 7, 2, 9, 8, 2, 9, 9, 2, 9, 11, 2, 9, 12, 2, 9, 13, 2, 9, 14, 2, 9, 15, 2, 9, 21, 2, 9, 17, 2, 9, 19, 2, 9, 20, 2, 6, 2, 2]
@@ -0,0 +1,324 @@
1
+ # Generated from MODLLexer.g4 by ANTLR 4.7.2
2
+ require 'antlr4/runtime'
3
+
4
+ module Modl::Parser
5
+
6
+
7
+ class MODLLexer < Antlr4::Runtime::Lexer
8
+
9
+ @_shared_context_cache = Antlr4::Runtime::PredictionContextCache.new
10
+ WS=1
11
+ NULL=2
12
+ TRUE=3
13
+ FALSE=4
14
+ COLON = 5
15
+ EQUALS = 6
16
+ STRUCT_SEP = 7
17
+ ARR_SEP = 8
18
+ LBRAC=9
19
+ RBRAC=10
20
+ LSBRAC=11
21
+ RSBRAC=12
22
+ NUMBER=13
23
+ COMMENT=14
24
+ STRING=15
25
+ HASH_PREFIX=16
26
+ QUOTED=17
27
+ GRAVED=18
28
+ LCBRAC=19
29
+ CWS=20
30
+ QMARK=21
31
+ FSLASH=22
32
+ GTHAN=23
33
+ LTHAN=24
34
+ ASTERISK=25
35
+ AMP=26
36
+ PIPE=27
37
+ EXCLAM=28
38
+ CCOMMENT=29
39
+ RCBRAC=30
40
+ CONDITIONAL=1
41
+ @@channelNames = [
42
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
43
+ ]
44
+
45
+ @@modeNames = [
46
+ "DEFAULT_MODE", "CONDITIONAL"
47
+ ]
48
+
49
+ @@ruleNames = [
50
+ "WS", "NULL", "TRUE", "FALSE", "COLON", "EQUALS", "STRUCT_SEP", "ARR_SEP",
51
+ "LBRAC", "RBRAC", "LSBRAC", "RSBRAC", "NUMBER", "INT", "EXP", "COMMENT",
52
+ "INSIDE_COMMENT", "STRING", "UNRESERVED", "RESERVED_CHARS", "ESCAPED",
53
+ "UNICODE", "HEX", "HASH_PREFIX", "QUOTED", "INSIDE_QUOTES", "GRAVED",
54
+ "INSIDE_GRAVES", "LCBRAC", "CWS", "CNULL", "CTRUE", "CFALSE", "CCOLON",
55
+ "CEQUALS", "CSTRUCT_SEP", "CLBRAC", "CRBRAC", "CLSBRAC", "CRSBRAC", "CNUMBER",
56
+ "QMARK", "FSLASH", "GTHAN", "LTHAN", "ASTERISK", "AMP", "PIPE", "EXCLAM",
57
+ "CLCBRAC", "CSTRING", "CUNRESERVED", "CRESERVED_CHARS", "CESCAPED", "CCOMMENT",
58
+ "CQUOTED", "CGRAVED", "RCBRAC"
59
+ ]
60
+
61
+ @@_LITERAL_NAMES = [
62
+ nil, nil, nil, nil, nil, nil, nil, nil, "','", nil, nil, nil, nil, nil,
63
+ nil, nil, nil, nil, nil, "'{'", nil, "'?'", "'/'", "'>'", "'<'", "'*'",
64
+ "'&'", "'|'", "'!'", nil, "'}'"
65
+ ]
66
+
67
+ @@_SYMBOLIC_NAMES = [
68
+ nil, "WS", "NULL", "TRUE", "FALSE", "COLON", "EQUALS", "STRUCT_SEP",
69
+ "ARR_SEP", "LBRAC", "RBRAC", "LSBRAC", "RSBRAC", "NUMBER", "COMMENT",
70
+ "STRING", "HASH_PREFIX", "QUOTED", "GRAVED", "LCBRAC", "CWS", "QMARK",
71
+ "FSLASH", "GTHAN", "LTHAN", "ASTERISK", "AMP", "PIPE", "EXCLAM", "CCOMMENT",
72
+ "RCBRAC"
73
+ ]
74
+
75
+ @@VOCABULARY = Antlr4::Runtime::VocabularyImpl.new(@@_LITERAL_NAMES, @@_SYMBOLIC_NAMES)
76
+
77
+ def get_vocabulary
78
+ @@VOCABULARY
79
+ end
80
+
81
+
82
+ @@_serializedATN = ["\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
83
+ "\2 \u01f6\b\1\b\1\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",
84
+ "\b\t\b\4\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",
85
+ "\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t",
86
+ "\26\4\27\t\27\4\30\t\30\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35",
87
+ "\t\35\4\36\t\36\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&",
88
+ "\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4/\t/\4\60\t",
89
+ "\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64\4\65\t\65\4\66\t\66\4\67",
90
+ "\t\67\48\t8\49\t9\4:\t:\4;\t;\3\2\6\2z\n\2\r\2\16\2{\3\2\3\2\3\3\3",
91
+ "\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3\u008b\n\3\3\4\3\4\3\4\3",
92
+ "\4\3\4\3\4\3\4\3\4\3\4\3\4\5\4\u0097\n\4\3\5\3\5\3\5\3\5\3\5\3\5\3",
93
+ "\5\3\5\3\5\3\5\3\5\3\5\5\5\u00a5\n\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3",
94
+ "\t\3\n\3\n\3\13\3\13\3\f\3\f\3\r\3\r\3\16\5\16\u00b8\n\16\3\16\3\16",
95
+ "\3\16\6\16\u00bd\n\16\r\16\16\16\u00be\5\16\u00c1\n\16\3\16\5\16\u00c4",
96
+ "\n\16\3\17\3\17\3\17\7\17\u00c9\n\17\f\17\16\17\u00cc\13\17\5\17\u00ce",
97
+ "\n\17\3\20\3\20\5\20\u00d2\n\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21",
98
+ "\3\21\3\21\3\22\7\22\u00de\n\22\f\22\16\22\u00e1\13\22\3\23\3\23\5",
99
+ "\23\u00e5\n\23\3\23\3\23\3\23\3\23\6\23\u00eb\n\23\r\23\16\23\u00ec",
100
+ "\3\23\5\23\u00f0\n\23\3\23\6\23\u00f3\n\23\r\23\16\23\u00f4\3\23\5",
101
+ "\23\u00f8\n\23\3\23\3\23\3\23\6\23\u00fd\n\23\r\23\16\23\u00fe\7\23",
102
+ "\u0101\n\23\f\23\16\23\u0104\13\23\3\24\3\24\3\25\3\25\3\26\3\26\3",
103
+ "\26\5\26\u010d\n\26\3\26\3\26\3\26\3\26\5\26\u0113\n\26\3\27\3\27\3",
104
+ "\27\3\27\3\27\3\27\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\32\5\32\u0123",
105
+ "\n\32\3\32\3\32\3\33\7\33\u0128\n\33\f\33\16\33\u012b\13\33\3\34\3",
106
+ "\34\3\34\3\34\3\35\7\35\u0132\n\35\f\35\16\35\u0135\13\35\3\36\3\36",
107
+ "\3\36\3\36\3\37\6\37\u013c\n\37\r\37\16\37\u013d\3\37\3\37\3 \3 \3",
108
+ " \3 \3 \3 \3 \3 \3 \3 \3 \5 \u014d\n \3 \3 \3!\3!\3!\3!\3!\3!\3!\3",
109
+ "!\3!\3!\5!\u015b\n!\3!\3!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3",
110
+ "\"\3\"\5\"\u016b\n\"\3\"\3\"\3#\3#\3#\3#\3$\3$\3$\3$\3%\3%\3%\3%\3",
111
+ "&\3&\3&\3&\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3)\3)\3)\3)\3*\5*\u018c\n*\3",
112
+ "*\3*\3*\6*\u0191\n*\r*\16*\u0192\5*\u0195\n*\3*\5*\u0198\n*\3*\3*\3",
113
+ "+\3+\3,\3,\3-\3-\3.\3.\3/\3/\3\60\3\60\3\61\3\61\3\62\3\62\3\63\3\63",
114
+ "\3\63\3\63\3\63\3\64\3\64\3\64\6\64\u01b4\n\64\r\64\16\64\u01b5\3\64",
115
+ "\6\64\u01b9\n\64\r\64\16\64\u01ba\3\64\3\64\3\64\6\64\u01c0\n\64\r",
116
+ "\64\16\64\u01c1\7\64\u01c4\n\64\f\64\16\64\u01c7\13\64\3\64\3\64\3",
117
+ "\65\3\65\3\66\3\66\3\67\3\67\3\67\5\67\u01d2\n\67\3\67\3\67\3\67\3",
118
+ "\67\5\67\u01d8\n\67\38\38\38\38\38\38\38\39\39\39\59\u01e4\n9\39\3",
119
+ "9\39\39\3:\3:\3:\5:\u01ed\n:\3:\3:\3:\3:\3;\3;\3;\3;\2\2<\4\3\6\4\b",
120
+ "\5\n\6\f\7\16\b\20\t\22\n\24\13\26\f\30\r\32\16\34\17\36\2 \2\"\20",
121
+ "$\2&\21(\2*\2,\2.\2\60\2\62\22\64\23\66\28\24:\2<\25>\26@\2B\2D\2F",
122
+ "\2H\2J\2L\2N\2P\2R\2T\2V\27X\30Z\31\\\32^\33`\34b\35d\36f\2h\2j\2l",
123
+ "\2n\2p\37r\2t\2v \4\2\3\16\5\2\13\f\17\17\"\"\3\2\62;\3\2\63;\4\2G",
124
+ "Ggg\4\2--//\4\2\f\f\17\17\16\2\n\f\16\17\"\"$%*+<=??]]__bb}}\177\177",
125
+ "\t\2\61\61^^ddhhppttvv\5\2\62;CHch\3\2$$\3\2bb\r\2\n\f\16\17\"%((*",
126
+ "+\61\61<A]]__bb}\177\2\u0220\2\4\3\2\2\2\2\6\3\2\2\2\2\b\3\2\2\2\2",
127
+ "\n\3\2\2\2\2\f\3\2\2\2\2\16\3\2\2\2\2\20\3\2\2\2\2\22\3\2\2\2\2\24",
128
+ "\3\2\2\2\2\26\3\2\2\2\2\30\3\2\2\2\2\32\3\2\2\2\2\34\3\2\2\2\2\"\3",
129
+ "\2\2\2\2&\3\2\2\2\2\62\3\2\2\2\2\64\3\2\2\2\28\3\2\2\2\2<\3\2\2\2\3",
130
+ ">\3\2\2\2\3@\3\2\2\2\3B\3\2\2\2\3D\3\2\2\2\3F\3\2\2\2\3H\3\2\2\2\3",
131
+ "J\3\2\2\2\3L\3\2\2\2\3N\3\2\2\2\3P\3\2\2\2\3R\3\2\2\2\3T\3\2\2\2\3",
132
+ "V\3\2\2\2\3X\3\2\2\2\3Z\3\2\2\2\3\\\3\2\2\2\3^\3\2\2\2\3`\3\2\2\2\3",
133
+ "b\3\2\2\2\3d\3\2\2\2\3f\3\2\2\2\3h\3\2\2\2\3p\3\2\2\2\3r\3\2\2\2\3",
134
+ "t\3\2\2\2\3v\3\2\2\2\4y\3\2\2\2\6\u008a\3\2\2\2\b\u0096\3\2\2\2\n\u00a4",
135
+ "\3\2\2\2\f\u00a6\3\2\2\2\16\u00a8\3\2\2\2\20\u00aa\3\2\2\2\22\u00ac",
136
+ "\3\2\2\2\24\u00ae\3\2\2\2\26\u00b0\3\2\2\2\30\u00b2\3\2\2\2\32\u00b4",
137
+ "\3\2\2\2\34\u00b7\3\2\2\2\36\u00cd\3\2\2\2 \u00cf\3\2\2\2\"\u00d5\3",
138
+ "\2\2\2$\u00df\3\2\2\2&\u00e4\3\2\2\2(\u0105\3\2\2\2*\u0107\3\2\2\2",
139
+ ",\u0112\3\2\2\2.\u0114\3\2\2\2\60\u011a\3\2\2\2\62\u011c\3\2\2\2\64",
140
+ "\u011f\3\2\2\2\66\u0129\3\2\2\28\u012c\3\2\2\2:\u0133\3\2\2\2<\u0136",
141
+ "\3\2\2\2>\u013b\3\2\2\2@\u014c\3\2\2\2B\u015a\3\2\2\2D\u016a\3\2\2",
142
+ "\2F\u016e\3\2\2\2H\u0172\3\2\2\2J\u0176\3\2\2\2L\u017a\3\2\2\2N\u017e",
143
+ "\3\2\2\2P\u0182\3\2\2\2R\u0186\3\2\2\2T\u018b\3\2\2\2V\u019b\3\2\2",
144
+ "\2X\u019d\3\2\2\2Z\u019f\3\2\2\2\\\u01a1\3\2\2\2^\u01a3\3\2\2\2`\u01a5",
145
+ "\3\2\2\2b\u01a7\3\2\2\2d\u01a9\3\2\2\2f\u01ab\3\2\2\2h\u01b3\3\2\2",
146
+ "\2j\u01ca\3\2\2\2l\u01cc\3\2\2\2n\u01d7\3\2\2\2p\u01d9\3\2\2\2r\u01e0",
147
+ "\3\2\2\2t\u01e9\3\2\2\2v\u01f2\3\2\2\2xz\t\2\2\2yx\3\2\2\2z{\3\2\2",
148
+ "\2{y\3\2\2\2{|\3\2\2\2|}\3\2\2\2}~\b\2\2\2~\5\3\2\2\2\177\u0080\7\62",
149
+ "\2\2\u0080\u0081\7\62\2\2\u0081\u008b\7\62\2\2\u0082\u0083\7p\2\2\u0083",
150
+ "\u0084\7w\2\2\u0084\u0085\7n\2\2\u0085\u008b\7n\2\2\u0086\u0087\7P",
151
+ "\2\2\u0087\u0088\7W\2\2\u0088\u0089\7N\2\2\u0089\u008b\7N\2\2\u008a",
152
+ "\177\3\2\2\2\u008a\u0082\3\2\2\2\u008a\u0086\3\2\2\2\u008b\7\3\2\2",
153
+ "\2\u008c\u008d\7\62\2\2\u008d\u0097\7\63\2\2\u008e\u008f\7v\2\2\u008f",
154
+ "\u0090\7t\2\2\u0090\u0091\7w\2\2\u0091\u0097\7g\2\2\u0092\u0093\7V",
155
+ "\2\2\u0093\u0094\7T\2\2\u0094\u0095\7W\2\2\u0095\u0097\7G\2\2\u0096",
156
+ "\u008c\3\2\2\2\u0096\u008e\3\2\2\2\u0096\u0092\3\2\2\2\u0097\t\3\2",
157
+ "\2\2\u0098\u0099\7\62\2\2\u0099\u00a5\7\62\2\2\u009a\u009b\7h\2\2\u009b",
158
+ "\u009c\7c\2\2\u009c\u009d\7n\2\2\u009d\u009e\7u\2\2\u009e\u00a5\7g",
159
+ "\2\2\u009f\u00a0\7H\2\2\u00a0\u00a1\7C\2\2\u00a1\u00a2\7N\2\2\u00a2",
160
+ "\u00a3\7U\2\2\u00a3\u00a5\7G\2\2\u00a4\u0098\3\2\2\2\u00a4\u009a\3",
161
+ "\2\2\2\u00a4\u009f\3\2\2\2\u00a5\13\3\2\2\2\u00a6\u00a7\7<\2\2\u00a7",
162
+ "\r\3\2\2\2\u00a8\u00a9\7?\2\2\u00a9\17\3\2\2\2\u00aa\u00ab\7=\2\2\u00ab",
163
+ "\21\3\2\2\2\u00ac\u00ad\7.\2\2\u00ad\23\3\2\2\2\u00ae\u00af\7*\2\2",
164
+ "\u00af\25\3\2\2\2\u00b0\u00b1\7+\2\2\u00b1\27\3\2\2\2\u00b2\u00b3\7",
165
+ "]\2\2\u00b3\31\3\2\2\2\u00b4\u00b5\7_\2\2\u00b5\33\3\2\2\2\u00b6\u00b8",
166
+ "\7/\2\2\u00b7\u00b6\3\2\2\2\u00b7\u00b8\3\2\2\2\u00b8\u00b9\3\2\2\2",
167
+ "\u00b9\u00c0\5\36\17\2\u00ba\u00bc\7\60\2\2\u00bb\u00bd\t\3\2\2\u00bc",
168
+ "\u00bb\3\2\2\2\u00bd\u00be\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf",
169
+ "\3\2\2\2\u00bf\u00c1\3\2\2\2\u00c0\u00ba\3\2\2\2\u00c0\u00c1\3\2\2",
170
+ "\2\u00c1\u00c3\3\2\2\2\u00c2\u00c4\5 \20\2\u00c3\u00c2\3\2\2\2\u00c3",
171
+ "\u00c4\3\2\2\2\u00c4\35\3\2\2\2\u00c5\u00ce\7\62\2\2\u00c6\u00ca\t",
172
+ "\4\2\2\u00c7\u00c9\t\3\2\2\u00c8\u00c7\3\2\2\2\u00c9\u00cc\3\2\2\2",
173
+ "\u00ca\u00c8\3\2\2\2\u00ca\u00cb\3\2\2\2\u00cb\u00ce\3\2\2\2\u00cc",
174
+ "\u00ca\3\2\2\2\u00cd\u00c5\3\2\2\2\u00cd\u00c6\3\2\2\2\u00ce\37\3\2",
175
+ "\2\2\u00cf\u00d1\t\5\2\2\u00d0\u00d2\t\6\2\2\u00d1\u00d0\3\2\2\2\u00d1",
176
+ "\u00d2\3\2\2\2\u00d2\u00d3\3\2\2\2\u00d3\u00d4\5\36\17\2\u00d4!\3\2",
177
+ "\2\2\u00d5\u00d6\7%\2\2\u00d6\u00d7\7%\2\2\u00d7\u00d8\3\2\2\2\u00d8",
178
+ "\u00d9\5$\22\2\u00d9\u00da\3\2\2\2\u00da\u00db\b\21\2\2\u00db#\3\2",
179
+ "\2\2\u00dc\u00de\n\7\2\2\u00dd\u00dc\3\2\2\2\u00de\u00e1\3\2\2\2\u00df",
180
+ "\u00dd\3\2\2\2\u00df\u00e0\3\2\2\2\u00e0%\3\2\2\2\u00e1\u00df\3\2\2",
181
+ "\2\u00e2\u00e3\7%\2\2\u00e3\u00e5\7\"\2\2\u00e4\u00e2\3\2\2\2\u00e4",
182
+ "\u00e5\3\2\2\2\u00e5\u00ea\3\2\2\2\u00e6\u00eb\5,\26\2\u00e7\u00eb",
183
+ "\5(\24\2\u00e8\u00eb\58\34\2\u00e9\u00eb\5\62\31\2\u00ea\u00e6\3\2",
184
+ "\2\2\u00ea\u00e7\3\2\2\2\u00ea\u00e8\3\2\2\2\u00ea\u00e9\3\2\2\2\u00eb",
185
+ "\u00ec\3\2\2\2\u00ec\u00ea\3\2\2\2\u00ec\u00ed\3\2\2\2\u00ed\u0102",
186
+ "\3\2\2\2\u00ee\u00f0\7%\2\2\u00ef\u00ee\3\2\2\2\u00ef\u00f0\3\2\2\2",
187
+ "\u00f0\u00f2\3\2\2\2\u00f1\u00f3\7\"\2\2\u00f2\u00f1\3\2\2\2\u00f3",
188
+ "\u00f4\3\2\2\2\u00f4\u00f2\3\2\2\2\u00f4\u00f5\3\2\2\2\u00f5\u00f7",
189
+ "\3\2\2\2\u00f6\u00f8\7%\2\2\u00f7\u00f6\3\2\2\2\u00f7\u00f8\3\2\2\2",
190
+ "\u00f8\u00fc\3\2\2\2\u00f9\u00fd\5,\26\2\u00fa\u00fd\5(\24\2\u00fb",
191
+ "\u00fd\58\34\2\u00fc\u00f9\3\2\2\2\u00fc\u00fa\3\2\2\2\u00fc\u00fb",
192
+ "\3\2\2\2\u00fd\u00fe\3\2\2\2\u00fe\u00fc\3\2\2\2\u00fe\u00ff\3\2\2",
193
+ "\2\u00ff\u0101\3\2\2\2\u0100\u00ef\3\2\2\2\u0101\u0104\3\2\2\2\u0102",
194
+ "\u0100\3\2\2\2\u0102\u0103\3\2\2\2\u0103\'\3\2\2\2\u0104\u0102\3\2",
195
+ "\2\2\u0105\u0106\n\b\2\2\u0106)\3\2\2\2\u0107\u0108\t\b\2\2\u0108+",
196
+ "\3\2\2\2\u0109\u010c\7^\2\2\u010a\u010d\t\t\2\2\u010b\u010d\5.\27\2",
197
+ "\u010c\u010a\3\2\2\2\u010c\u010b\3\2\2\2\u010d\u0113\3\2\2\2\u010e",
198
+ "\u010f\7^\2\2\u010f\u0113\5*\25\2\u0110\u0111\7\u0080\2\2\u0111\u0113",
199
+ "\5*\25\2\u0112\u0109\3\2\2\2\u0112\u010e\3\2\2\2\u0112\u0110\3\2\2",
200
+ "\2\u0113-\3\2\2\2\u0114\u0115\7w\2\2\u0115\u0116\5\60\30\2\u0116\u0117",
201
+ "\5\60\30\2\u0117\u0118\5\60\30\2\u0118\u0119\5\60\30\2\u0119/\3\2\2",
202
+ "\2\u011a\u011b\t\n\2\2\u011b\61\3\2\2\2\u011c\u011d\7%\2\2\u011d\u011e",
203
+ "\5&\23\2\u011e\63\3\2\2\2\u011f\u0122\7$\2\2\u0120\u0123\5&\23\2\u0121",
204
+ "\u0123\5\66\33\2\u0122\u0120\3\2\2\2\u0122\u0121\3\2\2\2\u0123\u0124",
205
+ "\3\2\2\2\u0124\u0125\7$\2\2\u0125\65\3\2\2\2\u0126\u0128\n\13\2\2\u0127",
206
+ "\u0126\3\2\2\2\u0128\u012b\3\2\2\2\u0129\u0127\3\2\2\2\u0129\u012a",
207
+ "\3\2\2\2\u012a\67\3\2\2\2\u012b\u0129\3\2\2\2\u012c\u012d\7b\2\2\u012d",
208
+ "\u012e\5:\35\2\u012e\u012f\7b\2\2\u012f9\3\2\2\2\u0130\u0132\n\f\2",
209
+ "\2\u0131\u0130\3\2\2\2\u0132\u0135\3\2\2\2\u0133\u0131\3\2\2\2\u0133",
210
+ "\u0134\3\2\2\2\u0134;\3\2\2\2\u0135\u0133\3\2\2\2\u0136\u0137\7}\2",
211
+ "\2\u0137\u0138\3\2\2\2\u0138\u0139\b\36\3\2\u0139=\3\2\2\2\u013a\u013c",
212
+ "\t\2\2\2\u013b\u013a\3\2\2\2\u013c\u013d\3\2\2\2\u013d\u013b\3\2\2",
213
+ "\2\u013d\u013e\3\2\2\2\u013e\u013f\3\2\2\2\u013f\u0140\b\37\2\2\u0140",
214
+ "?\3\2\2\2\u0141\u0142\7\62\2\2\u0142\u0143\7\62\2\2\u0143\u014d\7\62",
215
+ "\2\2\u0144\u0145\7p\2\2\u0145\u0146\7w\2\2\u0146\u0147\7n\2\2\u0147",
216
+ "\u014d\7n\2\2\u0148\u0149\7P\2\2\u0149\u014a\7W\2\2\u014a\u014b\7N",
217
+ "\2\2\u014b\u014d\7N\2\2\u014c\u0141\3\2\2\2\u014c\u0144\3\2\2\2\u014c",
218
+ "\u0148\3\2\2\2\u014d\u014e\3\2\2\2\u014e\u014f\b \4\2\u014fA\3\2\2",
219
+ "\2\u0150\u0151\7\62\2\2\u0151\u015b\7\63\2\2\u0152\u0153\7v\2\2\u0153",
220
+ "\u0154\7t\2\2\u0154\u0155\7w\2\2\u0155\u015b\7g\2\2\u0156\u0157\7V",
221
+ "\2\2\u0157\u0158\7T\2\2\u0158\u0159\7W\2\2\u0159\u015b\7G\2\2\u015a",
222
+ "\u0150\3\2\2\2\u015a\u0152\3\2\2\2\u015a\u0156\3\2\2\2\u015b\u015c",
223
+ "\3\2\2\2\u015c\u015d\b!\5\2\u015dC\3\2\2\2\u015e\u015f\7\62\2\2\u015f",
224
+ "\u016b\7\62\2\2\u0160\u0161\7h\2\2\u0161\u0162\7c\2\2\u0162\u0163\7",
225
+ "n\2\2\u0163\u0164\7u\2\2\u0164\u016b\7g\2\2\u0165\u0166\7H\2\2\u0166",
226
+ "\u0167\7C\2\2\u0167\u0168\7N\2\2\u0168\u0169\7U\2\2\u0169\u016b\7G",
227
+ "\2\2\u016a\u015e\3\2\2\2\u016a\u0160\3\2\2\2\u016a\u0165\3\2\2\2\u016b",
228
+ "\u016c\3\2\2\2\u016c\u016d\b\"\6\2\u016dE\3\2\2\2\u016e\u016f\7<\2",
229
+ "\2\u016f\u0170\3\2\2\2\u0170\u0171\b#\7\2\u0171G\3\2\2\2\u0172\u0173",
230
+ "\7?\2\2\u0173\u0174\3\2\2\2\u0174\u0175\b$\b\2\u0175I\3\2\2\2\u0176",
231
+ "\u0177\7=\2\2\u0177\u0178\3\2\2\2\u0178\u0179\b%\t\2\u0179K\3\2\2\2",
232
+ "\u017a\u017b\7*\2\2\u017b\u017c\3\2\2\2\u017c\u017d\b&\n\2\u017dM\3",
233
+ "\2\2\2\u017e\u017f\7+\2\2\u017f\u0180\3\2\2\2\u0180\u0181\b\'\13\2",
234
+ "\u0181O\3\2\2\2\u0182\u0183\7]\2\2\u0183\u0184\3\2\2\2\u0184\u0185",
235
+ "\b(\f\2\u0185Q\3\2\2\2\u0186\u0187\7_\2\2\u0187\u0188\3\2\2\2\u0188",
236
+ "\u0189\b)\r\2\u0189S\3\2\2\2\u018a\u018c\7/\2\2\u018b\u018a\3\2\2\2",
237
+ "\u018b\u018c\3\2\2\2\u018c\u018d\3\2\2\2\u018d\u0194\5\36\17\2\u018e",
238
+ "\u0190\7\60\2\2\u018f\u0191\t\3\2\2\u0190\u018f\3\2\2\2\u0191\u0192",
239
+ "\3\2\2\2\u0192\u0190\3\2\2\2\u0192\u0193\3\2\2\2\u0193\u0195\3\2\2",
240
+ "\2\u0194\u018e\3\2\2\2\u0194\u0195\3\2\2\2\u0195\u0197\3\2\2\2\u0196",
241
+ "\u0198\5 \20\2\u0197\u0196\3\2\2\2\u0197\u0198\3\2\2\2\u0198\u0199",
242
+ "\3\2\2\2\u0199\u019a\b*\16\2\u019aU\3\2\2\2\u019b\u019c\7A\2\2\u019c",
243
+ "W\3\2\2\2\u019d\u019e\7\61\2\2\u019eY\3\2\2\2\u019f\u01a0\7@\2\2\u01a0",
244
+ "[\3\2\2\2\u01a1\u01a2\7>\2\2\u01a2]\3\2\2\2\u01a3\u01a4\7,\2\2\u01a4",
245
+ "_\3\2\2\2\u01a5\u01a6\7(\2\2\u01a6a\3\2\2\2\u01a7\u01a8\7~\2\2\u01a8",
246
+ "c\3\2\2\2\u01a9\u01aa\7#\2\2\u01aae\3\2\2\2\u01ab\u01ac\7}\2\2\u01ac",
247
+ "\u01ad\3\2\2\2\u01ad\u01ae\b\63\3\2\u01ae\u01af\b\63\17\2\u01afg\3",
248
+ "\2\2\2\u01b0\u01b4\5n\67\2\u01b1\u01b4\5j\65\2\u01b2\u01b4\5t:\2\u01b3",
249
+ "\u01b0\3\2\2\2\u01b3\u01b1\3\2\2\2\u01b3\u01b2\3\2\2\2\u01b4\u01b5",
250
+ "\3\2\2\2\u01b5\u01b3\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u01c5\3\2\2",
251
+ "\2\u01b7\u01b9\7\"\2\2\u01b8\u01b7\3\2\2\2\u01b9\u01ba\3\2\2\2\u01ba",
252
+ "\u01b8\3\2\2\2\u01ba\u01bb\3\2\2\2\u01bb\u01bf\3\2\2\2\u01bc\u01c0",
253
+ "\5n\67\2\u01bd\u01c0\5j\65\2\u01be\u01c0\5t:\2\u01bf\u01bc\3\2\2\2",
254
+ "\u01bf\u01bd\3\2\2\2\u01bf\u01be\3\2\2\2\u01c0\u01c1\3\2\2\2\u01c1",
255
+ "\u01bf\3\2\2\2\u01c1\u01c2\3\2\2\2\u01c2\u01c4\3\2\2\2\u01c3\u01b8",
256
+ "\3\2\2\2\u01c4\u01c7\3\2\2\2\u01c5\u01c3\3\2\2\2\u01c5\u01c6\3\2\2",
257
+ "\2\u01c6\u01c8\3\2\2\2\u01c7\u01c5\3\2\2\2\u01c8\u01c9\b\64\20\2\u01c9",
258
+ "i\3\2\2\2\u01ca\u01cb\n\r\2\2\u01cbk\3\2\2\2\u01cc\u01cd\t\r\2\2\u01cd",
259
+ "m\3\2\2\2\u01ce\u01d1\7^\2\2\u01cf\u01d2\t\t\2\2\u01d0\u01d2\5.\27",
260
+ "\2\u01d1\u01cf\3\2\2\2\u01d1\u01d0\3\2\2\2\u01d2\u01d8\3\2\2\2\u01d3",
261
+ "\u01d4\7^\2\2\u01d4\u01d8\5l\66\2\u01d5\u01d6\7\u0080\2\2\u01d6\u01d8",
262
+ "\5l\66\2\u01d7\u01ce\3\2\2\2\u01d7\u01d3\3\2\2\2\u01d7\u01d5\3\2\2",
263
+ "\2\u01d8o\3\2\2\2\u01d9\u01da\7%\2\2\u01da\u01db\7%\2\2\u01db\u01dc",
264
+ "\3\2\2\2\u01dc\u01dd\5$\22\2\u01dd\u01de\3\2\2\2\u01de\u01df\b8\2\2",
265
+ "\u01dfq\3\2\2\2\u01e0\u01e3\7$\2\2\u01e1\u01e4\5&\23\2\u01e2\u01e4",
266
+ "\5\66\33\2\u01e3\u01e1\3\2\2\2\u01e3\u01e2\3\2\2\2\u01e4\u01e5\3\2",
267
+ "\2\2\u01e5\u01e6\7$\2\2\u01e6\u01e7\3\2\2\2\u01e7\u01e8\b9\21\2\u01e8",
268
+ "s\3\2\2\2\u01e9\u01ec\7b\2\2\u01ea\u01ed\5&\23\2\u01eb\u01ed\5:\35",
269
+ "\2\u01ec\u01ea\3\2\2\2\u01ec\u01eb\3\2\2\2\u01ed\u01ee\3\2\2\2\u01ee",
270
+ "\u01ef\7b\2\2\u01ef\u01f0\3\2\2\2\u01f0\u01f1\b:\22\2\u01f1u\3\2\2",
271
+ "\2\u01f2\u01f3\7\177\2\2\u01f3\u01f4\3\2\2\2\u01f4\u01f5\b;\23\2\u01f5",
272
+ "w\3\2\2\2\60\2\3{\u008a\u0096\u00a4\u00b7\u00be\u00c0\u00c3\u00ca\u00cd",
273
+ "\u00d1\u00df\u00e4\u00ea\u00ec\u00ef\u00f4\u00f7\u00fc\u00fe\u0102",
274
+ "\u010c\u0112\u0122\u0129\u0133\u013d\u014c\u015a\u016a\u018b\u0192",
275
+ "\u0194\u0197\u01b3\u01b5\u01ba\u01bf\u01c1\u01c5\u01d1\u01d7\u01e3",
276
+ "\u01ec\24\b\2\2\7\3\2\t\4\2\t\5\2\t\6\2\t\7\2\t\b\2\t\t\2\t\13\2\t",
277
+ "\f\2\t\r\2\t\16\2\t\17\2\t\25\2\t\21\2\t\23\2\t\24\2\6\2\2"].join("")
278
+
279
+ @@_ATN = Antlr4::Runtime::ATNDeserializer.new().deserialize(@@_serializedATN)
280
+
281
+
282
+ class << self
283
+ @@_decisionToDFA = []
284
+ end
285
+
286
+ def initialize(input)
287
+ super(input)
288
+
289
+ i = 0
290
+ while i < @@_ATN.number_of_decisions()
291
+ @@_decisionToDFA[i] = Antlr4::Runtime::DFA.new(@@_ATN.decision_state(i), i)
292
+ i+=1
293
+ end
294
+
295
+ @_interp = Antlr4::Runtime::LexerATNSimulator.new(self,@@_ATN,@@_decisionToDFA,@_sharedContextCache)
296
+ end
297
+
298
+ def getGrammarFileName()
299
+ return "MODLLexer.g4"
300
+ end
301
+
302
+ def rule_names()
303
+ return @@ruleNames
304
+ end
305
+
306
+ def serialized_atn()
307
+ return @@_serializedATN
308
+ end
309
+
310
+ def channel_names()
311
+ return @@channelNames
312
+ end
313
+
314
+ def mode_names()
315
+ return @@modeNames
316
+ end
317
+
318
+ def atn()
319
+ return @@_ATN
320
+ end
321
+
322
+ end
323
+
324
+ end