yini-parser 1.0.2-beta → 1.2.0-beta

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 (103) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +83 -98
  3. package/dist/YINI.d.ts +162 -23
  4. package/dist/YINI.js +183 -99
  5. package/dist/YINI.js.map +1 -0
  6. package/dist/config/env.js +1 -0
  7. package/dist/config/env.js.map +1 -0
  8. package/dist/core/astBuilder.d.ts +191 -0
  9. package/dist/core/astBuilder.js +840 -0
  10. package/dist/core/astBuilder.js.map +1 -0
  11. package/dist/core/{ErrorDataHandler.d.ts → errorDataHandler.d.ts} +21 -19
  12. package/dist/core/errorDataHandler.js +271 -0
  13. package/dist/core/errorDataHandler.js.map +1 -0
  14. package/dist/core/internalTypes.d.ts +121 -0
  15. package/dist/core/internalTypes.js +16 -0
  16. package/dist/core/internalTypes.js.map +1 -0
  17. package/dist/core/objectBuilder.d.ts +10 -4
  18. package/dist/core/objectBuilder.js +127 -163
  19. package/dist/core/objectBuilder.js.map +1 -0
  20. package/dist/core/options/failLevel.d.ts +3 -0
  21. package/dist/core/options/failLevel.js +27 -0
  22. package/dist/core/options/failLevel.js.map +1 -0
  23. package/dist/core/options/normalizeOptions.d.ts +5 -0
  24. package/dist/core/options/normalizeOptions.js +53 -0
  25. package/dist/core/options/normalizeOptions.js.map +1 -0
  26. package/dist/core/options/parserOptionsConstants.d.ts +7 -0
  27. package/dist/core/options/parserOptionsConstants.js +37 -0
  28. package/dist/core/options/parserOptionsConstants.js.map +1 -0
  29. package/dist/core/pipeline.d.ts +18 -0
  30. package/dist/core/pipeline.js +323 -0
  31. package/dist/core/pipeline.js.map +1 -0
  32. package/dist/core/resultMetadataBuilder.d.ts +19 -0
  33. package/dist/core/resultMetadataBuilder.js +166 -0
  34. package/dist/core/resultMetadataBuilder.js.map +1 -0
  35. package/dist/core/runtime.d.ts +17 -0
  36. package/dist/core/runtime.js +189 -0
  37. package/dist/core/runtime.js.map +1 -0
  38. package/dist/dev/main.d.ts +1 -0
  39. package/dist/dev/main.js +374 -0
  40. package/dist/dev/main.js.map +1 -0
  41. package/dist/grammar/generated/YiniLexer.d.ts +74 -0
  42. package/dist/grammar/generated/YiniLexer.js +415 -0
  43. package/dist/grammar/generated/YiniLexer.js.map +1 -0
  44. package/dist/grammar/{YiniParser.d.ts → generated/YiniParser.d.ts} +167 -150
  45. package/dist/grammar/{YiniParser.js → generated/YiniParser.js} +1242 -1202
  46. package/dist/grammar/generated/YiniParser.js.map +1 -0
  47. package/dist/grammar/{YiniParserVisitor.d.ts → generated/YiniParserVisitor.d.ts} +59 -45
  48. package/dist/grammar/{YiniParserVisitor.js → generated/YiniParserVisitor.js} +2 -1
  49. package/dist/grammar/generated/YiniParserVisitor.js.map +1 -0
  50. package/dist/index.d.ts +43 -2
  51. package/dist/index.js +62 -101
  52. package/dist/index.js.map +1 -0
  53. package/dist/parsers/extractHeaderParts.d.ts +4 -3
  54. package/dist/parsers/extractHeaderParts.js +3 -1
  55. package/dist/parsers/extractHeaderParts.js.map +1 -0
  56. package/dist/parsers/extractSignificantYiniLine.js +2 -1
  57. package/dist/parsers/extractSignificantYiniLine.js.map +1 -0
  58. package/dist/parsers/parseBoolean.d.ts +1 -1
  59. package/dist/parsers/parseBoolean.js +3 -1
  60. package/dist/parsers/parseBoolean.js.map +1 -0
  61. package/dist/parsers/parseNull.js +1 -0
  62. package/dist/parsers/parseNull.js.map +1 -0
  63. package/dist/parsers/parseNumber.d.ts +8 -3
  64. package/dist/parsers/parseNumber.js +22 -7
  65. package/dist/parsers/parseNumber.js.map +1 -0
  66. package/dist/parsers/parseSectionHeader.d.ts +5 -4
  67. package/dist/parsers/parseSectionHeader.js +3 -1
  68. package/dist/parsers/parseSectionHeader.js.map +1 -0
  69. package/dist/parsers/parseString.js +3 -3
  70. package/dist/parsers/parseString.js.map +1 -0
  71. package/dist/types/index.d.ts +198 -0
  72. package/dist/types/index.js +4 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/dist/utils/number.d.ts +3 -0
  75. package/dist/utils/number.js +19 -0
  76. package/dist/utils/number.js.map +1 -0
  77. package/dist/utils/object.d.ts +67 -0
  78. package/dist/utils/object.js +125 -0
  79. package/dist/utils/object.js.map +1 -0
  80. package/dist/utils/pathAndFileName.js +1 -0
  81. package/dist/utils/pathAndFileName.js.map +1 -0
  82. package/dist/utils/print.d.ts +2 -2
  83. package/dist/utils/print.js +11 -6
  84. package/dist/utils/print.js.map +1 -0
  85. package/dist/utils/string.d.ts +26 -1
  86. package/dist/utils/string.js +48 -4
  87. package/dist/utils/string.js.map +1 -0
  88. package/dist/utils/system.d.ts +15 -0
  89. package/dist/utils/system.js +22 -0
  90. package/dist/utils/system.js.map +1 -0
  91. package/dist/{yiniHelpers.d.ts → utils/yiniHelpers.d.ts} +3 -0
  92. package/dist/{yiniHelpers.js → utils/yiniHelpers.js} +46 -9
  93. package/dist/utils/yiniHelpers.js.map +1 -0
  94. package/package.json +7 -5
  95. package/dist/core/ErrorDataHandler.js +0 -203
  96. package/dist/core/YINIVisitor.d.ts +0 -158
  97. package/dist/core/YINIVisitor.js +0 -1008
  98. package/dist/core/types.d.ts +0 -59
  99. package/dist/core/types.js +0 -36
  100. package/dist/grammar/YiniLexer.d.ts +0 -68
  101. package/dist/grammar/YiniLexer.js +0 -379
  102. package/dist/parseEntry.d.ts +0 -2
  103. package/dist/parseEntry.js +0 -185
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- // Generated from grammar/v1.0.0-rc.2x/YiniParser.g4 by ANTLR 4.13.2
2
+ // Generated from grammar/v1.0.0-rc.3/YiniParser.g4 by ANTLR 4.13.2
3
3
  // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Bad_memberContext = exports.Empty_listContext = exports.Empty_objectContext = exports.Boolean_literalContext = exports.String_concatContext = exports.String_literalContext = exports.Null_literalContext = exports.Number_literalContext = exports.ElementContext = exports.ElementsContext = exports.List_in_bracketsContext = exports.ListContext = exports.ObjectMemberContext = exports.ObjectMemberListContext = exports.Object_literalContext = exports.ValueContext = exports.Member_colon_listContext = exports.MemberContext = exports.Section_membersContext = exports.Terminal_lineContext = exports.SectionContext = exports.YiniContext = void 0;
5
+ exports.Bad_memberContext = exports.Bad_meta_textContext = exports.Boolean_literalContext = exports.String_concatContext = exports.String_literalContext = exports.Null_literalContext = exports.Number_literalContext = exports.ElementsContext = exports.List_literalContext = exports.Object_memberContext = exports.Object_membersContext = exports.Object_literalContext = exports.ValueContext = exports.Colon_list_declContext = exports.MemberContext = exports.AssignmentContext = exports.EolContext = exports.AnnotationContext = exports.DirectiveContext = exports.Meta_stmtContext = exports.StmtContext = exports.Terminal_stmtContext = exports.PrologContext = exports.YiniContext = void 0;
6
6
  const antlr4_1 = require("antlr4");
7
7
  class YiniParser extends antlr4_1.Parser {
8
8
  get grammarFileName() { return "YiniParser.g4"; }
@@ -23,134 +23,244 @@ class YiniParser extends antlr4_1.Parser {
23
23
  this.enterRule(localctx, 0, YiniParser.RULE_yini);
24
24
  let _la;
25
25
  try {
26
- let _alt;
27
26
  this.enterOuterAlt(localctx, 1);
28
27
  {
29
- this.state = 45;
28
+ this.state = 49;
30
29
  this._errHandler.sync(this);
31
- _la = this._input.LA(1);
32
- if (_la === 27) {
33
- {
34
- this.state = 44;
35
- this.match(YiniParser.SHEBANG);
36
- }
37
- }
38
- this.state = 50;
39
- this._errHandler.sync(this);
40
- _alt = this._interp.adaptivePredict(this._input, 1, this._ctx);
41
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
42
- if (_alt === 1) {
30
+ switch (this._interp.adaptivePredict(this._input, 0, this._ctx)) {
31
+ case 1:
43
32
  {
44
- {
45
- this.state = 47;
46
- this.match(YiniParser.INLINE_COMMENT);
47
- }
33
+ this.state = 48;
34
+ this.prolog();
48
35
  }
49
- }
50
- this.state = 52;
51
- this._errHandler.sync(this);
52
- _alt = this._interp.adaptivePredict(this._input, 1, this._ctx);
36
+ break;
53
37
  }
54
- this.state = 56;
38
+ this.state = 54;
55
39
  this._errHandler.sync(this);
56
- _alt = this._interp.adaptivePredict(this._input, 2, this._ctx);
57
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
58
- if (_alt === 1) {
40
+ _la = this._input.LA(1);
41
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3741485086) !== 0) || ((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 107137) !== 0)) {
42
+ {
59
43
  {
60
- {
61
- this.state = 53;
62
- this.match(YiniParser.NL);
63
- }
44
+ this.state = 51;
45
+ this.stmt();
64
46
  }
65
47
  }
66
- this.state = 58;
48
+ this.state = 56;
67
49
  this._errHandler.sync(this);
68
- _alt = this._interp.adaptivePredict(this._input, 2, this._ctx);
50
+ _la = this._input.LA(1);
69
51
  }
70
- this.state = 60;
52
+ this.state = 58;
71
53
  this._errHandler.sync(this);
72
54
  _la = this._input.LA(1);
73
- if (_la === 1) {
55
+ if (_la === 5) {
74
56
  {
75
- this.state = 59;
76
- this.match(YiniParser.YINI_MARKER);
57
+ this.state = 57;
58
+ this.terminal_stmt();
77
59
  }
78
60
  }
79
- this.state = 65;
80
- this._errHandler.sync(this);
81
- _la = this._input.LA(1);
82
- while (_la === 45) {
61
+ this.state = 60;
62
+ this.match(YiniParser.EOF);
63
+ }
64
+ }
65
+ catch (re) {
66
+ if (re instanceof antlr4_1.RecognitionException) {
67
+ localctx.exception = re;
68
+ this._errHandler.reportError(this, re);
69
+ this._errHandler.recover(this, re);
70
+ }
71
+ else {
72
+ throw re;
73
+ }
74
+ }
75
+ finally {
76
+ this.exitRule();
77
+ }
78
+ return localctx;
79
+ }
80
+ // @RuleVersion(0)
81
+ prolog() {
82
+ let localctx = new PrologContext(this, this._ctx, this.state);
83
+ this.enterRule(localctx, 2, YiniParser.RULE_prolog);
84
+ try {
85
+ let _alt;
86
+ this.state = 74;
87
+ this._errHandler.sync(this);
88
+ switch (this._input.LA(1)) {
89
+ case 29:
90
+ this.enterOuterAlt(localctx, 1);
83
91
  {
92
+ this.state = 62;
93
+ this.match(YiniParser.SHEBANG);
94
+ this.state = 66;
95
+ this._errHandler.sync(this);
96
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
97
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
98
+ if (_alt === 1) {
99
+ {
100
+ {
101
+ this.state = 63;
102
+ this.eol();
103
+ }
104
+ }
105
+ }
106
+ this.state = 68;
107
+ this._errHandler.sync(this);
108
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
109
+ }
110
+ }
111
+ break;
112
+ case 41:
113
+ case 47:
114
+ this.enterOuterAlt(localctx, 2);
115
+ {
116
+ this.state = 70;
117
+ this._errHandler.sync(this);
118
+ _alt = 1;
119
+ do {
120
+ switch (_alt) {
121
+ case 1:
122
+ {
123
+ {
124
+ this.state = 69;
125
+ this.eol();
126
+ }
127
+ }
128
+ break;
129
+ default:
130
+ throw new antlr4_1.NoViableAltException(this);
131
+ }
132
+ this.state = 72;
133
+ this._errHandler.sync(this);
134
+ _alt = this._interp.adaptivePredict(this._input, 4, this._ctx);
135
+ } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
136
+ }
137
+ break;
138
+ default:
139
+ throw new antlr4_1.NoViableAltException(this);
140
+ }
141
+ }
142
+ catch (re) {
143
+ if (re instanceof antlr4_1.RecognitionException) {
144
+ localctx.exception = re;
145
+ this._errHandler.reportError(this, re);
146
+ this._errHandler.recover(this, re);
147
+ }
148
+ else {
149
+ throw re;
150
+ }
151
+ }
152
+ finally {
153
+ this.exitRule();
154
+ }
155
+ return localctx;
156
+ }
157
+ // @RuleVersion(0)
158
+ terminal_stmt() {
159
+ let localctx = new Terminal_stmtContext(this, this._ctx, this.state);
160
+ this.enterRule(localctx, 4, YiniParser.RULE_terminal_stmt);
161
+ let _la;
162
+ try {
163
+ this.enterOuterAlt(localctx, 1);
164
+ {
165
+ this.state = 76;
166
+ this.match(YiniParser.TERMINAL_TOKEN);
167
+ this.state = 79;
168
+ this._errHandler.sync(this);
169
+ switch (this._interp.adaptivePredict(this._input, 6, this._ctx)) {
170
+ case 1:
171
+ {
172
+ this.state = 77;
173
+ this.eol();
174
+ }
175
+ break;
176
+ case 2:
84
177
  {
85
- this.state = 62;
178
+ this.state = 78;
86
179
  this.match(YiniParser.INLINE_COMMENT);
87
180
  }
88
- }
89
- this.state = 67;
90
- this._errHandler.sync(this);
91
- _la = this._input.LA(1);
181
+ break;
92
182
  }
93
- this.state = 71;
183
+ this.state = 84;
94
184
  this._errHandler.sync(this);
95
185
  _la = this._input.LA(1);
96
- while (_la === 39) {
186
+ while (_la === 41) {
97
187
  {
98
188
  {
99
- this.state = 68;
189
+ this.state = 81;
100
190
  this.match(YiniParser.NL);
101
191
  }
102
192
  }
103
- this.state = 73;
193
+ this.state = 86;
104
194
  this._errHandler.sync(this);
105
195
  _la = this._input.LA(1);
106
196
  }
107
- this.state = 75;
108
- this._errHandler.sync(this);
109
- _la = this._input.LA(1);
110
- do {
197
+ }
198
+ }
199
+ catch (re) {
200
+ if (re instanceof antlr4_1.RecognitionException) {
201
+ localctx.exception = re;
202
+ this._errHandler.reportError(this, re);
203
+ this._errHandler.recover(this, re);
204
+ }
205
+ else {
206
+ throw re;
207
+ }
208
+ }
209
+ finally {
210
+ this.exitRule();
211
+ }
212
+ return localctx;
213
+ }
214
+ // @RuleVersion(0)
215
+ stmt() {
216
+ let localctx = new StmtContext(this, this._ctx, this.state);
217
+ this.enterRule(localctx, 6, YiniParser.RULE_stmt);
218
+ try {
219
+ this.state = 93;
220
+ this._errHandler.sync(this);
221
+ switch (this._interp.adaptivePredict(this._input, 8, this._ctx)) {
222
+ case 1:
223
+ this.enterOuterAlt(localctx, 1);
111
224
  {
112
- {
113
- this.state = 74;
114
- this.section();
115
- }
225
+ this.state = 87;
226
+ this.eol();
116
227
  }
117
- this.state = 77;
118
- this._errHandler.sync(this);
119
- _la = this._input.LA(1);
120
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 935371268) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 33281) !== 0));
121
- this.state = 82;
122
- this._errHandler.sync(this);
123
- _la = this._input.LA(1);
124
- while (_la === 39) {
228
+ break;
229
+ case 2:
230
+ this.enterOuterAlt(localctx, 2);
125
231
  {
126
- {
127
- this.state = 79;
128
- this.match(YiniParser.NL);
129
- }
232
+ this.state = 88;
233
+ this.match(YiniParser.SECTION_HEAD);
130
234
  }
131
- this.state = 84;
132
- this._errHandler.sync(this);
133
- _la = this._input.LA(1);
134
- }
135
- this.state = 86;
136
- this._errHandler.sync(this);
137
- _la = this._input.LA(1);
138
- if (_la === 3) {
235
+ break;
236
+ case 3:
237
+ this.enterOuterAlt(localctx, 3);
139
238
  {
140
- this.state = 85;
141
- this.terminal_line();
239
+ this.state = 89;
240
+ this.assignment();
142
241
  }
143
- }
144
- this.state = 89;
145
- this._errHandler.sync(this);
146
- switch (this._interp.adaptivePredict(this._input, 9, this._ctx)) {
147
- case 1:
148
- {
149
- this.state = 88;
150
- this.match(YiniParser.EOF);
151
- }
152
- break;
153
- }
242
+ break;
243
+ case 4:
244
+ this.enterOuterAlt(localctx, 4);
245
+ {
246
+ this.state = 90;
247
+ this.colon_list_decl();
248
+ }
249
+ break;
250
+ case 5:
251
+ this.enterOuterAlt(localctx, 5);
252
+ {
253
+ this.state = 91;
254
+ this.meta_stmt();
255
+ }
256
+ break;
257
+ case 6:
258
+ this.enterOuterAlt(localctx, 6);
259
+ {
260
+ this.state = 92;
261
+ this.bad_member();
262
+ }
263
+ break;
154
264
  }
155
265
  }
