some incomplete changes
This commit is contained in:
parent
29d72b6e9c
commit
49d103fd56
5 changed files with 53 additions and 13 deletions
|
@ -14,12 +14,43 @@ use types::*;
|
|||
mod metadata;
|
||||
use metadata::*;
|
||||
|
||||
// use function_name::named;
|
||||
|
||||
#[named]
|
||||
fn parse_signal_tree<'a>(
|
||||
word_reader : &mut WordReader,
|
||||
vcd : &'a mut VCD
|
||||
) -> Result<&'a mut VCD, String> {
|
||||
let err : Result<&'a mut VCD, String> = Err(format!("reached end of file without parser leaving {}", function_name!()));
|
||||
// we assume we've already seen a `$scope` once
|
||||
// by the time we reach this function
|
||||
// let scope_name =
|
||||
loop {
|
||||
let word = word_reader.next_word();
|
||||
|
||||
// if there isn't another word left in the file, then we exit
|
||||
if word.is_none() {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
Ok(vcd)
|
||||
}
|
||||
|
||||
|
||||
pub fn parse_vcd(file : File) {
|
||||
let mut word_gen = WordReader::new(file);
|
||||
|
||||
let header = parse_metadata(&mut word_gen).unwrap();
|
||||
dbg!(header);
|
||||
dbg!(&header);
|
||||
|
||||
// let (word, cursor) = word_gen.next_word().unwrap();
|
||||
// cursor.error(word).unwrap();
|
||||
|
||||
let mut vcd = VCD{
|
||||
metadata: header,
|
||||
all_signals: vec![],
|
||||
all_scopes: vec![]
|
||||
};
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
Reference in a new issue