stage1 - 全面重构 stage1 编译器架构:类型系统(arena + items)、IR 发射层(spl_emit.h/c)、统一所有 emit 调用点。
- 实现 as 类型转换运算符、修复 &&/|| 短路求值 bug。 - 在 splc1.spl 中实现 Vec/Map/Emit 基础库(~50 个方法)。 - 修复实例方法调用中 self 参数被错误丢弃的 bug。
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
/* ===== 模块6:函数 =====
|
||||
* test13_extern — 外部 VM 函数与字符串
|
||||
* 难度:2/5
|
||||
* 验证点:#[extern("vm")] 声明、vm_printf 调用、
|
||||
* 验证点:@extern(vm) 声明、vm_printf 调用、
|
||||
* 字符串字面量、字符串参数传递
|
||||
*/
|
||||
#[extern("vm")] fn vm_printf(fmt: *u8, ...) void;
|
||||
#[extern("vm")] fn vm_strlen(s: *i8) i32;
|
||||
#[extern("vm")] fn vm_strcmp(a: *i8, b: *i8) i32;
|
||||
@extern(vm) fn vm_printf(fmt: *u8, ...) void;
|
||||
@extern(vm) fn vm_strlen(s: *i8) i32;
|
||||
@extern(vm) fn vm_strcmp(a: *i8, b: *i8) i32;
|
||||
|
||||
fn main() i32 {
|
||||
/* vm_printf 输出测试 */
|
||||
|
||||
Reference in New Issue
Block a user