test: 添加 Demo30

This commit is contained in:
Luke 2025-08-31 17:38:23 +08:00
parent c99614869f
commit f0e3bfe05c
2 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,66 @@
module: Main
import: os
struct: Address
fields:
declare country: int
declare city: int
init:
params:
country: int
city: int
body:
this.country = country
this.city = city
end body
end init
function: getCity
returns: int
body:
return this.city
end body
end function
end struct
struct: Person
fields:
declare name: int
declare addr: Address
init:
params:
name: int
addr: Address
body:
this.name = name
this.addr = addr
end body
end init
function: getName
returns: int
body:
return this.name
end body
end function
function: getAddr
returns: Address
body:
return this.addr
end body
end function
end struct
function: main
returns: void
body:
// 初始化 Person 和 Address 的实例
declare p: Person = new Person(123, new Address(1, 2))
declare a: Person = p
os.println(a.getName()) // -> 123
os.println(a.getAddr().getCity()) // -> 2
end body
end function
end module

View File

@ -0,0 +1,18 @@
module: os
function: print
params:
declare i1: int
returns: void
body:
syscall("PRINT", i1)
end body
end function
function: println
params:
declare i1: int
returns: void
body:
syscall("PRINTLN", i1)
end body
end function
end module