1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00
ton/tolk
tolk-vm 5a3e3595d6
[Tolk] Compilation pipeline, register global symbols in advance
Since I've implemented AST, now I can drop forward declarations.
Instead, I traverse AST of all files and register global symbols
(functions, constants, global vars) as a separate step, in advance.

That's why, while converting AST to Expr/Op, all available symbols are
already registered.
This greatly simplifies "intermediate state" of yet unknown functions
and checking them afterward.

Redeclaration of local variables (inside the same scope)
is now also prohibited.
2024-11-02 01:33:09 +04:00
..
abscode.cpp [Tolk] Implement AST: intermediate representation of tolk files 2024-11-02 01:33:08 +04:00
analyzer.cpp [Tolk] Implement AST: intermediate representation of tolk files 2024-11-02 01:33:08 +04:00
asmops.cpp [Tolk] Tolk v0.5.0 as FunC v0.5.0 could have been like 2024-11-02 01:33:08 +04:00
ast-from-tokens.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
ast-from-tokens.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
ast-replacer.h [Tolk] Implement AST: intermediate representation of tolk files 2024-11-02 01:33:08 +04:00
ast-stringifier.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
ast-visitor.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
ast.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
ast.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
builtins.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
CMakeLists.txt [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
codegen.cpp [Tolk] Embedded stdlib.tolk, CompilerState, strict includes 2024-11-02 01:33:08 +04:00
compiler-state.cpp [Tolk] Embedded stdlib.tolk, CompilerState, strict includes 2024-11-02 01:33:08 +04:00
compiler-state.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
gen-abscode.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
lexer.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
lexer.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
optimize.cpp [Tolk] Embedded stdlib.tolk, CompilerState, strict includes 2024-11-02 01:33:08 +04:00
pipe-ast-to-legacy.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipe-discover-parse-sources.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipe-find-unused-symbols.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipe-generate-fif-output.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipe-handle-pragmas.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipe-register-symbols.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
pipeline.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
platform-utils.h [Tolk] Rewrite lexer, spaces are not mandatory anymore 2024-11-02 01:33:08 +04:00
src-file.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
src-file.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
stack-transform.cpp [Tolk] Initial commit of TOLK Language: fork all sources from FunC 2024-11-02 01:33:08 +04:00
symtable.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
symtable.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
tolk-main.cpp [Tolk] Embedded stdlib.tolk, CompilerState, strict includes 2024-11-02 01:33:08 +04:00
tolk-wasm.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
tolk.cpp [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
tolk.h [Tolk] Compilation pipeline, register global symbols in advance 2024-11-02 01:33:09 +04:00
type-expr.h [Tolk] Implement AST: intermediate representation of tolk files 2024-11-02 01:33:08 +04:00
unify-types.cpp [Tolk] Implement AST: intermediate representation of tolk files 2024-11-02 01:33:08 +04:00