slige/compiler/main.ts

25 lines
720 B
TypeScript
Raw Normal View History

2024-11-04 13:54:55 +00:00
import { Lexer } from "./Lexer.ts";
2024-11-18 09:21:30 +00:00
import { Parser } from "./Parser.ts";
2024-11-04 13:54:55 +00:00
2024-11-19 04:06:27 +00:00
//const text = await Deno.readTextFile("example-no-types.slg");
const text = await Deno.readTextFile("example.slg");
2024-11-04 13:54:55 +00:00
const lexer = new Lexer(text);
2024-11-19 04:06:27 +00:00
console.log("type\tindex\tline:col");
let current = lexer.next();
while (current) {
console.log(
`${
current.identValue ?? current.type
}\t${current.pos.index}\t${current.pos.line}:${current.pos.col}`,
);
current = lexer.next();
2024-11-04 13:54:55 +00:00
}
2024-11-19 04:06:27 +00:00
const pos = lexer.currentPos();
console.log(`eof\t${pos.index}\t${pos.line}:${pos.col}`);
//const parser = new Parser(lexer);
//while (!parser.done()) {
// const result = parser.parseExpr();
// console.log(result);
//}