5237398245
- lexer: TOK_ENUM, TOK_COLON_COLON
- ast: AST_ENUM_DECL, AST_ENUM_VARIANT + AST_PROGRAM enums数组
- parser: enum Name { A, B } + Enum::Variant语法
- sema: SYM_ENUM, 变体验证, enum→i64类型兼容
- codegen: TYPE_ENUM→i64, 变体→ConstInt(索引值)
- 新增集成测试: 17_enum.l
测试: 121 通过 (41+15+47+18)
7 lines
111 B
Plaintext
7 lines
111 B
Plaintext
enum Color { Red, Green, Blue }
|
|
fn main() -> i64 {
|
|
let c = Color::Green;
|
|
print_i64(c);
|
|
return 0;
|
|
}
|