rune
rune copied to clipboard
v2: start work on the v2 compiler
trafficstars
This adds a compiler which exists in parallel to the existing one. It's called the v2 compiler and is currently incomplete.
It performs indexing on lowering based on the lossless parser that was introduced in #790
The benefits among others is that indexing is no longer performed on strict grammar. The code can be indexed based on incomplete trees which greatly improves the experience when using a language server. Even though elements are incomplete such as:
struct Foo {
We can still index a struct declaration that the language server can reference.
Of course, this will still cause an error during lowering, which employs a strict grammar.