RosettaCodeData/Task/Balanced-brackets/Phix/balanced-brackets.phix

22 lines
486 B
Plaintext

function check_brackets(sequence s)
integer level = 0
for i=1 to length(s) do
switch s[i]
case '[': level += 1
case ']': level -= 1
if level<0 then exit end if
end switch
end for
return (level=0)
end function
sequence s
constant ok = {"not ok","ok"}
for i=1 to 10 do
for j=1 to 2 do
s = shuffle(join(repeat("[]",i-1),""))
printf(1,"%s %s\n",{s,ok[check_brackets(s)+1]})
end for
end for