TDT4205/exercises/06/vslc/vsl_programs/ps6-codegen2/while_test.vsl

83 lines
1.3 KiB
Plaintext

// This program is a simple test of while loops, counting down from 19 to 0
// and skipping 10 (if continue is implemented)
func while_test ()
begin
var a, b
a := 20
b := test_while()
print "Loops done in test_while:", b
print a
if a > 0 then print "foobar"
while a > 0 do
begin
if a = 10 then
begin
a -= 1
print "Skip..."
continue
end
else
a -= 1
print a
end
return 0
end
func test_while()
begin
var n, m, loops_done
m := 10
n := 5
loops_done := 0
while m > 0 do
begin
if m = 7 then
begin
m -= 1
print "Skipping loop 7"
continue
end
n := 5
while n > 0 do
begin
if n = 3 then
begin
n -= 1
print "-------Skip 3 in inner loop"
continue
end
loops_done += 1
print "loop:", loops_done, "Values:", m, n
n -= 1
end
if m = 5 then
begin
m -= 1
print "<<<<<<Skip after exit of inner while"
continue
end
print "######## Loop", m, "done"
m -= 1
end
return loops_done
end