mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
A new lexer is noticeably faster and memory efficient (although splitting a file to tokens is negligible in a whole pipeline). But the purpose of rewriting lexer was not just to speed up, but to allow writing code without spaces: `2+2` is now 4, not a valid identifier as earlier. The variety of symbols allowed in identifier has greatly reduced and is now similar to other languages. SrcLocation became 8 bytes on stack everywhere. Command-line flags were also reworked: - the input for Tolk compiler is only a single file now, it's parsed, and parsing continues while new #include are resolved - flags like -A -P and so on are no more needed, actually |
||
|---|---|---|
| .. | ||
| abscode.cpp | ||
| analyzer.cpp | ||
| asmops.cpp | ||
| builtins.cpp | ||
| CMakeLists.txt | ||
| codegen.cpp | ||
| gen-abscode.cpp | ||
| lexer.cpp | ||
| lexer.h | ||
| optimize.cpp | ||
| parse-tolk.cpp | ||
| platform-utils.h | ||
| src-file.cpp | ||
| src-file.h | ||
| stack-transform.cpp | ||
| symtable.cpp | ||
| symtable.h | ||
| tolk-main.cpp | ||
| tolk-wasm.cpp | ||
| tolk.cpp | ||
| tolk.h | ||
| unify-types.cpp | ||