Organized module source files.

This commit is contained in:
Jesse Brault 2025-02-03 11:03:25 -06:00
parent 3906374866
commit 1d3a1593ee
3 changed files with 21 additions and 4 deletions

View File

@ -1,8 +1,7 @@
use crate::ast::CompilationUnit;
use crate::parser::{DeimosParser, Rule}; use crate::parser::{DeimosParser, Rule};
use crate::vm::lib::DmLib; use crate::module::DmModule;
use pest::Parser;
pub fn compile(src_unit: &str) -> DmLib { pub fn compile(module: &mut DmModule, compilation_unit: CompilationUnit) {
let p = DeimosParser::parse(Rule::compilation_unit, src_unit).unwrap();
todo!() todo!()
} }

View File

@ -4,3 +4,4 @@ pub mod parser;
mod util; mod util;
pub mod vm; pub mod vm;
pub mod ast; pub mod ast;
pub mod module;

17
src/module/mod.rs Normal file
View File

@ -0,0 +1,17 @@
pub struct DmModule {
pub namespace: DmNamespace,
}
pub enum NamespaceVisibility {
Public,
Partial {
visible_to_fqns: Vec<String>
},
Private
}
pub struct DmNamespace {
pub name: String,
pub dependencies: Vec<String>,
pub visibility: NamespaceVisibility
}