Updated README and added STATUS.

This commit is contained in:
Jacob Signorovitch 2025-01-12 20:34:43 -05:00
parent d13bf883b5
commit 60b9ed9eb2
2 changed files with 57 additions and 8 deletions

View File

@ -13,14 +13,8 @@ include the [Unity](https://github.com/ThrowTheSwitch/Unity) test framework.
## Current State
- [x] Floating-point numbers
- [x] Negative numbers
- [x] Basic binary infix operators; `+`, `-`, `*`, `/`
- [x] The same as conventional functions; `sum()`, `sub()`, `mul()`, `div()`
- [x] Arbitrary length functions
- [ ] User-defined variables
- [ ] Control flow
- [ ] User-defined functions
See [STATUS.md](STATUS.md). Currently, one is able to use `scl` as a basic,
interactive, four-function calculator.
## Syntax (Planned)

55
STATUS.md Normal file
View File

@ -0,0 +1,55 @@
# 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
- [ ] Parse order of operations with parenthesis
- [ ] Parse variable invocation
- [ ] Parse variable definition
- [ ] Parse types
- [ ] Parse function definition
- [ ] Parse lists/arrays/vectors
- [ ] Parse blocks
- [ ] Parse control flow
- [ ] Parse `if` statements
- [ ] Parse `loop`s
- [ ] Parse `for` loops
- [ ] Parse `while` loops
- [ ] Parse `case` statements
- [ ] Parse `goto` statements
- [ ] Parse lambda function definition
- [ ] Parse function calling with positional arguments
- [ ] Parse variadic functions
- [ ] Parse infix function definition
- [ ] Executer
- [x] Exec function calls
- [ ] Exec variable use
- [ ] Exec variable definition
- [ ] Exec function definition
- [ ] Exec symbolic variables
- [ ] Exec control flow statements
- [ ] Exec variadic functions
- [ ] 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