This repository has been archived on 2026-03-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
v2/README.md

90 lines
2.1 KiB
Markdown
Raw Normal View History

2026-02-15 19:47:23 +11:00
# 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
2026-02-20 09:35:50 +11:00
- [x] Ignore comments (//, /**/, #)
2026-02-20 14:22:26 +11:00
- [x] Lex delimiters
2026-02-15 19:47:23 +11:00
- [x] ()
- [x] {}
- [x] .
- [x] :
- [x] ,
2026-02-20 14:22:26 +11:00
- [x] ==, =
- [x] >, >=
- [x] <, <=
- [x] !, !=
- [x] +, +=, ++
- [x] -, -=, --
- [x] *, *=
- [x] /, /=
2026-02-15 19:47:23 +11:00
- [ ] Lex types
- [x] Basic types (int, double, string, bool, char)
- [ ] Advanced types (fun(...), template(...), object(...))
- [x] Lex identifiers
2026-02-22 09:21:51 +11:00
- [ ] Parser
- [x] Create structure to hold nodes
- [ ] Start parsing tree
2026-02-26 18:28:39 +11:00
- [x] puts
- [x] Literal values
- [x] '='
- [x] Maths
- [x] Brackets
2026-02-28 13:19:41 +11:00
- [x] Comparisons
- [x] Code blocks (` { } `)
- [x] If
- [x] While
2026-02-26 18:28:39 +11:00
- [ ] Function Definition
- [ ] Function Calls
- [ ] Structs
- [ ] new
- [ ] use
- [ ] Ground compiler
- [x] Create structure to descend tree
- [ ] Check types
- [x] puts (none)
- [x] set (typeof children.at[1])
- [x] Identifiers (scope->variables[idName])
- [x] add (string, int, double)
- [x] subtract, multiply, divide (int, double)
2026-02-28 13:19:41 +11:00
- [x] Comparisons (bool)
- [x] Code block (none)
- [x] if, while (none)
2026-02-26 18:28:39 +11:00
- [ ] Function definition (fun(...))
- [ ] Function call (return type of function)
- [ ] Struct (template(...))
- [ ] new (children[0])
- [ ] use (none)
- [ ] Generate code
- [x] puts
- [x] Literal values
- [x] '='
- [x] Maths
- [x] Brackets
2026-02-28 13:19:41 +11:00
- [x] Comparisons
- [x] Code blocks (` { } `)
- [x] If
- [x] While
2026-02-26 18:28:39 +11:00
- [ ] Function Definition
- [ ] Function Calls
- [ ] Structs
- [ ] new
- [ ] use
2026-02-15 19:47:23 +11:00