P
r
o
g
r
a
m
s
program
®
sc
1
;
¼
;
sc
n
n
³
1
S
u
p
e
r
c
o
m
b
i
n
a
t
o
r
s
sc
®
var var
1
¼
var
n
=
expr
n
³
0
E
x
p
r
e
s
s
i
o
n
s
expr
®
expr aexpr
A
p
p
l
i
c
a
t
i
o
n
|
expr
1
binop expr
2
I
n
f
i
x
b
i
n
a
r
y
a
p
p
l
i
c
a
t
i
o
n
|
let
defns
in
expr
L
o
c
a
l
d
e
f
i
n
i
t
i
o
n
s
|
letrec
defns
in
expr
L
o
c
a
l
r
e
c
u
r
s
i
v
e
d
e
f
i
n
i
t
i
o
n
s
|
case
expr
of
alts
C
a
s
e
e
x
p
r
e
s
s
i
o
n
|
\
var
1
¼
var
n
-
>
expr
L
a
m
b
d
a
a
b
s
t
r
a
c
t
i
o
n
(n
³
1)
|
aexpr
A
t
o
m
i
c
e
x
p
r
e
s
s
i
o
n
aexpr
®
var
V
a
r
i
a
b
l
e
|
num
N
u
m
b
e
r
|
Pack {
num
,
num
}
C
o
n
s
t
r
u
c
t
o
r
|
(
expr
)
P
a
r
e
n
t
h
e
s
i
s
e
d
e
x
p
r
e
s
s
i
o
n
D
e
f
i
n
i
t
i
o
n
s
defns
®
defn
1
;
¼
;
defn
n
n
³
1
defn
®
var
=
expr
A
l
t
e
r
n
a
t
i
v
e
s
alts
®
alt
1
;
¼
;
alt
n
n
³
1
alt
®
<
num
>
var
1
¼
var
n
-
>
expr
n
³
0
B
i
n
a
r
y
o
p
e
r
a
t
o
r
s
binop
®
arithop
|
relop
|
boolop
arithop
®
+
|
-
|
*
|
/
A
r
i
t
h
m
e
t
i
c
relop
®
<
|
<
=
|
= =
|
/ =
|
>
=
|
>
C
o
m
p
a
r
i
s
o
n
boolop
®
&&
|
|
|
B
o
o
l
e
a
n
V
a
r
i
a
b
l
e
s
var
®
alpha varch
1
¼
varch
n
n
³
0
alpha
®
a
n
a
l
p
h
a
b
e
t
i
c
c
h
a
r
a
c
t
e
r
varch
®
alpha
|
digit
|
_
N
u
m
b
e
r
s
num
®
digit
1
¼
digit
n
n
³
1
File translated from T
E
X by
T
T
H
, version 1.41.