WIP commit:

* Fix up project structures
* combine vars and funcs table
* make a place for old code that may be useful to reference
* singleton pattern for sym table

Commentary:
When this change is finally finished I promise to use feature branches
from here on out
This commit is contained in:
Ava Hahn 2023-02-15 23:27:00 -08:00
parent b680e3ca9a
commit ca4c557d95
Signed by untrusted user who does not match committer: affine
GPG key ID: 3A4645B8CF806069
32 changed files with 1092 additions and 616 deletions

View file

@ -119,15 +119,16 @@ Note: this section will not show the status of each item unless you are viewing
**** DONE Derive Default for Seg
**** WONTDO From/Into for Ctr
**** DONE Iterator for Seg
**** TODO Consider RefCell for tables, or using 'static lifetime
**** WONTDO Consider RefCell for tables, or using 'static lifetime
one of these may fix borrow checker insanity
all you have to do is actually learn this shit
just pay attention
**** 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
Just need to get core compiling at this point.
Refactors made include splitting func_call into reasonable segments
Reorganizing eval
**** DONE combine var and func table into global sym table
**** TODO code deduplication and cleanup in sym table
**** TODO refactor and reimplement eval
**** TODO (test and get it working)
*** TODO Rudimentary Control Flow
**** TODO if clause
**** TODO loop clause
@ -175,5 +176,6 @@ Will need a concatenate function for func tables
***** TODO HTTP Listener
***** TODO UDP Listener
*** TODO Ensure full test coverage
THE GOOD STUFF IS IN Repositories/temprl
**** TODO Test for VTable overwrites in func_call
**** TODO Implement missing VTable, FTable, Lex, Eval tests
**** TODO stdlib tests :)