增加复杂的嵌套测试

This commit is contained in:
Luke 2025-04-25 14:41:23 +08:00
parent f2f30b8d7b
commit 4237c7db7a

191
test
View File

@ -52,61 +52,172 @@ module: MainModule
end body end body
end function end function
function: main
parameter:
declare args: string
return_type: void
body:
declare input_number: int = BuiltinUtils.to_int(args)
function: main if input_number <= 0 then
parameter: input_number = 5
declare args: string end if
return_type: void
body:
declare input_number: int = BuiltinUtils.to_int(args)
if input_number <= 0 then loop:
input_number = 5 initializer:
end if declare i: int = 0
condition:
i < input_number
update:
i = i + 1
body:
if i % 2 == 0 then
BuiltinUtils.print("i is even: " + BuiltinUtils.to_string(i))
loop: if i > 2 then
initializer: BuiltinUtils.print("i is greater than 2")
declare i: int = 0
condition:
i < input_number
update:
i = i + 1
body:
if i % 2 == 0 then
BuiltinUtils.print("i is even: " + BuiltinUtils.to_string(i))
else
BuiltinUtils.print("i is odd: " + BuiltinUtils.to_string(i))
loop: loop:
initializer: initializer:
declare j: int = 0 declare k: int = 0
condition: condition:
j < i k < 3
update: update:
j = j + 1 k = k + 1
body: body:
if j == 1 then BuiltinUtils.print("k = " + BuiltinUtils.to_string(k))
BuiltinUtils.print(" first inner")
else if k == 2 then
if j % 2 == 0 then BuiltinUtils.print("k is two")
BuiltinUtils.print(" j even")
else loop:
BuiltinUtils.print(" j odd") initializer:
end if declare n: int = 0
condition:
n < 2
update:
n = n + 1
body:
BuiltinUtils.print("n = " + BuiltinUtils.to_string(n))
if n == 1 then
BuiltinUtils.print("n is one")
if i > 3 then
BuiltinUtils.print("deep i > 3 block")
loop:
initializer:
declare x: int = 0
condition:
x < 2
update:
x = x + 1
body:
if x == 1 then
BuiltinUtils.print("x is one at depth")
else
BuiltinUtils.print("x is zero at depth")
end if
end body
end loop
end if
end if
end body
end loop
end if end if
end body end body
end loop end loop
end if end if
declare sum: int = CommonTasks.add_numbers(i, 10) else
declare squared: int = MathUtils.square_number(sum) BuiltinUtils.print("i is odd: " + BuiltinUtils.to_string(i))
BuiltinUtils.print(" i+10 squared = " + BuiltinUtils.to_string(squared))
end body
end loop
declare final_message: string = StringUtils.concatenate("Finished with input: ", BuiltinUtils.to_string(input_number)) loop:
BuiltinUtils.print(final_message) initializer:
end body declare j: int = 0
condition:
j < i
update:
j = j + 1
body:
if j == 1 then
BuiltinUtils.print("first inner")
else
if j % 2 == 0 then
BuiltinUtils.print("j even")
if j > 2 then
BuiltinUtils.print("j > 2, deeper if")
loop:
initializer:
declare y: int = 0
condition:
y < 2
update:
y = y + 1
body:
BuiltinUtils.print("y in deep even j loop: " + BuiltinUtils.to_string(y))
if y == 1 then
BuiltinUtils.print("y is one")
end if
end body
end loop
end if
else
BuiltinUtils.print("j odd")
loop:
initializer:
declare m: int = 0
condition:
m < 2
update:
m = m + 1
body:
BuiltinUtils.print("m = " + BuiltinUtils.to_string(m))
if m == 1 then
BuiltinUtils.print("m is one")
if j > 3 then
BuiltinUtils.print("j > 3, going deeper")
loop:
initializer:
declare z: int = 0
condition:
z < 2
update:
z = z + 1
body:
BuiltinUtils.print("z = " + BuiltinUtils.to_string(z))
end body
end loop
end if
end if
end body
end loop
end if
end if
end body
end loop
end if
declare sum: int = CommonTasks.add_numbers(i, 10)
declare squared: int = MathUtils.square_number(sum)
BuiltinUtils.print("i+10 squared = " + BuiltinUtils.to_string(squared))
end body
end loop
declare final_message: string = StringUtils.concatenate("Finished with input: ", BuiltinUtils.to_string(input_number))
BuiltinUtils.print(final_message)
end body
end function end function
end module end module