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 |