astn 0.110.18 → 0.110.20

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 (167) hide show
  1. package/dist/bin/convert_to_json.js +10 -20
  2. package/dist/bin/validate_astn.js +9 -19
  3. package/dist/generated/{interface/schemas/target/resolved.d.ts → generic/astn_target.d.ts} +1 -1
  4. package/dist/generated/generic/astn_target.js +3 -0
  5. package/dist/generated/generic/resolve.d.ts +2 -2
  6. package/dist/generated/generic/resolve.js +14 -22
  7. package/dist/generated/implementation/generic/resolve.d.ts +81 -0
  8. package/dist/generated/implementation/generic/resolve.js +251 -0
  9. package/dist/generated/implementation/generic/unmarshall.d.ts +37 -0
  10. package/dist/generated/implementation/generic/unmarshall.js +168 -0
  11. package/dist/generated/implementation/schemas/ast/marshall.d.ts +7 -0
  12. package/dist/generated/implementation/schemas/ast/marshall.js +227 -0
  13. package/dist/generated/implementation/schemas/ast/serializer.d.ts +14 -0
  14. package/dist/generated/implementation/schemas/ast/serializer.js +328 -0
  15. package/dist/generated/implementation/schemas/ast/unmarshall.d.ts +7 -0
  16. package/dist/generated/implementation/schemas/ast/unmarshall.js +239 -0
  17. package/dist/generated/implementation/schemas/ide/marshall.d.ts +4 -0
  18. package/dist/generated/implementation/schemas/ide/marshall.js +81 -0
  19. package/dist/generated/implementation/schemas/ide/serializer.d.ts +3 -0
  20. package/dist/generated/implementation/schemas/ide/serializer.js +72 -0
  21. package/dist/generated/implementation/schemas/ide/unmarshall.d.ts +4 -0
  22. package/dist/generated/implementation/schemas/ide/unmarshall.js +79 -0
  23. package/dist/generated/implementation/schemas/parse_result/marshall.d.ts +3 -0
  24. package/dist/generated/implementation/schemas/parse_result/marshall.js +184 -0
  25. package/dist/generated/implementation/schemas/parse_result/serializer.d.ts +6 -0
  26. package/dist/generated/implementation/schemas/parse_result/serializer.js +288 -0
  27. package/dist/generated/implementation/schemas/parse_result/unmarshall.d.ts +3 -0
  28. package/dist/generated/implementation/schemas/parse_result/unmarshall.js +103 -0
  29. package/dist/generated/implementation/schemas/target/marshall.d.ts +3 -0
  30. package/dist/generated/implementation/schemas/target/marshall.js +122 -0
  31. package/dist/generated/implementation/schemas/target/serializer.d.ts +3 -0
  32. package/dist/generated/implementation/schemas/target/serializer.js +122 -0
  33. package/dist/generated/implementation/schemas/target/unmarshall.d.ts +3 -0
  34. package/dist/generated/implementation/schemas/target/unmarshall.js +81 -0
  35. package/dist/generated/implementation/schemas/token/marshall.d.ts +11 -0
  36. package/dist/generated/implementation/schemas/token/marshall.js +230 -0
  37. package/dist/generated/implementation/schemas/token/unmarshall.d.ts +11 -0
  38. package/dist/generated/implementation/schemas/token/unmarshall.js +180 -0
  39. package/dist/generated/interface/core/astn_source.d.ts +116 -0
  40. package/dist/generated/interface/core/astn_source.js +3 -0
  41. package/dist/generated/interface/{schemas/target/unresolved.d.ts → core/astn_target.d.ts} +27 -27
  42. package/dist/generated/interface/core/astn_target.js +3 -0
  43. package/dist/generated/interface/core/resolve.d.ts +11 -0
  44. package/dist/generated/interface/core/resolve.js +3 -0
  45. package/dist/generated/interface/core/unconstrained.d.ts +19 -0
  46. package/dist/generated/interface/core/unconstrained.js +3 -0
  47. package/dist/generated/interface/core/unresolved.d.ts +162 -13
  48. package/dist/generated/interface/generic/resolve.d.ts +11 -0
  49. package/dist/generated/interface/generic/resolve.js +3 -0
  50. package/dist/generated/interface/schemas/ast/marshall.d.ts +226 -0
  51. package/dist/generated/interface/schemas/{ide/resolved.js → ast/marshall.js} +1 -1
  52. package/dist/generated/interface/schemas/ast/migrate_boilerplate.d.ts +134 -0
  53. package/dist/generated/interface/schemas/ast/migrate_boilerplate.js +3 -0
  54. package/dist/generated/interface/schemas/ast/serializer.d.ts +436 -0
  55. package/dist/generated/interface/schemas/ast/{unresolved.js → serializer.js} +1 -1
  56. package/dist/generated/interface/schemas/ast/unconstrained.d.ts +20 -210
  57. package/dist/generated/interface/schemas/ast/unmarshall.d.ts +134 -0
  58. package/dist/generated/interface/schemas/{ide/unresolved.js → ast/unmarshall.js} +1 -1
  59. package/dist/generated/interface/schemas/ide/marshall.d.ts +136 -0
  60. package/dist/generated/interface/schemas/{ast/resolved.js → ide/marshall.js} +1 -1
  61. package/dist/generated/interface/schemas/ide/migrate_boilerplate.d.ts +68 -0
  62. package/dist/generated/interface/schemas/ide/migrate_boilerplate.js +3 -0
  63. package/dist/generated/interface/schemas/ide/serializer.d.ts +106 -0
  64. package/dist/generated/interface/schemas/{target/unresolved.js → ide/serializer.js} +1 -1
  65. package/dist/generated/interface/schemas/ide/unconstrained.d.ts +50 -29
  66. package/dist/generated/interface/schemas/ide/unmarshall.d.ts +68 -0
  67. package/dist/generated/interface/schemas/{parse_result/unresolved.js → ide/unmarshall.js} +1 -1
  68. package/dist/generated/interface/schemas/parse_result/marshall.d.ts +106 -0
  69. package/dist/generated/interface/schemas/parse_result/{resolved.js → marshall.js} +1 -1
  70. package/dist/generated/interface/schemas/parse_result/migrate_boilerplate.d.ts +46 -0
  71. package/dist/generated/interface/schemas/parse_result/migrate_boilerplate.js +3 -0
  72. package/dist/generated/interface/schemas/parse_result/serializer.d.ts +196 -0
  73. package/dist/generated/interface/schemas/parse_result/serializer.js +3 -0
  74. package/dist/generated/interface/schemas/parse_result/unconstrained.d.ts +20 -168
  75. package/dist/generated/interface/schemas/parse_result/unmarshall.d.ts +46 -0
  76. package/dist/generated/interface/schemas/parse_result/unmarshall.js +3 -0
  77. package/dist/generated/interface/schemas/target/marshall.d.ts +126 -0
  78. package/dist/generated/interface/schemas/target/{resolved.js → marshall.js} +1 -1
  79. package/dist/generated/interface/schemas/target/migrate_boilerplate.d.ts +46 -0
  80. package/dist/generated/interface/schemas/target/migrate_boilerplate.js +3 -0
  81. package/dist/generated/interface/schemas/target/serializer.d.ts +126 -0
  82. package/dist/generated/interface/schemas/target/serializer.js +3 -0
  83. package/dist/generated/interface/schemas/target/unconstrained.d.ts +1 -1
  84. package/dist/generated/interface/schemas/target/unmarshall.d.ts +46 -0
  85. package/dist/generated/interface/schemas/target/unmarshall.js +3 -0
  86. package/dist/generated/interface/schemas/target_json/unconstrained.d.ts +1 -1
  87. package/dist/generated/interface/schemas/token/marshall.d.ts +346 -0
  88. package/dist/generated/interface/schemas/token/marshall.js +3 -0
  89. package/dist/generated/interface/schemas/token/migrate_boilerplate.d.ts +222 -0
  90. package/dist/generated/interface/schemas/token/migrate_boilerplate.js +3 -0
  91. package/dist/generated/interface/schemas/token/unconstrained.d.ts +326 -0
  92. package/dist/generated/interface/schemas/token/unconstrained.js +3 -0
  93. package/dist/generated/interface/schemas/token/unmarshall.d.ts +222 -0
  94. package/dist/generated/interface/schemas/token/unmarshall.js +3 -0
  95. package/dist/index.js +8 -18
  96. package/dist/parse/ast.d.ts +10 -0
  97. package/dist/parse/ast.js +227 -0
  98. package/dist/parse/astn_parse_generic.d.ts +8 -0
  99. package/dist/parse/astn_parse_generic.js +65 -0
  100. package/dist/parse/parse.d.ts +3 -10
  101. package/dist/parse/parse.js +19 -226
  102. package/dist/parse/parse_generic.d.ts +7 -42
  103. package/dist/parse/parse_generic.js +14 -605
  104. package/dist/{transformations/parse_generic.d.ts → parse/string_iterator.d.ts} +19 -15
  105. package/dist/parse/string_iterator.js +139 -0
  106. package/dist/parse/token.d.ts +9 -0
  107. package/dist/parse/token.js +506 -0
  108. package/dist/parse/tokenize.d.ts +8 -0
  109. package/dist/parse/tokenize.js +483 -0
  110. package/dist/serializers/json.js +8 -18
  111. package/dist/serializers/parse_result.js +8 -18
  112. package/dist/transformations/ast/ide.d.ts +3 -2
  113. package/dist/transformations/ast/ide.js +8 -18
  114. package/dist/transformations/ast/json_target.d.ts +1 -1
  115. package/dist/transformations/ast/json_target.js +8 -18
  116. package/dist/transformations/target/fountain_pen_block.js +10 -20
  117. package/dist/transformations/target_json/fountain_pen_block.js +8 -18
  118. package/package.json +5 -7
  119. package/dist/generated/interface/schemas/ast/poormans_parser.d.ts +0 -1108
  120. package/dist/generated/interface/schemas/ast/poormans_parser.js +0 -3
  121. package/dist/generated/interface/schemas/ast/resolved.d.ts +0 -1108
  122. package/dist/generated/interface/schemas/ast/unresolved.d.ts +0 -1108
  123. package/dist/generated/interface/schemas/ide/poormans_parser.d.ts +0 -161
  124. package/dist/generated/interface/schemas/ide/poormans_parser.js +0 -3
  125. package/dist/generated/interface/schemas/ide/resolved.d.ts +0 -161
  126. package/dist/generated/interface/schemas/ide/unresolved.d.ts +0 -161
  127. package/dist/generated/interface/schemas/parse_result/poormans_parser.d.ts +0 -416
  128. package/dist/generated/interface/schemas/parse_result/poormans_parser.js +0 -3
  129. package/dist/generated/interface/schemas/parse_result/resolved.d.ts +0 -416
  130. package/dist/generated/interface/schemas/parse_result/unresolved.d.ts +0 -416
  131. package/dist/generated/interface/schemas/target/poormans_parser.d.ts +0 -186
  132. package/dist/generated/interface/schemas/target/poormans_parser.js +0 -3
  133. package/dist/generated/interface/schemas/target_json/poormans_parser.d.ts +0 -169
  134. package/dist/generated/interface/schemas/target_json/poormans_parser.js +0 -3
  135. package/dist/generated/interface/schemas/target_json/resolved.d.ts +0 -169
  136. package/dist/generated/interface/schemas/target_json/resolved.js +0 -3
  137. package/dist/generated/interface/schemas/target_json/unresolved.d.ts +0 -169
  138. package/dist/generated/interface/schemas/target_json/unresolved.js +0 -3
  139. package/dist/lib/globals.d.ts +0 -24
  140. package/dist/lib/globals.js +0 -2
  141. package/dist/lib/transformations/create_error_message.d.ts +0 -5
  142. package/dist/lib/transformations/create_error_message.js +0 -89
  143. package/dist/lib/transformations/format.d.ts +0 -42
  144. package/dist/lib/transformations/format.js +0 -166
  145. package/dist/lib/transformations/fountain_pen/astn.d.ts +0 -11
  146. package/dist/lib/transformations/fountain_pen/astn.js +0 -156
  147. package/dist/lib/transformations/fountain_pen/json.d.ts +0 -4
  148. package/dist/lib/transformations/fountain_pen/json.js +0 -113
  149. package/dist/lib/transformations/parse.d.ts +0 -11
  150. package/dist/lib/transformations/parse.js +0 -257
  151. package/dist/lib/transformations/parse_generic.d.ts +0 -43
  152. package/dist/lib/transformations/parse_generic.js +0 -644
  153. package/dist/transformations/create_error_message.d.ts +0 -5
  154. package/dist/transformations/create_error_message.js +0 -89
  155. package/dist/transformations/format.d.ts +0 -42
  156. package/dist/transformations/format.js +0 -166
  157. package/dist/transformations/fountain_pen/astn.d.ts +0 -11
  158. package/dist/transformations/fountain_pen/astn.js +0 -166
  159. package/dist/transformations/fountain_pen/json.d.ts +0 -4
  160. package/dist/transformations/fountain_pen/json.js +0 -123
  161. package/dist/transformations/parse.d.ts +0 -11
  162. package/dist/transformations/parse.js +0 -257
  163. package/dist/transformations/parse_generic.js +0 -644
  164. package/dist/transformations/target/fountain_pen/astn.d.ts +0 -11
  165. package/dist/transformations/target/fountain_pen/astn.js +0 -156
  166. package/dist/transformations/target/fountain_pen/json.d.ts +0 -4
  167. package/dist/transformations/target/fountain_pen/json.js +0 -113
