diff options
Diffstat (limited to 'doc/CompilerFlow.md')
-rw-r--r-- | doc/CompilerFlow.md | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/doc/CompilerFlow.md b/doc/CompilerFlow.md new file mode 100644 index 0000000..e42b94d --- /dev/null +++ b/doc/CompilerFlow.md @@ -0,0 +1,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.
\ No newline at end of file |