1.5 KiB
1.5 KiB
SCL Design Status
-
Data definitions
- Token Definitions
- AST Definitions
-
Parser
-
Parse numbers
-
Parse floats
-
Parse negative numbers
-
Parse infix operators
-
Order of operations
-
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
-
Parse lambda function definition
-
Parse function calling with positional arguments
-
Parse variadic functions
-
Parse infix function definition
-
Executer
- 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
- Interactive interpreter