156
266
  catch (re) {
@@ -169,24 +279,39 @@ class YiniParser extends antlr4_1.Parser {
169
279
  return localctx;
170
280
  }
171
281
  // @RuleVersion(0)
172
- section() {
173
- let localctx = new SectionContext(this, this._ctx, this.state);
174
- this.enterRule(localctx, 2, YiniParser.RULE_section);
282
+ meta_stmt() {
283
+ let localctx = new Meta_stmtContext(this, this._ctx, this.state);
284
+ this.enterRule(localctx, 8, YiniParser.RULE_meta_stmt);
175
285
  try {
176
- this.enterOuterAlt(localctx, 1);
177
- {
178
- this.state = 92;
179
- this._errHandler.sync(this);
180
- switch (this._interp.adaptivePredict(this._input, 10, this._ctx)) {
181
- case 1:
182
- {
183
- this.state = 91;
184
- this.match(YiniParser.SECTION_HEAD);
185
- }
186
- break;
187
- }
188
- this.state = 94;
189
- this.section_members();
286
+ this.state = 100;
287
+ this._errHandler.sync(this);
288
+ switch (this._input.LA(1)) {
289
+ case 1:
290
+ case 2:
291
+ this.enterOuterAlt(localctx, 1);
292
+ {
293
+ this.state = 95;
294
+ this.directive();
295
+ }
296
+ break;
297
+ case 3:
298
+ this.enterOuterAlt(localctx, 2);
299
+ {
300
+ this.state = 96;
301
+ this.annotation();
302
+ }
303
+ break;
304
+ case 50:
305
+ this.enterOuterAlt(localctx, 3);
306
+ {
307
+ this.state = 97;
308
+ this.bad_meta_text();
309
+ this.state = 98;
310
+ this.eol();
311
+ }
312
+ break;
313
+ default:
314
+ throw new antlr4_1.NoViableAltException(this);
190
315
  }
191
316
  }
192
317
  catch (re) {
@@ -205,64 +330,57 @@ class YiniParser extends antlr4_1.Parser {
205
330
  return localctx;
206
331
  }
207
332
  // @RuleVersion(0)
208
- terminal_line() {
209
- let localctx = new Terminal_lineContext(this, this._ctx, this.state);
210
- this.enterRule(localctx, 4, YiniParser.RULE_terminal_line);
333
+ directive() {
334
+ let localctx = new DirectiveContext(this, this._ctx, this.state);
335
+ this.enterRule(localctx, 10, YiniParser.RULE_directive);
211
336
  let _la;
212
337
  try {
213
- this.enterOuterAlt(localctx, 1);
214
- {
215
- this.state = 96;
216
- this.match(YiniParser.TERMINAL_TOKEN);
217
- this.state = 111;
218
- this._errHandler.sync(this);
219
- switch (this._interp.adaptivePredict(this._input, 14, this._ctx)) {
220
- case 1:
221
- {
222
- this.state = 98;
223
- this._errHandler.sync(this);
224
- _la = this._input.LA(1);
225
- do {
226
- {
227
- {
228
- this.state = 97;
229
- this.match(YiniParser.NL);
230
- }
231
- }
232
- this.state = 100;
233
- this._errHandler.sync(this);
234
- _la = this._input.LA(1);
235
- } while (_la === 39);
236
- }
237
- break;
238
- case 2:
239
- {
240
- this.state = 103;
241
- this._errHandler.sync(this);
242
- _la = this._input.LA(1);
243
- if (_la === 45) {
338
+ this.state = 115;
339
+ this._errHandler.sync(this);
340
+ switch (this._input.LA(1)) {
341
+ case 1:
342
+ this.enterOuterAlt(localctx, 1);
343
+ {
344
+ this.state = 102;
345
+ this.match(YiniParser.YINI_TOKEN);
346
+ this.state = 103;
347
+ this.eol();
348
+ }
349
+ break;
350
+ case 2:
351
+ this.enterOuterAlt(localctx, 2);
352
+ {
353
+ this.state = 104;
354
+ this.match(YiniParser.INCLUDE_TOKEN);
355
+ this.state = 108;
356
+ this._errHandler.sync(this);
357
+ _la = this._input.LA(1);
358
+ while (_la === 43) {
359
+ {
244
360
  {
245
- this.state = 102;
246
- this.match(YiniParser.INLINE_COMMENT);
361
+ this.state = 105;
362
+ this.match(YiniParser.WS);
247
363
  }
248
364
  }
249
- this.state = 108;
365
+ this.state = 110;
250
366
  this._errHandler.sync(this);
251
367
  _la = this._input.LA(1);
252
- while (_la === 39) {
253
- {
254
- {
255
- this.state = 105;
256
- this.match(YiniParser.NL);
257
- }
258
- }
259
- this.state = 110;
260
- this._errHandler.sync(this);
261
- _la = this._input.LA(1);
368
+ }
369
+ this.state = 112;
370
+ this._errHandler.sync(this);
371
+ _la = this._input.LA(1);
372
+ if (_la === 34) {
373
+ {
374
+ this.state = 111;
375
+ this.string_literal();
262
376
  }
263
377
  }
264
- break;
265
- }
378
+ this.state = 114;
379
+ this.eol();
380
+ }
381
+ break;
382
+ default:
383
+ throw new antlr4_1.NoViableAltException(this);
266
384
  }
267
385
  }
268
386
  catch (re) {
@@ -281,33 +399,16 @@ class YiniParser extends antlr4_1.Parser {
281
399
  return localctx;
282
400
  }
283
401
  // @RuleVersion(0)
284
- section_members() {
285
- let localctx = new Section_membersContext(this, this._ctx, this.state);
286
- this.enterRule(localctx, 6, YiniParser.RULE_section_members);
402
+ annotation() {
403
+ let localctx = new AnnotationContext(this, this._ctx, this.state);
404
+ this.enterRule(localctx, 12, YiniParser.RULE_annotation);
287
405
  try {
288
- let _alt;
289
406
  this.enterOuterAlt(localctx, 1);
290
407
  {
291
- this.state = 114;
292
- this._errHandler.sync(this);
293
- _alt = 1;
294
- do {
295
- switch (_alt) {
296
- case 1:
297
- {
298
- {
299
- this.state = 113;
300
- this.member();
301
- }
302
- }
303
- break;
304
- default:
305
- throw new antlr4_1.NoViableAltException(this);
306
- }
307
- this.state = 116;
308
- this._errHandler.sync(this);
309
- _alt = this._interp.adaptivePredict(this._input, 15, this._ctx);
310
- } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
408
+ this.state = 117;
409
+ this.match(YiniParser.DEPRECATED_TOKEN);
410
+ this.state = 118;
411
+ this.eol();
311
412
  }
312
413
  }
313
414
  catch (re) {
@@ -326,102 +427,127 @@ class YiniParser extends antlr4_1.Parser {
326
427
  return localctx;
327
428
  }
328
429
  // @RuleVersion(0)
329
- member() {
330
- let localctx = new MemberContext(this, this._ctx, this.state);
331
- this.enterRule(localctx, 8, YiniParser.RULE_member);
430
+ eol() {
431
+ let localctx = new EolContext(this, this._ctx, this.state);
432
+ this.enterRule(localctx, 14, YiniParser.RULE_eol);
332
433
  let _la;
333
434
  try {
334
435
  let _alt;
335
- this.state = 140;
336
- this._errHandler.sync(this);
337
- switch (this._interp.adaptivePredict(this._input, 21, this._ctx)) {
338
- case 1:
339
- this.enterOuterAlt(localctx, 1);
436
+ this.enterOuterAlt(localctx, 1);
437
+ {
438
+ this.state = 121;
439
+ this._errHandler.sync(this);
440
+ _la = this._input.LA(1);
441
+ if (_la === 47) {
340
442
  {
341
- this.state = 118;
342
- this.match(YiniParser.KEY);
343
443
  this.state = 120;
344
- this._errHandler.sync(this);
345
- _la = this._input.LA(1);
346
- if (_la === 41) {
347
- {
348
- this.state = 119;
349
- this.match(YiniParser.WS);
350
- }
351
- }
352
- this.state = 122;
353
- this.match(YiniParser.EQ);
354
- this.state = 124;
355
- this._errHandler.sync(this);
356
- _la = this._input.LA(1);
357
- if (_la === 41) {
358
- {
359
- this.state = 123;
360
- this.match(YiniParser.WS);
361
- }
362
- }
363
- this.state = 127;
364
- this._errHandler.sync(this);
365
- _la = this._input.LA(1);
366
- if (((((_la - 13)) & ~0x1F) === 0 && ((1 << (_la - 13)) & 572933) !== 0)) {
444
+ this.match(YiniParser.INLINE_COMMENT);
445
+ }
446
+ }
447
+ this.state = 124;
448
+ this._errHandler.sync(this);
449
+ _alt = 1;
450
+ do {
451
+ switch (_alt) {
452
+ case 1:
367
453
  {
368
- this.state = 126;
369
- this.value();
370
- }
371
- }
372
- this.state = 130;
373
- this._errHandler.sync(this);
374
- _alt = 1;
375
- do {
376
- switch (_alt) {
377
- case 1:
378
- {
379
- {
380
- this.state = 129;
381
- this.match(YiniParser.NL);
382
- }
383
- }
384
- break;
385
- default:
386
- throw new antlr4_1.NoViableAltException(this);
454
+ {
455
+ this.state = 123;
456
+ this.match(YiniParser.NL);
457
+ }
387
458
  }
388
- this.state = 132;
389
- this._errHandler.sync(this);
390
- _alt = this._interp.adaptivePredict(this._input, 19, this._ctx);
391
- } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
459
+ break;
460
+ default:
461
+ throw new antlr4_1.NoViableAltException(this);
392
462
  }
393
- break;
394
- case 2:
395
- this.enterOuterAlt(localctx, 2);
463
+ this.state = 126;
464
+ this._errHandler.sync(this);
465
+ _alt = this._interp.adaptivePredict(this._input, 14, this._ctx);
466
+ } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
467
+ }
468
+ }
469
+ catch (re) {
470
+ if (re instanceof antlr4_1.RecognitionException) {
471
+ localctx.exception = re;
472
+ this._errHandler.reportError(this, re);
473
+ this._errHandler.recover(this, re);
474
+ }
475
+ else {
476
+ throw re;
477
+ }
478
+ }
479
+ finally {
480
+ this.exitRule();
481
+ }
482
+ return localctx;
483
+ }
484
+ // @RuleVersion(0)
485
+ assignment() {
486
+ let localctx = new AssignmentContext(this, this._ctx, this.state);
487
+ this.enterRule(localctx, 16, YiniParser.RULE_assignment);
488
+ try {
489
+ this.enterOuterAlt(localctx, 1);
490
+ {
491
+ this.state = 128;
492
+ this.member();
493
+ this.state = 129;
494
+ this.eol();
495
+ }
496
+ }
497
+ catch (re) {
498
+ if (re instanceof antlr4_1.RecognitionException) {
499
+ localctx.exception = re;
500
+ this._errHandler.reportError(this, re);
501
+ this._errHandler.recover(this, re);
502
+ }
503
+ else {
504
+ throw re;
505
+ }
506
+ }
507
+ finally {
508
+ this.exitRule();
509
+ }
510
+ return localctx;
511
+ }
512
+ // @RuleVersion(0)
513
+ member() {
514
+ let localctx = new MemberContext(this, this._ctx, this.state);
515
+ this.enterRule(localctx, 18, YiniParser.RULE_member);
516
+ let _la;
517
+ try {
518
+ this.enterOuterAlt(localctx, 1);
519
+ {
520
+ this.state = 131;
521
+ this.match(YiniParser.KEY);
522
+ this.state = 133;
523
+ this._errHandler.sync(this);
524
+ _la = this._input.LA(1);
525
+ if (_la === 43) {
396
526
  {
397
- this.state = 134;
398
- this.member_colon_list();
527
+ this.state = 132;
528
+ this.match(YiniParser.WS);
399
529
  }
400
- break;
401
- case 3:
402
- this.enterOuterAlt(localctx, 3);
530
+ }
531
+ this.state = 135;
532
+ this.match(YiniParser.EQ);
533
+ this.state = 137;
534
+ this._errHandler.sync(this);
535
+ _la = this._input.LA(1);
536
+ if (_la === 43) {
403
537
  {
404
- this.state = 135;
405
- this.match(YiniParser.SECTION_HEAD);
406
- this.state = 137;
407
- this._errHandler.sync(this);
408
- switch (this._interp.adaptivePredict(this._input, 20, this._ctx)) {
409
- case 1:
410
- {
411
- this.state = 136;
412
- this.section_members();
413
- }
414
- break;
415
- }
538
+ this.state = 136;
539
+ this.match(YiniParser.WS);
416
540
  }
417
- break;
418
- case 4:
419
- this.enterOuterAlt(localctx, 4);
541
+ }
542
+ this.state = 140;
543
+ this._errHandler.sync(this);
544
+ _la = this._input.LA(1);
545
+ if (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 572933) !== 0)) {
420
546
  {
421
547
  this.state = 139;
422
- this.bad_member();
548
+ this.value();
423
549
  }
424
- break;
550
+ }
425
551
  }
426
552
  }
427
553
  catch (re) {
@@ -440,9 +566,9 @@ class YiniParser extends antlr4_1.Parser {
440
566
  return localctx;
441
567
  }
442
568
  // @RuleVersion(0)
443
- member_colon_list() {
444
- let localctx = new Member_colon_listContext(this, this._ctx, this.state);
445
- this.enterRule(localctx, 10, YiniParser.RULE_member_colon_list);
569
+ colon_list_decl() {
570
+ let localctx = new Colon_list_declContext(this, this._ctx, this.state);
571
+ this.enterRule(localctx, 20, YiniParser.RULE_colon_list_decl);
446
572
  let _la;
447
573
  try {
448
574
  let _alt;
@@ -450,47 +576,117 @@ class YiniParser extends antlr4_1.Parser {
450
576
  {
451
577
  this.state = 142;
452
578
  this.match(YiniParser.KEY);
453
- this.state = 143;
454
- this.match(YiniParser.COLON);
455
- this.state = 145;
579
+ this.state = 144;
456
580
  this._errHandler.sync(this);
457
581
  _la = this._input.LA(1);
458
- if (_la === 41) {
582
+ if (_la === 43) {
459
583
  {
460
- this.state = 144;
584
+ this.state = 143;
461
585
  this.match(YiniParser.WS);
462
586
  }
463
587
  }
464
- this.state = 148;
588
+ this.state = 146;
589
+ this.match(YiniParser.COLON);
590
+ this.state = 155;
465
591
  this._errHandler.sync(this);
466
- switch (this._interp.adaptivePredict(this._input, 23, this._ctx)) {
467
- case 1:
468
- {
469
- this.state = 147;
470
- this.elements();
592
+ _la = this._input.LA(1);
593
+ while (((((_la - 41)) & ~0x1F) === 0 && ((1 << (_la - 41)) & 69) !== 0)) {
594
+ {
595
+ this.state = 153;
596
+ this._errHandler.sync(this);
597
+ switch (this._input.LA(1)) {
598
+ case 41:
599
+ case 47:
600
+ {
601
+ this.state = 147;
602
+ this.eol();
603
+ }
604
+ break;
605
+ case 43:
606
+ {
607
+ this.state = 149;
608
+ this._errHandler.sync(this);
609
+ _alt = 1;
610
+ do {
611
+ switch (_alt) {
612
+ case 1:
613
+ {
614
+ {
615
+ this.state = 148;
616
+ this.match(YiniParser.WS);
617
+ }
618
+ }
619
+ break;
620
+ default:
621
+ throw new antlr4_1.NoViableAltException(this);
622
+ }
623
+ this.state = 151;
624
+ this._errHandler.sync(this);
625
+ _alt = this._interp.adaptivePredict(this._input, 19, this._ctx);
626
+ } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
627
+ }
628
+ break;
629
+ default:
630
+ throw new antlr4_1.NoViableAltException(this);
471
631
  }
472
- break;
632
+ }
633
+ this.state = 157;
634
+ this._errHandler.sync(this);
635
+ _la = this._input.LA(1);
473
636
  }
474
- this.state = 151;
637
+ this.state = 158;
638
+ this.elements();
639
+ this.state = 167;
475
640
  this._errHandler.sync(this);
476
- _alt = 1;
477
- do {
478
- switch (_alt) {
479
- case 1:
480
- {
481
- {
482
- this.state = 150;
483
- this.match(YiniParser.NL);
484
- }
641
+ _alt = this._interp.adaptivePredict(this._input, 24, this._ctx);
642
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
643
+ if (_alt === 1) {
644
+ {
645
+ this.state = 165;
646
+ this._errHandler.sync(this);
647
+ switch (this._input.LA(1)) {
648
+ case 41:
649
+ case 47:
650
+ {
651
+ this.state = 159;
652
+ this.eol();
653
+ }
654
+ break;
655
+ case 43:
656
+ {
657
+ this.state = 161;
658
+ this._errHandler.sync(this);
659
+ _alt = 1;
660
+ do {
661
+ switch (_alt) {
662
+ case 1:
663
+ {
664
+ {
665
+ this.state = 160;
666
+ this.match(YiniParser.WS);
667
+ }
668
+ }
669
+ break;
670
+ default:
671
+ throw new antlr4_1.NoViableAltException(this);
672
+ }
673
+ this.state = 163;
674
+ this._errHandler.sync(this);
675
+ _alt = this._interp.adaptivePredict(this._input, 22, this._ctx);
676
+ } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
677
+ }
678
+ break;
679
+ default:
680
+ throw new antlr4_1.NoViableAltException(this);
485
681
  }
486
- break;
487
- default:
488
- throw new antlr4_1.NoViableAltException(this);
682
+ }
489
683
  }
490
- this.state = 153;
684
+ this.state = 169;
491
685
  this._errHandler.sync(this);
492
686
  _alt = this._interp.adaptivePredict(this._input, 24, this._ctx);
493
- } while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER);
687
+ }
688
+ this.state = 170;
689
+ this.eol();
494
690
  }
495
691
  }
496
692
  catch (re) {
@@ -511,53 +707,53 @@ class YiniParser extends antlr4_1.Parser {
511
707
  // @RuleVersion(0)
512
708
  value() {
513
709
  let localctx = new ValueContext(this, this._ctx, this.state);
514
- this.enterRule(localctx, 12, YiniParser.RULE_value);
710
+ this.enterRule(localctx, 22, YiniParser.RULE_value);
515
711
  try {
516
- this.state = 161;
712
+ this.state = 178;
517
713
  this._errHandler.sync(this);
518
714
  switch (this._input.LA(1)) {
519
- case 24:
715
+ case 26:
520
716
  this.enterOuterAlt(localctx, 1);
521
717
  {
522
- this.state = 155;
718
+ this.state = 172;
523
719
  this.null_literal();
524
720
  }
525
721
  break;
526
- case 32:
722
+ case 34:
527
723
  this.enterOuterAlt(localctx, 2);
528
724
  {
529
- this.state = 156;
725
+ this.state = 173;
530
726
  this.string_literal();
531
727
  }
532
728
  break;
533
- case 28:
729
+ case 30:
534
730
  this.enterOuterAlt(localctx, 3);
535
731
  {
536
- this.state = 157;
732
+ this.state = 174;
537
733
  this.number_literal();
538
734
  }
539
735
  break;
540
- case 22:
541
- case 23:
736
+ case 24:
737
+ case 25:
542
738
  this.enterOuterAlt(localctx, 4);
543
739
  {
544
- this.state = 158;
740
+ this.state = 175;
545
741
  this.boolean_literal();
546
742
  }
547
743
  break;
548
- case 13:
549
- case 26:
744
+ case 15:
745
+ case 28:
550
746
  this.enterOuterAlt(localctx, 5);
551
747
  {
552
- this.state = 159;
553
- this.list_in_brackets();
748
+ this.state = 176;
749
+ this.list_literal();
554
750
  }
555
751
  break;
556
- case 15:
557
- case 25:
752
+ case 17:
753
+ case 27:
558
754
  this.enterOuterAlt(localctx, 6);
559
755
  {
560
- this.state = 160;
756
+ this.state = 177;
561
757
  this.object_literal();
562
758
  }
563
759
  break;
@@ -583,91 +779,102 @@ class YiniParser extends antlr4_1.Parser {
583
779
  // @RuleVersion(0)
584
780
  object_literal() {
585
781
  let localctx = new Object_literalContext(this, this._ctx, this.state);
586
- this.enterRule(localctx, 14, YiniParser.RULE_object_literal);
782
+ this.enterRule(localctx, 24, YiniParser.RULE_object_literal);
587
783
  let _la;
588
784
  try {
589
785
  let _alt;
590
- this.state = 191;
786
+ this.state = 210;
591
787
  this._errHandler.sync(this);
592
- switch (this._interp.adaptivePredict(this._input, 30, this._ctx)) {
593
- case 1:
788
+ switch (this._input.LA(1)) {
789
+ case 17:
594
790
  this.enterOuterAlt(localctx, 1);
595
791
  {
596
- this.state = 163;
792
+ this.state = 180;
597
793
  this.match(YiniParser.OC);
598
- this.state = 167;
794
+ this.state = 184;
599
795
  this._errHandler.sync(this);
600
- _la = this._input.LA(1);
601
- while (_la === 39) {
602
- {
796
+ _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
797
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
798
+ if (_alt === 1) {
603
799
  {
604
- this.state = 164;
605
- this.match(YiniParser.NL);
800
+ {
801
+ this.state = 181;
802
+ this.match(YiniParser.NL);
803
+ }
606
804
  }
607
805
  }
608
- this.state = 169;
806
+ this.state = 186;
609
807
  this._errHandler.sync(this);
610
- _la = this._input.LA(1);
808
+ _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
611
809
  }
612
- this.state = 170;
613
- this.objectMemberList();
614
- this.state = 174;
810
+ this.state = 188;
811
+ this._errHandler.sync(this);
812
+ _la = this._input.LA(1);
813
+ if (_la === 31) {
814
+ {
815
+ this.state = 187;
816
+ this.object_members();
817
+ }
818
+ }
819
+ this.state = 193;
615
820
  this._errHandler.sync(this);
616
821
  _la = this._input.LA(1);
617
- while (_la === 39) {
822
+ while (_la === 41) {
618
823
  {
619
824
  {
620
- this.state = 171;
825
+ this.state = 190;
621
826
  this.match(YiniParser.NL);
622
827
  }
623
828
  }
624
- this.state = 176;
829
+ this.state = 195;
625
830
  this._errHandler.sync(this);
626
831
  _la = this._input.LA(1);
627
832
  }
628
- this.state = 177;
833
+ this.state = 196;
629
834
  this.match(YiniParser.CC);
630
- this.state = 181;
835
+ this.state = 200;
631
836
  this._errHandler.sync(this);
632
- _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
837
+ _alt = this._interp.adaptivePredict(this._input, 29, this._ctx);
633
838
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
634
839
  if (_alt === 1) {
635
840
  {
636
841
  {
637
- this.state = 178;
842
+ this.state = 197;
638
843
  this.match(YiniParser.NL);
639
844
  }
640
845
  }
641
846
  }
642
- this.state = 183;
847
+ this.state = 202;
643
848
  this._errHandler.sync(this);
644
- _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
849
+ _alt = this._interp.adaptivePredict(this._input, 29, this._ctx);
645
850
  }
646
851
  }
647
852
  break;
648
- case 2:
853
+ case 27:
649
854
  this.enterOuterAlt(localctx, 2);
650
855
  {
651
- this.state = 184;
652
- this.empty_object();
653
- this.state = 188;
856
+ this.state = 203;
857
+ this.match(YiniParser.EMPTY_OBJECT);
858
+ this.state = 207;
654
859
  this._errHandler.sync(this);
655
- _alt = this._interp.adaptivePredict(this._input, 29, this._ctx);
860
+ _alt = this._interp.adaptivePredict(this._input, 30, this._ctx);
656
861
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
657
862
  if (_alt === 1) {
658
863
  {
659
864
  {
660
- this.state = 185;
865
+ this.state = 204;
661
866
  this.match(YiniParser.NL);
662
867
  }
663
868
  }
664
869
  }
665
- this.state = 190;
870
+ this.state = 209;
666
871
  this._errHandler.sync(this);
667
- _alt = this._interp.adaptivePredict(this._input, 29, this._ctx);
872
+ _alt = this._interp.adaptivePredict(this._input, 30, this._ctx);
668
873
  }
669
874
  }
670
875
  break;
876
+ default:
877
+ throw new antlr4_1.NoViableAltException(this);
671
878
  }
672
879
  }
673
880
  catch (re) {
@@ -686,143 +893,57 @@ class YiniParser extends antlr4_1.Parser {
686
893
  return localctx;
687
894
  }
688
895
  // @RuleVersion(0)
689
- objectMemberList() {
690
- let localctx = new ObjectMemberListContext(this, this._ctx, this.state);
691
- this.enterRule(localctx, 16, YiniParser.RULE_objectMemberList);
896
+ object_members() {
897
+ let localctx = new Object_membersContext(this, this._ctx, this.state);
898
+ this.enterRule(localctx, 26, YiniParser.RULE_object_members);
692
899
  let _la;
693
900
  try {
694
901
  let _alt;
695
- this.state = 217;
696
- this._errHandler.sync(this);
697
- switch (this._input.LA(1)) {
698
- case 29:
699
- this.enterOuterAlt(localctx, 1);
700
- {
701
- this.state = 193;
702
- this.objectMember();
703
- this.state = 204;
704
- this._errHandler.sync(this);
705
- _alt = this._interp.adaptivePredict(this._input, 32, this._ctx);
706
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
707
- if (_alt === 1) {
708
- {
709
- {
710
- this.state = 194;
711
- this.match(YiniParser.COMMA);
712
- this.state = 198;
713
- this._errHandler.sync(this);
714
- _la = this._input.LA(1);
715
- while (_la === 39) {
716
- {
717
- {
718
- this.state = 195;
719
- this.match(YiniParser.NL);
720
- }
721
- }
722
- this.state = 200;
723
- this._errHandler.sync(this);
724
- _la = this._input.LA(1);
725
- }
726
- this.state = 201;
727
- this.objectMember();
728
- }
729
- }
730
- }
731
- this.state = 206;
732
- this._errHandler.sync(this);
733
- _alt = this._interp.adaptivePredict(this._input, 32, this._ctx);
734
- }
735
- this.state = 208;
736
- this._errHandler.sync(this);
737
- _la = this._input.LA(1);
738
- if (_la === 11) {
902
+ this.enterOuterAlt(localctx, 1);
903
+ {
904
+ this.state = 212;
905
+ this.object_member();
906
+ this.state = 223;
907
+ this._errHandler.sync(this);
908
+ _alt = this._interp.adaptivePredict(this._input, 33, this._ctx);
909
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
910
+ if (_alt === 1) {
911
+ {
739
912
  {
740
- this.state = 207;
913
+ this.state = 213;
741
914
  this.match(YiniParser.COMMA);
742
- }
743
- }
744
- }
745
- break;
746
- case 15:
747
- case 25:
748
- this.enterOuterAlt(localctx, 2);
749
- {
750
- this.state = 210;
751
- this.empty_object();
752
- this.state = 214;
753
- this._errHandler.sync(this);
754
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
755
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
756
- if (_alt === 1) {
757
- {
915
+ this.state = 217;
916
+ this._errHandler.sync(this);
917
+ _la = this._input.LA(1);
918
+ while (_la === 41) {
758
919
  {
759
- this.state = 211;
760
- this.match(YiniParser.NL);
920
+ {
921
+ this.state = 214;
922
+ this.match(YiniParser.NL);
923
+ }
761
924
  }
925
+ this.state = 219;
926
+ this._errHandler.sync(this);
927
+ _la = this._input.LA(1);
762
928
  }
929
+ this.state = 220;
930
+ this.object_member();
763
931
  }
764
- this.state = 216;
765
- this._errHandler.sync(this);
766
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
767
932
  }
768
933
  }
769
- break;
770
- default:
771
- throw new antlr4_1.NoViableAltException(this);
772
- }
773
- }
774
- catch (re) {
775
- if (re instanceof antlr4_1.RecognitionException) {
776
- localctx.exception = re;
777
- this._errHandler.reportError(this, re);
778
- this._errHandler.recover(this, re);
779
- }
780
- else {
781
- throw re;
782
- }
783
- }
784
- finally {
785
- this.exitRule();
786
- }
787
- return localctx;
788
- }
789
- // @RuleVersion(0)
790
- objectMember() {
791
- let localctx = new ObjectMemberContext(this, this._ctx, this.state);
792
- this.enterRule(localctx, 18, YiniParser.RULE_objectMember);
793
- let _la;
794
- try {
795
- this.enterOuterAlt(localctx, 1);
796
- {
797
- this.state = 219;
798
- this.match(YiniParser.KEY);
799
- this.state = 221;
800
- this._errHandler.sync(this);
801
- _la = this._input.LA(1);
802
- if (_la === 41) {
803
- {
804
- this.state = 220;
805
- this.match(YiniParser.WS);
806
- }
934
+ this.state = 225;
935
+ this._errHandler.sync(this);
936
+ _alt = this._interp.adaptivePredict(this._input, 33, this._ctx);
807
937
  }
808
- this.state = 223;
809
- this.match(YiniParser.COLON);
810
938
  this.state = 227;
811
939
  this._errHandler.sync(this);
812
940
  _la = this._input.LA(1);
813
- while (_la === 39) {
941
+ if (_la === 13) {
814
942
  {
815
- {
816
- this.state = 224;
817
- this.match(YiniParser.NL);
818
- }
943
+ this.state = 226;
944
+ this.match(YiniParser.COMMA);
819
945
  }
820
- this.state = 229;
821
- this._errHandler.sync(this);
822
- _la = this._input.LA(1);
823
946
  }
824
- this.state = 230;
825
- this.value();
826
947
  }
827
948
  }
828
949
  catch (re) {
@@ -841,27 +962,42 @@ class YiniParser extends antlr4_1.Parser {
841
962
  return localctx;
842
963
  }
843
964
  // @RuleVersion(0)
844
- list() {
845
- let localctx = new ListContext(this, this._ctx, this.state);
846
- this.enterRule(localctx, 20, YiniParser.RULE_list);
847
- try {
848
- this.state = 234;
849
- this._errHandler.sync(this);
850
- switch (this._interp.adaptivePredict(this._input, 38, this._ctx)) {
851
- case 1:
852
- this.enterOuterAlt(localctx, 1);
965
+ object_member() {
966
+ let localctx = new Object_memberContext(this, this._ctx, this.state);
967
+ this.enterRule(localctx, 28, YiniParser.RULE_object_member);
968
+ let _la;
969
+ try {
970
+ this.enterOuterAlt(localctx, 1);
971
+ {
972
+ this.state = 229;
973
+ this.match(YiniParser.KEY);
974
+ this.state = 231;
975
+ this._errHandler.sync(this);
976
+ _la = this._input.LA(1);
977
+ if (_la === 43) {
853
978
  {
854
- this.state = 232;
855
- this.elements();
979
+ this.state = 230;
980
+ this.match(YiniParser.WS);
856
981
  }
857
- break;
858
- case 2:
859
- this.enterOuterAlt(localctx, 2);
982
+ }
983
+ this.state = 233;
984
+ this.match(YiniParser.COLON);
985
+ this.state = 237;
986
+ this._errHandler.sync(this);
987
+ _la = this._input.LA(1);
988
+ while (_la === 41) {
860
989
  {
861
- this.state = 233;
862
- this.list_in_brackets();
990
+ {
991
+ this.state = 234;
992
+ this.match(YiniParser.NL);
993
+ }
863
994
  }
864
- break;
995
+ this.state = 239;
996
+ this._errHandler.sync(this);
997
+ _la = this._input.LA(1);
998
+ }
999
+ this.state = 240;
1000
+ this.value();
865
1001
  }
866
1002
  }
867
1003
  catch (re) {
@@ -880,79 +1016,104 @@ class YiniParser extends antlr4_1.Parser {
880
1016
  return localctx;
881
1017
  }
882
1018
  // @RuleVersion(0)
883
- list_in_brackets() {
884
- let localctx = new List_in_bracketsContext(this, this._ctx, this.state);
885
- this.enterRule(localctx, 22, YiniParser.RULE_list_in_brackets);
1019
+ list_literal() {
1020
+ let localctx = new List_literalContext(this, this._ctx, this.state);
1021
+ this.enterRule(localctx, 30, YiniParser.RULE_list_literal);
886
1022
  let _la;
887
1023
  try {
888
1024
  let _alt;
889
- this.state = 259;
1025
+ this.state = 272;
890
1026
  this._errHandler.sync(this);
891
- switch (this._interp.adaptivePredict(this._input, 42, this._ctx)) {
892
- case 1:
1027
+ switch (this._input.LA(1)) {
1028
+ case 15:
893
1029
  this.enterOuterAlt(localctx, 1);
894
1030
  {
895
- this.state = 236;
1031
+ this.state = 242;
896
1032
  this.match(YiniParser.OB);
897
- this.state = 240;
1033
+ this.state = 246;
898
1034
  this._errHandler.sync(this);
899
- _alt = this._interp.adaptivePredict(this._input, 39, this._ctx);
1035
+ _alt = this._interp.adaptivePredict(this._input, 37, this._ctx);
900
1036
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
901
1037
  if (_alt === 1) {
902
1038
  {
903
1039
  {
904
- this.state = 237;
1040
+ this.state = 243;
905
1041
  this.match(YiniParser.NL);
906
1042
  }
907
1043
  }
908
1044
  }
909
- this.state = 242;
1045
+ this.state = 248;
910
1046
  this._errHandler.sync(this);
911
- _alt = this._interp.adaptivePredict(this._input, 39, this._ctx);
1047
+ _alt = this._interp.adaptivePredict(this._input, 37, this._ctx);
1048
+ }
1049
+ this.state = 250;
1050
+ this._errHandler.sync(this);
1051
+ _la = this._input.LA(1);
1052
+ if (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 572933) !== 0)) {
1053
+ {
1054
+ this.state = 249;
1055
+ this.elements();
1056
+ }
912
1057
  }
913
- this.state = 243;
914
- this.elements();
915
- this.state = 247;
1058
+ this.state = 255;
916
1059
  this._errHandler.sync(this);
917
1060
  _la = this._input.LA(1);
918
- while (_la === 39) {
1061
+ while (_la === 41) {
919
1062
  {
920
1063
  {
921
- this.state = 244;
1064
+ this.state = 252;
922
1065
  this.match(YiniParser.NL);
923
1066
  }
924
1067
  }
925
- this.state = 249;
1068
+ this.state = 257;
926
1069
  this._errHandler.sync(this);
927
1070
  _la = this._input.LA(1);
928
1071
  }
929
- this.state = 250;
1072
+ this.state = 258;
930
1073
  this.match(YiniParser.CB);
1074
+ this.state = 262;
1075
+ this._errHandler.sync(this);
1076
+ _alt = this._interp.adaptivePredict(this._input, 40, this._ctx);
1077
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1078
+ if (_alt === 1) {
1079
+ {
1080
+ {
1081
+ this.state = 259;
1082
+ this.match(YiniParser.NL);
1083
+ }
1084
+ }
1085
+ }
1086
+ this.state = 264;
1087
+ this._errHandler.sync(this);
1088
+ _alt = this._interp.adaptivePredict(this._input, 40, this._ctx);
1089
+ }
931
1090
  }
932
1091
  break;
933
- case 2:
1092
+ case 28:
934
1093
  this.enterOuterAlt(localctx, 2);
935
1094
  {
936
- this.state = 252;
937
- this.empty_list();
938
- this.state = 256;
1095
+ this.state = 265;
1096
+ this.match(YiniParser.EMPTY_LIST);
1097
+ this.state = 269;
939
1098
  this._errHandler.sync(this);
940
1099
  _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
941
1100
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
942
1101
  if (_alt === 1) {
943
1102
  {
944
1103
  {
945
- this.state = 253;
1104
+ this.state = 266;
946
1105
  this.match(YiniParser.NL);
947
1106
  }
948
1107
  }
949
1108
  }
950
- this.state = 258;
1109
+ this.state = 271;
951
1110
  this._errHandler.sync(this);
952
1111
  _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
953
1112
  }
954
1113
  }
955
1114
  break;
1115
+ default:
1116
+ throw new antlr4_1.NoViableAltException(this);
956
1117
  }
957
1118
  }
958
1119
  catch (re) {
@@ -973,140 +1134,69 @@ class YiniParser extends antlr4_1.Parser {
973
1134
  // @RuleVersion(0)
974
1135
  elements() {
975
1136
  let localctx = new ElementsContext(this, this._ctx, this.state);
976
- this.enterRule(localctx, 24, YiniParser.RULE_elements);
977
- let _la;
978
- try {
979
- this.state = 269;
980
- this._errHandler.sync(this);
981
- switch (this._interp.adaptivePredict(this._input, 44, this._ctx)) {
982
- case 1:
983
- this.enterOuterAlt(localctx, 1);
984
- {
985
- this.state = 261;
986
- this.element();
987
- this.state = 263;
988
- this._errHandler.sync(this);
989
- _la = this._input.LA(1);
990
- if (_la === 11) {
991
- {
992
- this.state = 262;
993
- this.match(YiniParser.COMMA);
994
- }
995
- }
996
- }
997
- break;
998
- case 2:
999
- this.enterOuterAlt(localctx, 2);
1000
- {
1001
- this.state = 265;
1002
- this.element();
1003
- this.state = 266;
1004
- this.match(YiniParser.COMMA);
1005
- this.state = 267;
1006
- this.elements();
1007
- }
1008
- break;
1009
- }
1010
- }
1011
- catch (re) {
1012
- if (re instanceof antlr4_1.RecognitionException) {
1013
- localctx.exception = re;
1014
- this._errHandler.reportError(this, re);
1015
- this._errHandler.recover(this, re);
1016
- }
1017
- else {
1018
- throw re;
1019
- }
1020
- }
1021
- finally {
1022
- this.exitRule();
1023
- }
1024
- return localctx;
1025
- }
1026
- // @RuleVersion(0)
1027
- element() {
1028
- let localctx = new ElementContext(this, this._ctx, this.state);
1029
- this.enterRule(localctx, 26, YiniParser.RULE_element);
1137
+ this.enterRule(localctx, 32, YiniParser.RULE_elements);
1030
1138
  let _la;
1031
1139
  try {
1032
1140
  let _alt;
1033
- this.state = 297;
1034
- this._errHandler.sync(this);
1035
- switch (this._interp.adaptivePredict(this._input, 49, this._ctx)) {
1036
- case 1:
1037
- this.enterOuterAlt(localctx, 1);
1038
- {
1039
- this.state = 274;
1040
- this._errHandler.sync(this);
1041
- _la = this._input.LA(1);
1042
- while (_la === 39) {
1141
+ this.enterOuterAlt(localctx, 1);
1142
+ {
1143
+ this.state = 274;
1144
+ this.value();
1145
+ this.state = 291;
1146
+ this._errHandler.sync(this);
1147
+ _alt = this._interp.adaptivePredict(this._input, 45, this._ctx);
1148
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1149
+ if (_alt === 1) {
1150
+ {
1043
1151
  {
1044
- {
1045
- this.state = 271;
1046
- this.match(YiniParser.NL);
1152
+ this.state = 278;
1153
+ this._errHandler.sync(this);
1154
+ _la = this._input.LA(1);
1155
+ while (_la === 41) {
1156
+ {
1157
+ {
1158
+ this.state = 275;
1159
+ this.match(YiniParser.NL);
1160
+ }
1161
+ }
1162
+ this.state = 280;
1163
+ this._errHandler.sync(this);
1164
+ _la = this._input.LA(1);
1047
1165
  }
1048
- }
1049
- this.state = 276;
1050
- this._errHandler.sync(this);
1051
- _la = this._input.LA(1);
1052
- }
1053
- this.state = 277;
1054
- this.value();
1055
- this.state = 281;
1056
- this._errHandler.sync(this);
1057
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
1058
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1059
- if (_alt === 1) {
1060
- {
1166
+ this.state = 281;
1167
+ this.match(YiniParser.COMMA);
1168
+ this.state = 285;
1169
+ this._errHandler.sync(this);
1170
+ _la = this._input.LA(1);
1171
+ while (_la === 41) {
1061
1172
  {
1062
- this.state = 278;
1063
- this.match(YiniParser.NL);
1173
+ {
1174
+ this.state = 282;
1175
+ this.match(YiniParser.NL);
1176
+ }
1064
1177
  }
1178
+ this.state = 287;
1179
+ this._errHandler.sync(this);
1180
+ _la = this._input.LA(1);
1065
1181
  }
1182
+ this.state = 288;
1183
+ this.value();
1066
1184
  }
1067
- this.state = 283;
1068
- this._errHandler.sync(this);
1069
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
1070
1185
  }
1071
1186
  }
1072
- break;
1073
- case 2:
1074
- this.enterOuterAlt(localctx, 2);
1187
+ this.state = 293;
1188
+ this._errHandler.sync(this);
1189
+ _alt = this._interp.adaptivePredict(this._input, 45, this._ctx);
1190
+ }
1191
+ this.state = 295;
1192
+ this._errHandler.sync(this);
1193
+ _la = this._input.LA(1);
1194
+ if (_la === 13) {
1075
1195
  {
1076
- this.state = 287;
1077
- this._errHandler.sync(this);
1078
- _la = this._input.LA(1);
1079
- while (_la === 39) {
1080
- {
1081
- {
1082
- this.state = 284;
1083
- this.match(YiniParser.NL);
1084
- }
1085
- }
1086
- this.state = 289;
1087
- this._errHandler.sync(this);
1088
- _la = this._input.LA(1);
1089
- }
1090
- this.state = 290;
1091
- this.list_in_brackets();
1092
1196
  this.state = 294;
1093
- this._errHandler.sync(this);
1094
- _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
1095
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1096
- if (_alt === 1) {
1097
- {
1098
- {
1099
- this.state = 291;
1100
- this.match(YiniParser.NL);
1101
- }
1102
- }
1103
- }
1104
- this.state = 296;
1105
- this._errHandler.sync(this);
1106
- _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
1107
- }
1197
+ this.match(YiniParser.COMMA);
1108
1198
  }
1109
- break;
1199
+ }
1110
1200
  }
1111
1201
  }
1112
1202
  catch (re) {
@@ -1127,11 +1217,11 @@ class YiniParser extends antlr4_1.Parser {
1127
1217
  // @RuleVersion(0)
1128
1218
  number_literal() {
1129
1219
  let localctx = new Number_literalContext(this, this._ctx, this.state);
1130
- this.enterRule(localctx, 28, YiniParser.RULE_number_literal);
1220
+ this.enterRule(localctx, 34, YiniParser.RULE_number_literal);
1131
1221
  try {
1132
1222
  this.enterOuterAlt(localctx, 1);
1133
1223
  {
1134
- this.state = 299;
1224
+ this.state = 297;
1135
1225
  this.match(YiniParser.NUMBER);
1136
1226
  }
1137
1227
  }
@@ -1153,11 +1243,11 @@ class YiniParser extends antlr4_1.Parser {
1153
1243
  // @RuleVersion(0)
1154
1244
  null_literal() {
1155
1245
  let localctx = new Null_literalContext(this, this._ctx, this.state);
1156
- this.enterRule(localctx, 30, YiniParser.RULE_null_literal);
1246
+ this.enterRule(localctx, 36, YiniParser.RULE_null_literal);
1157
1247
  try {
1158
1248
  this.enterOuterAlt(localctx, 1);
1159
1249
  {
1160
- this.state = 301;
1250
+ this.state = 299;
1161
1251
  this.match(YiniParser.NULL);
1162
1252
  }
1163
1253
  }
@@ -1179,28 +1269,28 @@ class YiniParser extends antlr4_1.Parser {
1179
1269
  // @RuleVersion(0)
1180
1270
  string_literal() {
1181
1271
  let localctx = new String_literalContext(this, this._ctx, this.state);
1182
- this.enterRule(localctx, 32, YiniParser.RULE_string_literal);
1272
+ this.enterRule(localctx, 38, YiniParser.RULE_string_literal);
1183
1273
  try {
1184
1274
  let _alt;
1185
1275
  this.enterOuterAlt(localctx, 1);
1186
1276
  {
1187
- this.state = 303;
1277
+ this.state = 301;
1188
1278
  this.match(YiniParser.STRING);
1189
- this.state = 307;
1279
+ this.state = 305;
1190
1280
  this._errHandler.sync(this);
1191
- _alt = this._interp.adaptivePredict(this._input, 50, this._ctx);
1281
+ _alt = this._interp.adaptivePredict(this._input, 47, this._ctx);
1192
1282
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
1193
1283
  if (_alt === 1) {
1194
1284
  {
1195
1285
  {
1196
- this.state = 304;
1286
+ this.state = 302;
1197
1287
  this.string_concat();
1198
1288
  }
1199
1289
  }
1200
1290
  }
1201
- this.state = 309;
1291
+ this.state = 307;
1202
1292
  this._errHandler.sync(this);
1203
- _alt = this._interp.adaptivePredict(this._input, 50, this._ctx);
1293
+ _alt = this._interp.adaptivePredict(this._input, 47, this._ctx);
1204
1294
  }
1205
1295
  }
1206
1296
  }
@@ -1222,42 +1312,42 @@ class YiniParser extends antlr4_1.Parser {
1222
1312
  // @RuleVersion(0)
1223
1313
  string_concat() {
1224
1314
  let localctx = new String_concatContext(this, this._ctx, this.state);
1225
- this.enterRule(localctx, 34, YiniParser.RULE_string_concat);
1315
+ this.enterRule(localctx, 40, YiniParser.RULE_string_concat);
1226
1316
  let _la;
1227
1317
  try {
1228
1318
  this.enterOuterAlt(localctx, 1);
1229
1319
  {
1230
- this.state = 313;
1320
+ this.state = 311;
1231
1321
  this._errHandler.sync(this);
1232
1322
  _la = this._input.LA(1);
1233
- while (_la === 39) {
1323
+ while (_la === 41) {
1234
1324
  {
1235
1325
  {
1236
- this.state = 310;
1326
+ this.state = 308;
1237
1327
  this.match(YiniParser.NL);
1238
1328
  }
1239
1329
  }
1240
- this.state = 315;
1330
+ this.state = 313;
1241
1331
  this._errHandler.sync(this);
1242
1332
  _la = this._input.LA(1);
1243
1333
  }
1244
- this.state = 316;
1334
+ this.state = 314;
1245
1335
  this.match(YiniParser.PLUS);
1246
- this.state = 320;
1336
+ this.state = 318;
1247
1337
  this._errHandler.sync(this);
1248
1338
  _la = this._input.LA(1);
1249
- while (_la === 39) {
1339
+ while (_la === 41) {
1250
1340
  {
1251
1341
  {
1252
- this.state = 317;
1342
+ this.state = 315;
1253
1343
  this.match(YiniParser.NL);
1254
1344
  }
1255
1345
  }
1256
- this.state = 322;
1346
+ this.state = 320;
1257
1347
  this._errHandler.sync(this);
1258
1348
  _la = this._input.LA(1);
1259
1349
  }
1260
- this.state = 323;
1350
+ this.state = 321;
1261
1351
  this.match(YiniParser.STRING);
1262
1352
  }
1263
1353
  }
@@ -1279,14 +1369,14 @@ class YiniParser extends antlr4_1.Parser {
1279
1369
  // @RuleVersion(0)
1280
1370
  boolean_literal() {
1281
1371
  let localctx = new Boolean_literalContext(this, this._ctx, this.state);
1282
- this.enterRule(localctx, 36, YiniParser.RULE_boolean_literal);
1372
+ this.enterRule(localctx, 42, YiniParser.RULE_boolean_literal);
1283
1373
  let _la;
1284
1374
  try {
1285
1375
  this.enterOuterAlt(localctx, 1);
1286
1376
  {
1287
- this.state = 325;
1377
+ this.state = 323;
1288
1378
  _la = this._input.LA(1);
1289
- if (!(_la === 22 || _la === 23)) {
1379
+ if (!(_la === 24 || _la === 25)) {
1290
1380
  this._errHandler.recoverInline(this);
1291
1381
  }
1292
1382
  else {
@@ -1311,104 +1401,14 @@ class YiniParser extends antlr4_1.Parser {
1311
1401
  return localctx;
1312
1402
  }
1313
1403
  // @RuleVersion(0)
1314
- empty_object() {
1315
- let localctx = new Empty_objectContext(this, this._ctx, this.state);
1316
- this.enterRule(localctx, 38, YiniParser.RULE_empty_object);
1317
- let _la;
1318
- try {
1319
- this.state = 336;
1320
- this._errHandler.sync(this);
1321
- switch (this._input.LA(1)) {
1322
- case 25:
1323
- this.enterOuterAlt(localctx, 1);
1324
- {
1325
- this.state = 327;
1326
- this.match(YiniParser.EMPTY_OBJECT);
1327
- }
1328
- break;
1329
- case 15:
1330
- this.enterOuterAlt(localctx, 2);
1331
- {
1332
- this.state = 328;
1333
- this.match(YiniParser.OC);
1334
- this.state = 332;
1335
- this._errHandler.sync(this);
1336
- _la = this._input.LA(1);
1337
- while (_la === 39) {
1338
- {
1339
- {
1340
- this.state = 329;
1341
- this.match(YiniParser.NL);
1342
- }
1343
- }
1344
- this.state = 334;
1345
- this._errHandler.sync(this);
1346
- _la = this._input.LA(1);
1347
- }
1348
- this.state = 335;
1349
- this.match(YiniParser.CC);
1350
- }
1351
- break;
1352
- default:
1353
- throw new antlr4_1.NoViableAltException(this);
1354
- }
1355
- }
1356
- catch (re) {
1357
- if (re instanceof antlr4_1.RecognitionException) {
1358
- localctx.exception = re;
1359
- this._errHandler.reportError(this, re);
1360
- this._errHandler.recover(this, re);
1361
- }
1362
- else {
1363
- throw re;
1364
- }
1365
- }
1366
- finally {
1367
- this.exitRule();
1368
- }
1369
- return localctx;
1370
- }
1371
- // @RuleVersion(0)
1372
- empty_list() {
1373
- let localctx = new Empty_listContext(this, this._ctx, this.state);
1374
- this.enterRule(localctx, 40, YiniParser.RULE_empty_list);
1375
- let _la;
1404
+ bad_meta_text() {
1405
+ let localctx = new Bad_meta_textContext(this, this._ctx, this.state);
1406
+ this.enterRule(localctx, 44, YiniParser.RULE_bad_meta_text);
1376
1407
  try {
1377
- this.state = 347;
1378
- this._errHandler.sync(this);
1379
- switch (this._input.LA(1)) {
1380
- case 26:
1381
- this.enterOuterAlt(localctx, 1);
1382
- {
1383
- this.state = 338;
1384
- this.match(YiniParser.EMPTY_LIST);
1385
- }
1386
- break;
1387
- case 13:
1388
- this.enterOuterAlt(localctx, 2);
1389
- {
1390
- this.state = 339;
1391
- this.match(YiniParser.OB);
1392
- this.state = 343;
1393
- this._errHandler.sync(this);
1394
- _la = this._input.LA(1);
1395
- while (_la === 39) {
1396
- {
1397
- {
1398
- this.state = 340;
1399
- this.match(YiniParser.NL);
1400
- }
1401
- }
1402
- this.state = 345;
1403
- this._errHandler.sync(this);
1404
- _la = this._input.LA(1);
1405
- }
1406
- this.state = 346;
1407
- this.match(YiniParser.CB);
1408
- }
1409
- break;
1410
- default:
1411
- throw new antlr4_1.NoViableAltException(this);
1408
+ this.enterOuterAlt(localctx, 1);
1409
+ {
1410
+ this.state = 325;
1411
+ this.match(YiniParser.META_INVALID);
1412
1412
  }
1413
1413
  }
1414
1414
  catch (re) {
@@ -1429,94 +1429,94 @@ class YiniParser extends antlr4_1.Parser {
1429
1429
  // @RuleVersion(0)
1430
1430
  bad_member() {
1431
1431
  let localctx = new Bad_memberContext(this, this._ctx, this.state);
1432
- this.enterRule(localctx, 42, YiniParser.RULE_bad_member);
1432
+ this.enterRule(localctx, 46, YiniParser.RULE_bad_member);
1433
1433
  let _la;
1434
1434
  try {
1435
1435
  this.enterOuterAlt(localctx, 1);
1436
1436
  {
1437
- this.state = 350;
1437
+ this.state = 328;
1438
1438
  this._errHandler.sync(this);
1439
- switch (this._interp.adaptivePredict(this._input, 57, this._ctx)) {
1439
+ switch (this._interp.adaptivePredict(this._input, 50, this._ctx)) {
1440
1440
  case 1:
1441
1441
  {
1442
- this.state = 349;
1442
+ this.state = 327;
1443
1443
  this.match(YiniParser.WS);
1444
1444
  }
1445
1445
  break;
1446
1446
  }
1447
- this.state = 354;
1447
+ this.state = 332;
1448
1448
  this._errHandler.sync(this);
1449
1449
  switch (this._input.LA(1)) {
1450
- case 47:
1450
+ case 49:
1451
1451
  {
1452
- this.state = 352;
1452
+ this.state = 330;
1453
1453
  this.match(YiniParser.REST);
1454
1454
  }
1455
1455
  break;
1456
- case 13:
1457
1456
  case 15:
1458
- case 22:
1459
- case 23:
1457
+ case 17:
1460
1458
  case 24:
1461
1459
  case 25:
1462
1460
  case 26:
1461
+ case 27:
1463
1462
  case 28:
1464
- case 32:
1463
+ case 30:
1464
+ case 34:
1465
1465
  {
1466
- this.state = 353;
1466
+ this.state = 331;
1467
1467
  this.value();
1468
1468
  }
1469
1469
  break;
1470
- case 9:
1471
- case 41:
1470
+ case 11:
1471
+ case 43:
1472
1472
  break;
1473
1473
  default:
1474
1474
  break;
1475
1475
  }
1476
- this.state = 357;
1476
+ this.state = 335;
1477
1477
  this._errHandler.sync(this);
1478
1478
  _la = this._input.LA(1);
1479
- if (_la === 41) {
1479
+ if (_la === 43) {
1480
1480
  {
1481
- this.state = 356;
1481
+ this.state = 334;
1482
1482
  this.match(YiniParser.WS);
1483
1483
  }
1484
1484
  }
1485
- this.state = 359;
1485
+ this.state = 337;
1486
1486
  this.match(YiniParser.EQ);
1487
- this.state = 362;
1487
+ this.state = 340;
1488
1488
  this._errHandler.sync(this);
1489
1489
  switch (this._input.LA(1)) {
1490
- case 13:
1491
1490
  case 15:
1492
- case 22:
1493
- case 23:
1491
+ case 17:
1494
1492
  case 24:
1495
1493
  case 25:
1496
1494
  case 26:
1495
+ case 27:
1497
1496
  case 28:
1498
- case 32:
1497
+ case 30:
1498
+ case 34:
1499
1499
  {
1500
- this.state = 360;
1500
+ this.state = 338;
1501
1501
  this.value();
1502
1502
  }
1503
1503
  break;
1504
- case 47:
1504
+ case 49:
1505
1505
  {
1506
- this.state = 361;
1506
+ this.state = 339;
1507
1507
  this.match(YiniParser.REST);
1508
1508
  }
1509
1509
  break;
1510
1510
  default:
1511
1511
  throw new antlr4_1.NoViableAltException(this);
1512
1512
  }
1513
- this.state = 365;
1513
+ this.state = 343;
1514
1514
  this._errHandler.sync(this);
1515
- switch (this._interp.adaptivePredict(this._input, 61, this._ctx)) {
1515
+ switch (this._interp.adaptivePredict(this._input, 54, this._ctx)) {
1516
1516
  case 1:
1517
1517
  {
1518
- this.state = 364;
1519
- this.match(YiniParser.NL);
1518
+ this.state = 342;
1519
+ this.eol();
1520
1520
  }
1521
1521
  break;
1522
1522
  }
@@ -1544,77 +1544,83 @@ class YiniParser extends antlr4_1.Parser {
1544
1544
  return YiniParser.__ATN;
1545
1545
  }
1546
1546
  }
1547
- YiniParser.YINI_MARKER = 1;
1548
- YiniParser.SECTION_HEAD = 2;
1549
- YiniParser.TERMINAL_TOKEN = 3;
1550
- YiniParser.SS = 4;
1551
- YiniParser.EUR = 5;
1552
- YiniParser.CARET = 6;
1553
- YiniParser.GT = 7;
1554
- YiniParser.LT = 8;
1555
- YiniParser.EQ = 9;
1556
- YiniParser.HASH = 10;
1557
- YiniParser.COMMA = 11;
1558
- YiniParser.COLON = 12;
1559
- YiniParser.OB = 13;
1560
- YiniParser.CB = 14;
1561
- YiniParser.OC = 15;
1562
- YiniParser.CC = 16;
1563
- YiniParser.PLUS = 17;
1564
- YiniParser.DOLLAR = 18;
1565
- YiniParser.PC = 19;
1566
- YiniParser.AT = 20;
1567
- YiniParser.SEMICOLON = 21;
1568
- YiniParser.BOOLEAN_FALSE = 22;
1569
- YiniParser.BOOLEAN_TRUE = 23;
1570
- YiniParser.NULL = 24;
1571
- YiniParser.EMPTY_OBJECT = 25;
1572
- YiniParser.EMPTY_LIST = 26;
1573
- YiniParser.SHEBANG = 27;
1574
- YiniParser.NUMBER = 28;
1575
- YiniParser.KEY = 29;
1576
- YiniParser.IDENT = 30;
1577
- YiniParser.IDENT_BACKTICKED = 31;
1578
- YiniParser.STRING = 32;
1579
- YiniParser.TRIPLE_QUOTED_STRING = 33;
1580
- YiniParser.SINGLE_OR_DOUBLE = 34;
1581
- YiniParser.R_AND_C_STRING = 35;
1582
- YiniParser.HYPER_STRING = 36;
1583
- YiniParser.ESC_SEQ = 37;
1584
- YiniParser.ESC_SEQ_BASE = 38;
1585
- YiniParser.NL = 39;
1586
- YiniParser.SINGLE_NL = 40;
1587
- YiniParser.WS = 41;
1588
- YiniParser.BLOCK_COMMENT = 42;
1589
- YiniParser.COMMENT = 43;
1590
- YiniParser.LINE_COMMENT = 44;
1591
- YiniParser.INLINE_COMMENT = 45;
1592
- YiniParser.IDENT_INVALID = 46;
1593
- YiniParser.REST = 47;
1547
+ YiniParser.YINI_TOKEN = 1;
1548
+ YiniParser.INCLUDE_TOKEN = 2;
1549
+ YiniParser.DEPRECATED_TOKEN = 3;
1550
+ YiniParser.SECTION_HEAD = 4;
1551
+ YiniParser.TERMINAL_TOKEN = 5;
1552
+ YiniParser.SS = 6;
1553
+ YiniParser.EUR = 7;
1554
+ YiniParser.CARET = 8;
1555
+ YiniParser.GT = 9;
1556
+ YiniParser.LT = 10;
1557
+ YiniParser.EQ = 11;
1558
+ YiniParser.HASH = 12;
1559
+ YiniParser.COMMA = 13;
1560
+ YiniParser.COLON = 14;
1561
+ YiniParser.OB = 15;
1562
+ YiniParser.CB = 16;
1563
+ YiniParser.OC = 17;
1564
+ YiniParser.CC = 18;
1565
+ YiniParser.PLUS = 19;
1566
+ YiniParser.DOLLAR = 20;
1567
+ YiniParser.PC = 21;
1568
+ YiniParser.AT = 22;
1569
+ YiniParser.SEMICOLON = 23;
1570
+ YiniParser.BOOLEAN_FALSE = 24;
1571
+ YiniParser.BOOLEAN_TRUE = 25;
1572
+ YiniParser.NULL = 26;
1573
+ YiniParser.EMPTY_OBJECT = 27;
1574
+ YiniParser.EMPTY_LIST = 28;
1575
+ YiniParser.SHEBANG = 29;
1576
+ YiniParser.NUMBER = 30;
1577
+ YiniParser.KEY = 31;
1578
+ YiniParser.IDENT = 32;
1579
+ YiniParser.IDENT_BACKTICKED = 33;
1580
+ YiniParser.STRING = 34;
1581
+ YiniParser.TRIPLE_QUOTED_STRING = 35;
1582
+ YiniParser.SINGLE_OR_DOUBLE = 36;
1583
+ YiniParser.R_AND_C_STRING = 37;
1584
+ YiniParser.HYPER_STRING = 38;
1585
+ YiniParser.ESC_SEQ = 39;
1586
+ YiniParser.ESC_SEQ_BASE = 40;
1587
+ YiniParser.NL = 41;
1588
+ YiniParser.SINGLE_NL = 42;
1589
+ YiniParser.WS = 43;
1590
+ YiniParser.BLOCK_COMMENT = 44;
1591
+ YiniParser.COMMENT = 45;
1592
+ YiniParser.LINE_COMMENT = 46;
1593
+ YiniParser.INLINE_COMMENT = 47;
1594
+ YiniParser.IDENT_INVALID = 48;
1595
+ YiniParser.REST = 49;
1596
+ YiniParser.META_INVALID = 50;
1594
1597
  YiniParser.EOF = antlr4_1.Token.EOF;
1595
1598
  YiniParser.RULE_yini = 0;
1596
- YiniParser.RULE_section = 1;
1597
- YiniParser.RULE_terminal_line = 2;
1598
- YiniParser.RULE_section_members = 3;
1599
- YiniParser.RULE_member = 4;
1600
- YiniParser.RULE_member_colon_list = 5;
1601
- YiniParser.RULE_value = 6;
1602
- YiniParser.RULE_object_literal = 7;
1603
- YiniParser.RULE_objectMemberList = 8;
1604
- YiniParser.RULE_objectMember = 9;
1605
- YiniParser.RULE_list = 10;
1606
- YiniParser.RULE_list_in_brackets = 11;
1607
- YiniParser.RULE_elements = 12;
1608
- YiniParser.RULE_element = 13;
1609
- YiniParser.RULE_number_literal = 14;
1610
- YiniParser.RULE_null_literal = 15;
1611
- YiniParser.RULE_string_literal = 16;
1612
- YiniParser.RULE_string_concat = 17;
1613
- YiniParser.RULE_boolean_literal = 18;
1614
- YiniParser.RULE_empty_object = 19;
1615
- YiniParser.RULE_empty_list = 20;
1616
- YiniParser.RULE_bad_member = 21;
1599
+ YiniParser.RULE_prolog = 1;
1600
+ YiniParser.RULE_terminal_stmt = 2;
1601
+ YiniParser.RULE_stmt = 3;
1602
+ YiniParser.RULE_meta_stmt = 4;
1603
+ YiniParser.RULE_directive = 5;
1604
+ YiniParser.RULE_annotation = 6;
1605
+ YiniParser.RULE_eol = 7;
1606
+ YiniParser.RULE_assignment = 8;
1607
+ YiniParser.RULE_member = 9;
1608
+ YiniParser.RULE_colon_list_decl = 10;
1609
+ YiniParser.RULE_value = 11;
1610
+ YiniParser.RULE_object_literal = 12;
1611
+ YiniParser.RULE_object_members = 13;
1612
+ YiniParser.RULE_object_member = 14;
1613
+ YiniParser.RULE_list_literal = 15;
1614
+ YiniParser.RULE_elements = 16;
1615
+ YiniParser.RULE_number_literal = 17;
1616
+ YiniParser.RULE_null_literal = 18;
1617
+ YiniParser.RULE_string_literal = 19;
1618
+ YiniParser.RULE_string_concat = 20;
1619
+ YiniParser.RULE_boolean_literal = 21;
1620
+ YiniParser.RULE_bad_meta_text = 22;
1621
+ YiniParser.RULE_bad_member = 23;
1617
1622
  YiniParser.literalNames = [null, null,
1623
+ null, null,
1618
1624
  null, null,
1619
1625
  "'\\u00A7'",
1620
1626
  "'\\u20AC'",
@@ -1629,7 +1635,9 @@ YiniParser.literalNames = [null, null,
1629
1635
  null, null,
1630
1636
  null, "'{}'",
1631
1637
  "'[]'"];
1632
- YiniParser.symbolicNames = [null, "YINI_MARKER",
1638
+ YiniParser.symbolicNames = [null, "YINI_TOKEN",
1639
+ "INCLUDE_TOKEN",
1640
+ "DEPRECATED_TOKEN",
1633
1641
  "SECTION_HEAD",
1634
1642
  "TERMINAL_TOKEN",
1635
1643
  "SS", "EUR",
@@ -1660,143 +1668,170 @@ YiniParser.symbolicNames = [null, "YINI_MARKER",
1660
1668
  "LINE_COMMENT",
1661
1669
  "INLINE_COMMENT",
1662
1670
  "IDENT_INVALID",
1663
- "REST"];
1671
+ "REST", "META_INVALID"];
1664
1672
  // tslint:disable:no-trailing-whitespace
1665
1673
  YiniParser.ruleNames = [
1666
- "yini", "section", "terminal_line", "section_members", "member", "member_colon_list",
1667
- "value", "object_literal", "objectMemberList", "objectMember", "list",
1668
- "list_in_brackets", "elements", "element", "number_literal", "null_literal",
1669
- "string_literal", "string_concat", "boolean_literal", "empty_object",
1670
- "empty_list", "bad_member",
1674
+ "yini", "prolog", "terminal_stmt", "stmt", "meta_stmt", "directive", "annotation",
1675
+ "eol", "assignment", "member", "colon_list_decl", "value", "object_literal",
1676
+ "object_members", "object_member", "list_literal", "elements", "number_literal",
1677
+ "null_literal", "string_literal", "string_concat", "boolean_literal",
1678
+ "bad_meta_text", "bad_member",
1671
1679
  ];
1672
- YiniParser._serializedATN = [4, 1, 47, 368, 2, 0, 7, 0, 2,
1680
+ YiniParser._serializedATN = [4, 1, 50, 346, 2, 0, 7, 0, 2,
1673
1681
  1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
1674
1682
  10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
1675
- 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 1, 0, 3, 0, 46, 8, 0, 1, 0, 5, 0, 49,
1676
- 8, 0, 10, 0, 12, 0, 52, 9, 0, 1, 0, 5, 0, 55, 8, 0, 10, 0, 12, 0, 58, 9, 0, 1, 0, 3, 0, 61, 8, 0, 1, 0,
1677
- 5, 0, 64, 8, 0, 10, 0, 12, 0, 67, 9, 0, 1, 0, 5, 0, 70, 8, 0, 10, 0, 12, 0, 73, 9, 0, 1, 0, 4, 0, 76,
1678
- 8, 0, 11, 0, 12, 0, 77, 1, 0, 5, 0, 81, 8, 0, 10, 0, 12, 0, 84, 9, 0, 1, 0, 3, 0, 87, 8, 0, 1, 0, 3, 0,
1679
- 90, 8, 0, 1, 1, 3, 1, 93, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 4, 2, 99, 8, 2, 11, 2, 12, 2, 100, 1, 2, 3, 2,
1680
- 104, 8, 2, 1, 2, 5, 2, 107, 8, 2, 10, 2, 12, 2, 110, 9, 2, 3, 2, 112, 8, 2, 1, 3, 4, 3, 115, 8, 3, 11,
1681
- 3, 12, 3, 116, 1, 4, 1, 4, 3, 4, 121, 8, 4, 1, 4, 1, 4, 3, 4, 125, 8, 4, 1, 4, 3, 4, 128, 8, 4, 1, 4,
1682
- 4, 4, 131, 8, 4, 11, 4, 12, 4, 132, 1, 4, 1, 4, 1, 4, 3, 4, 138, 8, 4, 1, 4, 3, 4, 141, 8, 4, 1, 5, 1,
1683
- 5, 1, 5, 3, 5, 146, 8, 5, 1, 5, 3, 5, 149, 8, 5, 1, 5, 4, 5, 152, 8, 5, 11, 5, 12, 5, 153, 1, 6, 1, 6,
1684
- 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 162, 8, 6, 1, 7, 1, 7, 5, 7, 166, 8, 7, 10, 7, 12, 7, 169, 9, 7, 1, 7, 1,
1685
- 7, 5, 7, 173, 8, 7, 10, 7, 12, 7, 176, 9, 7, 1, 7, 1, 7, 5, 7, 180, 8, 7, 10, 7, 12, 7, 183, 9, 7, 1,
1686
- 7, 1, 7, 5, 7, 187, 8, 7, 10, 7, 12, 7, 190, 9, 7, 3, 7, 192, 8, 7, 1, 8, 1, 8, 1, 8, 5, 8, 197, 8, 8,
1687
- 10, 8, 12, 8, 200, 9, 8, 1, 8, 5, 8, 203, 8, 8, 10, 8, 12, 8, 206, 9, 8, 1, 8, 3, 8, 209, 8, 8, 1, 8,
1688
- 1, 8, 5, 8, 213, 8, 8, 10, 8, 12, 8, 216, 9, 8, 3, 8, 218, 8, 8, 1, 9, 1, 9, 3, 9, 222, 8, 9, 1, 9, 1,
1689
- 9, 5, 9, 226, 8, 9, 10, 9, 12, 9, 229, 9, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 235, 8, 10, 1, 11, 1,
1690
- 11, 5, 11, 239, 8, 11, 10, 11, 12, 11, 242, 9, 11, 1, 11, 1, 11, 5, 11, 246, 8, 11, 10, 11, 12,
1691
- 11, 249, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 255, 8, 11, 10, 11, 12, 11, 258, 9, 11, 3, 11,
1692
- 260, 8, 11, 1, 12, 1, 12, 3, 12, 264, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 270, 8, 12, 1, 13,
1693
- 5, 13, 273, 8, 13, 10, 13, 12, 13, 276, 9, 13, 1, 13, 1, 13, 5, 13, 280, 8, 13, 10, 13, 12, 13,
1694
- 283, 9, 13, 1, 13, 5, 13, 286, 8, 13, 10, 13, 12, 13, 289, 9, 13, 1, 13, 1, 13, 5, 13, 293, 8, 13,
1695
- 10, 13, 12, 13, 296, 9, 13, 3, 13, 298, 8, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 5, 16, 306,
1696
- 8, 16, 10, 16, 12, 16, 309, 9, 16, 1, 17, 5, 17, 312, 8, 17, 10, 17, 12, 17, 315, 9, 17, 1, 17,
1697
- 1, 17, 5, 17, 319, 8, 17, 10, 17, 12, 17, 322, 9, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1,
1698
- 19, 5, 19, 331, 8, 19, 10, 19, 12, 19, 334, 9, 19, 1, 19, 3, 19, 337, 8, 19, 1, 20, 1, 20, 1, 20,
1699
- 5, 20, 342, 8, 20, 10, 20, 12, 20, 345, 9, 20, 1, 20, 3, 20, 348, 8, 20, 1, 21, 3, 21, 351, 8, 21,
1700
- 1, 21, 1, 21, 3, 21, 355, 8, 21, 1, 21, 3, 21, 358, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 363, 8, 21,
1701
- 1, 21, 3, 21, 366, 8, 21, 1, 21, 0, 0, 22, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28,
1702
- 30, 32, 34, 36, 38, 40, 42, 0, 1, 1, 0, 22, 23, 414, 0, 45, 1, 0, 0, 0, 2, 92, 1, 0, 0, 0, 4, 96, 1,
1703
- 0, 0, 0, 6, 114, 1, 0, 0, 0, 8, 140, 1, 0, 0, 0, 10, 142, 1, 0, 0, 0, 12, 161, 1, 0, 0, 0, 14, 191,
1704
- 1, 0, 0, 0, 16, 217, 1, 0, 0, 0, 18, 219, 1, 0, 0, 0, 20, 234, 1, 0, 0, 0, 22, 259, 1, 0, 0, 0, 24,
1705
- 269, 1, 0, 0, 0, 26, 297, 1, 0, 0, 0, 28, 299, 1, 0, 0, 0, 30, 301, 1, 0, 0, 0, 32, 303, 1, 0, 0, 0,
1706
- 34, 313, 1, 0, 0, 0, 36, 325, 1, 0, 0, 0, 38, 336, 1, 0, 0, 0, 40, 347, 1, 0, 0, 0, 42, 350, 1, 0,
1707
- 0, 0, 44, 46, 5, 27, 0, 0, 45, 44, 1, 0, 0, 0, 45, 46, 1, 0, 0, 0, 46, 50, 1, 0, 0, 0, 47, 49, 5, 45,
1708
- 0, 0, 48, 47, 1, 0, 0, 0, 49, 52, 1, 0, 0, 0, 50, 48, 1, 0, 0, 0, 50, 51, 1, 0, 0, 0, 51, 56, 1, 0, 0,
1709
- 0, 52, 50, 1, 0, 0, 0, 53, 55, 5, 39, 0, 0, 54, 53, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0,
1710
- 0, 56, 57, 1, 0, 0, 0, 57, 60, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 61, 5, 1, 0, 0, 60, 59, 1, 0, 0, 0,
1711
- 60, 61, 1, 0, 0, 0, 61, 65, 1, 0, 0, 0, 62, 64, 5, 45, 0, 0, 63, 62, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0,
1712
- 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 71, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 70, 5, 39, 0, 0,
1713
- 69, 68, 1, 0, 0, 0, 70, 73, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 71, 72, 1, 0, 0, 0, 72, 75, 1, 0, 0, 0, 73,
1714
- 71, 1, 0, 0, 0, 74, 76, 3, 2, 1, 0, 75, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 77, 78,
1715
- 1, 0, 0, 0, 78, 82, 1, 0, 0, 0, 79, 81, 5, 39, 0, 0, 80, 79, 1, 0, 0, 0, 81, 84, 1, 0, 0, 0, 82, 80,
1716
- 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 86, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0, 85, 87, 3, 4, 2, 0, 86, 85, 1,
1717
- 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 89, 1, 0, 0, 0, 88, 90, 5, 0, 0, 1, 89, 88, 1, 0, 0, 0, 89, 90, 1, 0,
1718
- 0, 0, 90, 1, 1, 0, 0, 0, 91, 93, 5, 2, 0, 0, 92, 91, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 94, 1, 0, 0,
1719
- 0, 94, 95, 3, 6, 3, 0, 95, 3, 1, 0, 0, 0, 96, 111, 5, 3, 0, 0, 97, 99, 5, 39, 0, 0, 98, 97, 1, 0, 0,
1720
- 0, 99, 100, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101, 112, 1, 0, 0, 0, 102, 104,
1721
- 5, 45, 0, 0, 103, 102, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 108, 1, 0, 0, 0, 105, 107, 5, 39, 0,
1722
- 0, 106, 105, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 112,
1723
- 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 98, 1, 0, 0, 0, 111, 103, 1, 0, 0, 0, 112, 5, 1, 0, 0, 0, 113,
1724
- 115, 3, 8, 4, 0, 114, 113, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 116, 117, 1, 0,
1725
- 0, 0, 117, 7, 1, 0, 0, 0, 118, 120, 5, 29, 0, 0, 119, 121, 5, 41, 0, 0, 120, 119, 1, 0, 0, 0, 120,
1726
- 121, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 124, 5, 9, 0, 0, 123, 125, 5, 41, 0, 0, 124, 123, 1,
1727
- 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 127, 1, 0, 0, 0, 126, 128, 3, 12, 6, 0, 127, 126, 1, 0, 0, 0,
1728
- 127, 128, 1, 0, 0, 0, 128, 130, 1, 0, 0, 0, 129, 131, 5, 39, 0, 0, 130, 129, 1, 0, 0, 0, 131, 132,
1729
- 1, 0, 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 141, 1, 0, 0, 0, 134, 141, 3, 10, 5,
1730
- 0, 135, 137, 5, 2, 0, 0, 136, 138, 3, 6, 3, 0, 137, 136, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 141,
1731
- 1, 0, 0, 0, 139, 141, 3, 42, 21, 0, 140, 118, 1, 0, 0, 0, 140, 134, 1, 0, 0, 0, 140, 135, 1, 0, 0,
1732
- 0, 140, 139, 1, 0, 0, 0, 141, 9, 1, 0, 0, 0, 142, 143, 5, 29, 0, 0, 143, 145, 5, 12, 0, 0, 144, 146,
1733
- 5, 41, 0, 0, 145, 144, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 148, 1, 0, 0, 0, 147, 149, 3, 24, 12,
1734
- 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 151, 1, 0, 0, 0, 150, 152, 5, 39, 0, 0, 151,
1735
- 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 11, 1, 0,
1736
- 0, 0, 155, 162, 3, 30, 15, 0, 156, 162, 3, 32, 16, 0, 157, 162, 3, 28, 14, 0, 158, 162, 3, 36,
1737
- 18, 0, 159, 162, 3, 22, 11, 0, 160, 162, 3, 14, 7, 0, 161, 155, 1, 0, 0, 0, 161, 156, 1, 0, 0, 0,
1738
- 161, 157, 1, 0, 0, 0, 161, 158, 1, 0, 0, 0, 161, 159, 1, 0, 0, 0, 161, 160, 1, 0, 0, 0, 162, 13,
1739
- 1, 0, 0, 0, 163, 167, 5, 15, 0, 0, 164, 166, 5, 39, 0, 0, 165, 164, 1, 0, 0, 0, 166, 169, 1, 0, 0,
1740
- 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 170, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 170, 174,
1741
- 3, 16, 8, 0, 171, 173, 5, 39, 0, 0, 172, 171, 1, 0, 0, 0, 173, 176, 1, 0, 0, 0, 174, 172, 1, 0, 0,
1742
- 0, 174, 175, 1, 0, 0, 0, 175, 177, 1, 0, 0, 0, 176, 174, 1, 0, 0, 0, 177, 181, 5, 16, 0, 0, 178,
1743
- 180, 5, 39, 0, 0, 179, 178, 1, 0, 0, 0, 180, 183, 1, 0, 0, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1,
1744
- 0, 0, 0, 182, 192, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 184, 188, 3, 38, 19, 0, 185, 187, 5, 39, 0,
1745
- 0, 186, 185, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 192,
1746
- 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 191, 163, 1, 0, 0, 0, 191, 184, 1, 0, 0, 0, 192, 15, 1, 0, 0, 0,
1747
- 193, 204, 3, 18, 9, 0, 194, 198, 5, 11, 0, 0, 195, 197, 5, 39, 0, 0, 196, 195, 1, 0, 0, 0, 197,
1748
- 200, 1, 0, 0, 0, 198, 196, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 201, 1, 0, 0, 0, 200, 198, 1, 0,
1749
- 0, 0, 201, 203, 3, 18, 9, 0, 202, 194, 1, 0, 0, 0, 203, 206, 1, 0, 0, 0, 204, 202, 1, 0, 0, 0, 204,
1750
- 205, 1, 0, 0, 0, 205, 208, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 207, 209, 5, 11, 0, 0, 208, 207, 1,
1751
- 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 218, 1, 0, 0, 0, 210, 214, 3, 38, 19, 0, 211, 213, 5, 39, 0,
1752
- 0, 212, 211, 1, 0, 0, 0, 213, 216, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 218,
1753
- 1, 0, 0, 0, 216, 214, 1, 0, 0, 0, 217, 193, 1, 0, 0, 0, 217, 210, 1, 0, 0, 0, 218, 17, 1, 0, 0, 0,
1754
- 219, 221, 5, 29, 0, 0, 220, 222, 5, 41, 0, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 223,
1755
- 1, 0, 0, 0, 223, 227, 5, 12, 0, 0, 224, 226, 5, 39, 0, 0, 225, 224, 1, 0, 0, 0, 226, 229, 1, 0, 0,
1756
- 0, 227, 225, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 230, 1, 0, 0, 0, 229, 227, 1, 0, 0, 0, 230, 231,
1757
- 3, 12, 6, 0, 231, 19, 1, 0, 0, 0, 232, 235, 3, 24, 12, 0, 233, 235, 3, 22, 11, 0, 234, 232, 1, 0,
1758
- 0, 0, 234, 233, 1, 0, 0, 0, 235, 21, 1, 0, 0, 0, 236, 240, 5, 13, 0, 0, 237, 239, 5, 39, 0, 0, 238,
1759
- 237, 1, 0, 0, 0, 239, 242, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 243, 1, 0,
1760
- 0, 0, 242, 240, 1, 0, 0, 0, 243, 247, 3, 24, 12, 0, 244, 246, 5, 39, 0, 0, 245, 244, 1, 0, 0, 0,
1761
- 246, 249, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 250, 1, 0, 0, 0, 249, 247,
1762
- 1, 0, 0, 0, 250, 251, 5, 14, 0, 0, 251, 260, 1, 0, 0, 0, 252, 256, 3, 40, 20, 0, 253, 255, 5, 39,
1763
- 0, 0, 254, 253, 1, 0, 0, 0, 255, 258, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257,
1764
- 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 259, 236, 1, 0, 0, 0, 259, 252, 1, 0, 0, 0, 260, 23, 1, 0,
1765
- 0, 0, 261, 263, 3, 26, 13, 0, 262, 264, 5, 11, 0, 0, 263, 262, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0,
1766
- 264, 270, 1, 0, 0, 0, 265, 266, 3, 26, 13, 0, 266, 267, 5, 11, 0, 0, 267, 268, 3, 24, 12, 0, 268,
1767
- 270, 1, 0, 0, 0, 269, 261, 1, 0, 0, 0, 269, 265, 1, 0, 0, 0, 270, 25, 1, 0, 0, 0, 271, 273, 5, 39,
1768
- 0, 0, 272, 271, 1, 0, 0, 0, 273, 276, 1, 0, 0, 0, 274, 272, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275,
1769
- 277, 1, 0, 0, 0, 276, 274, 1, 0, 0, 0, 277, 281, 3, 12, 6, 0, 278, 280, 5, 39, 0, 0, 279, 278, 1,
1770
- 0, 0, 0, 280, 283, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 298, 1, 0, 0, 0, 283,
1771
- 281, 1, 0, 0, 0, 284, 286, 5, 39, 0, 0, 285, 284, 1, 0, 0, 0, 286, 289, 1, 0, 0, 0, 287, 285, 1,
1772
- 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 290, 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 290, 294, 3, 22, 11, 0,
1773
- 291, 293, 5, 39, 0, 0, 292, 291, 1, 0, 0, 0, 293, 296, 1, 0, 0, 0, 294, 292, 1, 0, 0, 0, 294, 295,
1774
- 1, 0, 0, 0, 295, 298, 1, 0, 0, 0, 296, 294, 1, 0, 0, 0, 297, 274, 1, 0, 0, 0, 297, 287, 1, 0, 0, 0,
1775
- 298, 27, 1, 0, 0, 0, 299, 300, 5, 28, 0, 0, 300, 29, 1, 0, 0, 0, 301, 302, 5, 24, 0, 0, 302, 31,
1776
- 1, 0, 0, 0, 303, 307, 5, 32, 0, 0, 304, 306, 3, 34, 17, 0, 305, 304, 1, 0, 0, 0, 306, 309, 1, 0,
1777
- 0, 0, 307, 305, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 33, 1, 0, 0, 0, 309, 307, 1, 0, 0, 0, 310,
1778
- 312, 5, 39, 0, 0, 311, 310, 1, 0, 0, 0, 312, 315, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 313, 314, 1,
1779
- 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 316, 320, 5, 17, 0, 0, 317, 319, 5, 39, 0, 0,
1780
- 318, 317, 1, 0, 0, 0, 319, 322, 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 323,
1781
- 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 323, 324, 5, 32, 0, 0, 324, 35, 1, 0, 0, 0, 325, 326, 7, 0, 0, 0,
1782
- 326, 37, 1, 0, 0, 0, 327, 337, 5, 25, 0, 0, 328, 332, 5, 15, 0, 0, 329, 331, 5, 39, 0, 0, 330, 329,
1783
- 1, 0, 0, 0, 331, 334, 1, 0, 0, 0, 332, 330, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 335, 1, 0, 0, 0,
1784
- 334, 332, 1, 0, 0, 0, 335, 337, 5, 16, 0, 0, 336, 327, 1, 0, 0, 0, 336, 328, 1, 0, 0, 0, 337, 39,
1785
- 1, 0, 0, 0, 338, 348, 5, 26, 0, 0, 339, 343, 5, 13, 0, 0, 340, 342, 5, 39, 0, 0, 341, 340, 1, 0,
1786
- 0, 0, 342, 345, 1, 0, 0, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 346, 1, 0, 0, 0, 345,
1787
- 343, 1, 0, 0, 0, 346, 348, 5, 14, 0, 0, 347, 338, 1, 0, 0, 0, 347, 339, 1, 0, 0, 0, 348, 41, 1, 0,
1788
- 0, 0, 349, 351, 5, 41, 0, 0, 350, 349, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 354, 1, 0, 0, 0, 352,
1789
- 355, 5, 47, 0, 0, 353, 355, 3, 12, 6, 0, 354, 352, 1, 0, 0, 0, 354, 353, 1, 0, 0, 0, 354, 355, 1,
1790
- 0, 0, 0, 355, 357, 1, 0, 0, 0, 356, 358, 5, 41, 0, 0, 357, 356, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0,
1791
- 358, 359, 1, 0, 0, 0, 359, 362, 5, 9, 0, 0, 360, 363, 3, 12, 6, 0, 361, 363, 5, 47, 0, 0, 362, 360,
1792
- 1, 0, 0, 0, 362, 361, 1, 0, 0, 0, 363, 365, 1, 0, 0, 0, 364, 366, 5, 39, 0, 0, 365, 364, 1, 0, 0,
1793
- 0, 365, 366, 1, 0, 0, 0, 366, 43, 1, 0, 0, 0, 62, 45, 50, 56, 60, 65, 71, 77, 82, 86, 89, 92, 100,
1794
- 103, 108, 111, 116, 120, 124, 127, 132, 137, 140, 145, 148, 153, 161, 167, 174, 181, 188,
1795
- 191, 198, 204, 208, 214, 217, 221, 227, 234, 240, 247, 256, 259, 263, 269, 274, 281, 287,
1796
- 294, 297, 307, 313, 320, 332, 336, 343, 347, 350, 354, 357, 362, 365];
1683
+ 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 1, 0, 3,
1684
+ 0, 50, 8, 0, 1, 0, 5, 0, 53, 8, 0, 10, 0, 12, 0, 56, 9, 0, 1, 0, 3, 0, 59, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1,
1685
+ 5, 1, 65, 8, 1, 10, 1, 12, 1, 68, 9, 1, 1, 1, 4, 1, 71, 8, 1, 11, 1, 12, 1, 72, 3, 1, 75, 8, 1, 1, 2,
1686
+ 1, 2, 1, 2, 3, 2, 80, 8, 2, 1, 2, 5, 2, 83, 8, 2, 10, 2, 12, 2, 86, 9, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
1687
+ 1, 3, 3, 3, 94, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 101, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 107,
1688
+ 8, 5, 10, 5, 12, 5, 110, 9, 5, 1, 5, 3, 5, 113, 8, 5, 1, 5, 3, 5, 116, 8, 5, 1, 6, 1, 6, 1, 6, 1, 7, 3,
1689
+ 7, 122, 8, 7, 1, 7, 4, 7, 125, 8, 7, 11, 7, 12, 7, 126, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 3, 9, 134, 8, 9,
1690
+ 1, 9, 1, 9, 3, 9, 138, 8, 9, 1, 9, 3, 9, 141, 8, 9, 1, 10, 1, 10, 3, 10, 145, 8, 10, 1, 10, 1, 10, 1,
1691
+ 10, 4, 10, 150, 8, 10, 11, 10, 12, 10, 151, 5, 10, 154, 8, 10, 10, 10, 12, 10, 157, 9, 10, 1, 10,
1692
+ 1, 10, 1, 10, 4, 10, 162, 8, 10, 11, 10, 12, 10, 163, 5, 10, 166, 8, 10, 10, 10, 12, 10, 169, 9,
1693
+ 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 179, 8, 11, 1, 12, 1, 12, 5, 12,
1694
+ 183, 8, 12, 10, 12, 12, 12, 186, 9, 12, 1, 12, 3, 12, 189, 8, 12, 1, 12, 5, 12, 192, 8, 12, 10,
1695
+ 12, 12, 12, 195, 9, 12, 1, 12, 1, 12, 5, 12, 199, 8, 12, 10, 12, 12, 12, 202, 9, 12, 1, 12, 1, 12,
1696
+ 5, 12, 206, 8, 12, 10, 12, 12, 12, 209, 9, 12, 3, 12, 211, 8, 12, 1, 13, 1, 13, 1, 13, 5, 13, 216,
1697
+ 8, 13, 10, 13, 12, 13, 219, 9, 13, 1, 13, 5, 13, 222, 8, 13, 10, 13, 12, 13, 225, 9, 13, 1, 13,
1698
+ 3, 13, 228, 8, 13, 1, 14, 1, 14, 3, 14, 232, 8, 14, 1, 14, 1, 14, 5, 14, 236, 8, 14, 10, 14, 12,
1699
+ 14, 239, 9, 14, 1, 14, 1, 14, 1, 15, 1, 15, 5, 15, 245, 8, 15, 10, 15, 12, 15, 248, 9, 15, 1, 15,
1700
+ 3, 15, 251, 8, 15, 1, 15, 5, 15, 254, 8, 15, 10, 15, 12, 15, 257, 9, 15, 1, 15, 1, 15, 5, 15, 261,
1701
+ 8, 15, 10, 15, 12, 15, 264, 9, 15, 1, 15, 1, 15, 5, 15, 268, 8, 15, 10, 15, 12, 15, 271, 9, 15,
1702
+ 3, 15, 273, 8, 15, 1, 16, 1, 16, 5, 16, 277, 8, 16, 10, 16, 12, 16, 280, 9, 16, 1, 16, 1, 16, 5,
1703
+ 16, 284, 8, 16, 10, 16, 12, 16, 287, 9, 16, 1, 16, 5, 16, 290, 8, 16, 10, 16, 12, 16, 293, 9, 16,
1704
+ 1, 16, 3, 16, 296, 8, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 5, 19, 304, 8, 19, 10, 19, 12,
1705
+ 19, 307, 9, 19, 1, 20, 5, 20, 310, 8, 20, 10, 20, 12, 20, 313, 9, 20, 1, 20, 1, 20, 5, 20, 317,
1706
+ 8, 20, 10, 20, 12, 20, 320, 9, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 3, 23, 329, 8,
1707
+ 23, 1, 23, 1, 23, 3, 23, 333, 8, 23, 1, 23, 3, 23, 336, 8, 23, 1, 23, 1, 23, 1, 23, 3, 23, 341, 8,
1708
+ 23, 1, 23, 3, 23, 344, 8, 23, 1, 23, 0, 0, 24, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
1709
+ 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 0, 1, 1, 0, 24, 25, 387, 0, 49, 1, 0, 0, 0, 2, 74, 1, 0, 0,
1710
+ 0, 4, 76, 1, 0, 0, 0, 6, 93, 1, 0, 0, 0, 8, 100, 1, 0, 0, 0, 10, 115, 1, 0, 0, 0, 12, 117, 1, 0, 0, 0,
1711
+ 14, 121, 1, 0, 0, 0, 16, 128, 1, 0, 0, 0, 18, 131, 1, 0, 0, 0, 20, 142, 1, 0, 0, 0, 22, 178, 1, 0,
1712
+ 0, 0, 24, 210, 1, 0, 0, 0, 26, 212, 1, 0, 0, 0, 28, 229, 1, 0, 0, 0, 30, 272, 1, 0, 0, 0, 32, 274,
1713
+ 1, 0, 0, 0, 34, 297, 1, 0, 0, 0, 36, 299, 1, 0, 0, 0, 38, 301, 1, 0, 0, 0, 40, 311, 1, 0, 0, 0, 42,
1714
+ 323, 1, 0, 0, 0, 44, 325, 1, 0, 0, 0, 46, 328, 1, 0, 0, 0, 48, 50, 3, 2, 1, 0, 49, 48, 1, 0, 0, 0, 49,
1715
+ 50, 1, 0, 0, 0, 50, 54, 1, 0, 0, 0, 51, 53, 3, 6, 3, 0, 52, 51, 1, 0, 0, 0, 53, 56, 1, 0, 0, 0, 54, 52,
1716
+ 1, 0, 0, 0, 54, 55, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 57, 59, 3, 4, 2, 0, 58, 57, 1,
1717
+ 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 61, 5, 0, 0, 1, 61, 1, 1, 0, 0, 0, 62, 66, 5, 29,
1718
+ 0, 0, 63, 65, 3, 14, 7, 0, 64, 63, 1, 0, 0, 0, 65, 68, 1, 0, 0, 0, 66, 64, 1, 0, 0, 0, 66, 67, 1, 0,
1719
+ 0, 0, 67, 75, 1, 0, 0, 0, 68, 66, 1, 0, 0, 0, 69, 71, 3, 14, 7, 0, 70, 69, 1, 0, 0, 0, 71, 72, 1, 0,
1720
+ 0, 0, 72, 70, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 75, 1, 0, 0, 0, 74, 62, 1, 0, 0, 0, 74, 70, 1, 0, 0,
1721
+ 0, 75, 3, 1, 0, 0, 0, 76, 79, 5, 5, 0, 0, 77, 80, 3, 14, 7, 0, 78, 80, 5, 47, 0, 0, 79, 77, 1, 0, 0,
1722
+ 0, 79, 78, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 84, 1, 0, 0, 0, 81, 83, 5, 41, 0, 0, 82, 81, 1, 0, 0,
1723
+ 0, 83, 86, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 5, 1, 0, 0, 0, 86, 84, 1, 0, 0, 0,
1724
+ 87, 94, 3, 14, 7, 0, 88, 94, 5, 4, 0, 0, 89, 94, 3, 16, 8, 0, 90, 94, 3, 20, 10, 0, 91, 94, 3, 8, 4,
1725
+ 0, 92, 94, 3, 46, 23, 0, 93, 87, 1, 0, 0, 0, 93, 88, 1, 0, 0, 0, 93, 89, 1, 0, 0, 0, 93, 90, 1, 0, 0,
1726
+ 0, 93, 91, 1, 0, 0, 0, 93, 92, 1, 0, 0, 0, 94, 7, 1, 0, 0, 0, 95, 101, 3, 10, 5, 0, 96, 101, 3, 12,
1727
+ 6, 0, 97, 98, 3, 44, 22, 0, 98, 99, 3, 14, 7, 0, 99, 101, 1, 0, 0, 0, 100, 95, 1, 0, 0, 0, 100, 96,
1728
+ 1, 0, 0, 0, 100, 97, 1, 0, 0, 0, 101, 9, 1, 0, 0, 0, 102, 103, 5, 1, 0, 0, 103, 116, 3, 14, 7, 0, 104,
1729
+ 108, 5, 2, 0, 0, 105, 107, 5, 43, 0, 0, 106, 105, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1,
1730
+ 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 112, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 113, 3, 38, 19, 0,
1731
+ 112, 111, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 116, 3, 14, 7, 0, 115, 102,
1732
+ 1, 0, 0, 0, 115, 104, 1, 0, 0, 0, 116, 11, 1, 0, 0, 0, 117, 118, 5, 3, 0, 0, 118, 119, 3, 14, 7, 0,
1733
+ 119, 13, 1, 0, 0, 0, 120, 122, 5, 47, 0, 0, 121, 120, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 124,
1734
+ 1, 0, 0, 0, 123, 125, 5, 41, 0, 0, 124, 123, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 124, 1, 0, 0,
1735
+ 0, 126, 127, 1, 0, 0, 0, 127, 15, 1, 0, 0, 0, 128, 129, 3, 18, 9, 0, 129, 130, 3, 14, 7, 0, 130,
1736
+ 17, 1, 0, 0, 0, 131, 133, 5, 31, 0, 0, 132, 134, 5, 43, 0, 0, 133, 132, 1, 0, 0, 0, 133, 134, 1,
1737
+ 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 5, 11, 0, 0, 136, 138, 5, 43, 0, 0, 137, 136, 1, 0, 0, 0,
1738
+ 137, 138, 1, 0, 0, 0, 138, 140, 1, 0, 0, 0, 139, 141, 3, 22, 11, 0, 140, 139, 1, 0, 0, 0, 140, 141,
1739
+ 1, 0, 0, 0, 141, 19, 1, 0, 0, 0, 142, 144, 5, 31, 0, 0, 143, 145, 5, 43, 0, 0, 144, 143, 1, 0, 0,
1740
+ 0, 144, 145, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 155, 5, 14, 0, 0, 147, 154, 3, 14, 7, 0, 148,
1741
+ 150, 5, 43, 0, 0, 149, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 149, 1, 0, 0, 0, 151, 152, 1,
1742
+ 0, 0, 0, 152, 154, 1, 0, 0, 0, 153, 147, 1, 0, 0, 0, 153, 149, 1, 0, 0, 0, 154, 157, 1, 0, 0, 0, 155,
1743
+ 153, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 158, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 167, 3, 32,
1744
+ 16, 0, 159, 166, 3, 14, 7, 0, 160, 162, 5, 43, 0, 0, 161, 160, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0,
1745
+ 163, 161, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 166, 1, 0, 0, 0, 165, 159, 1, 0, 0, 0, 165, 161,
1746
+ 1, 0, 0, 0, 166, 169, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 170, 1, 0, 0, 0,
1747
+ 169, 167, 1, 0, 0, 0, 170, 171, 3, 14, 7, 0, 171, 21, 1, 0, 0, 0, 172, 179, 3, 36, 18, 0, 173, 179,
1748
+ 3, 38, 19, 0, 174, 179, 3, 34, 17, 0, 175, 179, 3, 42, 21, 0, 176, 179, 3, 30, 15, 0, 177, 179,
1749
+ 3, 24, 12, 0, 178, 172, 1, 0, 0, 0, 178, 173, 1, 0, 0, 0, 178, 174, 1, 0, 0, 0, 178, 175, 1, 0, 0,
1750
+ 0, 178, 176, 1, 0, 0, 0, 178, 177, 1, 0, 0, 0, 179, 23, 1, 0, 0, 0, 180, 184, 5, 17, 0, 0, 181, 183,
1751
+ 5, 41, 0, 0, 182, 181, 1, 0, 0, 0, 183, 186, 1, 0, 0, 0, 184, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0,
1752
+ 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 187, 189, 3, 26, 13, 0, 188, 187, 1, 0, 0, 0, 188,
1753
+ 189, 1, 0, 0, 0, 189, 193, 1, 0, 0, 0, 190, 192, 5, 41, 0, 0, 191, 190, 1, 0, 0, 0, 192, 195, 1,
1754
+ 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 196, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 196,
1755
+ 200, 5, 18, 0, 0, 197, 199, 5, 41, 0, 0, 198, 197, 1, 0, 0, 0, 199, 202, 1, 0, 0, 0, 200, 198, 1,
1756
+ 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 211, 1, 0, 0, 0, 202, 200, 1, 0, 0, 0, 203, 207, 5, 27, 0, 0,
1757
+ 204, 206, 5, 41, 0, 0, 205, 204, 1, 0, 0, 0, 206, 209, 1, 0, 0, 0, 207, 205, 1, 0, 0, 0, 207, 208,
1758
+ 1, 0, 0, 0, 208, 211, 1, 0, 0, 0, 209, 207, 1, 0, 0, 0, 210, 180, 1, 0, 0, 0, 210, 203, 1, 0, 0, 0,
1759
+ 211, 25, 1, 0, 0, 0, 212, 223, 3, 28, 14, 0, 213, 217, 5, 13, 0, 0, 214, 216, 5, 41, 0, 0, 215,
1760
+ 214, 1, 0, 0, 0, 216, 219, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 220, 1, 0,
1761
+ 0, 0, 219, 217, 1, 0, 0, 0, 220, 222, 3, 28, 14, 0, 221, 213, 1, 0, 0, 0, 222, 225, 1, 0, 0, 0, 223,
1762
+ 221, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 227, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 226, 228, 5, 13,
1763
+ 0, 0, 227, 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 27, 1, 0, 0, 0, 229, 231, 5, 31, 0, 0, 230,
1764
+ 232, 5, 43, 0, 0, 231, 230, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 1, 0, 0, 0, 233, 237, 5,
1765
+ 14, 0, 0, 234, 236, 5, 41, 0, 0, 235, 234, 1, 0, 0, 0, 236, 239, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0,
1766
+ 237, 238, 1, 0, 0, 0, 238, 240, 1, 0, 0, 0, 239, 237, 1, 0, 0, 0, 240, 241, 3, 22, 11, 0, 241, 29,
1767
+ 1, 0, 0, 0, 242, 246, 5, 15, 0, 0, 243, 245, 5, 41, 0, 0, 244, 243, 1, 0, 0, 0, 245, 248, 1, 0, 0,
1768
+ 0, 246, 244, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 250, 1, 0, 0, 0, 248, 246, 1, 0, 0, 0, 249, 251,
1769
+ 3, 32, 16, 0, 250, 249, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 255, 1, 0, 0, 0, 252, 254, 5, 41,
1770
+ 0, 0, 253, 252, 1, 0, 0, 0, 254, 257, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256,
1771
+ 258, 1, 0, 0, 0, 257, 255, 1, 0, 0, 0, 258, 262, 5, 16, 0, 0, 259, 261, 5, 41, 0, 0, 260, 259, 1,
1772
+ 0, 0, 0, 261, 264, 1, 0, 0, 0, 262, 260, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 273, 1, 0, 0, 0, 264,
1773
+ 262, 1, 0, 0, 0, 265, 269, 5, 28, 0, 0, 266, 268, 5, 41, 0, 0, 267, 266, 1, 0, 0, 0, 268, 271, 1,
1774
+ 0, 0, 0, 269, 267, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 273, 1, 0, 0, 0, 271, 269, 1, 0, 0, 0, 272,
1775
+ 242, 1, 0, 0, 0, 272, 265, 1, 0, 0, 0, 273, 31, 1, 0, 0, 0, 274, 291, 3, 22, 11, 0, 275, 277, 5,
1776
+ 41, 0, 0, 276, 275, 1, 0, 0, 0, 277, 280, 1, 0, 0, 0, 278, 276, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0,
1777
+ 279, 281, 1, 0, 0, 0, 280, 278, 1, 0, 0, 0, 281, 285, 5, 13, 0, 0, 282, 284, 5, 41, 0, 0, 283, 282,
1778
+ 1, 0, 0, 0, 284, 287, 1, 0, 0, 0, 285, 283, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 288, 1, 0, 0, 0,
1779
+ 287, 285, 1, 0, 0, 0, 288, 290, 3, 22, 11, 0, 289, 278, 1, 0, 0, 0, 290, 293, 1, 0, 0, 0, 291, 289,
1780
+ 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 295, 1, 0, 0, 0, 293, 291, 1, 0, 0, 0, 294, 296, 5, 13, 0,
1781
+ 0, 295, 294, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 33, 1, 0, 0, 0, 297, 298, 5, 30, 0, 0, 298, 35,
1782
+ 1, 0, 0, 0, 299, 300, 5, 26, 0, 0, 300, 37, 1, 0, 0, 0, 301, 305, 5, 34, 0, 0, 302, 304, 3, 40, 20,
1783
+ 0, 303, 302, 1, 0, 0, 0, 304, 307, 1, 0, 0, 0, 305, 303, 1, 0, 0, 0, 305, 306, 1, 0, 0, 0, 306, 39,
1784
+ 1, 0, 0, 0, 307, 305, 1, 0, 0, 0, 308, 310, 5, 41, 0, 0, 309, 308, 1, 0, 0, 0, 310, 313, 1, 0, 0,
1785
+ 0, 311, 309, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 314, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 314, 318,
1786
+ 5, 19, 0, 0, 315, 317, 5, 41, 0, 0, 316, 315, 1, 0, 0, 0, 317, 320, 1, 0, 0, 0, 318, 316, 1, 0, 0,
1787
+ 0, 318, 319, 1, 0, 0, 0, 319, 321, 1, 0, 0, 0, 320, 318, 1, 0, 0, 0, 321, 322, 5, 34, 0, 0, 322,
1788
+ 41, 1, 0, 0, 0, 323, 324, 7, 0, 0, 0, 324, 43, 1, 0, 0, 0, 325, 326, 5, 50, 0, 0, 326, 45, 1, 0, 0,
1789
+ 0, 327, 329, 5, 43, 0, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 332, 1, 0, 0, 0, 330,
1790
+ 333, 5, 49, 0, 0, 331, 333, 3, 22, 11, 0, 332, 330, 1, 0, 0, 0, 332, 331, 1, 0, 0, 0, 332, 333,
1791
+ 1, 0, 0, 0, 333, 335, 1, 0, 0, 0, 334, 336, 5, 43, 0, 0, 335, 334, 1, 0, 0, 0, 335, 336, 1, 0, 0,
1792
+ 0, 336, 337, 1, 0, 0, 0, 337, 340, 5, 11, 0, 0, 338, 341, 3, 22, 11, 0, 339, 341, 5, 49, 0, 0, 340,
1793
+ 338, 1, 0, 0, 0, 340, 339, 1, 0, 0, 0, 341, 343, 1, 0, 0, 0, 342, 344, 3, 14, 7, 0, 343, 342, 1,
1794
+ 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 47, 1, 0, 0, 0, 55, 49, 54, 58, 66, 72, 74, 79, 84, 93, 100,
1795
+ 108, 112, 115, 121, 126, 133, 137, 140, 144, 151, 153, 155, 163, 165, 167, 178, 184, 188,
1796
+ 193, 200, 207, 210, 217, 223, 227, 231, 237, 246, 250, 255, 262, 269, 272, 278, 285, 291,
1797
+ 295, 305, 311, 318, 328, 332, 335, 340, 343];
1797
1798
  YiniParser.DecisionsToDFA = YiniParser._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
1798
1799
  exports.default = YiniParser;
1799
1800
  class YiniContext extends antlr4_1.ParserRuleContext {
1801
+ constructor(parser, parent, invokingState) {
1802
+ super(parent, invokingState);
1803
+ this.parser = parser;
1804
+ }
1805
+ EOF() {
1806
+ return this.getToken(YiniParser.EOF, 0);
1807
+ }
1808
+ prolog() {
1809
+ return this.getTypedRuleContext(PrologContext, 0);
1810
+ }
1811
+ stmt_list() {
1812
+ return this.getTypedRuleContexts(StmtContext);
1813
+ }
1814
+ stmt(i) {
1815
+ return this.getTypedRuleContext(StmtContext, i);
1816
+ }
1817
+ terminal_stmt() {
1818
+ return this.getTypedRuleContext(Terminal_stmtContext, 0);
1819
+ }
1820
+ get ruleIndex() {
1821
+ return YiniParser.RULE_yini;
1822
+ }
1823
+ // @Override
1824
+ accept(visitor) {
1825
+ if (visitor.visitYini) {
1826
+ return visitor.visitYini(this);
1827
+ }
1828
+ else {
1829
+ return visitor.visitChildren(this);
1830
+ }
1831
+ }
1832
+ }
1833
+ exports.YiniContext = YiniContext;
1834
+ class PrologContext extends antlr4_1.ParserRuleContext {
1800
1835
  constructor(parser, parent, invokingState) {
1801
1836
  super(parent, invokingState);
1802
1837
  this.parser = parser;
@@ -1804,11 +1839,39 @@ class YiniContext extends antlr4_1.ParserRuleContext {
1804
1839
  SHEBANG() {
1805
1840
  return this.getToken(YiniParser.SHEBANG, 0);
1806
1841
  }
1807
- INLINE_COMMENT_list() {
1808
- return this.getTokens(YiniParser.INLINE_COMMENT);
1842
+ eol_list() {
1843
+ return this.getTypedRuleContexts(EolContext);
1844
+ }
1845
+ eol(i) {
1846
+ return this.getTypedRuleContext(EolContext, i);
1847
+ }
1848
+ get ruleIndex() {
1849
+ return YiniParser.RULE_prolog;
1850
+ }
1851
+ // @Override
1852
+ accept(visitor) {
1853
+ if (visitor.visitProlog) {
1854
+ return visitor.visitProlog(this);
1855
+ }
1856
+ else {
1857
+ return visitor.visitChildren(this);
1858
+ }
1859
+ }
1860
+ }
1861
+ exports.PrologContext = PrologContext;
1862
+ class Terminal_stmtContext extends antlr4_1.ParserRuleContext {
1863
+ constructor(parser, parent, invokingState) {
1864
+ super(parent, invokingState);
1865
+ this.parser = parser;
1866
+ }
1867
+ TERMINAL_TOKEN() {
1868
+ return this.getToken(YiniParser.TERMINAL_TOKEN, 0);
1869
+ }
1870
+ eol() {
1871
+ return this.getTypedRuleContext(EolContext, 0);
1809
1872
  }
1810
- INLINE_COMMENT(i) {
1811
- return this.getToken(YiniParser.INLINE_COMMENT, i);
1873
+ INLINE_COMMENT() {
1874
+ return this.getToken(YiniParser.INLINE_COMMENT, 0);
1812
1875
  }
1813
1876
  NL_list() {
1814
1877
  return this.getTokens(YiniParser.NL);
@@ -1816,67 +1879,157 @@ class YiniContext extends antlr4_1.ParserRuleContext {
1816
1879
  NL(i) {
1817
1880
  return this.getToken(YiniParser.NL, i);
1818
1881
  }
1819
- YINI_MARKER() {
1820
- return this.getToken(YiniParser.YINI_MARKER, 0);
1882
+ get ruleIndex() {
1883
+ return YiniParser.RULE_terminal_stmt;
1821
1884
  }
1822
- section_list() {
1823
- return this.getTypedRuleContexts(SectionContext);
1885
+ // @Override
1886
+ accept(visitor) {
1887
+ if (visitor.visitTerminal_stmt) {
1888
+ return visitor.visitTerminal_stmt(this);
1889
+ }
1890
+ else {
1891
+ return visitor.visitChildren(this);
1892
+ }
1824
1893
  }
1825
- section(i) {
1826
- return this.getTypedRuleContext(SectionContext, i);
1894
+ }
1895
+ exports.Terminal_stmtContext = Terminal_stmtContext;
1896
+ class StmtContext extends antlr4_1.ParserRuleContext {
1897
+ constructor(parser, parent, invokingState) {
1898
+ super(parent, invokingState);
1899
+ this.parser = parser;
1827
1900
  }
1828
- terminal_line() {
1829
- return this.getTypedRuleContext(Terminal_lineContext, 0);
1901
+ eol() {
1902
+ return this.getTypedRuleContext(EolContext, 0);
1830
1903
  }
1831
- EOF() {
1832
- return this.getToken(YiniParser.EOF, 0);
1904
+ SECTION_HEAD() {
1905
+ return this.getToken(YiniParser.SECTION_HEAD, 0);
1906
+ }
1907
+ assignment() {
1908
+ return this.getTypedRuleContext(AssignmentContext, 0);
1909
+ }
1910
+ colon_list_decl() {
1911
+ return this.getTypedRuleContext(Colon_list_declContext, 0);
1912
+ }
1913
+ meta_stmt() {
1914
+ return this.getTypedRuleContext(Meta_stmtContext, 0);
1915
+ }
1916
+ bad_member() {
1917
+ return this.getTypedRuleContext(Bad_memberContext, 0);
1833
1918
  }
1834
1919
  get ruleIndex() {
1835
- return YiniParser.RULE_yini;
1920
+ return YiniParser.RULE_stmt;
1836
1921
  }
1837
1922
  // @Override
1838
1923
  accept(visitor) {
1839
- if (visitor.visitYini) {
1840
- return visitor.visitYini(this);
1924
+ if (visitor.visitStmt) {
1925
+ return visitor.visitStmt(this);
1841
1926
  }
1842
1927
  else {
1843
1928
  return visitor.visitChildren(this);
1844
1929
  }
1845
1930
  }
1846
1931
  }
1847
- exports.YiniContext = YiniContext;
1848
- class SectionContext extends antlr4_1.ParserRuleContext {
1932
+ exports.StmtContext = StmtContext;
1933
+ class Meta_stmtContext extends antlr4_1.ParserRuleContext {
1849
1934
  constructor(parser, parent, invokingState) {
1850
1935
  super(parent, invokingState);
1851
1936
  this.parser = parser;
1852
1937
  }
1853
- section_members() {
1854
- return this.getTypedRuleContext(Section_membersContext, 0);
1938
+ directive() {
1939
+ return this.getTypedRuleContext(DirectiveContext, 0);
1855
1940
  }
1856
- SECTION_HEAD() {
1857
- return this.getToken(YiniParser.SECTION_HEAD, 0);
1941
+ annotation() {
1942
+ return this.getTypedRuleContext(AnnotationContext, 0);
1943
+ }
1944
+ bad_meta_text() {
1945
+ return this.getTypedRuleContext(Bad_meta_textContext, 0);
1946
+ }
1947
+ eol() {
1948
+ return this.getTypedRuleContext(EolContext, 0);
1858
1949
  }
1859
1950
  get ruleIndex() {
1860
- return YiniParser.RULE_section;
1951
+ return YiniParser.RULE_meta_stmt;
1861
1952
  }
1862
1953
  // @Override
1863
1954
  accept(visitor) {
1864
- if (visitor.visitSection) {
1865
- return visitor.visitSection(this);
1955
+ if (visitor.visitMeta_stmt) {
1956
+ return visitor.visitMeta_stmt(this);
1866
1957
  }
1867
1958
  else {
1868
1959
  return visitor.visitChildren(this);
1869
1960
  }
1870
1961
  }
1871
1962
  }
1872
- exports.SectionContext = SectionContext;
1873
- class Terminal_lineContext extends antlr4_1.ParserRuleContext {
1963
+ exports.Meta_stmtContext = Meta_stmtContext;
1964
+ class DirectiveContext extends antlr4_1.ParserRuleContext {
1874
1965
  constructor(parser, parent, invokingState) {
1875
1966
  super(parent, invokingState);
1876
1967
  this.parser = parser;
1877
1968
  }
1878
- TERMINAL_TOKEN() {
1879
- return this.getToken(YiniParser.TERMINAL_TOKEN, 0);
1969
+ YINI_TOKEN() {
1970
+ return this.getToken(YiniParser.YINI_TOKEN, 0);
1971
+ }
1972
+ eol() {
1973
+ return this.getTypedRuleContext(EolContext, 0);
1974
+ }
1975
+ INCLUDE_TOKEN() {
1976
+ return this.getToken(YiniParser.INCLUDE_TOKEN, 0);
1977
+ }
1978
+ WS_list() {
1979
+ return this.getTokens(YiniParser.WS);
1980
+ }
1981
+ WS(i) {
1982
+ return this.getToken(YiniParser.WS, i);
1983
+ }
1984
+ string_literal() {
1985
+ return this.getTypedRuleContext(String_literalContext, 0);
1986
+ }
1987
+ get ruleIndex() {
1988
+ return YiniParser.RULE_directive;
1989
+ }
1990
+ // @Override
1991
+ accept(visitor) {
1992
+ if (visitor.visitDirective) {
1993
+ return visitor.visitDirective(this);
1994
+ }
1995
+ else {
1996
+ return visitor.visitChildren(this);
1997
+ }
1998
+ }
1999
+ }
2000
+ exports.DirectiveContext = DirectiveContext;
2001
+ class AnnotationContext extends antlr4_1.ParserRuleContext {
2002
+ constructor(parser, parent, invokingState) {
2003
+ super(parent, invokingState);
2004
+ this.parser = parser;
2005
+ }
2006
+ DEPRECATED_TOKEN() {
2007
+ return this.getToken(YiniParser.DEPRECATED_TOKEN, 0);
2008
+ }
2009
+ eol() {
2010
+ return this.getTypedRuleContext(EolContext, 0);
2011
+ }
2012
+ get ruleIndex() {
2013
+ return YiniParser.RULE_annotation;
2014
+ }
2015
+ // @Override
2016
+ accept(visitor) {
2017
+ if (visitor.visitAnnotation) {
2018
+ return visitor.visitAnnotation(this);
2019
+ }
2020
+ else {
2021
+ return visitor.visitChildren(this);
2022
+ }
2023
+ }
2024
+ }
2025
+ exports.AnnotationContext = AnnotationContext;
2026
+ class EolContext extends antlr4_1.ParserRuleContext {
2027
+ constructor(parser, parent, invokingState) {
2028
+ super(parent, invokingState);
2029
+ this.parser = parser;
2030
+ }
2031
+ INLINE_COMMENT() {
2032
+ return this.getToken(YiniParser.INLINE_COMMENT, 0);
1880
2033
  }
1881
2034
  NL_list() {
1882
2035
  return this.getTokens(YiniParser.NL);
@@ -1884,48 +2037,45 @@ class Terminal_lineContext extends antlr4_1.ParserRuleContext {
1884
2037
  NL(i) {
1885
2038
  return this.getToken(YiniParser.NL, i);
1886
2039
  }
1887
- INLINE_COMMENT() {
1888
- return this.getToken(YiniParser.INLINE_COMMENT, 0);
1889
- }
1890
2040
  get ruleIndex() {
1891
- return YiniParser.RULE_terminal_line;
2041
+ return YiniParser.RULE_eol;
1892
2042
  }
1893
2043
  // @Override
1894
2044
  accept(visitor) {
1895
- if (visitor.visitTerminal_line) {
1896
- return visitor.visitTerminal_line(this);
2045
+ if (visitor.visitEol) {
2046
+ return visitor.visitEol(this);
1897
2047
  }
1898
2048
  else {
1899
2049
  return visitor.visitChildren(this);
1900
2050
  }
1901
2051
  }
1902
2052
  }
1903
- exports.Terminal_lineContext = Terminal_lineContext;
1904
- class Section_membersContext extends antlr4_1.ParserRuleContext {
2053
+ exports.EolContext = EolContext;
2054
+ class AssignmentContext extends antlr4_1.ParserRuleContext {
1905
2055
  constructor(parser, parent, invokingState) {
1906
2056
  super(parent, invokingState);
1907
2057
  this.parser = parser;
1908
2058
  }
1909
- member_list() {
1910
- return this.getTypedRuleContexts(MemberContext);
2059
+ member() {
2060
+ return this.getTypedRuleContext(MemberContext, 0);
1911
2061
  }
1912
- member(i) {
1913
- return this.getTypedRuleContext(MemberContext, i);
2062
+ eol() {
2063
+ return this.getTypedRuleContext(EolContext, 0);
1914
2064
  }
1915
2065
  get ruleIndex() {
1916
- return YiniParser.RULE_section_members;
2066
+ return YiniParser.RULE_assignment;
1917
2067
  }
1918
2068
  // @Override
1919
2069
  accept(visitor) {
1920
- if (visitor.visitSection_members) {
1921
- return visitor.visitSection_members(this);
2070
+ if (visitor.visitAssignment) {
2071
+ return visitor.visitAssignment(this);
1922
2072
  }
1923
2073
  else {
1924
2074
  return visitor.visitChildren(this);
1925
2075
  }
1926
2076
  }
1927
2077
  }
1928
- exports.Section_membersContext = Section_membersContext;
2078
+ exports.AssignmentContext = AssignmentContext;
1929
2079
  class MemberContext extends antlr4_1.ParserRuleContext {
1930
2080
  constructor(parser, parent, invokingState) {
1931
2081
  super(parent, invokingState);
@@ -1946,24 +2096,6 @@ class MemberContext extends antlr4_1.ParserRuleContext {
1946
2096
  value() {
1947
2097
  return this.getTypedRuleContext(ValueContext, 0);
1948
2098
  }
1949
- NL_list() {
1950
- return this.getTokens(YiniParser.NL);
1951
- }
1952
- NL(i) {
1953
- return this.getToken(YiniParser.NL, i);
1954
- }
1955
- member_colon_list() {
1956
- return this.getTypedRuleContext(Member_colon_listContext, 0);
1957
- }
1958
- SECTION_HEAD() {
1959
- return this.getToken(YiniParser.SECTION_HEAD, 0);
1960
- }
1961
- section_members() {
1962
- return this.getTypedRuleContext(Section_membersContext, 0);
1963
- }
1964
- bad_member() {
1965
- return this.getTypedRuleContext(Bad_memberContext, 0);
1966
- }
1967
2099
  get ruleIndex() {
1968
2100
  return YiniParser.RULE_member;
1969
2101
  }
@@ -1978,7 +2110,7 @@ class MemberContext extends antlr4_1.ParserRuleContext {
1978
2110
  }
1979
2111
  }
1980
2112
  exports.MemberContext = MemberContext;
1981
- class Member_colon_listContext extends antlr4_1.ParserRuleContext {
2113
+ class Colon_list_declContext extends antlr4_1.ParserRuleContext {
1982
2114
  constructor(parser, parent, invokingState) {
1983
2115
  super(parent, invokingState);
1984
2116
  this.parser = parser;
@@ -1989,32 +2121,35 @@ class Member_colon_listContext extends antlr4_1.ParserRuleContext {
1989
2121
  COLON() {
1990
2122
  return this.getToken(YiniParser.COLON, 0);
1991
2123
  }
1992
- WS() {
1993
- return this.getToken(YiniParser.WS, 0);
1994
- }
1995
2124
  elements() {
1996
2125
  return this.getTypedRuleContext(ElementsContext, 0);
1997
2126
  }
1998
- NL_list() {
1999
- return this.getTokens(YiniParser.NL);
2127
+ eol_list() {
2128
+ return this.getTypedRuleContexts(EolContext);
2000
2129
  }
2001
- NL(i) {
2002
- return this.getToken(YiniParser.NL, i);
2130
+ eol(i) {
2131
+ return this.getTypedRuleContext(EolContext, i);
2132
+ }
2133
+ WS_list() {
2134
+ return this.getTokens(YiniParser.WS);
2135
+ }
2136
+ WS(i) {
2137
+ return this.getToken(YiniParser.WS, i);
2003
2138
  }
2004
2139
  get ruleIndex() {
2005
- return YiniParser.RULE_member_colon_list;
2140
+ return YiniParser.RULE_colon_list_decl;
2006
2141
  }
2007
2142
  // @Override
2008
2143
  accept(visitor) {
2009
- if (visitor.visitMember_colon_list) {
2010
- return visitor.visitMember_colon_list(this);
2144
+ if (visitor.visitColon_list_decl) {
2145
+ return visitor.visitColon_list_decl(this);
2011
2146
  }
2012
2147
  else {
2013
2148
  return visitor.visitChildren(this);
2014
2149
  }
2015
2150
  }
2016
2151
  }
2017
- exports.Member_colon_listContext = Member_colon_listContext;
2152
+ exports.Colon_list_declContext = Colon_list_declContext;
2018
2153
  class ValueContext extends antlr4_1.ParserRuleContext {
2019
2154
  constructor(parser, parent, invokingState) {
2020
2155
  super(parent, invokingState);
@@ -2032,8 +2167,8 @@ class ValueContext extends antlr4_1.ParserRuleContext {
2032
2167
  boolean_literal() {
2033
2168
  return this.getTypedRuleContext(Boolean_literalContext, 0);
2034
2169
  }
2035
- list_in_brackets() {
2036
- return this.getTypedRuleContext(List_in_bracketsContext, 0);
2170
+ list_literal() {
2171
+ return this.getTypedRuleContext(List_literalContext, 0);
2037
2172
  }
2038
2173
  object_literal() {
2039
2174
  return this.getTypedRuleContext(Object_literalContext, 0);
@@ -2060,9 +2195,6 @@ class Object_literalContext extends antlr4_1.ParserRuleContext {
2060
2195
  OC() {
2061
2196
  return this.getToken(YiniParser.OC, 0);
2062
2197
  }
2063
- objectMemberList() {
2064
- return this.getTypedRuleContext(ObjectMemberListContext, 0);
2065
- }
2066
2198
  CC() {
2067
2199
  return this.getToken(YiniParser.CC, 0);
2068
2200
  }
@@ -2072,8 +2204,11 @@ class Object_literalContext extends antlr4_1.ParserRuleContext {
2072
2204
  NL(i) {
2073
2205
  return this.getToken(YiniParser.NL, i);
2074
2206
  }
2075
- empty_object() {
2076
- return this.getTypedRuleContext(Empty_objectContext, 0);
2207
+ object_members() {
2208
+ return this.getTypedRuleContext(Object_membersContext, 0);
2209
+ }
2210
+ EMPTY_OBJECT() {
2211
+ return this.getToken(YiniParser.EMPTY_OBJECT, 0);
2077
2212
  }
2078
2213
  get ruleIndex() {
2079
2214
  return YiniParser.RULE_object_literal;
@@ -2089,16 +2224,16 @@ class Object_literalContext extends antlr4_1.ParserRuleContext {
2089
2224
  }
2090
2225
  }
2091
2226
  exports.Object_literalContext = Object_literalContext;
2092
- class ObjectMemberListContext extends antlr4_1.ParserRuleContext {
2227
+ class Object_membersContext extends antlr4_1.ParserRuleContext {
2093
2228
  constructor(parser, parent, invokingState) {
2094
2229
  super(parent, invokingState);
2095
2230
  this.parser = parser;
2096
2231
  }
2097
- objectMember_list() {
2098
- return this.getTypedRuleContexts(ObjectMemberContext);
2232
+ object_member_list() {
2233
+ return this.getTypedRuleContexts(Object_memberContext);
2099
2234
  }
2100
- objectMember(i) {
2101
- return this.getTypedRuleContext(ObjectMemberContext, i);
2235
+ object_member(i) {
2236
+ return this.getTypedRuleContext(Object_memberContext, i);
2102
2237
  }
2103
2238
  COMMA_list() {
2104
2239
  return this.getTokens(YiniParser.COMMA);
@@ -2112,24 +2247,21 @@ class ObjectMemberListContext extends antlr4_1.ParserRuleContext {
2112
2247
  NL(i) {
2113
2248
  return this.getToken(YiniParser.NL, i);
2114
2249
  }
2115
- empty_object() {
2116
- return this.getTypedRuleContext(Empty_objectContext, 0);
2117
- }
2118
2250
  get ruleIndex() {
2119
- return YiniParser.RULE_objectMemberList;
2251
+ return YiniParser.RULE_object_members;
2120
2252
  }
2121
2253
  // @Override
2122
2254
  accept(visitor) {
2123
- if (visitor.visitObjectMemberList) {
2124
- return visitor.visitObjectMemberList(this);
2255
+ if (visitor.visitObject_members) {
2256
+ return visitor.visitObject_members(this);
2125
2257
  }
2126
2258
  else {
2127
2259
  return visitor.visitChildren(this);
2128
2260
  }
2129
2261
  }
2130
2262
  }
2131
- exports.ObjectMemberListContext = ObjectMemberListContext;
2132
- class ObjectMemberContext extends antlr4_1.ParserRuleContext {
2263
+ exports.Object_membersContext = Object_membersContext;
2264
+ class Object_memberContext extends antlr4_1.ParserRuleContext {
2133
2265
  constructor(parser, parent, invokingState) {
2134
2266
  super(parent, invokingState);
2135
2267
  this.parser = parser;
@@ -2153,45 +2285,20 @@ class ObjectMemberContext extends antlr4_1.ParserRuleContext {
2153
2285
  return this.getToken(YiniParser.NL, i);
2154
2286
  }
2155
2287
  get ruleIndex() {
2156
- return YiniParser.RULE_objectMember;
2157
- }
2158
- // @Override
2159
- accept(visitor) {
2160
- if (visitor.visitObjectMember) {
2161
- return visitor.visitObjectMember(this);
2162
- }
2163
- else {
2164
- return visitor.visitChildren(this);
2165
- }
2166
- }
2167
- }
2168
- exports.ObjectMemberContext = ObjectMemberContext;
2169
- class ListContext extends antlr4_1.ParserRuleContext {
2170
- constructor(parser, parent, invokingState) {
2171
- super(parent, invokingState);
2172
- this.parser = parser;
2173
- }
2174
- elements() {
2175
- return this.getTypedRuleContext(ElementsContext, 0);
2176
- }
2177
- list_in_brackets() {
2178
- return this.getTypedRuleContext(List_in_bracketsContext, 0);
2179
- }
2180
- get ruleIndex() {
2181
- return YiniParser.RULE_list;
2288
+ return YiniParser.RULE_object_member;
2182
2289
  }
2183
2290
  // @Override
2184
2291
  accept(visitor) {
2185
- if (visitor.visitList) {
2186
- return visitor.visitList(this);
2292
+ if (visitor.visitObject_member) {
2293
+ return visitor.visitObject_member(this);
2187
2294
  }
2188
2295
  else {
2189
2296
  return visitor.visitChildren(this);
2190
2297
  }
2191
2298
  }
2192
2299
  }
2193
- exports.ListContext = ListContext;
2194
- class List_in_bracketsContext extends antlr4_1.ParserRuleContext {
2300
+ exports.Object_memberContext = Object_memberContext;
2301
+ class List_literalContext extends antlr4_1.ParserRuleContext {
2195
2302
  constructor(parser, parent, invokingState) {
2196
2303
  super(parent, invokingState);
2197
2304
  this.parser = parser;
@@ -2199,9 +2306,6 @@ class List_in_bracketsContext extends antlr4_1.ParserRuleContext {
2199
2306
  OB() {
2200
2307
  return this.getToken(YiniParser.OB, 0);
2201
2308
  }
2202
- elements() {
2203
- return this.getTypedRuleContext(ElementsContext, 0);
2204
- }
2205
2309
  CB() {
2206
2310
  return this.getToken(YiniParser.CB, 0);
2207
2311
  }
@@ -2211,58 +2315,42 @@ class List_in_bracketsContext extends antlr4_1.ParserRuleContext {
2211
2315
  NL(i) {
2212
2316
  return this.getToken(YiniParser.NL, i);
2213
2317
  }
2214
- empty_list() {
2215
- return this.getTypedRuleContext(Empty_listContext, 0);
2318
+ elements() {
2319
+ return this.getTypedRuleContext(ElementsContext, 0);
2320
+ }
2321
+ EMPTY_LIST() {
2322
+ return this.getToken(YiniParser.EMPTY_LIST, 0);
2216
2323
  }
2217
2324
  get ruleIndex() {
2218
- return YiniParser.RULE_list_in_brackets;
2325
+ return YiniParser.RULE_list_literal;
2219
2326
  }
2220
2327
  // @Override
2221
2328
  accept(visitor) {
2222
- if (visitor.visitList_in_brackets) {
2223
- return visitor.visitList_in_brackets(this);
2329
+ if (visitor.visitList_literal) {
2330
+ return visitor.visitList_literal(this);
2224
2331
  }
2225
2332
  else {
2226
2333
  return visitor.visitChildren(this);
2227
2334
  }
2228
2335
  }
2229
2336
  }
2230
- exports.List_in_bracketsContext = List_in_bracketsContext;
2337
+ exports.List_literalContext = List_literalContext;
2231
2338
  class ElementsContext extends antlr4_1.ParserRuleContext {
2232
2339
  constructor(parser, parent, invokingState) {
2233
2340
  super(parent, invokingState);
2234
2341
  this.parser = parser;
2235
2342
  }
2236
- element() {
2237
- return this.getTypedRuleContext(ElementContext, 0);
2238
- }
2239
- COMMA() {
2240
- return this.getToken(YiniParser.COMMA, 0);
2241
- }
2242
- elements() {
2243
- return this.getTypedRuleContext(ElementsContext, 0);
2244
- }
2245
- get ruleIndex() {
2246
- return YiniParser.RULE_elements;
2343
+ value_list() {
2344
+ return this.getTypedRuleContexts(ValueContext);
2247
2345
  }
2248
- // @Override
2249
- accept(visitor) {
2250
- if (visitor.visitElements) {
2251
- return visitor.visitElements(this);
2252
- }
2253
- else {
2254
- return visitor.visitChildren(this);
2255
- }
2346
+ value(i) {
2347
+ return this.getTypedRuleContext(ValueContext, i);
2256
2348
  }
2257
- }
2258
- exports.ElementsContext = ElementsContext;
2259
- class ElementContext extends antlr4_1.ParserRuleContext {
2260
- constructor(parser, parent, invokingState) {
2261
- super(parent, invokingState);
2262
- this.parser = parser;
2349
+ COMMA_list() {
2350
+ return this.getTokens(YiniParser.COMMA);
2263
2351
  }
2264
- value() {
2265
- return this.getTypedRuleContext(ValueContext, 0);
2352
+ COMMA(i) {
2353
+ return this.getToken(YiniParser.COMMA, i);
2266
2354
  }
2267
2355
  NL_list() {
2268
2356
  return this.getTokens(YiniParser.NL);
@@ -2270,23 +2358,20 @@ class ElementContext extends antlr4_1.ParserRuleContext {
2270
2358
  NL(i) {
2271
2359
  return this.getToken(YiniParser.NL, i);
2272
2360
  }
2273
- list_in_brackets() {
2274
- return this.getTypedRuleContext(List_in_bracketsContext, 0);
2275
- }
2276
2361
  get ruleIndex() {
2277
- return YiniParser.RULE_element;
2362
+ return YiniParser.RULE_elements;
2278
2363
  }
2279
2364
  // @Override
2280
2365
  accept(visitor) {
2281
- if (visitor.visitElement) {
2282
- return visitor.visitElement(this);
2366
+ if (visitor.visitElements) {
2367
+ return visitor.visitElements(this);
2283
2368
  }
2284
2369
  else {
2285
2370
  return visitor.visitChildren(this);
2286
2371
  }
2287
2372
  }
2288
2373
  }
2289
- exports.ElementContext = ElementContext;
2374
+ exports.ElementsContext = ElementsContext;
2290
2375
  class Number_literalContext extends antlr4_1.ParserRuleContext {
2291
2376
  constructor(parser, parent, invokingState) {
2292
2377
  super(parent, invokingState);
@@ -2395,12 +2480,12 @@ class Boolean_literalContext extends antlr4_1.ParserRuleContext {
2395
2480
  super(parent, invokingState);
2396
2481
  this.parser = parser;
2397
2482
  }
2398
- BOOLEAN_FALSE() {
2399
- return this.getToken(YiniParser.BOOLEAN_FALSE, 0);
2400
- }
2401
2483
  BOOLEAN_TRUE() {
2402
2484
  return this.getToken(YiniParser.BOOLEAN_TRUE, 0);
2403
2485
  }
2486
+ BOOLEAN_FALSE() {
2487
+ return this.getToken(YiniParser.BOOLEAN_FALSE, 0);
2488
+ }
2404
2489
  get ruleIndex() {
2405
2490
  return YiniParser.RULE_boolean_literal;
2406
2491
  }
@@ -2415,74 +2500,28 @@ class Boolean_literalContext extends antlr4_1.ParserRuleContext {
2415
2500
  }
2416
2501
  }
2417
2502
  exports.Boolean_literalContext = Boolean_literalContext;
2418
- class Empty_objectContext extends antlr4_1.ParserRuleContext {
2419
- constructor(parser, parent, invokingState) {
2420
- super(parent, invokingState);
2421
- this.parser = parser;
2422
- }
2423
- EMPTY_OBJECT() {
2424
- return this.getToken(YiniParser.EMPTY_OBJECT, 0);
2425
- }
2426
- OC() {
2427
- return this.getToken(YiniParser.OC, 0);
2428
- }
2429
- CC() {
2430
- return this.getToken(YiniParser.CC, 0);
2431
- }
2432
- NL_list() {
2433
- return this.getTokens(YiniParser.NL);
2434
- }
2435
- NL(i) {
2436
- return this.getToken(YiniParser.NL, i);
2437
- }
2438
- get ruleIndex() {
2439
- return YiniParser.RULE_empty_object;
2440
- }
2441
- // @Override
2442
- accept(visitor) {
2443
- if (visitor.visitEmpty_object) {
2444
- return visitor.visitEmpty_object(this);
2445
- }
2446
- else {
2447
- return visitor.visitChildren(this);
2448
- }
2449
- }
2450
- }
2451
- exports.Empty_objectContext = Empty_objectContext;
2452
- class Empty_listContext extends antlr4_1.ParserRuleContext {
2503
+ class Bad_meta_textContext extends antlr4_1.ParserRuleContext {
2453
2504
  constructor(parser, parent, invokingState) {
2454
2505
  super(parent, invokingState);
2455
2506
  this.parser = parser;
2456
2507
  }
2457
- EMPTY_LIST() {
2458
- return this.getToken(YiniParser.EMPTY_LIST, 0);
2459
- }
2460
- OB() {
2461
- return this.getToken(YiniParser.OB, 0);
2462
- }
2463
- CB() {
2464
- return this.getToken(YiniParser.CB, 0);
2465
- }
2466
- NL_list() {
2467
- return this.getTokens(YiniParser.NL);
2468
- }
2469
- NL(i) {
2470
- return this.getToken(YiniParser.NL, i);
2508
+ META_INVALID() {
2509
+ return this.getToken(YiniParser.META_INVALID, 0);
2471
2510
  }
2472
2511
  get ruleIndex() {
2473
- return YiniParser.RULE_empty_list;
2512
+ return YiniParser.RULE_bad_meta_text;
2474
2513
  }
2475
2514
  // @Override
2476
2515
  accept(visitor) {
2477
- if (visitor.visitEmpty_list) {
2478
- return visitor.visitEmpty_list(this);
2516
+ if (visitor.visitBad_meta_text) {
2517
+ return visitor.visitBad_meta_text(this);
2479
2518
  }
2480
2519
  else {
2481
2520
  return visitor.visitChildren(this);
2482
2521
  }
2483
2522
  }
2484
2523
  }
2485
- exports.Empty_listContext = Empty_listContext;
2524
+ exports.Bad_meta_textContext = Bad_meta_textContext;
2486
2525
  class Bad_memberContext extends antlr4_1.ParserRuleContext {
2487
2526
  constructor(parser, parent, invokingState) {
2488
2527
  super(parent, invokingState);
@@ -2509,8 +2548,8 @@ class Bad_memberContext extends antlr4_1.ParserRuleContext {
2509
2548
  WS(i) {
2510
2549
  return this.getToken(YiniParser.WS, i);
2511
2550
  }
2512
- NL() {
2513
- return this.getToken(YiniParser.NL, 0);
2551
+ eol() {
2552
+ return this.getTypedRuleContext(EolContext, 0);
2514
2553
  }
2515
2554
  get ruleIndex() {
2516
2555
  return YiniParser.RULE_bad_member;
@@ -2526,3 +2565,4 @@ class Bad_memberContext extends antlr4_1.ParserRuleContext {
2526
2565
  }
2527
2566
  }
2528
2567
  exports.Bad_memberContext = Bad_memberContext;
2568
+ //# sourceMappingURL=YiniParser.js.map