1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use crate::assembler::{generator, parser};
use crate::resources::{ELFBuilder, Syntax};
use std::fs;
pub fn assemble_file(
input_file: &str,
output_file: &str,
syntax: Syntax,
) -> Result<ELFBuilder, Box<dyn std::error::Error>> {
let source = fs::read_to_string(input_file)?;
let mut symbols = match syntax {
Syntax::INTEL => unimplemented!(),
Syntax::ATANDT => parser::parse_atandt(source),
};
generator::generate_main(&mut symbols);
let builder = ELFBuilder::new(output_file.to_string());
Ok(builder)
}