vig/README.md
2019-08-26 14:30:13 -03:00

42 lines
1.1 KiB
Markdown

# 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
- 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/
```