WIP commit to re-add and refactor config, repl, and library code

Signed-off-by: Ava Hahn <ava@aidanis.online>
This commit is contained in:
Ava Hahn 2023-02-27 17:30:49 -08:00
parent 93a1e06a53
commit ae365ad63c
Signed by untrusted user who does not match committer: affine
GPG key ID: 3A4645B8CF806069
10 changed files with 758 additions and 67 deletions

View file

@ -100,49 +100,21 @@ This contains any executable target of this project. Notably the main shell file
* Current Status / TODO list
Note: this section will not show the status of each item unless you are viewing it with a proper orgmode viewer
*** DONE Core interpreter stuffs
**** DONE Lexing
**** DONE Parsing
**** DONE Evaluation
**** DONE Function table
**** DONE Variable table
*** DONE Echo function
*** DONE Redo segment.rs
**** DONE Clone impl for Ctr
(derived)
**** DONE Derive Clone for Seg
**** DONE ToString impl for Ctr
**** DONE ToString impl for Seg
**** DONE Display, Debug impls for Ctr
**** DONE Derive Display, Debug for Seg
**** DONE Default impl for Ctr
**** DONE Derive Default for Seg
**** WONTDO From/Into for Ctr
**** DONE Iterator for Seg
**** WONTDO Consider RefCell for tables, or using 'static lifetime
one of these may fix borrow checker insanity
**** DONE make FTable and VTable singleton modules (global mutable)
**** WONTDO make FTable and VTable into private definitions
**** DONE YEET AST EVERYWHERE. PASS AROUND A SEG REF.
*** TODO refactor code into more digestible, better organized pieces
**** DONE combine var and func table into global sym table
**** DONE refactor and reimplement eval
**** TODO (test and get it working)
**** TODO lex/eval/e2e tests for var that holds callback func
*** TODO Rudimentary Control Flow
**** TODO if clause
**** TODO loop clause
**** TODO while clause
**** TODO circuit clause
*** DONE Configuration
**** DONE Function to load configuration into Variable and Function tables
**** DONE Configure in main shell
**** DONE manual verification of config settings
**** DONE manual verification of config defaults
*** TODO Configuration
**** TODO get_stdlibphase1 -> configuration -> get_stdlibphase2
**** TODO Function to load configuration into Variable and Function tables
**** TODO Configure in main shell
**** TODO manual verification of config settings
**** TODO manual verification of config defaults
*** TODO Help function
*** TODO Env function
*** DONE User variable declaration
*** DONE User function declaration
*** TODO User variable declaration tests
*** TODO User function declaration tests
*** TODO Load (load a script) function
Pull/Refactor the logic out of the configure functions.
Optionally return a list of new variables and/or functions?
@ -150,16 +122,14 @@ Will need a concatenate function for func tables
*** TODO Main shell calls Load function on arg and exits
*** TODO Custom error printing
*** TODO Custom ast pretty print
*** DONE Implement Ctr, Ast to_string / Display trait
*** TODO get_stdlibphase1 -> configuration -> get_stdlibphase2
*** TODO STDLIB
*** TODO Shell module
**** TODO Process launching with environment variables
**** TODO Foreground process TTY
**** TODO Background processes
**** DONE append
**** TODO append
**** TODO string operations
***** DONE concatenate
***** TODO concatenate
***** TODO substr by index
***** TODO tokenize by delimiter
***** TODO sprintf / string build
@ -175,6 +145,3 @@ Will need a concatenate function for func tables
***** TODO TCP Listener
***** TODO HTTP Listener
***** TODO UDP Listener
*** TODO Ensure full test coverage
**** TODO Implement missing func, Lex, Eval tests
**** TODO stdlib tests :)