$ od -c -N 50000 [phylum]<LISP>Lyric>Lispusers>IRM>CHAPSTACK.TEDIT!1 0000000 C o p y r i g h t ( c ) 1 9 0000020 8 6 X e r o x C o r p o r a 0000040 t i o n . A l l r i g h t 0000060 s r e s e r v e d . \r \r 2 \r \r 0000100 1 1 . 6 \t P o s s i b i l i 0000120 t i e s L i s t s \r 1 \r \r A 0000140 p o s s i b i l i t i e s l i 0000160 s t i s t h e i n t e r f 0000200 a c e b e t w e e n a g e 0000220 n e r a t o r a n d a c o 0000240 n s u m e r . T h e p o s 0000260 s i b i l i t i e s l i s t 0000300 i s i n i t i a l i z e d b 0000320 y a c a l l t o P O S S 0000340 I B I L I T I E S , a n d e 0000360 l e m e n t s a r e o b t a 0000400 i n e d f r o m i t b y 0000420 u s i n g T R Y N E X T . 0000440 B y u s i n g t h e s p a 0000460 g h e t t i s t a c k t o 0000500 m a i n t a i n s e p a r a t 0000520 e e n v i r o n m e n t s , 0000540 t h i s p a c k a g e a l l 0000560 o w s a r e g i m e i n 0000600 w h i c h a g e n e r a t o 0000620 r c a n p u t a f e w 0000640 i t e m s i n a p o s s i 0000660 b i l i t i e s l i s t , s 0000700 u s p e n d i t s e l f u n 0000720 t i l t h e y h a v e b e 0000740 e n c o n s u m e d , a n d 0000760 b e s u b s e q u e n t l y 0001000 a r o u s e d a n d g e n 0001020 e r a t e s o m e m o r e . 0001040 \r ( P O S S I B I L I T I E S 0001060 F O R M ) \t [ N L a m b d a 0001100 F u n c t i o n ] \r 1 \r \r T h 0001120 i s n l a m b d a f u n c t 0001140 i o n i s u s e d f o r 0001160 t h e i n i t i a l c r e a 0001200 t i o n o f a p o s s i b 0001220 i l i t i e s l i s t . F 0001240 O R M w i l l b e e v a l 0001260 u a t e d t o c r e a t e 0001300 t h e l i s t . I t s h 0001320 o u l d u s e t h e f u n 0001340 c t i o n s N O T E a n d 0001360 A U - R E V O I R d e s c r i 0001400 b e d b e l o w t o g e n 0001420 e r a t e p o s s i b i l i t 0001440 i e s . N o r m a l l y , 0001460 o n e w o u l d s e t s o 0001500 m e v a r i a b l e t o t 0001520 h e p o s s i b i l i t i e s 0001540 l i s t w h i c h i s r 0001560 e t u r n e d , s o i t c 0001600 a n b e u s e d l a t e r 0001620 , e . g . : \r ( S E T Q P L 0001640 I S T ( P O S S I B I L I T I 0001660 E S ( G E N E R F N V 1 V 0001700 2 ) ) ) . \r P O S S I B I L I T 0001720 I E S c o m p i l e s o p e 0001740 n . \r 1 \r \r ( N O T E V A L 0001760 L S T F L G ) \t [ F u n c t 0002000 i o n ] \r 1 \r \r U s e d w i t 0002020 h i n a g e n e r a t o r 0002040 t o p u t i t e m s o n 0002060 t h e p o s s i b i l i t i e 0002100 s l i s t b e i n g g e n 0002120 e r a t e d . I f L S T F 0002140 L G i s e q u a l t o N 0002160 I L , V A L i s t r e a t 0002200 e d a s a s i n g l e i 0002220 t e m . I f L S T F L G 0002240 i s n o n - N I L , t h e n 0002260 t h e l i s t V A L i s 0002300 N C O N C e d o n t h e 0002320 e n d o f t h e p o s s i 0002340 b i l i t i e s l i s t . 0002360 N o t e t h a t i t i s 0002400 p e r f e c t l y r e a s o n 0002420 a b l e t o c r e a t e a 0002440 p o s s i b i l i t i e s l 0002460 i s t u s i n g a s e c o 0002500 n d g e n e r a t o r , a n 0002520 d N O T E t h a t l i s t 0002540 a s p o s s i b i l i t i e 0002560 s f o r t h e c u r r e n 0002600 t g e n e r a t o r w i t h 0002620 L S T F L G e q u a l t o 0002640 T . T h e l o w e r g 0002660 e n e r a t o r w i l l b e 0002700 r e s u m e d a t t h e 0002720 a p p r o p r i a t e p o i n 0002740 t . \r 1 \r \r ( A U - R E V O I R 0002760 V A L ) \t [ N o S p r e a 0003000 d F u n c t i o n ] \r 1 \r \r P 0003020 u t s V A L o n t h e p 0003040 o s s i b i l i t i e s l i s 0003060 t i f i t i s g i v e n 0003100 , a n d t h e n s u s p e 0003120 n d s t h e g e n e r a t o 0003140 r a n d r e t u r n s t o 0003160 t h e c o n s u m e r i n 0003200 s u c h a f a s h i o n 0003220 t h a t c o n t r o l w i l 0003240 l r e t u r n t o t h e 0003260 g e n e r a t o r a t t h e 0003300 A U - R E V O I R i f t h 0003320 e c o n s u m e r e x h a u 0003340 s t s t h e p o s s i b i l 0003360 i t i e s l i s t . \r N o t e 0003400 : N I L i s n o t p u 0003420 t o n t h e p o s s i b i 0003440 l i t i e s l i s t u n l e 0003460 s s i t i s e x p l i c i 0003500 t l y g i v e n a s a n 0003520 a r g u m e n t t o A U - R 0003540 E V O I R , i . e . , ( A U 0003560 - R E V O I R ) a n d ( A U 0003600 - R E V O I R N I L ) a r e 0003620 n o t t h e s a m e . 0003640 A U - R E V O I R a n d A D 0003660 I E U a r e l a m b d a n 0003700 o s p r e a d s t o e n a b 0003720 l e t h e m t o d i s t i 0003740 n g u i s h t h e s e t w o 0003760 c a s e s . \r 1 \r \r ( A D I E 0004000 U V A L ) \t [ N o S p r e 0004020 a d F u n c t i o n ] \r 1 \r \r 0004040 L i k e A U - R E V O I R e 0004060 x c e p t r e l e a s e s t 0004100 h e g e n e r a t o r i n s 0004120 t e a d o f s u s p e n d i 0004140 n g i t . \r 1 \r \r ( T R Y N E 0004160 X T P L S T E N D F O R M 0004200 V A L ) \t [ N L a m b d a 0004220 F u n c t i o n ] \r 1 \r \r T h i 0004240 s n l a m b d a f u n c t i 0004260 o n a l l o w s a c o n s 0004300 u m e r t o u s e a p o 0004320 s s i b i l i t i e s l i s t 0004340 . I t r e m o v e s t h 0004360 e f i r s t i t e m f r o 0004400 m t h e p o s s i b i l i t 0004420 i e s l i s t n a m e d b 0004440 y P L S T ( i . e . P L S 0004460 T m u s t b e a n a t o 0004500 m w h o s e v a l u e i s 0004520 a p o s s i b l i t i e s 0004540 l i s t ) , a n d r e t u r 0004560 n s t h a t i t e m , p r 0004600 o v i d e d i t i s n o t 0004620 a g e n e r a t o r h a n 0004640 d l e . I f a g e n e r 0004660 a t o r h a n d l e i s e 0004700 n c o u n t e r e d , t h e 0004720 g e n e r a t o r i s r e a 0004740 w a k e n e d . W h e n i 0004760 t r e t u r n s a p o s s 0005000 i b i l i t i e s l i s t , 0005020 t h i s l i s t i s a d d 0005040 e d t o t h e f r o n t 0005060 o f t h e c u r r e n t l 0005100 i s t . W h e n a c a l 0005120 l t o T R Y N E X T c a u 0005140 s e s a g e n e r a t o r 0005160 t o b e a w a k e n e d , 0005200 V A L i s r e t u r n e d 0005220 a s t h e v a l u e o f 0005240 t h e A U - R E V O I R w h 0005260 i c h p u t t h a t g e n 0005300 e r a t o r t o s l e e p . 0005320 I f P L S T i s e m p 0005340 t y , i t e v a l u a t e s 0005360 E N D F O R M i n t h e 0005400 c a l l e r ' s e n v i r o n 0005420 m e n t . \r T R Y N E X T c o 0005440 m p i l e s o p e n . \r 1 \r \r 0005460 ( C L E A N P O S L S T P L S 0005500 T ) \t [ F u n c t i o n ] \r 0005520 1 \r \r T h i s f u n c t i o n 0005540 i s p r o v i d e d t o 0005560 r e l e a s e a n y s t a c 0005600 k p o i n t e r s w h i c h 0005620 m a y b e l e f t i n 0005640 t h e P L S T w h i c h w 0005660 a s n o t u s e d t o e 0005700 x h a u s t i o n . \r 1 \r \r F o 0005720 r e x a m p l e , F I B i 0005740 s a g e n e r a t o r f o 0005760 r f i b o n n a c i n u m b 0006000 e r s . I t s t a r t s 0006020 o u t b y N O T E i n g i 0006040 t s t w o a r g u m e n t s 0006060 , t h e n s u s p e n d s 0006100 i t s e l f . T h e r e a f 0006120 t e r , o n b e i n g r e 0006140 - a w a k e n e d , i t w i 0006160 l l N O T E t w o m o r e 0006200 t e r m s i n t h e s e 0006220 r i e s a n d s u s p e n d 0006240 s a g a i n . P R I N T F 0006260 I B u s e s F I B t o p 0006300 r i n t t h e f i r s t N 0006320 f i b o n a c c i n u m b e 0006340 r s . \r ( D E F I N E Q ( F I 0006360 B ( F 1 F 2 ) \r ( d o 0006400 ( N O T E F 1 ) \r 0006420 ( N O T E F 2 ) \r 0006440 ( S E T Q F 1 ( I P L U S 0006460 F 1 F 2 ) ) \r ( S 0006500 E T Q F 2 ( I P L U S F 1 0006520 F 2 ) ) \r ( A U - 0006540 R E V O I R ) ] \r N o t e t h 0006560 a t t h i s A U - R E V O I 0006600 R j u s t s u s p e n d s 0006620 t h e g e n e r a t o r a n 0006640 d a d d s n o t h i n g t 0006660 o t h e p o s s i b i l i t 0006700 i e s l i s t e x c e p t 0006720 t h e g e n e r a t o r . \r ( 0006740 D E F I N E Q ( P R I N T F I 0006760 B ( N ) \r ( P R O G 0007000 ( ( F L ( P O S S I B I L I 0007020 T I E S ( F I B 0 1 ) ) ) 0007040 ) \r ( R P 0007060 T Q N ( P R I N T ( T R 0007100 Y N E X T F L ) ) ) \r 0007120 ( C L E A N P O S 0007140 L S T F L ) ] \r N o t e t h 0007160 a t F I B i t s e l f w i 0007200 l l n e v e r t e r m i n a 0007220 t e . \r \0 \0 \0 \0 \0 005 \0 \v \0 ( \0 314 0007240 \0 314 001 370 \0 005 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0007260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007300 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 022 \0 \0 0007320 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 0007360 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 \0 \0 \0 0007400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007420 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 \0 \0 0007440 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007460 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 / \0 0007500 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 001 001 0007520 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007540 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 314 0007560 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 \0 0007600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007620 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 \0 \0 \0 \0 0007640 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . \0 \0 0007700 \0 \0 001 370 \0 \0 \0 \0 \0 \0 003 001 \0 022 001 \0 0007720 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 0007760 001 370 \0 7 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0010000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010020 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 0010040 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 0010100 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0010120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010140 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 M O 0010160 D E R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 0010200 \0 006 M O D E R N \0 016 \0 \0 \0 \0 \0 \0 0010220 002 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0010240 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N 0010260 \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 ? \0 1 ( D 0010300 E F A U L T F O N T 1 ( G A 0010320 C H A 1 0 ) ( G A C H A 8 0010340 ) ( T E R M I N A L 8 ) ) \0 0010360 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 0010400 \n \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0010420 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U L E . 0010440 G E T F N 001 \0 024 \0 006 M O D E R N 0010460 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0010500 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 033 \0 0010520 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 0010540 \0 001 \0 \v H R U L E . G E T F N 001 0010560 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0010600 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0010620 \0 \0 002 \0 006 \0 \0 \0 ~ \0 \0 \0 \0 003 \0 \0 0010640 \0 \r \0 \0 \0 \0 004 \0 \0 \0 - \0 \0 \0 \0 003 0010660 \0 \0 \0 \a \0 \0 \0 \0 004 \0 \0 001 004 \0 \0 \0 0010700 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 017 \0 \0 0010720 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 001 0010740 \0 \0 \0 \0 004 \0 \0 \0 026 \0 \0 \0 \0 003 \0 \0 0010760 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R 0011000 U L E . G E T F N 001 \0 024 \0 006 M O 0011020 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011040 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 0011060 \0 \0 Q \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 0011100 001 \0 \0 \0 D \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 0011120 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 \t 0011140 \0 \0 \0 \0 004 \0 \0 \0 237 \0 \0 \0 \0 003 \0 \0 0011160 \0 \0 \0 002 \0 006 \0 \0 \0 , \0 \0 \0 \0 004 \0 0011200 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 0011220 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 020 \0 \0 \0 0011240 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 0011260 \0 \v H R U L E . G E T F N 001 \0 024 0011300 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0011320 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0011340 002 \0 005 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \n 0011360 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0011400 \0 016 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 0011420 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0011440 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0011460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 0011500 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 T \0 \0 \0 \0 0011520 003 \0 \0 \0 006 \0 \0 \0 \0 001 \0 \0 \0 \r \0 \0 0011540 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 002 0011560 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 0011600 \0 " \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 \0 001 0011620 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 0011640 \0 004 \0 \0 \0 020 \0 \0 \0 \0 003 \0 \0 \0 003 \0 0011660 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 0011700 005 \0 \0 \0 \0 004 \0 \0 \0 214 \0 \0 \0 \0 003 \0 0011720 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 ; \0 \0 \0 \0 0011740 003 \0 \0 \0 006 \0 \0 \0 \0 001 \0 \0 \0 \n \0 \0 0011760 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 A 0012000 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0012020 002 \0 001 \0 \v H R U L E . G E T F N 0012040 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0012060 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0012100 \0 \0 \0 002 \0 005 \0 \0 \0 \v \0 \0 \0 \0 004 \0 0012120 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 0012140 004 \0 \0 \0 027 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0012160 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0012200 G E T F N 001 \0 024 \0 006 M O D E R N 0012220 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0012240 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 005 \0 0012260 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0012300 252 \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 004 \0 0012320 \0 \0 2 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 0012340 \0 \0 \0 \a \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 0012360 \0 004 \0 \0 \0 V \0 \0 \0 \0 003 \0 \0 \0 \t \0 0012400 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 0012420 \v \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 003 \0 0012440 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 0012460 003 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 \f \0 \0 0012500 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 005 0012520 \0 \0 \0 \0 003 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 0012540 \0 E \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 0012560 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0012600 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0012620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 0012640 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \a \0 \0 \0 \0 0012660 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 0012700 \0 \0 004 \0 \0 \0 027 \0 \0 \0 \0 003 \0 \0 \0 \0 0012720 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U L 0012740 E . G E T F N 001 \0 024 \0 006 M O D E 0012760 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0013000 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0013020 005 \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 004 \0 0013040 \0 \0 9 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 0013060 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0013100 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0013120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0013140 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \t \0 \0 \0 0013160 \0 004 \0 \0 \0 020 \0 \0 \0 \0 001 \0 \0 \0 001 \0 0013200 \0 \0 \0 004 \0 \0 \0 026 \0 \0 \0 \0 003 \0 \0 \0 0013220 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U 0013240 L E . G E T F N 001 \0 024 \0 006 M O D 0013260 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0013300 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0013320 \0 205 \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 001 0013340 \0 \0 \0 \a \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 0013360 \0 001 \0 \0 001 $ \0 \0 \0 \0 003 \0 \0 \0 \a \0 0013400 \0 \0 \0 004 \0 \0 \0 $ \0 \0 \0 \0 003 \0 \0 \0 0013420 003 \0 \0 \0 \0 001 \0 \0 \0 ! \0 \0 \0 \0 003 \0 0013440 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 ( \0 \0 \0 \0 0013460 003 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 030 \0 \0 0013500 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 036 0013520 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0013540 \a \0 \0 \0 \0 004 \0 \0 \0 020 \0 \0 \0 \0 003 \0 0013560 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H 0013600 R U L E . G E T F N 001 \0 024 \0 006 M 0013620 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0013640 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 0013660 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 0013700 \0 001 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 016 \0 0013720 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 0013740 \0 001 \0 \v H R U L E . G E T F N 001 0013760 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0014000 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0014020 \0 \0 002 \0 003 \0 \0 \0 Q \0 \0 \0 \0 003 \0 \0 0014040 \0 004 \0 \0 \0 \0 001 \0 \0 \0 # \0 \0 \0 \0 003 0014060 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v 0014100 H R U L E . G E T F N 001 \0 024 \0 006 0014120 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0014140 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0014160 002 \0 \0 \0 \r \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 0014200 \0 \0 004 \0 \0 \0 9 \0 \0 \0 \0 003 \0 \0 \0 004 0014220 \0 \0 \0 \0 004 \0 \0 \0 X \0 \0 \0 \0 003 \0 \0 0014240 \0 004 \0 \0 \0 \0 004 \0 \0 \0 3 \0 \0 \0 \0 003 0014260 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 0014300 \0 003 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 024 \0 0014320 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0014340 024 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 0014360 \0 026 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 0014400 \0 \0 020 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n 0014420 \0 \0 \0 020 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0014440 \n \0 \0 \0 036 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0014460 \0 \n \0 \0 \0 036 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0014500 002 \0 \n \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 \0 0014520 \0 002 \0 006 \0 \0 \0 017 \0 \0 \0 \0 003 \0 \0 \0 0014540 \t \0 \0 \0 \0 004 \0 \0 \0 ^ \0 \0 \0 \0 003 \0 0014560 \0 \0 \0 \0 002 \0 001 \0 \0 \0 027 \0 \0 \0 \0 004 0014600 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 , \0 \0 \0 \0 0014620 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 * \0 \0 \0 0014640 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 035 \0 \0 0014660 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \n \0 0014700 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 0014720 036 \0 \0 \0 \0 003 \0 \0 016 224 \0 321 z 272 \r 2 0014740 \r \r 1 1 . 5 \t C o r o u t i 0014760 n e s \r 1 \r \r T h i s p a c k 0015000 a g e p r o v i d e s f a c 0015020 i l i t i e s f o r t h e 0015040 c r e a t i o n a n d u s e 0015060 o f f u l l y g e n e r a 0015100 l c o r o u t i n e s t r u 0015120 c t u r e s . I t u s e s 0015140 a s t a c k p o i n t e r 0015160 t o p r e s e r v e t h e 0015200 s t a t e o f a c o r o 0015220 u t i n e , a n d a l l o w 0015240 s a r b i t r a r y s w i t 0015260 c h i n g b e t w e e n N 0015300 d i f f e r e n t c o r o u t 0015320 i n e s , r a t h e r t h a 0015340 n j u s t a c a l l t o 0015360 a g e n e r a t o r a n d 0015400 r e t u r n . T h i s p 0015420 a c k a g e i s s l i g h t 0015440 l y m o r e e f f i c i e n 0015460 t t h a n t h e g e n e r 0015500 a t o r p a c k a g e d e s 0015520 c r i b e d a b o v e , a n 0015540 d a l l o w s m o r e f l 0015560 e x i b i l i t y o n s p e 0015600 c i f i c a t i o n o f w h 0015620 a t t o d o w h e n a 0015640 c o r o u t i n e t e r m i n 0015660 a t e s . \r ( C O R O U T I N E 0015700 C A L L P T R C O R O U T P 0015720 T R C O R O U T F O R M E N 0015740 D F O R M ) \t [ N L a m b d 0015760 a F u n c t i o n ] \r 1 \r \r T 0016000 h i s n l a m b d a f u n c 0016020 t i o n i s u s e d t o 0016040 c r e a t e a c o r o u t i 0016060 n e a n d i n i t i a l i z 0016100 e t h e l i n k a g e . 0016120 C A L L P T R a n d C O R O 0016140 U T P T R a r e t h e n a 0016160 m e s o f t w o v a r i a 0016200 b l e s , w h i c h w i l l 0016220 b e s e t t o a p p r o 0016240 p r i a t e s t a c k p o i 0016260 n t e r s . I f t h e v 0016300 a l u e s o f C A L L P T R 0016320 o r C O R O U T P T R a r 0016340 e a l r e a d y s t a c k 0016360 p o i n t e r s , t h e s t 0016400 a c k p o i n t e r s w i l 0016420 l b e r e u s e d . C O 0016440 R O U T F O R M i s t h e 0016460 f o r m w h i c h i s e v 0016500 a l u a t e d t o s t a r t 0016520 t h e c o r o u t i n e ; 0016540 E N D F O R M i s a f o r 0016560 m t o b e e v a l u a t e 0016600 d i f C O R O U T F O R M 0016620 a c t u a l l y r e t u r n s 0016640 w h e n i t r u n s o u 0016660 t o f v a l u e s . \r C O R 0016700 O U T I N E c o m p i l e s 0016720 o p e n . \r 1 \r \r ( R E S U M E 0016740 F R O M P T R T O P T R V 0016760 A L ) \t [ F u n c t i o n ] 0017000 \r 1 \r \r U s e d t o t r a 0017020 n s f e r c o n t r o l f r 0017040 o m o n e c o r o u t i n e 0017060 t o a n o t h e r . F R 0017100 O M P T R s h o u l d b e 0017120 t h e s t a c k p o i n t e 0017140 r f o r t h e c u r r e n 0017160 t c o r o u t i n e , w h i 0017200 c h w i l l b e s m a s h 0017220 e d t o p r e s e r v e t 0017240 h e c u r r e n t s t a t e 0017260 . T O P T R s h o u l d 0017300 b e t h e s t a c k p o i 0017320 n t e r w h i c h h a s p 0017340 r e s e r v e d t h e s t a 0017360 t e o f t h e c o r o u t 0017400 i n e t o b e t r a n s f 0017420 e r r e d t o , a n d V A 0017440 L i s t h e v a l u e t 0017460 h a t i s t o b e r e t 0017500 u r n e d t o t h e l a t 0017520 t e r c o r o u t i n e a s 0017540 t h e v a l u e o f t h 0017560 e R E S U M E w h i c h s 0017600 u s p e n d e d t h e o p e 0017620 r a t i o n o f t h a t c 0017640 o r o u t i n e . \r 1 \r \r F o r 0017660 e x a m p l e , t h e f o 0017700 l l o w i n g i s t h e w 0017720 a y o n e m i g h t w r i 0017740 t e t h e L E A V E S p r 0017760 o g r a m u s i n g t h e 0020000 c o r o u t i n e p a c k a g 0020020 e : \r ( D E F I N E Q ( L E A 0020040 V E S C ( L C O R O U T P T 0020060 R C A L L P T R ) \r ( i 0020100 f ( A T O M L ) \r t 0020120 h e n ( R E S U M E C O R O 0020140 U T P T R C A L L P T R L ) 0020160 \r e l s e ( L E A V E 0020200 S C ( C A R L ) C O R O U 0020220 T P T R C A L L P T R ) \r 0020240 ( i f ( C D R 0020260 L ) t h e n ( L E A V E S C 0020300 ( C D R L ) C O R O U T P 0020320 T R C A L L P T R ) ) ) ) ] \r 0020340 A f u n c t i o n P L E A V 0020360 E S C w h i c h u s e s L 0020400 E A V E S C c a n b e d e 0020420 f i n e d a s f o l l o w s 0020440 : \r ( D E F I N E Q ( P L E A 0020460 V E S C ( L ) \r ( b i n d 0020500 P L H A N D L E L H A N D L 0020520 E \r f i r s t ( C O R O 0020540 U T I N E P L H A N D L E L 0020560 H A N D L E \r 0020600 ( L E A V 0020620 E S C L L H A N D L E P L 0020640 H A N D L E ) \r 0020660 ( R E T 0020700 F R O M ' P L E A V E S C ) ) 0020720 \r d o ( P R I N T ( R 0020740 E S U M E P L H A N D L E L 0020760 H A N D L E ) ) ) ) ] \r B y R 0021000 E S U M E i n g L E A V E S C 0021020 r e p e a t e d l y , t h i 0021040 s f u n c t i o n w i l l 0021060 p r i n t a l l t h e l e 0021100 a v e s o f l i s t L a 0021120 n d t h e n r e t u r n o 0021140 u t o f P L E A V E S C v 0021160 i a t h e R E T F R O M . 0021200 T h e R E T F R O M i s 0021220 n e c e s s a r y t o b r e 0021240 a k o u t o f t h e n o 0021260 n - t e r m i n a t i n g d o 0021300 - l o o p . T h i s w a s 0021320 d o n e t o i l l u s t r 0021340 a t e t h e a d d i t i o n 0021360 a l f l e x i b i l i t y a 0021400 l l o w e d t h r o u g h t 0021420 h e u s e o f E N D F O R 0021440 M . \r W e u s e t w o c o 0021460 r o u t i n e s w o r k i n g 0021500 o n t w o t r e e s i n 0021520 t h e e x a m p l e E Q L 0021540 E A V E S , d e f i n e d b 0021560 e l o w . E Q L E A V E S 0021600 t e s t s t o s e e w h e 0021620 t h e r t w o t r e e s h 0021640 a v e t h e s a m e l e a 0021660 f s e t i n t h e s a m 0021700 e o r d e r , e . g . , ( 0021720 E Q L E A V E S ' ( A B C 0021740 ) ' ( A B ( C ) ) ) i s 0021760 t r u e . \r ( D E F I N E Q 0022000 ( E Q L E A V E S ( L 1 L 2 0022020 ) \r ( b i n d L H A N 0022040 D L E 1 L H A N D L E 2 P E 0022060 E L 1 E L 2 \r f i 0022100 r s t ( C O R O U T I N E P 0022120 E L H A N D L E 1 ( L E A V 0022140 E S C L 1 L H A N D L E 1 0022160 P E ) ' N O - M O R E ) \r 0022200 ( C O R O U T 0022220 I N E P E L H A N D L E 2 0022240 ( L E A V E S C L 2 L H A N 0022260 D L E 2 P E ) ' N O - M O R 0022300 E ) \r d o ( S E T Q 0022320 E L 1 ( R E S U M E P E 0022340 L H A N D L E 1 ) ) \r 0022360 ( S E T Q E L 2 ( R E 0022400 S U M E P E L H A N D L E 2 0022420 ) ) \r ( i f ( 0022440 N E Q E L 1 E L 2 ) \r 0022460 t h e n ( R E T U 0022500 R N N I L ) ) \r r e 0022520 p e a t u n t i l ( E Q E L 0022540 1 ' N O - M O R E ) \r 0022560 f i n a l l y ( R E T U R N 0022600 T ) ) ) ] \r \0 \0 \0 \0 \0 005 \0 \v \0 0022620 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 001 \0 0022640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0022660 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 0022700 022 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 0022720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0022740 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 0022760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023000 \0 \0 \0 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 0023020 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 0023060 \0 / \0 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 0023100 \0 001 001 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023120 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 0023140 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 0023160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023200 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 \0 0023220 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023260 . \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 003 001 \0 0023300 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0023340 \0 \0 \0 001 370 \0 7 \0 \0 \0 \0 002 001 \0 \0 \0 0023360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023400 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 0023420 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0023460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0023500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 0023540 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 001 0023560 \0 \0 024 \0 006 M O D E R N \0 016 \0 \0 \0 0023600 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0 0023620 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D 0023640 E R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 ? \0 0023660 1 ( D E F A U L T F O N T 1 0023700 ( G A C H A 1 0 ) ( G A C H 0023720 A 8 ) ( T E R M I N A L 8 0023740 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0023760 \0 002 \0 \n \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0024000 \0 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U 0024020 L E . G E T F N 001 \0 024 \0 006 M O D 0024040 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0024060 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \b \0 \0 0024100 \0 022 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \a \0 0024120 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0024140 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0024160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 0024200 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 307 \0 \0 \0 \0 0024220 003 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 367 \0 \0 0024240 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \v \0 0024260 \0 \0 \0 004 \0 \0 \0 $ \0 \0 \0 \0 001 \0 \0 \0 0024300 001 \0 \0 \0 \0 004 \0 \0 \0 026 \0 \0 \0 \0 003 \0 0024320 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H 0024340 R U L E . G E T F N 001 \0 024 \0 006 M 0024360 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0024400 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 0024420 \0 \0 \0 Q \0 \0 \0 \0 003 \0 \0 \0 \a \0 \0 \0 0024440 \0 001 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 \t \0 0024460 \0 \0 \0 001 \0 \0 \0 d \0 \0 \0 \0 003 \0 \0 \0 0024500 \a \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 003 \0 0024520 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 A \0 \0 \0 \0 0024540 003 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 8 \0 \0 0024560 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 036 0024600 \0 \0 \0 \0 003 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 0024620 \0 . \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 0024640 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 020 \0 \0 \0 \0 0024660 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 0024700 \v H R U L E . G E T F N 001 \0 024 \0 0024720 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0024740 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0024760 \0 005 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 021 \0 0025000 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0025020 016 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0025040 \0 002 \0 001 \0 \v H R U L E . G E T F 0025060 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0025100 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 0025120 \0 \0 \0 \0 002 \0 003 \0 \0 \0 : \0 \0 \0 \0 003 0025140 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 n \0 \0 \0 0025160 \0 003 \0 \0 \0 005 \0 \0 \0 \0 001 \0 \0 \0 f \0 0025200 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0025220 Q \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 \0 004 \0 0025240 \0 \0 2 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 0025260 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0025300 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0025320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0025340 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 : \0 \0 \0 0025360 \0 003 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 & \0 0025400 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 ( 0025420 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 0025440 020 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 0025460 \0 & \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 0025500 \0 \0 - \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n 0025520 \0 \0 \0 B \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0025540 006 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 0025560 \0 \0 004 \0 \0 \0 \f \0 \0 \0 \0 003 \0 \0 \0 \a 0025600 \0 \0 \0 \0 004 \0 \0 \0 034 \0 \0 \0 \0 003 \0 \0 0025620 \0 \0 \0 002 \0 001 \0 \0 \0 027 \0 \0 \0 \0 004 \0 0025640 \0 \0 \0 \0 002 \0 \n \0 \0 \0 031 \0 \0 \0 \0 004 0025660 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 % \0 \0 \0 \0 0025700 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 1 \0 \0 \0 0025720 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 ) \0 \0 0025740 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 + \0 0025760 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 003 0026000 \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0026020 \0 004 \0 \0 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 004 0026040 \0 \0 \0 = \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0026060 \0 004 \0 \0 \0 030 \0 \0 \0 \0 003 \0 \0 \0 \b \0 0026100 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 0026120 \a \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 003 \0 0026140 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 216 \0 \0 \0 \0 0026160 003 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 0026200 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 : \0 0026220 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 0026240 022 \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 004 \0 0026260 \0 \0 P \0 \0 \0 \0 003 \0 \0 \0 036 \0 \0 \0 \0 0026300 004 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0026320 \0 001 \0 \0 \0 033 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0026340 002 \0 \n \0 \0 \0 ' \0 \0 \0 \0 004 \0 \0 \0 \0 0026360 \0 002 \0 \n \0 \0 \0 E \0 \0 \0 \0 004 \0 \0 \0 0026400 \0 \0 002 \0 \n \0 \0 \0 E \0 \0 \0 \0 004 \0 \0 0026420 \0 \0 \0 002 \0 \n \0 \0 \0 ( \0 \0 \0 \0 004 \0 0026440 \0 \0 \0 \0 002 \0 \n \0 \0 \0 ( \0 \0 \0 \0 004 0026460 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 032 \0 \0 \0 \0 0026500 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 034 \0 \0 \0 0026520 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 # \0 \0 0026540 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 033 \0 0026560 \0 \0 \0 004 \0 \0 % 207 \0 215 z 272 \r 2 \r \r 0026600 1 1 . 4 \t G e n e r a t o r 0026620 s \r 1 \r \r A g e n e r a t o r 0026640 i s l i k e a s u b r o 0026660 u t i n e e x c e p t t h a 0026700 t i t r e t a i n s i n f 0026720 o r m a t i o n a b o u t p 0026740 r e v i o u s t i m e s i t 0026760 h a s b e e n c a l l e d 0027000 . S o m e o f t h i s 0027020 s t a t e m a y b e d a t 0027040 a ( f o r e x a m p l e , 0027060 t h e s e e d i n a r a 0027100 n d o m n u m b e r g e n e 0027120 r a t o r ) , a n d s o m e 0027140 m a y b e i n p r o g r 0027160 a m s t a t e ( a s i n 0027200 a r e c u r s i v e g e n e 0027220 r a t o r w h i c h f i n d 0027240 s a l l t h e a t o m s 0027260 i n a l i s t s t r u c t 0027300 u r e ) . F o r e x a m p 0027320 l e , i f L I S T G E N i 0027340 s d e f i n e d b y : \r ( D 0027360 E F I N E Q ( L I S T G E N 0027400 ( L ) \r ( i f L 0027420 t h e n ( P R O D U C E ( C 0027440 A R L ) ) \r 0027460 ( L I S T G E N 0027500 ( C D R L ) ) ) ) \r w e c 0027520 a n u s e t h e f u n c t 0027540 i o n G E N E R A T O R ( d 0027560 e s c r i b e d b e l o w ) 0027600 t o c r e a t e a g e n e 0027620 r a t o r t h a t u s e s 0027640 L I S T G E N t o p r o d u 0027660 c e t h e e l e m e n t s 0027700 o f a l i s t o n e a t 0027720 a t i m e , e . g . , \r ( 0027740 S E T Q G R ( G E N E R A T 0027760 O R ( L I S T G E N ' ( A 0030000 B C ) ) ) ) \r c r e a t e s 0030020 a g e n e r a t o r , w h i 0030040 c h c a n b e c a l l e d 0030060 b y \r ( G E N E R A T E G R 0030100 ) \r t o p r o d u c e a s 0030120 v a l u e s o n s u c c e s 0030140 s i v e c a l l s , A , B 0030160 , C . W h e n G E N E R 0030200 A T E ( n o t G E N E R A T 0030220 O R ) i s c a l l e d t h 0030240 e f i r s t t i m e , i t 0030260 s i m p l y s t a r t s e 0030300 v a l u a t i n g ( L I S T G 0030320 E N ' ( A B C ) ) . P 0030340 R O D U C E g e t s c a l l 0030360 e d f r o m L I S T G E N , 0030400 a n d p o p s b a c k u 0030420 p t o G E N E R A T E w i 0030440 t h t h e i n d i c a t e d 0030460 v a l u e a f t e r s a v 0030500 i n g t h e s t a t e . 0030520 W h e n G E N E R A T E g e 0030540 t s c a l l e d a g a i n , 0030560 i t c o n t i n u e s f r 0030600 o m w h e r e t h e l a s 0030620 t P R O D U C E l e f t o 0030640 f f . T h i s p r o c e s 0030660 s c o n t i n u e s u n t i 0030700 l f i n a l l y L I S T G E 0030720 N c o m p l e t e s a n d 0030740 r e t u r n s a v a l u e 0030760 ( i t d o e s n ' t m a t t 0031000 e r w h a t i t i s ) . 0031020 G E N E R A T E t h e n r 0031040 e t u r n s G R i t s e l f 0031060 a s i t s v a l u e , s 0031100 o t h a t t h e p r o g r 0031120 a m t h a t c a l l e d G 0031140 E N E R A T E c a n t e l l 0031160 t h a t i t i s f i n i 0031200 s h e d , i . e . , t h e r 0031220 e a r e n o m o r e v a 0031240 l u e s t o b e g e n e r 0031260 a t e d . \r ( G E N E R A T O R 0031300 F O R M C O M V A R ) \t 0031320 [ N L a m b d a F u n c t i o 0031340 n ] \r 1 \r \r A n n l a m b d a 0031360 f u n c t i o n t h a t c 0031400 r e a t e s a g e n e r a t 0031420 o r w h i c h u s e s F O 0031440 R M t o c o m p u t e v a 0031460 l u e s . G E N E R A T O R 0031500 r e t u r n s a g e n e r 0031520 a t o r h a n d l e w h i c 0031540 h i s r e p r e s e n t e d 0031560 b y a d o t t e d p a i 0031600 r o f s t a c k p o i n t 0031620 e r s . \r C O M V A R i s o 0031640 p t i o n a l . I f i t s 0031660 v a l u e ( E V A L o f ) 0031700 i s a g e n e r a t o r 0031720 h a n d l e , t h e l i s t 0031740 s t r u c t u r e a n d s 0031760 t a c k p o i n t e r s w i 0032000 l l b e r e u s e d . O 0032020 t h e r w i s e , a n e w 0032040 g e n e r a t o r h a n d l e 0032060 w i l l b e c o n s t r u 0032100 c t e d . \r G E N E R A T O R 0032120 c o m p i l e s o p e n . \r 1 0032140 \r \r ( P R O D U C E V A L ) 0032160 \t [ F u n c t i o n ] \r 1 \r \r 0032200 U s e d f r o m w i t h i n 0032220 a g e n e r a t o r t o 0032240 r e t u r n V A L a s t h 0032260 e v a l u e o f t h e c 0032300 o r r e s p o n d i n g c a l 0032320 l t o G E N E R A T E . \r 1 0032340 \r \r ( G E N E R A T E H A N D 0032360 L E V A L ) \t [ F u n c t 0032400 i o n ] \r 1 \r \r R e s t a r t s 0032420 t h e g e n e r a t o r r 0032440 e p r e s e n t e d b y H A 0032460 N D L E . V A L i s r e 0032500 t u r n e d a s t h e v a 0032520 l u e o f t h e P R O D U 0032540 C E w h i c h l a s t s u 0032560 s p e n d e d t h e o p e r 0032600 a t i o n o f t h e g e n 0032620 e r a t o r . W h e n t h 0032640 e g e n e r a t o r r u n s 0032660 o u t o f v a l u e s , 0032700 G E N E R A T E r e t u r n s 0032720 H A N D L E i t s e l f . \r 0032740 1 \r \r E x a m p l e s : \r T h e 0032760 f o l l o w i n g f u n c t 0033000 i o n w i l l g o d o w n 0033020 r e c u r s i v e l y t h r 0033040 o u g h a l i s t s t r u 0033060 c t u r e a n d p r o d u c 0033100 e t h e a t o m s i n t 0033120 h e l i s t s t r u c t u r 0033140 e o n e a t a t i m e . 0033160 \r ( D E F I N E Q ( L E A V E 0033200 S G ( L ) \r ( i f ( 0033220 A T O M L ) \r t h e 0033240 n ( P R O D U C E L ) \r 0033260 e l s e ( L E A V E S G 0033300 ( C A R L ) ) \r 0033320 ( i f ( C D R L ) \r 0033340 t h e n 0033360 ( L E A V E S G ( C D R L 0033400 ) ] \r T h e f o l l o w i n g 0033420 f u n c t i o n p r i n t s 0033440 e a c h o f t h e s e a 0033460 t o m s a s i t a p p e a 0033500 r s . I t i l l u s t r a 0033520 t e s h o w a l o o p c 0033540 a n b e s e t u p t o 0033560 u s e a g e n e r a t o r . 0033600 \r ( D E F I N E Q ( P L E A V 0033620 E S G 1 ( L ) \r ( P R O 0033640 G ( X L H A N D L E ) \r 0033660 ( S E T Q L H A 0033700 N D L E ( G E N E R A T O R 0033720 ( L E A V E S G L ) ) ) \r 0033740 L P ( S E T Q X ( 0033760 G E N E R A T E L H A N D L E 0034000 ) ) \r ( i f 0034020 ( E Q X L H A N D L E ) \r 0034040 t h e n 0034060 ( R E T U R N N I L ) ) \r 0034100 ( P R I N T X 0034120 ) \r ( G O L 0034140 P ) ) ] \r N o t e t h a t t 0034160 h e l o o p t e r m i n a t 0034200 e s w h e n t h e v a l u 0034220 e o f t h e g e n e r a t 0034240 o r i s E Q t o t h e 0034260 d o t t e d p a i r w h i c 0034300 h i s t h e v a l u e p 0034320 r o d u c e d b y t h e c 0034340 a l l t o G E N E R A T O R 0034360 . A C L I S P i t e r a 0034400 t i v e o p e r a t o r , O 0034420 U T O F , i s p r o v i d e 0034440 d w h i c h m a k e s i t 0034460 m u c h e a s i e r t o 0034500 w r i t e t h e l o o p i 0034520 n P L E A V E S G 1 . O U 0034540 T O F ( o r o u t o f ) c 0034560 a n p r e c e d e a f o r 0034600 m w h i c h i s t o b e 0034620 u s e d a s a g e n e r 0034640 a t o r . O n e a c h i 0034660 t e r a t i o n , t h e i t 0034700 e r a t i o n v a r i a b l e 0034720 w i l l b e s e t t o 0034740 s u c c e s s i v e v a l u e 0034760 s r e t u r n e d b y t h 0035000 e g e n e r a t o r ; t h e 0035020 l o o p w i l l b e t e 0035040 r m i n a t e d a u t o m a t 0035060 i c a l l y w h e n t h e 0035100 g e n e r a t o r r u n s o 0035120 u t . T h e r e f o r e , 0035140 t h e f o l l o w i n g i s 0035160 e q u i v a l e n t t o t 0035200 h e a b o v e p r o g r a m 0035220 P L E A V E S G 1 : \r ( D E F 0035240 I N E Q ( P L E A V E S G 2 0035260 ( L ) \r ( f o r X o u 0035300 t o f ( L E A V E S G L ) 0035320 d o ( P R I N T x ) ) ] \r H 0035340 e r e i s a n o t h e r e 0035360 x a m p l e ; t h e f o l l 0035400 o w i n g f o r m w i l l 0035420 p r i n t t h e f i r s t 0035440 N a t o m s . \r ( f o r X 0035460 o u t o f ( M A P A T O M S 0035500 ( F U N C T I O N P R O D U C 0035520 E ) ) \r a s I f r o m 0035540 1 t o N d o ( P R I N 0035560 T X ) ) \r \0 \0 \0 \0 \0 005 \0 \v \0 ( 0035600 \0 314 \0 314 001 370 \0 022 \0 \0 \0 \0 002 004 \0 \0 0035620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035640 \0 \0 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 0035660 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035700 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 0035720 / \0 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 0035740 001 001 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0035760 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( 0036000 \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0036020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036040 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 0036060 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0036120 \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 0036140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036160 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 \0 \0 0036200 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . 0036240 \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 003 001 \0 022 0036260 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 0036320 \0 \0 001 370 \0 7 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0036340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036360 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 0036400 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 0036440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0036460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036500 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 0036520 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 0036540 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0036560 \0 \0 001 \0 \0 024 \0 006 M O D E R N \0 016 0036600 \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E 0036620 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 0036640 ( D E F A U L T F O N T 1 ( 0036660 G A C H A 1 0 ) ( G A C H A 0036700 8 ) ( T E R M I N A L 8 ) 0036720 ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0036740 002 \0 \n \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0036760 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U L 0037000 E . G E T F N 001 \0 024 \0 006 M O D E 0037020 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0037040 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0037060 022 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0037100 \0 002 \0 001 \0 \v H R U L E . G E T F 0037120 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0037140 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0037160 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 \0 \0 \0 004 0037200 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 001 7 \0 \0 \0 0037220 \0 004 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 020 \0 0037240 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 026 0037260 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0037300 # \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0037320 \0 % \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 006 \0 0037340 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 0037360 001 \0 \0 \0 3 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 0037400 \0 \0 001 \0 \0 \0 8 \0 \0 \0 \0 004 \0 \0 \0 \0 0037420 \0 002 \0 005 \0 \0 \0 ) \0 \0 \0 \0 001 \0 \0 \0 0037440 \0 \0 002 \0 006 \0 \0 \0 , \0 \0 \0 \0 004 \0 \0 0037460 \0 \0 \0 002 \0 005 \0 \0 \0 016 \0 \0 \0 \0 001 \0 0037500 \0 \0 \0 \0 002 \0 006 \0 \0 \0 * \0 \0 \0 \0 004 0037520 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 0037540 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 002 \0 0037560 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 0037600 \b \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 001 \0 0037620 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 0037640 001 \0 \0 \0 8 \0 \0 \0 \0 004 \0 \0 \0 022 \0 \0 0037660 \0 \0 001 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \a 0037700 \0 \0 \0 \0 001 \0 \0 \0 022 \0 \0 \0 \0 004 \0 \0 0037720 \0 \a \0 \0 \0 \0 001 \0 \0 \0 026 \0 \0 \0 \0 004 0037740 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 8 \0 \0 \0 0037760 \0 004 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 5 \0 0040000 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 0040020 1 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 001 \0 0040040 \0 \0 @ \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 0040060 001 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 0040100 \0 \0 001 \0 \0 \0 6 \0 \0 \0 \0 004 \0 \0 \0 \b 0040120 \0 \0 \0 \0 001 \0 \0 \0 O \0 \0 \0 \0 004 \0 \0 0040140 \0 \0 \0 002 \0 003 \0 \0 \0 \v \0 \0 \0 \0 001 \0 0040160 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 0040200 001 \0 \0 \0 026 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0040220 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0040240 G E T F N 001 \0 024 \0 006 M O D E R N 0040260 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0040300 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 8 \0 0040320 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 0040340 025 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 001 \0 0040360 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 020 \0 \0 \0 \0 0040400 002 \0 \0 \0 : \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0040420 \0 006 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 035 \0 0040440 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 0040460 212 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0040500 \0 \t \0 \0 \0 \0 001 \0 \0 \0 020 \0 \0 \0 \0 004 0040520 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 002 \0 001 \0 \v 0040540 H R U L E . G E T F N 001 \0 024 \0 006 0040560 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0040600 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0040620 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 0040640 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 016 0040660 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0040700 002 \0 001 \0 \v H R U L E . G E T F N 0040720 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0040740 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0040760 \0 \0 \0 002 \0 \n \0 \0 \0 ' \0 \0 \0 \0 004 \0 0041000 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 + \0 \0 \0 \0 0041020 004 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 0041040 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 002 \0 0041060 001 \0 \v H R U L E . G E T F N 001 \0 0041100 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0041120 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0041140 \0 002 \0 003 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 0041160 \n \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 0041200 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 0041220 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0041240 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0041260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0041300 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 & \0 \0 \0 0041320 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 003 \0 0041340 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 0041360 ! \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 001 \0 0041400 \0 \0 ^ \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 0041420 001 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 0041440 \0 \0 002 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 \0 0041460 \0 002 \0 \n \0 \0 \0 002 \0 001 \0 \v H R U L 0041500 E . G E T F N 001 \0 024 \0 006 M O D E 0041520 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0041540 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0041560 \n \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0041600 \0 204 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 0041620 \0 \0 026 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 0041640 \0 \0 \0 021 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 0041660 004 \0 \0 \0 026 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 0041700 \0 004 \0 \0 \0 034 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 0041720 002 \0 004 \0 \0 \0 026 \0 \0 \0 \0 001 \0 \0 \0 \0 0041740 \0 002 \0 004 \0 \0 \0 # \0 \0 \0 \0 001 \0 \0 \0 0041760 \0 \0 002 \0 006 \0 \0 \0 ~ \0 \0 \0 \0 004 \0 \0 0042000 \0 \0 \0 002 \0 005 \0 \0 \0 030 \0 \0 \0 \0 001 \0 0042020 \0 \0 \0 \0 002 \0 004 \0 \0 \0 025 \0 \0 \0 \0 001 0042040 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0 \0 \0 \0 \0 0042060 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 % \0 \0 \0 0042100 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 034 \0 \0 0042120 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \0 0042140 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 023 0042160 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0042200 023 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0042220 \0 A \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 001 0042240 \0 \0 \0 ? \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 0042260 \0 001 \0 \0 \0 037 \0 \0 \0 \0 004 \0 \0 \0 005 \0 0042300 \0 \0 \0 001 \0 \0 \0 > \0 \0 \0 \0 004 \0 \0 \0 0042320 \t \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 \0 \0 004 \0 0042340 \0 \0 005 \0 \0 \0 \0 001 \0 \0 \0 005 \0 \0 \0 \0 0042360 004 \0 \0 \0 005 \0 \0 \0 \0 001 \0 \0 001 $ \0 \0 0042400 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 002 0042420 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0042440 030 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0042460 \0 + \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 006 \0 0042500 \0 \0 A \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0042520 001 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0042540 \0 005 \0 \0 \0 + \0 \0 \0 \0 001 \0 \0 \0 \0 \0 0042560 002 \0 004 \0 \0 \0 " \0 \0 \0 \0 001 \0 \0 ; v 0042600 \0 303 z 272 \r 2 \r \r 1 1 . 3 \t T 0042620 h e S t a c k a n d t h e 0042640 I n t e r p r e t e r \r 1 \r \r 0042660 I n a d d i t i o n t o t 0042700 h e n a m e s a n d v a l 0042720 u e s o f a r g u m e n t s 0042740 f o r f u n c t i o n s , 0042760 i n f o r m a t i o n r e g a 0043000 r d i n g p a r t i a l l y - 0043020 e v a l u a t e d e x p r e s 0043040 s i o n s i s k e p t o n 0043060 t h e p u s h - d o w n l 0043100 i s t . F o r e x a m p l 0043120 e , c o n s i d e r t h e 0043140 f o l l o w i n g d e f i n i 0043160 t i o n o f t h e f u n c 0043200 t i o n F A C T ( i n t e n 0043220 t i o n a l l y f a u l t y ) 0043240 : \r ( F A C T \r [ L A M B 0043260 D A ( N ) \r ( C O 0043300 N D \r ( ( Z E 0043320 R O P N ) \r 0043340 L ) \r ( T 0043360 ( I T I M E S N ( F A C T 0043400 ( S U B 1 N ] ) \r I n e v 0043420 a l u a t i n g t h e f o r 0043440 m ( F A C T 1 ) , a s s 0043460 o o n a s F A C T i s e 0043500 n t e r e d , t h e i n t e 0043520 r p r e t e r b e g i n s e 0043540 v a l u a t i n g t h e i m 0043560 p l i c i t P R O G N f o l 0043600 l o w i n g t h e L A M B D 0043620 A . T h e f i r s t f u 0043640 n c t i o n e n t e r e d i 0043660 n t h i s p r o c e s s i 0043700 s C O N D . C O N D b e 0043720 g i n s t o p r o c e s s 0043740 i t s l i s t o f c l a u 0043760 s e s . A f t e r c a l l 0044000 i n g Z E R O P a n d g e 0044020 t t i n g a N I L v a l u 0044040 e , C O N D p r o c e e d s 0044060 t o t h e n e x t c l a 0044100 u s e a n d e v a l u a t e 0044120 s T . S i n c e T i s 0044140 t r u e , t h e e v a l u 0044160 a t i o n o f t h e i m p 0044200 l i c i t P R O G N t h a t 0044220 i s t h e c o n s e q u e 0044240 n t o f t h e T c l a u 0044260 s e i s b e g u n . T h 0044300 i s r e q u i r e s c a l l 0044320 i n g t h e f u n c t i o n 0044340 I T I M E S . H o w e v e 0044360 r b e f o r e I T I M E S 0044400 c a n b e c a l l e d , i 0044420 t s a r g u m e n t s m u s 0044440 t b e e v a l u a t e d . 0044460 T h e f i r s t a r g u m 0044500 e n t i s e v a l u a t e d 0044520 b y r e t r i e v i n g t 0044540 h e c u r r e n t b i n d i 0044560 n g o f N f r o m i t s 0044600 v a l u e c e l l ; t h e 0044620 s e c o n d i n v o l v e s 0044640 a r e c u r s i v e c a l 0044660 l t o F A C T , a n d a 0044700 n o t h e r i m p l i c i t 0044720 P R O G N , e t c . \r N o t e 0044740 t h a t a t e a c h s t 0044760 a g e o f t h i s p r o c 0045000 e s s , s o m e p o r t i o 0045020 n o f a n e x p r e s s i 0045040 o n h a s b e e n e v a l 0045060 u a t e d , a n d a n o t h 0045100 e r i s a w a i t i n g e 0045120 v a l u a t i o n . T h e 0045140 o u t p u t b e l o w ( f r 0045160 o m I n t e r l i s p - 1 0 ) 0045200 i l l u s t r a t e s t h i 0045220 s b y s h o w i n g t h e 0045240 s t a t e o f t h e p u 0045260 s h - d o w n l i s t a t 0045300 t h e p o i n t i n t h e 0045320 c o m p u t a t i o n o f 0045340 ( F A C T 1 ) w h e n t h 0045360 e u n b o u n d a t o m L 0045400 i s r e a c h e d . \r _ F A 0045420 C T ( 1 ) \r u . b . a . L { 0045440 i n F A C T } i n ( ( Z E 0045460 R O P N ) L ) \r ( L b r o 0045500 k e n ) \r : B T V ! \r \r * 0045520 T A I L * ( L ) \r \r * A 0045540 R G 1 ( ( ( Z E R O P N ) 0045560 L ) ( T ( I T I M E S N 0045600 ( F A C T ( S U B 1 N ) ) ) 0045620 ) ) \r C O N D \r \r * F O R 0045640 M * ( C O N D ( ( Z E R O P 0045660 N ) L ) ( T ( I T I M E 0045700 S N ( F A C T ( S U B 1 0045720 N ) ) ) ) ) \r * T A I L * 0045740 ( ( C O N D ( ( Z E R O P 0045760 N ) L ) ( T ( I T I M E S 0046000 N ( F A C T ( S U B 1 N 0046020 ) ) ) ) ) ) \r \r N 0 \r F 0046040 A C T \r \r * F O R M * ( 0046060 F A C T ( S U B 1 N ) ) \r 0046100 * F N * I T I M E S \r 0046120 * T A I L * ( ( F A C T ( 0046140 S U B 1 N ) ) ) \r * A R 0046160 G V A L * 1 \r * F O R M 0046200 * ( I T I M E S N ( F A C 0046220 T ( S U B 1 N ) ) ) \r 0046240 * T A I L * ( ( I T I M E S 0046260 N ( F A C T ( S U B 1 N ) 0046300 ) ) ) \r \r * A R G 1 ( ( 0046320 ( Z E R O P N ) L ) ( T 0046340 ( I T I M E S N ( F A C T 0046360 ( S U B 1 N ) ) ) ) ) \r C O N 0046400 D \r \r * F O R M * ( C O 0046420 N D ( ( Z E R O P N ) L ) 0046440 ( T ( I T I M E S N ( F 0046460 A C T ( S U B 1 N ) ) ) ) ) 0046500 \r * T A I L * ( ( C O N 0046520 D ( ( Z E R O P N ) L ) 0046540 ( T ( I T I M E S N ( F A 0046560 C T ( S U B 1 N ) ) ) ) ) ) 0046600 \r \r N 1 \r F A C T \r \r * 0046620 * T O P * * \r I n t e r n a l 0046640 c a l l s t o E V A L , e 0046660 . g . , f r o m C O N D a 0046700 n d t h e i n t e r p r e t 0046720 e r , a r e m a r k e d o 0046740 n t h e p u s h - d o w n 0046760 l i s t b y a s p e c i a 0047000 l m a r k o r b l i p w 0047020 h i c h t h e b a c k t r a 0047040 c e p r i n t s a s * F O 0047060 R M * . T h e g e n e a l 0047100 o g y o f * F O R M * ' s 0047120 i s t h u s a h i s t o r 0047140 y o f t h e c o m p u t a 0047160 t i o n . O t h e r t e m 0047200 p o r a r y i n f o r m a t i 0047220 o n s t o r e d o n t h e 0047240 s t a c k b y t h e i n 0047260 t e r p r e t e r i n c l u d 0047300 e s t h e t a i l o f a 0047320 p a r t i a l l y e v a l u 0047340 a t e d i m p l i c i t P R 0047360 O G N ( e . g . , a c o n 0047400 d c l a u s e o r l a m b 0047420 d a e x p r e s s i o n ) a 0047440 n d t h e t a i l o f a 0047460 p a r t i a l l y e v a l u 0047500 a t e d f o r m ( i . e . , 0047520 t h o s e a r g u m e n t s 0047540 n o t y e t e v a l u a t 0047560 e d ) , b o t h i n d i c a 0047600 t e d o n t h e b a c k t 0047620 r a c e b y * T A I L * , 0047640 t h e v a l u e s o f a r 0047660 g u m e n t s t h a t h a v 0047700 e a l r e a d y b e e n e 0047720 v a l u a t e d , i n d i c a 0047740 t e d b y * A R G V A L * , 0047760 a n d t h e n a m e s o 0050000 f f u n c t i o n s w a i t 0050020 i n g t o b e c a l l e d 0050040 , i n d i c a t e d b y * 0050060 F N * . * A R G 1 , . . . 0050100 , * A R G n a r e u s e d 0050120 b y t h e b a c k t r a c 0050140 e t o i n d i c a t e t h 0050160 e ( u n n a m e d ) a r g u 0050200 m e n t s t o S U B R s . \r 0050220 N o t e t h a t a f u n c 0050240 t i o n i s n o t a c t u 0050260 a l l y e n t e r e d a n d 0050300 d o e s n o t a p p e a r 0050320 o n t h e s t a c k , u 0050340 n t i l i t s a r g u m e n 0050360 t s h a v e b e e n e v a 0050400 l u a t e d ( e x c e p t f 0050420 o r n l a m b d a f u n c t 0050440 i o n s , o f c o u r s e ) 0050460 . A l s o n o t e t h a 0050500 t t h e * A R G 1 , * F O 0050520 R M * , * T A I L * , e t c 0050540 . " b i n d i n g s " c o m 0050560 p r i s e t h e a c t u a l 0050600 w o r k i n g s t o r a g e 0050620 . I n o t h e r w o r d 0050640 s , i n t h e a b o v e 0050660 e x a m p l e , i f a ( l 0050700 o w e r ) f u n c t i o n c 0050720 h a n g e d t h e v a l u e 0050740 o f t h e * A R G 1 b i 0050760 n d i n g , t h e C O N D 0051000 w o u l d c o n t i n u e i 0051020 n t e r p r e t i n g t h e 0051040 n e w b i n d i n g a s a 0051060 l i s t o f C O N D c l 0051100 a u s e s . S i m i l a r l 0051120 y , i f t h e * A R G V A 0051140 L * b i n d i n g w e r e 0051160 c h a n g e d , t h e n e w 0051200 v a l u e w o u l d b e 0051220 g i v e n t o I T I M E S 0051240 a s i t s f i r s t a r g 0051260 u m e n t a f t e r i t s 0051300 s e c o n d a r g u m e n t 0051320 h a d b e e n e v a l u a t 0051340 e d , a n d I T I M E S w 0051360 a s a c t u a l l y c a l l 0051400 e d . \r N o t e t h a t * F 0051420 O R M * , * T A I L * , * A 0051440 R G V A L * , e t c . , d o 0051460 n o t a c t u a l l y a p 0051500 p e a r a s v a r i a b l e 0051520 s o n t h e s t a c k , 0051540 i . e . , e v a l u a t i n g 0051560 * F O R M * o r c a l l i 0051600 n g S T K S C A N t o s e 0051620 a r c h f o r i t w i l l 0051640 n o t w o r k . H o w e 0051660 v e r , t h e f u n c t i o 0051700 n s B L I P V A L , S E T B 0051720 L I P V A L , a n d B L I P 0051740 S C A N d e s c r i b e d b 0051760 e l o w a r e a v a i l a b 0052000 l e f o r a c c e s s i n g 0052020 t h e s e i n t e r n a l 0052040 b l i p s . T h e s e f u 0052060 n c t i o n s c u r r e n t l 0052100 y k n o w a b o u t f o u 0052120 r d i f f e r e n t t y p e 0052140 s o f b l i p s : \r \t * F N 0052160 * \t T h e n a m e o f a 0052200 f u n c t i o n a b o u t t 0052220 o b e c a l l e d . \r \t * A 0052240 R G V A L * \t A n a r g u m e 0052260 n t f o r a f u n c t i o 0052300 n a b o u t t o b e c a 0052320 l l e d . \r \t * F O R M * \t A 0052340 f o r m i n t h e p r o c 0052360 e s s o f e v a l u a t i o 0052400 n . \r \t * T A I L * \t T h e t 0052420 a i l o f a C O N D c l 0052440 a u s e , i m p l i c i t P 0052460 R O G N , P R O G , e t c . 0052500 \r ( B L I P V A L B L I P T Y 0052520 P I P O S F L G ) \t [ F 0052540 u n c t i o n ] \r 1 \r \r R e t u 0052560 r n s t h e v a l u e o f 0052600 t h e s p e c i f i e d b 0052620 l i p o f t y p e B L I P 0052640 T Y P . I f F L G i s 0052660 a n u m b e r N , f i n d 0052700 s t h e N t h b l i p o 0052720 f t h e d e s i r e d t y 0052740 p e , s e a r c h i n g t h 0052760 e c o n t r o l c h a i n 0053000 b e g i n n i n g a t t h e 0053020 f r a m e s p e c i f i e d 0053040 b y t h e s t a c k d e 0053060 s c r i p t o r I P O S . 0053100 I f F L G i s N I L , 1 0053120 i s u s e d . I f F L 0053140 G i s T , r e t u r n s 0053160 t h e n u m b e r o f b l 0053200 i p s o f t h e s p e c i 0053220 f i e d t y p e a t I P O 0053240 S . \r 1 \r \r ( S E T B L I P V A 0053260 L B L I P T Y P I P O S N 0053300 V A L ) \t [ F u n c t i o 0053320 n ] \r 1 \r \r S e t s t h e v 0053340 a l u e o f t h e s p e c 0053360 i f i e d b l i p o f t y 0053400 p e B L I P T Y P . S e a 0053420 r c h e s f o r t h e N t 0053440 h b l i p o f t h e d e 0053460 s i r e d t y p e , b e g i 0053500 n n i n g w i t h t h e f 0053520 r a m e s p e c i f i e d b 0053540 y t h e s t a c k d e s c 0053560 r i p t o r I P O S , a n d 0053600 f o l l o w i n g t h e c 0053620 o n t r o l c h a i n . \r 1 \r 0053640 \r ( B L I P S C A N B L I P T 0053660 Y P I P O S ) \t [ F u n c 0053700 t i o n ] \r 1 \r \r R e t u r n s 0053720 a s t a c k p o i n t e r 0053740 t o t h e f r a m e i n 0053760 w h i c h a b l i p o f 0054000 t y p e B L I P T Y P i s 0054020 l o c a t e d . S e a r c 0054040 h b e g i n s a t t h e 0054060 f r a m e s p e c i f i e d 0054100 b y t h e s t a c k d e s 0054120 c r i p t o r I P O S a n d 0054140 f o l l o w s t h e c o n 0054160 t r o l c h a i n . \r 1 \r \r \0 0054200 \0 \0 \0 \0 005 \0 \v \0 ) \0 K \0 K 001 370 \0 0054220 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 0054260 \0 / \0 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 0054300 \0 001 001 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054320 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 0054340 1 \0 \0 \0 314 001 370 \0 005 \0 \0 \0 \0 003 004 \0 0054360 022 002 \0 272 001 \0 314 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054420 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 001 0054440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054460 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 0054500 \0 005 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 0054520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054540 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 0054560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054600 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 0054620 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 0054640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054660 \0 . \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 003 001 0054700 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0054740 \0 \0 \0 \0 001 370 \0 7 \0 \0 \0 \0 002 001 \0 \0 0054760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0055000 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 0055020 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0055040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0055060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0055100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0055120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 0055140 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0055160 001 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0055200 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0055220 \0 016 \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O 0055240 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? 0055260 \0 1 ( D E F A U L T F O N T 1 0055300 ( G A C H A 1 0 ) ( G A C 0055320 H A 8 ) ( T E R M I N A L 0055340 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0055360 \0 \0 002 \0 \n \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0055400 \0 \0 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R 0055420 U L E . G E T F N 001 \0 024 \0 006 M O 0055440 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0055460 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 0055500 \0 \0 % \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \a 0055520 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0055540 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0055560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0055600 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 325 \0 \0 \0 0055620 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 031 \0 0055640 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 006 0055660 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0055700 017 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0055720 \0 \f \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 0055740 \0 \0 024 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 0055760 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0056000 004 \0 \0 \0 & \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0056020 \0 006 \0 \0 \0 027 \0 \0 \0 \0 004 \0 \0 \0 \b \0 0056040 \0 \0 \0 002 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 0056060 004 \0 \0 \0 \0 002 \0 \0 \0 < \0 \0 \0 \0 004 \0 0056100 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 017 \0 \0 \0 \0 0056120 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 1 \0 \0 0056140 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 003 0056160 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 0056200 \0 7 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 0056220 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0056240 \0 002 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 004 \0 0056260 \0 \0 \0 002 \0 \0 \0 + \0 \0 \0 \0 004 \0 \0 \0 0056300 001 \0 \0 \0 \0 002 \0 \0 \0 \t \0 \0 \0 \0 004 \0 0056320 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 ) \0 \0 \0 \0 0056340 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 037 \0 \0 0056360 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 6 0056400 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 0056420 \0 022 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 0056440 \0 \0 \0 w \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0056460 \0 002 \0 \0 \0 > \0 \0 \0 \0 004 \0 \0 \0 004 \0 0056500 \0 \0 \0 002 \0 \0 \0 027 \0 \0 \0 \0 004 \0 \0 \0 0056520 005 \0 \0 \0 \0 002 \0 \0 \0 \a \0 \0 \0 \0 004 \0 0056540 \0 \0 \0 \0 002 \0 006 \0 \0 001 004 \0 \0 \0 \0 004 0056560 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 027 \0 \0 \0 0056600 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \r \0 0056620 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \t 0056640 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0056660 $ \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0056700 \0 \v \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 0056720 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 0056740 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0056760 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0057000 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0057020 002 \0 004 \0 \0 \0 8 \0 \0 \0 \0 002 \0 \0 \0 \0 0057040 \0 002 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 0057060 \0 \0 002 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0057100 \0 \0 \0 002 \0 004 \0 \0 \0 > \0 \0 \0 \0 002 \0 0057120 \0 \0 \0 \0 002 \0 004 \0 \0 \0 @ \0 \0 \0 \0 002 0057140 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0057160 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \a \0 \0 \0 0057200 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 005 \0 \0 0057220 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 001 \0 0057240 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 032 0057260 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0057300 017 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0057320 \0 034 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 0057340 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 0057360 \0 \0 \0 % \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0057400 004 \0 \0 \0 ' \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0057420 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0057440 002 \0 004 \0 \0 \0 8 \0 \0 \0 \0 002 \0 \0 \0 \0 0057460 \0 002 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 0057500 \0 \0 002 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0057520 \0 \0 \0 002 \0 004 \0 \0 \0 > \0 \0 \0 \0 002 \0 0057540 \0 \0 \0 \0 002 \0 004 \0 \0 \0 @ \0 \0 \0 \0 002 0057560 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0057600 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \a \0 \0 \0 0057620 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 005 \0 \0 0057640 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 001 \0 0057660 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \b 0057700 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0057720 022 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 0057740 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 0057760 002 \0 \0 \0 o \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 0060000 \0 \0 002 \0 \0 \0 024 \0 \0 \0 \0 004 \0 \0 \0 006 0060020 \0 \0 \0 \0 002 \0 \0 \0 241 \0 \0 \0 \0 004 \0 \0 0060040 \0 005 \0 \0 \0 \0 002 \0 \0 \0 245 \0 \0 \0 \0 004 0060060 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 I \0 \0 \0 0060100 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 @ \0 0060120 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 0060140 003 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 0060160 \0 \0 \a \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 0060200 002 \0 \0 \0 B \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0060220 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \0 0060240 \0 002 \0 006 \0 \0 \0 266 \0 \0 \0 \0 004 \0 \0 \0 0060260 005 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 0060300 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 0060320 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 215 \0 \0 0060340 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 016 0060360 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 0060400 \0 : \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 0060420 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 0060440 \0 002 \0 \0 \0 7 \0 \0 \0 \0 004 \0 \0 \0 006 \0 0060460 \0 \0 \0 002 \0 \0 \0 I \0 \0 \0 \0 004 \0 \0 \0 0060500 006 \0 \0 \0 \0 002 \0 \0 \0 026 \0 \0 \0 \0 004 \0 0060520 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \n \0 \0 \0 \0 004 0060540 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 0060560 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 002 \0 0060600 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 0060620 K \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 0060640 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 0060660 002 \0 \0 \0 9 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 0060700 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \n 0060720 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 0060740 \0 \b \0 \0 \0 \0 002 \0 \0 \0 210 \0 \0 \0 \0 004 0060760 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0 \0 \0 \0 0061000 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 , \0 \0 0061020 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0 0061040 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 0061060 0 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0061100 \0 001 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 0061120 \0 \0 \0 & \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0061140 003 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 0061160 \0 \0 002 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 004 0061200 \0 \0 \0 \0 002 \0 \0 \0 022 \0 \0 \0 \0 004 \0 \0 0061220 \0 005 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 0061240 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 \a \0 \0 \0 0061260 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \t \0 \0 0061300 \0 \0 002 \0 \0 \0 020 \0 \0 \0 \0 001 \0 \0 \0 001 0061320 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 0061340 \0 \0 \0 002 \0 001 \0 \0 \0 002 \0 001 \0 \v H R 0061360 U L E . G E T F N 001 \0 024 \0 006 M O 0061400 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0061420 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 0061440 \0 \0 0 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 0061460 001 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0061500 \0 \0 001 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 001 0061520 \0 \0 \0 \0 002 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 0061540 \0 001 \0 \0 \0 \0 002 \0 \0 \0 r \0 \0 \0 \0 004 0061560 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 006 \0 \0 \0 0061600 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 004 \0 0061620 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 0061640 021 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 0061660 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0061700 002 \0 \0 \0 7 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0061720 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 0061740 \0 002 \0 \n \0 \0 \0 002 \0 001 \0 \v H R U L 0061760 E . G E T F N 001 \0 024 \0 006 M O D E 0062000 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0062020 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0062040 \f \0 \0 \0 \0 002 \0 \0 \0 022 \0 \0 \0 \0 001 \0 0062060 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0062100 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 002 \0 001 \0 0062120 \v H R U L E . G E T F N 001 \0 024 \0 0062140 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0062160 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0062200 \0 \n \0 \0 \0 - \0 \0 \0 \0 004 \0 \0 \0 \a \0 0062220 \0 \0 \0 001 \0 \0 \0 024 \0 \0 \0 \0 004 \0 \0 \0 0062240 001 \0 \0 \0 \0 001 \0 \0 \0 X \0 \0 \0 \0 004 \0 0062260 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 # \0 \0 \0 \0 0062300 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 002 \0 001 \0 0062320 \v H R U L E . G E T F N 001 \0 024 \0 0062340 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0062360 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0062400 \0 002 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 \f \0 0062420 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0062440 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 0062460 \0 002 \0 001 \0 \v H R U L E . G E T F 0062500 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0062520 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0062540 \0 \0 \0 \0 002 \0 \n \0 \0 \0 = \0 \0 \0 \0 004 0062560 \0 \0 \0 \a \0 \0 \0 \0 001 \0 \0 \0 K \0 \0 \0 0062600 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 \0 0062620 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 002 0062640 \0 001 \0 \v H R U L E . G E T F N 001 0062660 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0062700 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 X 0062720 177 001 ! z 272 \r 1 1 . 2 . 7 \t O 0062740 t h e r S t a c k F u n c t 0062760 i o n s \r 1 \r \r ( D U M M Y F R 0063000 A M E P P O S ) \t [ F u n 0063020 c t i o n ] \r 1 \r \r R e t u r n 0063040 s T i f t h e u s e r 0063060 n e v e r w r o t e a c a 0063100 l l t o t h e f u n c t i 0063120 o n a t P O S , e . g . 0063140 i n I n t e r l i s p - 1 0 , 0063160 D U M M Y F R A M E P i s 0063200 T f o r * P R O G * L A M , 0063220 * E N V * , a n d F O O B 0063240 L O C K f r a m e s ( s e e 0063260 b l o c k c o m p i l e r , 0063300 ( " B l o c k C o m p i l e r 0063320 " . T A G ) ) . \r 1 \r \r R E 0063340 A L F R A M E P a n d R E A 0063360 L S T K N T H c a n b e u 0063400 s e d t o w r i t e f u n 0063420 c t i o n s w h i c h m a n 0063440 i p u l a t e t h e s t a c 0063460 k a n d w o r k o n e i 0063500 t h e r i n t e r p r e t e d 0063520 o r c o m p i l e d c o d 0063540 e : \r ( R E A L F R A M E P P 0063560 O S I N T E R P F L G ) \t 0063600 [ F u n c t i o n ] \r 1 \r \r R e 0063620 t u r n s P O S i f P O S 0063640 i s a " r e a l " f r a 0063660 m e , i . e . i f P O S 0063700 i s n o t a d u m m y f 0063720 r a m e a n d P O S i s 0063740 a f r a m e t h a t d o e 0063760 s n o t d i s a p p e a r 0064000 w h e n c o m p i l e d ( s 0064020 u c h a s C O N D ) ; o t 0064040 h e r w i s e N I L . I f 0064060 I N T E R P F L G = T , r e 0064100 t u r n s P O S i f P O S 0064120 i s n o t a d u m m y 0064140 f r a m e . F o r e x a m 0064160 p l e , i f ( S T K N A M E 0064200 P O S ) = C O N D , ( R E A 0064220 L F R A M E P P O S ) i s 0064240 N I L , b u t ( R E A L F R 0064260 A M E P P O S T ) i s P 0064300 O S . \r 1 \r \r ( R E A L S T K N 0064320 T H N P O S I N T E R P F 0064340 L G O L D P O S ) \t [ F u 0064360 n c t i o n ] \r 1 \r \r R e t u r 0064400 n s a s t a c k p o i n t 0064420 e r t o t h e N t h ( o 0064440 r - N t h ) f r a m e s f 0064460 o r w h i c h ( R E A L F R 0064500 A M E P P O S I N T E R P F 0064520 L G ) i s P O S . \r 1 \r \r ( 0064540 M A P D L M A P D L F N M A 0064560 P D L P O S ) \t [ F u n c t 0064600 i o n ] \r 1 \r \r S t a r t s a 0064620 t M A P D L P O S a n d a 0064640 p p l i e s t h e f u n c t 0064660 i o n M A P D L F N t o t 0064700 w o a r g u m e n t s ( t h 0064720 e f r a m e n a m e a n d 0064740 a s t a c k p o i n t e r 0064760 t o t h e f r a m e ) , 0065000 f o r e a c h f r a m e u 0065020 n t i l t h e t o p o f 0065040 t h e s t a c k i s r e a 0065060 c h e d . R e t u r n s N 0065100 I L . F o r e x a m p l e 0065120 , \r [ M A P D L ( F U N C T I 0065140 O N ( L A M B D A ( X P O 0065160 S ) \r 0065200 ( i f ( I G R E A 0065220 T E R P ( S T K N A R G S P 0065240 O S ) 2 ) \r 0065260 t h e 0065300 n ( P R I N T X ) ] \r w i l 0065320 l p r i n t a l l f u n c 0065340 t i o n s o f m o r e t h 0065360 a n t w o a r g u m e n t s 0065400 . \r 1 \r \r ( S E A R C H P D L 0065420 S R C H F N S R C H P O S ) 0065440 \t [ F u n c t i o n ] \r 1 \r \r 0065460 S i m i l a r t o M A P D L 0065500 , e x c e p t s e a r c h e 0065520 s t h e s t a c k s t a r 0065540 t i n g a t p o s i t i o n 0065560 S R C H P O S u n t i l i 0065600 t f i n d s a f r a m e 0065620 f o r w h i c h S R C H F N 0065640 , a f u n c t i o n o f 0065660 t w o a r g u m e n t s a p 0065700 p l i e d t o t h e n a m 0065720 e o f t h e f r a m e a 0065740 n d t h e f r a m e i t s 0065760 e l f , i s n o t N I L . 0066000 R e t u r n s ( N A M E 0066020 . F R A M E ) i f s u c h 0066040 a f r a m e i s f o u n 0066060 d , o t h e r w i s e N I L 0066100 . \r 1 \r \r \0 \0 \0 \0 \0 005 \0 \v \0 ( \0 0066120 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 0066140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066160 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 0066200 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0066240 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 001 \0 \0 \0 0066260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066300 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 022 \0 0066320 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0066360 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 \0 \0 0066400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066420 \0 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 \0 0066440 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066460 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 / 0066500 \0 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 001 0066520 001 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066540 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 0066560 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0066600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066620 \0 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 0066640 \0 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 0066660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066700 \0 \0 \0 \0 1 \0 \0 \0 314 001 370 \0 005 \0 \0 \0 0066720 \0 003 004 \0 022 002 \0 272 001 \0 314 \0 \0 \0 \0 \0 0066740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0066760 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0067000 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0067020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0067040 \0 004 \0 005 \0 024 \0 006 M O D E R N \0 \n 0067060 \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 006 M O D E 0067100 R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0067120 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 0067140 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0067160 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U L T 0067200 F O N T 1 ( G A C H A 1 0 0067220 ) ( G A C H A 8 ) ( T E R 0067240 M I N A L 8 ) ) \0 \n \0 \0 \0 \0 \0 0067260 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 001 \0 0067300 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \t \0 \0 \0 037 0067320 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 0067340 002 \0 001 \0 \v H R U L E . G E T F N 0067360 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0067400 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0067420 \0 \0 \0 002 \0 \a \0 \0 \0 \r \0 \0 \0 \0 002 \0 0067440 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 0067460 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0067500 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0067520 G E T F N 001 \0 024 \0 006 M O D E R N 0067540 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0067560 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \b \0 0067600 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0067620 3 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 0067640 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 0067660 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0067700 \0 \0 002 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 \t 0067720 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 0067740 \0 005 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 0067760 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 035 \0 \0 \0 0070000 \0 004 \0 \0 \0 027 \0 001 \0 \f I R M . G E 0070020 T . C R E F \0 \0 \0 \0 003 \0 \0 \0 \0 004 0070040 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v 0070060 H R U L E . G E T F N 001 \0 024 \0 006 0070100 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0070120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0070140 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 005 \0 \0 0070160 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 l 0070200 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 0070220 \f \0 \0 \0 \0 002 \0 \0 \0 \r \0 \0 \0 \0 001 \0 0070240 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0070260 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 0070300 \v H R U L E . G E T F N 001 \0 024 \0 0070320 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0070340 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0070360 \0 005 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 003 \0 0070400 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0070420 003 \0 \0 \0 \0 001 \0 \0 \0 034 \0 \0 \0 \0 004 \0 0070440 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 0070460 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 ; \0 \0 0070500 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 \r 0070520 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 0070540 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 001 0070560 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0070600 \0 002 \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 \0 003 \0 0070620 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0070640 003 \0 \0 \0 \0 001 \0 \0 \0 ( \0 \0 \0 \0 004 \0 0070660 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 0070700 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 0070720 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 002 0070740 \0 \0 \0 \0 004 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 0070760 \0 003 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0071000 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0071020 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \f \0 0071040 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0071060 003 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 0071100 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 0071120 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 0071140 \v H R U L E . G E T F N 001 \0 024 \0 0071160 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0071200 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0071220 \0 \a \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 026 \0 0071240 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0071260 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0071300 \0 002 \0 001 \0 \v H R U L E . G E T F 0071320 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0071340 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0071360 \0 \0 \0 \0 002 \0 005 \0 \0 \0 037 \0 \0 \0 \0 004 0071400 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 \b \0 \0 \0 0071420 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 025 \0 0071440 \0 \0 \0 004 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 0071460 003 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 0071500 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 0071520 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0071540 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 0071560 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L 0071600 E . G E T F N 001 \0 024 \0 006 M O D E 0071620 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0071640 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 0071660 \a \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 \0 \0 001 \0 0071700 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0071720 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 0071740 \v H R U L E . G E T F N 001 \0 024 \0 0071760 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0072000 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0072020 \0 005 \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 \0 \b \0 0072040 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 0072060 \a \0 \0 \0 \0 001 \0 \0 \0 204 \0 \0 \0 \0 004 \0 0072100 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 \0 \0 0072120 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 ! \0 \0 \0 0072140 \0 002 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 4 \0 \0 0072160 \0 \0 002 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 & \0 0072200 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 5 0072220 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0072240 002 \0 001 \0 \v H R U L E . G E T F N 0072260 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0072300 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0072320 \0 \0 \0 002 \0 \a \0 \0 \0 \v \0 \0 \0 \0 002 \0 0072340 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 0072360 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0072400 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0072420 G E T F N 001 \0 024 \0 006 M O D E R N 0072440 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0072460 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \v \0 0072500 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 0072520 1 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 001 \0 0072540 \0 \0 " \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 0072560 001 \0 \0 \0 - \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0072600 \0 \0 001 \0 \0 \0 + \0 \0 \0 \0 004 \0 \0 \0 003 0072620 \0 \0 \0 \0 002 \0 \0 \0 \v \0 \0 \0 \0 004 \0 \0 0072640 \0 001 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 001 0072660 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 005 \0 \0 \0 0072700 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 % \0 0072720 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 0072740 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0072760 \0 002 \0 001 \0 \v H R U L E . G E T F 0073000 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0073020 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0073040 \0 l E \0 257 z 272 \r 1 1 . 2 . 6 0073060 \t B a c k t r a c e F u n c t 0073100 i o n s \r 1 \r \r T h e f o l l 0073120 o w i n g f u n c t i o n s 0073140 p e r f o r m a " b a c k t 0073160 r a c e , " p r i n t i n g 0073200 i n f o r m a t i o n a b o u 0073220 t e v e r y f r a m e o n 0073240 t h e s t a c k . A r g 0073260 u m e n t s a l l o w o n l 0073300 y b a c k t r a c i n g a 0073320 s e l e c t e d r a n g e o 0073340 f t h e s t a c k , s k i 0073360 p p i n g s e l e c t e d f 0073400 r a m e s , a n d p r i n t 0073420 i n g d i f f e r e n t a m 0073440 o u n t s o f i n f o r m a 0073460 t i o n a b o u t e a c h 0073500 f r a m e . \r ( B A C K T R 0073520 A C E I P O S E P O S F L 0073540 A G S F I L E P R I N T F N 0073560 ) \t [ F u n c t i o n ] \r 1 0073600 \r \r P e r f o r m s a b a c 0073620 k t r a c e b e g i n n i n g 0073640 a t t h e f r a m e s p 0073660 e c i f i e d b y t h e s 0073700 t a c k d e s c r i p t o r 0073720 I P O S , a n d e n d i n g 0073740 w i t h t h e f r a m e 0073760 s p e c i f i e d b y t h e 0074000 s t a c k d e s c r i p t o 0074020 r E P O S . F L A G S i 0074040 s a n u m b e r i n w h 0074060 i c h t h e o p t i o n s 0074100 o f t h e B A C K T R A C E 0074120 a r e e n c o d e d . I 0074140 f a b i t i s s e t , 0074160 t h e c o r r e s p o n d i n 0074200 g i n f o r m a t i o n i s 0074220 i n c l u d e d i n t h e 0074240 b a c k t r a c e . \r b i t 0074260 0 - p r i n t a r g u m e 0074300 n t s o f n o n - S U B R s 0074320 . \r b i t 1 - p r i n t 0074340 t e m p o r a r i e s o f t 0074360 h e i n t e r p r e t e r . \r 0074400 b i t 2 - p r i n t S U 0074420 B R a r g u m e n t s a n d 0074440 l o c a l v a r i a b l e s 0074460 . \r b i t 3 - o m i t p 0074500 r i n t i n g o f U N T R A 0074520 C E : a n d f u n c t i o n 0074540 n a m e s . \r b i t 4 - 0074560 f o l l o w a c c e s s c h 0074600 a i n i n s t e a d o f c 0074620 o n t r o l c h a i n . \r b i 0074640 t 5 - p r i n t t e m p 0074660 o r a r i e s , i . e . t h 0074700 e b l i p s ( s e e ( " I 0074720 n t e r p r e t e r B l i p s " 0074740 . T A G ) ) . \r F o r e x 0074760 a m p l e : I f F L A G S 0075000 = 4 7 Q , e v e r y t h i n g 0075020 i s p r i n t e d . I f 0075040 F L A G S = 2 1 Q , f o l l 0075060 o w s t h e a c c e s s c 0075100 h a i n , p r i n t s a r g 0075120 u m e n t s . \r F I L E i s 0075140 t h e f i l e t h a t t h 0075160 e b a c k t r a c e i s p 0075200 r i n t e d t o . F I L E 0075220 m u s t b e o p e n . 0075240 P R I N T F N i s u s e d 0075260 w h e n p r i n t i n g t h 0075300 e v a l u e s o f v a r i 0075320 a b l e s , t e m p o r a r i 0075340 e s , b l i p s , e t c . 0075360 P R I N T F N = N I L d e f 0075400 a u l t s t o P R I N T . \r 0075420 1 \r \r ( B A K T R A C E I P O 0075440 S E P O S S K I P F N S F 0075460 L A G S F I L E ) \t [ F u 0075500 n c t i o n ] \r 1 \r \r P r i n t 0075520 s a b a c k t r a c e f r 0075540 o m I P O S t o E P O S 0075560 o n t o F I L E . F L A G 0075600 S s p e c i f i e s t h e 0075620 o p t i o n s o f t h e b 0075640 a c k t r a c e , e . g . , 0075660 d o / d o n ' t p r i n t a 0075700 r g u m e n t s , d o / d o n 0075720 ' t p r i n t t e m p o r a 0075740 r i e s o f t h e i n t e 0075760 r p r e t e r , e t c . , a 0076000 n d i s t h e s a m e a 0076020 s f o r B A C K T R A C E . 0076040 \r S K I P F N S i s a l i 0076060 s t o f f u n c t i o n s . 0076100 A s B A K T R A C E s c 0076120 a n s d o w n t h e s t a 0076140 c k , t h e s t a c k n a 0076160 m e o f e a c h f r a m e 0076200 i s p a s s e d t o e a 0076220 c h f u n c t i o n i n S 0076240 K I P F N S , a n d i f a 0076260 n y o f t h e m r e t u r 0076300 n n o n - N I L , P O S i 0076320 s s k i p p e d ( i n c l u 0076340 d i n g a l l v a r i a b l 0076360 e s ) . \r B A K T R A C E c o 0076400 l l a p s e s t h e s e q u 0076420 e n c e o f s e v e r a l 0076440 f u n c t i o n c a l l s c 0076460 o r r e s p o n d i n g t o 0076500 a c a l l t o a s y s t 0076520 e m p a c k a g e i n t o 0076540 a s i n g l e " f u n c t i 0076560 o n " u s i n g B A K T R A 0076600 C E L S T a s d e s c r i b 0076620 e d b e l o w . F o r e 0076640 x a m p l e , a n y c a l l 0076660 t o t h e e d i t o r i 0076700 s p r i n t e d a s * * E 0076720 D I T O R * * , a b r e a k 0076740 i s p r i n t e d a s * 0076760 * B R E A K * * , e t c . \r B 0077000 A K T R A C E i s u s e d 0077020 b y t h e B T , B T V , 0077040 B T V + , B T V * , a n d 0077060 B T V ! b r e a k c o m m a 0077100 n d s , w i t h F L A G S = 0077120 0 , 1 , 5 , 7 , a n d 0077140 4 7 Q r e s p e c t i v e l y 0077160 . \r N o t e : B A K T R A C 0077200 E c a l l s B A C K T R A C 0077220 E w i t h a P R I N T F N 0077240 o f S H O W P R I N T ( ( 0077260 " S H O W P R I N T " . F u 0077300 n c t i o n ) ) , s o t h a 0077320 t i f S Y S P R E T T Y F L 0077340 G = T , t h e v a l u e s 0077360 w i l l b e p r e t t y p r 0077400 i n t e d . \r 1 \r \r B A K T R A 0077420 C E L S T \t [ V a r i a b l 0077440 e ] \r 1 \r \r U s e d f o r t 0077460 e l l i n g B A K T R A C E 0077500 ( t h e r e f o r e , t h e 0077520 B T , B T V , e t c . c o 0077540 m m a n d s ) t o a b b r e 0077560 v i a t e v a r i o u s s e 0077600 q u e n c e s o f f u n c t 0077620 i o n c a l l s o n t h e 0077640 s t a c k b y a s i n g 0077660 l e k e y , e . g . * * B 0077700 R E A K * * , * * E D I T O R 0077720 * * , e t c . \r 1 \r \r T h e 0077740 o p e r a t i o n o f B A K 0077760 T R A C E a n d f o r m a t 0100000 o f B A K T R A C E L S T 0100020 i s d e s c r i b e d s o 0100040 t h a t t h e u s e r c a 0100060 n a d d h i s o w n e n 0100100 t r i e s t o B A K T R A C 0100120 E L S T . E a c h e n t r 0100140 y o n B A K T R A C E L S T 0100160 i s a l i s t o f t h 0100200 e f o r m ( F R A M E N A M 0100220 E K E Y . P A T T E R N ) 0100240 o r ( F R A M E N A M E ( 0100260 K E Y 1 . P A T T E R N 1 ) 0100300 . . . ( K E Y N . P A T 0100320 T E R N N ) ) , w h e r e a 0100340 p a t t e r n i s a l i 0100360 s t o f e l e m e n t s t 0100400 h a t a r e e i t h e r a 0100420 t o m s , w h i c h m a t c 0100440 h a s i n g l e f r a m e 0100460 , o r l i s t s , w h i c 0100500 h a r e i n t e r p r e t e 0100520 d a s a l i s t o f a 0100540 l t e r n a t i v e p a t t e 0100560 r n s , e . g . ( P R O G N 0100600 * * B R E A K * * E V A L 0100620 ( ( E R R O R S E T B R E A K 0100640 1 A B R E A K 1 ) ( B R E A 0100660 K 1 ) ) ) \r B A K T R A C E o 0100700 p e r a t e s b y s c a n n 0100720 i n g u p t h e s t a c k 0100740 a n d , a t e a c h p o 0100760 i n t , c o m p a r i n g t 0101000 h e c u r r e n t f r a m e 0101020 n a m e , w i t h t h e 0101040 f r a m e n a m e s o n B 0101060 A K T R A C E L S T , i . e . 0101100 i t d o e s a n A S S O 0101120 C . I f t h e f r a m e 0101140 n a m e d o e s a p p e a 0101160 r , B A K T R A C E a t t e 0101200 m p t s t o m a t c h t h 0101220 e s t a c k a s o f t h 0101240 a t p o i n t w i t h ( o 0101260 n e o f ) t h e p a t t e 0101300 r n s . I f t h e m a t 0101320 c h i s s u c c e s s f u l 0101340 , B A K T R A C E p r i n t 0101360 s t h e c o r r e s p o n d 0101400 i n g k e y , a n d c o n 0101420 t i n u e s w i t h w h e r 0101440 e t h e m a t c h l e f t 0101460 o f f . I f t h e f r 0101500 a m e n a m e d o e s n o 0101520 t a p p e a r , o r t h e 0101540 m a t c h f a i l s , B A 0101560 K T R A C E s i m p l y p r 0101600 i n t s t h e f r a m e n 0101620 a m e a n d c o n t i n u e 0101640 s w i t h t h e n e x t 0101660 h i g h e r f r a m e ( u n 0101700 l e s s t h e S K I P F N S 0101720 a p p l i e d t o t h e 0101740 f r a m e n a m e a r e n 0101760 o n - N I L a s d e s c r i 0102000 b e d a b o v e ) . \r M a t c 0102020 h i n g i s p e r f o r m e 0102040 d b y c o m p a r i n g a 0102060 t o m s i n t h e p a t t 0102100 e r n w i t h t h e c u r 0102120 r e n t f r a m e n a m e , 0102140 a n d m a t c h i n g l i 0102160 s t s a s p a t t e r n s , 0102200 i . e . s e q u e n c e s 0102220 o f f u n c t i o n c a l l 0102240 s , a l w a y s w o r k i n 0102260 g u p t h e s t a c k . 0102300 F o r e x a m p l e , e i 0102320 t h e r o f t h e s e q u 0102340 e n c e o f f u n c t i o n 0102360 c a l l s " . . . B R E A 0102400 K 1 B R E A K 1 A E R R O R 0102420 S E T E V A L P R O G N . 0102440 . . " o r " . . . B R E A 0102460 K 1 E V A L P R O G N . . 0102500 . " w o u l d m a t c h w 0102520 i t h t h e s a m p l e e 0102540 n t r y g i v e n a b o v e 0102560 , c a u s i n g * * B R E A 0102600 K * * t o b e p r i n t e 0102620 d . \r S p e c i a l f e a t u 0102640 r e s : \r \t 267 \t T h e l i t a 0102660 t o m & c a n b e u s e 0102700 d t o m a t c h a n y f 0102720 r a m e . \r \t 267 \t T h e p a t 0102740 t e r n " - " c a n b e 0102760 u s e d t o m a t c h n o 0103000 t h i n g . - i s u s e 0103020 f u l f o r s p e c i f y i 0103040 n g a n o p t i o n a l m 0103060 a t c h , e . g . t h e e 0103100 x a m p l e a b o v e c o u 0103120 l d a l s o h a v e b e e 0103140 n w r i t t e n a s ( P R 0103160 O G N * * B R E A K * * E V 0103200 A L ( ( E R R O R S E T B R 0103220 E A K 1 A ) - ) B R E A K 1 0103240 ) . \r \t 267 \t I t i s n o t 0103260 n e c e s s a r y t o p r o 0103300 v i d e i n t h e p a t t 0103320 e r n f o r m a t c h i n g 0103340 d u m m y f r a m e s , i 0103360 . e . f r a m e s f o r w 0103400 h i c h D U M M Y F R A M E P 0103420 ( s e e ( " D U M M Y F R A 0103440 M E P " . F u n c t i o n ) 0103460 ) i s t r u e , e . g . 0103500 i n I n t e r l i s p - 1 0 , 0103520 * P R O G * L A M , * E N V 0103540 * , N O L I N K D E F 1 , e 0103560 t c . W h e n w o r k i n 0103600 g o n a m a t c h , t h 0103620 e m a t c h e r a u t o m a 0103640 t i c a l l y s k i p s o v 0103660 e r t h e s e f r a m e s 0103700 w h e n t h e y d o n o t 0103720 m a t c h . \r \t 267 \t I f a 0103740 m a t c h s u c c e e d s a 0103760 n d t h e K E Y i s N I 0104000 L , n o t h i n g i s p r 0104020 i n t e d . F o r e x a m 0104040 p l e , ( * P R O G * L A M 0104060 N I L E V A L A * E N V ) . 0104100 T h i s s e q u e n c e 0104120 w i l l o c c u r f o l l o 0104140 w i n g a n e r r o r w h 0104160 i c h t h e n c a u s e s 0104200 a b r e a k i f s o m e 0104220 o f t h e f u n c t i o n ' 0104240 s a r g u m e n t s a r e 0104260 L O C A L V A R S . \r \0 \0 \0 \0 \0 0104300 005 \0 \t \0 1 \0 \0 \0 314 001 370 \0 005 \0 \0 \0 0104320 \0 003 004 \0 022 002 \0 272 001 \0 314 \0 \0 \0 \0 \0 0104340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104360 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 022 \0 \0 0104400 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 0104440 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 \0 \0 \0 0104460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104500 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 \0 \0 0104520 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104540 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 / \0 0104560 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 001 001 0104600 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104620 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 \0 0104640 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0104660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104700 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 \0 0104720 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 0104740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0104760 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 0105000 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0105020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 0105040 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0105060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0105100 \0 \0 \0 \0 \0 \0 \0 004 \0 006 \0 024 \0 006 M O 0105120 D E R N \0 \n 377 375 \0 \0 \0 \0 001 \0 \0 024 0105140 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0105160 001 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0105200 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0105220 \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O 0105240 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? 0105260 \0 1 ( D E F A U L T F O N T 1 0105300 ( G A C H A 1 0 ) ( G A C 0105320 H A 8 ) ( T E R M I N A L 0105340 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0105360 \0 \0 002 \0 \b \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0105400 \0 \0 \0 002 \0 \a \0 \0 \0 035 \0 \0 \0 \0 004 \0 0105420 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H 0105440 R U L E . G E T F N 001 \0 024 \0 006 M 0105460 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0105500 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b 0105520 \0 \0 001 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0105540 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 034 \0 \0 0105560 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 016 0105600 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0105620 002 \0 001 \0 \v H R U L E . G E T F N 0105640 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0105660 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0105700 \0 \0 \0 002 \0 003 \0 \0 \0 N \0 \0 \0 \0 005 \0 0105720 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 > \0 \0 \0 \0 0105740 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 0105760 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 ) 0106000 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 0106020 \0 \ \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 0106040 \0 \0 037 \0 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 0106060 003 \0 \0 \0 003 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0106100 \0 \b \0 \0 \0 . \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0106120 002 \0 \b \0 \0 \0 016 \0 \0 \0 \0 005 \0 \0 \0 004 0106140 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 \0 \0 005 \0 \0 0106160 \0 \0 \0 002 \0 \b \0 \0 \0 031 \0 \0 \0 \0 005 \0 0106200 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 025 \0 \0 \0 \0 0106220 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 6 \0 \0 \0 0106240 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 / \0 \0 0106260 \0 \0 005 \0 \0 \0 032 \0 001 \0 \f I R M . G 0106300 E T . C R E F \0 \0 \0 \0 003 \0 \0 \0 \0 0106320 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 021 \0 \0 \0 0106340 \0 005 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 001 \0 0106360 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 0106400 035 \0 \0 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 002 \0 0106420 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 0106440 003 \0 \0 \0 . \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0106460 \0 \b \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 0 \0 0106500 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 0106520 020 \0 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 002 \0 0106540 \0 \0 J \0 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 0106560 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 0106600 \0 \0 003 \0 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 005 0106620 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 005 \0 \0 0106640 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R 0106660 U L E . G E T F N 001 \0 024 \0 006 M O 0106700 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0106720 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 0106740 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 034 \0 \0 \0 \0 0106760 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 016 \0 \0 0107000 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 0107020 001 \0 \v H R U L E . G E T F N 001 \0 0107040 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0107060 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 0107100 \0 002 \0 003 \0 \0 \0 030 \0 \0 \0 \0 005 \0 \0 \0 0107120 004 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 \0 0107140 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 0107160 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 0107200 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 225 0107220 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 0107240 \0 002 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 0107260 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 035 \0 \0 \0 \0 0107300 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 R \0 \0 0107320 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 0107340 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 0107360 \0 002 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 002 0107400 \0 \0 \0 ' \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0107420 \b \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 } \0 \0 0107440 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 H 0107460 \0 \0 \0 \0 005 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 0107500 \0 030 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 0107520 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0107540 \b \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 020 \0 \0 0107560 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 002 0107600 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 0107620 \0 002 \0 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 003 0107640 \0 \0 \0 002 \0 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 0107660 \0 003 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 004 \0 0107700 \0 \0 \0 003 \0 \0 \0 026 \0 \0 \0 \0 005 \0 \0 \0 0107720 005 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 0107740 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 0107760 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 0110000 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 002 0110020 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0110040 \0 006 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 0110060 \0 \0 \0 017 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0110100 \b \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 0110120 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \t 0110140 \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 005 \0 \0 0110160 \0 \a \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 0110200 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 0110220 \0 005 \0 \0 \0 030 \0 001 \0 \f I R M . G E 0110240 T . C R E F \0 \0 \0 \0 016 \0 \0 \0 \0 005 0110260 \0 \0 \0 \f \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 0110300 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 $ \0 0110320 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 0110340 \0 001 \0 \v H R U L E . G E T F N 001 0110360 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0110400 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0110420 \0 \0 002 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 0110440 \0 016 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 0110460 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0110500 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0110520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 0110540 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 021 \0 \0 \0 \0 0110560 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 021 \0 \0 0110600 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 002 0110620 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 0110640 \0 f \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 0110660 \0 \0 \0 002 \0 \0 \0 \0 005 \0 \0 \0 \n \0 \0 \0 0110700 \0 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0110720 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R U L E 0110740 . G E T F N 001 \0 024 \0 006 M O D E R 0110760 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0111000 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 021 0111020 \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 0111040 \0 017 \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 0111060 \0 \0 \0 : \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 0111100 \0 003 \0 \0 \0 021 \0 \0 \0 \0 005 \0 \0 \0 \v \0 0111120 \0 \0 \0 003 \0 \0 \0 027 \0 \0 \0 \0 005 \0 \0 \0 0111140 001 \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 002 \0 0111160 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 0111200 002 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 \a \0 \0 0111220 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 004 0111240 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0111260 \0 \t \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 003 0111300 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 0111320 \0 001 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 \a \0 0111340 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 0111360 \a \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 002 \0 0111400 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 \0 \0 0111420 003 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 0111440 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 243 0111460 \0 \0 \0 \0 005 \0 \0 \0 ; \0 \0 \0 \0 003 \0 \0 0111500 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 0111520 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 q \0 \0 \0 \0 0111540 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 022 \0 \0 0111560 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 " 0111600 \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 0111620 \0 g \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 0111640 \0 \0 \0 204 \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 0111660 \0 003 \0 \0 \0 S \0 \0 \0 \0 005 \0 \0 \0 \a \0 0111700 \0 \0 \0 002 \0 \0 \0 # \0 \0 \0 \0 005 \0 \0 \0 0111720 003 \0 \0 \0 \0 003 \0 \0 \0 026 \0 \0 \0 \0 005 \0 0111740 \0 \0 \0 \0 002 \0 \b \0 \0 \0 354 \0 \0 \0 \0 005 0111760 \0 \0 \0 * \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 0112000 \0 005 \0 \0 \0 031 \0 \0 \0 \0 003 \0 \0 \0 9 \0 0112020 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 0112040 020 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 0112060 \0 022 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 0112100 \0 \0 017 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 0112120 003 \0 \0 \0 ! \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0112140 \0 001 \0 \0 \0 020 \0 \0 \0 \0 005 \0 \0 \0 001 \0 0112160 \0 \0 \0 003 \0 \0 \0 ! \0 \0 \0 \0 005 \0 \0 \0 0112200 001 \0 \0 \0 \0 003 \0 \0 \0 d \0 \0 \0 \0 005 \0 0112220 \0 \0 4 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 0112240 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 b \0 \0 \0 0112260 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 006 \0 0112300 \0 \0 \0 005 \0 \0 \0 032 \0 001 \0 \f I R M . 0112320 G E T . C R E F \0 \0 \0 \0 ! \0 \0 \0 0112340 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 002 \0 0112360 \0 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 0112400 002 \0 \0 \0 \0 005 \0 \0 \0 \n \0 \0 \0 \0 003 \0 0112420 \0 \0 k \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 0112440 \0 \0 \0 037 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 0112460 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 003 \0 0112500 \0 \0 \0 003 \0 \0 \0 $ \0 \0 \0 \0 005 \0 \0 \0 0112520 032 \0 \0 \0 \0 003 \0 \0 \0 q \0 \0 \0 \0 005 \0 0112540 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 0112560 005 \0 \0 210 273 001 023 z 272 \r 1 1 . 2 . 5 0112600 \t R e l e a s i n g a n d 0112620 R e u s i n g S t a c k P 0112640 o i n t e r s \r 1 \r \r T h e f 0112660 o l l o w i n g f u n c t i o 0112700 n s a n d v a r i a b l e s 0112720 a r e u s e d f o r m a 0112740 n i p u l a t i n g s t a c k 0112760 p o i n t e r s : \r ( S T A C 0113000 K P X ) \t [ F u n c t i o 0113020 n ] \r 1 \r \r R e t u r n s X 0113040 i f X i s a s t a c k 0113060 p o i n t e r , o t h e r w i 0113100 s e r e t u r n s N I L . \r 0113120 1 \r \r ( R E L S T K P O S ) 0113140 \t [ F u n c t i o n ] \r 1 \r \r 0113160 R e l e a s e t h e s t a c 0113200 k p o i n t e r P O S ( s 0113220 e e b e l o w ) . I f P 0113240 O S i s n o t a s t a c 0113260 k p o i n t e r , d o e s 0113300 n o t h i n g . R e t u r n 0113320 s P O S . \r 1 \r \r ( R E L S T 0113340 K P X ) \t [ F u n c t i o 0113360 n ] \r 1 \r \r R e t u r n s T 0113400 i s X i s a r e l e a s 0113420 e d s t a c k p o i n t e r 0113440 , N I L o t h e r w i s e . 0113460 \r 1 \r \r ( C L E A R S T K F L 0113500 G ) \t [ F u n c t i o n ] \r 0113520 1 \r \r I f F L G i s N I L 0113540 , r e l e a s e s a l l a 0113560 c t i v e s t a c k p o i n 0113600 t e r s , a n d r e t u r n 0113620 s N I L . I f F L G i 0113640 s T , r e t u r n s a l 0113660 i s t o f a l l t h e a 0113700 c t i v e ( u n r e l e a s e 0113720 d ) s t a c k p o i n t e r 0113740 s . \r 1 \r \r C L E A R S T K L S 0113760 T \t [ V a r i a b l e ] \r 1 0114000 \r \r A v a r i a b l e u s e 0114020 d b y t h e t o p - l e v 0114040 e l e x e c u t i v e . E 0114060 v e r y t i m e t h e t o 0114100 p - l e v e l e x e c u t i v 0114120 e i s r e - e n t e r e d 0114140 ( e . g . , f o l l o w i n g 0114160 e r r o r s , o r c o n t 0114200 r o l - D ) , C L E A R S T K 0114220 L S T i s c h e c k e d . 0114240 I f i t s v a l u e i s 0114260 T , a l l a c t i v e s 0114300 t a c k p o i n t e r s a r 0114320 e r e l e a s e d u s i n g 0114340 C L E A R S T K . I f i 0114360 t s v a l u e i s a l i 0114400 s t , t h e n a l l s t a 0114420 c k p o i n t e r s o n t 0114440 h a t l i s t a r e r e l 0114460 e a s e d . I f i t s v 0114500 a l u e i s N I L , n o t 0114520 h i n g i s r e l e a s e d 0114540 . C L E A R S T K L S T i 0114560 s i n i t i a l l y T . \r 1 0114600 \r \r N O C L E A R S T K L S T 0114620 \t [ V a r i a b l e ] \r 1 \r \r 0114640 A v a r i a b l e u s e d 0114660 b y t h e t o p - l e v e l 0114700 e x e c u t i v e . I f 0114720 C L E A R S T K L S T i s T 0114740 ( s e e a b o v e ) a l l 0114760 a c t i v e s t a c k p o 0115000 i n t e r s e x c e p t t h 0115020 o s e o n N O C L E A R S T 0115040 K L S T a r e r e l e a s e 0115060 d . N O C L E A R S T K L S 0115100 T i s i n i t i a l l y N 0115120 I L . \r 1 \r \r N o t e : 0115140 I f o n e w i s h e s t o 0115160 u s e m u l t i p l e e n 0115200 v i r o n m e n t s t h a t 0115220 s u r v i v e t h r o u g h 0115240 c o n t r o l - D , e i t h e 0115260 r C L E A R S T K L S T s h 0115300 o u l d b e s e t t o N 0115320 I L , o r e l s e t h o s 0115340 e s t a c k p o i n t e r s 0115360 t o b e r e t a i n e d 0115400 s h o u l d b e e x p l i c 0115420 i t l y a d d e d t o N O 0115440 C L E A R S T K L S T . \r T h e 0115460 c r e a t i o n o f a s 0115500 i n g l e s t a c k p o i n 0115520 t e r c a n r e s u l t i 0115540 n t h e r e t e n t i o n 0115560 o f a l a r g e a m o u n 0115600 t o f s t a c k s p a c e 0115620 . F u r t h e r m o r e , 0115640 t h i s s p a c e w i l l 0115660 n o t b e f r e e d u n t 0115700 i l t h e n e x t g a r b 0115720 a g e c o l l e c t i o n , 0115740 e v e n i f t h e s t a c 0115760 k p o i n t e r i s n o 0116000 l o n g e r b e i n g u s e 0116020 d , u n l e s s t h e s t 0116040 a c k p o i n t e r i s e 0116060 x p l i c i t l y r e l e a s 0116100 e d o r r e u s e d . I 0116120 f t h e r e i s s u f f i 0116140 c i e n t a m o u n t o f 0116160 s t a c k s p a c e t i e d 0116200 u p i n t h i s f a s h 0116220 i o n , a S T A C K O V E 0116240 R F L O W c o n d i t i o n 0116260 c a n o c c u r , e v e n 0116300 i n t h e s i m p l e s t 0116320 o f c o m p u t a t i o n s . 0116340 F o r t h i s r e a s o 0116360 n , t h e u s e r s h o u 0116400 l d c o n s i d e r r e l e 0116420 a s i n g a s t a c k p o 0116440 i n t e r w h e n t h e e 0116460 n v i r o n m e n t r e f e r 0116500 e n c e d b y t h e s t a 0116520 c k p o i n t e r i s n o 0116540 l o n g e r n e e d e d . \r 0116560 T h e e f f e c t s o f r 0116600 e l e a s i n g a s t a c k 0116620 p o i n t e r a r e : \r ( 1 0116640 ) T h e l i n k b e t w 0116660 e e n t h e s t a c k p o 0116700 i n t e r a n d t h e s t 0116720 a c k i s b r o k e n b y 0116740 s e t t i n g t h e c o n 0116760 t e n t s o f t h e s t a 0117000 c k p o i n t e r t o t h 0117020 e " r e l e a s e d m a r k 0117040 " ( c u r r e n t l y u n b 0117060 o x e d 0 ) . A r e l e 0117100 a s e d s t a c k p o i n t 0117120 e r p r i n t s a s # A D 0117140 R / # 0 . \r ( 2 ) I f t h 0117160 i s s t a c k p o i n t e r 0117200 w a s t h e l a s t r e 0117220 m a i n i n g r e f e r e n c 0117240 e t o a f r a m e e x t 0117260 e n s i o n ; t h a t i s , 0117300 i f n o o t h e r s t a 0117320 c k p o i n t e r r e f e r 0117340 e n c e s t h e f r a m e 0117360 e x t e n s i o n a n d t h 0117400 e e x t e n s i o n i s n 0117420 o t c o n t a i n e d i n 0117440 t h e a c t i v e c o n t r 0117460 o l o r a c c e s s c h a 0117500 i n , t h e n t h e e x t 0117520 e n s i o n m a y b e r e 0117540 c l a i m e d , a n d i s 0117560 r e c l a i m e d i m m e d i 0117600 a t e l y . T h e p r o c 0117620 e s s r e p e a t s f o r 0117640 t h e a c c e s s a n d c 0117660 o n t r o l c h a i n s o f 0117700 t h e r e c l a i m e d e 0117720 x t e n s i o n s o t h a t 0117740 a l l s t a c k s p a c e 0117760 t h a t w a s r e a c h a 0120000 b l e o n l y f r o m t h 0120020 e r e l e a s e d s t a c k 0120040 p o i n t e r i s r e c l 0120060 a i m e d . \r A s t a c k p 0120100 o i n t e r m a y b e r e 0120120 l e a s e d u s i n g t h e 0120140 f u n c t i o n R E L S T K 0120160 , b u t t h e r e a r e 0120200 s o m e c a s e s f o r w 0120220 h i c h R E L S T K i s n 0120240 o t s u f f i c i e n t . 0120260 F o r e x a m p l e , i f 0120300 a f u n c t i o n c o n t a 0120320 i n s a c a l l t o R E 0120340 T F R O M i n w h i c h a 0120360 s t a c k p o i n t e r w 0120400 a s u s e d t o s p e c i 0120420 f y w h e r e t o r e t u 0120440 r n t o , i t w o u l d 0120460 n o t b e p o s s i b l e 0120500 t o s i m u l t a n e o u s l 0120520 y r e l e a s e t h e s t 0120540 a c k p o i n t e r . ( A 0120560 R E L S T K a p p e a r i n 0120600 g i n t h e f u n c t i o 0120620 n f o l l o w i n g t h e 0120640 c a l l t o R E T F R O M 0120660 w o u l d n o t b e e x e 0120700 c u t e d ! ) T o p e r m 0120720 i t r e l e a s e o f a 0120740 s t a c k p o i n t e r i n 0120760 t h i s s i t u a t i o n , 0121000 t h e s t a c k f u n c t 0121020 i o n s t h a t r e l i n q 0121040 u i s h c o n t r o l h a v 0121060 e o p t i o n a l f l a g 0121100 a r g u m e n t s t o d e n 0121120 o t e w h e t h e r o r n 0121140 o t a s t a c k p o i n t 0121160 e r i s t o b e r e l e 0121200 a s e d ( A F L G a n d C 0121220 F L G ) . N o t e t h a t 0121240 i n t h i s c a s e r e 0121260 l e a s i n g t h e s t a c 0121300 k p o i n t e r w i l l n 0121320 o t c a u s e t h e s t a 0121340 c k s p a c e t o b e r 0121360 e c l a i m e d i m m e d i a 0121400 t e l y b e c a u s e t h e 0121420 f r a m e r e f e r e n c e 0121440 d b y t h e s t a c k p 0121460 o i n t e r w i l l h a v e 0121500 b e c o m e p a r t o f 0121520 t h e a c t i v e e n v i r 0121540 o n m e n t . \r A n o t h e r 0121560 w a y o f a v o i d i n g 0121600 c r e a t i n g n e w s t a 0121620 c k p o i n t e r s i s t 0121640 o r e u s e s t a c k p o 0121660 i n t e r s t h a t a r e 0121700 n o l o n g e r n e e d e d 0121720 . T h e s t a c k f u n 0121740 c t i o n s t h a t c r e a 0121760 t e s t a c k p o i n t e r 0122000 s ( S T K P O S , S T K N T 0122020 H , a n d S T K S C A N ) 0122040 h a v e a n o p t i o n a l 0122060 a r g u m e n t w h i c h 0122100 i s a s t a c k p o i n t 0122120 e r t o r e u s e . W h 0122140 e n a s t a c k p o i n t 0122160 e r i s r e u s e d , t w 0122200 o t h i n g s h a p p e n . 0122220 F i r s t t h e s t a c 0122240 k p o i n t e r i s r e l 0122260 e a s e d ( s e e a b o v e 0122300 ) . T h e n t h e p o i 0122320 n t e r t o t h e n e w 0122340 f r a m e e x t e n s i o n 0122360 i s d e p o s i t e d i n 0122400 t h e s t a c k p o i n t e 0122420 r . T h e o l d s t a 0122440 c k p o i n t e r ( w i t h 0122460 i t s n e w c o n t e n t 0122500 s ) i s t h e v a l u e 0122520 o f t h e f u n c t i o n . 0122540 N o t e t h a t t h e 0122560 r e u s e d s t a c k p o i 0122600 n t e r w i l l b e r e l 0122620 e a s e d e v e n i f t h 0122640 e f u n c t i o n d o e s 0122660 n o t f i n d t h e s p e 0122700 c i f i e d f r a m e . \r N o 0122720 t e t h a t e v e n i f 0122740 s t a c k p o i n t e r s a 0122760 r e e x p l i c i t l y b e 0123000 i n g r e l e a s e d , c r 0123020 e a t i o n o f m a n y s 0123040 t a c k p o i n t e r s c a 0123060 n c a u s e a g a r b a g 0123100 e c o l l e c t i o n o f 0123120 s t a c k p o i n t e r s p 0123140 a c e . T h u s , i f t 0123160 h e u s e r ' s a p p l i c 0123200 a t i o n r e q u i r e s c 0123220 r e a t i n g m a n y s t a 0123240 c k p o i n t e r s , h e 0123260 d e f i n i t e l y s h o u l 0123300 d t a k e a d v a n t a g e 0123320 o f r e u s i n g s t a c 0123340 k p o i n t e r s . \r \0 \0 \0 \0 0123360 \0 005 \0 \b \0 ( \0 314 \0 314 001 370 \0 022 \0 \0 0123400 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0123420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ) \0 K 0123440 \0 K 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0123460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0123500 T \0 \0 \0 \0 \0 / \0 K \0 314 001 370 \0 022 \0 0123520 \0 \0 \0 003 001 \0 001 001 001 370 001 \0 \0 \0 \0 \0 0123540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T 0123560 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 0123600 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0123620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 0123640 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0123660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0123700 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 \0 0123720 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 0123740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0123760 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 0124000 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0124020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 0124040 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0124060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0124100 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 M O 0124120 D E R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 0124140 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0124160 002 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 0124200 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0124220 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( D 0124240 E F A U L T F O N T 1 ( G A 0124260 C H A 1 0 ) ( G A C H A 8 0124300 ) ( T E R M I N A L 8 ) ) \0 0124320 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 0124340 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0124360 \0 006 \0 \0 \0 . \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0124400 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L E 0124420 . G E T F N 001 \0 024 \0 006 M O D E R 0124440 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0124460 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 P 0124500 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0124520 \b \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 0124540 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0124560 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 0124600 \v H R U L E . G E T F N 001 \0 024 \0 0124620 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0124640 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0124660 \0 \a \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 001 \0 0124700 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 0124720 001 \0 \0 \0 \0 001 \0 \0 \0 ' \0 \0 \0 \0 004 \0 0124740 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 0124760 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 \0 001 \0 0125000 \v H R U L E . G E T F N 001 \0 024 \0 0125020 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0125040 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0125060 \0 003 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 003 \0 0125100 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0125120 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0125140 \0 002 \0 001 \0 \v H R U L E . G E T F 0125160 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0125200 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0125220 \0 \0 \0 \0 002 \0 \a \0 \0 \0 032 \0 \0 \0 \0 004 0125240 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 022 \0 \0 \0 0125260 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0 \0 0125300 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0125320 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0125340 \0 002 \0 001 \0 \v H R U L E . G E T F 0125360 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0125400 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0125420 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \t \0 \0 \0 \0 002 0125440 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 0125460 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0125500 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L E 0125520 . G E T F N 001 \0 024 \0 006 M O D E R 0125540 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0125560 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 \b 0125600 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0125620 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 0125640 \0 \0 \0 036 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0125660 \0 002 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0125700 002 \0 \a \0 \0 \0 002 \0 001 \0 \v H R U L E 0125720 . G E T F N 001 \0 024 \0 006 M O D E R 0125740 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0125760 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \n 0126000 \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 0126020 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 0126040 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v 0126060 H R U L E . G E T F N 001 \0 024 \0 006 0126100 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0126120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0126140 \a \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0126160 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 003 0126200 \0 \0 \0 \0 002 \0 \0 \0 2 \0 \0 \0 \0 004 \0 \0 0126220 \0 003 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 0126240 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 0126260 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 @ \0 0126300 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 0126320 \0 001 \0 \v H R U L E . G E T F N 001 0126340 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0126360 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0126400 \0 \0 002 \0 003 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 0126420 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 0126440 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0126460 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0126500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0126520 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 206 \0 \0 \0 \0 0126540 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 036 \0 \0 0126560 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 / 0126600 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 0126620 \0 _ \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 0126640 \0 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 0126660 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 001 \0 0126700 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 0126720 \0 \0 002 \0 \a \0 \0 \0 002 \0 001 \0 \v H R U 0126740 L E . G E T F N 001 \0 024 \0 006 M O D 0126760 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0127000 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0127020 \0 \r \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 0127040 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v 0127060 H R U L E . G E T F N 001 \0 024 \0 006 0127100 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0127120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0127140 \a \0 \0 \0 0 \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 0127160 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 0127200 \0 \0 \0 \0 002 \0 \0 \0 ' \0 \0 \0 \0 004 \0 \0 0127220 \0 006 \0 \0 \0 \0 001 \0 \0 \0 \n \0 \0 \0 \0 004 0127240 \0 \0 \0 \r \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 \0 0127260 \0 004 \0 \0 \0 \r \0 \0 \0 \0 002 \0 \0 \0 016 \0 0127300 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 0127320 004 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0127340 \0 002 \0 001 \0 \v H R U L E . G E T F 0127360 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0127400 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0127420 \0 \0 \0 \0 002 \0 001 \0 \0 \0 Y \0 \0 \0 \0 004 0127440 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 022 \0 \0 \0 0127460 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 L \0 0127500 \0 \0 \0 004 \0 \0 \0 \r \0 \0 \0 \0 002 \0 \0 \0 0127520 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0127540 \0 263 \0 \0 \0 \0 004 \0 \0 \0 1 \0 \0 \0 \0 001 0127560 \0 \0 \0 206 \0 \0 \0 \0 004 \0 \0 \0 016 \0 \0 \0 0127600 \0 002 \0 \0 \0 313 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0127620 002 \0 004 \0 \0 \0 . \0 \0 \0 \0 004 \0 \0 \0 \0 0127640 \0 002 \0 004 \0 \0 \0 277 \0 \0 \0 \0 004 \0 \0 \0 0127660 001 \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 001 \0 0127700 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 0127720 001 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0127740 \0 004 \0 \0 001 321 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0127760 002 \0 004 \0 \0 \0 3 \0 \0 \0 \0 004 \0 \0 \0 006 0130000 \0 \0 \0 \0 002 \0 \0 \0 % \0 \0 \0 \0 004 \0 \0 0130020 \0 006 \0 \0 \0 \0 002 \0 \0 \0 C \0 \0 \0 \0 004 0130040 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 214 \0 \0 \0 0130060 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 1 \0 0130100 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 0130120 327 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 0130140 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 0130160 001 \0 \0 \0 < \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0130200 \0 \0 001 \0 \0 \0 226 \0 \0 \0 \0 004 \0 \0 \0 \0 0130220 \0 002 \0 004 \0 \0 \0 : \0 \0 \0 \0 004 \0 \0 \0 0130240 005 \0 \0 \0 \0 001 \0 \0 \0 \ \0 \0 \0 \0 004 \0 0130260 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 0130300 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 0130320 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 001 260 0130340 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0130360 @ \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 001 \0 0130400 \0 \0 326 \0 \0 \0 \0 004 \0 \0 246 354 \0 300 z 272 0130420 \r 1 1 . 2 . 4 \t A l t e r i 0130440 n g F l o w o f C o n t r 0130460 o l \r 1 \r \r T h e f o l l o w 0130500 i n g f u n c t i o n s a r 0130520 e u s e d t o a l t e r 0130540 t h e n o r m a l f l o w 0130560 o f c o n t r o l , p o s s 0130600 i b l y j u m p i n g t o 0130620 a d i f f e r e n t f r a m 0130640 e o n t h e s t a c k . 0130660 R E T E V A L a n d R E T 0130700 A P P L Y a l l o w e v a l 0130720 u a t i n g a n e x p r e s 0130740 s i o n i n t h e s p e c 0130760 i f i e d e n v i r o n m e n 0131000 t f i r s t . \r ( R E T F R O 0131020 M P O S V A L F L G ) 0131040 \t [ F u n c t i o n ] \r 1 \r \r R 0131060 e t u r n f r o m t h e f 0131100 r a m e s p e c i f i e d b 0131120 y t h e s t a c k d e s c 0131140 r i p t o r P O S , w i t h 0131160 t h e v a l u e V A L . 0131200 I f F L G i s n o t N 0131220 I L , a n d P O S i s a 0131240 s t a c k p o i n t e r , 0131260 t h e n P O S i s r e l e 0131300 a s e d . A n a t t e m p 0131320 t t o R E T F R O M t h e 0131340 t o p l e v e l ( e . g . 0131360 , ( R E T F R O M T ) ) 0131400 c a u s e s a n e r r o r , 0131420 I L L E G A L S T A C K A 0131440 R G . R E T F R O M c a n 0131460 b e w r i t t e n i n t 0131500 e r m s o f E N V E V A L 0131520 a s f o l l o w s : \r ( R E T 0131540 F R O M \r ( L A M B D A ( 0131560 P O S V A L F L G ) \r 0131600 ( E N V E V A L ( L I S T 0131620 ' Q U O T E V A L ) \r 0131640 N I L \r 0131660 ( i f 0131700 ( S T K N T H - 1 P O S 0131720 ( i f F L G t h e n P O S 0131740 ) ) \r 0131760 e l s e ( E R R O R X 0132000 ( L I S T 1 9 P O S ) ) ) 0132020 \r N 0132040 I L \r 0132060 T ) ) ) \r 1 \r \r ( R E T T O 0132100 P O S V A L F L G ) \t [ 0132120 F u n c t i o n ] \r 1 \r \r L i k 0132140 e R E T F R O M , e x c e p 0132160 t r e t u r n s t o t h e 0132200 f r a m e s p e c i f i e d 0132220 b y P O S . \r 1 \r 377 377 \0 \0 \r 0132240 \0 ( \0 R \0 E \0 T \0 E \0 V \0 A \0 L 0132260 \0 \0 P \0 O \0 S \0 \0 F \0 O \0 R 0132300 \0 M \0 \0 F \0 L \0 G \0 357 % \0 ) 0132320 \0 \0 \0 \t \0 [ \0 F \0 u \0 n \0 c 0132340 \0 t \0 i \0 o \0 n \0 ] \0 \r 1 \r \r 377 0132360 \0 E v a l u a t e s F O R M 0132400 i n t h e a c c e s s e n 0132420 v i r o n m e n t o f t h e 0132440 f r a m e s p e c i f i e d 0132460 b y t h e s t a c k d e 0132500 s c r i p t o r P O S , a n 0132520 d t h e n r e t u r n s f 0132540 r o m P O S w i t h t h a 0132560 t v a l u e . I f F L G 0132600 i s n o t N I L a n d 0132620 P O S i s a s t a c k p 0132640 o i n t e r , t h e n P O S 0132660 i s r e l e a s e d . T 0132700 h e d e f i n i t i o n o f 0132720 R E T E V A L i s e q u i 0132740 v a l e n t t o ( E N V E V 0132760 A L F O R M P O S ( S T K 0133000 N T H - 1 P O S ) F L G 0133020 T ) , e x c e p t t h a t 0133040 R E T E V A L d o e s n o t 0133060 c r e a t e a s t a c k 0133100 p o i n t e r . \r 1 \r \r ( R E T 0133120 A P P L Y P O S F N A R G 0133140 S F L G ) \t [ F u n c t i 0133160 o n ] \r 1 \r \r S i m i l a r t 0133200 o R E T E V A L e x c e p t 0133220 a p p l i e s F N t o A 0133240 R G S . \r 1 \r \r \0 \0 \0 \0 \0 005 \0 \t 0133260 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 001 0133300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133320 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 0133340 \0 005 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 0133360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133400 \0 ) \0 K \0 K 001 370 \0 \0 \0 \0 \0 \0 002 001 0133420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133440 \0 \0 \0 001 T \0 \0 \0 \0 \0 / \0 K \0 314 001 0133460 370 \0 022 \0 \0 \0 \0 003 001 \0 001 001 001 370 001 \0 0133500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133520 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 0133540 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 0133560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133600 \0 ( \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 0133620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133640 \0 \0 \0 \0 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 0133660 \0 \f \0 \0 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 0133700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133720 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 0133740 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0134000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0134020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0134040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 0134060 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0134100 001 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0134120 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0134140 \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O 0134160 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? 0134200 \0 1 ( D E F A U L T F O N T 1 0134220 ( G A C H A 1 0 ) ( G A C 0134240 H A 8 ) ( T E R M I N A L 0134260 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0134300 \0 \0 002 \0 \b \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0134320 \0 \0 \0 002 \0 \a \0 \0 \0 " \0 \0 \0 \0 003 \0 0134340 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H 0134360 R U L E . G E T F N 001 \0 024 \0 006 M 0134400 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0134420 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 0134440 \0 \0 \0 { \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 0134460 \0 002 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 \b \0 0134500 \0 \0 \0 002 \0 \0 \0 D \0 \0 \0 \0 004 \0 \0 \0 0134520 \0 \0 002 \0 004 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 0134540 \0 \v \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0134560 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0134600 003 \0 \0 \0 002 \0 001 \0 \v H R U L E . G 0134620 E T F N 001 \0 024 \0 006 M O D E R N \0 0134640 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0134660 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 8 \0 \0 0134700 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 021 0134720 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 0134740 \0 006 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 0134760 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0135000 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 003 \0 0135020 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 0135040 003 \0 \0 \0 \0 001 \0 \0 \0 035 \0 \0 \0 \0 004 \0 0135060 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 027 \0 \0 \0 \0 0135100 004 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 022 \0 \0 0135120 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0 002 \0 \0 \0 003 0135140 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 0135160 \0 034 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 0135200 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0135220 002 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0135240 \0 001 \0 \0 \0 030 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0135260 002 \0 001 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 0135300 \0 002 \0 001 \0 \0 \0 022 \0 \0 \0 \0 002 \0 \0 \0 0135320 \0 \0 002 \0 001 \0 \0 \0 4 \0 \0 \0 \0 002 \0 \0 0135340 \0 \0 \0 002 \0 001 \0 \0 \0 . \0 \0 \0 \0 002 \0 0135360 \0 \0 \0 \0 002 \0 001 \0 \0 \0 022 \0 \0 \0 \0 002 0135400 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 023 \0 \0 \0 \0 0135420 002 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 002 \0 001 \0 0135440 \v H R U L E . G E T F N 001 \0 024 \0 0135460 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0135500 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0135520 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 \v \0 0135540 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0135560 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0135600 \0 002 \0 001 \0 \v H R U L E . G E T F 0135620 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0135640 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0135660 \0 \0 \0 \0 002 \0 \b \0 \0 \0 005 \0 \0 \0 \0 004 0135700 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 021 \0 \0 \0 0135720 \0 004 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 030 \0 0135740 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0135760 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 0136000 \0 002 \0 001 \0 \v H R U L E . G E T F 0136020 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0136040 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 \0 \0 002 \0 004 \0 0136060 \0 \0 \0 \0 002 \0 004 \0 \0 \0 022 \0 \0 002 \0 002 0136100 \0 \0 \0 034 \0 \0 002 \0 001 \0 \0 \0 002 \0 \0 002 0136120 \0 002 \0 \0 \0 034 \0 \0 002 \0 004 \0 \0 \0 \0 \0 0136140 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R U L E 0136160 . G E T F N 001 \0 024 \0 006 M O D E R 0136200 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0136220 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 \f 0136240 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 0136260 \0 J \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 0136300 \0 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0136320 \0 001 \0 \0 \0 026 \0 \0 \0 \0 004 \0 \0 \0 003 \0 0136340 \0 \0 \0 001 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 0136360 003 \0 \0 \0 \0 002 \0 \0 \0 005 \0 \0 \0 \0 004 \0 0136400 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 0136420 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 ! \0 \0 0136440 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 022 0136460 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 0136500 \0 004 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0136520 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 \f \0 \0 \0 0136540 \0 002 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 002 \0 0136560 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0136600 003 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 0136620 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 " \0 \0 \0 \0 0136640 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 002 \0 001 \0 0136660 \v H R U L E . G E T F N 001 \0 024 \0 0136700 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0136720 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0136740 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 017 \0 0136760 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0137000 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0137020 \0 002 \0 001 \0 \v H R U L E . G E T F 0137040 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0137060 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0137100 \0 \0 \0 \0 002 \0 \b \0 \0 \0 \v \0 \0 \0 \0 004 0137120 \0 \0 \0 \a \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 \0 0137140 \0 004 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 004 \0 0137160 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 0137200 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \b \0 \0 0137220 \0 002 \0 001 \0 \v H R U L E . G E T F 0137240 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0137260 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0137300 \0 266 250 \0 217 z 272 \r 1 1 . 2 . 3 0137320 \t E v a l u a t i n g E x p r 0137340 e s s i o n s i n S t a c k 0137360 F r a m e s \r 1 \r \r T h e f 0137400 o l l o w i n g f u n c t i o 0137420 n s a r e u s e d t o e 0137440 v a l u a t e a n e x p r e 0137460 s s i o n i n a d i f f e 0137500 r e n t e n v i r o n m e n t 0137520 : \r ( E N V E V A L F O R M 0137540 A P O S C P O S A F L G C 0137560 F L G ) \t [ F u n c t i o n 0137600 ] \r 1 \r \r E v a l u a t e s F 0137620 O R M i n t h e e n v i r 0137640 o n m e n t s p e c i f i e d 0137660 b y A P O S a n d C P O 0137700 S . T h a t i s , a n 0137720 e w a c t i v e f r a m e 0137740 i s c r e a t e d w i t h 0137760 t h e f r a m e s p e c i f 0140000 i e d b y t h e s t a c k 0140020 d e s c r i p t o r A P O S 0140040 a s i t s A L I N K , a 0140060 n d t h e f r a m e s p e 0140100 c i f i e d b y t h e s t 0140120 a c k d e s c r i p t o r C 0140140 P O S a s i t s C L I N K 0140160 . T h e n F O R M i s 0140200 e v a l u a t e d . I f A 0140220 F L G i s n o t N I L , 0140240 a n d A P O S i s a s t 0140260 a c k p o i n t e r , t h e 0140300 n A P O S w i l l b e r 0140320 e l e a s e d . S i m i l a 0140340 r l y , i f C F L G i s 0140360 n o t N I L , a n d C P O 0140400 S i s a s t a c k p o i 0140420 n t e r , t h e n C P O S 0140440 w i l l b e r e l e a s e d 0140460 . \r 1 \r \r ( E N V A P P L Y F 0140500 N A R G S A P O S C P O S 0140520 A F L G C F L G ) \t [ F 0140540 u n c t i o n ] \r 1 \r \r A P P L 0140560 Y s F N t o A R G S i n 0140600 t h e e n v i r o n m e n t 0140620 s p e c i f i e d b y A P 0140640 O S a n d C P O S . A F 0140660 L G a n d C F L G h a v e 0140700 t h e s a m e i n t e r p 0140720 r e t a t i o n a s w i t h 0140740 E N V E V A L . \r 1 \r \r ( E V 0140760 A L V V A R P O S R E L F 0141000 L G ) \t [ F u n c t i o n ] 0141020 \r 1 \r \r E v a l u a t e s V A 0141040 R , w h e r e V A R i s 0141060 a s s u m e d t o b e a 0141100 l i t a t o m , i n t h e 0141120 a c c e s s e n v i r o n m e 0141140 n t s p e c i f e d b y t 0141160 h e s t a c k d e s c r i p 0141200 t o r P O S . I f V A R 0141220 i s u n b o u n d , E V A 0141240 L V r e t u r n s N O B I N 0141260 D a n d d o e s n o t g 0141300 e n e r a t e a n e r r o r 0141320 . I f R E L F L G i s 0141340 n o n - N I L a n d P O S 0141360 i s a s t a c k p o i n t 0141400 e r , i t w i l l b e r 0141420 e l e a s e d a f t e r t h 0141440 e v a r i a b l e i s l o 0141460 o k e d u p . W h i l e 0141500 E V A L V c o u l d b e d 0141520