39 lines
776 B
Markdown
39 lines
776 B
Markdown
|
|
# Solstice rewrite in C
|
||
|
|
|
||
|
|
Not self hosting yet. Maybe once this compiler is done.
|
||
|
|
|
||
|
|
## Building
|
||
|
|
|
||
|
|
bash build.c
|
||
|
|
|
||
|
|
## Todo List
|
||
|
|
|
||
|
|
- [ ] Lexer
|
||
|
|
- [x] Lex values
|
||
|
|
- [x] int
|
||
|
|
- [x] double
|
||
|
|
- [x] string
|
||
|
|
- [x] char
|
||
|
|
- [x] bool
|
||
|
|
- [x] Lex keywords
|
||
|
|
- [ ] Ignore comments (//, /**/, #)
|
||
|
|
- [ ] Lex delimiters
|
||
|
|
- [x] ()
|
||
|
|
- [x] {}
|
||
|
|
- [x] .
|
||
|
|
- [x] :
|
||
|
|
- [x] ,
|
||
|
|
- [ ] ==, =
|
||
|
|
- [ ] >, >=
|
||
|
|
- [ ] <, <=
|
||
|
|
- [ ] !, !=
|
||
|
|
- [ ] +, +=, ++
|
||
|
|
- [ ] -, -=, --
|
||
|
|
- [ ] *, *=
|
||
|
|
- [ ] /, /=
|
||
|
|
- [ ] Lex types
|
||
|
|
- [x] Basic types (int, double, string, bool, char)
|
||
|
|
- [ ] Advanced types (fun(...), template(...), object(...))
|
||
|
|
- [x] Lex identifiers
|
||
|
|
|