feat(backend/riscv32): 实现基础的编译器功能
- 完成 RV32IMA 指令集的代码生成 - 添加整数运算、分支、调用等基本指令支持 - 实现从 IR 到机器码的转换 - 添加简单的测试用例和测试框架
This commit is contained in:
@ -117,29 +117,23 @@ void test_literals() {
|
||||
// test_lexer_string("4294967295", TOKEN_INT_LITERAL); // UINT_MAX
|
||||
}
|
||||
|
||||
// TEST_CASE("Character literals"); {
|
||||
// test_lexer_string("'a'", TOKEN_CHAR_LITERAL);
|
||||
// test_lexer_string("'\\n'", TOKEN_CHAR_LITERAL);
|
||||
// test_lexer_string("'\\t'", TOKEN_CHAR_LITERAL);
|
||||
// test_lexer_string("'\\\\'", TOKEN_CHAR_LITERAL);
|
||||
// test_lexer_string("'\\0'", TOKEN_CHAR_LITERAL);
|
||||
// }
|
||||
TEST_CASE("Character literals"); {
|
||||
test_lexer_string("'a'", TOKEN_CHAR_LITERAL);
|
||||
test_lexer_string("'\\n'", TOKEN_CHAR_LITERAL);
|
||||
test_lexer_string("'\\t'", TOKEN_CHAR_LITERAL);
|
||||
test_lexer_string("'\\\\'", TOKEN_CHAR_LITERAL);
|
||||
test_lexer_string("'\\0'", TOKEN_CHAR_LITERAL);
|
||||
}
|
||||
|
||||
TEST_CASE("String literals"); {
|
||||
test_lexer_string("\"hello\"", TOKEN_STRING_LITERAL);
|
||||
test_lexer_string("\"multi-line\\nstring\"", TOKEN_STRING_LITERAL);
|
||||
test_lexer_string("\"escape\\\"quote\"", TOKEN_STRING_LITERAL);
|
||||
}
|
||||
|
||||
// TEST_CASE("Integer literals");
|
||||
// test_lexer_string("123", TOKEN_INT_LITERAL);
|
||||
// test_lexer_string("0x1F", TOKEN_INT_LITERAL);
|
||||
|
||||
// TEST_CASE("Floating literals");
|
||||
// test_lexer_string("3.14e-5", TOKEN_FLOAT_LITERAL);
|
||||
|
||||
// TEST_CASE("Character literals");
|
||||
// test_lexer_string("'\\n'", TOKEN_CHAR_LITERAL);
|
||||
}
|
||||
|
||||
// 边界测试
|
||||
|
Reference in New Issue
Block a user