Date post: | 31-May-2018 |
Category: |
Documents |
Upload: | postscript |
View: | 218 times |
Download: | 0 times |
of 3
8/14/2019 lmath
1/3
A L i s p - L a n g u a g e
M a t h e m a t i c a - t o - L i s p T r a n s l a t o r
R i c h a r d J . F a t e m a n
U n i v e r s i t y o f C a l i f o r n i a , B e r k e l e y
A b s t r a c t
W i d e d i s t r i b u t i o n o f t h e c o m p u t e r a l g e b r a s y s t e m
M a t h e m a t i c a
1
h a s e n c o u r a g e d n u m e r o u s p r o g r a m m e r s ,
r e s e a r c h e r s a n d e d u c a t o r s t o p r o d u c e l i b r a r i e s o f p r o -
g r a m s i n i t s s p e c i a l l a n g u a g e , f o r i n c o r p o r a t i o n a s
\ p a c k a g e s " i n t o M a t h e m a t i c a s y s t e m s . A l t h o u g h s o m e
f e a t u r e s o f t h e l a n g u a g e a r e q u i t e i n t e r e s t i n g , s o m e a u -
t h o r s h a v e f o u n d t h a t f o r t h e i r p u r p o s e s t h e M a t h e m a t -
i c a p r o p r i e t a r y c o m p u t e r p r o g r a m h a s p r o b l e m a t i c a l
a n d d i c u l t - t o - a l t e r s e m a n t i c s . T h e r e f o r e c e r t a i n k i n d s
o f e x p e r i m e n t s a n d d e v e l o p m e n t s a r e n e c e s s a r i l y i n c o n -
v e n i e n t . A n i n i t i a l s t e p i n o p e n i n g u p s u c h u s e r - w r i t t e n
l i b r a r i e s t o r e - u s e i s a n i n d e p e n d e n t r e - i m p l e m e n t a t i o n
o f t h e l a n g u a g e v i a a n o n - p r o p r i e t a r y p a r s e r . I n p r i n -
c i p l e , t h i s a l l o w s o t h e r i m p l e m e n t a t i o n s o f s e m a n t i c s ,
a s w e l l a s e x p e r i m e n t s i n d a t a r e p r e s e n t a t i o n , w h i l e
s t i l l u s i n g t h e l a n g u a g e b a s i c a l l y a s d e s c r i b e d i n t h e
M a t h e m a t i c a r e f e r e n c e s . W e d e s c r i b e a p a r s e r w r i t -
t e n i n C o m m o n L i s p , a l a n g u a g e w h i c h i s a p p r o p r i a t e
f o r t h r e e r e a s o n s : ( 1 ) I t i s a s t a n d a r d a n d h a s w i d e
d i s t r i b u t i o n ; ( 2 ) I t s u p p o r t s n u m e r o u s u s e f u l f e a t u r e s
i n c l u d i n g a u t o m a t i c s t o r a g e a l l o c a t i o n a n d g a r b a g e c o l -
l e c t i o n , a r b i t r a r y - p r e c i s i o n i n t e g e r s , a n d t o o l s f o r l e x i -
c a l s c a n n i n g o f l a n g u a g e s ; a n d ( 3 ) L i s p i s t h e h o s t l a n -
g u a g e f o r s e v e r a l a l g e b r a i c m a n i p u l a t i o n s y s t e m s w h o s e
s u b r o u t i n e s m a y b e o f s o m e i n t e r e s t f o r p r o g r a m m e r s
i m p l e m e n t i n g a l t e r n a t i v e s e m a n t i c s .
I n t r o d u c t i o n
T h e M a t h e m a t i c a 2 ] c o m p u t e r a l g e b r a s y s t e m h a s s i g -
n i c a n t l y r a i s e d t h e l e v e l o f a t t e n t i o n d e v o t e d t o t h e
a r e a o f s y m b o l c o m p u t a t i o n . T h e r e a r e g r o u p s o f i n v e s -
t i g a t o r s w r i t i n g p r o g r a m s i n t h e M a t h e m a t i c a l a n g u a g e
f o r a v a r i e t y o f t a s k s , r a n g i n g f r o m p h y s i c s c a l c u l a t i o n s
t o t h e t u t o r i n g o f c a l c u l u s s t u d e n t s .
B e c a u s e s u c h l i b r a r i e s o f p r o g r a m s a r e n e c e s s a r i l y
i n M a t h e m a t i c a ' s s p e c i a l l a n g u a g e , t h e y c a n b e i n t e r -
p r e t e d o n l y w i t h t h e s p e c i c s e m a n t i c s o f t h a t p r o p r i -
e t a r y c o m p u t e r p r o g r a m . C o n t r a r y t o t h e s i t u a t i o n i n
s o m e e x p e r i m e n t a l l a n g u a g e s , t h e s y s t e m i s a \ b l a c k
1
M a t h e m a t i c a i s a t r a d e m a r k o f W o l f r a m R e s e a r c h I n c .
b o x " a n d i t i s d i c u l t t o a l t e r t h e s e m a n t i c s i n f u n d a -
m e n t a l w a y s . F o r e x a m p l e , i f o n e o b j e c t s t o t h e q u a l -
i t y ( o r p e r h a p s e c i e n c y ) o f o a t i n g - p o i n t c a l c u l a t i o n s ,
t h e r e i s n o t m u c h c h o i c e a v a i l a b l e .
B y b r e a k i n g t h e l a n g u a g e a w a y f r o m t h e s y s t e m
t h r o u g h w r i t i n g a n o n - p r o p r i e t a r y p a r s e r , w e a l l o w
o t h e r i m p l e m e n t a t i o n s o f s e m a n t i c s , i n c l u d i n g b u t n o t
l i m i t e d t o a l g o r i t h m s f o r s i m p l i c a t i o n , o a t i n g - p o i n t
a r i t h m e t i c , i n t e g r a t i o n , a n d r e p r e s e n t a t i o n .
T h i s r e p o r t d e s c r i b e s a p a r s e r f o r t h e u s e r - l a n g u a g e
f o r M a t h e m a t i c a , w r i t t e n e n t i r e l y i n C o m m o n L i s p .
T h e P r o g r a m : i n B r i e f
W e w r o t e a C o m m o n L i s p p r o g r a m t h a t c a n r e a d ( f r o m
a l e o r a k e y b o a r d ) v i r t u a l l y a n y M a t h e m a t i c a p r o -
g r a m o r c o m m a n d , a n d w i l l p r o d u c e a L i s p d a t a s t r u c -
t u r e c l o s e l y r e s e m b l i n g t h e F u l l F o r m p r i n t o u t o f M a t h -
e m a t i c a . P e r s o n s f a m i l i a r w i t h L i s p w h o h a v e e x a m -
i n e d M a t h e m a t i c a ' s F u l l F o r m p r o b a b l y w i l l h a v e n o -
t i c e d t h e c l o s e r e s e m b l a n c e . W e h a v e m o d i e d t h e
s t r u c t u r e o n l y s l i g h t l y t o m a k e t h e f o r m m o r e n a t u -
r a l i n L i s p . T h e m o d i c a t i o n i s e a s i l y s t a t e d : T h e
M a t h e m a t i c a e x p r e s s i o n x y ] i n F u l l F o r m i s , i n L i s p ,
( x y ) . F o r e x a m p l e , t h e i n p u t s y n t a x a & & b w h i c h h a s
a F u l l F o r m o f A n d a , b ] b e c o m e s t h e L i s p s y m b o l i c
e x p r e s s i o n ( A n d a b )
L e x i c a l A n a l y s i s a n d P a r s i n g
A f t e r t r y i n g ( w i t h o n l y m o d e s t s u c c e s s ) v a r i o u s m o s t l y -
a u t o m a t i c p a r s i n g t e c h n i q u e s , w e e n d e d u p w i t h a b a -
s i c a l l y h a n d - c o d e d p a r s e r . M a t h e m a t i c a , b y c o n t r a s t
w i t h s o m e o t h e r c o m p u t e r a l g e b r a s y s t e m s , d o e s n o t
f e a t u r e a n e x t e n s i b l e s y n t a x : t h i s s u g g e s t e d t h a t t h e
i m p l e m e n t a t i o n w a s , i n f a c t , s o m e w h a t a d h o c . O u r
s e c o n d a p p r o a c h w a s t o w r i t e a b o u t o n e p a g e o f L i s p
\ p r o g r a m - w r i t i n g p r o g r a m s " ( m a c r o s ) t o d e v e l o p t h e
b a s i c l e x i c a l a n a l y z e r a s a d i s p a t c h t a b l e f r o m a C o m -
m o n L i s p \ r e a d - t a b l e . " W e u s e d a m a c r o - e x p a n d e d v e r -
s i o n o f t h e p r o c e d u r e s ( e x p a n d e d t o a b o u t v e p a g e s )
b e c a u s e o f v a r i o u s i r r e g u l a r i t i e s i n t h e M a t h e m a t i c a
1
8/14/2019 lmath
2/3
s y n t a x w h i c h c o u l d m o s t e a s i l y b e a d d r e s s e d b y h a n d -
m o d i c a t i o n o f s o m e o f t h e p r o g r a m s , r a t h e r t h a n f u r -
t h e r \ m a c r o - o l o g y " .
I n a d d i t i o n t o t h e v e p a g e s o f l e x i c a l a n a l y z e r , t h e r e
a r e a n o t h e r t e n p a g e s o f p r o g r a m , c o n s i s t i n g o f a b o u t
6 u t i l i t y p r o g r a m s a n d a b o u t 4 5 o t h e r p r o c e d u r e s . F o r
e a c h s y n t a c t i c c o n s t r u c t i o n o n e o r t w o p r o c e d u r e s s u f -
c e d . T h e n a m e s , s u c h a s p a r s e - p l u s p a r s e - t i m e s
a n d p a r s e - a n d c o r r e s p o n d t o t h e s y n t a c t i c s t r u c t u r e s
b e i n g p a r s e d . M o s t o f t h e f u n c t i o n s a r e q u i t e r e g u -
l a r i n a p p e a r a n c e , r e s e m b l i n g e a c h o t h e r s u b s t a n t i a l l y
w i t h o n l y a f e w s u b s t i t u t i o n s f o r d i e r e n t l e v e l s i n
t h e p r e c e d e n c e h i e r a r c h y . S t a r t i n g w i t h a f e w t e m -
p l a t e s f o r l e f t - a s s o c i a t i v e , r i g h t - a s s o c i a t i v e , n - a r y , a n d
s p e c i a l c a s e s f o r b r a c k e t i n g c o n s t r u c t i o n s , w e e n d e d
u p w i t h a h a n d - p r o g r a m m e d r e c u r s i v e - d e s c e n t 1 - t o k e n
l o o k - a h e a d p a r s e r .
G i v e n t h e i n c o m p l e t e a n d s l i g h t l y i n a c c u r a t e d e s c r i p -
t i o n o f t h e g r a m m a r ( 2 ] A p p e n d i x B ) , w e f o u n d i t t i m e -
c o n s u m i n g t o o v e r c o m e a v a r i e t y o f p e c u l i a r i t i e s i n t h e
l a n g u a g e . I n p a r t i c u l a r , t h e r e i s a s o m e w h a t i r r e g u l a r
t r e a t m e n t o f \ w h i t e - s p a c e " a n d o n e m u s t d e t e r m i n e ,
a t e v e r y # \ n e w l i n e ( i n t h e L i s p n o t a t i o n ) w h e t h e r t h e
c h a r a c t e r s c o l l e c t e d s o f a r c o n s t i t u t e d a v a l i d p r o g r a m .
D i a g n o s t i c s a r e f a i r l y c r u d e : i n c a s e o f a n e r r o r , t h e
p a r s e r h a l t s , l e a v i n g u n s c a n n e d t h e t h e r s t t o k e n r e p -
r e s e n t i n g t h e f a i l u r e t o c o n s t i t u t e a p r e x o f a v a l i d
s e n t e n c e ; t h e r e m a i n d e r o f t h e c h a r a c t e r s b e y o n d t h i s
t o k e n a r e s t i l l u n r e a d .
A l t h o u g h s o m e e x p r e s s i o n s a r e p a r s e d w h i c h a r e e i -
t h e r n o t a c c e p t e d b y M a t h e m a t i c a s y n t a c t i c a l l y , o r a r e
r e j e c t e d b y M a t h e m a t i c a s e m a n t i c a l l y , t h e s e d o n o t
s e e m t o r e p r e s e n t p r o b l e m s .
C o m m e n t s o n t h e L a n g u a g e
M a t h e m a t i c a h a s a l a r g e n u m b e r o f t o k e n s , s o m e
o f w h i c h a r e r a t h e r c o n f u s i n g w h e n j u x t a p o s e d .
S o m e t o k e n s a p p e a r w i t h i n o r a s p r e x e s o r s u f -
x e s o f o t h e r t o k e n s . F o r e x a m p l e , ! b i s u s e d
a s a p r e x n o t a t i o n f o r N o t b ] , a n d a ! i s u s e d
a s a p o s t x n o t a t i o n f o r F a c t o r i a l a ] . T h e c o n -
s t r u c t i o n a ! ! i s \ d o u b l e - f a c t o r i a l " o r F a c t o r i a l 2 a ]
T h e n o t a t i o n a b i s ( T i m e s a b ) . C o n s i d e r i n g
t h e s e n o t a t i o n s , w h a t s h o u l d t h e e x p r e s s i o n a ! ! b
m e a n ? M a t h e m a t i c a ( a s w e l l a s o u r p a r s e r ) i n t e r -
p r e t e s i t a s ( T i m e s ( F a c t o r i a l ( F a c t o r i a l a ) ) b )
a l t h o u g h o n e m i g h t p r e f e r a n o t h e r i n t e r p r e t a t i o n :
( T i m e s ( F a c t o r i a l a ) ( N o t b ) ) . A d d i n g t o t h e
c o n f u s i o n , i f o n e o m i t s a s p a c e , a ! ! b i s p a r s e d a s
( T i m e s ( F a c t o r i a l 2 a ) b ) . I t i s r a t h e r n o n - o b v i o u s
w h a t h a p p e n s w h e n o n e i n s e r t s s p a c e s i n t h e c o n s t r u c -
t i o n a + + b
T h e c h a l l e n g e f o r a s y m b o l i c m a t h e m a t i c a l l a n g u a g e
i s t o m a k e t h e n o t a t i o n f o r s i m p l e a n d c o m m o n e x -
p r e s s i o n s e a s y t o u s e , y e t t o a l l o w f o r n a t u r a l e x t e n -
s i o n t o a l a r g e s p a n o f m a t h e m a t i c s . M a t h e m a t i c a i s
s o m e w h a t i d i o s y n c r a t i c i n t h e r s t p l a c e , a n d s o m e -
w h a t i r r e g u l a r i n s u p p o r t i n g t h e s e c o n d . E m p h a s i z i n g
a s i n g l e u n d e r l y i n g d a t a - t y p e ( a t r e e ) , a n d a s s o c i a t -
i n g p r o g r a m m i n g l a n g u a g e \ h a c k s " w i t h m a t h e m a t i c a l
o p e r a t i o n s ( L i s t a b l e F l a t ) m a y l e a d t o s u b t l e m a t h -
e m a t i c a l b u g s . N e v e r t h e l e s s , t h e e x p r e s s i v e n e s s o f t h e
l a n g u a g e i s s u b s t a n t i a l a n d i t c a n b e u s e d i n w a y s r e m -
i n i s c e n t o f p u z z l e r s i n L i s p a n d ( e s p e c i a l l y ) o n e - l i n e r s
i n A P L .
O p e n - e n d e d f e a t u r e s
P r e s u m a b l y a u s e r o f t h i s p r o g r a m w i l l w i s h t o w r i t e
a n e v a l u a t i o n s c h e m e f o r t h e s y m b o l i c e x p r e s s i o n s p r o -
d u c e d b y t h e p a r s e r . T w o \ o p e n - e n d e d " a r e a s a r e
t h e t r e a t m e n t o f i n t e g e r s , p a r s e d a s ( f o r e x a m p l e )
( I n t e g e r 5 ) a n d t h e r e a l n u m b e r s , w h i c h a r e p a r s e d
i n t o p a i r s o f t h e p r e - a n d p o s t - d e c i m a l p o i n t i n t e -
g e r s . F o r e x a m p l e , 1 . 2 0 i s ( R e a l 1 2 0 ) . T h i s b y n o
m e a n s l i m i t s t h e k i n d o f r e p r e s e n t a t i o n o r c o n s t r u c t i o n
a l l o w e d .
O t h e r M o d i c a t i o n s
W e f o u n d s o m e p u z z l i n g p a r s e s i n M a t h e m a t i c a . F o r
e x a m p l e a < b > c p a r s e s a s I n e q u a l i t y a , L e s s , b ,
G r e a t e r , c ] y e t a < b = = c p a r s e s a s E q u a l L e s s a ,
b ] , c ] . E v e n t h o u g h I n e q u a l i t y a p p e a r s t o b e
u n d o c u m e n t e d , w e p r e f e r t o p a r s e t h e l a t t e r a s
( I n e q u a l i t y a L e s s b E q u a l c ) . T h i s c h a n g e s t h e
s y n t a x o n l y w i t h r e s p e c t t o m o r e - t h a n - 2 - a r g u m e n t
c o m p a r i s o n s : a c o n s t r u c t i o n e s c h e w e d b y m o s t o t h e r
l a n g u a g e s e n t i r e l y .
W e p a r s e 1 . 2 . 3 a s ( D o t ( R e a l 1 2 ) 3 ) w h e r e a s
M a t h e m a t i c a v e r s i o n 1 . 2 g i v e s a n e r r o r .
T h e u s e o f M a t h e m a t i c a P a c k a g e s a n d C o n t e x t s i s
n o t s u p p o r t e d ( n o r i s i t i n h i b i t e d ) { i t n e e d n o t b e
t r e a t e d a s a s y n t a c t i c i s s u e : w e b e l i e v e i t c a n b e h a n -
d l e d b y a n i n t e r p r e t e r w i t h o u t c h a n g e t o t h e s y n t a x .
A l t h o u g h m a p p i n g i n t o L i s p p a c k a g e s i s a n o b v i o u s a p -
p r o a c h , i t w o u l d r e q u i r e f u r t h e r s t u d y . M e r e l y r e c r e -
a t i n g t h e i m p l e m e n t a t i o n o f h i d i n g o f i n f o r m a t i o n i n
M a t h e m a t i c a m a y b e l e s s t h a n i d e a l .
T e s t s
W e h a v e p a r s e d v a r i o u s l i b r a r y l e s i n a s t a n d a r d v e r -
s i o n 1 . 2 M a t h e m a t i c a d i s t r i b u t i o n , w i t h o u t e n c o u n -
t e r i n g a n y s y n t a x e r r o r s . E x a m i n a t i o n o f t h e o u t p u t
( b y e y e ) s u g g e s t s t h e t r a n s l a t i o n i s a c c u r a t e . D e t a i l e d
c h e c k s o n e a c h c o n s t r u c t i o n ( s o m e o f w h i c h a r e a c t u a l l y
2
8/14/2019 lmath
3/3
q u i t e u n l i k e l y t o h a v e m u c h m e a n i n g ) w e r e a l s o p e r -
f o r m e d , c o m p a r i n g t h e M a t h e m a t i c a f o r m t o t h e L i s p
f o r m .
W e t i m e d o u r p r o g r a m t o p a r s e ( a n d g e n e r a t e i n t e r -
n a l s t r u c t u r e f o r ) a l i b r a r y l e f o r p i e c e w i s e i n t e g r a t i o n
o f 9 5 0 l i n e s a n d 3 2 , 0 0 0 c h a r a c t e r s o f M a t h e m a t i c a c o d e .
I t t o o k a b o u t 5 . 7 C P U s e c o n d s o n a M I P S M / 1 2 0 m a -
c h i n e a n d a b o u t 2 6 s e c o n d s o n a V A X - 1 1 / 7 8 5 , e a c h r u n -
n i n g A l l e g r o C o m m o n L i s p . I t t o o k a b o u t 1 5 . 5 C P U
s e c o n d s o n a n I B M R T ( A P ) r u n n i n g L u c i d C o m m o n
L i s p . D e f a u l t \ o p t i m i z a t i o n " s e t t i n g s w e r e u s e d . I n
e a c h c a s e , a b o u t h a l f t h e C P U t i m e i s s p e n d i n t h e
c o l l e c t i o n o f c h a r a c t e r f o r t o k e n s .
W e e s t i m a t e t h a t a b o u t 3 0 % o f t h e t i m e o f t h e p a r s -
i n g t i m e i s t a k e n u p i n c h e c k i n g f o r t h e t e r m i n a t i o n o f a
\ s e n t e n c e " a t e a c h \ n e w l i n e " { i n o u r i m p l e m e n t a t i o n ,
a c o s t l y \ c o n v e n i e n c e " o f t h e M a t h e m a t i c a l a n g u a g e .
W h a t N e x t
C l e a r l y a r u d i m e n t a r y e v a l u a t i o n / s i m p l i c a t i o n / p a t -
t e r n m a t c h i n g s y s t e m a l o n g t h e l i n e s o f M a t h e m a t i c a ' s
s h o u l d b e c o n s i d e r e d . E x p e r i m e n t a t i o n w i t h t h e s e -
m a n t i c s w o u l d t h e n b e s i m p l e r . A l t h o u g h m u c h o f t h e
s e m a n t i c s w o u l d s e e m t o b e d i c t a t e d b y e v e n r u d i m e n -
t a r y c o r r e s p o n d e n c e s t o t h e M a t h e m a t i c a s y n t a x , t h e r e
i s a s u b s t a n t i a l a r e a f o r m o d i c a t i o n . W e h a v e , f o r e x -
a m p l e , w r i t t e n a p r o t o t y p e s i m p l i c a t i o n p r o g r a m t h a t
m a y h a v e a s y m p t o t i c a l l y s u p e r i o r c o m p l e x i t y t o M a t h -
e m a t i c a ' s . W e b e l i e v e t h a t t h e u n d e r l y i n g s u p p o r t o f
C o m m o n L i s p i s u s e d t o g o o d e e c t i n t h e s e a d d i t i o n a l
t a s k s .
W h y L i s p
T h e l e x i c a l a n a l y z e r a n d p a r s e r u s e s o m e L i s p f e a t u r e s :
a t o m s , p r o p e r t y l i s t s , c o m p i l a t i o n i n t o m a c h i n e l a n -
g u a g e , r e a d - t a b l e s , l i s t s , c h a r a c t e r s a n d a r b i t r a r y p r e -
c i s i o n i n t e g e r s . T h e b u i l t - i n s t o r a g e a l l o c a t i o n f e a t u r e s
o f g a r b a g e - c o l l e c t i o n a r e n a t u r a l l y u s e d . T h e s e f e a -
t u r e s , p l u s m a j o r s u p p o r t f o r p r o t o t y p i n g a n d d e b u g -
g i n g , w e r e p o s i t i v e a s p e c t s o f c h o o s i n g L i s p .
I n p r i n c i p l e , a m a j o r d i s a d v a n t a g e i n u s i n g C o m m o n
L i s p a s a b a s e i s t h a t m o s t i m p l e m e n t a t i o n s r e q u i r e
l a r g e a m o u n t s o f m e m o r y , t y p i c a l l y d w a r n g i n s i z e
t h i s a p p l i c a t i o n . S i n c e i t i s n o t p a r t i c u l a r l y i m p o r t a n t
t o u s t o m a k e t h i s e x p e r i m e n t a l s y s t e m r u n o n s m a l l
c o m p u t e r s , t h i s i s n o t a n i s s u e .
M o r e s i g n i c a n t i s t h e p o s s i b i l i t y o f u s i n g , i n t h e
s a m e b a s e s y s t e m , s u b r o u t i n e s f r o m M a c s y m a , R e d u c e ,
o r S c r a t c h p a d , a l l w r i t t e n i n L i s p .
T h e s o l e n o n - s t a n d a r d C o m m o n L i s p f e a t u r e w e e x -
p e c t i s t h a t a s y s t e m m u s t p r o v i d e a w a y t o r e a d p r o -
g r a m s w h i c h u s e b o t h u p p e r a n d l o w e r c a s e c h a r a c t e r s :
o t h e r w i s e o u r p r o g r a m p r o d u c e s ( P L U S X Y ) i n s t e a d o f
( P l u s x y ) f o r t h e i n p u t x + y
A v a i l a b i l i t y o f t h e P r o g r a m
A c o p y o f t h e p r o g r a m ( a s w e l l a s t h i s p a p e r i n
L
a
T
E
X f o r m ) i s a v a i l a b l e v i a f t p f r o m a n a r p a n e t s i t e .
T h e p r o g r a m i s a b o u t 9 4 4 l i n e s , 2 8 , 0 0 0 c h a r a c t e r s .
S i n c e a n a n n o u n c e m e n t o n a n e l e c t r o n i c b u l l e t i n b o a r d
( s c i . m a t h . s y m b o l i c ) i n J a n u a r y , 1 9 9 0 , f r e e c o p i e s h a v e
b e e n d i s t r i b u t e d t o s i t e s i n N o r w a y , F r a n c e , S w e d e n ,
t h e N e t h e r l a n d s , a n d 7 s i t e s i n t h e U S A . C o n t a c t t h e
a u t h o r ( f a t e m a n @ b e r k e l e y . e d u ) f o r d e t a i l s o n f u r t h e r
d i s t r i b u t i o n .
A c k n o w l e d g m e n t s
T h i s w o r k w a s s u p p o r t e d i n p a r t b y t h e f o l l o w i n g
g r a n t s : N a t i o n a l S c i e n c e F o u n d a t i o n u n d e r g r a n t n u m -
b e r C C R - 8 8 1 2 8 4 3 t h r o u g h t h e C e n t e r f o r P u r e a n d A p -
p l i e d M a t h e m a t i c s , U n i v e r s i t y o f C a l i f o r n i a a t B e r k e -
l e y ; t h e D e f e n s e A d v a n c e d R e s e a r c h P r o j e c t s A g e n c y
( D o D ) A R P A o r d e r # 4 8 7 1 u n d e r c o n t r a c t N 0 0 0 3 9 - 8 4 -
C - 0 0 8 9 , t h r o u g h t h e E l e c t r o n i c s R e s e a r c h L a b o r a t o r y ,
U n i v e r s i t y o f C a l i f o r n i a a t B e r k e l e y ; N S F g r a n t C S D -
8 7 2 2 7 8 8 ( E R L ) ; t h e I B M C o r p o r a t i o n a n d a m a t c h i n g
g r a n t f r o m t h e S t a t e o f C a l i f o r n i a M I C R O p r o g r a m .
S t u d e n t s M . D e s J a r d i n s a n d P . K l i e r c o n t r i b u t e d e a r -
l i e r p a r t i a l v e r s i o n s o f a M a t h e m a t i c a p a r s e r .
R e f e r e n c e s
1 ] R o m a n M a e d e r , P r o g r a m m i n g i n M a t h e m a t i c a
A d d i s o n - W e s l e y P u b l . C o . , R e d w o o d C i t y , C A . ,
1 9 8 9 .
2 ] S t e p h e n W o l f r a m , M a t h e m a t i c a { A S y s t e m f o r
D o i n g M a t h e m a t i c s b y C o m p u t e r , A d d i s o n - W e s l e y
P u b l . C o . , R e d w o o d C i t y , C A . , 1 9 8 8 .
3