@forthix/forthic 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/cjs/forthic/interpreter.js +2 -0
  2. package/dist/cjs/forthic/interpreter.js.map +1 -1
  3. package/dist/cjs/forthic/modules/standard/array_module.d.ts +17 -7
  4. package/dist/cjs/forthic/modules/standard/array_module.js +326 -78
  5. package/dist/cjs/forthic/modules/standard/array_module.js.map +1 -1
  6. package/dist/cjs/forthic/modules/standard/boolean_module.d.ts +5 -6
  7. package/dist/cjs/forthic/modules/standard/boolean_module.js +43 -60
  8. package/dist/cjs/forthic/modules/standard/boolean_module.js.map +1 -1
  9. package/dist/cjs/forthic/modules/standard/core_module.d.ts +13 -14
  10. package/dist/cjs/forthic/modules/standard/core_module.js +101 -97
  11. package/dist/cjs/forthic/modules/standard/core_module.js.map +1 -1
  12. package/dist/cjs/forthic/modules/standard/datetime_module.d.ts +4 -2
  13. package/dist/cjs/forthic/modules/standard/datetime_module.js +39 -20
  14. package/dist/cjs/forthic/modules/standard/datetime_module.js.map +1 -1
  15. package/dist/cjs/forthic/modules/standard/json_module.d.ts +0 -1
  16. package/dist/cjs/forthic/modules/standard/json_module.js +0 -15
  17. package/dist/cjs/forthic/modules/standard/json_module.js.map +1 -1
  18. package/dist/cjs/forthic/modules/standard/math_module.d.ts +7 -12
  19. package/dist/cjs/forthic/modules/standard/math_module.js +76 -137
  20. package/dist/cjs/forthic/modules/standard/math_module.js.map +1 -1
  21. package/dist/cjs/forthic/modules/standard/record_module.d.ts +23 -4
  22. package/dist/cjs/forthic/modules/standard/record_module.js +319 -58
  23. package/dist/cjs/forthic/modules/standard/record_module.js.map +1 -1
  24. package/dist/cjs/forthic/modules/standard/string_module.d.ts +14 -6
  25. package/dist/cjs/forthic/modules/standard/string_module.js +183 -60
  26. package/dist/cjs/forthic/modules/standard/string_module.js.map +1 -1
  27. package/dist/cjs/forthic/tokenizer.js +29 -1
  28. package/dist/cjs/forthic/tokenizer.js.map +1 -1
  29. package/dist/esm/forthic/interpreter.js +2 -0
  30. package/dist/esm/forthic/interpreter.js.map +1 -1
  31. package/dist/esm/forthic/modules/standard/array_module.d.ts +17 -7
  32. package/dist/esm/forthic/modules/standard/array_module.js +293 -72
  33. package/dist/esm/forthic/modules/standard/array_module.js.map +1 -1
  34. package/dist/esm/forthic/modules/standard/boolean_module.d.ts +5 -6
  35. package/dist/esm/forthic/modules/standard/boolean_module.js +38 -54
  36. package/dist/esm/forthic/modules/standard/boolean_module.js.map +1 -1
  37. package/dist/esm/forthic/modules/standard/core_module.d.ts +13 -14
  38. package/dist/esm/forthic/modules/standard/core_module.js +83 -83
  39. package/dist/esm/forthic/modules/standard/core_module.js.map +1 -1
  40. package/dist/esm/forthic/modules/standard/datetime_module.d.ts +4 -2
  41. package/dist/esm/forthic/modules/standard/datetime_module.js +30 -17
  42. package/dist/esm/forthic/modules/standard/datetime_module.js.map +1 -1
  43. package/dist/esm/forthic/modules/standard/json_module.d.ts +0 -1
  44. package/dist/esm/forthic/modules/standard/json_module.js +0 -12
  45. package/dist/esm/forthic/modules/standard/json_module.js.map +1 -1
  46. package/dist/esm/forthic/modules/standard/math_module.d.ts +7 -12
  47. package/dist/esm/forthic/modules/standard/math_module.js +69 -117
  48. package/dist/esm/forthic/modules/standard/math_module.js.map +1 -1
  49. package/dist/esm/forthic/modules/standard/record_module.d.ts +23 -4
  50. package/dist/esm/forthic/modules/standard/record_module.js +300 -57
  51. package/dist/esm/forthic/modules/standard/record_module.js.map +1 -1
  52. package/dist/esm/forthic/modules/standard/string_module.d.ts +14 -6
  53. package/dist/esm/forthic/modules/standard/string_module.js +151 -54
  54. package/dist/esm/forthic/modules/standard/string_module.js.map +1 -1
  55. package/dist/esm/forthic/tokenizer.js +29 -1
  56. package/dist/esm/forthic/tokenizer.js.map +1 -1
  57. package/package.json +1 -1
