stage1 部分功能测试00,01,02,06成功
This commit is contained in:
30
stage1/test14.spl
Normal file
30
stage1/test14.spl
Normal file
@@ -0,0 +1,30 @@
|
||||
#[extern("vm")] fn vm_strlen(s: *i8) i32;
|
||||
#[extern("vm")] fn vm_strcmp(a: *i8, b: *i8) i32;
|
||||
|
||||
const MAGIC := 42;
|
||||
|
||||
fn main() i32 {
|
||||
/* compile-time constant */
|
||||
if MAGIC != 42 { ret 1; }
|
||||
|
||||
/* block scope */
|
||||
var outer := 1;
|
||||
{
|
||||
var inner := 2;
|
||||
if inner != 2 { ret 2; }
|
||||
outer = inner;
|
||||
}
|
||||
if outer != 2 { ret 3; }
|
||||
|
||||
/* string literal — vm_strlen */
|
||||
var len := vm_strlen("hello");
|
||||
if len != 5 { ret 4; }
|
||||
|
||||
/* vm_strcmp */
|
||||
var cmp := vm_strcmp("abc", "abc");
|
||||
if cmp != 0 { ret 5; }
|
||||
|
||||
var cmp2 := vm_strcmp("abc", "def");
|
||||
if cmp2 == 0 { ret 6; }
|
||||
ret 0;
|
||||
}
|
||||
Reference in New Issue
Block a user