takomusic 1.2.0 → 1.3.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.
- package/dist/__tests__/checker.test.js +9 -6
- package/dist/__tests__/checker.test.js.map +1 -1
- package/dist/checker/checker.d.ts +2 -0
- package/dist/checker/checker.d.ts.map +1 -1
- package/dist/checker/checker.js +125 -7
- package/dist/checker/checker.js.map +1 -1
- package/dist/compiler/compiler.d.ts.map +1 -1
- package/dist/compiler/compiler.js +45 -14
- package/dist/compiler/compiler.js.map +1 -1
- package/dist/formatter/formatter.d.ts +1 -0
- package/dist/formatter/formatter.d.ts.map +1 -1
- package/dist/formatter/formatter.js +78 -8
- package/dist/formatter/formatter.js.map +1 -1
- package/dist/interpreter/interpreter.d.ts +2 -0
- package/dist/interpreter/interpreter.d.ts.map +1 -1
- package/dist/interpreter/interpreter.js +158 -16
- package/dist/interpreter/interpreter.js.map +1 -1
- package/dist/interpreter/runtime.d.ts +2 -1
- package/dist/interpreter/runtime.d.ts.map +1 -1
- package/dist/interpreter/runtime.js +6 -2
- package/dist/interpreter/runtime.js.map +1 -1
- package/dist/lexer/lexer.d.ts +4 -0
- package/dist/lexer/lexer.d.ts.map +1 -1
- package/dist/lexer/lexer.js +215 -14
- package/dist/lexer/lexer.js.map +1 -1
- package/dist/parser/parser.d.ts +19 -0
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +389 -26
- package/dist/parser/parser.js.map +1 -1
- package/dist/types/ast.d.ts +34 -3
- package/dist/types/ast.d.ts.map +1 -1
- package/dist/types/token.d.ts +25 -0
- package/dist/types/token.d.ts.map +1 -1
- package/dist/types/token.js +33 -0
- package/dist/types/token.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,7 @@ export interface DurValue {
|
|
|
25
25
|
type: 'dur';
|
|
26
26
|
numerator: number;
|
|
27
27
|
denominator: number;
|
|
28
|
+
dots: number;
|
|
28
29
|
}
|
|
29
30
|
export interface TimeValue {
|
|
30
31
|
type: 'time';
|
|
@@ -54,7 +55,7 @@ export declare function makeFloat(value: number): FloatValue;
|
|
|
54
55
|
export declare function makeString(value: string): StringValue;
|
|
55
56
|
export declare function makeBool(value: boolean): BoolValue;
|
|
56
57
|
export declare function makePitch(midi: number): PitchValue;
|
|
57
|
-
export declare function makeDur(numerator: number, denominator: number): DurValue;
|
|
58
|
+
export declare function makeDur(numerator: number, denominator: number, dots?: number): DurValue;
|
|
58
59
|
export declare function makeTime(bar: number, beat: number, sub: number): TimeValue;
|
|
59
60
|
export declare function makeArray(elements: RuntimeValue[]): ArrayValue;
|
|
60
61
|
export declare function makeObject(properties?: Map<string, RuntimeValue>): ObjectValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/interpreter/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,UAAU,GACV,WAAW,GACX,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/interpreter/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,UAAU,GACV,WAAW,GACX,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEnD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAErD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAElD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAMlD;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,QAAQ,CAE1F;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAE1E;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,UAAU,CAE9D;AAED,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,WAAW,CAE9E;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,EAC9B,OAAO,EAAE,KAAK,GACb,aAAa,CAEf;AAED,wBAAgB,QAAQ,IAAI,SAAS,CAEpC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAQlD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAOnD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CA4BvD;AAGD,eAAO,MAAM,QAAQ,sBAAgB,CAAC"}
|
|
@@ -12,10 +12,14 @@ export function makeBool(value) {
|
|
|
12
12
|
return { type: 'bool', value };
|
|
13
13
|
}
|
|
14
14
|
export function makePitch(midi) {
|
|
15
|
+
// Validate MIDI value is in valid range 0-127
|
|
16
|
+
if (midi < 0 || midi > 127) {
|
|
17
|
+
throw new Error(`Pitch out of range: MIDI value ${midi} (must be 0-127)`);
|
|
18
|
+
}
|
|
15
19
|
return { type: 'pitch', midi };
|
|
16
20
|
}
|
|
17
|
-
export function makeDur(numerator, denominator) {
|
|
18
|
-
return { type: 'dur', numerator, denominator };
|
|
21
|
+
export function makeDur(numerator, denominator, dots = 0) {
|
|
22
|
+
return { type: 'dur', numerator, denominator, dots };
|
|
19
23
|
}
|
|
20
24
|
export function makeTime(bar, beat, sub) {
|
|
21
25
|
return { type: 'time', bar, beat, sub };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/interpreter/runtime.ts"],"names":[],"mappings":"AAAA,0CAA0C;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/interpreter/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/lexer/lexer.d.ts
CHANGED
|
@@ -5,10 +5,14 @@ export declare class Lexer {
|
|
|
5
5
|
private line;
|
|
6
6
|
private column;
|
|
7
7
|
private filePath?;
|
|
8
|
+
private templateStack;
|
|
9
|
+
private inTemplateExpr;
|
|
8
10
|
constructor(source: string, filePath?: string);
|
|
9
11
|
tokenize(): Token[];
|
|
10
12
|
private nextToken;
|
|
11
13
|
private readString;
|
|
14
|
+
private readTemplateStart;
|
|
15
|
+
private readTemplateMiddle;
|
|
12
16
|
private readNumberOrTimeLiteral;
|
|
13
17
|
private readTimeLiteral;
|
|
14
18
|
private readDurLiteral;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAiC,MAAM,mBAAmB,CAAC;AAGzE,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAS;
|
|
1
|
+
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAiC,MAAM,mBAAmB,CAAC;AAGzE,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAK7C,QAAQ,IAAI,KAAK,EAAE;IAiBnB,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,UAAU;IAoClB,OAAO,CAAC,iBAAiB;IAkDzB,OAAO,CAAC,kBAAkB;IAkD1B,OAAO,CAAC,uBAAuB;IAsC/B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAmEpB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAiKpB,OAAO,CAAC,yBAAyB;IA6CjC,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,SAAS;CAGlB"}
|
package/dist/lexer/lexer.js
CHANGED
|
@@ -7,6 +7,8 @@ export class Lexer {
|
|
|
7
7
|
line = 1;
|
|
8
8
|
column = 1;
|
|
9
9
|
filePath;
|
|
10
|
+
templateStack = 0; // Track nested template literals
|
|
11
|
+
inTemplateExpr = false; // Are we inside ${...}?
|
|
10
12
|
constructor(source, filePath) {
|
|
11
13
|
this.source = source;
|
|
12
14
|
this.filePath = filePath;
|
|
@@ -28,6 +30,10 @@ export class Lexer {
|
|
|
28
30
|
nextToken() {
|
|
29
31
|
const pos = this.currentPosition();
|
|
30
32
|
const char = this.peek();
|
|
33
|
+
// Template literal
|
|
34
|
+
if (char === '`') {
|
|
35
|
+
return this.readTemplateStart();
|
|
36
|
+
}
|
|
31
37
|
// String literal
|
|
32
38
|
if (char === '"') {
|
|
33
39
|
return this.readString();
|
|
@@ -92,6 +98,120 @@ export class Lexer {
|
|
|
92
98
|
this.advance(); // consume closing quote
|
|
93
99
|
return { type: TokenType.STRING, value, position: pos };
|
|
94
100
|
}
|
|
101
|
+
readTemplateStart() {
|
|
102
|
+
const pos = this.currentPosition();
|
|
103
|
+
this.advance(); // consume opening backtick
|
|
104
|
+
let value = '';
|
|
105
|
+
while (!this.isAtEnd()) {
|
|
106
|
+
const char = this.peek();
|
|
107
|
+
if (char === '`') {
|
|
108
|
+
// End of template, no interpolation
|
|
109
|
+
this.advance();
|
|
110
|
+
return { type: TokenType.TEMPLATE_STRING, value, position: pos };
|
|
111
|
+
}
|
|
112
|
+
if (char === '$' && this.peekNext() === '{') {
|
|
113
|
+
// Start of interpolation
|
|
114
|
+
this.advance(); // consume $
|
|
115
|
+
this.advance(); // consume {
|
|
116
|
+
this.templateStack++;
|
|
117
|
+
this.inTemplateExpr = true;
|
|
118
|
+
return { type: TokenType.TEMPLATE_HEAD, value, position: pos };
|
|
119
|
+
}
|
|
120
|
+
if (char === '\\') {
|
|
121
|
+
// Escape sequence
|
|
122
|
+
this.advance();
|
|
123
|
+
if (!this.isAtEnd()) {
|
|
124
|
+
const escaped = this.advance();
|
|
125
|
+
switch (escaped) {
|
|
126
|
+
case 'n':
|
|
127
|
+
value += '\n';
|
|
128
|
+
break;
|
|
129
|
+
case 't':
|
|
130
|
+
value += '\t';
|
|
131
|
+
break;
|
|
132
|
+
case 'r':
|
|
133
|
+
value += '\r';
|
|
134
|
+
break;
|
|
135
|
+
case '\\':
|
|
136
|
+
value += '\\';
|
|
137
|
+
break;
|
|
138
|
+
case '`':
|
|
139
|
+
value += '`';
|
|
140
|
+
break;
|
|
141
|
+
case '$':
|
|
142
|
+
value += '$';
|
|
143
|
+
break;
|
|
144
|
+
default: value += escaped;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
if (char === '\n') {
|
|
150
|
+
this.line++;
|
|
151
|
+
this.column = 1;
|
|
152
|
+
}
|
|
153
|
+
value += this.advance();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
throw new MFError('SYNTAX', 'Unterminated template literal', pos, this.filePath);
|
|
157
|
+
}
|
|
158
|
+
readTemplateMiddle(pos) {
|
|
159
|
+
// We're at the closing } of a template expression
|
|
160
|
+
// Continue reading template content
|
|
161
|
+
let value = '';
|
|
162
|
+
while (!this.isAtEnd()) {
|
|
163
|
+
const char = this.peek();
|
|
164
|
+
if (char === '`') {
|
|
165
|
+
// End of template
|
|
166
|
+
this.advance();
|
|
167
|
+
this.templateStack--;
|
|
168
|
+
this.inTemplateExpr = this.templateStack > 0;
|
|
169
|
+
return { type: TokenType.TEMPLATE_TAIL, value, position: pos };
|
|
170
|
+
}
|
|
171
|
+
if (char === '$' && this.peekNext() === '{') {
|
|
172
|
+
// Another interpolation
|
|
173
|
+
this.advance(); // consume $
|
|
174
|
+
this.advance(); // consume {
|
|
175
|
+
return { type: TokenType.TEMPLATE_MIDDLE, value, position: pos };
|
|
176
|
+
}
|
|
177
|
+
if (char === '\\') {
|
|
178
|
+
// Escape sequence
|
|
179
|
+
this.advance();
|
|
180
|
+
if (!this.isAtEnd()) {
|
|
181
|
+
const escaped = this.advance();
|
|
182
|
+
switch (escaped) {
|
|
183
|
+
case 'n':
|
|
184
|
+
value += '\n';
|
|
185
|
+
break;
|
|
186
|
+
case 't':
|
|
187
|
+
value += '\t';
|
|
188
|
+
break;
|
|
189
|
+
case 'r':
|
|
190
|
+
value += '\r';
|
|
191
|
+
break;
|
|
192
|
+
case '\\':
|
|
193
|
+
value += '\\';
|
|
194
|
+
break;
|
|
195
|
+
case '`':
|
|
196
|
+
value += '`';
|
|
197
|
+
break;
|
|
198
|
+
case '$':
|
|
199
|
+
value += '$';
|
|
200
|
+
break;
|
|
201
|
+
default: value += escaped;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
if (char === '\n') {
|
|
207
|
+
this.line++;
|
|
208
|
+
this.column = 1;
|
|
209
|
+
}
|
|
210
|
+
value += this.advance();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
throw new MFError('SYNTAX', 'Unterminated template literal', pos, this.filePath);
|
|
214
|
+
}
|
|
95
215
|
readNumberOrTimeLiteral() {
|
|
96
216
|
const pos = this.currentPosition();
|
|
97
217
|
const start = this.position;
|
|
@@ -147,6 +267,10 @@ export class Lexer {
|
|
|
147
267
|
while (this.isDigit(this.peek())) {
|
|
148
268
|
this.advance();
|
|
149
269
|
}
|
|
270
|
+
// Read optional dots for dotted notes (1/4., 1/4..)
|
|
271
|
+
while (this.peek() === '.') {
|
|
272
|
+
this.advance();
|
|
273
|
+
}
|
|
150
274
|
const value = this.source.slice(start, this.position);
|
|
151
275
|
return { type: TokenType.DUR, value, position: pos };
|
|
152
276
|
}
|
|
@@ -164,11 +288,26 @@ export class Lexer {
|
|
|
164
288
|
return null;
|
|
165
289
|
}
|
|
166
290
|
this.advance();
|
|
167
|
-
// Check for
|
|
291
|
+
// Check for accidentals (supports single and double sharps/flats)
|
|
168
292
|
const accidental = this.peek();
|
|
169
|
-
if (accidental === '#'
|
|
293
|
+
if (accidental === '#') {
|
|
294
|
+
this.advance();
|
|
295
|
+
// Check for double sharp (##)
|
|
296
|
+
if (this.peek() === '#') {
|
|
297
|
+
this.advance();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
else if (accidental === 'x') {
|
|
301
|
+
// 'x' notation for double sharp (Cx = C##)
|
|
170
302
|
this.advance();
|
|
171
303
|
}
|
|
304
|
+
else if (accidental === 'b') {
|
|
305
|
+
this.advance();
|
|
306
|
+
// Check for double flat (bb)
|
|
307
|
+
if (this.peek() === 'b') {
|
|
308
|
+
this.advance();
|
|
309
|
+
}
|
|
310
|
+
}
|
|
172
311
|
// Must have octave number
|
|
173
312
|
if (!this.isDigit(this.peek()) && this.peek() !== '-') {
|
|
174
313
|
// Not a pitch, backtrack
|
|
@@ -238,11 +377,21 @@ export class Lexer {
|
|
|
238
377
|
return { type: TokenType.SLASHEQ, value: '/=', position: pos };
|
|
239
378
|
}
|
|
240
379
|
return { type: TokenType.SLASH, value: '/', position: pos };
|
|
241
|
-
case '%':
|
|
380
|
+
case '%':
|
|
381
|
+
if (this.peek() === '=') {
|
|
382
|
+
this.advance();
|
|
383
|
+
return { type: TokenType.PERCENTEQ, value: '%=', position: pos };
|
|
384
|
+
}
|
|
385
|
+
return { type: TokenType.PERCENT, value: '%', position: pos };
|
|
242
386
|
case '(': return { type: TokenType.LPAREN, value: '(', position: pos };
|
|
243
387
|
case ')': return { type: TokenType.RPAREN, value: ')', position: pos };
|
|
244
388
|
case '{': return { type: TokenType.LBRACE, value: '{', position: pos };
|
|
245
|
-
case '}':
|
|
389
|
+
case '}':
|
|
390
|
+
// Check if we're closing a template expression
|
|
391
|
+
if (this.inTemplateExpr) {
|
|
392
|
+
return this.readTemplateMiddle(pos);
|
|
393
|
+
}
|
|
394
|
+
return { type: TokenType.RBRACE, value: '}', position: pos };
|
|
246
395
|
case '[': return { type: TokenType.LBRACKET, value: '[', position: pos };
|
|
247
396
|
case ']': return { type: TokenType.RBRACKET, value: ']', position: pos };
|
|
248
397
|
case ',': return { type: TokenType.COMMA, value: ',', position: pos };
|
|
@@ -269,25 +418,57 @@ export class Lexer {
|
|
|
269
418
|
this.advance();
|
|
270
419
|
return { type: TokenType.LTEQ, value: '<=', position: pos };
|
|
271
420
|
}
|
|
421
|
+
if (this.peek() === '<') {
|
|
422
|
+
this.advance();
|
|
423
|
+
if (this.peek() === '=') {
|
|
424
|
+
this.advance();
|
|
425
|
+
return { type: TokenType.SHLEQ, value: '<<=', position: pos };
|
|
426
|
+
}
|
|
427
|
+
return { type: TokenType.SHL, value: '<<', position: pos };
|
|
428
|
+
}
|
|
272
429
|
return { type: TokenType.LT, value: '<', position: pos };
|
|
273
430
|
case '>':
|
|
274
431
|
if (this.peek() === '=') {
|
|
275
432
|
this.advance();
|
|
276
433
|
return { type: TokenType.GTEQ, value: '>=', position: pos };
|
|
277
434
|
}
|
|
435
|
+
if (this.peek() === '>') {
|
|
436
|
+
this.advance();
|
|
437
|
+
if (this.peek() === '=') {
|
|
438
|
+
this.advance();
|
|
439
|
+
return { type: TokenType.SHREQ, value: '>>=', position: pos };
|
|
440
|
+
}
|
|
441
|
+
return { type: TokenType.SHR, value: '>>', position: pos };
|
|
442
|
+
}
|
|
278
443
|
return { type: TokenType.GT, value: '>', position: pos };
|
|
279
444
|
case '&':
|
|
280
445
|
if (this.peek() === '&') {
|
|
281
446
|
this.advance();
|
|
282
447
|
return { type: TokenType.AND, value: '&&', position: pos };
|
|
283
448
|
}
|
|
284
|
-
|
|
449
|
+
if (this.peek() === '=') {
|
|
450
|
+
this.advance();
|
|
451
|
+
return { type: TokenType.BITANDEQ, value: '&=', position: pos };
|
|
452
|
+
}
|
|
453
|
+
return { type: TokenType.BITAND, value: '&', position: pos };
|
|
285
454
|
case '|':
|
|
286
455
|
if (this.peek() === '|') {
|
|
287
456
|
this.advance();
|
|
288
457
|
return { type: TokenType.OR, value: '||', position: pos };
|
|
289
458
|
}
|
|
290
|
-
|
|
459
|
+
if (this.peek() === '=') {
|
|
460
|
+
this.advance();
|
|
461
|
+
return { type: TokenType.BITOREQ, value: '|=', position: pos };
|
|
462
|
+
}
|
|
463
|
+
return { type: TokenType.BITOR, value: '|', position: pos };
|
|
464
|
+
case '^':
|
|
465
|
+
if (this.peek() === '=') {
|
|
466
|
+
this.advance();
|
|
467
|
+
return { type: TokenType.BITXOREQ, value: '^=', position: pos };
|
|
468
|
+
}
|
|
469
|
+
return { type: TokenType.BITXOR, value: '^', position: pos };
|
|
470
|
+
case '~':
|
|
471
|
+
return { type: TokenType.BITNOT, value: '~', position: pos };
|
|
291
472
|
case '.':
|
|
292
473
|
if (this.peek() === '.') {
|
|
293
474
|
this.advance();
|
|
@@ -302,6 +483,16 @@ export class Lexer {
|
|
|
302
483
|
return { type: TokenType.DOTDOT, value: '..', position: pos };
|
|
303
484
|
}
|
|
304
485
|
return { type: TokenType.DOT, value: '.', position: pos };
|
|
486
|
+
case '?':
|
|
487
|
+
if (this.peek() === '.') {
|
|
488
|
+
this.advance();
|
|
489
|
+
return { type: TokenType.QUESTIONDOT, value: '?.', position: pos };
|
|
490
|
+
}
|
|
491
|
+
if (this.peek() === '?') {
|
|
492
|
+
this.advance();
|
|
493
|
+
return { type: TokenType.NULLISH, value: '??', position: pos };
|
|
494
|
+
}
|
|
495
|
+
return { type: TokenType.QUESTION, value: '?', position: pos };
|
|
305
496
|
default:
|
|
306
497
|
throw new MFError('SYNTAX', `Unexpected character: ${char}`, pos, this.filePath);
|
|
307
498
|
}
|
|
@@ -324,20 +515,30 @@ export class Lexer {
|
|
|
324
515
|
}
|
|
325
516
|
}
|
|
326
517
|
else if (char === '/' && this.peekNext() === '*') {
|
|
327
|
-
// Block comment
|
|
518
|
+
// Block comment with nesting support
|
|
328
519
|
this.advance(); // consume /
|
|
329
520
|
this.advance(); // consume *
|
|
330
|
-
|
|
331
|
-
|
|
521
|
+
let depth = 1;
|
|
522
|
+
while (!this.isAtEnd() && depth > 0) {
|
|
523
|
+
if (this.peek() === '/' && this.peekNext() === '*') {
|
|
524
|
+
// Nested block comment start
|
|
332
525
|
this.advance();
|
|
333
526
|
this.advance();
|
|
334
|
-
|
|
527
|
+
depth++;
|
|
335
528
|
}
|
|
336
|
-
if (this.peek() === '
|
|
337
|
-
|
|
338
|
-
this.
|
|
529
|
+
else if (this.peek() === '*' && this.peekNext() === '/') {
|
|
530
|
+
// Block comment end
|
|
531
|
+
this.advance();
|
|
532
|
+
this.advance();
|
|
533
|
+
depth--;
|
|
534
|
+
}
|
|
535
|
+
else {
|
|
536
|
+
if (this.peek() === '\n') {
|
|
537
|
+
this.line++;
|
|
538
|
+
this.column = 1;
|
|
539
|
+
}
|
|
540
|
+
this.advance();
|
|
339
541
|
}
|
|
340
|
-
this.advance();
|
|
341
542
|
}
|
|
342
543
|
}
|
|
343
544
|
else {
|
package/dist/lexer/lexer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/parser.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { Token } from '../types/token.js';
|
|
2
2
|
import { Program } from '../types/ast.js';
|
|
3
|
+
import { MFError } from '../errors.js';
|
|
3
4
|
export declare class Parser {
|
|
4
5
|
private tokens;
|
|
5
6
|
private current;
|
|
6
7
|
private filePath?;
|
|
8
|
+
private errors;
|
|
9
|
+
private panicMode;
|
|
7
10
|
constructor(tokens: Token[], filePath?: string);
|
|
8
11
|
parse(): Program;
|
|
12
|
+
parseWithErrors(): {
|
|
13
|
+
program: Program;
|
|
14
|
+
errors: MFError[];
|
|
15
|
+
};
|
|
16
|
+
private synchronize;
|
|
17
|
+
getErrors(): MFError[];
|
|
9
18
|
private parseStatement;
|
|
10
19
|
private parseImport;
|
|
11
20
|
private parseExport;
|
|
@@ -15,6 +24,7 @@ export declare class Parser {
|
|
|
15
24
|
private parseIf;
|
|
16
25
|
private parseFor;
|
|
17
26
|
private parseWhile;
|
|
27
|
+
private parseMatch;
|
|
18
28
|
private parseReturn;
|
|
19
29
|
private parseBreak;
|
|
20
30
|
private parseContinue;
|
|
@@ -22,11 +32,18 @@ export declare class Parser {
|
|
|
22
32
|
private parseBlock;
|
|
23
33
|
private parseAssignmentOrExpression;
|
|
24
34
|
private checkCompoundAssign;
|
|
35
|
+
private getCompoundAssignOp;
|
|
25
36
|
private parseExpression;
|
|
37
|
+
private parseConditional;
|
|
26
38
|
private parseOr;
|
|
39
|
+
private parseNullish;
|
|
27
40
|
private parseAnd;
|
|
41
|
+
private parseBitOr;
|
|
42
|
+
private parseBitXor;
|
|
43
|
+
private parseBitAnd;
|
|
28
44
|
private parseEquality;
|
|
29
45
|
private parseComparison;
|
|
46
|
+
private parseShift;
|
|
30
47
|
private parseAdditive;
|
|
31
48
|
private parseMultiplicative;
|
|
32
49
|
private parseUnary;
|
|
@@ -41,9 +58,11 @@ export declare class Parser {
|
|
|
41
58
|
private parseTimeLiteral;
|
|
42
59
|
private parseArrayLiteral;
|
|
43
60
|
private parseObjectLiteral;
|
|
61
|
+
private parseTemplateLiteral;
|
|
44
62
|
private peek;
|
|
45
63
|
private peekAhead;
|
|
46
64
|
private advance;
|
|
65
|
+
private previous;
|
|
47
66
|
private check;
|
|
48
67
|
private checkAhead;
|
|
49
68
|
private checkIdent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,OAAO,EA2CR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAkB;gBAEvB,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM;IAK9C,KAAK,IAAI,OAAO;IAehB,eAAe,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;IA2B1D,OAAO,CAAC,WAAW;IAkCnB,SAAS,IAAI,OAAO,EAAE;IAItB,OAAO,CAAC,cAAc;IA0DtB,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,SAAS;IA+CjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,OAAO;IA6Bf,OAAO,CAAC,QAAQ;IAyDhB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,UAAU;IAyClB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,2BAA2B;IAsGnC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,SAAS;IAgEjB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,YAAY;IAiHpB,OAAO,CAAC,iBAAiB;IA4DzB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;CAId"}
|