$ od -c -N 50000 [qv]<notecards>1.3K>LIBRARY>ncpath>NCPATHUSE.TEDIT!1 0000000 X E R O X \t N C P a t h U s e \r 0000020 2 \r \r 4 \r \r 1 \r \r N C P a t h U 0000040 s e \r 1 \r \r 4 \r \r B y : D a v 0000060 i d N e w m a n ( N e w m a 0000100 n . p a s a @ X e r o x . C O M 0000120 ) \r N C P a t h , N C P a t h 0000140 P a r s e \r I N T R O D U C T I 0000160 O N \r T h i s p a c k a g e 0000200 i s i n t e n d e d t o p 0000220 r o v i d e s o m e f u n c 0000240 t i o n s u s e f u l t o 0000260 t h e p r o g r a m m e r u 0000300 s i n g t h e N C P a t h 0000320 p a c k a g e . T h e s e f 0000340 u n c t i o n s a l l o w t 0000360 h e p r o g r a m m e r t o 0000400 t r a n s f o r m t h e d 0000420 a t a r e t u r n e d b y 0000440 N C P a t h . F S M . P a t h C 0000460 o l l e c t i n t o s o m e 0000500 t h i n g m o r e u s e f u 0000520 l t o a p a r t i c u l a 0000540 r a p p l i c a t i o n . A 0000560 l s o , t h r e e f u n c t 0000600 i o n s i n t e n d e d f o 0000620 r u s e a s P r i n t d 0000640 e f i n i t i o n s f o r t 0000660 h e t h r e e m a j o r d 0000700 a t a t y p e s i n N C P a 0000720 t h a r e i n c l u d e d 0000740 i n t h i s f i l e . \r F U 0000760 N C T I O N S \r ( N C P a t h . 0001000 G e t C a r d P a t h L i s t s 0001020 F r o m P a t h C o l l e c t i 0001040 o n P a t h C o l l e c t i o 0001060 n ) \t [ F u n c t i o n ] \r T h 0001100 i s f u n c t i o n c o l l 0001120 e c t s a l i s t o f c 0001140 a r d s t r a v e r s e d b 0001160 y e a c h p a t h i n P 0001200 a t h C o l l e c t i o n . T 0001220 h u s , i t r e t u r n s 0001240 a l i s t o f l i s t s . 0001260 E a c h s u b l i s t i s 0001300 a l i s t o f a l l t 0001320 h e c a r d s t r a v e r s 0001340 e d i n a p a r t i c u l 0001360 a r p a t h . \r ( N C P a t 0001400 h . G e t T e r m i n a l s F r 0001420 o m P a t h C o l l e c t i o n 0001440 P a t h C o l l e c t i o n ) 0001460 \t [ F u n c t i o n ] \r T h i s 0001500 f u n c t i o n r e t u r n 0001520 s a l i s t o f t h e 0001540 t e r m i n a l c a r d s i 0001560 n a c o l l e c t i o n o 0001600 f p a t h s . I t i s i 0001620 n t e n d e d t o a s s i s 0001640 t t h e u s e r i n g e 0001660 t t i n g t h e r e s u l t 0001700 s d e s i r e d f r o m w 0001720 h a t N C P a t h . F S M . P 0001740 a t h C o l l e c t r e t u r 0001760 n s . \r ( N C P a t h . G e t U 0002000 n i q u e T e r m i n a l s F r 0002020 o m P a t h C o l l e c t i o n 0002040 P a t h C o l l e c t i o n ) 0002060 \t [ F u n c t i o n ] \r T h i s 0002100 f u n c t i o n i s v e r 0002120 y s i m i l a r t o N C P 0002140 a t h . G e t T e r m i n a l s 0002160 F r o m P a t h C o l l e c t i 0002200 o n , b u t i t c o l l e 0002220 c t s o n l y u n i q u e 0002240 t e r m i n a l c a r d s , 0002260 w h e r e t h e o t h e r 0002300 f u n c t i o n c a n c o l 0002320 l e c t m u l t i p l e c o 0002340 p i e s o f t h e s a m e 0002360 t e r m i n a l c a r d . \r 0002400 ( N C P a t h . R e v e r s e A 0002420 n d S e p a r a t e P a t h s 0002440 P a t h C o l l e c t i o n ) \t 0002460 [ F u n c t i o n ] \r T h e r 0002500 e s u l t s o f N C P a t h 0002520 . F S M . P a t h C o l l e c t 0002540 i s a l i s t o f l i 0002560 s t s , e a c h s u b l i s 0002600 t b e i n g a p a t h i 0002620 n t h e c o l l e c t i o n 0002640 . T h e s e p a t h s s h 0002660 a r e c o n s c e l l s f 0002700 o r e f f i c i e n c y , a 0002720 n d a r e s t o r e d w i 0002740 t h t h e s t e p s i n 0002760 t h e p a t h s i n r e v 0003000 e r s e o r d e r . T h i s 0003020 f u n c t i o n a c c e p t 0003040 s t h e r e s u l t o f 0003060 N C P a t h . F S M . P a t h C 0003100 o l l e c t , a n d r e t u 0003120 r n s a l i s t o f p a 0003140 t h s w i t h t h e i r s 0003160 t e p s i n t h e c o r r 0003200 e c t o r d e r , a n d b 0003220 r o k e n a p a r t s u c h 0003240 t h a t n o c o n s c e 0003260 l l s a r e s h a r e d b 0003300 e t w e e n p a t h s . \r ( P 0003320 a t h S t e p P r i n t I n s 0003340 t a n c e S t r e a m ) \t [ F 0003360 u n c t i o n ] \r T h i s f u 0003400 n c t i o n i s i n t e n d 0003420 e d t o b e a p r i n t 0003440 d e f i n i t i o n f o r 0003460 t h e N C P a t h P a t h S t 0003500 e p d a t a t y p e . \r ( P r 0003520 i n t F S M I n s t a n c e 0003540 S t r e a m ) \t [ F u n c t i o 0003560 n ] \r T h i s f u n c t i o n 0003600 i s i n t e n d e d f o r 0003620 u s e a s a p r i n t 0003640 d e f i n i t i o n f o r t 0003660 h e N C P a t h F S M d a t 0003700 a t y p e . \r ( P r i n t F S M 0003720 N o d e I n s t a n c e S t 0003740 r e a m ) \t [ F u n c t i o n ] 0003760 \r T h i s f u n c t i o n i 0004000 s t o b e a p r i n t 0004020 d e f i n i t i o n f u n c t 0004040 i o n f o r F S M N o d e s 0004060 . \r \0 \0 \0 \0 \0 003 ( L I S T ( ( 0004100 P A G E N I L ( F O L I O I 0004120 N F O ( A R A B I C ) S T A 0004140 R T I N G P A G E # 1 ) ( 0 0004160 0 6 1 2 7 9 2 ) ( ( F O 0004200 L I O N I L ( P A R A L O O 0004220 K S ( Q U A D C E N T E R E 0004240 D ) C H A R L O O K S ( S U 0004260 P E R S C R I P T 0 S I Z E 0004300 1 0 F A M I L Y M O D E R 0004320 N O V E R L I N E O F F S 0004340 T R I K E O U T O F F U N D 0004360 E R L I N E O F F S L O P E 0004400 R E G U L A R W E I G H T 0004420 M E D I U M ) F O R M A T I N 0004440 F O ( A R A B I C ) ) ( 1 7 0004460 4 3 6 2 8 8 3 6 ) N I L 0004500 ) ( H E A D I N G N I L ( 0004520 H E A D I N G T Y P E R U N N 0004540 I N G H E A D ) ( 8 4 7 4 4 0004560 4 4 4 3 6 ) N I L ) ( T 0004600 E X T N I L N I L ( 8 4 0004620 9 6 4 5 6 6 0 0 ) N I L ) 0004640 ) ) ( P A G E N I L N I L 0004660 ( 0 0 6 1 2 7 9 2 ) ( 0004700 ( F O L I O N I L ( P A R A 0004720 L O O K S ( Q U A D C E N T 0004740 E R E D ) C H A R L O O K S 0004760 ( S U P E R S C R I P T 0 S 0005000 I Z E 1 0 F A M I L Y M O 0005020 D E R N O V E R L I N E O F 0005040 F S T R I K E O U T O F F 0005060 U N D E R L I N E O F F S L 0005100 O P E R E G U L A R W E I G 0005120 H T M E D I U M ) ) ( 2 8 2 0005140 4 2 7 2 3 6 ) N I L ) 0005160 ( H E A D I N G N I L ( H E 0005200 A D I N G T Y P E R U N N I N 0005220 G H E A D ) ( 8 4 7 4 4 4 0005240 4 4 3 6 ) N I L ) ( T E X 0005260 T N I L N I L ( 8 4 9 6 0005300 4 5 6 6 0 0 ) N I L ) ) ) 0005320 ( P A G E N I L N I L ( 0005340 0 0 6 1 2 7 9 2 ) ( ( F 0005360 O L I O N I L ( P A R A L O 0005400 O K S ( Q U A D C E N T E R 0005420 E D ) C H A R L O O K S ( S 0005440 U P E R S C R I P T 0 S I Z 0005460 E 1 0 F A M I L Y M O D E 0005500 R N O V E R L I N E O F F 0005520 S T R I K E O U T O F F U N 0005540 D E R L I N E O F F S L O P 0005560 E R E G U L A R W E I G H T 0005600 M E D I U M ) ) ( 2 8 2 4 0005620 2 7 2 3 6 ) N I L ) ( H 0005640 E A D I N G N I L ( H E A D 0005660 I N G T Y P E R U N N I N G H 0005700 E A D ) ( 8 4 7 4 4 4 4 4 0005720 3 6 ) N I L ) ( T E X T 0005740 N I L N I L ( 8 4 9 6 4 0005760 5 6 6 0 0 ) N I L ) ) ) ) ) 0006000 \0 \0 \0 \0 \0 005 \0 006 \0 . \0 \0 \0 \0 001 310 0006020 \0 \v \0 \0 \0 004 003 004 \0 \0 001 001 310 001 \0 \0 0006040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006060 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 310 \0 021 0006100 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0006140 \0 212 \0 212 001 8 \0 006 \0 \0 \0 004 002 003 \0 \0 0006160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006200 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 310 \0 \v 0006220 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0006260 \0 212 \0 212 001 8 \0 \0 \0 \0 \0 004 002 004 \0 \0 0006300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006320 \0 \0 \0 \0 \0 \0 \0 D \0 \0 \0 \0 001 310 \0 \0 0006340 \0 \0 \0 \0 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 0006360 \0 \0 \0 \v P A G E H E A D I N G \0 0006400 \v R U N N I N G H E A D \0 \0 \0 \0 0006420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 0006440 \0 \b \0 024 \0 006 M O D E R N \0 \n \0 \0 0006460 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N 0006500 \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 006 M O 0006520 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 0006540 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0006560 002 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 0006600 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N 0006620 \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O 0006640 D E R N \0 006 \0 \0 \0 \0 \0 \0 \0 \0 \0 022 0006660 \0 004 L O G O \0 030 \0 \0 \0 \0 \0 \0 \0 \0 0006700 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 0006720 \b \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \t \0 \0 0006740 \0 \0 006 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 0006760 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L 0007000 E . G E T F N 001 \0 024 \0 006 M O D E 0007020 R N \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0007040 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0007060 002 \0 001 \0 \v H R U L E . G E T F N 0007100 001 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 0007120 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0007140 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0007160 U L E . G E T F N 001 \0 024 \0 006 M O 0007200 D E R N \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007220 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 003 \0 0007240 \0 \0 \n \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 003 0007260 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0007300 T F N 001 \0 024 \0 006 M O D E R N \0 \f 0007320 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 0007340 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 0007360 \v H R U L E . G E T F N 001 \0 024 \0 0007400 006 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 0007420 \0 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 0007440 \0 002 \0 \0 \0 ) \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0007460 002 \0 002 \0 \0 \0 024 \0 \0 \0 \0 005 \0 \0 \0 \0 0007500 \0 002 \0 004 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 0007520 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0007540 \0 255 \0 \0 \0 \0 005 \0 \0 \0 026 \0 \0 \0 \0 001 0007560 \0 \0 \0 270 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0007600 004 \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0007620 \0 001 \0 \0 \0 + \0 \0 \0 \0 003 \0 \0 \0 016 \0 0007640 \0 \0 \0 002 \0 \0 \0 311 \0 \0 \0 \0 003 \0 \0 \0 0007660 \0 \0 002 \0 001 \0 \0 \0 ' \0 \0 \0 \0 003 \0 \0 0007700 \0 016 \0 \0 \0 \0 002 \0 \0 \0 305 \0 \0 \0 \0 003 0007720 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 - \0 \0 \0 \0 0007740 003 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 321 \0 \0 0007760 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \0 0010000 \0 \0 \0 003 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 001 0010020 240 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 0010040 \0 017 \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 002 0010060 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 0010100 \0 002 \0 \0 \0 a \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0010120 002 \0 001 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 \b 0010140 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0010160 \0 006 \0 \0 \0 \0 002 \0 \0 \0 a \0 \0 \0 \0 003 0010200 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 016 \0 \0 \0 \0 0010220 003 \0 \0 \0 017 \0 \0 \0 \0 002 \0 \0 \0 N \0 \0 0010240 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \b 2 \0 0010260 E z 272 0010263