@@ -15,233 +15,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Parse_Result = exports.Value = exports.Key_Value_Pairs = exports.Elements = exports.Document = exports.String = void 0;
26
+ exports.parse = void 0;
37
27
  const _ea = __importStar(require("exupery-core-alg"));
38
- const pg = __importStar(require("./parse_generic"));
39
- /**
40
- * to get from a Annotated_Token to a Structural_Token, the type should be omitted.
41
- * but it is parsd in between the 'start' and 'end' properties, so a little post-processing is needed.
42
- */
43
- const make_structural_token = (token) => {
44
- return {
45
- 'trailing trivia': token['trailing trivia'],
46
- 'range': {
47
- 'start': token['start'],
48
- 'end': token['end']
49
- }
50
- };
51
- };
52
- const String = (token_iterator) => {
53
- const token = token_iterator['get required token'](_ea.array_literal([['a string', null]]));
54
- if (token.type[0] !== 'string') {
55
- return pg.throw_unexpected_token(token, _ea.array_literal([['a string', null]]));
56
- }
57
- token_iterator['consume token']();
58
- return {
59
- 'range': {
60
- 'start': token['start'],
61
- 'end': token['end']
62
- },
63
- 'value': token.type[1].value,
64
- 'type': token.type[1].type,
65
- 'trailing trivia': token['trailing trivia'],
66
- };
67
- };
68
- exports.String = String;
69
- const Document = (token_iterator) => {
70
- return {
71
- 'header': _ea.block(() => {
72
- const token = token_iterator['get required token'](_ea.array_literal([['!', null], ['a value', null]]));
73
- if (token.type[0] !== '!') {
74
- return _ea.not_set();
75
- }
76
- token_iterator['consume token']();
77
- return _ea.set({
78
- '!': make_structural_token(token),
79
- 'value': (0, exports.Value)(token_iterator)
80
- });
81
- }),
82
- 'content': (0, exports.Value)(token_iterator)
83
- };
84
- };
85
- exports.Document = Document;
86
- const Elements = (token_iterator, end_reached, end_token) => {
87
- return _ea.pure.list.build(($i) => {
88
- while (true) {
89
- const current_token = token_iterator['get required token'](_ea.array_literal([end_token, ['a value', null]]));
90
- if (end_reached(current_token.type)) {
91
- return;
92
- }
93
- $i['add element']({
94
- 'value': (0, exports.Value)(token_iterator),
95
- ',': _ea.block(() => {
96
- const current_token = token_iterator['get required token'](_ea.array_literal([end_token, [',', null], ['a value', null]]));
97
- if (current_token.type[0] !== ',') {
98
- return _ea.not_set();
99
- }
100
- token_iterator['consume token']();
101
- return _ea.set(make_structural_token(current_token));
102
- })
103
- });
104
- }
105
- });
106
- };
107
- exports.Elements = Elements;
108
- const Key_Value_Pairs = (token_iterator, end_reached, end_token) => {
109
- return _ea.pure.list.build(($i) => {
110
- while (true) {
111
- const current_token = token_iterator['get required token'](_ea.array_literal([end_token, ['a string', null]]));
112
- if (end_reached(current_token.type)) {
113
- return;
114
- }
115
- $i['add element']({
116
- 'key': (0, exports.String)(token_iterator),
117
- 'value': _ea.block(() => {
118
- const candidate_colon = token_iterator['get required token'](_ea.array_literal([['a string', null], [':', null], end_token]));
119
- if (candidate_colon.type[0] !== ':') {
120
- return _ea.not_set();
121
- }
122
- token_iterator['consume token']();
123
- return _ea.set({
124
- ':': make_structural_token(candidate_colon),
125
- 'value': (0, exports.Value)(token_iterator)
126
- });
127
- }),
128
- ',': _ea.block(() => {
129
- const current_token = token_iterator['get required token'](_ea.array_literal([['a string', null], [',', null], end_token]));
130
- if (current_token.type[0] !== ',') {
131
- return _ea.not_set();
132
- }
133
- token_iterator['consume token']();
134
- return _ea.set(make_structural_token(current_token));
135
- })
136
- });
137
- }
138
- });
139
- };
140
- exports.Key_Value_Pairs = Key_Value_Pairs;
141
- const Value = (token_iterator) => {
142
- const token = token_iterator['get required token'](_ea.array_literal([['a value', null]]));
143
- return {
144
- 'range': {
145
- 'start': token.start,
146
- 'end': token.end
147
- },
148
- 'type': _ea.cc(token.type, ($) => {
149
- switch ($[0]) {
150
- case 'string': return _ea.ss($, ($) => {
151
- return ['string', (0, exports.String)(token_iterator)];
152
- });
153
- case '{': return _ea.ss($, ($) => {
154
- token_iterator['consume token']();
155
- return ['indexed collection', ['dictionary', {
156
- '{': make_structural_token(token),
157
- 'entries': (0, exports.Key_Value_Pairs)(token_iterator, ($) => $[0] === '}', ['}', null]),
158
- '}': _ea.block(() => {
159
- const current_token = token_iterator['get required token'](_ea.array_literal([['}', null]]));
160
- token_iterator['consume token']();
161
- return make_structural_token(current_token);
162
- })
163
- }]];
164
- });
165
- case '(': return _ea.ss($, ($) => {
166
- token_iterator['consume token']();
167
- return ['indexed collection', ['verbose group', {
168
- '(': make_structural_token(token),
169
- 'entries': (0, exports.Key_Value_Pairs)(token_iterator, ($) => $[0] === ')', [')', null]),
170
- ')': _ea.block(() => {
171
- const current_token = token_iterator['get required token'](_ea.array_literal([[')', null]]));
172
- token_iterator['consume token']();
173
- return make_structural_token(current_token);
174
- })
175
- }]];
176
- });
177
- case '[': return _ea.ss($, ($) => {
178
- token_iterator['consume token']();
179
- return ['ordered collection', ['list', {
180
- '[': make_structural_token(token),
181
- 'elements': (0, exports.Elements)(token_iterator, ($) => $[0] === ']', [']', null]),
182
- ']': _ea.block(() => {
183
- const current_token = token_iterator['get required token'](_ea.array_literal([[']', null]]));
184
- token_iterator['consume token']();
185
- return make_structural_token(current_token);
186
- }),
187
- }]];
188
- });
189
- case '<': return _ea.ss($, ($) => {
190
- token_iterator['consume token']();
191
- return ['ordered collection', ['concise group', {
192
- '<': make_structural_token(token),
193
- 'elements': (0, exports.Elements)(token_iterator, ($) => $[0] === '>', ['>', null]),
194
- '>': _ea.block(() => {
195
- const current_token = token_iterator['get required token'](_ea.array_literal([['>', null]]));
196
- token_iterator['consume token']();
197
- return make_structural_token(current_token);
198
- }),
199
- }]];
200
- });
201
- case '@': return _ea.ss($, ($) => {
202
- token_iterator['consume token']();
203
- return ['include', {
204
- '@': make_structural_token(token),
205
- 'path': (0, exports.String)(token_iterator)
206
- }];
207
- });
208
- case '~': return _ea.ss($, ($) => {
209
- token_iterator['consume token']();
210
- return ['not set', {
211
- '~': make_structural_token(token),
212
- }];
213
- });
214
- case '|': return _ea.ss($, ($) => {
215
- token_iterator['consume token']();
216
- return ['tagged value', {
217
- '|': make_structural_token(token),
218
- 'state': (0, exports.String)(token_iterator),
219
- 'value': (0, exports.Value)(token_iterator)
220
- }];
221
- });
222
- case '*': return _ea.ss($, ($) => {
223
- token_iterator['consume token']();
224
- return ['set optional value', {
225
- '*': make_structural_token(token),
226
- 'value': (0, exports.Value)(token_iterator)
227
- }];
228
- });
229
- default:
230
- //unexpected token
231
- return pg.throw_unexpected_token(token, _ea.array_literal([
232
- ['a value', null]
233
- ]));
234
- }
235
- })
236
- };
237
- };
238
- exports.Value = Value;
239
- const Parse_Result = ($, $p) => {
28
+ const d_ast = __importStar(require("./ast"));
29
+ const pg = __importStar(require("./astn_parse_generic"));
30
+ const si = __importStar(require("./string_iterator"));
31
+ const tokenize = __importStar(require("./token"));
32
+ const parse = ($, $p) => {
240
33
  try {
241
- const string_iterator = pg.create_string_iterator($, {
34
+ const string_iterator = si.create_string_iterator($, {
242
35
  'tab size': $p['tab size']
243
36
  });
244
- const tokenizer_result = pg.Tokenizer_Result(null, {
37
+ const tokenizer_result = tokenize.Tokenizer_Result(null, {
245
38
  'string iterator': string_iterator
246
39
  });
247
40
  // tokenizer_result.tokens.__for_each(($) => {
@@ -252,8 +45,8 @@ const Parse_Result = ($, $p) => {
252
45
  // }
253
46
  // })}`)
254
47
  // })
255
- const token_iterator = pg.create_token_iterator(tokenizer_result);
256
- return ['success', (0, exports.Document)(token_iterator)];
48
+ const token_iterator = pg.create_astn_token_iterator(tokenizer_result.tokens, tokenizer_result.end);
49
+ return ['success', d_ast.Document(token_iterator)];
257
50
  }
258
51
  catch (error) {
259
52
  if (error instanceof _ea.Error) {
@@ -263,5 +56,5 @@ const Parse_Result = ($, $p) => {
263
56
  return _ea.panic("unknown error thrown");
264
57
  }
265
58
  };
266
- exports.Parse_Result = Parse_Result;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXVDO0FBTXZDLG9EQUFxQztBQUlyQzs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBbUMsRUFBd0IsRUFBRTtJQUN4RixPQUFPO1FBQ0gsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQzNDLE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3RCO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUVNLE1BQU0sTUFBTSxHQUFHLENBQUMsY0FBaUMsRUFBYyxFQUFFO0lBQ3BFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMzRixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNwRixDQUFDO0lBQ0QsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUE7SUFDakMsT0FBTztRQUNILE9BQU8sRUFBRTtZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxFQUFFLEtBQUssQ0FB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
59
+ exports.parse = parse;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBdUM7QUFHdkMsNkNBQThCO0FBSTlCLHlEQUEwQztBQUMxQyxzREFBdUM7QUFFdkMsa0RBQW1DO0FBRTVCLE1BQU0sS0FBSyxHQUFHLENBQ2pCLENBQVMsRUFDVCxFQUVDLEVBQzBCLEVBQUU7SUFDN0IsSUFBSSxDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRTtZQUNqRCxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUM3QixDQUFDLENBQUE7UUFDRixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDckQsaUJBQWlCLEVBQUUsZUFBZTtTQUNyQyxDQUFDLENBQUE7UUFDRiw4Q0FBOEM7UUFDOUMsK0RBQStEO1FBQy9ELDBCQUEwQjtRQUMxQixpRkFBaUY7UUFDakYsb0RBQW9EO1FBQ3BELFlBQVk7UUFDWixZQUFZO1FBQ1osS0FBSztRQUNMLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbkcsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFFdEQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsTUFBTSxXQUFXLEdBQStCLEtBQUssQ0FBQyxJQUFJLENBQUEsQ0FBQyx5QkFBeUI7WUFDcEYsT0FBTyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUNuQyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDNUMsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQS9CWSxRQUFBLEtBQUssU0ErQmpCIn0=
@@ -1,43 +1,8 @@
1
1
  import * as _et from 'exupery-core-types';
2
- import * as ast from "../generated/interface/schemas/ast/unconstrained";
3
- import * as parse_result from "../generated/interface/schemas/parse_result/unconstrained";
4
- export declare const throw_parse_error: (type: parse_result.Parse_Error._type, range: ast.Range) => never;
5
- export declare const throw_unexpected_token: (found: parse_result.Annotated_Token, expected: _et.Array<parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
6
- type String_Iterator = {
7
- 'consume character': () => void;
8
- 'consume string': ($: string) => void;
9
- /**
10
- * returns the current character, or null if the end of the string has been reached.
11
- * equivalent to `look ahead(0)`
12
- */
13
- 'get current character': () => number | null;
14
- 'look ahead': ($: number) => number | null;
15
- 'create offset location info': (subtract: number) => ast.Location;
16
- 'create location info': () => ast.Location;
17
- 'create location info string': () => string;
18
- /**
19
- * if no non-whitespace character has been found yet on the current line,
20
- * this will return the current column,
21
- * otherwise it will return the offset of that first non-whitespace character
22
- * (which is the indentation of the line)
23
- */
24
- 'get line indentation': () => number;
25
- 'starts with': ($: string) => boolean;
26
- };
27
- /**
28
- * Creates a string iterator that allows iterating over characters in a string,
29
- * while keeping track of line numbers, columns, and line indentation.
30
- */
31
- export declare const create_string_iterator: ($: string, $p: {
32
- "tab size": number;
33
- }) => String_Iterator;
34
- export declare const Annotated_Token: (st: String_Iterator) => parse_result.Annotated_Token;
35
- export declare const Tokenizer_Result: ($: null, $p: {
36
- "string iterator": String_Iterator;
37
- }) => parse_result.Tokenizer_Result;
38
- export type Token_Iterator = {
39
- 'get required token': (expected: _et.Array<parse_result.Parse_Error._type.SG.parser.expected.L>) => parse_result.Annotated_Token;
40
- 'consume token': () => void;
41
- };
42
- export declare const create_token_iterator: ($: parse_result.Tokenizer_Result) => Token_Iterator;
43
- export {};
2
+ import * as si from "./string_iterator";
3
+ import * as d_token from "../generated/interface/schemas/token/unconstrained";
4
+ import * as d_parse_result from "../generated/interface/schemas/parse_result/unconstrained";
5
+ export declare const throw_parse_error: (type: d_parse_result.Parse_Error._type, range: d_token.Range) => never;
6
+ export declare const throw_unexpected_token: (found: d_token.Annotated_Token, expected: _et.Array<d_parse_result.Parse_Error._type.SG.parser.expected.L>) => never;
7
+ export type ASTN_Token_Iterator = si.Token_Iterator<d_parse_result.Parse_Error._type.SG.parser.expected.L, d_token.Annotated_Token>;
8
+ export declare const create_astn_token_iterator: ($: d_token.Tokenizer_Result.tokens, end: si.Location) => ASTN_Token_Iterator;