This commit is contained in:
2026-07-18 13:33:59 -04:00
parent 6cc81d7a5c
commit c062993130
14 changed files with 429 additions and 68 deletions
+3 -3
View File
@@ -68,17 +68,17 @@ pub fn parse_rmi(ctx: &mut crate::parser::ParseCtx) -> Result<RegMemImm, Compile
let next = ctx.expect_next()?;
let err = || CompilerMsg::unexpected_token(&next, ctx.span, "a register or immediate");
Ok(match &next {
Token::Ident(ident) => RegMemImm::Reg(Reg::parse(ident).ok_or_else(err)?),
Token::Ident(ident) => RegMemImm::Reg(RegW::parse(ident).ok_or_else(err)?),
Token::Lit(LitTy::Number(num)) => RegMemImm::Imm(parse_imm(num, ctx.span)?),
_ => return Err(err()),
})
}
pub fn parse_reg(ctx: &mut crate::parser::ParseCtx) -> Result<Reg, CompilerMsg> {
pub fn parse_reg(ctx: &mut crate::parser::ParseCtx) -> Result<RegW, CompilerMsg> {
let next = ctx.expect_next()?;
let err = || CompilerMsg::unexpected_token(&next, ctx.span, "a register");
let Token::Ident(next) = &next else {
return Err(err());
};
Reg::parse(next).ok_or_else(err)
RegW::parse(next).ok_or_else(err)
}