Currently my custom language compiler is doing one-pass when compiling.
So it reads a source file, and it generates the abstract syntax tree as it goes. This is quite efficient, but it feels like it's getting hard to maintain.
I wonder if doing a multi-pass will make it easier to make the compiler more modular and easier to extend.