vcd_rust 0.0.1

A value change dump parser for the Rust programming language
Documentation
#[macro_use]
extern crate derive_builder;
extern crate strum;
#[macro_use]
extern crate strum_macros;
pub mod error;
pub mod parser;
pub mod state_machine;
pub mod string_helpers;
pub mod types;
pub mod vcd;

use crate::error::LoadError;
use crate::parser::Parser;
use crate::vcd::VCD;
use std::fs::File;

pub fn load_from_str(s: &str) -> Result<VCD, LoadError> {
    let mut parser = Parser::new();
    let vcd = parser.parse_from_string(s)?;
    Ok(vcd)
}

pub fn load_from_file(filename: String) -> Result<VCD, LoadError> {
    let mut parser = Parser::new();
    return match File::open(&filename[..]) {
        Ok(file) => Ok(parser.parse_from_file(file))?,
        Err(error) => Err(LoadError::FileOpenError {
            filename,
            error: error.to_string(),
        }),
    };
}