"Kind" is how user-level types are called internally, to avoid confusion. Kind literals in the AST have also been renamed to better represent their function.
56 lines
1.5 KiB
Markdown
56 lines
1.5 KiB
Markdown
# SCL Design Status
|
|
|
|
- [x] Data definitions
|
|
- [x] Token Definitions
|
|
- [x] AST Definitions
|
|
|
|
- [ ] Parser
|
|
- [x] Parse numbers
|
|
- [x] Parse floats
|
|
- [x] Parse negative numbers
|
|
- [x] Parse infix operators
|
|
- [x] Order of operations
|
|
- [x] Parse function application
|
|
- [x] Parse order of operations with parenthesis
|
|
- [x] Parse variable invocation
|
|
- [x] Parse variable definition
|
|
- [ ] Parse types
|
|
- [x] Parse function definition
|
|
- [ ] Parse lists/arrays/vectors
|
|
- [x] Parse blocks
|
|
- [ ] Parse control flow
|
|
- [x] Parse `if` statements
|
|
- [ ] Parse `loop`s
|
|
- [ ] Parse `for` loops
|
|
- [ ] Parse `while` loops
|
|
- [ ] Parse `case` statements
|
|
- [ ] Parse `goto` statements
|
|
- [x] Parse lambda function definition
|
|
- [ ] Parse function calling with positional arguments
|
|
- [ ] Parse variadic functions
|
|
- [ ] Parse infix function definition
|
|
|
|
- [ ] Executer
|
|
- [x] Exec function calls
|
|
- [x] Exec variable use
|
|
- [x] Exec variable definition
|
|
- [x] Exec function definition
|
|
- [ ] Exec symbolic variables
|
|
- [ ] Exec control flow statements
|
|
- [ ] Exec variadic functions
|
|
- [x] Exec lambda functions
|
|
- [ ] Exec lists
|
|
- [ ] Exec arrays
|
|
- [ ] Exec vectors
|
|
|
|
- [ ] Interface
|
|
- [ ] Interactive interpreter
|
|
- [ ] Use GNU readline
|
|
- [ ] Multi-line input
|
|
- [ ] Syntax highlighting
|
|
- [ ] Autocompletion/suggestion
|
|
- [ ] Command line interface
|
|
- [ ] Pass in a file
|
|
- [ ] Save AST to a file
|
|
- [ ] Run from AST file
|