aboutsummaryrefslogtreecommitdiff
path: root/doc/CompilerFlow.md
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-07-16 00:27:53 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:36:46 +0200
commit85c654a102701958d3748e82ecac9c1bc4dbbcba (patch)
tree61a804a3af5ca43e7608f4c5dc6ea1e292fc8a35 /doc/CompilerFlow.md
parentabd74f22fd0c58b30f951da9cec1d1799e9b5072 (diff)
Start on real bytecode & doc parsing
Diffstat (limited to 'doc/CompilerFlow.md')
-rw-r--r--doc/CompilerFlow.md6
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