muss/mps-interpreter/src/lang/mod.rs

48 lines
1.2 KiB
Rust
Raw Normal View History

mod db_items;
mod dictionary;
mod error;
2021-12-29 17:12:58 +00:00
mod filter;
mod filter_replace;
mod function;
2022-01-12 16:06:32 +00:00
mod lookup;
mod operation;
2021-12-29 17:12:58 +00:00
mod pseudo_op;
mod repeated_meme;
2022-01-17 01:55:46 +00:00
mod single_op;
//mod statement;
2021-12-29 17:12:58 +00:00
mod type_primitives;
pub(crate) mod utility;
pub use dictionary::MpsLanguageDictionary;
pub use error::{MpsLanguageError, RuntimeError, SyntaxError};
pub use filter::{
MpsFilterFactory, MpsFilterPredicate, MpsFilterStatement, MpsFilterStatementFactory,
};
pub use filter_replace::MpsFilterReplaceStatement;
pub use function::{MpsFunctionFactory, MpsFunctionStatementFactory};
2022-01-12 16:06:32 +00:00
pub use lookup::Lookup;
pub use operation::{BoxedMpsOpFactory, MpsOp, MpsOpFactory, SimpleMpsOpFactory};
2021-12-29 17:12:58 +00:00
pub use pseudo_op::PseudoOp;
pub use repeated_meme::{repeated_tokens, RepeatedTokens};
2022-01-17 01:55:46 +00:00
pub use single_op::SingleItem;
//pub(crate) use statement::MpsStatement;
2021-12-29 17:12:58 +00:00
pub use type_primitives::MpsTypePrimitive;
2021-12-29 17:12:58 +00:00
pub mod vocabulary;
pub mod db {
pub use super::db_items::{
generate_db, generate_default_db, DatabaseObj, DbAlbumItem, DbArtistItem, DbGenreItem,
DbMetaItem, DbMusicItem, DEFAULT_SQLITE_FILEPATH,
};
}
#[cfg(test)]
mod tests {
#[test]
fn db_build_test() -> rusqlite::Result<()> {
super::db::generate_default_db()?;
Ok(())
}
}