Files
elna/boot/Transpiler.mod

25 lines
534 B
Modula-2

IMPLEMENTATION MODULE Transpiler;
FROM FIO IMPORT WriteNBytes, StdOut;
FROM SYSTEM IMPORT ADDRESS;
FROM Terminal IMPORT WriteLn;
FROM Lexer IMPORT Lexer, LexerToken, LexerLex, LexerKind;
PROCEDURE Transpile(ALexer: PLexer);
VAR
Token: LexerToken;
WrittenBytes: CARDINAL;
BEGIN
Token := LexerLex(ALexer);
WHILE Token.Kind <> lexerKindEof DO
WrittenBytes := WriteNBytes(StdOut, ADDRESS(ALexer^.Current - ALexer^.Start), ALexer^.Start);
WriteLn();
Token := LexerLex(ALexer)
END
END Transpile;
END Transpiler.