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