@jalvin/compiler 2.0.31 → 2.0.33

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/codegen/index.d.ts +179 -0
  2. package/dist/codegen/index.d.ts.map +1 -0
  3. package/dist/codegen/index.js +2207 -0
  4. package/dist/codegen/index.js.map +1 -0
  5. package/dist/codegen.d.ts +1 -1
  6. package/dist/codegen.d.ts.map +1 -1
  7. package/dist/codegen.js +14 -17
  8. package/dist/codegen.js.map +1 -1
  9. package/dist/codegen_freestanding_c.d.ts +9 -0
  10. package/dist/codegen_freestanding_c.d.ts.map +1 -0
  11. package/dist/codegen_freestanding_c.js +321 -0
  12. package/dist/codegen_freestanding_c.js.map +1 -0
  13. package/dist/diagnostics.d.ts +2 -0
  14. package/dist/diagnostics.d.ts.map +1 -1
  15. package/dist/diagnostics.js +3 -1
  16. package/dist/diagnostics.js.map +1 -1
  17. package/dist/lexer/chars.d.ts +5 -0
  18. package/dist/lexer/chars.d.ts.map +1 -0
  19. package/dist/lexer/chars.js +20 -0
  20. package/dist/lexer/chars.js.map +1 -0
  21. package/dist/lexer/index.d.ts +37 -0
  22. package/dist/lexer/index.d.ts.map +1 -0
  23. package/dist/lexer/index.js +630 -0
  24. package/dist/lexer/index.js.map +1 -0
  25. package/dist/lexer/tokens.d.ts +135 -0
  26. package/dist/lexer/tokens.d.ts.map +1 -0
  27. package/dist/lexer/tokens.js +89 -0
  28. package/dist/lexer/tokens.js.map +1 -0
  29. package/dist/parser/constants.d.ts +3 -0
  30. package/dist/parser/constants.d.ts.map +1 -0
  31. package/dist/parser/constants.js +7 -0
  32. package/dist/parser/constants.js.map +1 -0
  33. package/dist/parser/helpers.d.ts +2 -0
  34. package/dist/parser/helpers.d.ts.map +1 -0
  35. package/dist/parser/helpers.js +9 -0
  36. package/dist/parser/helpers.js.map +1 -0
  37. package/dist/parser/index.d.ts +118 -0
  38. package/dist/parser/index.d.ts.map +1 -0
  39. package/dist/parser/index.js +2387 -0
  40. package/dist/parser/index.js.map +1 -0
  41. package/dist/typechecker/globals.d.ts +2 -0
  42. package/dist/typechecker/globals.d.ts.map +1 -0
  43. package/dist/typechecker/globals.js +15 -0
  44. package/dist/typechecker/globals.js.map +1 -0
  45. package/dist/typechecker/index.d.ts +146 -0
  46. package/dist/typechecker/index.d.ts.map +1 -0
  47. package/dist/typechecker/index.js +2288 -0
  48. package/dist/typechecker/index.js.map +1 -0
  49. package/dist/typechecker/types.d.ts +66 -0
  50. package/dist/typechecker/types.d.ts.map +1 -0
  51. package/dist/typechecker/types.js +39 -0
  52. package/dist/typechecker/types.js.map +1 -0
  53. package/dist/typechecker.d.ts +12 -0
  54. package/dist/typechecker.d.ts.map +1 -1
  55. package/dist/typechecker.js +243 -149
  56. package/dist/typechecker.js.map +1 -1
  57. package/package.json +10 -15
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateFreestandingC = generateFreestandingC;
4
+ const E_FREESTANDING_UNSUPPORTED = "E0900";
5
+ class Writer {
6
+ lines = [];
7
+ indent = 0;
8
+ line(text = "") {
9
+ this.lines.push(`${" ".repeat(this.indent)}${text}`);
10
+ }
11
+ push() {
12
+ this.indent++;
13
+ }
14
+ pop() {
15
+ this.indent = Math.max(0, this.indent - 1);
16
+ }
17
+ build() {
18
+ return this.lines.join("\n") + "\n";
19
+ }
20
+ lineMap() {
21
+ return this.lines.map((_, idx) => idx + 1);
22
+ }
23
+ }
24
+ function generateFreestandingC(program, diagnostics) {
25
+ const w = new Writer();
26
+ w.line("/* Jalvin freestanding C output */");
27
+ w.line("#include <stdbool.h>");
28
+ w.line("#include <stddef.h>");
29
+ w.line("#include <stdint.h>");
30
+ w.line();
31
+ if (program.imports.length > 0) {
32
+ for (const imp of program.imports) {
33
+ diagnostics.error(imp.span, E_FREESTANDING_UNSUPPORTED, "Imports are not supported by the freestanding C backend yet.");
34
+ }
35
+ }
36
+ for (const decl of program.declarations) {
37
+ switch (decl.kind) {
38
+ case "FunDecl":
39
+ emitFunDecl(w, decl, diagnostics);
40
+ w.line();
41
+ break;
42
+ case "PropertyDecl":
43
+ emitGlobalProperty(w, decl, diagnostics);
44
+ w.line();
45
+ break;
46
+ default:
47
+ diagnostics.error(decl.span, E_FREESTANDING_UNSUPPORTED, `Freestanding C backend does not support ${decl.kind} yet.`);
48
+ break;
49
+ }
50
+ }
51
+ return {
52
+ code: w.build(),
53
+ lineMap: w.lineMap(),
54
+ isJsx: false,
55
+ };
56
+ }
57
+ function emitFunDecl(w, decl, diagnostics) {
58
+ if (decl.typeParams.length > 0 || decl.receiver) {
59
+ diagnostics.error(decl.span, E_FREESTANDING_UNSUPPORTED, `Function '${decl.name}' uses type parameters or receiver types that are not supported in freestanding C output.`);
60
+ }
61
+ const returnType = mapTypeRef(decl.returnType, diagnostics, decl.span);
62
+ const params = decl.params.map((p) => `${mapTypeRef(p.type, diagnostics, p.span)} ${p.name}`).join(", ");
63
+ const signature = `${returnType} ${decl.name}(${params || "void"})`;
64
+ if (!decl.body) {
65
+ w.line(`${signature};`);
66
+ return;
67
+ }
68
+ if (decl.body.kind !== "Block") {
69
+ w.line(`${signature} {`);
70
+ w.push();
71
+ if (returnType === "void") {
72
+ w.line(`${emitExpr(decl.body, diagnostics)};`);
73
+ w.line("return;");
74
+ }
75
+ else {
76
+ w.line(`return ${emitExpr(decl.body, diagnostics)};`);
77
+ }
78
+ w.pop();
79
+ w.line("}");
80
+ return;
81
+ }
82
+ w.line(`${signature} {`);
83
+ w.push();
84
+ for (const stmt of decl.body.statements) {
85
+ emitStmt(w, stmt, diagnostics);
86
+ }
87
+ w.pop();
88
+ w.line("}");
89
+ }
90
+ function emitGlobalProperty(w, decl, diagnostics) {
91
+ const declaredType = decl.type ? mapTypeRef(decl.type, diagnostics, decl.span) : null;
92
+ const inferredType = inferTypeFromExpr(decl.initializer);
93
+ const type = declaredType ?? inferredType ?? "int32_t";
94
+ if (!decl.type && !decl.initializer) {
95
+ diagnostics.error(decl.span, E_FREESTANDING_UNSUPPORTED, `Global '${decl.name}' needs an explicit type or initializer for freestanding C output.`);
96
+ }
97
+ if (decl.initializer) {
98
+ w.line(`${type} ${decl.name} = ${emitExpr(decl.initializer, diagnostics)};`);
99
+ return;
100
+ }
101
+ w.line(`${type} ${decl.name};`);
102
+ }
103
+ function emitStmt(w, stmt, diagnostics) {
104
+ switch (stmt.kind) {
105
+ case "PropertyDecl": {
106
+ const declaredType = stmt.type ? mapTypeRef(stmt.type, diagnostics, stmt.span) : null;
107
+ const inferredType = inferTypeFromExpr(stmt.initializer);
108
+ const type = declaredType ?? inferredType ?? "int32_t";
109
+ const init = stmt.initializer ? ` = ${emitExpr(stmt.initializer, diagnostics)}` : "";
110
+ w.line(`${type} ${stmt.name}${init};`);
111
+ break;
112
+ }
113
+ case "ExprStmt":
114
+ w.line(`${emitExpr(stmt.expr, diagnostics)};`);
115
+ break;
116
+ case "ReturnStmt":
117
+ if (stmt.value)
118
+ w.line(`return ${emitExpr(stmt.value, diagnostics)};`);
119
+ else
120
+ w.line("return;");
121
+ break;
122
+ case "IfStmt":
123
+ w.line(`if (${emitExpr(stmt.condition, diagnostics)}) {`);
124
+ w.push();
125
+ for (const s of stmt.then.statements)
126
+ emitStmt(w, s, diagnostics);
127
+ w.pop();
128
+ if (!stmt.else) {
129
+ w.line("}");
130
+ break;
131
+ }
132
+ if (stmt.else.kind === "IfStmt") {
133
+ w.line(`} else if (${emitExpr(stmt.else.condition, diagnostics)}) {`);
134
+ w.push();
135
+ for (const s of stmt.else.then.statements)
136
+ emitStmt(w, s, diagnostics);
137
+ w.pop();
138
+ w.line("}");
139
+ break;
140
+ }
141
+ w.line("} else {");
142
+ w.push();
143
+ for (const s of stmt.else.statements)
144
+ emitStmt(w, s, diagnostics);
145
+ w.pop();
146
+ w.line("}");
147
+ break;
148
+ case "WhileStmt":
149
+ w.line(`while (${emitExpr(stmt.condition, diagnostics)}) {`);
150
+ w.push();
151
+ for (const s of stmt.body.statements)
152
+ emitStmt(w, s, diagnostics);
153
+ w.pop();
154
+ w.line("}");
155
+ break;
156
+ case "Block":
157
+ w.line("{");
158
+ w.push();
159
+ for (const s of stmt.statements)
160
+ emitStmt(w, s, diagnostics);
161
+ w.pop();
162
+ w.line("}");
163
+ break;
164
+ case "BreakStmt":
165
+ w.line("break;");
166
+ break;
167
+ case "ContinueStmt":
168
+ w.line("continue;");
169
+ break;
170
+ default:
171
+ diagnostics.error(stmt.span, E_FREESTANDING_UNSUPPORTED, `Freestanding C backend does not support ${stmt.kind} yet.`);
172
+ break;
173
+ }
174
+ }
175
+ function emitExpr(expr, diagnostics) {
176
+ switch (expr.kind) {
177
+ case "IntLiteralExpr":
178
+ case "FloatLiteralExpr":
179
+ case "DoubleLiteralExpr":
180
+ return String(expr.value);
181
+ case "LongLiteralExpr":
182
+ return `${expr.value.toString()}LL`;
183
+ case "BooleanLiteralExpr":
184
+ return expr.value ? "true" : "false";
185
+ case "NullLiteralExpr":
186
+ return "NULL";
187
+ case "StringLiteralExpr":
188
+ return `"${escapeCString(expr.value)}"`;
189
+ case "NameExpr":
190
+ return expr.name;
191
+ case "ParenExpr":
192
+ return `(${emitExpr(expr.expr, diagnostics)})`;
193
+ case "UnaryExpr": {
194
+ const op = expr.op === "not" ? "!" : expr.op;
195
+ return expr.prefix
196
+ ? `(${op}${emitExpr(expr.operand, diagnostics)})`
197
+ : `(${emitExpr(expr.operand, diagnostics)}${op})`;
198
+ }
199
+ case "BinaryExpr": {
200
+ const op = mapBinaryOp(expr.op, diagnostics, expr.span);
201
+ return `(${emitExpr(expr.left, diagnostics)} ${op} ${emitExpr(expr.right, diagnostics)})`;
202
+ }
203
+ case "AssignExpr":
204
+ return `(${emitAssignTarget(expr.target, diagnostics)} = ${emitExpr(expr.value, diagnostics)})`;
205
+ case "CompoundAssignExpr":
206
+ return `(${emitAssignTarget(expr.target, diagnostics)} ${expr.op} ${emitExpr(expr.value, diagnostics)})`;
207
+ case "IncrDecrExpr":
208
+ return expr.prefix
209
+ ? `(${expr.op}${emitAssignTarget(expr.target, diagnostics)})`
210
+ : `(${emitAssignTarget(expr.target, diagnostics)}${expr.op})`;
211
+ case "CallExpr": {
212
+ if (expr.typeArgs.length > 0 || expr.trailingLambda) {
213
+ diagnostics.error(expr.span, E_FREESTANDING_UNSUPPORTED, "Generic calls and trailing lambdas are not supported by the freestanding C backend.");
214
+ }
215
+ const callee = emitExpr(expr.callee, diagnostics);
216
+ const args = expr.args.map((a) => {
217
+ if (a.name || a.spread) {
218
+ diagnostics.error(a.span, E_FREESTANDING_UNSUPPORTED, "Named and spread arguments are not supported by the freestanding C backend.");
219
+ }
220
+ return emitExpr(a.value, diagnostics);
221
+ }).join(", ");
222
+ return `${callee}(${args})`;
223
+ }
224
+ case "MemberExpr":
225
+ return `${emitExpr(expr.target, diagnostics)}.${expr.member}`;
226
+ case "IndexExpr":
227
+ return `${emitExpr(expr.target, diagnostics)}[${emitExpr(expr.index, diagnostics)}]`;
228
+ default:
229
+ diagnostics.error(expr.span, E_FREESTANDING_UNSUPPORTED, `Freestanding C backend does not support ${expr.kind} yet.`);
230
+ return "0";
231
+ }
232
+ }
233
+ function emitAssignTarget(target, diagnostics) {
234
+ switch (target.kind) {
235
+ case "NameExpr":
236
+ return target.name;
237
+ case "MemberExpr":
238
+ return `${emitExpr(target.target, diagnostics)}.${target.member}`;
239
+ case "IndexExpr":
240
+ return `${emitExpr(target.target, diagnostics)}[${emitExpr(target.index, diagnostics)}]`;
241
+ case "SafeMemberExpr":
242
+ diagnostics.error(target.span, E_FREESTANDING_UNSUPPORTED, "Safe member assignment is not supported by the freestanding C backend.");
243
+ return `${emitExpr(target.target, diagnostics)}.${target.member}`;
244
+ }
245
+ }
246
+ function mapBinaryOp(op, diagnostics, span) {
247
+ switch (op) {
248
+ case "and": return "&&";
249
+ case "or": return "||";
250
+ case "xor": return "^";
251
+ case "shl": return "<<";
252
+ case "shr": return ">>";
253
+ case "ushr": return ">>";
254
+ case "..":
255
+ case "..<":
256
+ case "in":
257
+ case "!in":
258
+ diagnostics.error(span, E_FREESTANDING_UNSUPPORTED, `Operator '${op}' is not supported by the freestanding C backend.`);
259
+ return "/* unsupported */";
260
+ default:
261
+ return op;
262
+ }
263
+ }
264
+ function mapTypeRef(type, diagnostics, span) {
265
+ if (!type)
266
+ return "void";
267
+ switch (type.kind) {
268
+ case "SimpleTypeRef": {
269
+ const rawName = type.name[type.name.length - 1] ?? "Any";
270
+ switch (rawName) {
271
+ case "Unit": return "void";
272
+ case "Boolean": return "bool";
273
+ case "Byte": return "int8_t";
274
+ case "Short": return "int16_t";
275
+ case "Int": return "int32_t";
276
+ case "Long": return "int64_t";
277
+ case "Float": return "float";
278
+ case "Double": return "double";
279
+ case "String": return "const char*";
280
+ case "Char": return "char";
281
+ case "Any": return "uintptr_t";
282
+ default:
283
+ diagnostics.error(span, E_FREESTANDING_UNSUPPORTED, `Type '${rawName}' is not supported by the freestanding C backend.`);
284
+ return "uintptr_t";
285
+ }
286
+ }
287
+ case "NullableTypeRef": {
288
+ const baseType = mapTypeRef(type.base, diagnostics, span);
289
+ if (baseType === "void")
290
+ return "void*";
291
+ if (baseType.endsWith("*"))
292
+ return baseType;
293
+ return `${baseType}*`;
294
+ }
295
+ default:
296
+ diagnostics.error(span, E_FREESTANDING_UNSUPPORTED, `Type form '${type.kind}' is not supported by the freestanding C backend.`);
297
+ return "uintptr_t";
298
+ }
299
+ }
300
+ function inferTypeFromExpr(expr) {
301
+ if (!expr)
302
+ return null;
303
+ switch (expr.kind) {
304
+ case "BooleanLiteralExpr": return "bool";
305
+ case "LongLiteralExpr": return "int64_t";
306
+ case "FloatLiteralExpr": return "float";
307
+ case "DoubleLiteralExpr": return "double";
308
+ case "StringLiteralExpr": return "const char*";
309
+ case "NullLiteralExpr": return "void*";
310
+ default: return "int32_t";
311
+ }
312
+ }
313
+ function escapeCString(value) {
314
+ return value
315
+ .replace(/\\/g, "\\\\")
316
+ .replace(/\n/g, "\\n")
317
+ .replace(/\r/g, "\\r")
318
+ .replace(/\t/g, "\\t")
319
+ .replace(/\"/g, '\\\"');
320
+ }
321
+ //# sourceMappingURL=codegen_freestanding_c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen_freestanding_c.js","sourceRoot":"","sources":["../src/codegen_freestanding_c.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,8 @@ export declare const E_OVERRIDE_NOTHING = "E0311";
58
58
  export declare const E_CLASS_EXTENDS_FINAL = "E0312";
59
59
  export declare const E_CONST_VAL_REASSIGNMENT = "E0320";
60
60
  export declare const E_LATEINIT_INVALID = "E0321";
61
+ export declare const E_COMPONENT_CONTEXT_REQUIRED = "E0322";
62
+ export declare const E_COMPONENT_CALL_ORDER = "E0323";
61
63
  export declare const W_UNUSED_VARIABLE = "W0001";
62
64
  export declare const W_UNREACHABLE_CODE = "W0002";
63
65
  export declare const W_IMPLICIT_ANY = "W0003";
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  // Jalvin Diagnostics — structured error/warning/info reporting
4
4
  // ─────────────────────────────────────────────────────────────────────────────
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.W_DEPRECATED = exports.W_IMPLICIT_ANY = exports.W_UNREACHABLE_CODE = exports.W_UNUSED_VARIABLE = exports.E_LATEINIT_INVALID = exports.E_CONST_VAL_REASSIGNMENT = exports.E_CLASS_EXTENDS_FINAL = exports.E_OVERRIDE_NOTHING = exports.E_ABSTRACT_MEMBER_NOT_IMPLEMENTED = exports.E_DUPLICATE_CLASS_MEMBER = exports.E_SUSPEND_IN_NON_SUSPEND = exports.E_SEALED_SUBTYPE_OUTSIDE_PACKAGE = exports.E_WHEN_NOT_EXHAUSTIVE = exports.E_NOT_A_FUNCTION = exports.E_WRONG_ARG_COUNT = exports.E_UNSAFE_NULL_DEREFERENCE = exports.E_NOT_NULLABLE = exports.E_UNDEFINED_SYMBOL = exports.E_TYPE_MISMATCH = exports.E_WHEN_MISSING_ELSE = exports.E_MISSING_RETURN_TYPE = exports.E_INCOMPATIBLE_MODIFIERS = exports.E_DUPLICATE_MODIFIER = exports.E_EXPECTED_TYPE = exports.E_EXPECTED_EXPRESSION = exports.E_EXPECTED_TOKEN = exports.E_UNEXPECTED_TOKEN = exports.E_INVALID_NUMBER_LITERAL = exports.E_UNTERMINATED_BLOCK_COMMENT = exports.E_UNEXPECTED_CHAR = exports.E_INVALID_ESCAPE = exports.E_UNTERMINATED_STRING = exports.DiagnosticBag = void 0;
6
+ exports.W_DEPRECATED = exports.W_IMPLICIT_ANY = exports.W_UNREACHABLE_CODE = exports.W_UNUSED_VARIABLE = exports.E_COMPONENT_CALL_ORDER = exports.E_COMPONENT_CONTEXT_REQUIRED = exports.E_LATEINIT_INVALID = exports.E_CONST_VAL_REASSIGNMENT = exports.E_CLASS_EXTENDS_FINAL = exports.E_OVERRIDE_NOTHING = exports.E_ABSTRACT_MEMBER_NOT_IMPLEMENTED = exports.E_DUPLICATE_CLASS_MEMBER = exports.E_SUSPEND_IN_NON_SUSPEND = exports.E_SEALED_SUBTYPE_OUTSIDE_PACKAGE = exports.E_WHEN_NOT_EXHAUSTIVE = exports.E_NOT_A_FUNCTION = exports.E_WRONG_ARG_COUNT = exports.E_UNSAFE_NULL_DEREFERENCE = exports.E_NOT_NULLABLE = exports.E_UNDEFINED_SYMBOL = exports.E_TYPE_MISMATCH = exports.E_WHEN_MISSING_ELSE = exports.E_MISSING_RETURN_TYPE = exports.E_INCOMPATIBLE_MODIFIERS = exports.E_DUPLICATE_MODIFIER = exports.E_EXPECTED_TYPE = exports.E_EXPECTED_EXPRESSION = exports.E_EXPECTED_TOKEN = exports.E_UNEXPECTED_TOKEN = exports.E_INVALID_NUMBER_LITERAL = exports.E_UNTERMINATED_BLOCK_COMMENT = exports.E_UNEXPECTED_CHAR = exports.E_INVALID_ESCAPE = exports.E_UNTERMINATED_STRING = exports.DiagnosticBag = void 0;
7
7
  class DiagnosticBag {
8
8
  _items = [];
9
9
  get items() {
@@ -104,6 +104,8 @@ exports.E_OVERRIDE_NOTHING = "E0311";
104
104
  exports.E_CLASS_EXTENDS_FINAL = "E0312";
105
105
  exports.E_CONST_VAL_REASSIGNMENT = "E0320";
106
106
  exports.E_LATEINIT_INVALID = "E0321";
107
+ exports.E_COMPONENT_CONTEXT_REQUIRED = "E0322";
108
+ exports.E_COMPONENT_CALL_ORDER = "E0323";
107
109
  // Codegen warnings: W0001–W0099
108
110
  exports.W_UNUSED_VARIABLE = "W0001";
109
111
  exports.W_UNREACHABLE_CODE = "W0002";
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function isIdentStart(ch: string): boolean;
2
+ export declare function isIdentContinue(ch: string): boolean;
3
+ export declare function isDigit(ch: string): boolean;
4
+ export declare function isHexDigit(ch: string): boolean;
5
+ //# sourceMappingURL=chars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chars.d.ts","sourceRoot":"","sources":["../../src/lexer/chars.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE9C"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Character classification helpers used by the lexer.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isIdentStart = isIdentStart;
5
+ exports.isIdentContinue = isIdentContinue;
6
+ exports.isDigit = isDigit;
7
+ exports.isHexDigit = isHexDigit;
8
+ function isIdentStart(ch) {
9
+ return /[a-zA-Z_]/.test(ch);
10
+ }
11
+ function isIdentContinue(ch) {
12
+ return /[a-zA-Z0-9_]/.test(ch);
13
+ }
14
+ function isDigit(ch) {
15
+ return ch >= "0" && ch <= "9";
16
+ }
17
+ function isHexDigit(ch) {
18
+ return (ch >= "0" && ch <= "9") || (ch >= "a" && ch <= "f") || (ch >= "A" && ch <= "F");
19
+ }
20
+ //# sourceMappingURL=chars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chars.js","sourceRoot":"","sources":["../../src/lexer/chars.ts"],"names":[],"mappings":";AAAA,sDAAsD;;AAEtD,oCAEC;AAED,0CAEC;AAED,0BAEC;AAED,gCAEC;AAdD,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,OAAO,CAAC,EAAU;IAChC,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;AAChC,CAAC;AAED,SAAgB,UAAU,CAAC,EAAU;IACnC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { DiagnosticBag } from "../diagnostics.js";
2
+ import { type Token } from "./tokens.js";
3
+ export { ASI_SET, KEYWORDS, TokenKind, type Token } from "./tokens.js";
4
+ export declare class Lexer {
5
+ private pos;
6
+ private line;
7
+ private col;
8
+ private readonly src;
9
+ private readonly file;
10
+ private readonly diag;
11
+ constructor(src: string, file: string, diag: DiagnosticBag);
12
+ tokenize(): Token[];
13
+ private nextToken;
14
+ private lexIdentOrKeyword;
15
+ private lexNumber;
16
+ private lexString;
17
+ private lexRawString;
18
+ private parseEscape;
19
+ private lexSymbol;
20
+ private skipLineComment;
21
+ private skipBlockComment;
22
+ /**
23
+ * Returns true when the next meaningful token after the current newline is a
24
+ * dot-continuation (`.member` or `?.member`), in which case ASI must NOT be
25
+ * inserted so that multi-line method chains work correctly.
26
+ *
27
+ * Scans forward from `this.pos + 1` skipping whitespace and comments.
28
+ * `.` followed by another `.` (range `..`) does NOT count as continuation.
29
+ */
30
+ private peekIsDotContinuation;
31
+ private advance;
32
+ private peek;
33
+ private spanAt;
34
+ private makeSpan;
35
+ }
36
+ export declare function lex(src: string, file: string, diag: DiagnosticBag): Token[];
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EAMd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAgC,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAMvE,qBAAa,KAAK;IAChB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAM1D,QAAQ,IAAI,KAAK,EAAE;IAqDnB,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,SAAS;IA8FjB,OAAO,CAAC,SAAS;IAgFjB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,WAAW;IAkDnB,OAAO,CAAC,SAAS;IAyFjB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,gBAAgB;IAuBxB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,QAAQ;CAWjB;AAMD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,CAE3E"}