///|
fn main {
  let input = "BO_ 100 Status: 2 ECU\n SG_ Speed : 0|16@1+ (0.01,0) [0|655.35] \"km/h\" ECU"
  match @dbc.parse_dbc(input) {
    Err(error) => println(error.format())
    Ok(database) => {
      let encoded = @dbc.encode_frame(database, 100, [
        @dbc.SignalAssignment::new("Speed", 12.34),
      ])
      match encoded {
        Err(error) => println(error.format())
        Ok(frame) => {
          println("encoded=" + @dbc.render_frame_hex(frame))
          match @dbc.decode_frame(database, frame) {
            Err(error) => println(error.format())
            Ok(decoded) =>
              println(
                @dbc.render_decoded_text(decoded.message(), decoded.signals()),
              )
          }
        }
      }
    }
  }
}