1.1 KiB
1.1 KiB
vig
a v parser in zig, also a shitpost taken too far
(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 betweenfor
andloop
because my fucking god i cant stand having four different variations offor
to parse. -
struct initialization is with
Struct.{}
, notStruct{}
, to remove parsing ambiguities (if a {}
anda{}
, v solves that with case, e.g structs Must Be Properly Titled and i can't bother with that)
todo
- no
for
yet - no methods yet (
fn (v Type) blah() blah {...}
) - 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/