assembler: small misc updates, I am tired
This commit is contained in:
+30
-1
@@ -1,3 +1,10 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use assembler::{
|
||||
error::{AssembleError, AssembleErrorKind, ParserError},
|
||||
model::module::Module,
|
||||
source::{source_info::SourceInfo, token::TokenType, tokeniser::Tokeniser},
|
||||
};
|
||||
use common as _;
|
||||
use num_cpus as _;
|
||||
use threadpool as _;
|
||||
@@ -5,9 +12,31 @@ use threadpool as _;
|
||||
// use clap::Parser;
|
||||
// use std::{fs, io::Write, path::PathBuf};
|
||||
|
||||
fn main() {
|
||||
fn main() -> Result<(), AssembleError> {
|
||||
// // Parse command line arguments
|
||||
// let args: Vec<String> = std::env::args().collect();
|
||||
let contents = include_bytes!("../../resources/dsa/bf.dsa").to_vec();
|
||||
|
||||
let module = Arc::new(Module::new("resources/dsa/bf.dsa")?);
|
||||
let tok = Tokeniser::from_data(contents, module.clone());
|
||||
|
||||
let ts = tok
|
||||
.tokenise()?
|
||||
.into_iter()
|
||||
.filter(|t| !matches!(t.token_type, TokenType::Eof | TokenType::Newline));
|
||||
|
||||
for t in ts {
|
||||
t.source_info.print_context_with_underline()?;
|
||||
}
|
||||
|
||||
let test_error: AssembleError = AssembleError::new_source_error(
|
||||
SourceInfo::new(45, module.clone(), 4..7),
|
||||
AssembleErrorKind::Parser(ParserError::InvalidInstruction),
|
||||
);
|
||||
|
||||
eprintln!("\n\n{test_error}");
|
||||
|
||||
Ok(())
|
||||
|
||||
// let _clap_args = assembler::args::Args::parse();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user