$ od -c -N 50000 [Erinyes]<LispManual>PrettyPrint.im!5
0000000 \r \r { B e g i n S u b S e c
0000020 P r e t t y p r i n t } \r { T i
0000040 t l e P r e t t y p r i n t }
0000060 \r { T e x t \r \r { i n d e x *
0000100 P R I M A R Y * P r e t t y p
0000120 r i n t i n g f u n c t i o n
0000140 d e f i n i t i o n s } \r \r {
0000160 n o t e T h e P R E T T Y P
0000200 R I N T p a c k a g e w a s
0000220 w r i t t e n b y W . T
0000240 e i t e l m a n . } \r \r T h e
0000260 s t a n d a r d w a y o f
0000300 p r i n t i n g o u t f u n
0000320 c t i o n d e f i n i t i o n
0000340 s ( o n t h e t e r m i n
0000360 a l o r i n t o f i l e s
0000400 ) i s t o u s e { f n
0000420 P R E T T Y P R I N T } . \r \r {
0000440 F n D e f { F n N a m e P R
0000460 E T T Y P R I N T } { F n A r
0000500 g s F N S P R E T T Y D E F
0000520 L G { a n o n a r g } } \r { T
0000540 e x t \r { a r g F N S } i s
0000560 a l i s t o f f u n c t
0000600 i o n s . I f { a r g F
0000620 N S } i s a t o m i c , i
0000640 t s v a l u e i s u s e d
0000660 ) . T h e d e f i n i t i
0000700 o n s o f t h e f u n c t
0000720 i o n s a r e p r i n t e d
0000740 i n a p r e t t y f o r
0000760 m a t o n t h e p r i m a
0001000 r y o u t p u t f i l e u
0001020 s i n g t h e p r i m a r y
0001040 r e a d t a b l e . F o r
0001060 e x a m p l e , i f { l i
0001100 s p F A C T O R I A L } w e
0001120 r e d e f i n e d b y t y
0001140 p i n g \r \r { l i s p c o d e
0001160 ( D E F I N E Q ( F A C T O R
0001200 I A L [ L A M B D A ( N )
0001220 ( C O N D ( ( Z E R O P N )
0001240 1 ) \r ( T ( I T I M E S N
0001260 ( F A C T O R I A L ( S U B
0001300 1 N ] } \r \r { l i s p ( P R
0001320 E T T Y P R I N T ' ( F A C T
0001340 O R I A L ) ) } w o u l d p
0001360 r i n t o u t \r \r { l i s p c
0001400 o d e \r ( F A C T O R I A L \r
0001420 [ L A M B D A ( N ) \r
0001440 ( C O N D \r ( ( Z
0001460 E R O P N ) \r
0001500 1 ) \r ( T ( I T I
0001520 M E S N ( F A C T O R I A L
0001540 ( S U B 1 N ] ) } \r \r \r { a
0001560 r g P R E T T Y D E F L G }
0001600 i s { l i s p T } w h e n
0001620 c a l l e d f r o m { f n
0001640 P R E T T Y D E F } ( a n d
0001660 h e n c e { f n M A K E F
0001700 I L E } ) . A m o n g o t
0001720 h e r a c t i o n s t a k e
0001740 n w h e n t h i s a r g u
0001760 m e n t i s t r u e , { f
0002000 n P R E T T Y P R I N T } i
0002020 n d i c a t e s i t s p r o
0002040 g r e s s i n w r i t i n g
0002060 t h e c u r r e n t o u t
0002100 p u t f i l e : w h e n e v
0002120 e r i t s t a r t s a n
0002140 e w f u n c t i o n , i t
0002160 p r i n t s o n t h e t e
0002200 r m i n a l t h e n a m e
0002220 o f t h a t f u n c t i o n
0002240 i f m o r e t h a n 3 0
0002260 s e c o n d s ( r e a l t
0002300 i m e ) h a v e e l a p s e
0002320 d s i n c e t h e l a s t
0002340 t i m e i t p r i n t e d
0002360 t h e n a m e o f a f
0002400 u n c t i o n . \r \r { f n P R
0002420 E T T Y P R I N T } o p e r a
0002440 t e s c o r r e c t l y o n
0002460 f u n c t i o n s t h a t
0002500 a r e { p r o p B R O K E N
0002520 } , { p r o p B R O K E N -
0002540 I N } , { p r o p A D V I S
0002560 E D } , o r h a v e b e e
0002600 n c o m p i l e d w i t h
0002620 t h e i r d e f i n i t i o n
0002640 s s a v e d o n t h e i r
0002660 p r o p e r t y l i s t s :
0002700 i t p r i n t s t h e o
0002720 r i g i n a l , p r i s t i n
0002740 e d e f i n i t i o n , b u
0002760 t d o e s n o t c h a n g
0003000 e t h e c u r r e n t s t
0003020 a t e o f t h e f u n c t
0003040 i o n . I f a f u n c t
0003060 i o n i s n o t d e f i n
0003100 e d b u t i s k n o w n
0003120 t o b e o n o n e o f
0003140 t h e f i l e s n o t i c e
0003160 d b y t h e f i l e p a
0003200 c k a g e , { f n P R E T T
0003220 Y P R I N T } l o a d s i n
0003240 t h e d e f i n i t i o n
0003260 ( u s i n g { f n L O A D F
0003300 N S } ) a n d p r i n t s
0003320 i t ( e x c e p t w h e n
0003340 c a l l e d f r o m { f n
0003360 P R E T T Y D E F } ) . I f
0003400 { f n P R E T T Y P R I N T
0003420 } i s g i v e n a n a t
0003440 o m w h i c h i s n o t
0003460 t h e n a m e o f a f u
0003500 n c t i o n , b u t h a s
0003520 a v a l u e , i t p r e t
0003540 t y p r i n t s t h e v a l
0003560 u e . O t h e r w i s e ,
0003600 { f n P R E T T Y P R I N T }
0003620 a t t e m p t s s p e l l i
0003640 n g c o r r e c t i o n .
0003660 I f a l l f a i l s , { f
0003700 n P R E T T Y P R I N T } r
0003720 e t u r n s { l i s p ( { a
0003740 r g F N } N O T P R I N T
0003760 A B L E ) } . N o t e t h
0004000 a t { f n P R E T T Y P R I
0004020 N T } w i l l r e t u r n
0004040 { l i s p ( { a r g F N }
0004060 N O T P R I N T A B L E ) }
0004100 i f { a r g F N } d o e s
0004120 n o t h a v e a n a c c
0004140 e s s a b l e e x p r d e f
0004160 i n i t i o n , o r i f i
0004200 t d o e s n ' t h a v e a
0004220 n y d e f i n i t i o n a t
0004240 a l l . \r \r { i n d e x X {
0004260 N a m e N O T P R I N T A B
0004300 L E } \r \t { T y p e r e t u r
0004320 n e d b y P R E T T Y P R I
0004340 N T } \r \t { T e x t { l i s p
0004360 ( { a r g F N } N O T P
0004400 R I N T A B L E ) } } \r } \r \r
0004420 } } \r \r \r { F n D e f { F n N
0004440 a m e P P } { F n A r g s
0004460 F N { s u b 1 } { e l l i p
0004500 s i s } F N { s u b N } } \r
0004520 { T y p e N O S P R E A D N
0004540 L A M B D A } \r { T e x t \r F o
0004560 r p r e t t y p r i n t i n g
0004600 f u n c t i o n s t o t h
0004620 e t e r m i n a l . { f n
0004640 P P } c a l l s { f n P
0004660 R E T T Y P R I N T } w i t h
0004700 t h e p r i m a r y o u t
0004720 p u t f i l e s e t t o
0004740 { l i s p T } a n d t h e
0004760 p r i m a r y r e a d t a
0005000 b l e s e t t o { l i s p
0005020 T } . T h e p r i m a r
0005040 y o u t p u t f i l e a n
0005060 d p r i m a r y r e a d t a
0005100 b l e a r e r e s t o r e d
0005120 a f t e r p r i n t i n g .
0005140 \r \r { l i s p ( P P F O O )
0005160 } i s e q u i v a l e n t
0005200 t o { l i s p ( P R E T T Y
0005220 P R I N T ' ( F O O ) ) } ;
0005240 { l i s p ( P P F O O F
0005260 I E ) } i s e q u i v a l e
0005300 n t t o { l i s p ( P R E
0005320 T T Y P R I N T ' ( F O O F
0005340 I E ) ) } . \r } } \r \r \r A s d
0005360 e s c r i b e d a b o v e ,
0005400 w h e n { f n P R E T T Y P
0005420 R I N T } , a n d h e n c e
0005440 { f n P P } , i s c a l
0005460 l e d w i t h t h e n a m
0005500 e o f a f u n c t i o n
0005520 t h a t i s n o t d e f i
0005540 n e d , b u t w h o s e d
0005560 e f i n i t i o n i s o n
0005600 a f i l e k n o w n t o
0005620 t h e f i l e p a c k a g e
0005640 , t h e d e f i n i t i o n
0005660 i s a u t o m a t i c a l l
0005700 y r e a d i n a n d t h
0005720 e n p r e t t y p r i n t e d
0005740 . H o w e v e r , i f t
0005760 h e u s e r d o e s n o t
0006000 i n t e n d o n e d i t i
0006020 n g o r r u n n i n g t h
0006040 e d e f i n i t i o n , b u
0006060 t s i m p l y w a n t s t
0006100 o { i t s e e } t h e d
0006120 e f i n i t i o n , t h e f
0006140 u n c t i o n { f n P F }
0006160 d e s c r i b e d b e l o w
0006200 c a n b e u s e d t o s
0006220 i m p l y c o p y t h e c
0006240 o r r e s p o n d i n g c h a
0006260 r a c t e r s f r o m t h e
0006300 f i l e t o t h e t e r
0006320 m i n a l . T h i s r e s
0006340 u l t s i n a s a v i n g
0006360 s i n b o t h s p a c e
0006400 a n d t i m e , s i n c e
0006420 i t i s n o t n e c e s s
0006440 a r y t o a l l o c a t e
0006460 s t o r a g e t o a c t u a
0006500 l l y r e a d i n t h e
0006520 d e f i n i t i o n , a n d
0006540 i t i s n o t n e c e s s
0006560 a r y t o r e - p r e t t y
0006600 p r i n t i t ( s i n c e
0006620 t h e f u n c t i o n i s
0006640 a l r e a d y i n p r e t t
0006660 y p r i n t f o r m a t o n
0006700 t h e f i l e ) . \r \r \r { F
0006720 n D e f { F n N a m e P F }
0006740 { F n A r g s F N F R O M
0006760 F I L E S T O F I L E } \r { T
0007000 y p e N O S P R E A D N L A
0007020 M B D A } \r { T e x t \r C o p i
0007040 e s t h e d e f i n i t i o
0007060 n o f { a r g F N } f o
0007100 u n d o n e a c h o f t
0007120 h e f i l e s i n { a r g
0007140 F R O M F I L E S } t o {
0007160 a r g T O F I L E } . I f
0007200 { a r g T O F I L E } = { l
0007220 i s p N I L } , d e f a u l
0007240 t s t o { l i s p T } .
0007260 I f { a r g F R O M F I L
0007300 E S } = { l i s p N I L } ,
0007320 d e f a u l t s t o { l i s
0007340 p ( W H E R E I S { a r g
0007360 F N } N I L T ) } ( s e e
0007400 { P a g e R e f F n W H E
0007420 R E I S } ) . T h e t y p
0007440 i c a l u s a g e o f { f
0007460 n P F } i s s i m p l y
0007500 t o t y p e " { l i s p P
0007520 F { a r g F N } } " . \r \r {
0007540 f n P F } p r i n t s a
0007560 m e s s a g e i f i t c a
0007600 n ' t f i n d a f i l e
0007620 o n { a r g F R O M F I L E
0007640 S } , o r i t c a n ' t
0007660 f i n d t h e f u n c t i o
0007700 n { a r g F N } o n a
0007720 f i l e . \r } } \r \r W h e n p
0007740 r i n t i n g t o t h e t
0007760 e r m i n a l , { f n P F }
0010000 p e r f o r m s s e v e r a
0010020 l t r a n s f o r m a t i o n
0010040 s o n t h e c h a r a c t
0010060 e r s i n t h e f i l e
0010100 t h a t c o m p r i s e t h
0010120 e d e f i n i t i o n f o r
0010140 { a r g F N } : ( 1 ) f
0010160 o n t i n f o r m a t i o n
0010200 i s s t r i p p e d o u t
0010220 ( e x c e p t i n I n t e r
0010240 l i s p - D , w h o s e d i
0010260 s p l a y s u p p o r t s m
0010300 u l t i p l e f o n t s ) ;
0010320 ( 2 ) o c c u r r e n c e s
0010340 o f t h e { v a r C H A N
0010360 G E C H A R } ( { P a g e R e
0010400 f V a r C H A N G E C H A R
0010420 } ) a r e n o t p r i n t
0010440 e d ; ( 3 ) s i n c e f u
0010460 n c t i o n s t y p i c a l l
0010500 y t e n d t o b e p r i
0010520 n t e d t o a f i l e w
0010540 i t h a l a r g e r l i n
0010560 e l e n g t h t h a n w h e
0010600 n p r i n t i n g t o a
0010620 t e r m i n a l , t h e n u
0010640 m b e r o f l e a d i n g
0010660 s p a c e s o n e a c h l
0010700 i n e i s c u t i n h a
0010720 l f ( u n l e s s { v a r
0010740 P F D E F A U L T } { I n d e x
0010760 P F D E F A U L T V a r }
0011000 i s { l i s p T } ; i n i
0011020 t i a l l y { l i s p N I L
0011040 } ) ; a n d ( 4 ) c o m m
0011060 e n t s a r e e l i d e d ,
0011100 i f { v a r * * C O M M E
0011120 N T * * F L G } i s n o n -
0011140 { l i s p N I L } ( s e e
0011160 { P a g e R e f V a r * * C
0011200 O M M E N T * * F L G } ) . \r
0011220 \r \r { F n D e f { F n N a m e
0011240 S E E } { F n A r g s F R
0011260 O M F I L E T O F I L E } \r {
0011300 T y p e N O S P R E A D N L
0011320 A M B D A } \r { T e x t \r C o p
0011340 i e s a l l o f t h e t
0011360 e x t f r o m { a r g F R
0011400 O M F I L E } t o { a r g
0011420 T O F I L E } ( d e f a u l t
0011440 s t o { l i s p T } ) ,
0011460 p r o c e s s i n g a l l t
0011500 e x t a s { l i s p P F }
0011520 d o e s . U s e d t o
0011540 d i s p l a y t h e c o n t
0011560 e n t s o f f i l e s o n
0011600 t h e t e r m i n a l . \r }
0011620 } \r \r \r { F n D e f { F n N a
0011640 m e P P * } { F n A r g s
0011660 X } \r { T y p e N O S P R E A
0011700 D N L A M B D A } } \r { F n
0011720 D e f { F n N a m e P F * }
0011740 { F n A r g s F N F R O M
0011760 F I L E S T O F I L E } \r { T
0012000 y p e N O S P R E A D N L A
0012020 M B D A } } \r { F n D e f {
0012040 F n N a m e S E E * } { F n
0012060 A r g s F R O M F I L E T O
0012100 F I L E } \r { T y p e N O S P
0012120 R E A D N L A M B D A } \r { T
0012140 e x t \r T h e s e f u n c t i
0012160 o n s o p e r a t e e x a c
0012200 t l y l i k e { f n P P }
0012220 , { f n P F } , a n d {
0012240 l i s p S E E } , e x c e p
0012260 t t h a t t h e y b i n d
0012300 { v a r * * C O M M E N T *
0012320 * F L G } t o { l i s p N
0012340 I L } , s o c o m m e n t s
0012360 a r e p r i n t e d i n
0012400 f u l l ( s e e { P a g e R
0012420 e f V a r * * C O M M E N T
0012440 * * F L G } ) . \r } } \r \r W h i
0012460 l e t h e f u n c t i o n
0012500 { f n P R E T T Y P R I N T }
0012520 p r i n t s e n t i r e f
0012540 u n c t i o n d e f i n i t i
0012560 o n s , t h e f u n c t i o
0012600 n { f n P R I N T D E F }
0012620 c a n b e u s e d t o p
0012640 r i n t p a r t s o f f u
0012660 n c t i o n s , o r a r b i
0012700 t r a r y I n t e r l i s p
0012720 s t r u c t u r e s : \r \r { F n
0012740 D e f { F n N a m e P R I N
0012760 T D E F } { F n A r g s E X
0013000 P R L E F T D E F T A I L
0013020 F L G F N S L S T F I L E }
0013040 \r { T e x t \r P r i n t s t h
0013060 e e x p r e s s i o n { a r
0013100 g E X P R } i n a p r e
0013120 t t y f o r m a t o n { a
0013140 r g F I L E } u s i n g t
0013160 h e p r i m a r y r e a d t
0013200 a b l e . { a r g L E F T
0013220 } i s t h e l e f t h a
0013240 n d m a r g i n ( { f n L
0013260 I N E L E N G T H } d e t e r
0013300 m i n e s t h e r i g h t
0013320 h a n d m a r g i n ) . {
0013340 f n P R I N T D E F } i n i
0013360 t i a l l y p e r f o r m s
0013400 { l i s p ( T A B { a r g
0013420 L E F T } T ) } , w h i c h
0013440 m e a n s t o s p a c e
0013460 t o p o s i t i o n { a r g
0013500 L E F T } , u n l e s s a
0013520 l r e a d y b e y o n d t h
0013540 i s p o s i t i o n , i n
0013560 w h i c h c a s e i t d o
0013600 e s n o t h i n g . \r \r { a r
0013620 g D E F } = { l i s p T }
0013640 m e a n s { a r g E X P R }
0013660 i s a f u n c t i o n d
0013700 e f i n i t i o n , o r a
0013720 p i e c e o f o n e . I
0013740 f { a r g D E F } = { l i s
0013760 p N I L } , n o s p e c i
0014000 a l a c t i o n i s t a k
0014020 e n f o r { l i s p L A M
0014040 B D A } ' s , { f n P R O G
0014060 } ' s , { f n C O N D } ' s
0014100 , c o m m e n t s , C L I S
0014120 P , e t c . { a r g D E
0014140 F } i s { l i s p N I L }
0014160 w h e n { f n P R E T T Y
0014200 D E F } c a l l s { f n P
0014220 R E T T Y P R I N T } t o p
0014240 r i n t v a r i a b l e s a
0014260 n d p r o p e r t y l i s t
0014300 s , a n d w h e n { i n d
0014320 e x P R I N T D E F F N } {
0014340 f n P R I N T D E F } i s
0014360 c a l l e d f r o m t h e
0014400 e d i t o r v i a t h e c
0014420 o m m a n d { i n d e x P P
0014440 V E d i t C o m } { e d i t c
0014460 o m P P V } . \r \r { a r g T
0014500 A I L F L G } = { l i s p T }
0014520 m e a n s { a r g E X P R
0014540 } i s i n t e r p r e t e d
0014560 a s a t a i l o f a
0014600 l i s t , t o b e p r i n
0014620 t e d w i t h o u t p a r e
0014640 n t h e s e s . \r \r { a r g F
0014660 N S L S T } i s f o r u s
0014700 e f o r p r i n t i n g w
0014720 i t h m u l t i p l e f o n
0014740 t s ( { P a g e R e f T e r
0014760 m F o n t s } ) . { f n
0015000 P R I N T D E F } p r i n t s
0015020 o c c u r r e n c e s o f
0015040 a n y f u n c t i o n i n
0015060 t h e l i s t { a r g F N
0015100 S L S T } i n a d i f f e
0015120 r e n t f o n t , f o r e
0015140 m p h a s i s . { f n M A
0015160 K E F I L E } p a s s e s a
0015200 s { a r g F N S L S T } t
0015220 h e l i s t o f a l l f
0015240 u n c t i o n s o n t h e
0015260 f i l e b e i n g m a d e .
0015300 \r } } \r \r \r { B e g i n S u b
0015320 S e c C o m m e n t F e a t
0015340 u r e } \r { T i t l e C o m m
0015360 e n t F e a t u r e } \r { T e
0015400 x t \r \r \r { T a g C o m m e n
0015420 t F e a t u r e } \r \r { i n d e
0015440 x * P R I M A R Y * * ( u
0015460 s e i n c o m m e n t s ) }
0015500 \r { i n d e x * P R I M A R Y
0015520 * C o m m e n t s i n f u
0015540 n c t i o n s } \r \r A f a c i
0015560 l i t y f o r a n n o t a t
0015600 i n g I n t e r l i s p f u
0015620 n c t i o n s i s p r o v i
0015640 d e d i n { f n P R E T T
0015660 Y P R I N T } . A n y e x
0015700 p r e s s i o n b e g i n n i
0015720 n g w i t h t h e a t o m
0015740 { l i s p * } i s i n t
0015760 e r p r e t e d a s a c o
0016000 m m e n t a n d p r i n t e
0016020 d i n t h e r i g h t m
0016040 a r g i n . E x a m p l e :
0016060 \r \r \r { l i s p c o d e \r ( F A
0016100 C T O R I A L \r [ L A M B
0016120 D A ( N )
0016140
0016160 ( * C O M P U
0016200 T E S N ! ) \r
0016220 ( C O N D \r
0016240 ( ( Z E R O P N )
0016260
0016300 ( * 0 ! = 1 ) \r
0016320 1 ) \r
0016340 ( T
0016360
0016400 ( *
0016420 R E C U R S I V E D E F I N
0016440 I T I O N : \r
0016460
*
0016520 N ! = N * N
0016540 - 1 ! ) \r
0016560 ( I T I M E S N ( F A C T
0016600 O R I A L ( S U B 1 N ] ) }
0016620 \r \r \r { i n d e x * P R I M A
0016640 R Y * * F n } \r \r T h e s e
0016660 c o m m e n t s a c t u a l
0016700 l y f o r m a p a r t o
0016720 f t h e f u n c t i o n d
0016740 e f i n i t i o n . A c c o
0016760 r d i n g l y , { l i s p *
0017000 } i s d e f i n e d a s
0017020 a n n l a m b d a n o s p r
0017040 e a d f u n c t i o n t h a
0017060 t r e t u r n s i t s a r
0017100 g u m e n t , s i m i l a r
0017120 t o { f n Q U O T E } .
0017140 W h e n r u n n i n g a n
0017160 i n t e r p r e t e d f u n c
0017200 t i o n , { l i s p * } i
0017220 s e n t e r e d t h e s a
0017240 m e a s a n y o t h e r
0017260 I n t e r l i s p f u n c t i
0017300 o n . T h e r e f o r e ,
0017320 c o m m e n t s s h o u l d
0017340 o n l y b e p l a c e d w
0017360 h e r e t h e y w i l l n
0017400 o t h a r m t h e c o m p
0017420 u t a t i o n , i . e . , w
0017440 h e r e a q u o t e d e x
0017460 p r e s s i o n c o u l d b
0017500 e p l a c e d . F o r e
0017520 x a m p l e , w r i t i n g \r
0017540 \r { l i s p c o d e ( I T I M
0017560 E S N ( F A C T O R I A L
0017600 ( S U B 1 N ) ) ( * R E C
0017620 U R S I V E D E F I N I T I O
0017640 N ) ) } \r \r i n t h e a b o
0017660 v e f u n c t i o n w o u l
0017700 d c a u s e a n e r r o r
0017720 w h e n { l i s p I T I M
0017740 E S } a t t e m p t e d t o
0017760 m u l t i p l y { l i s p
0020000 N } , { l i s p N - 1 ! } ,
0020020 a n d { l i s p R E C U R
0020040 S I V E } . \r \r \r \r F o r c o
0020060 m p i l a t i o n p u r p o s
0020100 e s , { l i s p * } i s
0020120 d e f i n e d a s a m a c
0020140 r o w h i c h c o m p i l e
0020160 s i n t o n o i n s t r u
0020200 c t i o n s ( u n l e s s t
0020220 h e c o m m e n t h a s b
0020240 e e n p l a c e d w h e r e
0020260 i t h a s b e e n u s e
0020300 d f o r v a l u e , i n
0020320 w h i c h c a s e t h e c
0020340 o m p i l e r p r i n t s a
0020360 n a p p r o p r i a t e e r
0020400 r o r m e s s a g e a n d
0020420 c o m p i l e s { l i s p *
0020440 } a s { f n Q U O T E } )
0020460 . T h u s , t h e c o m
0020500 p i l e d f o r m o f a
0020520 f u n c t i o n w i t h c o
0020540 m m e n t s d o e s n o t
0020560 u s e t h e e x t r a a t
0020600 o m a n d l i s t s t r u
0020620 c t u r e s t o r a g e r e
0020640 q u i r e d b y t h e c o
0020660 m m e n t s i n t h e s o
0020700 u r c e ( i n t e r p r e t e
0020720 d ) c o d e . T h i s i
0020740 s t h e w a y t h e c o
0020760 m m e n t f e a t u r e i s
0021000 i n t e n d e d t o b e
0021020 u s e d . \r \r \r A c o m m e n
0021040 t o f t h e f o r m { l
0021060 i s p ( * E { a r g X }
0021100 ) } c a u s e s { a r g X
0021120 } t o b e e v a l u a t e
0021140 d a t p r e t t y p r i n t
0021160 t i m e , a s w e l l a
0021200 s p r i n t e d a s a c
0021220 o m m e n t i n t h e u s
0021240 u a l w a y . F o r e x
0021260 a m p l e , { l i s p ( *
0021300 E ( R A D I X 8 ) ) } a s
0021320 a c o m m e n t i n a
0021340 f u n c t i o n c o n t a i n
0021360 i n g o c t a l n u m b e r
0021400 s c a n b e u s e d t o
0021420 c h a n g e t h e r a d i
0021440 x t o p r o d u c e m o r
0021460 e r e a d a b l e p r i n t
0021500 o u t . { i n d e x E ( u s
0021520 e i n c o m m e n t s ) } \r
0021540 \r \r \r T h e c o m m e n t c
0021560 h a r a c t e r { l i s p *
0021600 } i s s t o r e d i n t
0021620 h e v a r i a b l e { v a r
0021640 C O M M E N T F L G } . T
0021660 h e u s e r c a n s e t
0021700 i t t o s o m e o t h e r
0021720 v a l u e , e . g . " { l
0021740 i s p ; } " , a n d u s e
0021760 t h i s t o i n d i c a t
0022000 e c o m m e n t s . \r \r { V a
0022020 r D e f { N a m e C O M M E
0022040 N T F L G } \r { T e x t \r I f
0022060 { f n C A R } o f a n e
0022100 x p r e s s i o n i s { f n
0022120 E Q } t o { v a r C O M
0022140 M E N T F L G } , t h e e x
0022160 p r e s s i o n i s t r e a
0022200 t e d a s a c o m m e n t
0022220 b y { f n P R E T T Y P R
0022240 I N T } . { v a r C O M M
0022260 E N T F L G } i s i n i t i
0022300 a l i z e d t o { l i s p
0022320 * } . { i n d e x * ( u s e
0022340 i n c o m m e n t s ) }
0022360 N o t e t h a t w h a t e v
0022400 e r a t o m i s c h o s e
0022420 n f o r { v a r C O M M E
0022440 N T F L G } s h o u l d a l
0022460 s o h a v e a n a p p r o
0022500 p r i a t e f u n c t i o n
0022520 d e f i n i t i o n a n d c
0022540 o m p i l e r m a c r o , f
0022560 o r e x a m p l e , b y c
0022600 o p y i n g t h o s e o f
0022620 { l i s p * } . \r } } \r \r \r \r
0022640 { i n d e x * * C O M M E N T
0022660 * * ( p r i n t e d b y s
0022700 y s t e m ) } \r { i n d e x X
0022720 { N a m e C O M M E N T } {
0022740 T y p e p r i n t e d b y
0022760 s y s t e m } { T e x t { l
0023000 i s p * * C O M M E N T * * }
0023020 } } \r \r C o m m e n t s a r
0023040 e d e s i g n e d m a i n l
0023060 y f o r d o c u m e n t i n
0023100 g { i t l i s t i n g s } .
0023120 T h e r e f o r e , w h e
0023140 n p r e t t y p r i n t i n g
0023160 t o t h e t e r m i n a l
0023200 , c o m m e n t s a r e s
0023220 u p p r e s s e d a n d p r
0023240 i n t e d a s t h e s t r
0023260 i n g { l i s p * * C O M M
0023300 E N T * * } . T h e v a l
0023320 u e o f { v a r * * C O M
0023340 M E N T * * F L G } d e t e r
0023360 m i n e s t h e a c t i o n
0023400 . \r \r \r { i n d e x X { N a m
0023420 e C O M M E N T * * F L G }
0023440 { T y p e V a r i a b l e }
0023460 { T e x t { l i s p * * C O
0023500 M M E N T * * F L G } } } \r \r
0023520 { V a r D e f { N a m e * *
0023540 C O M M E N T * * F L G } \r { T
0023560 e x t \r I f { v a r * * C O
0023600 M M E N T * * F L G } i s {
0023620 l i s p N I L } , c o m m e
0023640 n t s a r e p r i n t e d .
0023660 O t h e r w i s e , t h e
0023700 v a l u e o f { v a r *
0023720 * C O M M E N T * * F L G } i
0023740 s p r i n t e d . I n i t
0023760 i a l l y { l i s p " * *
0024000 C O M M E N T * * " } . \r } }
0024020 \r \r \r { F n D e f { F n N a m
0024040 e C O M M E N T 1 } { F n A
0024060 r g s L { a n o n a r g } }
0024100 \r { T e x t \r P r i n t s t h
0024120 e c o m m e n t { a r g L
0024140 } . { f n C O M M E N T 1
0024160 } i s a s e p a r a t e
0024200 f u n c t i o n t o p e r m
0024220 i t t h e u s e r t o w
0024240 r i t e p r e t t y p r i n t
0024260 m a c r o s ( { P a g e R e
0024300 f V a r P R E T T Y P R I N
0024320 T M A C R O S } ) t h a t u
0024340 s e t h e r e g u l a r c
0024360 o m m e n t p r i n t e r .
0024400 F o r e x a m p l e , t o
0024420 c a u s e c o m m e n t s
0024440 t o b e p r i n t e d a t
0024460 a l a r g e r t h a n n
0024500 o r m a l l i n e l e n g t h
0024520 , o n e c o u l d p u t
0024540 a n e n t r y f o r { l i
0024560 s p * } o n { v a r P R
0024600 E T T Y P R I N T M A C R O S }
0024620 : \r \r { l i s p c o d e ( *
0024640 L A M B D A ( X ) ( R E S E
0024660 T F O R M ( L I N E L E N G T
0024700 H 1 0 0 ) ( C O M M E N T 1
0024720 X ) ) ) } \r \r T h i s m a c
0024740 r o r e s e t s t h e l i
0024760 n e l e n g t h , p r i n t
0025000 s t h e c o m m e n t , a
0025020 n d t h e n r e s t o r e s
0025040 t h e l i n e l e n g t h
0025060 . \r \r { f n C O M M E N T 1 }
0025100 e x p e c t s t o b e c
0025120 a l l e d f r o m w i t h i
0025140 n t h e e n v i r o n m e n
0025160 t e s t a b l i s h e d b y
0025200 { f n P R I N T D E F } ,
0025220 s o o r d i n a r i l y t h
0025240 e u s e r s h o u l d c a
0025260 l l i t { i t o n l y }
0025300 f r o m w i t h i n p r e t
0025320 t y p r i n t m a c r o s . \r
0025340 } } \r \r \r } { E n d S u b S e
0025360 c C o m m e n t F e a t u r
0025400 e } \r \r \r { B e g i n S u b S
0025420 e c C o m m e n t P o i n t
0025440 e r s } \r { T i t l e C o m m
0025460 e n t P o i n t e r s } \r { T
0025500 e x t \r \r \r { T a g C o m m e
0025520 n t P o i n t e r } \r \r { i n d
0025540 e x * P R I M A R Y * C o m
0025560 m e n t p o i n t e r s } \r {
0025600 i n d e x * P R I M A R Y *
0025620 * ( a s a r e a d m a c
0025640 r o ) } \r { i n d e x * P R I
0025660 M A R Y * * ( a s a p r
0025700 e t t y p r i n t m a c r o )
0025720 } \r \r F o r a w e l l - c o
0025740 m m e n t e d c o l l e c t i
0025760 o n o f p r o g r a m s ,
0026000 t h e l i s t s t r u c t u
0026020 r e , a t o m , a n d p r
0026040 i n t n a m e s t o r a g e
0026060 r e q u i r e d t o r e p
0026100 r e s e n t t h e c o m m e
0026120 n t s i n c o r e c a n
0026140 b e s i g n i f i c a n t .
0026160 I f t h e c o m m e n t s
0026200 a l r e a d y a p p e a r
0026220 o n a f i l e a n d a r
0026240 e n o t n e e d e d f o r
0026260 e d i t i n g , a s i g n
0026300 i f i c a n t s a v i n g s
0026320 i n s t o r a g e c a n b
0026340 e a c h i e v e d b y s i
0026360 m p l y l e a v i n g t h e
0026400 t e x t o f t h e c o m
0026420 m e n t o n t h e f i l e
0026440 w h e n t h e f i l e i
0026460 s l o a d e d , a n d i n
0026500 s t e a d r e t a i n i n g
0026520 i n c o r e o n l y a {
0026540 i t p o i n t e r } t o t
0026560 h e c o m m e n t . W h e
0026600 n t h i s f e a t u r e i
0026620 s e n a b l e d , { l i s p
0026640 * } i s d e f i n e d a
0026660 s a r e a d m a c r o (
0026700 { P a g e R e f T a g R e a
0026720 d M a c r o s } ) i n { v a
0026740 r F I L E R D T B L } { i n d
0026760 e x F I L E R D T B L V a r
0027000 } w h i c h , i n s t e a d
0027020 o f r e a d i n g i n t
0027040 h e e n t i r e t e x t o
0027060 f t h e c o m m e n t , c
0027100 o n s t r u c t s a n e x p
0027120 r e s s i o n c o n t a i n i
0027140 n g ( 1 ) t h e n a m e
0027160 o f t h e f i l e i n w
0027200 h i c h t h e t e x t o f
0027220 t h e c o m m e n t i s
0027240 c o n t a i n e d , ( 2 ) t
0027260 h e a d d r e s s o f t h
0027300 e f i r s t c h a r a c t e
0027320 r o f t h e c o m m e n t
0027340 , ( 3 ) t h e n u m b e r
0027360 o f c h a r a c t e r s i
0027400 n t h e c o m m e n t ,
0027420 a n d ( 4 ) a f l a g i
0027440 n d i c a t i n g w h e t h e
0027460 r t h e c o m m e n t a p
0027500 p e a r e d a t t h e r i
0027520 g h t h a n d m a r g i n
0027540 o r c e n t e r e d o n t
0027560 h e p a g e . F o r o u
0027600 t p u t p u r p o s e s , {
0027620 l i s p * } i s d e f i n
0027640 e d o n { v a r P R E T T
0027660 Y P R I N T M A C R O S } ( {
0027700 P a g e R e f V a r P R E T
0027720 T Y P R I N T M A C R O S } )
0027740 s o t h a t i t p r i n t
0027760 s t h e c o m m e n t s r
0030000 e p r e s e n t e d b y s u
0030020 c h p o i n t e r s b y s
0030040 i m p l y c o p y i n g t h
0030060 e c o r r e s p o n d i n g
0030100 c h a r a c t e r s f r o m
0030120 o n e f i l e t o a n o t
0030140 h e r , o r t o t h e t
0030160 e r m i n a l . N o r m a l
0030200 c o m m e n t s a r e p r
0030220 o c e s s e d t h e s a m e
0030240 a s b e f o r e , a n d
0030260 c a n b e i n t e r m i x e
0030300 d f r e e l y w i t h c o
0030320 m m e n t p o i n t e r s . \r
0030340 \r \r T h e c o m m e n t p o
0030360 i n t e r f e a t u r e i s
0030400 c o n t r o l l e d b y t
0030420 h e f u n c t i o n { f n
0030440 N O R M A L C O M M E N T S } .
0030460 \r \r { F n D e f { N a m e N
0030500 O R M A L C O M M E N T S } {
0030520 A r g s F L G } \r { T e x t \r
0030540 I f { a r g F L G } i s
0030560 { l i s p N I L } , t h e
0030600 c o m m e n t p o i n t e r
0030620 f e a t u r e i s e n a b l
0030640 e d . I f { a r g F L G
0030660 } i s { l i s p T } , t
0030700 h e c o m m e n t p o i n t
0030720 e r f e a t u r e i s d i
0030740 s a b l e d ( t h e d e f a
0030760 u l t ) . \r \r { f n N O R M A
0031000 L C O M M E N T S } c a n b
0031020 e c h a n g e d a s o f t
0031040 e n a s d e s i r e d .
0031060 T h u s , s o m e f i l e s
0031100 c a n b e l o a d e d n
0031120 o r m a l l y , a n d o t h
0031140 e r s w i t h t h e i r c
0031160 o m m e n t s c o n v e r t e
0031200 d t o c o m m e n t p o i
0031220 n t e r s . \r } } \r \r \r F o r
0031240 c o n v e n i e n c e o f e
0031260 d i t i n g s e l e c t e d
0031300 c o m m e n t s , a n e d i
0031320 t m a c r o , { e d i t c o
0031340 m G E T * } { i n d e x G E
0031360 T * E d i t C o m } , i s
0031400 i n c l u d e d , w h i c h
0031420 l o a d s i n t h e t e x
0031440 t o f t h e c o r r e s p
0031460 o n d i n g c o m m e n t .
0031500 T h e e d i t o r ' s { f
0031520 n P P * } c o m m a n d ,
0031540 i n c o n t r a s t , p r i
0031560 n t s t h e c o m m e n t
0031600 { i t w i t h o u t } r e a
0031620 d i n g i t b y s i m p l
0031640 y c o p y i n g t h e c o
0031660 r r e s p o n d i n g c h a r
0031700 a c t e r s t o t h e t e
0031720 r m i n a l . { e d i t c o
0031740 m G E T * } i s d e f i n
0031760 e d i n t e r m s o f {
0032000 f n G E T C O M M E N T } : \r
0032020 \r \r { F n D e f { F n N a m e
0032040 G E T C O M M E N T } { F n
0032060 A r g s X D E S T F L { a
0032100 n o n a r g } } \r { T e x t \r I
0032120 f { a r g X } i s a c
0032140 o m m e n t p o i n t e r ,
0032160 r e p l a c e s { a r g X }
0032200 w i t h t h e a c t u a l
0032220 t e x t o f t h e c o m
0032240 m e n t , w h i c h i t r
0032260 e a d s f r o m i t s f i
0032300 l e . R e t u r n s { a r
0032320 g X } i n a l l c a s e
0032340 s . I f { a r g D E S T
0032360 F L } i s n o n - { l i s p
0032400 N I L } , i t i s t h e
0032420 n a m e o f a n o p e n
0032440 f i l e , t o w h i c h
0032460 { f n G E T C O M M E N T }
0032500 c o p i e s t h e c o m m e
0032520 n t ; i n t h i s c a s e
0032540 , { a r g X } r e m a i n
0032560 s a c o m m e n t p o i n
0032600 t e r , b u t i t h a s
0032620 b e e n c h a n g e d t o
0032640 p o i n t t o t h e n e w
0032660 f i l e ( u n l e s s { f
0032700 n N O R M A L C O M M E N T S
0032720 } { i n d e x N O R M A L C O
0032740 M M E N T S F n } h a s b
0032760 e e n s e t t o { l i s p
0033000 D O N T U P D A T E } ) . \r }
0033020 } \r \r { F n D e f { F n N a m
0033040 e P R I N T C O M M E N T }
0033060 { F n A r g s X } \r { T e x t
0033100 \r D e f i n e d a s t h e
0033120 p r e t t y p r i n t m a c r
0033140 o f o r { l i s p * } :
0033160 c o p i e s t h e c o m m e
0033200 n t t o t h e p r i m a r
0033220 y o u t p u t f i l e b y
0033240 u s i n g { f n G E T C O
0033260 M M E N T } . \r } } \r \r { F n D
0033300 e f { F n N a m e R E A D C
0033320 O M M E N T } { F n A r g s
0033340 F L R D T B L L S T } \r { T
0033360 e x t \r D e f i n e d a s t
0033400 h e r e a d m a c r o f o
0033420 r { l i s p * } i n { l
0033440 i s p F I L E R D T B L } :
0033460 i f { v a r N O R M A L C O
0033500 M M E N T S F L G } i s { l
0033520 i s p N I L } , i t c o n
0033540 s t r u c t s a c o m m e n
0033560 t p o i n t e r , u n l e s
0033600 s i t b e l i e v e s t h
0033620 e e x p r e s s i o n b e g
0033640 i n n i n g w i t h { l i s
0033660 p * } i s n o t a c t u
0033700 a l l y a c o m m e n t ,
0033720 e . g . , i f t h e n e x
0033740 t a t o m i s " { l i s p
0033760 . } " o r { l i s p E }
0034000 . \r } } \r \r \r N o t e t h a t
0034020 a c e r t a i n a m o u n
0034040 t o f c a r e i s r e q
0034060 u i r e d i n u s i n g t
0034100 h e c o m m e n t p o i n t
0034120 e r f e a t u r e . S i n
0034140 c e t h e t e x t o f t
0034160 h e c o m m e n t r e s i d
0034200 e s o n t h e f i l e p
0034220 o i n t e d t o b y t h e
0034240 c o m m e n t p o i n t e r
0034260 , t h a t f i l e m u s t
0034300 r e m a i n i n e x i s t
0034320 e n c e a s l o n g a s
0034340 t h e c o m m e n t i s n
0034360 e e d e d . { f n G E T C
0034400 O M M E N T } h e l p s o u
0034420 t b y c h a n g i n g t h
0034440 e c o m m e n t p o i n t e
0034460 r t o a l w a y s p o i n
0034500 t a t t h e m o s t r e
0034520 c e n t f i l e t h a t t
0034540 h e c o m m e n t l i v e s
0034560 o n . H o w e v e r , i
0034600 f t h e u s e r h a s b
0034620 e e n p e r f o r m i n g r
0034640 e p e a t e d { f n M A K E
0034660 F I L E } ' s ( { P a g e R e
0034700 f F n M A K E F I L E } )
0034720 i n w h i c h d i f f e r i
0034740 n g f u n c t i o n s h a v
0034760 e c h a n g e d a t e a c
0035000 h i n v o c a t i o n o f
0035020 { f n M A K E F I L E } , i
0035040 t i s p o s s i b l e f o
0035060 r t h e c o m m e n t p o
0035100 i n t e r s i n m e m o r y
0035120 t o b e p o i n t i n g
0035140 a t s e v e r a l v e r s i
0035160 o n s o f t h e s a m e
0035200 f i l e , s i n c e a c o
0035220 m m e n t p o i n t e r i s
0035240 o n l y u p d a t e d w h
0035260 e n t h e f u n c t i o n
0035300 i t l i v e s i n i s p
0035320 r e t t y p r i n t e d , n o
0035340 t w h e n t h e f u n c t
0035360 i o n h a s b e e n c o p
0035400 i e d v e r b a t i m t o
0035420 t h e n e w f i l e . T
0035440 h i s c a n b e a p r o
0035460 b l e m f o r f i l e s y
0035500 s t e m s t h a t h a v e
0035520 a b u i l t - i n l i m i t
0035540 o n t h e n u m b e r o
0035560 f v e r s i o n s o f a
0035600 g i v e n f i l e t h a t
0035620 w i l l b e m a d e b e f
0035640 o r e o l d v e r s i o n s
0035660 a r e e x p u n g e d .
0035700 I n s u c h a c a s e ,
0035720 t h e u s e r s h o u l d
0035740 s e t t h e v e r s i o n
0035760 r e t e n t i o n c o u n t
0036000 o f a n y d i r e c t o r i
0036020 e s i n v o l v e d t o b
0036040 e i n f i n i t e . { f n
0036060 G E T C O M M E N T } p r i
0036100 n t s a n e r r o r m e s
0036120 s a g e i f t h e f i l e
0036140 t h a t t h e c o m m e n
0036160 t p o i n t e r p o i n t s
0036200 a t h a s d i s a p p e a
0036220 r e d . \r \r S i m i l a r l y ,
0036240 o n e s h o u l d b e c
0036260 o g n i z a n t o f c o m m
0036300 e n t p o i n t e r s i n
0036320 s y s o u t s , a n d b e
0036340 s u r e t o r e t a i n a
0036360 n y f i l e s t h u s p o
0036400 i n t e d t o . \r \r W h e n
0036420 u s i n g c o m m e n t p o
0036440 i n t e r s , t h e u s e r
0036460 s h o u l d a l s o n o t
0036500 s e t { v a r P R E T T Y
0036520 F L G } ( { P a g e R e f V
0036540 a r P R E T T Y F L G } ) t
0036560 o { l i s p N I L } o r
0036600 c a l l { f n M A K E F I L
0036620 E } w i t h o p t i o n {
0036640 l i s p F A S T } , s i n c
0036660 e t h i s w i l l p r e v
0036700 e n t f u n c t i o n s f r
0036720 o m b e i n g p r e t t y p
0036740 r i n t e d , a n d h e n c
0036760 e n o t g e t t h e t e
0037000 x t o f t h e c o m m e n
0037020 t c o p i e d i n t o t h
0037040 e n e w f i l e . \r \r \r I f
0037060 t h e u s e r c h a n g e
0037100 s t h e v a l u e o f {
0037120 v a r C O M M E N T F L G } {
0037140 i n d e x C O M M E N T F L G
0037160 V a r } b u t s t i l l
0037200 w i s h e s t o u s e t h
0037220 e c o m m e n t p o i n t e
0037240 r f e a t u r e , t h e n
0037260 e w { v a r C O M M E N T F
0037300 L G } s h o u l d b e g i
0037320 v e n t h e s a m e r e a
0037340 d - m a c r o d e f i n i t i
0037360 o n i n { v a r F I L E R
0037400 D T B L } a s { l i s p *
0037420 } h a s , a n d t h e s
0037440 a m e e n t r y b e p u t
0037460 o n { v a r P R E T T Y P
0037500 R I N T M A C R O S } . F o
0037520 r e x a m p l e , i f { v
0037540 a r C O M M E N T F L G } i
0037560 s r e s e t t o b e " {
0037600 l i s p ; } " , t h e n {
0037620 l i s p ( S E T S Y N T A X
0037640 ' ; ' * F I L E R D T B L )
0037660 } s h o u l d b e p e r f
0037700 o r m e d , a n d { l i s p
0037720 ( ; . P R I N T C O M M E
0037740 N T ) } a d d e d t o { v
0037760 a r P R E T T Y P R I N T M A
0040000 C R O S } . \r \r } { E n d S u
0040020 b S e c C o m m e n t P o i
0040040 n t e r s } \r \r \r \r { B e g i n
0040060 S u b S e c C o n v e r t i
0040100 n g C o m m e n t s t o L
0040120 o w e r C a s e } \r { T i t l
0040140 e C o n v e r t i n g C o m
0040160 m e n t s t o L o w e r C
0040200 a s e } \r { T e x t \r \r { i n d
0040220 e x * P R I M A R Y * L o w
0040240 e r c a s e c o m m e n t s
0040260 } \r \r { T a g L o w e r C a s
0040300 e C o m m e n t s } \r \r \r T h i
0040320 s s e c t i o n i s f o r
0040340 u s e r s u s i n g t e r
0040360 m i n a l s w i t h o u t l
0040400 o w e r c a s e , w h o n
0040420 e v e r t h e l e s s w o u l
0040440 d l i k e t h e i r c o m
0040460 m e n t s t o b e c o n v
0040500 e r t e d t o l o w e r c
0040520 a s e f o r m o r e r e a
0040540 d a b l e l i s t i n g s .
0040560 I f t h e s e c o n d a
0040600 t o m i n a c o m m e n t
0040620 i s { l i s p % % } , t
0040640 h e t e x t o f t h e c
0040660 o m m e n t i s c o n v e r
0040700 t e d t o l o w e r c a s
0040720 e s o t h a t i t l o o
0040740 k s l i k e E n g l i s h
0040760 i n s t e a d o f L i s p .
0041000 N o t e t h a t c o m m
0041020 e n t s a r e c o n v e r t
0041040 e d { i t o n l y } w h e
0041060 n t h e y a r e a c t u a
0041100 l l y w r i t t e n t o a
0041120 f i l e b y { f n P R E
0041140 T T Y P R I N T } . \r \r \r T h e
0041160 a l g o r i t h m f o r c
0041200 o n v e r s i o n t o l o w
0041220 e r c a s e i s t h e f
0041240 o l l o w i n g : I f t h
0041260 e f i r s t c h a r a c t e
0041300 r i n a n a t o m i s
0041320 { l i s p ^ } , { i n d e x
0041340 ^ ( u s e i n c o m m e n
0041360 t s ) } d o n o t c h a n
0041400 g e t h e a t o m ( b u t
0041420 r e m o v e t h e { l i s
0041440 p ^ } ) . I f t h e f
0041460 i r s t c h a r a c t e r i
0041500 s { l i s p % } , { i n d e
0041520 x % ( u s e i n c o m m
0041540 e n t s ) } c o n v e r t t
0041560 h e a t o m t o l o w e r
0041600 c a s e . N o t e t h a
0041620 t t h e u s e r m u s t
0041640 t y p e { l i s p % % } a
0041660 s { l i s p % } i s t h
0041700 e e s c a p e c h a r a c t
0041720 e r . I f t h e a t o m
0041740 ( m i n u s a n y t r a i
0041760 l i n g p u n c t u a t i o n
0042000 m a r k s ) i s a n I n
0042020 t e r l i s p w o r d ( i .
0042040 e . , i s a b o u n d o
0042060 r f r e e v a r i a b l e
0042100 f o r t h e f u n c t i o n
0042120 c o n t a i n i n g t h e
0042140 c o m m e n t , o r h a s
0042160 a t o p l e v e l v a l u
0042200 e , o r i s a d e f i n
0042220 e d f u n c t i o n , o r
0042240 h a s a n o n - { l i s p
0042260 N I L } p r o p e r t y l i
0042300 s t ) , d o n o t c h a n
0042320 g e i t . O t h e r w i s
0042340 e , c o n v e r t t h e a
0042360 t o m t o l o w e r c a s
0042400 e . C o n v e r s i o n o
0042420 n l y a f f e c t s t h e
0042440 u p p e r c a s e a l p h a
0042460 b e t , i . e . , a t o m s
0042500 a l r e a d y c o n v e r t
0042520 e d t o l o w e r c a s e
0042540 a r e n o t c h a n g e d
0042560 i f t h e c o m m e n t
0042600 i s c o n v e r t e d a g a
0042620 i n . W h e n c o n v e r t
0042640 i n g , t h e f i r s t c
0042660 h a r a c t e r i n t h e
0042700 c o m m e n t a n d t h e
0042720 f i r s t c h a r a c t e r
0042740 f o l l o w i n g e a c h p
0042760 e r i o d a r e l e f t c
0043000 a p i t a l i z e d . A f t
0043020 e r c o n v e r s i o n , t
0043040 h e c o m m e n t i s p h
0043060 y s i c a l l y m o d i f i e
0043100 d t o b e t h e l o w e
0043120 r c a s e t e x t m i n u
0043140 s t h e { l i s p % % } {
0043160 i n d e x % % ( u s e i n
0043200 c o m m e n t s ) } f l a g
0043220 , s o t h a t c o n v e r
0043240 s i o n i s t h u s o n l
0043260 y p e r f o r m e d o n c e
0043300 ( u n l e s s t h e u s e
0043320 r e d i t s t h e c o m m
0043340 e n t i n s e r t i n g a d
0043360 d i t i o n a l u p p e r c
0043400 a s e t e x t a n d a n o
0043420 t h e r { l i s p % % } f
0043440 l a g ) . \r \r { V a r D e f {
0043460 N a m e L C A S E L S T } \r {
0043500 T e x t \r W o r d s o n { v
0043520 a r L C A S E L S T } w i l
0043540 l a l w a y s b e c o n v
0043560 e r t e d t o l o w e r c
0043600 a s e . { v a r L C A S E
0043620 L S T } i s i n i t i a l i
0043640 z e d t o c o n t a i n w
0043660 o r d s w h i c h a r e I
0043700 n t e r l i s p f u n c t i o
0043720 n s b u t a l s o a p p e
0043740 a r f r e q u e n t l y i n
0043760 c o m m e n t s a s E n g
0044000 l i s h w o r d s ( { l i s
0044020 p A N D } , { l i s p E V
0044040 E R Y } , { l i s p G E T }
0044060 , { l i s p G O } , { l i
0044100 s p L A S T } , { l i s p
0044120 L E N G T H } , { l i s p
0044140 L I S T } , e t c . ) . T
0044160 h e r e f o r e , i f o n e
0044200 w i s h e d t o t y p e
0044220 a c o m m e n t i n c l u d
0044240 i n g t h e l i s p f u c
0044260 t i o n { f n G O } , i t
0044300 w o u l d b e n e c e s s
0044320 a r y t o t y p e { l i s
0044340 p ^ G O } i n o r d e r
0044360 t h a t i t m i g h t b e
0044400 l e f t i n u p p e r c
0044420 a s e . \r } } \r \r { V a r D e f
0044440 { N a m e U C A S E L S T }
0044460 \r { T e x t \r W o r d s o n
0044500 { v a r U C A S E L S T } (
0044520 t h a t d o n o t a p p e
0044540 a r o n { v a r L C A S E
0044560 L S T } ) w i l l b e l e
0044600 f t i n u p p e r c a s e
0044620 . { v a r U C A S E L S T
0044640 } i s i n i t i a l i z e d
0044660 t o { l i s p N I L } . \r
0044700 } } \r \r { V a r D e f { N a m
0044720 e A B B R E V L S T } \r { T e
0044740 x t \r { v a r A B B R E V L S
0044760 T } i s u s e d t o d i
0045000 s t i n g u i s h b e t w e e
0045020 n a b b r e v i a t i o n s
0045040 a n d w o r d s t h a t e
0045060 n d i n p e r i o d s .
0045100 N o r m a l l y , w o r d s
0045120 t h a t e n d i n p e r i
0045140 o d s a n d o c c u r m o
0045160 r e t h a n h a l f w a y
0045200 t o t h e r i g h t m a r
0045220 g i n c a u s e c a r r i a
0045240 g e - r e t u r n s . F u r
0045260 t h e r m o r e , d u r i n g
0045300 c o n v e r s i o n t o l
0045320 o w e r c a s e , w o r d s
0045340 e n d i n g i n p e r i o d
0045360 s , e x c e p t f o r t h
0045400 o s e o n { v a r A B B R
0045420 E V L S T } , c a u s e t h
0045440 e f i r s t c h a r a c t e
0045460 r i n t h e { i t n e x
0045500 t } w o r d t o b e c a
0045520 p i t a l i z e d . { v a r
0045540 A B B R E V L S T } i s i
0045560 n i t i a l i z e d t o t h
0045600 e u p p e r a n d l o w e
0045620 r c a s e f o r m s o f
0045640 { l i s p E T C . } , { l i
0045660 s p I . E . } , a n d { l
0045700 i s p E . G . } . \r } } \r \r \r
0045720 \r } { E n d S u b S e c C o
0045740 n v e r t i n g C o m m e n t
0045760 s t o L o w e r C a s e }
0046000 \r \r \r { B e g i n S u b S e c
0046020 S p e c i a l P r e t t y p
0046040 r i n t C o n t r o l s } \r {
0046060 T i t l e S p e c i a l P r
0046100 e t t y p r i n t C o n t r o
0046120 l s } \r { T e x t \r \r \r { V a r
0046140 D e f { N a m e P R E T T Y
0046160 T A B F L G } \r { T e x t \r I n
0046200 o r d e r t o s a v e s
0046220 p a c e o n f i l e s , t
0046240 a b s a r e u s e d i n s
0046260 t e a d o f s p a c e s f
0046300 o r t h e i n i t a l s p
0046320 a c e s o n e a c h l i n
0046340 e , a s s u m i n g t h a t
0046360 e a c h t a b c o r r e s
0046400 p o n d s t o 8 s p a c e
0046420 s . T h i s r e s u l t s
0046440 i n a r e d u c t i o n
0046460 o f f i l e s i z e b y
0046500 a b o u t 3 0 % . T a b s
0046520 a r e n o t u s e d i f
0046540 { v a r P R E T T Y T A B F
0046560 L G } i s s e t t o { l
0046600 i s p N I L } ( i n i t i a
0046620 l l y { l i s p T } ) . \r }
0046640 } \r \r \r { i n d e x X { N a m
0046660 e R P A R S } { T y p e V
0046700 a r i a b l e } \r { T e x t {
0046720 l i s p # R P A R S } } } \r
0046740 \r { V a r D e f { N a m e #
0046760 R P A R S } \r { T e x t \r C o n
0047000 t r o l s t h e n u m b e r
0047020 o f r i g h t p a r e n t
0047040 h e s e s n e c e s s a r y
0047060 f o r s q u a r e b r a c k
0047100 e t i n g t o o c c u r . {
0047120 i n d e x S q u a r e b r a
0047140 c k e t s i n s e r t e d b
0047160 y P R E T T Y P R I N T } { i
0047200 n d e x [ , ] i n s e r t e
0047220 d b y P R E T T Y P R I N T
0047240 } I f { v a r # R P A R
0047260 S } = { l i s p N I L } , n
0047300 o b r a c k e t s a r e u
0047320 s e d . { v a r # R P A R
0047340 S } i s i n i t i a l i z e
0047360 d t o 4 . \r } } \r \r \r \r { V
0047400 a r D e f { N a m e F I R S
0047420 T C O L } \r { T e x t \r T h e
0047440 s t a r t i n g c o l u m n
0047460 f o r c o m m e n t s . C
0047500 o m m e n t s r u n b e t w
0047520 e e n { v a r F I R S T C O
0047540 L } a n d t h e l i n e
0047560 l e n g t h s e t b y { f
0047600 n L I N E L E N G T H } ( {
0047620 P a g e R e f F n L I N E L
0047640 E N G T H } ) . I f a w
0047660 o r d i n a c o m m e n t
0047700 e n d s w i t h a " { l
0047720 i s p . } " a n d i s n
0047740 o t o n t h e l i s t {
0047760 i n d e x A B B R E V L S T
0050000 V a r } { v a r A B B R E V L
0050020 S T } , a n d t h e p o s
0050040 i t i o n i s g r e a t e r
0050060 t h a n h a l f w a y b e
0050100 t w e e n { v a r F I R S T
0050120 C O L } a n d { f n L I N
0050140 E L E N G T H } , t h e n e
0050160 x t w o r d i n t h e c
0050200 o m m e n t b e g i n s o n
0050220 a n e w l i n e . A l
0050240 s o , i f a l i s t i s
0050260 e n c o u n t e r e d i n
0050300 a c o m m e n t , a n d t
0050320 h e p o s i t i o n i s g
0050340 r e a t e r t h a n h a l f
0050360 w a y , t h e l i s t b e
0050400 g i n s o n a n e w l i
0050420 n e . \r } } \r \r \r { V a r D e f
0050440 { N a m e P R E T T Y L C O
0050460 M } \r { T e x t \r I f a c o
0050500 m m e n t h a s m o r e t
0050520 h a n { v a r P R E T T Y L
0050540 C O M } e l e m e n t s ( u
0050560 s i n g { f n C O U N T } )
0050600 , i t i s p r i n t e d
0050620 s t a r t i n g a t c o l u
0050640 m n 1 0 , i n s t e a d o
0050660 f { v a r F I R S T C O L }
0050700 . C o m m e n t s a r e
0050720 a l s o p r i n t e d s t a
0050740 r t i n g a t c o l u m n
0050760 1 0 i f t h e i r s e c o
0051000 n d e l e m e n t i s a l
0051020 s o a { l i s p * } , i
0051040 . e . , c o m m e n t s o f
0051060 t h e f o r m { l i s p
0051100 ( * * - - ) } . \r } } \r \r \r
0051120 { i n d e x X { N a m e C A
0051140 R E F U L C O L U M N S } { T
0051160 y p e V a r i a b l e } \r { T
0051200 e x t { l i s p # C A R E F
0051220 U L C O L U M N S } } } \r \r {
0051240 V a r D e f { N a m e # C A
0051260 R E F U L C O L U M N S } \r { T
0051300 e x t \r I n t h e i n t e r
0051320 e s t s o f e f f i c i e n
0051340 c y , { f n P R E T T Y P R
0051360 I N T } a p p r o x i m a t e
0051400 s t h e n u m b e r o f
0051420 c h a r a c t e r s i n e a
0051440 c h a t o m , r a t h e r
0051460 t h a n c a l l i n g { f n
0051500 N C H A R S } , w h e n c
0051520 o m p u t i n g h o w m u c
0051540 h w i l l f i t o n a
0051560 l i n e . T h i s p r o c
0051600 e d u r e w o r k s s a t i
0051620 s f a c t o r i l y i n m o
0051640 s t c a s e s . H o w e v
0051660 e r , u s e r s w i t h u
0051700 n u s u a l l y l o n g a t
0051720 o m s i n t h e i r p r o
0051740 g r a m s , e . g . , s u c
0051760 h a s p r o d u c e d b y
0052000 { f n C L I S P I F Y } ,
0052020 m a y o c c a s i o n l l y
0052040 e n c o u n t e r s o m e g
0052060 l i t c h e s i n t h e o
0052100 u t p u t p r o d u c e d b
0052120 y { f n P R E T T Y P R I N
0052140 T } . T h e v a l u e o
0052160 f { v a r # C A R E F U L C
0052200 O L U M N S } t e l l s { f
0052220 n P R E T T Y P R I N T } h
0052240 o w m a n y c o l u m n s
0052260 ( c o u n t i n g f r o m t
0052300 h e r i g h t h a n d m a
0052320 r g i n ) i n w h i c h t
0052340 o a c t u a l l y c o m p u
0052360 t e { f n N C H A R S } i
0052400 n s t e a d o f a p p r o x
0052420 i m a t i n g . S e t t i n
0052440 g { v a r # C A R E F U L C
0052460 O L U M N S } t o 2 0 o r
0052500 3 0 w i l l e l i m i n a
0052520 t e t h e g l i t c h e s ,
0052540 a l t h o u g h i t w i l
0052560 l s l o w d o w n { f n
0052600 P R E T T Y P R I N T } s l i
0052620 g h t l y . { v a r # C A
0052640 R E F U L C O L U M N S } i s
0052660 i n i t i a l l y 0 . \r } }
0052700 \r \r \r { F n D e f { F n N a m
0052720 e W I D E P A P E R } { F n
0052740 A r g s F L G } \r { T e x t \r
0052760 { l i s p ( W I D E P A P E R
0053000 T ) } s e t s { v a r F
0053020 I L E L I N E L E N G T H } { i
0053040 n d e x F I L E L I N E L E N
0053060 G T H V a r } ( { P a g e R
0053100 e f V a r F I L E L I N E L
0053120 E N G T H } ) , { i n d e x
0053140 F I R S T C O L V a r } { v a
0053160 r F I R S T C O L } , a n d
0053200 { i n d e x P R E T T Y L C
0053220 O M V a r } { v a r P R E T
0053240 T Y L C O M } t o l a r g e
0053260 v a l u e s a p p r o p r i
0053300 a t e f o r p r e t t y p
0053320 r i n t i n g f i l e s t o
0053340 b e l i s t e d o n w i
0053360 d e p a p e r . { l i s p
0053400 ( W I D E P A P E R ) } r e
0053420 s t o r e s t h e s e p a r
0053440 a m e t e r s t o t h e i r
0053460 i n i t i a l v a l u e s .
0053500 { f n W I D E P A P E R }
0053520 r e t u r n s t h e p r e
0053540 v i o u s s e t t i n g o f
0053560 { a r g F L G } . \r } } \r \r
0053600 \r \r { n o t e s h o u l d P
0053620 R E T T Y F L G b e m o v e
0053640 d n e a r P R I N T D E F
0053660 ( i n P R E T T Y D E F s e
0053700 c t i o n ) ? ? } \r \r { V a r
0053720 D e f { N a m e P R E T T Y
0053740 F L G } \r { T e x t \r I f { v
0053760 a r P R E T T Y F L G } i s
0054000 { l i s p N I L } , { i n
0054020 d e x P R I N T D E F F N }
0054040 { f n P R I N T D E F } u s
0054060 e s { f n P R I N 2 } i n
0054100 s t e a d o f p r e t t y p
0054120 r i n t i n g . T h i s i
0054140 s u s e f u l f o r p r o
0054160 d u c i n g a f a s t s y
0054200 m b o l i c d u m p ( s e e
0054220 t h e { l i s p F A S T }
0054240 o p t i o n o f { f n M
0054260 A K E F I L E } , { P a g e R
0054300 e f F n M A K E F I L E } )
0054320 . N o t e t h a t t h e
0054340 f i l e l o a d s t h e
0054360 s a m e a s i f i t w e
0054400 r e p r e t t y p r i n t e d
0054420 . { v a r P R E T T Y F L
0054440 G } i s i n i t i a l l y
0054460 s e t t o { l i s p T } .
0054500 { v a r P R E T T Y F L G
0054520 } s h o u l d n o t b e
0054540 s e t t o { l i s p N I L
0054560 } i f c o m m e n t p o i
0054600 n t e r s ( { P a g e R e f
0054620 t a g C o m m e n t P o i n t
0054640 e r } ) a r e b e i n g u
0054660 s e d . \r } } \r \r \r { V a r D e
0054700 f { N a m e C L I S P I F Y
0054720 P R E T T Y F L G } \r { T e x t
0054740 \r U s e d t o i n f o r m
0054760 { f n P R E T T Y P R I N T }
0055000 t o c a l l { f n C L I
0055020 S P I F Y } o n s e l e c t
0055040 e d f u n c t i o n d e f i
0055060 n i t i o n s b e f o r e p
0055100 r i n t i n g t h e m ( s e
0055120 e { P a g e R e f V a r C
0055140 L I S P I F Y P R E T T Y F L G
0055160 } ) . \r } } \r \r \r { V a r D e f
0055200 { N a m e P R E T T Y P R I
0055220 N T M A C R O S } \r { T e x t \r
0055240 A n a s s o c i a t i o n - l
0055260 i s t t h a t e n a b l e s
0055300 t h e u s e r t o c o n
0055320 t r o l t h e f o r m a t t
0055340 i n g o f s e l e c t e d
0055360 e x p r e s s i o n s . { f
0055400 n C A R } o f e a c h e
0055420 x p r e s s i o n b e i n g
0055440 { f n P R E T T Y P R I N T }
0055460 e d i s l o o k e d u p
0055500 o n { v a r P R E T T Y P R
0055520 I N T M A C R O S } , a n d
0055540 i f f o u n d , { f n C D
0055560 R } o f t h e c o r r e s
0055600 p o n d i n g e n t r y i s
0055620 a p p l i e d t o t h e
0055640 e x p r e s s i o n . I f
0055660 t h e r e s u l t o f t h
0055700 i s a p p l i c a t i o n i
0055720 s { l i s p N I L } , { f
0055740 n P R E T T Y P R I N T } i
0055760 g n o r e s t h e e x p r e
0056000 s s i o n ; i . e . , i t
0056020 p r i n t s n o t h i n g ,
0056040 a s s u m i n g t h a t t h
0056060 e p r e t t y p r i n t m a c
0056100 r o h a s d o n e a n y
0056120 d e s i r e d p r i n t i n g
0056140 . I f t h e r e s u l t
0056160 o f a p p l y i n g t h e
0056200 p r e t t y p r i n t m a c
0056220 r o i s n o n - { l i s p
0056240 N I L } , t h e r e s u l t
0056260 i s p r e t t y p r i n t e
0056300 d i n t h e n o r m a l
0056320 f a s h i o n . T h i s g
0056340 i v e s t h e u s e r t h
0056360 e o p t i o n o f c o m p
0056400 u t i n g s o m e o t h e r
0056420 e x p r e s s i o n t o b
0056440 e p r e t t y p r i n t e d
0056460 i n i t s p l a c e . \r \r N
0056500 o t e : " p r e t t y p r i
0056520 n t e d i n t h e n o r m
0056540 a l f a s h i o n " i n c l
0056560 u d e s p r o c e s s i n g
0056600 p r e t t y p r i n t m a c r
0056620 o s , u n l e s s t h e p
0056640 r e t t y p r i n t m a c r o
0056660 r e t u r n s a s t r u c
0056700 t u r e { l i s p E Q } t
0056720 o t h e o n e i t w a s
0056740 h a n d e d , i n w h i c
0056760 h c a s e t h e p o t e n
0057000 t i a l r e c u r s i o n i
0057020 s b r o k e n . \r } } \r \r \r {
0057040 V a r D e f { N a m e P R E
0057060 T T Y P R I N T Y P E M A C R O
0057100 S } \r { T e x t \r A l i s t
0057120 o f e l e m e n t s o f t
0057140 h e f o r m { l i s p ( {
0057160 a r g T Y P E N A M E } .
0057200 { a r g F N } ) } . F o r
0057220 t y p e s o t h e r t h a
0057240 n l i s t s a n d a t o m
0057260 s , t h e t y p e n a m e
0057300 o f e a c h d a t u m t
0057320 o b e p r e t t y p r i n t
0057340 e d i s l o o k e d u p
0057360 o n { v a r P R E T T Y P R
0057400 I N T Y P E M A C R O S } , a
0057420 n d i f f o u n d , t h e
0057440 c o r r e s p o n d i n g f
0057460 u n c t i o n i s a p p l i
0057500 e d t o t h e d a t u m
0057520 a b o u t t o b e p r i n
0057540 t e d , i n s t e a d o f
0057560 s i m p l y p r i n t i n g
0057600 i t w i t h { f n P R I N
0057620 2 } . \r } } \r \r \r { V a r D e f
0057640 { N a m e P R E T T Y E Q U
0057660 I V L S T } \r { T e x t \r A n
0057700 a s s o c i a t i o n - l i s t
0057720 t h a t t e l l s { f n
0057740 P R E T T Y P R I N T } t o
0057760 t r e a t a { f n C A R }
0060000 - o f - f o r m t h e s a m
0060020 e a s s o m e o t h e r
0060040 { f n C A R } - o f - f o r m
0060060 . F o r e x a m p l e ,
0060100 i f { l i s p ( Q L A M B D
0060120 A . L A M B D A ) } a p p
0060140 e a r s o n { v a r P R E
0060160 T T Y E Q U I V L S T } , t h
0060200 e n e x p r e s s i o n s b
0060220 e g i n n i n g w i t h { l
0060240 i s p Q L A M B D A } a r e
0060260 p r e t t y p r i n t e d t
0060300 h e s a m e a s { l i s p
0060320 L A M B D A } s . C u r r
0060340 e n t l y , { v a r P R E T
0060360 T Y E Q U I V L S T } o n l y
0060400 a l l o w s ( i . e . , s
0060420 u p p o r t s i n a n i n
0060440 t e r e s t i n g w a y ) e
0060460 q u i v a l e n c e s t o f
0060500 o r m s t h a t { f n P R
0060520 E T T Y P R I N T } i n t e r
0060540 n a l l y h a n d l e s .
0060560 E q u i v a l e n c e t o f
0060600 o r m s f o r w h i c h t
0060620 h e u s e r h a s s p e c
0060640 i f i e d a p r e t t y p r
0060660 i n t m a c r o s h o u l d
0060700 b e m a d e b y a d d i
0060720 n g f u r t h e r e n t r i
0060740 e s t o { v a r P R E T T
0060760 Y P R I N T M A C R O S } \r } }
0061000 \r \r \r { V a r D e f { N a m e
0061020 C H A N G E C H A R } \r { T e
0061040 x t \r I f n o n - { l i s p
0061060 N I L } , a n d { f n P R
0061100 E T T Y P R I N T } i s p r
0061120 i n t i n g t o a f i l e
0061140 o r d i s p l a y t e r m
0061160 i n a l , { f n P R E T T Y
0061200 P R I N T } p r i n t s { v
0061220 a r C H A N G E C H A R } i
0061240 n t h e r i g h t h a n d
0061260 m a r g i n w h i l e p r
0061300 i n t i n g t h o s e e x p
0061320 r e s s i o n s m a r k e d
0061340 b y t h e e d i t o r a s
0061360 h a v i n g b e e n c h a
0061400 n g e d ( s e e { P a g e R
0061420 e f T a g E d i t o r C h a
0061440 n g e M a r k s } ) . { v a
0061460 r C H A N G E C H A R } i s
0061500 i n i t i a l l y { l i s p
0061520 | } . { i n d e x * P R I M
0061540 A R Y * | ( c h a n g e c
0061560 h a r a c t e r ) } \r } } \r \r \r
0061600 } { E n d S u b S e c S p e
0061620 c i a l P r e t t y p r i n t
0061640 C o n t r o l s } \r \r \r } { E
0061660 n d S u b S e c P r e t t y
0061700 p r i n t } \r \r \r \0 \0 \0 \0 \0 004 \0
0061720 002 \0 ? \0 1 ( D E F A U L T F O N
0061740 T 1 ( G A C H A 1 0 ) (
0061760 G A C H A 8 ) ( T E R M I N
0062000 A L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0
0062020 \0 ? \0 1 ( D E F A U L T F O N T
0062040 1 ( G A C H A 1 0 ) ( G
0062060 A C H A 8 ) ( T E R M I N A
0062100 L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0
0062120 \0 % 326 \0 \0 \0 \0 002 \0 \0 \0 \a \0 \0 \0 \0
0062140 001 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 \v \0 \0
0062160 \0 \0 001 \0 \0 \0 024 \0 \0 \0 \0 002 \0 \0 \0 \v
0062200 \0 \0 \0 \0 001 \0 \0 001 003 \0 \0 \0 \0 002 \0 \0
0062220 \0 \t \0 \0 \0 \0 001 \0 \0 \0 \v \0 \0 \0 \0 002
0062240 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 016 \0 \0 \0
0062260 \0 002 \0 \0 \0 \v \0 \0 \0 \0 001 \0 \0 < 202 \0
0062300 \0 \0 \0 002 \0 \0 c 311 \0 \r z 272
0062314