pub fn parse_line(line: &str) -> Result<Option<Instruction>, String>Expand description
Parse a line of the form instruction [operand1] [operand2] [operand3][;[comment text]]
The return value is a Result<Option<Instruction>, String>. An Ok(Some(_)) value means a valid
instruction (for instance, the line move R:R0 R:R1). An Err(_) value means that there is
unparsable about the line (like move R:R0 R:r1 garbage garbage); an Ok(None) value means that
the line was legal but meant nothing (like ; comment only).
ยงExamples
Simple single-line parsing:
use mlem_asm::Instruction;
use mlem_asm::parse::parse_line;
assert!(parse_line("noop") == parse_line("noop;"));
assert!(parse_line("noop") == Ok(Some(Instruction::NoOp)));
assert!(parse_line("") == Ok(None));