Compilers generally follow a linear process to compile code. In this article I will try to come up with a way of leveraging async computations to optimize the compilation process.
The general way compilers work is the following:
Source Code ===[ Tokenizer ]===[ Parser ]===> Abstract Syntax Tree ===>
===[ Semantic Analysis ]===[ Translation to IR ]===> IR Form ===>
===[ Various Optimizations ]===[ Final Transformation ]===> Machine Code
The first step of parallelizzation is to tokenize every file separately.
TODO: Finish the article