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 |
||
|---|---|---|
| .. | ||
| lib | ||
| Continuation.cpp | ||
| Continuation.h | ||
| Dictionary.cpp | ||
| Dictionary.h | ||
| fift-main.cpp | ||
| Fift.cpp | ||
| Fift.h | ||
| HashMap.cpp | ||
| HashMap.h | ||
| IntCtx.cpp | ||
| IntCtx.h | ||
| SourceLookup.cpp | ||
| SourceLookup.h | ||
| utils.cpp | ||
| utils.h | ||
| words.cpp | ||
| words.h | ||