aboutsummaryrefslogtreecommitdiff
path: root/doc/CompilerFlow.md
blob: e42b94d061193a9a4cb2e1679a3c4deb3c21f77b (plain)
1
2
3
4
5
6
# Compiler flow
(Tokenize&parse -> Resolve AST -> Generate SSA -> Generate bytecode) -> Generate program\
Each step except the last is done using multiple threads in parallel and the output of each step is used
in the next step. The last step is not done in parallel because the last step is combining all bytecode
and writing it to a file, which is an IO bottlenecked operation and it won't benefit from multithreading
and may even lose performance because of it.