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

@ -15,35 +15,37 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#![feature(derive_default_enum)]
mod append;
/*mod append;
mod config;
*/
mod eval;
mod func;
mod lex;
mod segment;
mod stl;
mod str;
mod vars;
/*mod stl;
mod str;*/
extern crate lazy_static;
pub mod ast {
pub use crate::eval::eval;
pub use crate::func::{
func_call, func_declare, Args, ExternalOperation, FTable, Function, Operation,
};
pub use crate::lex::lex;
pub use crate::segment::{Ctr, Seg, Type};
pub use crate::vars::{define, VTable};
pub use crate::sym::{
SYM_TABLE, SymTable, Symbol,
UserFn, ValueType, Args,
LIB_EXPORT_ENV, LIB_EXPORT_NO_ENV
};
}
pub mod stdlib {
/*pub mod stdlib {
pub use crate::append::get_append;
pub use crate::stl::get_stdlib;
pub use crate::str::{get_concat, get_echo};
pub use crate::vars::get_export;
}
}*/
pub mod aux {
/*pub mod aux {
pub use crate::config::configure;
}
}*/