Signal query #5

Merged
ThePerfectComputer merged 9 commits from signal_query into main 2022-09-02 19:08:26 +00:00
Showing only changes of commit 3d2b7f8028 - Show all commits

View file

@ -48,8 +48,8 @@ pub(super) fn parse_var<'a>(
let parse_err = format!("failed to parse as usize on {cursor:?}"); let parse_err = format!("failed to parse as usize on {cursor:?}");
// $var parameter 3 a IDLE $end // $var parameter 3 a IDLE $end
// ^ - no_bits // ^ - num_bits
let no_bits = match var_type { let num_bits = match var_type {
SigType::Integer SigType::Integer
| SigType::Parameter | SigType::Parameter
| SigType::Real | SigType::Real
@ -57,16 +57,16 @@ pub(super) fn parse_var<'a>(
| SigType::Wire | SigType::Wire
| SigType::Tri1 | SigType::Tri1
| SigType::Time => { | SigType::Time => {
let no_bits = word.parse::<usize>().expect(parse_err.as_str()); let num_bits = word.parse::<usize>().expect(parse_err.as_str());
let no_bits = u16::try_from(no_bits).map_err(|_| { let num_bits = u16::try_from(num_bits).map_err(|_| {
format!( format!(
"Error near {}:{} while parsing vcd file at {cursor:?}. \ "Error near {}:{} while parsing vcd file at {cursor:?}. \
This signal has {no_bits} > 2^16 - 1 bits.", This signal has {num_bits} > 2^16 - 1 bits.",
file!(), file!(),
line!() line!()
) )
})?; })?;
Some(no_bits) Some(num_bits)
} }
// for strings, we don't really care what the number of bits is // for strings, we don't really care what the number of bits is
_ => None, _ => None,
@ -89,8 +89,8 @@ pub(super) fn parse_var<'a>(
} }
let full_signal_name = full_signal_name.join(" "); let full_signal_name = full_signal_name.join(" ");
let num_bytes = if no_bits.is_some() { let num_bytes = if num_bits.is_some() {
let bytes_required = Signal::bytes_required(no_bits.unwrap(), &full_signal_name)?; let bytes_required = Signal::bytes_required(num_bits.unwrap(), &full_signal_name)?;
Some(bytes_required) Some(bytes_required)
} else { } else {
None None
@ -115,7 +115,7 @@ pub(super) fn parse_var<'a>(
name: full_signal_name, name: full_signal_name,
sig_type: var_type, sig_type: var_type,
signal_error: None, signal_error: None,
num_bits: no_bits, num_bits: num_bits,
num_bytes: num_bytes, num_bytes: num_bytes,
self_idx: signal_idx, self_idx: signal_idx,
nums_encoded_as_fixed_width_le_u8: vec![], nums_encoded_as_fixed_width_le_u8: vec![],