# vig a [v] parser in zig, also a shitpost taken too far [v]: https://vlang.io (will likely be done as a full compiler, who knows, leave a like and subscribe for more epic adventures) ## why - because i want to learn parsers and what best to do it with a language i'm negatively charged towards - theres an ast now it looks pretty - i finally understand recursive descent parsers ## variations - `for` is split between `for` and `loop` because my fucking god i cant stand having *four* different variations of `for` to parse. - struct initialization is with `Struct.{}`, not `Struct{}`, to remove parsing ambiguities (`if a {}` and `a{}`, v solves that with case, e.g structs Must Be Properly Titled and i can't bother with that) ## todo - no `for` yet - do we really want a type system - do we really want to output c - do we really want to output llvm - do we really want to output x86 ## how - step 1: dab - step 2: ``` git clone https://gitdab.com/luna/vig.git cd vig zig build install --prefix ~/.local/ ```