vig/README.md

43 lines
1.1 KiB
Markdown
Raw Normal View History

2019-08-26 16:43:07 +00:00
# vig
2019-08-24 19:31:13 +00:00
2019-08-26 17:26:58 +00:00
a [v] parser in zig, also a shitpost taken too far
2019-08-26 16:43:07 +00:00
[v]: https://vlang.io
(will likely be done as a full compiler, who knows, leave a like and subscribe
for more epic adventures)
2019-08-24 19:31:13 +00:00
## why
2019-08-26 17:26:58 +00:00
- because i want to learn parsers and what best to do it with a language i'm
2019-08-26 16:43:07 +00:00
negatively charged towards
2019-08-26 17:26:58 +00:00
- theres an ast now it looks pretty
- i finally understand recursive descent parsers
2019-08-24 19:31:13 +00:00
2019-08-25 19:49:08 +00:00
## variations
- `for` is split between `for` and `loop` because my fucking god i cant stand
2019-08-26 17:26:58 +00:00
having *four* different variations of `for` to parse.
2019-08-25 19:49:08 +00:00
2019-08-26 14:59:32 +00:00
- struct initialization is with `Struct.{}`, not `Struct{}`, to remove parsing
2019-08-26 17:26:58 +00:00
ambiguities (`if a {}` and `a{}`, v solves that with case, e.g structs Must
Be Properly Titled and i can't bother with that)
2019-08-26 14:59:32 +00:00
2019-08-26 17:30:13 +00:00
## 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
2019-08-24 19:31:13 +00:00
## how
2019-08-26 17:26:58 +00:00
- step 1: dab
- step 2: ```
2019-08-26 16:43:07 +00:00
git clone https://gitdab.com/luna/vig.git
cd vig
2019-08-24 19:31:13 +00:00
zig build install --prefix ~/.local/
```