feat(backend/riscv32): 实现基础的编译器功能

- 完成 RV32IMA 指令集的代码生成
- 添加整数运算、分支、调用等基本指令支持
- 实现从 IR 到机器码的转换
- 添加简单的测试用例和测试框架
This commit is contained in:
ZZY
2025-03-08 16:50:21 +08:00
parent 95bf44eb3f
commit 172d72b0a0
32 changed files with 980 additions and 469 deletions

View File

@@ -163,13 +163,14 @@ static void parse_char_literal(lexer_t* lexer, tok_t* token) {
if (*peek == '\\') {
peek++;
val = got_slash(peek);
peek++;
} else {
val = *peek;
val = *peek++;
}
if (*peek != '\'') error("Unclosed character literal");
if (*peek++ != '\'') error("Unclosed character literal");
token->val.ch = val;
lexer->cur_ptr = peek + 1;
lexer->cur_ptr = peek;
token->val.have = 1;
token->type = TOKEN_CHAR_LITERAL;
}