This is starting to go somewhere and needs a re-factor
This commit is contained in:
parent
825b947bad
commit
c471c82894
20
src/main.rs
20
src/main.rs
|
@ -105,16 +105,28 @@ impl<'a> VCD_Parser<'a> {
|
||||||
// "$timescale" => {*state = VCD_Parser_State::TIMESCALE_ENTER; Ok(())},
|
// "$timescale" => {*state = VCD_Parser_State::TIMESCALE_ENTER; Ok(())},
|
||||||
_ => Err(format!("unsure what to do with {word:?}"))}},
|
_ => Err(format!("unsure what to do with {word:?}"))}},
|
||||||
|
|
||||||
VCD_Parser_State::Date(Date_Parser_State) => {
|
VCD_Parser_State::Date(_) => self.parse_date(word),
|
||||||
let res = self.parse_date(word); Ok(())
|
|
||||||
}
|
|
||||||
_ => Err(format!("parser in bad state : {state:?}"))}
|
_ => Err(format!("parser in bad state : {state:?}"))}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_date(&mut self, word : &str) -> Result<(), String> {
|
pub fn parse_date(&mut self, word : &str) -> Result<(), String> {
|
||||||
let mut state = &mut self.date_parser_state;
|
let mut state = &mut self.vcd_parser_state;
|
||||||
|
match state {
|
||||||
|
VCD_Parser_State::Date(Date_Parser_State::Weekday) =>
|
||||||
|
{
|
||||||
|
self.date_buffer.Weekday = word.to_string();
|
||||||
|
*state = VCD_Parser_State::Date(Date_Parser_State::Month);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
VCD_Parser_State::Date(Date_Parser_State::Month) =>
|
||||||
|
{
|
||||||
|
self.date_buffer.Month = word.to_string();
|
||||||
|
*state = VCD_Parser_State::Date(Date_Parser_State::Day);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
_ => Err(format!("unsure what to do with {state:?}")),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance_VCD_parser_FSM(word: &str, mut state : VCD_Parser_State) {}
|
fn advance_VCD_parser_FSM(word: &str, mut state : VCD_Parser_State) {}
|
||||||
|
|
Loading…
Reference in a new issue