This patch adds the following arguments:
1. `--dump-ast` or `-d`: This dumps the Abstract Syntax Tree
2. `--dont-emit-llvm` or `-L`: This skips the LLVM generation step only
parsing and type checking. Useful for debugging.
Besides this, formatting of the time each compiler step took is also
improved and easier to read now.
Signed-off-by: Slendi <slendi@socopon.com>
This patch shows the time it took to parse and type check a program
which can be great to know where to optimize.
Signed-off-by: Slendi <slendi@socopon.com>
This patch makes it such that if you define an enum inside of a scope,
the type checker will remember it. There is currently no support for
field accesses.
Signed-off-by: Slendi <slendi@socopon.com>
Compiler messages are now printed in color with their respective code,
field access support has been added in the type checker. However, field
access nodes that contain other field access nodes are not yet
supported.
Signed-off-by: Slendi <slendi@socopon.com>