///|
fn main {
  let options = @vcd.parse_cli_options(@env.args())
  if !@vcd.cli_options_valid(options) {
    println(@vcd.cli_options_diagnostic(options))
    return
  }
  let sample =
    #|$timescale 1ns $end
    #|$scope module demo $end
    #|$var wire 1 ! clk $end
    #|$upscope $end
    #|$enddefinitions $end
    #|#0
    #|0!
    #|#5
    #|1!
    #|#10
    #|0!
  match @vcd.parse(sample) {
    Ok(trace) => println(@vcd.cli_report(trace, options))
    Err(_) => println("parse error")
  }
}