@@ -10,7 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StringModule = void 0;
13
- const interpreter_js_1 = require("../../interpreter.js");
14
13
  const word_js_1 = require("../../decorators/word.js");
15
14
  class StringModule extends word_js_1.DecoratedModule {
16
15
  static {
@@ -18,36 +17,38 @@ class StringModule extends word_js_1.DecoratedModule {
18
17
  String manipulation and processing operations with regex and URL encoding support.
19
18
 
20
19
  ## Categories
21
- - Conversion: >STR, URL-ENCODE, URL-DECODE
22
- - Transform: LOWERCASE, UPPERCASE, STRIP, ASCII
23
- - Split/Join: SPLIT, JOIN, CONCAT
24
- - Pattern: REPLACE, RE-MATCH, RE-MATCH-ALL, RE-MATCH-GROUP
25
- - Constants: /N, /R, /T
20
+ - Conversion: >STR
21
+ - Transform: LOWERCASE, UPPERCASE, STRIP, ASCII, TRIM-PREFIX, TRIM-SUFFIX
22
+ - Split/Join: SPLIT, JOIN, CONCAT, LINES, UNLINES
23
+ - Pattern: REPLACE, RE-REPLACE, RE-MATCH, RE-MATCH-ALL, RE-MATCH?
24
+ - Predicates: STARTS-WITH?, ENDS-WITH?, RE-MATCH?
25
+ - Bash-flavored: GREP, GREP-V, SED, CUT
26
+ - Constants: /N, /T
26
27
 
27
28
  ## Examples
28
- "hello" "world" CONCAT
29
- ["a" "b" "c"] CONCAT
29
+ ["hello" " " "world"] CONCAT
30
+ "hello world" STR-LENGTH
30
31
  "hello world" " " SPLIT
31
32
  ["hello" "world"] " " JOIN
32
33
  "Hello" LOWERCASE
33
- "test@example.com" "(@.+)" RE-MATCH 1 RE-MATCH-GROUP
34
34
  `);
35
35
  }
36
36
  constructor() {
37
37
  super("string");
38
38
  }
39
- async CONCAT(interp) {
40
- const str2 = interp.stack_pop();
41
- let array;
42
- if (str2 instanceof Array) {
43
- array = str2;
39
+ async CONCAT(strings) {
40
+ if (!Array.isArray(strings)) {
41
+ throw new Error("CONCAT requires an array of strings. Wrap two strings as [s1 s2] CONCAT.");
44
42
  }
45
- else {
46
- const str1 = interp.stack_pop();
47
- array = [str1, str2];
43
+ return strings.map((s) => (s === null || s === undefined ? "" : String(s))).join("");
44
+ }
45
+ async STR_LENGTH(str) {
46
+ if (str === null || str === undefined)
47
+ return 0;
48
+ if (typeof str !== "string") {
49
+ throw new Error("STR-LENGTH requires a string. For arrays/records, use LENGTH.");
48
50
  }
49
- const result = array.join("");
50
- interp.stack_push(result);
51
+ return str.length;
51
52
  }
52
53
  async to_STR(item) {
53
54
  return item.toString();
@@ -65,12 +66,38 @@ String manipulation and processing operations with regex and URL encoding suppor
65
66
  async slash_N() {
66
67
  return "\n";
67
68
  }
68
- async slash_R() {
69
- return "\r";
70
- }
71
69
  async slash_T() {
72
70
  return "\t";
73
71
  }
72
+ async STARTS_WITH(str, prefix) {
73
+ if (typeof str !== "string" || typeof prefix !== "string")
74
+ return false;
75
+ return str.startsWith(prefix);
76
+ }
77
+ async ENDS_WITH(str, suffix) {
78
+ if (typeof str !== "string" || typeof suffix !== "string")
79
+ return false;
80
+ return str.endsWith(suffix);
81
+ }
82
+ async TRIM_PREFIX(str, prefix) {
83
+ if (typeof str !== "string")
84
+ return str;
85
+ if (typeof prefix !== "string" || prefix.length === 0)
86
+ return str;
87
+ return str.startsWith(prefix) ? str.slice(prefix.length) : str;
88
+ }
89
+ async TRIM_SUFFIX(str, suffix) {
90
+ if (typeof str !== "string")
91
+ return str;
92
+ if (typeof suffix !== "string" || suffix.length === 0)
93
+ return str;
94
+ return str.endsWith(suffix) ? str.slice(0, str.length - suffix.length) : str;
95
+ }
96
+ async RE_MATCH_TEST(str, pattern) {
97
+ if (typeof str !== "string" || typeof pattern !== "string")
98
+ return false;
99
+ return new RegExp(pattern).test(str);
100
+ }
74
101
  async LOWERCASE(string) {
75
102
  let result = "";
76
103
  if (string)
@@ -101,12 +128,18 @@ String manipulation and processing operations with regex and URL encoding suppor
101
128
  return result;
102
129
  }
103
130
  async REPLACE(string, text, replace) {
104
- let result = string;
105
- if (string) {
106
- const pattern = new RegExp(text, "g");
107
- result = string.replace(pattern, replace);
108
- }
109
- return result;
131
+ if (string === null || string === undefined)
132
+ return string;
133
+ if (text === null || text === undefined || text === "")
134
+ return string;
135
+ return string.split(text).join(replace ?? "");
136
+ }
137
+ async RE_REPLACE(string, pattern, replace) {
138
+ if (string === null || string === undefined)
139
+ return string;
140
+ if (pattern === null || pattern === undefined)
141
+ return string;
142
+ return string.replace(new RegExp(pattern, "g"), replace ?? "");
110
143
  }
111
144
  async RE_MATCH(string, pattern) {
112
145
  const re_pattern = new RegExp(pattern);
@@ -123,32 +156,74 @@ String manipulation and processing operations with regex and URL encoding suppor
123
156
  const result = Array.from(matches).map((v) => v[1]);
124
157
  return result;
125
158
  }
126
- async RE_MATCH_GROUP(match, num) {
127
- let result = null;
128
- if (match)
129
- result = match[num];
130
- return result;
159
+ // ========================================
160
+ // Bash/shell-flavored additions (PR 7)
161
+ // ========================================
162
+ async LINES(str) {
163
+ if (str === null || str === undefined)
164
+ return [];
165
+ if (typeof str !== "string")
166
+ return [];
167
+ return str.split("\n");
131
168
  }
132
- async URL_ENCODE(str) {
133
- let result = "";
134
- if (str)
135
- result = encodeURIComponent(str);
136
- return result;
169
+ async UNLINES(lines) {
170
+ if (!Array.isArray(lines))
171
+ return "";
172
+ return lines.join("\n");
137
173
  }
138
- async URL_DECODE(urlencoded) {
139
- let result = "";
140
- if (urlencoded)
141
- result = decodeURIComponent(urlencoded);
142
- return result;
174
+ async GREP(strings, pattern) {
175
+ if (!Array.isArray(strings))
176
+ return [];
177
+ if (typeof pattern !== "string")
178
+ return [];
179
+ const re = new RegExp(pattern);
180
+ return strings.filter((s) => typeof s === "string" && re.test(s));
181
+ }
182
+ async GREP_V(strings, pattern) {
183
+ if (!Array.isArray(strings))
184
+ return [];
185
+ if (typeof pattern !== "string")
186
+ return strings;
187
+ const re = new RegExp(pattern);
188
+ return strings.filter((s) => typeof s !== "string" || !re.test(s));
189
+ }
190
+ async SED(strings, pattern, repl) {
191
+ if (!Array.isArray(strings))
192
+ return [];
193
+ if (typeof pattern !== "string")
194
+ return strings;
195
+ const re = new RegExp(pattern, "g");
196
+ return strings.map((s) => typeof s === "string" ? s.replace(re, repl ?? "") : s);
197
+ }
198
+ async CUT(strings, sep, field) {
199
+ if (!Array.isArray(strings))
200
+ return [];
201
+ if (typeof sep !== "string")
202
+ return [];
203
+ const idx = typeof field === "number" ? field : Number(field);
204
+ if (!Number.isInteger(idx))
205
+ return [];
206
+ return strings.map((s) => {
207
+ if (typeof s !== "string")
208
+ return null;
209
+ const parts = s.split(sep);
210
+ return idx >= 0 && idx < parts.length ? parts[idx] : null;
211
+ });
143
212
  }
144
213
  }
145
214
  exports.StringModule = StringModule;
146
215
  __decorate([
147
- (0, word_js_1.ForthicDirectWord)("( str1:string str2:string -- result:string ) OR ( strings:string[] -- result:string )", "Concatenate two strings or array of strings", "CONCAT"),
216
+ (0, word_js_1.ForthicWord)("( strings:string[] -- result:string )", "Concatenate an array of strings into one string. For two strings: write [s1 s2] CONCAT. For arrays of arrays, use FLATTEN.", "CONCAT"),
148
217
  __metadata("design:type", Function),
149
- __metadata("design:paramtypes", [interpreter_js_1.Interpreter]),
218
+ __metadata("design:paramtypes", [Array]),
150
219
  __metadata("design:returntype", Promise)
151
220
  ], StringModule.prototype, "CONCAT", null);
221
+ __decorate([
222
+ (0, word_js_1.ForthicWord)("( str:string -- length:number )", "Length of a string in characters (0 if null/undefined).", "STR-LENGTH"),
223
+ __metadata("design:type", Function),
224
+ __metadata("design:paramtypes", [Object]),
225
+ __metadata("design:returntype", Promise)
226
+ ], StringModule.prototype, "STR_LENGTH", null);
152
227
  __decorate([
153
228
  (0, word_js_1.ForthicWord)("( item:any -- string:string )", "Convert item to string", ">STR"),
154
229
  __metadata("design:type", Function),
@@ -174,17 +249,41 @@ __decorate([
174
249
  __metadata("design:returntype", Promise)
175
250
  ], StringModule.prototype, "slash_N", null);
176
251
  __decorate([
177
- (0, word_js_1.ForthicWord)("( -- char:string )", "Carriage return character", "/R"),
252
+ (0, word_js_1.ForthicWord)("( -- char:string )", "Tab character", "/T"),
178
253
  __metadata("design:type", Function),
179
254
  __metadata("design:paramtypes", []),
180
255
  __metadata("design:returntype", Promise)
181
- ], StringModule.prototype, "slash_R", null);
256
+ ], StringModule.prototype, "slash_T", null);
182
257
  __decorate([
183
- (0, word_js_1.ForthicWord)("( -- char:string )", "Tab character", "/T"),
258
+ (0, word_js_1.ForthicWord)("( str:string prefix:string -- bool:boolean )", "Returns true if str begins with prefix.", "STARTS-WITH?"),
184
259
  __metadata("design:type", Function),
185
- __metadata("design:paramtypes", []),
260
+ __metadata("design:paramtypes", [Object, Object]),
186
261
  __metadata("design:returntype", Promise)
187
- ], StringModule.prototype, "slash_T", null);
262
+ ], StringModule.prototype, "STARTS_WITH", null);
263
+ __decorate([
264
+ (0, word_js_1.ForthicWord)("( str:string suffix:string -- bool:boolean )", "Returns true if str ends with suffix.", "ENDS-WITH?"),
265
+ __metadata("design:type", Function),
266
+ __metadata("design:paramtypes", [Object, Object]),
267
+ __metadata("design:returntype", Promise)
268
+ ], StringModule.prototype, "ENDS_WITH", null);
269
+ __decorate([
270
+ (0, word_js_1.ForthicWord)("( str:string prefix:string -- result:string )", "Strip prefix from start of str if present (otherwise return str unchanged).", "TRIM-PREFIX"),
271
+ __metadata("design:type", Function),
272
+ __metadata("design:paramtypes", [Object, Object]),
273
+ __metadata("design:returntype", Promise)
274
+ ], StringModule.prototype, "TRIM_PREFIX", null);
275
+ __decorate([
276
+ (0, word_js_1.ForthicWord)("( str:string suffix:string -- result:string )", "Strip suffix from end of str if present (otherwise return str unchanged).", "TRIM-SUFFIX"),
277
+ __metadata("design:type", Function),
278
+ __metadata("design:paramtypes", [Object, Object]),
279
+ __metadata("design:returntype", Promise)
280
+ ], StringModule.prototype, "TRIM_SUFFIX", null);
281
+ __decorate([
282
+ (0, word_js_1.ForthicWord)("( str:string pattern:string -- bool:boolean )", "Returns true if str matches the regex pattern. Predicate-only — does not return the match. (jq's `test`.)", "RE-MATCH?"),
283
+ __metadata("design:type", Function),
284
+ __metadata("design:paramtypes", [Object, Object]),
285
+ __metadata("design:returntype", Promise)
286
+ ], StringModule.prototype, "RE_MATCH_TEST", null);
188
287
  __decorate([
189
288
  (0, word_js_1.ForthicWord)("( string:string -- result:string )", "Convert string to lowercase"),
190
289
  __metadata("design:type", Function),
@@ -210,11 +309,17 @@ __decorate([
210
309
  __metadata("design:returntype", Promise)
211
310
  ], StringModule.prototype, "STRIP", null);
212
311
  __decorate([
213
- (0, word_js_1.ForthicWord)("( string:string text:string replace:string -- result:string )", "Replace all occurrences of text with replace"),
312
+ (0, word_js_1.ForthicWord)("( string:string text:string replace:string -- result:string )", "Replace all literal occurrences of text with replace. For regex matching use RE-REPLACE.", "REPLACE"),
214
313
  __metadata("design:type", Function),
215
314
  __metadata("design:paramtypes", [String, String, String]),
216
315
  __metadata("design:returntype", Promise)
217
316
  ], StringModule.prototype, "REPLACE", null);
317
+ __decorate([
318
+ (0, word_js_1.ForthicWord)("( string:string pattern:string replace:string -- result:string )", "Replace all regex matches of pattern with replace. Same as classic REPLACE behavior.", "RE-REPLACE"),
319
+ __metadata("design:type", Function),
320
+ __metadata("design:paramtypes", [String, String, String]),
321
+ __metadata("design:returntype", Promise)
322
+ ], StringModule.prototype, "RE_REPLACE", null);
218
323
  __decorate([
219
324
  (0, word_js_1.ForthicWord)("( string:string pattern:string -- match:any )", "Match string against regex pattern", "RE-MATCH"),
220
325
  __metadata("design:type", Function),
@@ -228,21 +333,39 @@ __decorate([
228
333
  __metadata("design:returntype", Promise)
229
334
  ], StringModule.prototype, "RE_MATCH_ALL", null);
230
335
  __decorate([
231
- (0, word_js_1.ForthicWord)("( match:any num:number -- result:any )", "Get capture group from regex match", "RE-MATCH-GROUP"),
336
+ (0, word_js_1.ForthicWord)("( str:string -- lines:string[] )", "Split string on newline. Equivalent to /N SPLIT.", "LINES"),
232
337
  __metadata("design:type", Function),
233
- __metadata("design:paramtypes", [Object, Number]),
338
+ __metadata("design:paramtypes", [Object]),
234
339
  __metadata("design:returntype", Promise)
235
- ], StringModule.prototype, "RE_MATCH_GROUP", null);
340
+ ], StringModule.prototype, "LINES", null);
236
341
  __decorate([
237
- (0, word_js_1.ForthicWord)("( str:string -- encoded:string )", "URL encode string", "URL-ENCODE"),
342
+ (0, word_js_1.ForthicWord)("( lines:string[] -- str:string )", "Join an array of lines with newlines. Equivalent to /N JOIN.", "UNLINES"),
238
343
  __metadata("design:type", Function),
239
- __metadata("design:paramtypes", [String]),
344
+ __metadata("design:paramtypes", [Object]),
240
345
  __metadata("design:returntype", Promise)
241
- ], StringModule.prototype, "URL_ENCODE", null);
346
+ ], StringModule.prototype, "UNLINES", null);
242
347
  __decorate([
243
- (0, word_js_1.ForthicWord)("( urlencoded:string -- decoded:string )", "URL decode string", "URL-DECODE"),
348
+ (0, word_js_1.ForthicWord)("( strings:string[] pattern:string -- matches:string[] )", "Keep only strings matching the regex pattern (bash grep).", "GREP"),
244
349
  __metadata("design:type", Function),
245
- __metadata("design:paramtypes", [String]),
350
+ __metadata("design:paramtypes", [Object, Object]),
351
+ __metadata("design:returntype", Promise)
352
+ ], StringModule.prototype, "GREP", null);
353
+ __decorate([
354
+ (0, word_js_1.ForthicWord)("( strings:string[] pattern:string -- non_matches:string[] )", "Keep only strings NOT matching the regex pattern (bash grep -v).", "GREP-V"),
355
+ __metadata("design:type", Function),
356
+ __metadata("design:paramtypes", [Object, Object]),
357
+ __metadata("design:returntype", Promise)
358
+ ], StringModule.prototype, "GREP_V", null);
359
+ __decorate([
360
+ (0, word_js_1.ForthicWord)("( strings:string[] pattern:string repl:string -- strings:string[] )", "Apply RE-REPLACE to each string in the array (bash sed s/pattern/repl/g).", "SED"),
361
+ __metadata("design:type", Function),
362
+ __metadata("design:paramtypes", [Object, Object, Object]),
363
+ __metadata("design:returntype", Promise)
364
+ ], StringModule.prototype, "SED", null);
365
+ __decorate([
366
+ (0, word_js_1.ForthicWord)("( strings:string[] sep:string field:number -- field_values:any[] )", "Split each string on sep and pick the field-th column (bash cut). Out-of-range yields null.", "CUT"),
367
+ __metadata("design:type", Function),
368
+ __metadata("design:paramtypes", [Object, Object, Object]),
246
369
  __metadata("design:returntype", Promise)
247
- ], StringModule.prototype, "URL_DECODE", null);
370
+ ], StringModule.prototype, "CUT", null);
248
371
  //# sourceMappingURL=string_module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/string_module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/string_module.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ class Tokenizer {
82
82
  this.input_string = this.unescape_string(string);
83
83
  this.input_pos = 0;
84
84
  this.whitespace = [" ", "\t", "\n", "\r", "(", ")", ","];
85
- this.quote_chars = ['"', "'", "^"];
85
+ this.quote_chars = ['"', "'"];
86
86
  // Token info
87
87
  this.token_start_pos = 0;
88
88
  this.token_end_pos = 0;
@@ -358,9 +358,37 @@ class Tokenizer {
358
358
  start: this.input_pos,
359
359
  end: this.input_pos,
360
360
  };
361
+ // Whitelist of escape sequences interpreted in regular (single-delimiter)
362
+ // strings. Anything else after a backslash (e.g., \d, \w, \U) stays as
363
+ // the literal pair — preserves regex patterns and Windows-style paths.
364
+ // Triple-quoted strings ('''...''', """...""") are gathered by a
365
+ // separate state and remain fully raw.
366
+ const escape_map = {
367
+ n: "\n",
368
+ t: "\t",
369
+ r: "\r",
370
+ "0": "\0",
371
+ "\\": "\\",
372
+ '"': '"',
373
+ "'": "'",
374
+ };
361
375
  while (this.input_pos < this.input_string.length) {
362
376
  const char = this.input_string[this.input_pos];
363
377
  this.advance_position(1);
378
+ if (char === "\\" && this.input_pos < this.input_string.length) {
379
+ const next_char = this.input_string[this.input_pos];
380
+ if (Object.prototype.hasOwnProperty.call(escape_map, next_char)) {
381
+ this.advance_position(1);
382
+ this.token_string += escape_map[next_char];
383
+ this.string_delta.end = this.input_pos;
384
+ continue;
385
+ }
386
+ // Unrecognized escape: leave both characters literal so regex
387
+ // patterns like '\d+' and Windows paths like 'C:\Users' keep working.
388
+ this.token_string += char;
389
+ this.string_delta.end = this.input_pos;
390
+ continue;
391
+ }
364
392
  if (char === string_delimiter) {
365
393
  const token = new Token(TokenType.STRING, this.token_string, this.get_token_location());
366
394
  this.string_delta = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/forthic/tokenizer.ts"],"names":[],"mappings":";;;AAAA,2CAA8F;AAqiBrF,qGAriBkB,gCAAoB,OAqiBlB;AAAE,wGAriBkB,mCAAuB,OAqiBlB;AAniBtD,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,+CAAO,CAAA;IACP,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,yDAAY,CAAA;IACZ,qDAAU,CAAA;IACV,mDAAS,CAAA;IACT,+CAAO,CAAA;IACP,qDAAU,CAAA;IACV,0CAAI,CAAA;IACJ,sDAAU,CAAA;IACV,wCAAG,CAAA;AACL,CAAC,EAbW,SAAS,yBAAT,SAAS,QAapB;AAOD,MAAa,YAAY;IACvB,MAAM,CAAU;IAChB,IAAI,CAAS;IACb,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,OAAO,CAAS;IAEhB,YAAY,EACV,MAAM,EACN,IAAI,GAAG,CAAC,EACR,MAAM,GAAG,CAAC,EACV,SAAS,GAAG,CAAC,EACb,OAAO,GAAG,CAAC,MACkB,EAAE;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AApBD,oCAoBC;AAED,MAAa,KAAK;IAChB,IAAI,CAAY;IAChB,MAAM,CAAS;IACf,QAAQ,CAAe;IAEvB,YAAY,IAAe,EAAE,MAAc,EAAE,QAAsB;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAVD,sBAUC;AAED,MAAa,gBAAgB;IAC3B,MAAM,CAAS;IACf,QAAQ,CAAe;IAEvB,YAAY,MAAc,EAAE,QAAsB;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAZD,4CAYC;AAED,MAAa,SAAS;IACpB,kBAAkB,CAAe;IACjC,IAAI,CAAS;IACb,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,SAAS,CAAS;IAClB,UAAU,CAAW;IACrB,WAAW,CAAW;IACtB,eAAe,CAAS;IACxB,aAAa,CAAS;IACtB,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,YAAY,CAAS;IACrB,YAAY,CAA0B;IAC9B,SAAS,CAAU;IAE3B,YACE,MAAc,EACd,qBAA0C,IAAI,EAC9C,YAAqB,KAAK;QAE1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC,CAAE,oBAAoB;QAChE,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnC,aAAa;QACb,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe,CAAC,MAAc;QAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe,CAAC,KAAa,EAAE,IAAY;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CACtC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CACzE,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,SAAiB;QAChC,IAAI,CAAS,CAAC;QACd,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,CAAC;QACT,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,YAAY,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM;YACtC,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;SACzD,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CACtB,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBACxD,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;iBACjE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBAClD,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,WAAW,EACrB,IAAI,EACJ,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC,6BAA6B,EAAE,CAAC;iBAChE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;gBAC9D,OAAO,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;iBAC7C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;gBAChE,OAAO,IAAI,CAAC,iCAAiC,EAAE,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;gBAC1D,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,4CAA4C,CAC7C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,sCAAsC,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;iBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1B,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,sCAAsC,CACvC,CAAC;iBACC,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,4CAA4C,CAC7C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,gCAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,EACzB,gCAAgC,IAAI,WAAW,CAChD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,sCAAsC;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,SAAS,EACnB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;iBAC/B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;;gBAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,YAAY,EACtB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,0CAA0C,CAAC,KAAa;QACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IACE,IAAI,KAAK,gBAAgB;gBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAC1C,CAAC;gBACD,0FAA0F;gBAC1F,IACE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;oBAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,gBAAgB,EAC1D,CAAC;oBACD,8EAA8E;oBAC9E,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,8CAA8C;oBACxE,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;oBACvC,SAAS;gBACX,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,mCAAuB,CAC/B,qBAAqB,EACrB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,GAAG,EAAE,IAAI,CAAC,SAAS;SACpB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,SAAS,CAAC,MAAM,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,mCAAuB,CAC/B,qBAAqB,EACrB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YACD,wFAAwF;YACxF,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,+CAA+C;oBAC/C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;oBAC1B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;wBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;wBAC5B,IAAI,MAAM,KAAK,GAAG;4BAAE,MAAM;oBAC5B,CAAC;oBACD,MAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,yCAAyC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,IAAI,EACd,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,iCAAiC;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,MAAM;YACpC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;iBAAM,CAAC;gBACN,iBAAiB,IAAI,IAAI,CAAC;gBAC1B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,oCAAoC;YACtE,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,IAAI,EACd,iBAAiB,EACjB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,CACd,SAAS,CAAC,UAAU,EACpB,kBAAkB,EAClB,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACJ,CAAC;CACF;AA7dD,8BA6dC"}
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/forthic/tokenizer.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { MathModule } from "./modules/standard/math_module.js";
11
11
  import { BooleanModule } from "./modules/standard/boolean_module.js";
12
12
  import { JsonModule } from "./modules/standard/json_module.js";
13
13
  import { DateTimeModule } from "./modules/standard/datetime_module.js";
14
+ import { ClassicModule } from "./modules/standard/classic/classic_module.js";
14
15
  import { serializeValue, deserializeValue, serializeStack, deserializeStack } from "../websocket/serializer.js";
15
16
  import { pathSegmentForKey } from "../common/type_utils.js";
16
17
  /**
@@ -984,6 +985,7 @@ export class StandardInterpreter extends Interpreter {
984
985
  new BooleanModule(),
985
986
  new JsonModule(),
986
987
  new DateTimeModule(),
988
+ new ClassicModule(),
987
989
  ];
988
990
  // Import unprefixed at the BOTTOM of module stack
989
991
  // This ensures they're checked LAST during find_word()