pearc 0.1.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/lexer.js ADDED
@@ -0,0 +1,563 @@
1
+ "use strict";
2
+ // Pear Language Lexer
3
+ // Tokenizes Pear source code into a stream of tokens
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Lexer = exports.TokenType = void 0;
6
+ var TokenType;
7
+ (function (TokenType) {
8
+ // Literals
9
+ TokenType["NUMBER"] = "NUMBER";
10
+ TokenType["STRING"] = "STRING";
11
+ TokenType["CHAR"] = "CHAR";
12
+ TokenType["IDENT"] = "IDENT";
13
+ // Keywords
14
+ TokenType["FN"] = "fn";
15
+ TokenType["ST"] = "st";
16
+ TokenType["UN"] = "un";
17
+ TokenType["EN"] = "en";
18
+ TokenType["IF"] = "if";
19
+ TokenType["EI"] = "ei";
20
+ TokenType["EL"] = "el";
21
+ TokenType["LP"] = "lp";
22
+ TokenType["WH"] = "wh";
23
+ TokenType["DW"] = "dw";
24
+ TokenType["SW"] = "sw";
25
+ TokenType["CS"] = "cs";
26
+ TokenType["DV"] = "dv";
27
+ TokenType["RT"] = "rt";
28
+ TokenType["BK"] = "bk";
29
+ TokenType["CT"] = "ct";
30
+ TokenType["GT"] = "gt";
31
+ TokenType["SC"] = "sc";
32
+ TokenType["EX"] = "ex";
33
+ TokenType["IN"] = "in";
34
+ TokenType["VL"] = "vl";
35
+ TokenType["CN"] = "cn";
36
+ TokenType["TP"] = "tp";
37
+ TokenType["ND"] = "nd";
38
+ TokenType["PR"] = "pr";
39
+ TokenType["DN"] = "dn";
40
+ // Preprocessor
41
+ TokenType["IM"] = "im";
42
+ TokenType["DF"] = "df";
43
+ // Types
44
+ TokenType["I8"] = "i8";
45
+ TokenType["I16"] = "i16";
46
+ TokenType["I32"] = "i32";
47
+ TokenType["I64"] = "i64";
48
+ TokenType["U8"] = "u8";
49
+ TokenType["U16"] = "u16";
50
+ TokenType["U32"] = "u32";
51
+ TokenType["U64"] = "u64";
52
+ TokenType["F32"] = "f32";
53
+ TokenType["F64"] = "f64";
54
+ TokenType["V"] = "v";
55
+ TokenType["C"] = "c";
56
+ TokenType["B"] = "b";
57
+ TokenType["SZ"] = "sz";
58
+ TokenType["SO"] = "so";
59
+ // Operators & Punctuation
60
+ TokenType["PLUS"] = "+";
61
+ TokenType["MINUS"] = "-";
62
+ TokenType["STAR"] = "*";
63
+ TokenType["SLASH"] = "/";
64
+ TokenType["PERCENT"] = "%";
65
+ TokenType["AMP"] = "&";
66
+ TokenType["PIPE"] = "|";
67
+ TokenType["CARET"] = "^";
68
+ TokenType["TILDE"] = "~";
69
+ TokenType["LSHIFT"] = "<<";
70
+ TokenType["RSHIFT"] = ">>";
71
+ TokenType["AND"] = "&&";
72
+ TokenType["OR"] = "||";
73
+ TokenType["NOT"] = "!";
74
+ TokenType["EQ"] = "==";
75
+ TokenType["NEQ"] = "!=";
76
+ TokenType["LT"] = "<";
77
+ TokenType["GT_OP"] = ">";
78
+ TokenType["LTE"] = "<=";
79
+ TokenType["GTE"] = ">=";
80
+ TokenType["ASSIGN"] = "=";
81
+ TokenType["PLUS_ASSIGN"] = "+=";
82
+ TokenType["MINUS_ASSIGN"] = "-=";
83
+ TokenType["STAR_ASSIGN"] = "*=";
84
+ TokenType["SLASH_ASSIGN"] = "/=";
85
+ TokenType["PERCENT_ASSIGN"] = "%=";
86
+ TokenType["AMP_ASSIGN"] = "&=";
87
+ TokenType["PIPE_ASSIGN"] = "|=";
88
+ TokenType["CARET_ASSIGN"] = "^=";
89
+ TokenType["LSHIFT_ASSIGN"] = "<<=";
90
+ TokenType["RSHIFT_ASSIGN"] = ">>=";
91
+ TokenType["INC"] = "++";
92
+ TokenType["DEC"] = "--";
93
+ TokenType["ARROW"] = "->";
94
+ TokenType["DOT"] = ".";
95
+ TokenType["QUESTION"] = "?";
96
+ TokenType["COLON"] = ":";
97
+ TokenType["SEMICOLON"] = ";";
98
+ TokenType["COMMA"] = ",";
99
+ TokenType["LPAREN"] = "(";
100
+ TokenType["RPAREN"] = ")";
101
+ TokenType["LBRACE"] = "{";
102
+ TokenType["RBRACE"] = "}";
103
+ TokenType["LBRACKET"] = "[";
104
+ TokenType["RBRACKET"] = "]";
105
+ TokenType["HASH"] = "#";
106
+ TokenType["ELLIPSIS"] = "...";
107
+ // Special
108
+ TokenType["NEWLINE"] = "NEWLINE";
109
+ TokenType["EOF"] = "EOF";
110
+ })(TokenType || (exports.TokenType = TokenType = {}));
111
+ const KEYWORDS = {
112
+ fn: TokenType.FN,
113
+ st: TokenType.ST,
114
+ un: TokenType.UN,
115
+ en: TokenType.EN,
116
+ if: TokenType.IF,
117
+ ei: TokenType.EI,
118
+ el: TokenType.EL,
119
+ lp: TokenType.LP,
120
+ wh: TokenType.WH,
121
+ dw: TokenType.DW,
122
+ sw: TokenType.SW,
123
+ cs: TokenType.CS,
124
+ dv: TokenType.DV,
125
+ rt: TokenType.RT,
126
+ bk: TokenType.BK,
127
+ ct: TokenType.CT,
128
+ gt: TokenType.GT,
129
+ sc: TokenType.SC,
130
+ ex: TokenType.EX,
131
+ in: TokenType.IN,
132
+ vl: TokenType.VL,
133
+ cn: TokenType.CN,
134
+ tp: TokenType.TP,
135
+ im: TokenType.IM,
136
+ df: TokenType.DF,
137
+ nd: TokenType.ND,
138
+ dn: TokenType.DN,
139
+ pr: TokenType.PR,
140
+ // Types
141
+ i8: TokenType.I8,
142
+ i16: TokenType.I16,
143
+ i32: TokenType.I32,
144
+ i64: TokenType.I64,
145
+ u8: TokenType.U8,
146
+ u16: TokenType.U16,
147
+ u32: TokenType.U32,
148
+ u64: TokenType.U64,
149
+ f32: TokenType.F32,
150
+ f64: TokenType.F64,
151
+ v: TokenType.V,
152
+ c: TokenType.C,
153
+ b: TokenType.B,
154
+ sz: TokenType.SZ,
155
+ so: TokenType.SO,
156
+ };
157
+ class Lexer {
158
+ constructor(source) {
159
+ this.pos = 0;
160
+ this.line = 1;
161
+ this.col = 1;
162
+ this.tokens = [];
163
+ this.source = source;
164
+ }
165
+ peek(offset = 0) {
166
+ return this.source[this.pos + offset] ?? '';
167
+ }
168
+ advance() {
169
+ const ch = this.source[this.pos++];
170
+ if (ch === '\n') {
171
+ this.line++;
172
+ this.col = 1;
173
+ }
174
+ else {
175
+ this.col++;
176
+ }
177
+ return ch;
178
+ }
179
+ match(expected) {
180
+ if (this.source.startsWith(expected, this.pos)) {
181
+ for (let i = 0; i < expected.length; i++)
182
+ this.advance();
183
+ return true;
184
+ }
185
+ return false;
186
+ }
187
+ makeToken(type, value, line, col) {
188
+ return { type, value, line, col };
189
+ }
190
+ skipLineComment() {
191
+ while (this.pos < this.source.length && this.peek() !== '\n') {
192
+ this.advance();
193
+ }
194
+ }
195
+ skipBlockComment() {
196
+ while (this.pos < this.source.length) {
197
+ if (this.peek() === '*' && this.peek(1) === '/') {
198
+ this.advance();
199
+ this.advance();
200
+ return;
201
+ }
202
+ this.advance();
203
+ }
204
+ throw new Error(`Unterminated block comment at line ${this.line}`);
205
+ }
206
+ readString() {
207
+ const startLine = this.line;
208
+ const startCol = this.col;
209
+ this.advance(); // consume opening "
210
+ let str = '"';
211
+ while (this.pos < this.source.length && this.peek() !== '"') {
212
+ if (this.peek() === '\\') {
213
+ str += this.advance();
214
+ str += this.advance();
215
+ }
216
+ else {
217
+ str += this.advance();
218
+ }
219
+ }
220
+ if (this.peek() !== '"') {
221
+ throw new Error(`Unterminated string at line ${startLine}`);
222
+ }
223
+ str += this.advance(); // closing "
224
+ return this.makeToken(TokenType.STRING, str, startLine, startCol);
225
+ }
226
+ readChar() {
227
+ const startLine = this.line;
228
+ const startCol = this.col;
229
+ this.advance(); // consume opening '
230
+ let ch = "'";
231
+ while (this.pos < this.source.length && this.peek() !== "'") {
232
+ if (this.peek() === '\\') {
233
+ ch += this.advance();
234
+ ch += this.advance();
235
+ }
236
+ else {
237
+ ch += this.advance();
238
+ }
239
+ }
240
+ if (this.peek() !== "'") {
241
+ throw new Error(`Unterminated char literal at line ${startLine}`);
242
+ }
243
+ ch += this.advance(); // closing '
244
+ return this.makeToken(TokenType.CHAR, ch, startLine, startCol);
245
+ }
246
+ readNumber() {
247
+ const startLine = this.line;
248
+ const startCol = this.col;
249
+ let num = '';
250
+ // hex
251
+ if (this.peek() === '0' && (this.peek(1) === 'x' || this.peek(1) === 'X')) {
252
+ num += this.advance() + this.advance();
253
+ while (/[0-9a-fA-F_]/.test(this.peek()))
254
+ num += this.advance();
255
+ }
256
+ else {
257
+ while (/[0-9_]/.test(this.peek()))
258
+ num += this.advance();
259
+ if (this.peek() === '.' && /[0-9]/.test(this.peek(1))) {
260
+ num += this.advance();
261
+ while (/[0-9_]/.test(this.peek()))
262
+ num += this.advance();
263
+ }
264
+ if (this.peek() === 'e' || this.peek() === 'E') {
265
+ num += this.advance();
266
+ if (this.peek() === '+' || this.peek() === '-')
267
+ num += this.advance();
268
+ while (/[0-9]/.test(this.peek()))
269
+ num += this.advance();
270
+ }
271
+ }
272
+ // suffix: u, l, f, ul, etc.
273
+ while (/[uUlLfF]/.test(this.peek()))
274
+ num += this.advance();
275
+ return this.makeToken(TokenType.NUMBER, num, startLine, startCol);
276
+ }
277
+ readIdent() {
278
+ const startLine = this.line;
279
+ const startCol = this.col;
280
+ let id = '';
281
+ while (/[a-zA-Z0-9_]/.test(this.peek()))
282
+ id += this.advance();
283
+ const kwType = KEYWORDS[id];
284
+ if (kwType !== undefined) {
285
+ return this.makeToken(kwType, id, startLine, startCol);
286
+ }
287
+ return this.makeToken(TokenType.IDENT, id, startLine, startCol);
288
+ }
289
+ // Read a preprocessor include path like <stdio.h> or "file.h"
290
+ readIncludePath() {
291
+ const startLine = this.line;
292
+ const startCol = this.col;
293
+ if (this.peek() === '<') {
294
+ let path = '<';
295
+ this.advance();
296
+ while (this.pos < this.source.length && this.peek() !== '>') {
297
+ path += this.advance();
298
+ }
299
+ if (this.peek() === '>')
300
+ path += this.advance();
301
+ return this.makeToken(TokenType.STRING, path, startLine, startCol);
302
+ }
303
+ else if (this.peek() === '"') {
304
+ return this.readString();
305
+ }
306
+ throw new Error(`Expected < or " after im at line ${startLine}`);
307
+ }
308
+ tokenize() {
309
+ while (this.pos < this.source.length) {
310
+ // skip whitespace (not newlines — newlines are significant for preprocessor)
311
+ while (this.pos < this.source.length && (this.peek() === ' ' || this.peek() === '\t' || this.peek() === '\r')) {
312
+ this.advance();
313
+ }
314
+ if (this.pos >= this.source.length)
315
+ break;
316
+ const startLine = this.line;
317
+ const startCol = this.col;
318
+ const ch = this.peek();
319
+ // Newline
320
+ if (ch === '\n') {
321
+ this.advance();
322
+ this.tokens.push(this.makeToken(TokenType.NEWLINE, '\n', startLine, startCol));
323
+ continue;
324
+ }
325
+ // Line comment
326
+ if (ch === '/' && this.peek(1) === '/') {
327
+ this.advance();
328
+ this.advance();
329
+ this.skipLineComment();
330
+ continue;
331
+ }
332
+ // Block comment
333
+ if (ch === '/' && this.peek(1) === '*') {
334
+ this.advance();
335
+ this.advance();
336
+ this.skipBlockComment();
337
+ continue;
338
+ }
339
+ // String
340
+ if (ch === '"') {
341
+ this.tokens.push(this.readString());
342
+ continue;
343
+ }
344
+ // Char literal
345
+ if (ch === "'") {
346
+ this.tokens.push(this.readChar());
347
+ continue;
348
+ }
349
+ // Number
350
+ if (/[0-9]/.test(ch) || (ch === '.' && /[0-9]/.test(this.peek(1)))) {
351
+ this.tokens.push(this.readNumber());
352
+ continue;
353
+ }
354
+ // Identifier / keyword
355
+ if (/[a-zA-Z_]/.test(ch)) {
356
+ const tok = this.readIdent();
357
+ this.tokens.push(tok);
358
+ // if this was 'im', next non-space token should be the path
359
+ if (tok.type === TokenType.IM) {
360
+ // skip spaces
361
+ while (this.pos < this.source.length && (this.peek() === ' ' || this.peek() === '\t')) {
362
+ this.advance();
363
+ }
364
+ if (this.peek() === '<' || this.peek() === '"') {
365
+ this.tokens.push(this.readIncludePath());
366
+ }
367
+ }
368
+ continue;
369
+ }
370
+ // Hash for raw preprocessor directives (#ifdef, #if, #else, #endif, etc.)
371
+ if (ch === '#') {
372
+ this.advance();
373
+ // read the directive name
374
+ let directive = '#';
375
+ while (/[a-zA-Z_]/.test(this.peek()))
376
+ directive += this.advance();
377
+ // read rest of line as raw text
378
+ let rest = '';
379
+ while (this.pos < this.source.length && this.peek() !== '\n')
380
+ rest += this.advance();
381
+ this.tokens.push(this.makeToken(TokenType.HASH, directive + rest, startLine, startCol));
382
+ continue;
383
+ }
384
+ // Multi-char operators
385
+ // ...
386
+ if (ch === '.' && this.peek(1) === '.' && this.peek(2) === '.') {
387
+ this.advance();
388
+ this.advance();
389
+ this.advance();
390
+ this.tokens.push(this.makeToken(TokenType.ELLIPSIS, '...', startLine, startCol));
391
+ continue;
392
+ }
393
+ // Operators
394
+ const op2 = ch + this.peek(1);
395
+ const op3 = op2 + this.peek(2);
396
+ if (op3 === '<<=') {
397
+ this.advance();
398
+ this.advance();
399
+ this.advance();
400
+ this.tokens.push(this.makeToken(TokenType.LSHIFT_ASSIGN, '<<=', startLine, startCol));
401
+ continue;
402
+ }
403
+ if (op3 === '>>=') {
404
+ this.advance();
405
+ this.advance();
406
+ this.advance();
407
+ this.tokens.push(this.makeToken(TokenType.RSHIFT_ASSIGN, '>>=', startLine, startCol));
408
+ continue;
409
+ }
410
+ if (op2 === '<<') {
411
+ this.advance();
412
+ this.advance();
413
+ this.tokens.push(this.makeToken(TokenType.LSHIFT, '<<', startLine, startCol));
414
+ continue;
415
+ }
416
+ if (op2 === '>>') {
417
+ this.advance();
418
+ this.advance();
419
+ this.tokens.push(this.makeToken(TokenType.RSHIFT, '>>', startLine, startCol));
420
+ continue;
421
+ }
422
+ if (op2 === '&&') {
423
+ this.advance();
424
+ this.advance();
425
+ this.tokens.push(this.makeToken(TokenType.AND, '&&', startLine, startCol));
426
+ continue;
427
+ }
428
+ if (op2 === '||') {
429
+ this.advance();
430
+ this.advance();
431
+ this.tokens.push(this.makeToken(TokenType.OR, '||', startLine, startCol));
432
+ continue;
433
+ }
434
+ if (op2 === '==') {
435
+ this.advance();
436
+ this.advance();
437
+ this.tokens.push(this.makeToken(TokenType.EQ, '==', startLine, startCol));
438
+ continue;
439
+ }
440
+ if (op2 === '!=') {
441
+ this.advance();
442
+ this.advance();
443
+ this.tokens.push(this.makeToken(TokenType.NEQ, '!=', startLine, startCol));
444
+ continue;
445
+ }
446
+ if (op2 === '<=') {
447
+ this.advance();
448
+ this.advance();
449
+ this.tokens.push(this.makeToken(TokenType.LTE, '<=', startLine, startCol));
450
+ continue;
451
+ }
452
+ if (op2 === '>=') {
453
+ this.advance();
454
+ this.advance();
455
+ this.tokens.push(this.makeToken(TokenType.GTE, '>=', startLine, startCol));
456
+ continue;
457
+ }
458
+ if (op2 === '+=') {
459
+ this.advance();
460
+ this.advance();
461
+ this.tokens.push(this.makeToken(TokenType.PLUS_ASSIGN, '+=', startLine, startCol));
462
+ continue;
463
+ }
464
+ if (op2 === '-=') {
465
+ this.advance();
466
+ this.advance();
467
+ this.tokens.push(this.makeToken(TokenType.MINUS_ASSIGN, '-=', startLine, startCol));
468
+ continue;
469
+ }
470
+ if (op2 === '*=') {
471
+ this.advance();
472
+ this.advance();
473
+ this.tokens.push(this.makeToken(TokenType.STAR_ASSIGN, '*=', startLine, startCol));
474
+ continue;
475
+ }
476
+ if (op2 === '/=') {
477
+ this.advance();
478
+ this.advance();
479
+ this.tokens.push(this.makeToken(TokenType.SLASH_ASSIGN, '/=', startLine, startCol));
480
+ continue;
481
+ }
482
+ if (op2 === '%=') {
483
+ this.advance();
484
+ this.advance();
485
+ this.tokens.push(this.makeToken(TokenType.PERCENT_ASSIGN, '%=', startLine, startCol));
486
+ continue;
487
+ }
488
+ if (op2 === '&=') {
489
+ this.advance();
490
+ this.advance();
491
+ this.tokens.push(this.makeToken(TokenType.AMP_ASSIGN, '&=', startLine, startCol));
492
+ continue;
493
+ }
494
+ if (op2 === '|=') {
495
+ this.advance();
496
+ this.advance();
497
+ this.tokens.push(this.makeToken(TokenType.PIPE_ASSIGN, '|=', startLine, startCol));
498
+ continue;
499
+ }
500
+ if (op2 === '^=') {
501
+ this.advance();
502
+ this.advance();
503
+ this.tokens.push(this.makeToken(TokenType.CARET_ASSIGN, '^=', startLine, startCol));
504
+ continue;
505
+ }
506
+ if (op2 === '++') {
507
+ this.advance();
508
+ this.advance();
509
+ this.tokens.push(this.makeToken(TokenType.INC, '++', startLine, startCol));
510
+ continue;
511
+ }
512
+ if (op2 === '--') {
513
+ this.advance();
514
+ this.advance();
515
+ this.tokens.push(this.makeToken(TokenType.DEC, '--', startLine, startCol));
516
+ continue;
517
+ }
518
+ if (op2 === '->') {
519
+ this.advance();
520
+ this.advance();
521
+ this.tokens.push(this.makeToken(TokenType.ARROW, '->', startLine, startCol));
522
+ continue;
523
+ }
524
+ // Single char operators
525
+ const singleMap = {
526
+ '+': TokenType.PLUS,
527
+ '-': TokenType.MINUS,
528
+ '*': TokenType.STAR,
529
+ '/': TokenType.SLASH,
530
+ '%': TokenType.PERCENT,
531
+ '&': TokenType.AMP,
532
+ '|': TokenType.PIPE,
533
+ '^': TokenType.CARET,
534
+ '~': TokenType.TILDE,
535
+ '!': TokenType.NOT,
536
+ '<': TokenType.LT,
537
+ '>': TokenType.GT_OP,
538
+ '=': TokenType.ASSIGN,
539
+ '?': TokenType.QUESTION,
540
+ ':': TokenType.COLON,
541
+ ';': TokenType.SEMICOLON,
542
+ ',': TokenType.COMMA,
543
+ '(': TokenType.LPAREN,
544
+ ')': TokenType.RPAREN,
545
+ '{': TokenType.LBRACE,
546
+ '}': TokenType.RBRACE,
547
+ '[': TokenType.LBRACKET,
548
+ ']': TokenType.RBRACKET,
549
+ '.': TokenType.DOT,
550
+ };
551
+ if (singleMap[ch]) {
552
+ this.advance();
553
+ this.tokens.push(this.makeToken(singleMap[ch], ch, startLine, startCol));
554
+ continue;
555
+ }
556
+ throw new Error(`Unexpected character '${ch}' at line ${this.line}, col ${this.col}`);
557
+ }
558
+ this.tokens.push(this.makeToken(TokenType.EOF, '', this.line, this.col));
559
+ return this.tokens;
560
+ }
561
+ }
562
+ exports.Lexer = Lexer;
563
+ //# sourceMappingURL=lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":""}