# testing REL operators
if (a==b) if (a^=b) if (a<> b);
if (a>>b) if (a<<b) if (a<=b);
if (a=>b) if (a>=b) if (a=>b);
# TESTING LOG OPERATORS
if (a&b) if (a!b) if (^b);
if (a~b) if (a|b);
# testing  '&&' and '!!'
for (i=1;i<=10 && vec(i) <> 0; i = i + 1)
	;
repeat {
  if (i>>10!!vec(i)<>0)
	break
  i = i + 1
}
#----------------
if (a>>b&&c<<d!!e<>f) go to 10
if (e<>F!!c<<d&&a>>b) go to 20
#    testing brackets
if (a>>b)
[ call flip(a,b)
flipped = .true.
c = b]
# brackets - lower case
if (a>>b)
{ call flip(a,b)
flipped = .true.
c = b}
# testing while
while (i<>0) i = i + 1
# testing repeat
repeat { input xeq output }
# testing repeat {} until
repeat { input xeq output ] until (done)
# testing for
for (i=1;i<=n;i=i+1)
  vec(i) = 0
#    -------------
for (;code>>0;code=done-1)
  call out(chars(code))
#    -------------
for (i=1;;i=i+1) {
  call doit
  call chklt(i)
}
#    -------------
for (i=1;i<=n)
 call bump(i)
# checking do
do i=1,n 
vec(i) =0;
# checking break
repeat {
 if (char=0) break
]
# checking break group and definelist
definelist 1000 alfa beta gama
[
alfa
blaalfa
break group
beta
blabeta
bla 
;
gama
blagama
break group
]
#
# checking next
# in do group
do i=1,n 
{
a
next
b
}
# - in while
while (i==0) 
{
a
next 
b
}
# - in repeat
repeat 
[
a
next
}
# - in repeat until
repeat { 
a
next 
b
} until(pogoj)
#
#    nesting
for (i=1;i<<n;i=i+1)
  for (j=1;j<<m;j=j+1)
	if (i==j)
		m = a
	else
		m = b
# checking continuation
# - underscore
qqq ddd _
www
;
# - logical operators
if (a &
b!
c) a = 0
# - comma
do k = 1,
n
;
# how does it treat a label?
120	go on
# comments
	integer sum,	# sum of variables
		small,	# the smallest
		averge	# average value
# semicolons and null statements
if (switch) {
	temp = vec(i); vec(i) = vec(j); vec(j) = temp
	}
# null statements - semicol
	for (i=1;text(i)==' '; i = i + 1)
		;
# - {}
for (i=1;text(i)==' '; i = i + 1)
		{}
# special chars in holleriths
	a = '<< == >= <= & ! ~ ^ { } '
	a = '<< == >= ''<= & ! ~ ^ { } '
	b = 'repeat while do define'
# return () statement
	end
	function bla(al)
	return(6)
	end
	function bli(al)
	return(.true.)
	end
# define
	define lab1 5
lab1	continue
	define lab1 6
lab1	continue
#  testing  nclude
# everything appears
	include x2/l
#       only x3 will be shown now
	include x2
#  nothing should appear now
	include x3
#--------------------------------------
#	e n d   o f  t e s t i n g    I
#--------------------------------------
