summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/main.rs b/src/main.rs
index 32f4f5d..342057d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -8,6 +8,7 @@ pub use environment::*;
pub use parsers::*;
pub use tokens::*;
+
pub use assembler::*;
use log::{info, fatal};
use switchboard::{Switchboard, SwitchQuery};
@@ -85,6 +86,9 @@ fn main() {
error.report();
std::process::exit(1);
}
+
+ compiler.resolver.unused().report();
+
let merged_source = compiler.get_compiled_source().unwrap_or_else(
|error| { error.report(); std::process::exit(1); }
);
@@ -94,23 +98,14 @@ fn main() {
// -----------------------------------------------------------------------
-
- // // TODO: Remove this block
- // let code = &compiler.resolver.source_units[0].source_unit.main.source_code;
- // let parser = SyntacticParser::from_source_code(code, Some("<main>"));
- // println!();
- // for t in parser {
- // println!("{t:?}");
- // }
-
// Parse syntactic tokens from merged source code.
let path = Some("<merged source>");
let parser = SyntacticParser::from_source_code(&merged_source, path);
let syntactic_tokens: Vec<_> = parser.collect();
report_syntactic_errors(&syntactic_tokens, &merged_source);
- // let mut semantic_parser = SemanticParser::new(syntactic_tokens);
- // semantic_parser.parse();
+ let program = ProgramParser::new(syntactic_tokens).parse();
+ program.print_definitions();
}