$ od -c -N 50000 [Erinyes]<LispManual>OutputFns.im!9
0000000 \r \r { B e g i n S u b S e c
0000020 O u t p u t F u n c t i o n s
0000040 } \r { T i t l e O u t p u t
0000060 F u n c t i o n s } \r { T e x t
0000100 \r \r { i n d e x * P R I M A R
0000120 Y * O u t p u t f u n c t i
0000140 o n s } \r \r U n l e s s o t h
0000160 e r w i s e s p e c i f i e d
0000200 b y { f n D E F P R I N T
0000220 } ( { P a g e R e f F n D
0000240 E F P R I N T } ) , p o i n
0000260 t e r s o t h e r t h a n
0000300 l i s t s , s t r i n g s ,
0000320 a t o m s , o r n u m b e r
0000340 s , a r e p r i n t e d i
0000360 n t h e f o r m { l i s p
0000400 { b r a c k e t { a r g D
0000420 A T A T Y P E } } } f o l l o
0000440 w e d b y t h e o c t a l
0000460 r e p r e s e n t a t i o n
0000500 o f t h e a d d r e s s o
0000520 f t h e p o i n t e r ( r
0000540 e g a r d l e s s o f r a d
0000560 i x ) . F o r e x a m p l
0000600 e , a n a r r a y p o i n
0000620 t e r m i g h t p r i n t
0000640 a s { l i s p { b r a c k e
0000660 t A R R A Y P } # 4 3 , 2 7 6
0000700 0 } . T h i s p r i n t e
0000720 d r e p r e s e n t a t i o n
0000740 i s f o r c o m p a c t n
0000760 e s s o f d i s p l a y o
0001000 n t h e u s e r ' s t e r
0001020 m i n a l , a n d w i l l
0001040 { e m p h a s i z e n o t }
0001060 r e a d b a c k i n c o r
0001100 r e c t l y ; i f t h e f
0001120 o r m a b o v e i s r e a
0001140 d , i t w i l l p r o d u
0001160 c e t h e l i t a t o m {
0001200 l i s p { b r a c k e t A R
0001220 R A Y P } # 4 3 , 2 7 6 0 } . \r
0001240 \r \r N o t e : t h e t e r m
0001260 " e n d - o f - l i n e " { i
0001300 n d e x E n d - o f - l i n e
0001320 c h a r a c t e r } a p p e
0001340 a r i n g i n t h e d e s
0001360 c r i p t i o n o f a n o
0001400 u t p u t f u n c t i o n m
0001420 e a n s t h e c h a r a c t
0001440 e r o r c h a r a c t e r s
0001460 u s e d t o t e r m i n a
0001500 t e a l i n e i n t h e
0001520 f i l e s y s t e m b e i
0001540 n g u s e d b y t h e g
0001560 i v e n i m p l e m e n t a t
0001600 i o n o f I n t e r l i s p
0001620 . F o r e x a m p l e ,
0001640 i n I n t e r l i s p - D e
0001660 n d - o f - l i n e i s i n
0001700 d i c a t e d b y t h e c
0001720 h a r a c t e r c a r r i a g
0001740 e - r e t u r n . { i n d e x
0001760 * P R I M A R Y * C a r r i a
0002000 g e - r e t u r n } \r \r \r S o m
0002020 e o f t h e f u n c t i o
0002040 n s d e s c r i b e d b e l
0002060 o w h a v e a { a r g R
0002100 D T B L } a r g u m e n t ,
0002120 w h i c h s p e c i f i e s
0002140 t h e { i n d e x r e a d
0002160 t a b l e s } r e a d t a b l
0002200 e t o b e u s e d f o r
0002220 o u t p u t ( s e e { P a
0002240 g e R e f T e r m R e a d
0002260 T a b l e s } ) . I f { a
0002300 r g R D T B L } i s { l i
0002320 s p N I L } , t h e { i n
0002340 d e x p r i m a r y r e a d
0002360 t a b l e } p r i m a r y r
0002400 e a d t a b l e i s u s e
0002420 d . \r \r M o s t o f t h e
0002440 f u n c t i o n s d e s c r i
0002460 b e d b e l o w h a v e a
0002500 n a r g u m e n t { a r g
0002520 F I L E } , w h i c h s p e
0002540 c i f i e s t h e s t r e a
0002560 m o n w h i c h t h e o
0002600 p e r a t i o n i s t o t
0002620 a k e p l a c e . I f {
0002640 a r g F I L E } i s { l i
0002660 s p N I L } , t h e { i n
0002700 d e x p r i m a r y s t r e
0002720 a m s } p r i m a r y o u t p
0002740 u t s t r e a m i s u s e
0002760 d ( s e e { P a g e R e f
0003000 T e r m p r i m a r y s t r
0003020 e a m s } ) . \r \r \r { F n D e f
0003040 { F n N a m e O U T P U T }
0003060 { F n A r g s F I L E } \r {
0003100 T e x t \r S e t s { a r g F
0003120 I L E } a s t h e { i n d
0003140 e x * P R I M A R Y * P r i
0003160 m a r y o u t p u t s t r e
0003200 a m } p r i m a r y o u t p u
0003220 t s t r e a m ; r e t u r n
0003240 s t h e o l d p r i m a r
0003260 y o u t p u t s t r e a m .
0003300 { a r g F I L E } m u s
0003320 t b e o p e n f o r o u
0003340 t p u t . \r \r { l i s p ( O U
0003360 T P U T ) } r e t u r n s t
0003400 h e c u r r e n t p r i m a
0003420 r y o u t p u t s t r e a m
0003440 , w h i c h i s n o t c
0003460 h a n g e d . \r \r N o t e :
0003500 I f t h e p r i m a r y o
0003520 u t p u t s t r e a m i s
0003540 s e t t o a f i l e , t
0003560 h e f i l e ' s f u l l n
0003600 a m e , r a t h e r t h a n
0003620 t h e s t r e a m i t s e
0003640 l f , i s r e t u r n e d .
0003660 S e e d i s c u s s i o n
0003700 o n { P a g e R e f T a g
0003720 S t r e a m F i l e N a m e s
0003740 } . \r } } \r \r \r \r { F n D e f
0003760 { F n N a m e P R I N 1 } {
0004000 F n A r g s X F I L E } \r {
0004020 T e x t \r P r i n t s { a r g
0004040 X } o n { a r g F I L E
0004060 } . \r } } \r \r \r { F n D e f {
0004100 F n N a m e P R I N 2 } { F
0004120 n A r g s X F I L E R D T
0004140 B L } \r { T e x t \r P r i n t s
0004160 { a r g X } o n { a r g
0004200 F I L E } w i t h { l i s
0004220 p % } ' s a n d { l i s p
0004240 " } ' s i n s e r t e d w
0004260 h e r e r e q u i r e d f o
0004300 r i t t o r e a d b a c
0004320 k i n p r o p e r l y b y
0004340 { f n R E A D } , u s i n
0004360 g { a r g R D T B L } . \r }
0004400 } \r \r \r B o t h { f n P R I
0004420 N 1 } a n d { f n P R I N
0004440 2 } p r i n t a n y k i n
0004460 d o f L i s p e x p r e s
0004500 s i o n , i n c l u d i n g
0004520 l i s t s , a t o m s , n u
0004540 m b e r s , a n d s t r i n
0004560 g s . { f n P R I N 1 }
0004600 i s g e n e r a l l y u s e
0004620 d f o r p r i n t i n g e
0004640 x p r e s s i o n s w h e r e
0004660 h u m a n r e a d a b i l i
0004700 t y , r a t h e r t h a n
0004720 m a c h i n e r e a d a b i l
0004740 i t y , i s i m p o r t a n
0004760 t , e . g . , w h e n p r
0005000 i n t i n g t e x t r a t h
0005020 e r t h a n p r o g r a m
0005040 f r a g m e n t s . { f n
0005060 P R I N 1 } d o e s n o t
0005100 p r i n t d o u b l e q u o
0005120 t e s a r o u n d s t r i n
0005140 g s , o r { l i s p % }
0005160 i n f r o n t o f s p e c
0005200 i a l c h a r a c t e r s .
0005220 { f n P R I N 2 } i s u
0005240 s e d f o r p r i n t i n g
0005260 I n t e r l i s p e x p r e
0005300 s s i o n s w h i c h c a n
0005320 t h e n b e r e a d b a
0005340 c k i n t o I n t e r l i s
0005360 p w i t h { f n R E A D }
0005400 ; i . e . , b r e a k a n
0005420 d s e p a r a t o r c h a r
0005440 a c t e r s i n a t o m s
0005460 w i l l b e p r e c e d e d
0005500 b y { l i s p % } ' s .
0005520 F o r e x a m p l e , t h
0005540 e a t o m " { l i s p ( )
0005560 } " i s p r i n t e d a s
0005600 { l i s p % ( % ) } b y
0005620 { f n P R I N 2 } . I f
0005640 t h e i n t e g e r o u t p
0005660 u t r a d i x ( a s s e t
0005700 b y { i n d e x R A D I X
0005720 F N } { f n R A D I X } ,
0005740 { P a g e R e f F n R A D I
0005760 X } ) i s n o t 1 0 , {
0006000 f n P R I N 2 } p r i n t s
0006020 t h e i n t e g e r u s i
0006040 n g t h e { i n d e x I n
0006060 t e g e r i n p u t s y n t
0006100 a x } i n p u t s y n t a x
0006120 f o r n o n - d e c i m a l
0006140 i n t e g e r s ( s e e { P
0006160 a g e R e f T e r m I n t e
0006200 g e r i n p u t s y n t a x
0006220 } ) b u t { f n P R I N 1
0006240 } d o e s n o t ( b u t
0006260 b o t h p r i n t t h e i
0006300 n t e g e r i n t h e o u
0006320 t p u t r a d i x ) . \r \r \r {
0006340 F n D e f { F n N a m e P R
0006360 I N 3 } { F n A r g s X F
0006400 I L E } } \r { F n D e f { F n
0006420 N a m e P R I N 4 } { F n A
0006440 r g s X F I L E R D T B L
0006460 } \r { T e x t \r { f n P R I N
0006500 3 } a n d { f n P R I N 4
0006520 } a r e t h e s a m e a
0006540 s { f n P R I N 1 } a n d
0006560 { f n P R I N 2 } r e s p
0006600 e c t i v e l y , e x c e p t
0006620 t h a t t h e y d o n o
0006640 t i n c r e m e n t t h e
0006660 h o r i z o n t a l p o s i t
0006700 i o n c o u n t e r n o r
0006720 p e r f o r m a n y l i n e
0006740 l e n g t h c h e c k s .
0006760 T h e y a r e u s e f u l
0007000 p r i m a r i l y f o r p r
0007020 i n t i n g c o n t r o l c
0007040 h a r a c t e r s . \r } } \r \r \r
0007060 \r { F n D e f { F n N a m e
0007100 P R I N T } { F n A r g s X
0007120 F I L E R D T B L } \r { T e
0007140 x t \r P r i n t s t h e e x
0007160 p r e s s i o n { a r g X }
0007200 u s i n g { f n P R I N 2
0007220 } f o l l o w e d b y a n
0007240 e n d - o f - l i n e . R
0007260 e t u r n s { a r g X } . \r
0007300 } } \r \r { F n D e f { N a m e
0007320 P R I N T C C O D E } { A r
0007340 g s C H A R C O D E F I L E
0007360 } \r { T e x t \r O u t p u t s
0007400 a s i n g l e c h a r a c t
0007420 e r w h o s e c o d e i s
0007440 { a r g C H A R C O D E }
0007460 t o { a r g F I L E } .
0007500 T h i s i s s i m i l a r
0007520 t o { l i s p ( P R I N 1
0007540 ( C H A R A C T E R { a r g
0007560 C H A R C O D E } ) ) } , e x
0007600 c e p t t h a t n u m e r i
0007620 c c h a r a c t e r s a r e
0007640 g u a r a n t e e d t o p
0007660 r i n t " c o r r e c t l y "
0007700 ; e . g . , { L i s p ( P
0007720 R I N T C C O D E ( C H A R C
0007740 O D E 9 ) ) } a l w a y s
0007760 p r i n t s " { l i s p 9 }
0010000 " , i n d e p e n d e n t o
0010020 f t h e s e t t i n g o f
0010040 { f n R A D I X } . \r \r N o
0010060 t e t h a t { f n P R I N
0010100 T C C O D E } m a y a c t u
0010120 a l l y p r i n t m o r e
0010140 t h a n o n e b y t e o n
0010160 { a r g F I L E } , d u e
0010200 t o c h a r a c t e r e n
0010220 c o d i n g a n d e n d o
0010240 f l i n e c o n v e n t i o
0010260 n s ; t h u s , n o a s s
0010300 u m p t i o n s s h o u l d
0010320 b e m a d e a b o u t t h
0010340 e r e l a t i v e m o t i o
0010360 n o f t h e f i l e p o
0010400 i n t e r ( s e e { f n G
0010420 E T F I L E P T R } , { p a g
0010440 e r e f f n G E T F I L E P
0010460 T R } ) d u r i n g t h i s
0010500 o p e r a t i o n . \r } } \r \r
0010520 \r { F n D e f { N a m e B O
0010540 U T } { A r g s S T R E A M
0010560 B Y T E } \r { T e x t \r O u t
0010600 p u t s a s i n g l e 8 -
0010620 b i t b y t e t o { a r g
0010640 S T R E A M } . T h i s
0010660 i s s i m i l a r t o { f
0010700 n P R I N T C C O D E } , b
0010720 u t f o r b i n a r y s t
0010740 r e a m s t h e c h a r a c
0010760 t e r p o s i t i o n i n
0011000 { a r g S T R E A M } i s
0011020 n o t u p d a t e d ( a s
0011040 w i t h { f n P R I N 3 } )
0011060 , a n d e n d o f l i n
0011100 e c o n v e n t i o n s a r
0011120 e i g n o r e d . \r } } \r
0011140 \r N o t e : { f n B O U T
0011160 } i s s i m i l a r t o
0011200 { f n P R I N T C C O D E } ,
0011220 e x c e p t t h a t { f n
0011240 B O U T } a l w a y s w r
0011260 i t e s a s i n g l e b y
0011300 t e , w h e r e a s { f n
0011320 P R I N T C C O D E } w r i t
0011340 e s a " c h a r a c t e r "
0011360 t h a t c a n c o n s i s
0011400 t o f m o r e t h a n o
0011420 n e b y t e , d e p e n d i
0011440 n g o n t h e c h a r a c
0011460 t e r a n d i t s e n c o
0011500 d i n g ( s e e { i n d e x
0011520 N S c h a r a c t e r I /
0011540 O } { P a g e R e f T e r m
0011560 N S c h a r a c t e r I / O
0011600 } ) . \r \r \r { F n D e f { F n
0011620 N a m e S P A C E S } { F n
0011640 A r g s N F I L E } \r { T e
0011660 x t \r P r i n t s { a r g N
0011700 } s p a c e s . R e t u r
0011720 n s { l i s p N I L } . \r }
0011740 } \r \r \r { F n D e f { F n N a
0011760 m e T E R P R I } { F n A r
0012000 g s F I L E } \r { T e x t \r P
0012020 r i n t s a n e n d - o f -
0012040 l i n e c h a r a c t e r . {
0012060 i n d e x E n d - o f - l i n
0012100 e c h a r a c t e r } R e
0012120 t u r n s { l i s p N I L }
0012140 . \r } } \r \r { F n D e f { F n
0012160 N a m e F R E S H L I N E }
0012200 { F n A r g s S T R E A M } \r
0012220 { T e x t \r E q u i v a l e n t
0012240 t o { f n T E R P R I } ,
0012260 e x c e p t i t d o e s
0012300 n o t h i n g i f i t i s
0012320 a l r e a d y a t t h e
0012340 b e g i n n i n g o f t h e
0012360 l i n e . R e t u r n s
0012400 { l i s p T } i f i t p
0012420 r i n t s a n e n d - o f -
0012440 l i n e , { l i s p N I L }
0012460 o t h e r w i s e . \r } } \r \r
0012500 { F n D e f { F n N a m e T
0012520 A B } { F n A r g s P O S
0012540 M I N S P A C E S F I L E } \r
0012560 { T e x t \r P r i n t s t h e
0012600 a p p r o p r i a t e n u m
0012620 b e r o f s p a c e s t o
0012640 m o v e t o p o s i t i o
0012660 n { a r g P O S } . { a
0012700 r g M I N S P A C E S } i n
0012720 d i c a t e s h o w m a n y
0012740 s p a c e s m u s t b e
0012760 p r i n t e d ( i f { l i s
0013000 p N I L } , 1 i s u s e
0013020 d ) . I f t h e c u r r
0013040 e n t p o s i t i o n p l u
0013060 s { a r g M I N S P A C E S
0013100 } i s g r e a t e r t h a
0013120 n { a r g P O S } , { f n
0013140 T A B } d o e s a { f n
0013160 T E R P R I } a n d t h e
0013200 n { l i s p ( S P A C E S
0013220 { a r g P O S } ) } . I f
0013240 { a r g M I N S P A C E S }
0013260 i s { l i s p T } , a n
0013300 d t h e c u r r e n t p o
0013320 s i t i o n i s g r e a t e
0013340 r t h a n { a r g P O S }
0013360 , t h e n { f n T A B }
0013400 d o e s n o t h i n g . \r } }
0013420 \r \r \r N o t e : A s e q u
0013440 e n c e o f { f n P R I N
0013460 T } , { f n P R I N 2 } ,
0013500 { f n S P A C E S } , a n d
0013520 { f n T E R P R I } e x p
0013540 r e s s i o n s c a n o f t
0013560 e n b e m o r e c o n v e
0013600 n i e n t l y c o d e d w i
0013620 t h a s i n g l e { l i s
0013640 p P R I N T O U T } s t a t
0013660 e m e n t ( { P a g e R e f
0013700 T a g P R I N T O U T } ) . \r
0013720 \r \r \r { F n D e f { F n N a m
0013740 e S H O W P R I N 2 } { F n
0013760 A r g s X F I L E R D T B
0014000 L } \r { T e x t \r L i k e { f
0014020 n P R I N 2 } e x c e p t
0014040 i f { v a r S Y S P R E T T
0014060 Y F L G } = { l i s p T } { i
0014100 n d e x S Y S P R E T T Y F L
0014120 G V a r } , p r e t t y p r
0014140 i n t s { a r g X } i n s
0014160 t e a d . R e t u r n s {
0014200 a r g X } . \r } } \r \r \r { F n
0014220 D e f { F n N a m e S H O W
0014240 P R I N T } { F n A r g s
0014260 X F I L E R D T B L } \r { T
0014300 e x t \r L i k e { f n P R I
0014320 N T } e x c e p t i f { v
0014340 a r S Y S P R E T T Y F L G }
0014360 = { l i s p T } { i n d e x
0014400 S Y S P R E T T Y F L G V a r
0014420 } , p r e t t y p r i n t s
0014440 { a r g X } i n s t e a d ,
0014460 f o l l o w e d b y a n
0014500 e n d - o f - l i n e . R e
0014520 t u r n s { a r g X } . \r }
0014540 } \r \r \r { f n S H O W P R I N
0014560 T } a n d { f n S H O W P
0014600 R I N 2 } a r e u s e d b
0014620 y t h e p r o g r a m m e r
0014640 ' s a s s i s t a n t ( { P
0014660 a g e R e f T e r m p r o g
0014700 r a m m e r ' s a s s i s t a
0014720 n t } ) f o r p r i n t i n
0014740 g t h e v a l u e s o f
0014760 e x p r e s s i o n s a n d
0015000 f o r p r i n t i n g t h e
0015020 h i s t o r y l i s t , b
0015040 y v a r i o u s c o m m a n
0015060 d s o f t h e b r e a k
0015100 p a c k a g e ( { P a g e R e
0015120 f T a g B r e a k P a c k a
0015140 g e } ) , e . g . { B r e a
0015160 k C o m ? = } a n d { B r
0015200 e a k C o m B T } c o m m a
0015220 n d s , a n d v a r i o u s
0015240 o t h e r s y s t e m p a
0015260 c k a g e s . T h e i d e
0015300 a i s t h a t b y s i m
0015320 p l y s e t t t i n g o r
0015340 b i n d i n g { v a r S Y S
0015360 P R E T T Y F L G } { i n d e x
0015400 * P R I M A R Y * S Y S P R
0015420 E T T Y F L G V a r } t o
0015440 { l i s p T } ( i n i t i a
0015460 l l y { l i s p N I L } ) ,
0015500 t h e u s e r i n s t r u
0015520 c t s t h e s y s t e m w
0015540 h e n i n t e r a c t i n g
0015560 w i t h t h e u s e r t o
0015600 { f n P R E T T Y P R I N T
0015620 } e x p r e s s i o n s ( {
0015640 P a g e R e f F n P R E T T
0015660 Y P R I N T } ) i n s t e a d
0015700 o f p r i n t i n g t h e
0015720 m . \r \r \r { F n D e f { F n N
0015740 a m e P R I N T B E L L S }
0015760 { F n A r g s { a n o n a r g
0016000 } } \r { T e x t \r U s e d b y
0016020 D W I M ( { P a g e R e f
0016040 T a g D W I M } ) t o p r
0016060 i n t a s e q u e n c e o
0016100 f b e l l s t o a l e r t
0016120 t h e u s e r t o s t o
0016140 p t y p i n g . C a n b
0016160 e a d v i s e d o r r e d
0016200 e f i n e d f o r s p e c i
0016220 a l a p p l i c a t i o n s ,
0016240 e . g . , t o f l a s h
0016260 t h e s c r e e n o n a
0016300 d i s p l a y t e r m i n a l
0016320 . \r } } \r \r \r { F n D e f { N
0016340 a m e F O R C E O U T P U T }
0016360 { A r g s S T R E A M W A
0016400 I T F O R F I N I S H } \r { T e
0016420 x t \r F o r c e s a n y b u
0016440 f f e r e d o u t p u t d a
0016460 t a i n { a r g S T R E A
0016500 M } t o b e t r a n s m i
0016520 t t e d . \r \r I f { a r g W
0016540 A I T F O R F I N I S H } i s
0016560 n o n - { l i s p N I L } ,
0016600 t h i s d o e s n ' t r e
0016620 t u r n u n t i l t h e d
0016640 a t a h a s b e e n f o r
0016660 c e d o u t . \r } } \r \r \r { F
0016700 n D e f { F n N a m e P O S
0016720 I T I O N } { F n A r g s F
0016740 I L E N } \r { T e x t \r R e t
0016760 u r n s t h e c o l u m n
0017000 n u m b e r a t w h i c h
0017020 t h e n e x t c h a r a c t
0017040 e r w i l l b e r e a d
0017060 o r p r i n t e d . A f t
0017100 e r a e n d o f l i n e
0017120 , t h e c o l u m n n u m
0017140 b e r i s 0 . I f { a
0017160 r g N } i s n o n - { l i
0017200 s p N I L } , { i t r e s
0017220 e t s } t h e c o l u m n
0017240 n u m b e r t o b e { a r
0017260 g N } . \r \r N o t e t h a t
0017300 r e s e t t i n g { f n P
0017320 O S I T I O N } o n l y c h
0017340 a n g e s L i s p ' s b e l
0017360 i e f a b o u t t h e c u
0017400 r r e n t c o l u m n n u m
0017420 b e r ; i t d o e s n o t
0017440 c a u s e a n y h o r i z
0017460 o n t a l m o t i o n . A
0017500 l s o n o t e t h a t { l
0017520 i s p ( P O S I T I O N { a
0017540 r g F I L E } ) } i s { i
0017560 t n o t } t h e s a m e
0017600 a s { l i s p ( G E T F I L
0017620 E P T R { a r g F I L E } )
0017640 } w h i c h g i v e s t h
0017660 e p o s i t i o n i n t h
0017700 e { i t f i l e } , n o t
0017720 o n t h e { i t l i n e
0017740 } . \r } } \r \r \r { F n D e f {
0017760 F n N a m e L I N E L E N G T
0020000 H } { F n A r g s N F I L
0020020 E } \r { T e x t \r S e t s t h
0020040 e l e n g t h o f t h e
0020060 p r i n t l i n e f o r t
0020100 h e o u t p u t f i l e {
0020120 a r g F I L E } t o { a r
0020140 g N } ; r e t u r n s t h
0020160 e f o r m e r s e t t i n g
0020200 o f t h e l i n e l e n
0020220 g t h . { a r g F I L E }
0020240 d e f a u l t s t o t h e
0020260 p r i m a r y o u t p u t
0020300 s t r e a m . { l i s p (
0020320 L I N E L E N G T H N I L {
0020340 a r g F I L E } ) } r e t u
0020360 r n s t h e c u r r e n t
0020400 s e t t i n g f o r { a r g
0020420 F I L E } . W h e n a
0020440 f i l e i s f i r s t o p
0020460 e n e d , i t s l i n e l
0020500 e n g t h i s s e t t o
0020520 t h e v a l u e o f t h e
0020540 v a r i a b l e { v a r F
0020560 I L E L I N E L E N G T H } . {
0020600 i n d e x * P R I M A R Y *
0020620 F I L E L I N E L E N G T H V
0020640 a r } \r \r W h e n e v e r p r
0020660 i n t i n g a n a t o m o
0020700 r s t r i n g w o u l d i
0020720 n c r e a s e a f i l e ' s
0020740 p o s i t i o n { i t b e
0020760 y o n d } t h e l i n e l
0021000 e n g t h o f t h e f i l
0021020 e , a n e n d o f l i n
0021040 e i s a u t o m a t i c a l
0021060 l y i n s e r t e d f i r s
0021100 t . T h i s a c t i o n
0021120 c a n b e d e f e a t e d
0021140 b y u s i n g { f n P R I
0021160 N 3 } a n d { f n P R I N
0021200 4 } ( { P a g e R e f F n
0021220 P R I N 3 } ) . \r } } \r \r \r \r {
0021240 F n D e f { F n N a m e S E
0021260 T L I N E L E N G T H } { F n
0021300 A r g s N } \r { T e x t \r S e
0021320 t s t h e l i n e l e n g
0021340 t h f o r t h e t e r m i
0021360 n a l b y d o i n g { l i
0021400 s p ( L I N E L E N G T H {
0021420 a r g N } T ) } . I f
0021440 { a r g N } i s { l i s p
0021460 N I L } , i t d e t e r m
0021500 i n e s { a r g N } b y
0021520 c o n s u l t i n g t h e o
0021540 p e r a t i n g s y s t e m '
0021560 s b e l i e f a b o u t t
0021600 h e t e r m i n a l ' s c h
0021620 a r a c t e r i s t i c s .
0021640 I n I n t e r l i s p - D ,
0021660 t h i s i s a n o - o p .
0021700 \r } } \r \r \r \r \r { B e g i n S
0021720 u b S e c P R I N T L E V E L
0021740 } \r { T i t l e P R I N T L E
0021760 V E L } \r { T e x t \r \r W h e n
0022000 u s i n g I n t e r l i s p
0022020 o n e o f t e n h a s t
0022040 o h a n d l e l a r g e ,
0022060 c o m p l i c a t e d l i s t
0022100 s , w h i c h a r e d i f
0022120 f i c u l t t o u n d e r s
0022140 t a n d w h e n p r i n t e
0022160 d o u t . { f n P R I N
0022200 T L E V E L } a l l o w s t
0022220 h e u s e r t o s p e c i
0022240 f y i n h o w m u c h d
0022260 e t a i l l i s t s s h o u
0022300 l d b e p r i n t e d .
0022320 T h e p r i n t f u n c t i
0022340 o n s { i n d e x P R I N T
0022360 F N } { f n P R I N T } ,
0022400 { i n d e x P R I N 1 F N }
0022420 { f n P R I N 1 } , a n d
0022440 { i n d e x P R I N 2 F N }
0022460 { f n P R I N 2 } a r e a
0022500 l l a f f e c t e d b y l
0022520 e v e l p a r a m e t e r s
0022540 s e t b y : \r \r \r { F n D e f
0022560 { F n N a m e P R I N T L E
0022600 V E L } { F n A r g s C A R
0022620 V A L C D R V A L } \r { T e x
0022640 t \r S e t s t h e { f n C
0022660 A R } p r i n t l e v e l
0022700 t o { a r g C A R V A L } ,
0022720 a n d t h e { f n C D R
0022740 } p r i n t l e v e l t o
0022760 { a r g C D R V A L } .
0023000 R e t u r n s a l i s t c
0023020 e l l w h o s e { f n C A
0023040 R } a n d { f n C D R }
0023060 a r e t h e o l d s e t t
0023100 i n g s . { f n P R I N T
0023120 L E V E L } i s i n i t i a
0023140 l i z e d w i t h t h e v
0023160 a l u e { l i s p ( 1 0 0 0
0023200 . - 1 ) } . \r \r I n o r d
0023220 e r t h a t { f n P R I N
0023240 T L E V E L } c a n b e u
0023260 s e d w i t h { f n R E S
0023300 E T F O R M } o r { f n R
0023320 E S E T S A V E } , i f { a
0023340 r g C A R V A L } i s a
0023360 l i s t c e l l i t i s
0023400 e q u i v a l e n t t o { l
0023420 i s p ( P R I N T L E V E L
0023440 ( C A R { a r g C A R V A L
0023460 } ) ( C D R { a r g C A R
0023500 V A L } ) ) } . \r \r { l i s p
0023520 ( P R I N T L E V E L { a r g
0023540 N } N I L ) } c h a n g e
0023560 s t h e { f n C A R } p
0023600 r i n t l e v e l w i t h o u
0023620 t a f f e c t i n g t h e
0023640 { f n C D R } p r i n t l e
0023660 v e l . { l i s p ( P R I
0023700 N T L E V E L N I L { a r g
0023720 N } ) } c h a n g e s t h
0023740 e { f n C D R } p r i n t
0023760 l e v e l w i t h a f f e c
0024000 t i n g t h e { f n C A R
0024020 } p r i n t l e v e l . {
0024040 l i s p ( P R I N T L E V E L
0024060 ) } g i v e s t h e c u r
0024100 r e n t s e t t i n g w i t
0024120 h o u t c h a n g i n g e i
0024140 t h e r . \r \r N o t e : c o n
0024160 t r o l - P ( { P a g e R e f
0024200 ( I n t e r r u p t C h a r
0024220 a c t e r ) c o n t r o l - P }
0024240 ) c a n b e u s e d t o
0024260 c h a n g e t h e { f n
0024300 P R I N T L E V E L } s e t t
0024320 i n g d y n a m i c a l l y ,
0024340 e v e n w h i l e I n t e
0024360 r l i s p i s p r i n t i n
0024400 g . \r } } \r \r \r T h e { f n
0024420 C A R } p r i n t l e v e l
0024440 s p e c i f i e s h o w " d
0024460 e e p " t o p r i n t a
0024500 l i s t . S p e c i f i c a
0024520 l l y , i t i s t h e n
0024540 u m b e r o f u n p a i r e
0024560 d l e f t p a r e n t h e s
0024600 e s w h i c h w i l l b e
0024620 p r i n t e d . B e l o w
0024640 t h a t l e v e l , a l l
0024660 l i s t s w i l l b e p
0024700 r i n t e d a s { l i s p
0024720 & } . { i n d e x & ( P r i
0024740 n t e d b y S y s t e m ) }
0024760 I f t h e { f n C A R
0025000 } p r i n t l e v e l i s
0025020 { i t n e g a t i v e } , t
0025040 h e a c t i o n i s s i m
0025060 i l a r e x c e p t t h a t
0025100 a n e n d - o f - l i n e
0025120 i s i n s e r t e d a f t e
0025140 r e a c h r i g h t p a r
0025160 e n t h e s e s t h a t w o
0025200 u l d b e i m m e d i a t e
0025220 l y f o l l o w e d b y a
0025240 l e f t p a r e n t h e s i
0025260 s . \r \r \r T h e { f n C D R
0025300 } p r i n t l e v e l s p e
0025320 c i f i e s h o w " l o n g
0025340 " t o p r i n t a l i s
0025360 t . I t i s t h e n u
0025400 m b e r o f t o p l e v e
0025420 l l i s t e l e m e n t s
0025440 t h a t w i l l b e p r i
0025460 n t e d b e f o r e t h e
0025500 p r i n t i n g i s t e r m
0025520 i n a t e d w i t h { l i s
0025540 p - - } . { i n d e x - -
0025560 ( P r i n t e d b y S y s t
0025600 e m ) } F o r e x a m p l
0025620 e , i f { a r g C D R V A
0025640 L } = 2 , { l i s p ( A B
0025660 C D E ) } w i l l p r
0025700 i n t a s { l i s p ( A
0025720 B - - ) } . F o r s u b
0025740 l i s t s , t h e n u m b e
0025760 r o f l i s t e l e m e n
0026000 t s p r i n t e d i s a l
0026020 s o a f f e c t e d b y t
0026040 h e d e p t h o f p r i n
0026060 t i n g i n t h e { f n
0026100 C A R } d i r e c t i o n :
0026120 W h e n e v e r t h e { i
0026140 t s u m } o f t h e d e
0026160 p t h o f t h e s u b l i
0026200 s t ( i . e . t h e n u m
0026220 b e r o f u n m a t c h e d
0026240 l e f t p a r e n t h e s e
0026260 s ) a n d t h e n u m b e
0026300 r o f e l e m e n t s i s
0026320 g r e a t e r t h a n t h
0026340 e { f n C D R } p r i n t
0026360 l e v e l , { l i s p - - }
0026400 i s p r i n t e d . T h
0026420 i s g i v e s a " t r i a
0026440 n g u l a r " e f f e c t i
0026460 n t h a t l e s s i s p
0026500 r i n t e d t h e f a r t h
0026520 e r o n e g o e s i n e
0026540 i t h e r { f n C A R } o
0026560 r { f n C D R } d i r e c
0026600 t i o n . I f t h e { f
0026620 n C D R } p r i n t l e v e
0026640 l i s n e g a t i v e , t
0026660 h e n i t i s t h e s a
0026700 m e a s i f t h e { f n
0026720 C D R } p r i n t l e v e l
0026740 w e r e i n f i n i t e . \r
0026760 \r E x a m p l e s : \r \r { B e g
0027000 i n L a b e l e d l i s t P
0027020 R I N T L E V E L e x a m p l
0027040 e s } \r \r { L a b e l A f t e
0027060 r : } \r { T e x t { l i s p
0027100 ( A ( B C ( D ( E F )
0027120 G ) H ) K L ) } p r i
0027140 n t s a s : } \r \r { L a b e l
0027160 { l i s p ( P R I N T L E V
0027200 E L 3 - 1 ) } } \r { T e x t
0027220 { l i s p ( A ( B C (
0027240 D & G ) H ) K L ) } }
0027260 \r \r { L a b e l { l i s p (
0027300 P R I N T L E V E L 2 - 1 )
0027320 } } \r { T e x t { l i s p (
0027340 A ( B C & H ) K L )
0027360 } } \r \r { L a b e l { l i s p
0027400 ( P R I N T L E V E L 1 -
0027420 1 ) } } \r { T e x t { l i s p
0027440 ( A & K L ) } } \r \r { L
0027460 a b e l { l i s p ( P R I N
0027500 T L E V E L 0 - 1 ) } } \r {
0027520 T e x t { l i s p & } } \r \r
0027540 { L a b e l { l i s p ( P R
0027560 I N T L E V E L 1 0 0 0 2 )
0027600 } } \r { T e x t { l i s p (
0027620 A ( B - - ) - - ) } } \r \r
0027640 { L a b e l { l i s p ( P R
0027660 I N T L E V E L 1 0 0 0 3 )
0027700 } } \r { T e x t { l i s p (
0027720 A ( B C - - ) K - - )
0027740 } } \r \r { L a b e l { l i s p
0027760 ( P R I N T L E V E L 1 3
0030000 ) } } \r { T e x t { l i s p
0030020 ( A & K - - ) } } \r \r { E
0030040 n d L a b e l e d l i s t P
0030060 R I N T L E V E L e x a m p l
0030100 e s } \r \r \r \r { V a r D e f {
0030120 N a m e P L V L F I L E F L G
0030140 } \r { T e x t \r N o r m a l l y
0030160 , { f n P R I N T L E V E L
0030200 } o n l y a f f e c t s t
0030220 e r m i n a l o u t p u t .
0030240 O u t p u t t o a l l o
0030260 t h e r f i l e s a c t s
0030300 a s t h o u g h t h e p r
0030320 i n t l e v e l i s i n f
0030340 i n i t e . H o w e v e r ,
0030360 i f { v a r P L V L F I L
0030400 E F L G } i s { l i s p T
0030420 } ( i n i t i a l l y { l i
0030440 s p N I L } ) , t h e n {
0030460 f n P R I N T L E V E L } a
0030500 f f e c t s o u t p u t t o
0030520 f i l e s a s w e l l . \r
0030540 } } \r \r T h e f o l l o w i n
0030560 g t h r e e f u n c t i o n
0030600 s a r e u s e f u l f o r
0030620 p r i n t i n g i s o l a t
0030640 e d e x p r e s s i o n s a
0030660 t a s p e c i f i e d p r
0030700 i n t l e v e l w i t h o u
0030720 t g o i n g t o t h e o
0030740 v e r h e a d o f r e s e t
0030760 t i n g t h e g l o b a l
0031000 p r i n t l e v e l . \r \r { F
0031020 n D e f { F n N a m e L V L
0031040 P R I N T } { F n A r g s X
0031060 F I L E C A R L V L C D R
0031100 L V L T A I L } \r { T e x t \r
0031120 P e r f o r m s { f n P R I
0031140 N T } o f { a r g X } t
0031160 o { a r g F I L E } , u s
0031200 i n g a s { l i s p C A R
0031220 } a n d { l i s p C D R }
0031240 p r i n t l e v e l s t h
0031260 e v a l u e s { a r g C A
0031300 R L V L } a n d { a r g C
0031320 D R L V L } , r e s p e c t i
0031340 v e l y . U s e s t h e
0031360 { l i s p T } r e a d t a
0031400 b l e . I f { a r g T A
0031420 I L } i s s p e c i f i e d
0031440 , a n d { a r g X } i s
0031460 a t a i l o f i t , t
0031500 h e n b e g i n s i t s p
0031520 r i n t i n g w i t h " { l
0031540 i s p . . . } " , r a t h e
0031560 r t h a n o n o p e n p
0031600 a r e n t h e s i s . \r } } \r \r
0031620 { F n D e f { F n N a m e L
0031640 V L P R I N 2 } { F n A r g s
0031660 X F I L E C A R L V L C
0031700 D R L V L T A I L } \r { T e x
0031720 t \r S i m i l a r t o { f n
0031740 L V L P R I N 2 } , b u t
0031760 p e r f o r m s a { f n P
0032000 R I N 2 } . \r } } \r \r { F n D e
0032020 f { F n N a m e L V L P R I
0032040 N 1 } { F n A r g s X F I
0032060 L E C A R L V L C D R L V L
0032100 T A I L } \r { T e x t \r S i m
0032120 i l a r t o { f n L V L P
0032140 R I N 1 } , b u t p e r f o
0032160 r m s a { f n P R I N 1 }
0032200 . \r } } \r \r \r } { E n d S u b
0032220 S e c P R I N T L E V E L } \r
0032240 \r \r \r { B e g i n S u b S e c
0032260 P r i n t i n g n u m b e r
0032300 s } \r { T i t l e P r i n t i
0032320 n g n u m b e r s } \r { T e x
0032340 t \r \r \r { i n d e x * P R I M
0032360 A R Y * P r i n t i n g n u
0032400 m b e r s } \r \r \r { n o t e t
0032420 h i s s t u f f i s f a i
0032440 r l y t r i c k y . . . . e
0032460 x a m i n e t h i s c a r e
0032500 f u l l y f o r e r r o r s
0032520 } \r \r \r H o w t h e o r d i
0032540 n a r y p r i n t i n g f u
0032560 n c t i o n s ( { f n P R I
0032600 N 1 } , { f n P R I N 2 } ,
0032620 e t c . ) p r i n t n u m
0032640 b e r s c a n b e a f f e
0032660 c t e d i n s e v e r a l
0032700 w a y s . { f n R A D I X
0032720 } i n f l u e n c e s t h e
0032740 p r i n t i n g o f i n t
0032760 e g e r s , a n d { f n F
0033000 L T F M T } i n f l u e n c e
0033020 s t h e p r i n t i n g o
0033040 f f l o a t i n g p o i n t
0033060 n u m b e r s . T h e s
0033100 e t t i n g o f t h e v a
0033120 r i a b l e { v a r P R X F
0033140 L G } d e t e r m i n e s h
0033160 o w t h e s y m b o l - m a
0033200 n i p u l a t i o n f u n c t
0033220 i o n s h a n d l e n u m b
0033240 e r s . T h e { f n P R
0033260 I N T N U M } p a c k a g e
0033300 p e r m i t s g r e a t e r
0033320 c o n t r o l s o n t h e
0033340 p r i n t e d a p p e a r a n
0033360 c e o f n u m b e r s , a
0033400 l l o w i n g s u c h t h i
0033420 n g s a s l e f t - j u s t
0033440 i f i c a t i o n , s u p p r
0033460 e s s i o n o f t r a i l i
0033500 n g d e c i m a l s , e t c
0033520 . \r \r \r \r { F n D e f { F n N
0033540 a m e R A D I X } { F n A r
0033560 g s N } \r { T e x t \r R e s e
0033600 t s t h e o u t p u t r a
0033620 d i x f o r i n t e g e r s
0033640 t o t h e a b s o l u t e
0033660 v a l u e o f { a r g N
0033700 } . T h e v a l u e o f
0033720 { f n R A D I X } i s i
0033740 t s p r e v i o u s s e t t
0033760 i n g . { l i s p ( R A D
0034000 I X ) } g i v e s t h e c
0034020 u r r e n t s e t t i n g w
0034040 i t h o u t c h a n g i n g
0034060 i t . T h e i n i t i a l
0034100 s e t t i n g i s 1 0 . \r
0034120 \r N o t e t h a t { f n R
0034140 A D I X } a f f e c t s o u
0034160 t p u t { i t o n l y } .
0034200 T h e r e i s n o i n p
0034220 u t r a d i x ; o n i n p
0034240 u t , n u m b e r s a r e
0034260 i n t e r p r e t e d a s d
0034300 e c i m a l u n l e s s t h
0034320 e y a r e e n t e r e d i
0034340 n a n o n - d e c i m a l
0034360 r a d i x w i t h s y n t a
0034400 x s u c h a s { l i s p
0034420 1 2 3 Q } , { l i s p | b 1
0034440 0 1 0 1 } , { l i s p | 5 r
0034460 1 2 3 4 } ( s e e { P a g e
0034500 R e f T e r m I n t e g e r
0034520 i n p u t s y n t a x } ) .
0034540 { f n R A D I X } d o e
0034560 s n o t a f f e c t t h e
0034600 b e h a v i o r o f { f n
0034620 U N P A C K } , e t c . ,
0034640 u n l e s s t h e v a l u e
0034660 o f { v a r P R X F L G }
0034700 ( b e l o w ) i s { l i s
0034720 p T } . F o r e x a m p
0034740 l e , i f { v a r P R X F
0034760 L G } i s { l i s p N I L
0035000 } a n d t h e r a d i x
0035020 i s s e t t o 8 w i t h
0035040 { l i s p ( R A D I X 8 )
0035060 } , t h e v a l u e o f
0035100 { l i s p ( U N P A C K 9 )
0035120 } i s { l i s p ( 9 ) } ,
0035140 n o t { l i s p ( 1 1 )
0035160 } . \r \r U s i n g { f n P R
0035200 I N T N U M } ( { P a g e R e
0035220 f F n P R I N T N U M } )
0035240 o r t h e { l i s p P R I
0035260 N T O U T } c o m m a n d {
0035300 l i s p . I } ( { P a g e R
0035320 e f ( P R I N T O U T C o m
0035340 m a n d ) I } ) i s o f t
0035360 e n a m o r e c o n v e n
0035400 i e n t a n d a p p r o p r
0035420 i a t e w a y t o p r i n
0035440 t a s i n g l e n u m b e
0035460 r i n a s p e c i f i e d
0035500 r a d i x t h a n t o g
0035520 l o b a l l y c h a n g e {
0035540 f n R A D I X } . \r } } \r \r \r
0035560 \r { F n D e f { F n N a m e
0035600 F L T F M T } { F n A r g s
0035620 F O R M A T } \r { T e x t \r R e
0035640 s e t s t h e o u t p u t
0035660 f o r m a t f o r f l o a t
0035700 i n g p o i n t n u m b e r
0035720 s t o t h e { l i s p F
0035740 L O A T } f o r m a t { a r
0035760 g F O R M A T } ( s e e {
0036000 f n P R I N T N U M } b e l
0036020 o w f o r a d e s c r i p
0036040 t i o n o f { l i s p F L
0036060 O A T } f o r m a t s ) .
0036100 { a r g F O R M A T } = { l i
0036120 s p T } s p e c i f i e s
0036140 t h e d e f a u l t " f r e
0036160 e " f o r m a t t i n g : s
0036200 o m e n u m b e r o f s i
0036220 g n i f i c a n t d i g i t s
0036240 ( a f u n c t i o n o f
0036260 t h e i m p l e m e n t a t i
0036300 o n ) a r e p r i n t e d ,
0036320 w i t h t r a i l i n g z
0036340 e r o s s u p p r e s s e d ;
0036360 n u m b e r s w i t h s u
0036400 f f i c i e n t l y l a r g e
0036420 o r s m a l l e x p o n e
0036440 n t s a r e i n s t e a d
0036460 p r i n t e d i n e x p o n
0036500 e n t n o t a t i o n . \r \r {
0036520 f n F L T F M T } r e t u r
0036540 n s i t s c u r r e n t s
0036560 e t t i n g . { l i s p (
0036600 F L T F M T ) } r e t u r n s
0036620 t h e c u r r e n t s e t
0036640 t i n g w i t h o u t c h a
0036660 n g i n g i t . T h e i
0036700 n i t i a l s e t t i n g i
0036720 s { l i s p T } . \r \r { c o
0036740 m m e n t I n t e r l i s p -
0036760 1 0 s p e c i f i c : I n
0037000 I n t e r l i s p - 1 0 , { a
0037020 r g F O R M A T } m a y a
0037040 l s o b e a m a c h i n e
0037060 - d e p e n d e n t { l i s p
0037100 F L O A T } f o r m a t - c
0037120 o d e a s r e t u r n e d
0037140 b y { f n N U M F O R M A T
0037160 C O D E } ( { P a g e R e f
0037200 F n N U M F O R M A T C O D E
0037220 } ) . } \r \r \r N o t e : I n
0037240 I n t e r l i s p - D , {
0037260 f n F L T F M T } i g n o r
0037300 e s t h e { a r g W I D T
0037320 H } a n d { a r g P A D }
0037340 f i e l d s o f t h e f
0037360 o r m a t ( t h e y a r e
0037400 i m p l e m e n t e d o n l y
0037420 b y { f n P R I N T N U M
0037440 } ) . \r } } \r \r \r { n o t e t
0037460 h e f o l l o w i n g n e e
0037500 d s a l o t o f w o r k
0037520 , o n c e I f i n d o u
0037540 t h o w i t s h o u l d
0037560 b e . . . } \r \r \r W h e t h e r
0037600 p r i n t n a m e m a n i
0037620 p u l a t i o n f u n c t i o
0037640 n s ( { f n U N P A C K } ,
0037660 { f n N C H A R S } , e t
0037700 c . ) u s e t h e v a l u
0037720 e s o f { f n R A D I X }
0037740 a n d { f n F L T F M T }
0037760 i s d e t e r m i n e d b
0040000 y t h e v a r i a b l e {
0040020 v a r P R X F L G } : \r \r \r {
0040040 i n d e x * P R I M A R Y *
0040060 P R X F L G V a r } \r \r { V a
0040100 r D e f { N a m e P R X F L
0040120 G } \r { T e x t \r I f { v a r
0040140 P R X F L G } = { l i s p N
0040160 I L } ( t h e i n i t i a l
0040200 s e t t i n g ) , t h e n
0040220 t h e " { l i s p P R I N 1
0040240 } " n a m e u s e d b y
0040260 { f n P A C K } , { f n U
0040300 N P A C K } , { f n M K S T
0040320 R I N G } , e t c . , i s
0040340 c o m p u t e d u s i n g b
0040360 a s e 1 0 f o r i n t e g
0040400 e r s a n d t h e s y s t
0040420 e m d e f a u l t f l o a t
0040440 i n g f o r m a t f o r f
0040460 l o a t i n g p o i n t n u
0040500 m b e r s , i n d e p e n d e
0040520 n t o f t h e c u r r e n
0040540 t s e t t i n g o f { f n
0040560 R A D I X } o r { f n F
0040600 L T F M T } . I f { v a r
0040620 P R X F L G } = { l i s p T
0040640 } , t h e n { f n R A D I
0040660 X } a n d { f n F L T F M
0040700 T } d o d i c t a t e t h
0040720 e " { l i s p P R I N 1 } "
0040740 n a m e o f n u m b e r s
0040760 . N o t e t h a t i n
0041000 t h i s c a s e , { f n P
0041020 A C K } a n d { f n U N P
0041040 A C K } a r e { i t n o t
0041060 } i n v e r s e s . \r \r E x a
0041100 m p l e s w i t h { l i s p
0041120 ( R A D I X 8 ) } , { l i
0041140 s p ( F L T F M T ' ( F L O
0041160 A T 4 2 ) ) } : \r \r \r W i t
0041200 h { v a r P R X F L G } = {
0041220 l i s p N I L } , \r \r { l i s
0041240 p c o d e ( U N P A C K 1 3
0041260 ) = > ( 1 3 ) } \r \r {
0041300 l i s p c o d e ( P A C K '
0041320 ( A 9 ) ) = > A 9 } \r
0041340 \r { l i s p c o d e ( U N P A
0041360 C K 1 . 2 3 4 5 ) = >
0041400 ( 1 % . 2 3 4 5 ) } \r
0041420 \r W i t h { v a r P R X F L
0041440 G } = { l i s p T } , \r \r { l
0041460 i s p c o d e ( U N P A C K
0041500 1 3 ) = > ( 1 5 ) } \r
0041520 \r { l i s p c o d e ( P A C K
0041540 ' ( A 9 ) ) = > A 1
0041560 1 } \r \r { l i s p c o d e ( U
0041600 N P A C K 1 . 2 3 4 5 ) =
0041620 > ( 1 % . 2 3 ) } \r \r
0041640 \r N o t e t h a t { v a r
0041660 P R X F L G } d o e s n o t
0041700 e f f e c t t h e r a d i
0041720 x o f " { l i s p P R I N
0041740 2 } " n a m e s , s o w i
0041760 t h { l i s p ( R A D I X
0042000 8 ) } , { l i s p ( N C H A
0042020 R S 9 T ) } , w h i c h
0042040 u s e s { l i s p P R I N 2
0042060 } n a m e s , w o u l d r
0042100 e t u r n 3 , ( s i n c e
0042120 9 w o u l d p r i n t a s
0042140 1 1 Q ) f o r e i t h e r
0042160 s e t t i n g o f { v a r
0042200 P R X F L G } . \r \r \r \r W a r
0042220 n i n g : S o m e s y s t
0042240 e m f u n c t i o n s w i l
0042260 l n o t w o r k c o r r e
0042300 c t l y i f { v a r P R X
0042320 F L G } i s n o t { l i s
0042340 p N I L } . T h e r e f o
0042360 r e , r e s e t t i n g t h
0042400 e g l o b a l v a l u e o
0042420 f { v a r P R X F L G } i
0042440 s n o t r e c o m m e n d e
0042460 d . I t i s m u c h b
0042500 e t t e r t o r e b i n d
0042520 { v a r P R X F L G } a s
0042540 a { l i s p S P E C V A R }
0042560 f o r t h a t p a r t o
0042600 f a p r o g r a m w h e r
0042620 e i t n e e d s t o b e
0042640 n o n - { l i s p N I L } .
0042660 \r } } \r \r \r { n o t e T h e
0042700 P R I N T N U M p a c k a g e
0042720 w a s d e s i g n e d a n
0042740 d i m p l e m e n t e d b y
0042760 R . M . K a p l a n . } \r
0043000 \r \r { i n d e x * B E G I N *
0043020 P R I N T N U M F N } \r \r \r
0043040 T h e b a s i c f u n c t i
0043060 o n f o r p r i n t i n g
0043100 n u m b e r s u n d e r f o
0043120 r m a t c o n t r o l i s
0043140 { f n P R I N T N U M } .
0043160 I t s u t i l i t y i s c
0043200 o n s i d e r a b l y e n h a
0043220 n c e d w h e n u s e d i
0043240 n c o n j u n c t i o n w i
0043260 t h t h e { l i s p P R I
0043300 N T O U T } p a c k a g e (
0043320 { P a g e R e f T a g P R I
0043340 N T O U T } ) , w h i c h i
0043360 m p l e m e n t s a c o m p
0043400 a c t l a n g u a g e f o r
0043420 s p e c i f y i n g c o m p
0043440 l i c a t e d s e q u e n c e
0043460 s o f e l e m e n t a r y
0043500 p r i n t i n g o p e r a t i
0043520 o n s , a n d m a k e s f
0043540 a n c y o u t p u t f o r m
0043560 a t s e a s y t o d e s i
0043600 g n a n d s i m p l e t o
0043620 p r o g r a m . \r \r \r { F n D
0043640 e f { F n N a m e P R I N T
0043660 N U M } { F n A r g s F O R
0043700 M A T N U M B E R F I L E }
0043720 \r { T e x t \r P r i n t s { a
0043740 r g N U M B E R } o n { a
0043760 r g F I L E } a c c o r d i
0044000 n g t o t h e f o r m a t
0044020 { a r g F O R M A T } .
0044040 { a r g F O R M A T } i s
0044060 a l i s t s t r u c t u r e
0044100 w i t h o n e o f t h e
0044120 f o r m s d e s c r i b e d
0044140 b e l o w . \r \r { c o m m e n
0044160 t I n t e r l i s p - 1 0 S
0044200 p e c i f i c : \r { a r g F O
0044220 R M A T } c a n a l s o b
0044240 e a m a c h i n e d e p e
0044260 n d e n t f o r m a t - c o d
0044300 e a s r e t u r n e d b y
0044320 { f n N U M F O R M A T C O
0044340 D E } ( { P a g e R e f F n
0044360 N U M F O R M A T C O D E } )
0044400 . I f { a r g N U M B E R }
0044420 d o e s n o t f i t i n
0044440 t h e f i e l d s p e c i
0044460 f i e d b y { a r g F O R
0044500 M A T } , t h e f u l l p
0044520 r i n t n a m e i s p r i
0044540 n t e d . T h e n a { f
0044560 n T A B } i s e x e c u t
0044600 e d s o t h a t t h e l
0044620 i n e p o s i t i o n o f
0044640 t h e f i l e a f t e r {
0044660 f n P R I N T N U M } i s
0044700 a l w a y s t h e p o s i t
0044720 i o n p r i o r t o p r i
0044740 n t i n g p l u s t h e i
0044760 n d i c a t e d w i d t h . }
0045000 \r } } \r \r \r I f { a r g F O
0045020 R M A T } i s a l i s t
0045040 o f t h e f o r m { l i s
0045060 p ( F I X { a r g W I D T
0045100 H } { a r g R A D I X } {
0045120 a r g P A D 0 } { a r g L
0045140 E F T F L U S H } ) } , t h i
0045160 s s p e c i f i e s a { l
0045200 i s p F I X } f o r m a t .
0045220 { i n d e x F I X f o r m a
0045240 t ( i n P R I N T N U M )
0045260 T e r m } { a r g N U M B
0045300 E R } i s r o u n d e d t
0045320 o t h e n e a r e s t i n
0045340 t e g e r , a n d t h e n
0045360 p r i n t e d i n a f i e
0045400 l d { a r g W I D T H } c
0045420 h a r a c t e r s l o n g w
0045440 i t h r a d i x s e t t o
0045460 { a r g R A D I X } ( o r
0045500 1 0 i f { a r g R A D I
0045520 X } = { l i s p N I L } ; n
0045540 o t e t h a t t h e s e t
0045560 t i n g f r o m t h e f u
0045600 n c t i o n { f n R A D I X
0045620 } i s { i t n o t } u s
0045640 e d a s t h e d e f a u l
0045660 t ) . I f { a r g P A D
0045700 0 } a n d { a r g L E F T
0045720 F L U S H } a r e b o t h
0045740 { l i s p N I L } , t h e
0045760 n u m b e r i s r i g h t -
0046000 j u s t i f i e d i n t h e
0046020 f i e l d , a n d t h e
0046040 p a d d i n g c h a r a c t e
0046060 r s t o t h e l e f t o
0046100 f t h e l e a d i n g d i
0046120 g i t a r e s p a c e s .
0046140 I f { a r g P A D 0 } i
0046160 s { l i s p T } , t h e
0046200 c h a r a c t e r " { l i s p
0046220 0 } " i s u s e d f o r
0046240 p a d d i n g . I f { a
0046260 r g L E F T F L U S H } i s
0046300 { l i s p T } , t h e n
0046320 t h e n u m b e r i s l e
0046340 f t - j u s t i f i e d i n
0046360 t h e f i e l d , w i t h
0046400 t r a i l i n g s p a c e s
0046420 t o f i l l o u t { a r g
0046440 W I D T H } c h a r a c t e
0046460 r s . \r \r \r T h e f o l l o w
0046500 i n g e x a m p l e s i l l
0046520 u s t r a t e t h e e f f e
0046540 c t s o f t h e { l i s p
0046560 F I X } f o r m a t o p t
0046600 i o n s o n t h e n u m b
0046620 e r 9 ( t h e v e r t i c
0046640 a l b a r s i n d i c a t e
0046660 t h e f i e l d w i d t h
0046700 ) : \r \r \r { B e g i n L a b e
0046720 l e d l i s t F I X f o r m
0046740 a t o p t i o n s e x a m p
0046760 l e s } \r \r { L a b e l { a r
0047000 g F O R M A T } : } \r { T e x
0047020 t { l i s p ( P R I N T N U
0047040 M { a r g F O R M A T } 9
0047060 ) } p r i n t s : } \r \r { L a
0047100 b e l { l i s p ( F I X 2
0047120 ) } } \r { T e x t { l i s p
0047140 | 9 | } } \r \r { L a b e l {
0047160 l i s p ( F I X 2 N I L
0047200 T ) } } \r { T e x t { l i s p
0047220 | 0 9 | } } \r \r { L a b e l
0047240 { l i s p ( F I X 1 2 8
0047260 T ) } } \r { T e x t { l i s p
0047300 | 0 0 0 0 0 0 0 0 0 0 1 1 | }
0047320 } \r \r { L a b e l { l i s p
0047340 ( F I X 5 N I L N I L T
0047360 ) } } \r { T e x t { l i s p
0047400 | 9 | } } \r \r { E n d
0047420 L a b e l e d l i s t F I X
0047440 f o r m a t o p t i o n s e
0047460 x a m p l e s } \r \r \r \r I f {
0047500 a r g F O R M A T } i s a
0047520 l i s t o f t h e f o r
0047540 m { l i s p ( F L O A T {
0047560 a r g W I D T H } { a r g
0047600 D E C P A R T } { a r g E X
0047620 P P A R T } { a r g P A D 0
0047640 } { a r g R O U N D } ) } ,
0047660 t h i s s p e c i f i e s
0047700 a { l i s p F L O A T } f
0047720 o r m a t . { i n d e x F L O
0047740 A T f o r m a t ( i n P R
0047760 I N T N U M ) T e r m } {
0050000 a r g N U M B E R } i s p
0050020 r i n t e d a s a d e c i
0050040 m a l n u m b e r i n a
0050060 f i e l d { a r g W I D T H
0050100 } c h a r a c t e r s w i d
0050120 e , w i t h { a r g D E C
0050140 P A R T } d i g i t s t o
0050160 t h e r i g h t o f t h e
0050200 d e c i m a l p o i n t .
0050220 I f { a r g E X P P A R T
0050240 } i s n o t { l i s p 0
0050260 } ( o r { l i s p N I L }
0050300 ) , t h e n u m b e r i s
0050320 p r i n t e d i n e x p o
0050340 n e n t n o t a t i o n , w
0050360 i t h t h e e x p o n e n t
0050400 o c c u p y i n g { a r g
0050420 E X P P A R T } c h a r a c t
0050440 e r s i n t h e f i e l d
0050460 . { a r g E X P P A R T }
0050500 s h o u l d a l l o w f o
0050520 r t h e c h a r a c t e r
0050540 { l i s p E } a n d a n
0050560 o p t i o n a l s i g n t o
0050600 b e p r i n t e d b e f o
0050620 r e t h e e x p o n e n t
0050640 d i g i t s . { N o t e A
0050660 l t h o u g h w r i t t e n
0050700 w i t h I n t e r l i s p - 1
0050720 0 i n m i n d , t h i s
0050740 d e s c r i p t i o n o f E
0050760 X P P A R T d o e s n o t
0051000 a g r e e w i t h t h e I
0051020 n t e r l i s p - 1 0 i m p l
0051040 e m e n t a t i o n ! - - b
0051060 v m } A s w i t h { l i
0051100 s p F I X } f o r m a t ,
0051120 p a d d i n g o n t h e l
0051140 e f t i s w i t h s p a c
0051160 e s , u n l e s s { a r g
0051200 P A D 0 } i s { l i s p T
0051220 } . I f { a r g R O U N
0051240 D } i s g i v e n , i t
0051260 i n d i c a t e s t h e d i
0051300 g i t p o s i t i o n a t
0051320 w h i c h r o u n d i n g i
0051340 s t o t a k e p l a c e ,
0051360 c o u n t i n g f r o m t
0051400 h e l e a d i n g d i g i t
0051420 o f t h e n u m b e r . \r
0051440 \r I n t e r l i s p - D i n t
0051460 e r p r e t s { a r g W I D
0051500 T H } = { l i s p N I L } t
0051520 o m e a n n o p a d d i n
0051540 g , i . e . , t o u s e
0051560 h o w e v e r m u c h s p a
0051600 c e t h e n u m b e r n e
0051620 e d s , a n d i n t e r p r
0051640 e t s { a r g D E C P A R T
0051660 } = { l i s p N I L } t o
0051700 m e a n a s m a n y d e c
0051720 i m a l p l a c e s a s n
0051740 e e d e d . \r \r { c o m m e n t
0051760 I n t e r l i s p - 1 0 s p
0052000 e c i f i c : T h e i n t
0052020 e r p r e t a t i o n o f {
0052040 a r g W I D T H } = { l i s p
0052060 N I L } a n d { a r g D
0052100 E C P A R T } = { l i s p N I
0052120 L } a r e n o t s p e c i
0052140 f i e d , a n d a r e c u
0052160 r r e n t l y a f u n c t i
0052200 o n o f t h e i m p l e m
0052220 e n t a t i o n . I n t e r
0052240 l i s p - 1 0 p r o h i b i t
0052260 s { a r g W I D T H } = { l
0052300 i s p N I L } , a n d t r
0052320 e a t s { a r g D E C P A R
0052340 T } = { l i s p N I L } a s
0052360 e q u i v a l e n t t o {
0052400 a r g D E C P A R T } = { l i
0052420 s p 0 } } \r \r T h e f o l l
0052440 o w i n g e x a m p l e s i
0052460 l l u s t r a t e t h e e f
0052500 f e c t s o f t h e { l i
0052520 s p F L O A T } f o r m a t
0052540 o p t i o n s o n t h e
0052560 n u m b e r 2 7 . 6 8 9 ( t
0052600 h e v e r t i c a l b a r s
0052620 i n d i c a t e t h e f i
0052640 e l d w i d t h ) : \r \r { B e
0052660 g i n L a b e l e d l i s t
0052700 F L O A T f o r m a t o p t
0052720 i o n s e x a m p l e s } \r \r
0052740 { L a b e l { a r g F O R M
0052760 A T } : } \r { T e x t { l i s
0053000 p ( P R I N T N U M { a r g
0053020 F O R M A T } 2 7 . 6 8 9 )
0053040 } p r i n t s : } \r \r { L a b
0053060 e l { l i s p ( F L O A T
0053100 7 2 ) } } \r { T e x t { l i
0053120 s p | 2 7 . 6 9 | } } \r \r
0053140 { L a b e l { l i s p ( F L
0053160 O A T 7 2 N I L T ) } }
0053200 \r { T e x t { l i s p | 0 0
0053220 2 7 . 6 9 | } } \r \r { L a b e l
0053240 { l i s p ( F L O A T 7
0053260 2 2 ) } } \r { T e x t { l i
0053300 s p | 2 . 7 7 E 1 | } } \r \r
0053320 { L a b e l { l i s p ( F L
0053340 O A T 1 1 2 4 ) } } \r { T
0053360 e x t { l i s p | 2 .
0053400 7 7 E + 0 1 | } \r \r { c o m m e
0053420 n t I n t e r l i s p - 1 0
0053440 s p e c i f i c : A s o f
0053460 t h i s w r i t i n g , t
0053500 h e I n t e r l i s p - 1 0
0053520 i m p l e m e n t a t i o n a
0053540 c t u a l l y d o e s s o m
0053560 e t h i n g l e s s i n t u
0053600 i t i v e w i t h t h e {
0053620 a r g E X P P A R T } f i e
0053640 l d : t h e p l a c e m e
0053660 n t o f t h e d e c i m a
0053700 l p o i n t i s a f f e c
0053720 t e d b y { a r g D E C P
0053740 A R T } , a n d p a d d i n
0053760 g n e v e r o c c u r s .
0054000 T h e s e t w o e x a m p
0054020 l e s i n I n t e r l i s p
0054040 - 1 0 w o u l d a c t u a l
0054060 l y p r i n t a s { l i s
0054100 p | . 2 8 E + 0 2 | } a n d
0054120 { l i s p | 2 7 . 6 9 E + 0
0054140 0 0 0 | } . } \r } \r \r { L a b e
0054160 l { l i s p ( F L O A T 7
0054200 2 N I L N I L 1 ) } } \r
0054220 { T e x t { l i s p | 3
0054240 0 . 0 0 | } } \r \r { L a b e l
0054260 { l i s p ( F L O A T 7 2
0054300 N I L N I L 2 ) } } \r { T
0054320 e x t { l i s p | 2 8 .
0054340 0 0 | } } \r \r { E n d L a b e
0054360 l e d l i s t F L O A T f o
0054400 r m a t o p t i o n s e x a
0054420 m p l e s } \r \r \r \r { V a r D e
0054440 f { N a m e N I L N U M P R
0054460 I N T F L G } \r { T e x t \r I f
0054500 { f n P R I N T N U M } ' s
0054520 { a r g N U M B E R } a r
0054540 g u m e n t i s n o t a
0054560 n u m b e r a n d n o t {
0054600 l i s p N I L } , a { l i
0054620 s p N O N - N U M E R I C A
0054640 R G } e r r o r i s g e n
0054660 e r a t e d . I f { a r g
0054700 N U M B E R } i s { l i s
0054720 p N I L } , t h e e f f e
0054740 c t d e p e n d s o n t h
0054760 e s e t t i n g o f t h e
0055000 v a r i a b l e { v a r N
0055020 I L N U M P R I N T F L G } .
0055040 I f { v a r N I L N U M P
0055060 R I N T F L G } i s { l i s
0055100 p N I L } , t h e n t h e
0055120 e r r o r o c c u r s a s
0055140 u s u a l . I f i t i
0055160 s n o n - { l i s p N I L }
0055200 , t h e n n o e r r o r
0055220 o c c u r s , a n d t h e
0055240 v a l u e o f { v a r N I
0055260 L N U M P R I N T F L G } i s
0055300 p r i n t e d r i g h t - j
0055320 u s t i f i e d i n t h e
0055340 f i e l d d e s c r i b e d
0055360 b y { a r g F O R M A T } .
0055400 T h i s o p t i o n f a
0055420 c i l i t a t e s t h e p r
0055440 i n t i n g o f n u m b e r
0055460 s i n a g g r e g a t e s
0055500 w i t h m i s s i n g v a l
0055520 u e s c o d e d a s { l i
0055540 s p N I L } . \r } } \r \r \r { B
0055560 e g i n C o m m e n t } \r I n
0055600 t e r l i s p - 1 0 s p e c i
0055620 f i c : \r I n s o m e i m p
0055640 l e m e n t a t i o n s , f o
0055660 r m a t t e d p r i n t i n g
0055700 o f n u m b e r s r e c e
0055720 i v e s a s s i s t a n c e
0055740 f r o m t h e o p e r a t i
0055760 n g s y s t e m , p r o v i
0056000 d e d t h a t t h e f o r
0056020 m a t i s s p e c i f i e d
0056040 i n s o m e s o r t o f
0056060 s p e c i a l c o d e . {
0056100 f n P R I N T N U M } w o r
0056120 k s b y c o n v e r t i n g
0056140 t h e m a c h i n e - i n d
0056160 e p e n d e n t f o r m a t
0056200 s p e c i f i c a t i o n s d
0056220 e s c r i b e d a b o v e i
0056240 n t o m a c h i n e - { i t
0056260 d e p e n d e n t } c o d e s
0056300 t h e e x a c t f o r m
0056320 o f w h i c h m a y v a r
0056340 y f r o m i m p l e m e n t
0056360 a t i o n t o i m p l e m e
0056400 n t a t i o n . T h i s c
0056420 o n v e r s i o n p r o c e s
0056440 s t a k e s p l a c e o n
0056460 e a c h c a l l t o { f
0056500 n P R I N T N U M } . F o
0056520 r e f f i c i e n c y p u r
0056540 p o s e s , i f t h e u s
0056560 e r i s g o i n g t o b
0056600 e p e r f o r m i n g a p
0056620 a r t i c u l a r c a l l t
0056640 o { f n P R I N T N U M }
0056660 f r e q u e n t l y , h e m
0056700 a y w i s h t o s e p a r
0056720 a t e t h e c o n v e r s i
0056740 o n f r o m t h e a c t u
0056760 a l p r i n t i n g , p e r
0057000 f o r m i n g t h e c o n v
0057020 e r s i o n p r o c e s s j
0057040 u s t o n c e a n d s a v
0057060 i n g t h e r e s u l t .
0057100 T h e f u n c t i o n { f
0057120 n N U M F O R M A T C O D E }
0057140 i s a v a i l a b l e f o
0057160 r t h i s p u r p o s e :
0057200 { f n N U M F O R M A T C O D
0057220 E } t a k e s a f o r m a
0057240 t , p e r f o r m s t h e
0057260 c o n v e r s i o n a n d r
0057300 e t u r n s a m a c h i n e
0057320 d e p e n d e n t f o r m a
0057340 t - c o d e , w h i c h c a
0057360 n b e g i v e n t o { f
0057400 n P R I N T N U M } i n p
0057420 l a c e o f a l i s t s
0057440 t r u c t u r e f o r m a t
0057460 a s d e s c r i b e d a b o
0057500 v e . I n t h i s c a s e
0057520 , { f n P R I N T N U M }
0057540 w i l l n o t h a v e t o
0057560 p e r f o r m t h e c o n
0057600 v e r s i o n , b u t c a n
0057620 s i m p l y u s e t h e
0057640 m a c h i n e - d e p e n d e n
0057660 t f o r m a t c o d e d i
0057700 r e c t l y . \r \r \r { F n D e
0057720 f { F n N a m e N U M F O R
0057740 M A T C O D E } { F n A r g s
0057760 F O R M A T S M A S H C O D
0060000 E } \r { T e x t \r C o n v e r t
0060020 s t h e { l i s p F I X }
0060040 o r { l i s p F L O A T }
0060060 f o r m a t { a r g F O R
0060100 M A T } t o a m a c h i n
0060120 e - d e p e n d e n t f o r m
0060140 a t - c o d e . I f { a r
0060160 g S M A S H C O D E } i s
0060200 r e c o g n i z e d a s a
0060220 f o r m a t - c o d e d a t a
0060240 - s t r u c t u r e , t h e n
0060260 t h e n e w f o r m a t -
0060300 c o d e i s s m a s h e d
0060320 i n t o t h a t s t r u c t
0060340 u r e i n s t e a d o f a
0060360 l l o c a t i n g n e w s t
0060400 o r a g e . { l i s p ( N
0060420 U M F O R M A T C O D E ) } r
0060440 e t u r n s a n u n i n i t
0060460 i a l i z e d d a t u m t h
0060500 a t c a n l a t e r b e
0060520 s m a s h e d . \r \r I n I n t
0060540 e r l i s p - D , t h i s f
0060560 u n c t i o n i s a n o -
0060600 o p , a s t h e r e i s
0060620 n o s p e c i a l i n t e r
0060640 n a l r e p r e s e n t a t i
0060660 o n f o r n u m b e r f o
0060700 r m a t s . \r } } \r { E n d C
0060720 o m m e n t } \r \r \r { i n d e x
0060740 * E N D * P R I N T N U M
0060760 F N } \r \r \r } { E n d S u b S
0061000 e c P r i n t i n g n u m b
0061020 e r s } \r \r \r \r { B e g i n S
0061040 u b S e c U s e r D e f i n
0061060 e d P r i n t i n g } \r { T i
0061100 t l e U s e r D e f i n e d
0061120 P r i n t i n g } \r { T e x t
0061140 \r \r { i n d e x * P R I M A R
0061160 Y * U s e r d e f i n e d
0061200 p r i n t i n g } \r \r I n i t i
0061220 a l l y , I n t e r l i s p
0061240 o n l y k n o w s h o w t
0061260 o p r i n t i n a n i n
0061300 t e r e s t i n g w a y o b
0061320 j e c t s o f t y p e l i
0061340 t a t o m , n u m b e r , s
0061360 t r i n g , l i s t a n d
0061400 s t a c k p . A l l o t h
0061420 e r t y p e s o f o b j e
0061440 c t s a r e p r i n t e d
0061460 i n t h e f o r m { l i s
0061500 p { b r a c k e t d a t a t
0061520 y p e } } f o l l o w e d b
0061540 y t h e o c t a l r e p r
0061560 e s e n t a t i o n o f t h
0061600 e a d d r e s s o f t h e
0061620 p o i n t e r , a f o r m
0061640 a t t h a t c a n n o t b
0061660 e r e a d b a c k i n t
0061700 o p r o d u c e a n e q u
0061720 i v a l e n t o b j e c t .
0061740 W h e n d e f i n i n g u
0061760 s e r d a t a t y p e s (
0062000 u s i n g t h e { l i s p
0062020 D A T A T Y P E } r e c o r d
0062040 t y p e , { p a g e R e f
0062060 ( r e c o r d t y p e ) D A
0062100 T A T Y P E } ) , i t i s
0062120 o f t e n d e s i r a b l e
0062140 t o s p e c i f y a s w e
0062160 l l h o w o b j e c t s o
0062200 f t h a t t y p e s h o u
0062220 l d b e p r i n t e d , s
0062240 o a s t o m a k e t h e
0062260 i r c o n t e n t s r e a d
0062300 a b l e , o r a t l e a s
0062320 t m o r e i n f o r m a t i
0062340 v e t o t h e v i e w e r
0062360 . T h e f u n c t i o n
0062400 { f n D E F P R I N T } i s
0062420 u s e d t o s p e c i f y
0062440 t h e p r i n t i n g f o
0062460 r m a t o f a d a t a t
0062500 y p e . \r \r { F n D e f { F n
0062520 N a m e D E F P R I N T } {
0062540 F n A r g s T Y P E F N } \r
0062560 { T e x t \r { a r g T Y P E }
0062600 i s a t y p e n a m e .
0062620 W h e n e v e r a p r i
0062640 n t i n g f u n c t i o n (
0062660 { f n P R I N T } , { f n
0062700 P R I N 1 } , { f n P R I N
0062720 2 } , e t c . ) o r a f
0062740 u n c t i o n r e q u i r i n
0062760 g a p r i n t n a m e (
0063000 { f n C H C O N } , { f n
0063020 N C H A R S } , e t c . ) e
0063040 n c o u n t e r s a n o b j
0063060 e c t o f t h e i n d i c
0063100 a t e d t y p e , { a r g
0063120 F N } i s c a l l e d w i
0063140 t h t w o a r g u m e n t s
0063160 : t h e i t e m t o b e
0063200 p r i n t e d a n d t h e
0063220 n a m e o f t h e s t r
0063240 e a m , i f a n y , t o
0063260 w h i c h t h e o b j e c t
0063300 i s t o b e p r i n t e
0063320 d . T h e s e c o n d a
0063340 r g u m e n t i s { l i s p
0063360 N I L } o n c a l l s t
0063400 h a t r e q u e s t t h e
0063420 p r i n t n a m e o f a n
0063440 o b j e c t w i t h o u t
0063460 a c t u a l l y p r i n t i n
0063500 g i t . \r \r I f { a r g F
0063520 N } r e t u r n s a l i s
0063540 t o f t h e f o r m { l
0063560 i s p ( { a r g I T E M 1 }
0063600 . { a r g I T E M 2 } ) }
0063620 , { a r g I T E M 1 } i s
0063640 p r i n t e d u s i n g {
0063660 f n P R I N 1 } ( u n l e s
0063700 s i t i s { l i s p N I
0063720 L } ) , a n d t h e n { a
0063740 r g I T E M 2 } i s p r i
0063760 n t e d u s i n g { f n P
0064000 R I N 2 } ( u n l e s s i t
0064020 i s { l i s p N I L } ) .
0064040 N o s p a c e s a r e
0064060 p r i n t e d b e t w e e n
0064100 t h e t w o i t e m s .
0064120 T y p i c a l l y , { a r g
0064140 I T E M 1 } i s a r e a d
0064160 m a c r o c h a r a c t e r
0064200 . \r \r I f { a r g F N } r
0064220 e t u r n s { l i s p N I L
0064240 } , t h e d a t u m i s
0064260 p r i n t e d i n t h e s
0064300 y s t e m d e f a u l t m a
0064320 n n e r . \r \r I f { a r g F
0064340 N } r e t u r n s { l i s p
0064360 T } , n o t h i n g f u r
0064400 t h e r i s p r i n t e d ;
0064420 { a r g F N } i s a s s
0064440 u m e d t o h a v e p r i
0064460 n t e d t h e o b j e c t
0064500 t o t h e s t r e a m i t
0064520 s e l f . N o t e t h a t
0064540 t h i s c a s e i f p e
0064560 r m i t t e d o n l y w h e
0064600 n t h e s e c o n d a r g
0064620 u m e n t p a s s e d t o
0064640 { a r g F N } i s n o n -
0064660 { l i s p N I L } ; o t h e
0064700 r w i s e , t h e r e i s
0064720 n o d e s t i n a t i o n f
0064740 o r { a r g F N } t o d
0064760 o i t s p r i n t i n g ,
0065000 s o i t m u s t r e t u r
0065020 n a s i n o n e o f t
0065040 h e o t h e r t w o c a s
0065060 e s . \r \r \r { B e g i n c o m
0065100 m e n t I n t e r l i s p - 1
0065120 0 s p e c i f i c } \r I n t e
0065140 r l i s p - 1 0 s p e c i f i
0065160 c : I n I n t e r l i s p
0065200 - 1 0 , { a r g T Y P E }
0065220 m a y a l s o b e a t y
0065240 p e n u m b e r ( s e e {
0065260 P a g e R e f F n N T Y P }
0065300 ) . N o t e t h a t t h
0065320 e u s e r c a n s p e c i
0065340 f y d i f f e r e n t a c t
0065360 i o n f o r t y p e n a m
0065400 e s { l i s p A R R A Y P }
0065420 , { l i s p H A R R A Y P }
0065440 , { l i s p T E R M T A B L
0065460 E P } , { l i s p R E A D T
0065500 A B L E P } , a n d { l i s
0065520 p C C O D E P } , e v e n
0065540 t h o u g h t h e y a l l
0065560 h a v e t h e s a m e t y
0065600 p e { i t n u m b e r } . \r
0065620 \r N o t e t h a t s i n c e
0065640 { f n D E F P R I N T } a
0065660 f f e c t s i n t e r n a l
0065700 c a l l s t o p r i n t f
0065720 r o m { f n P A C K } , {
0065740 f n C O N C A T } , e t c .
0065760 , i . e . a n y o p e r a
0066000 t i o n t h a t i n v o l v
0066020 e s o b t a i n i n g a p
0066040 r i n t n a m e ( s e e {
0066060 P a g e R e f T a g P r i n
0066100 t N a m e s } ) , i n i m p l
0066120 e m e n t a t i o n s t h a t
0066140 d o n o t h a v e r e e
0066160 n t r a n t p r i n t i n g
0066200 c o d e , t h e u s e r ' s
0066220 { f n D E F P R I N T } f
0066240 u n c t i o n m u s t { i t
0066260 n o t } c a l l a n y p
0066300 r i n t n a m e m a n i p u
0066320 l a t i n g f u n c t i o n s
0066340 i t s e l f , o r t h e
0066360 r e s u l t s o f t h e w
0066400 h o l e p r i n t i n g o p
0066420 e r a t i o n a r e u n d e
0066440 f i n e d . \r { E n d c o m m
0066460 e n t I n t e r l i s p - 1 0
0066500 s p e c i f i c } \r } } \r \r \r
0066520 } { E n d S u b S e c U s e
0066540 r D e f i n e d P r i n t i
0066560 n g } \r \r \r \r { B e g i n S u
0066600 b S e c P r i n t i n g U n
0066620 u s u a l D a t a S t r u c
0066640 t u r e s } \r { T i t l e P r
0066660 i n t i n g U n u s u a l D
0066700 a t a S t r u c t u r e s } \r
0066720 { T e x t \r \r { n o t e T h e
0066740 { f n H P R I N T } p a c
0066760 k a g e w a s w r i t t e n
0067000 b y L . M . M a s i n t
0067020 e r . } \r \r { i n d e x * P R
0067040 I M A R Y * P r i n t i n g
0067060 u n u s u a l d a t a s t r
0067100 u c t u r e s } \r \r { i n d e x
0067120 * P R I M A R Y * P r i n t
0067140 i n g c i r c u l a r l i s
0067160 t s } \r \r { f n H P R I N T }
0067200 ( f o r " H o r r i b l e
0067220 P r i n t " ) a n d { f n
0067240 H R E A D } p r o v i d e a
0067260 m e c h a n i s m f o r p
0067300 r i n t i n g a n d r e a d
0067320 i n g b a c k i n g e n e
0067340 r a l d a t a s t r u c t u
0067360 r e s t h a t c a n n o t
0067400 n o r m a l l y b e d u m p
0067420 e d a n d l o a d e d e a
0067440 s i l y , s u c h a s ( p
0067460 o s s i b l y r e - e n t r a
0067500 n t o r c i r c u l a r )
0067520 s t r u c t u r e s c o n t a
0067540 i n i n g u s e r d a t a t
0067560 y p e s , a r r a y s , h a
0067600 s h t a b l e s , a s w e
0067620 l l a s l i s t s t r u c
0067640 t u r e s . { f n H P R I
0067660 N T } w i l l c o r r e c t
0067700 l y p r i n t a n d r e a
0067720 d b a c k i n a n y s t
0067740 r u c t u r e c o n t a i n i
0067760 n g a n y o r a l l o f
0070000 t h e a b o v e , c h a s
0070020 i n g a l l p o i n t e r s
0070040 d o w n t o t h e l e v
0070060 e l o f l i t e r a l a t
0070100 o m s , n u m b e r s o r
0070120 s t r i n g s . { f n H P
0070140 R I N T } c u r r e n t l y
0070160 c a n n o t h a n d l e c o
0070200 m p i l e d c o d e a r r a
0070220 y s , s t a c k p o s i t i
0070240 o n s , o r a r b i t r a r
0070260 y u n b o x e d n u m b e r
0070300 s . \r \r \r { f n H P R I N T }
0070320 o p e r a t e s b y s i m
0070340 u l a t i n g t h e I n t e
0070360 r l i s p { f n P R I N T }
0070400 r o u t i n e f o r n o r
0070420 m a l l i s t s t r u c t u
0070440 r e s . W h e n i t e n
0070460 c o u n t e r s a u s e r
0070500 d a t a t y p e ( s e e { P
0070520 a g e R e f T e r m U s e r
0070540 D a t a T y p e s } ) , o
0070560 r a n a r r a y o r h a
0070600 s h a r r a y , i t p r i
0070620 n t s t h e d a t a c o n
0070640 t a i n e d t h e r e i n ,
0070660 s u r r o u n d e d b y s p
0070700 e c i a l c h a r a c t e r s
0070720 d e f i n e d a s r e a d
0070740 m a c r o c h a r a c t e r
0070760 s ( s e e { P a g e R e f
0071000 T a g R e a d M a c r o s } )
0071020 . W h i l e c h a s i n g
0071040 t h e p o i n t e r s o f
0071060 a s t r u c t u r e , i t
0071100 a l s o k e e p s a h a
0071120 s h t a b l e o f t h o s
0071140 e i t e m s i t e n c o u
0071160 n t e r s , a n d i f a n
0071200 y i t e m i s e n c o u n
0071220 t e r e d a s e c o n d t
0071240 i m e , a n o t h e r r e a
0071260 d m a c r o c h a r a c t e
0071300 r i s i n s e r t e d b e
0071320 f o r e t h e f i r s t o
0071340 c c u r r e n c e ( b y r e
0071360 s e t t i n g t h e f i l e
0071400 p o i n t e r w i t h { f
0071420 n S E T F I L E P T R } ) a
0071440 n d a l l s u b s e q u e n
0071460 t o c c u r r e n c e s a r
0071500 e p r i n t e d a s a b
0071520 a c k r e f e r e n c e u s
0071540 i n g a n a p p r o p r i a
0071560 t e m a c r o c h a r a c t
0071600 e r . T h u s t h e i n
0071620 v e r s e f u n c t i o n ,
0071640 { f n H R E A D } m e r e l
0071660 y c a l l s t h e I n t e
0071700 r l i s p { f n R E A D }
0071720 r o u t i n e w i t h t h e
0071740 a p p r o p r i a t e r e a
0071760 d t a b l e . \r \r \r { F n D e
0072000 f { F n N a m e H P R I N T
0072020 } { F n A r g s E X P R F
0072040 I L E U N C I R C U L A R D
0072060 A T A T Y P E S E E N } \r { T e
0072100 x t \r P r i n t s { a r g E
0072120 X P R } o n { a r g F I L
0072140 E } . I f { a r g U N C
0072160 I R C U L A R } i s n o n -
0072200 { l i s p N I L } , { f n
0072220 H P R I N T } d o e s n o
0072240 c h e c k i n g f o r a n y
0072260 c i r c u l a r i t i e s i
0072300 n { a r g E X P R } ( b u
0072320 t i s s t i l l u s e f u
0072340 l f o r d u m p i n g a r
0072360 b i t r a r y s t r u c t u r
0072400 e s o f a r r a y s , h a
0072420 s h a r r a y s , l i s t s
0072440 , u s e r d a t a t y p e
0072460 s , e t c . , t h a t d o
0072500 n o t c o n t a i n c i r
0072520 c u l a r i t i e s ) . S p
0072540 e c i f y i n g { a r g U N
0072560 C I R C U L A R } a s n o n
0072600 - { l i s p N I L } r e s u
0072620 l t s i n a l a r g e s
0072640 p e e d a n d i n t e r n a
0072660 l - s t o r a g e a d v a n t
0072700 a g e . \r \r N o r m a l l y ,
0072720 w h e n { f n H P R I N T }
0072740 e n c o u n t e r s a u s
0072760 e r d a t a t y p e f o r
0073000 t h e f i r s t t i m e ,
0073020 i t o u t p u t s a s u
0073040 m m a r y o f t h e d a t
0073060 a t y p e ' s d e c l a r a
0073100 t i o n . W h e n t h i s
0073120 i s r e a d i n , t h e
0073140 d a t a t y p e i s r e
0073160 d e c l a r e d . I f { a
0073200 r g D A T A T Y P E S E E N }
0073220 i s n o n - { l i s p N I
0073240 L } , { f n H P R I N T }
0073260 a s s u m e s t h a t t h e
0073300 s a m e d a t a t y p e
0073320 d e c l a r a t i o n s w i l
0073340 l b e i n f o r c e a t
0073360 r e a d t i m e a s w e
0073400 r e a t { f n H P R I N T
0073420 } t i m e , a n d n o t
0073440 o u t p u t d e c l a r a t i
0073460 o n s . \r \r { f n H P R I N T
0073500 } i s i n t e n d e d p r
0073520 i m a r i l y f o r o u t p
0073540 u t t o r a n d o m a c c
0073560 e s s f i l e s , s i n c e
0073600 t h e a l g o r i t h m d
0073620 e p e n d s o n b e i n g
0073640 a b l e t o r e s e t t h
0073660 e f i l e p o i n t e r .
0073700 I f { a r g F I L E } i
0073720 s n o t a r a n d o m a
0073740 c c e s s f i l e ( a n d
0073760 { a r g U N C I R C U L A R }
0074000 = { l i s p N I L } ) ,
0074020 a t e m p o r a r y f i l e
0074040 , { l i s p H P R I N T . S
0074060 C R A T C H } , { i n d e x H
0074100 P R I N T . S C R A T C H ( F
0074120 i l e n a m e ) } i s o p
0074140 e n e d , { a r g E X P R }
0074160 i s { f n H P R I N T } e
0074200 d o n i t , a n d t h e
0074220 n t h a t f i l e i s c
0074240 o p i e d t o t h e f i n
0074260 a l o u t p u t f i l e a
0074300 n d t h e t e m p o r a r y
0074320 f i l e i s d e l e t e d
0074340 . \r } } \r \r \r { F n D e f { F
0074360 n N a m e H R E A D } { F n
0074400 A r g s F I L E } \r { T e x t
0074420 \r R e a d s a n d r e t u r
0074440 n s a n { f n H P R I N T
0074460 } - e d e x p r e s s i o n
0074500 f r o m { a r g F I L E } .
0074520 \r } } \r \r \r { F n D e f { F n
0074540 N a m e H C O P Y A L L } {
0074560 F n A r g s X } \r { T e x t \r
0074600 C o p i e s d a t a s t r u
0074620 c t u r e { a r g X } .
0074640 { a r g X } m a y c o n t
0074660 a i n c i r c u l a r p o i
0074700 n t e r s a s w e l l a s
0074720 a r b i t r a r y s t r u c
0074740 t u r e s . \r } } \r \r \r N o t e
0074760 : { f i l e c o m H O R R I
0075000 B L E V A R S } { i n d e x H
0075020 O R R I B L E V A R S F i l e
0075040 C o m } a n d { f i l e c o
0075060 m U G L Y V A R S } { i n d e
0075100 x U G L Y V A R S F i l e C
0075120 o m } ( { P a g e R e f F i
0075140 l e C o m H O R R I B L E V A
0075160 R S } ) a r e t w o f i l
0075200 e p a c k a g e c o m m a n
0075220 d s f o r d u m p i n g a
0075240 n d r e l o a d i n g c i r
0075260 c u l a r a n d r e - e n t
0075300 r a n t d a t a s t r u c t
0075320 u r e s . T h e y p r o v
0075340 i d e a c o n v e n i e n t
0075360 i n t e r f a c e t o { f
0075400 n H P R I N T } a n d { f
0075420 n H R E A D } . \r \r \r W h e
0075440 n { f n H P R I N T } i s
0075460 d u m p i n g a d a t a
0075500 s t r u c t u r e t h a t c
0075520 o n t a i n s a n i n s t a
0075540 n c e o f a n I n t e r l
0075560 i s p d a t a t y p e , t h
0075600 e d a t a t y p e d e c l a
0075620 r a t i o n i s a l s o p
0075640 r i n t e d o n t o t h e
0075660 f i l e . R e a d i n g s
0075700 u c h a d a t a s t r u c
0075720 t u r e w i t h { f n H R
0075740 E A D } c a n c a u s e p
0075760 r o b l e m s i f i t r e
0076000 d e f i n e s a s y s t e m
0076020 d a t a t y p e . R e d e
0076040 f i n i n g a s y s t e m
0076060 d a t a t y p e w i l l a l
0076100 m o s t d e f i n i t e l y
0076120 c a u s e s e r i o u s e r
0076140 r o r s . T h e I n t e r
0076160 l i s p s y s t e m d a t a
0076200 t y p e s d o n o t c h a
0076220 n g e v e r y o f t e n ,
0076240 b u t t h e r e i s a l w
0076260 a y s a p o s s i b i l i t
0076300 y w h e n l o a d i n g i
0076320 n o l d f i l e s c r e a
0076340 t e d u n d e r a n o l d
0076360 I n t e r l i s p r e l e a
0076400 s e . \r \r T o p r e v e n t
0076420 a c c i d e n t a l s y s t e
0076440 m c r a s h e s , { f n H
0076460 R E A D } w i l l { i t n
0076500 o t } r e d e f i n e d a t
0076520 a t y p e s . I n s t e a d
0076540 , i t w i l l c a u s e
0076560 a n e r r o r " { l i s p
0076600 a t t e m p t t o r e a d
0076620 D A T A T Y P E w i t h d i
0076640 f f e r e n t f i e l d s p
0076660 e c i f i c a t i o n t h a n
0076700 c u r r e n t l y d e f i n
0076720 e d } " . { i n d e x a t t e
0076740 m p t t o r e a d D A T A
0076760 T Y P E w i t h d i f f e r
0077000 e n t f i e l d s p e c i f
0077020 i c a t i o n t h a n c u r
0077040 r e n t l y d e f i n e d E
0077060 r r o r } C o n t i n u i n
0077100 g f r o m t h i s e r r o
0077120 r w i l l r e d e f i n e
0077140 t h e d a t a t y p e . \r \r {
0077160 B e g i n N o t e } \r I s t
0077200 h i s s t u f f t r u e ?
0077220 S h o u l d i t b e d o
0077240 c u m e n t e d i n t h e
0077260 m a n u a l ? \r \r D a t e :
0077300 3 N O V 1 9 7 4 0 1 1 0 -
0077320 P S T \r F r o m : M A S I N T
0077340 E R \r S u b j e c t : H P R I
0077360 N T \r \r T h e r e i s a f
0077400 l a g H P R I N T A L L F L G
0077420 : i f o n , H P R I N T
0077440 c h e c k s f o r E Q \r \r i
0077460 n i t i a l i z a t i o n f u
0077500 n c t i o n H P I N I T R D T
0077520 B L [ c h a r s ] i n i t ' s
0077540 t h e r e a d t a b l e .
0077560 \r \r c h a r s i s t h e l
0077600 i s t \r ( f o r w a r d c h a r
0077620 f o r w a r d c d r c h a r
0077640 b a k c h a r f i l l c h a r
0077660 f i n a l c h a r ) . \r ^
0077700 u s e d b e f o r e a n
0077720 i t e m w h i c h w i l l
0077740 h a v e a b a c k r e f e
0077760 r e n c e \r \t ^ u s
0100000 e d b e f o r e a n i t e
0100020 m , t h e t a i l o f t
0100040 h e l i s t s t a r t i n g
0100060 b a k c h a r i s u s e d
0100100 t o d e n o t e b o t h
0100120 a b a c k r e f e r e n c e
0100140 , a n d a h a s h a r r
0100160 a y , ( w h e n f o l l o w
0100200 e d b y H ) , a r e g u
0100220 l a r a r r a y ( w h e n
0100240 f o l l o w e d b y A [ ) ,
0100260 a d a t a t y p e ( w h e
0100300 n f o l l o w e d b y [ )
0100320 . \r \r f i l l c h a r i s u
0100340 s e d t o p a d a r o u n
0100360 d b a c k r e f e r e n c e
0100400 n u m b e r s ( s i n c e
0100420 i t j u s t l e a v e s s
0100440 p a c e s a p r i o r i a
0100460 n d g o e s b a c k a t
0100500 t h e e n d t o \r r e m a r
0100520 k t h e p l a c e s ) . \r \r
0100540 f i n a l c h a r i s u s e
0100560 d t o t e r m i n a t e t
0100600 h e b a c k r e f n u m b e
0100620 r s ( a s w e l l a s a
0100640 f t e r a r r a y s , d a t
0100660 a t y p e s , e t c ) . \r \r i
0100700 n i t i a l l y , t h e s e
0100720 a r e s e t u p : \r f o r w
0100740 a r d c h a r = ^ ( u p
0100760 a r r o w ) \r f o r w r d c d r
0101000 c h a r = ` ( a c c e n t
0101020 g r a v e ) \r b a k c h a r
0101040 = { l b r a c k e t } ( l e
0101060 f t b r a c e ) \r f i l l c h
0101100 a r = ( A S C I I 0 )
0101120 ( u s u a l l y n o n - p r i
0101140 n t i n g ) \r f i n a l c h a r
0101160 = { r b r a c k e t } ( r
0101200 i g h t b r a c e ) \r \r T h i
0101220 s m e a n s t h a t c i r
0101240 c u l a r l i s t s p r i n
0101260 t i n a s i m i l a r f
0101300 o r m a t \r t o C I R C L P R
0101320 I N T ' s o u t p u t . \r A r
0101340 r a y s p r i n t a s { b
0101360 r a c k e t A [ n 1 n 2 e
0101400 1 e 2 e 3 . . . ] }
0101420 ( t h e e i ' s a r e t
0101440 h e e l e m e n t s ) \r H a s
0101460 h a r r a y s p r i n t {
0101500 b r a c k e t H [ n 1 e 1
0101520 e 2 e 3 . . . ] } \r U s e r
0101540 d a t a t y p e s a s { b
0101560 r a c k e t [ n a m e e 1
0101600 e 2 e 3 . . . ] } e x c
0101620 e p t t h a t t h e f i r
0101640 s t t i m e a d a t a t y
0101660 p e i s p r i n t e d , t
0101700 h e n a m e i s f o l l o
0101720 w e d b y N W O R D S a n
0101740 d N P O I N T E R S . \r \r f o
0101760 r w a r d c h a r , f o r w r
0102000 d c d r c h a r , a n d b a
0102020 k c h a r a r e m a c r o s
0102040 ; \r f i l l c h a r a n d
0102060 f i n a l c h a r a r e j u
0102100 s t s e p r s ( b u t t h
0102120 e r e a r e r e d u n d a n
0102140 c y c h e c k s t h a t (
0102160 E Q ( R E A D C . . ) f i
0102200 n a l c h a r ) i n v a r i
0102220 o u s p l a c e s ) . \r \r - -
0102240 - - \r R E A D V A R S , i f
0102260 t h e l a s t a r g i s
0102300 a l i s t , w i l l i n i
0102320 t i a l i z e t h e r e a d
0102340 t a b l e t o t h o s e
0102360 c o d e s . H O R R I B L E V
0102400 A R S p r e t t y d e f m a c
0102420 r o w i l l p u t o u t
0102440 t h e c o d e s i n t h e
0102460 R E A D V A R S e x p r e s
0102500 s i o n i f t h e y a r e
0102520 d i f f e r e n t f r o m
0102540 t h o s e i n H P D E F A U
0102560 L T C H A R S . \r { E n d N o
0102600 t e } \r \r \r } { E n d S u b S
0102620 e c P r i n t i n g U n u s
0102640 u a l D a t a S t r u c t u
0102660 r e s } \r \r \r \r \r } { E n d S
0102700 u b S e c O u t p u t F u n
0102720 c t i o n s } \r \r \r \r \r \0 \0 \0 \0
0102740 \0 004 \0 002 \0 ? \0 1 ( D E F A U L T
0102760 F O N T 1 ( G A C H A 1 0
0103000 ) ( G A C H A 8 ) ( T E R
0103020 M I N A L 8 ) ) \0 \n \0 \0 \0 \0 \0
0103040 \0 \0 \0 \0 ? \0 1 ( D E F A U L T F
0103060 O N T 1 ( G A C H A 1 0 )
0103100 ( G A C H A 8 ) ( T E R M
0103120 I N A L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0
0103140 \0 \0 \0 \0 022 a \0 \0 \0 \0 002 \0 \0 001 # \0
0103160 \0 \0 \0 001 \0 \0 r X \0 \0 \0 \0 002 \0 \0 205
0103200 334 \0 003 z 272
0103205