externalroutine toplev
longreal lr1
integer i, i1 = 1, i2 = 2, i3 = 3
i = i1 while i2 = i3
i = i1 until i2 = i3
i = i1 for i2 = i3, 1, i1
while i2 = i3 then i = i1
! ILLEGAL IMP77: %until i2 = i3 %then i = i1
! This is legal Imp77 but my parser doesn't accept it. FIX IT.
!%for i2 = i3, 1, i1 %then i = i1
while i1 = i2 cycle
i = i1
repeat
! ILLEGAL IMP77:
!%until i1 = i2 %cycle
! i = i1
!%repeat
cycle
i = i1
repeat until i1 = i2
for i2 = i3, 1, i1 cycle
i = i1
repeat
while i1 = i2 cycle
i = i1
repeat; ! temp disabled: %until i2 = i3
! ILLEGAL IMP77:
!%until i1 = i2 %cycle
! i = i1
!%repeat %until i2 = i3
lab7:
for i2 = i3, 1, i1 cycle
i = i1
repeat; ! temp disabled: %until i2 = i3
i = i1 and i1 = i2 while i2 = i3
i = i1 and i1 = i2 until i2 = i3
lab3:
i = i1 and i1 = i2 for i2 = i3, 1, i1
lab4:
while i2 = i3 then i = i1 and i1 = i2
! ILLEGAL IMP77: %until i2 = i3 %then i = i1 %and i1 = i2
lab5:
! This is legal Imp77 but my parser doesn't accept it. FIX IT.
!%for i2 = i3, 1, i1 %then i = i1 %and i1 = i2
while i1 = i2 cycle
i = i1 ; i1 = i2
repeat
! ILLEGAL IMP77:
!%until i1 = i2 %cycle
! i = i1 ; i1 = i2
!%repeat
lab6:
cycle
i = i1 ; i1 = i2
repeat until i1 = i2
lab2:
for i2 = i3, 1, i1 cycle
i = i1 ; i1 = i2
repeat
while i1 = i2 cycle
i = i1 ; i1 = i2
repeat; ! temp disabled: %until i2 = i3
! ILLEGAL IMP77:
!%until i1 = i2 %cycle
! i = i1 ; i1 = i2
!%repeat %until i2 = i3
lab1:
for i2 = i3, 1, i1 cycle
i = i1 ; i1 = i2
repeat; ! temp disabled: %until i2 = i3
end
endoffile