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