#[macro_use]
extern crate lalrpop_util;
#[macro_use]
extern crate log;
pub mod model;
pub mod parser;
use crate::model::Skillset;
pub fn load_skillset(filename: &str) -> Result<Skillset, parser::RlError> {
match parser::parse_file(filename) {
Ok(mut skillset) => {
info!("Parsing OK");
match skillset.duplicate() {
Ok(_) => info!("Duplicate OK"),
Err(e) => {
error!("{}", e);
return Err(e);
}
}
match skillset.resolve() {
Ok(_) => info!("Resolve OK"),
Err(e) => {
error!("{}", e);
return Err(e);
}
}
Ok(skillset)
}
Err(e) => {
error!("{}", e);
return Err(e);
}
}
}