$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron2.0>Shared-Derived>SaffronAG4Impl.Mesa!17 0000000 - - S a f f r o n A G 4 I m p 0000020 l . m e s a \r - - C o p y r 0000040 i g h t 323 1 9 8 7 b y X 0000060 e r o x C o r p o r a t i o n 0000100 . A l l r i g h t s r e 0000120 s e r v e d . \r - - G e n e 0000140 r a t e d b y h e d e r m a 0000160 n . p a a t A u g u s t 1 0000200 7 , 1 9 8 7 4 : 3 3 : 0 6 0000220 p m P D T \r - - u s i n 0000240 g T h r e e C a s a b a F o u 0000260 r [ 1 . 2 ] o f J u n e 0000300 1 , 1 9 8 7 6 : 0 0 : 0 0 0000320 p m P D T \r \r D I R E C T O R 0000340 Y \r \t S a f f r o n A G 4 D e f 0000360 , \r \t S a f f r o n G e n e r i 0000400 c D e f , \r \t S a f f r o n A T 0000420 D e f ; \r \r S a f f r o n A G 4 0000440 I m p l : C E D A R P R O G 0000460 R A M I M P O R T S S a f f 0000500 r o n A G 4 D e f E X P O R T 0000520 S S a f f r o n A G 4 D e f = 0000540 \r B E G I N \r O P E N S a f 0000560 f r o n A G 4 D e f , S a f f 0000600 r o n G e n e r i c D e f , S 0000620 a f f r o n A T D e f ; \r \r - - 0000640 S t a t e m e n t i f t h e n 0000660 P r o d \r \r S t a t e m e n t i 0000700 f t h e n P r o d P r o c s : \t 0000720 P U B L I C S t a t e m e n t 0000740 N o d e P r o c s _ \r \t N E W 0000760 [ S t a t e m e n t N o d e P r 0001000 o c s B o d y _ [ S t a t e 0001020 m e n t i f t h e n P r o d H a 0001040 n g C o n t e x t s F r o m C o 0001060 n t e x t T r e e ] ] ; \r \r B u 0001100 i l d S t a t e m e n t i f t h 0001120 e n P r o d N o d e : \t P U B L 0001140 I C P R O C [ p o s i t i o n 0001160 : I N T , l e n g t h : I 0001200 N T , E x p : E x p N o d e 0001220 , S t a t e m e n t : S t a 0001240 t e m e n t N o d e ] \r \t R E T 0001260 U R N S [ S t a t e m e n t N o 0001300 d e ] = \r \t \t B E G I N \r \t \t 0001320 d a t a : \t S t a t e m e n t i 0001340 f t h e n P r o d D a t a _ \r 0001360 \t \t \t N E W [ S t a t e m e n t 0001400 i f t h e n P r o d D a t a B o 0001420 d y _ [ \r \t \t \t E x p , S 0001440 t a t e m e n t ] ] ; \r \t \t R E 0001460 T U R N [ N E W [ S t a t e m e 0001500 n t N o d e B o d y _ [ p o s i 0001520 t i o n , l e n g t h , S t 0001540 a t e m e n t i f t h e n P r o 0001560 d P r o c s , d a t a ] ] ] ; 0001600 \r \t \t E N D ; \r \r \r - - S t a 0001620 t e m e n t i f t h e n e l s e 0001640 P r o d \r \r S t a t e m e n t i 0001660 f t h e n e l s e P r o d P r o 0001700 c s : \t P U B L I C S t a t e 0001720 m e n t N o d e P r o c s _ \r 0001740 \t N E W [ S t a t e m e n t N o 0001760 d e P r o c s B o d y _ [ S 0002000 t a t e m e n t i f t h e n e l 0002020 s e P r o d H a n g C o n t e x 0002040 t s F r o m C o n t e x t T r e 0002060 e ] ] ; \r \r B u i l d S t a t e 0002100 m e n t i f t h e n e l s e P r 0002120 o d N o d e : \t P U B L I C P 0002140 R O C [ p o s i t i o n : I N 0002160 T , l e n g t h : I N T , 0002200 E x p : E x p N o d e , S t 0002220 a t e m e n t t h e n p a r t : 0002240 S t a t e m e n t N o d e , 0002260 S t a t e m e n t e l s e p a r 0002300 t : S t a t e m e n t N o d e 0002320 ] \r \t R E T U R N S [ S t a t e 0002340 m e n t N o d e ] = \r \t \t B E 0002360 G I N \r \t \t d a t a : \t S t a t 0002400 e m e n t i f t h e n e l s e P 0002420 r o d D a t a _ \r \t \t \t N E W 0002440 [ S t a t e m e n t i f t h e n 0002460 e l s e P r o d D a t a B o d y 0002500 _ [ \r \t \t \t E x p , S t a 0002520 t e m e n t t h e n p a r t , 0002540 S t a t e m e n t e l s e p a r 0002560 t ] ] ; \r \t \t R E T U R N [ N E 0002600 W [ S t a t e m e n t N o d e B 0002620 o d y _ [ p o s i t i o n , l 0002640 e n g t h , S t a t e m e n t 0002660 i f t h e n e l s e P r o d P r 0002700 o c s , d a t a ] ] ] ; \r \t \t 0002720 E N D ; \r \r \r - - S t a t e m 0002740 e n t s e l e c t P r o d \r \r S 0002760 t a t e m e n t s e l e c t P r 0003000 o d P r o c s : \t P U B L I C 0003020 S t a t e m e n t N o d e P r o 0003040 c s _ \r \t N E W [ S t a t e m 0003060 e n t N o d e P r o c s B o d y 0003100 _ [ S t a t e m e n t s e l 0003120 e c t P r o d H a n g C o n t e 0003140 x t s F r o m C o n t e x t T r 0003160 e e ] ] ; \r \r B u i l d S t a t 0003200 e m e n t s e l e c t P r o d N 0003220 o d e : \t P U B L I C P R O C 0003240 [ p o s i t i o n : I N T , 0003260 l e n g t h : I N T , S e l 0003300 e c t H e a d : S e l e c t H 0003320 e a d N o d e , S e l e c t S 0003340 t m t L i s t : S e l e c t S 0003360 t m t L i s t N o d e , O p t 0003400 S t a t e m e n t : O p t S t 0003420 a t e m e n t N o d e ] \r \t R E 0003440 T U R N S [ S t a t e m e n t N 0003460 o d e ] = \r \t \t B E G I N \r \t 0003500 \t d a t a : \t S t a t e m e n t 0003520 s e l e c t P r o d D a t a _ 0003540 \r \t \t \t N E W [ S t a t e m e n 0003560 t s e l e c t P r o d D a t a B 0003600 o d y _ [ \r \t \t \t S e l e c 0003620 t H e a d , S e l e c t S t m 0003640 t L i s t , O p t S t a t e m 0003660 e n t ] ] ; \r \t \t R E T U R N [ 0003700 N E W [ S t a t e m e n t N o d 0003720 e B o d y _ [ p o s i t i o n , 0003740 l e n g t h , S t a t e m e 0003760 n t s e l e c t P r o d P r o c 0004000 s , d a t a ] ] ] ; \r \t \t E N 0004020 D ; \r \r \r - - S t a t e m e n 0004040 t e x p P r o d \r \r S t a t e m 0004060 e n t e x p P r o d P r o c s : 0004100 \t P U B L I C S t a t e m e n 0004120 t N o d e P r o c s _ \r \t N E 0004140 W [ S t a t e m e n t N o d e P 0004160 r o c s B o d y _ [ S t a t 0004200 e m e n t e x p P r o d H a n g 0004220 C o n t e x t s F r o m C o n t 0004240 e x t T r e e ] ] ; \r \r B u i l 0004260 d S t a t e m e n t e x p P r o 0004300 d N o d e : \t P U B L I C P R 0004320 O C [ p o s i t i o n : I N T 0004340 , l e n g t h : I N T , E 0004360 x p : E x p N o d e ] \r \t R E 0004400 T U R N S [ S t a t e m e n t N 0004420 o d e ] = \r \t \t B E G I N \r \t 0004440 \t d a t a : \t S t a t e m e n t 0004460 e x p P r o d D a t a _ \r \t \t 0004500 \t N E W [ S t a t e m e n t e x 0004520 p P r o d D a t a B o d y _ 0004540 [ \r \t \t \t E x p ] ] ; \r \t \t R E 0004560 T U R N [ N E W [ S t a t e m e 0004600 n t N o d e B o d y _ [ p o s i 0004620 t i o n , l e n g t h , S t 0004640 a t e m e n t e x p P r o d P r 0004660 o c s , d a t a ] ] ] ; \r \t \t 0004700 E N D ; \r \r \r - - S t a t e m 0004720 e n t a s s i g n P r o d \r \r S 0004740 t a t e m e n t a s s i g n P r 0004760 o d P r o c s : \t P U B L I C 0005000 S t a t e m e n t N o d e P r o 0005020 c s _ \r \t N E W [ S t a t e m 0005040 e n t N o d e P r o c s B o d y 0005060 _ [ S t a t e m e n t a s s 0005100 i g n P r o d H a n g C o n t e 0005120 x t s F r o m C o n t e x t T r 0005140 e e ] ] ; \r \r B u i l d S t a t 0005160 e m e n t a s s i g n P r o d N 0005200 o d e : \t P U B L I C P R O C 0005220 [ p o s i t i o n : I N T , 0005240 l e n g t h : I N T , E x p 0005260 l h s : E x p N o d e , E x 0005300 p r h s : E x p N o d e ] \r \t 0005320 R E T U R N S [ S t a t e m e n 0005340 t N o d e ] = \r \t \t B E G I N 0005360 \r \t \t d a t a : \t S t a t e m e 0005400 n t a s s i g n P r o d D a t a 0005420 _ \r \t \t \t N E W [ S t a t e m 0005440 e n t a s s i g n P r o d D a t 0005460 a B o d y _ [ \r \t \t \t E x p 0005500 l h s , E x p r h s ] ] ; \r \t 0005520 \t R E T U R N [ N E W [ S t a t 0005540 e m e n t N o d e B o d y _ [ p 0005560 o s i t i o n , l e n g t h , 0005600 S t a t e m e n t a s s i g n 0005620 P r o d P r o c s , d a t a ] 0005640 ] ] ; \r \t \t E N D ; \r \r \r - - 0005660 S t a t e m e n t m u l t i a s 0005700 s i g n P r o d \r \r S t a t e m 0005720 e n t m u l t i a s s i g n P r 0005740 o d P r o c s : \t P U B L I C 0005760 S t a t e m e n t N o d e P r o 0006000 c s _ \r \t N E W [ S t a t e m 0006020 e n t N o d e P r o c s B o d y 0006040 _ [ S t a t e m e n t m u l 0006060 t i a s s i g n P r o d H a n g 0006100 C o n t e x t s F r o m C o n t 0006120 e x t T r e e ] ] ; \r \r B u i l 0006140 d S t a t e m e n t m u l t i a 0006160 s s i g n P r o d N o d e : \t P 0006200 U B L I C P R O C [ p o s i t 0006220 i o n : I N T , l e n g t h 0006240 : I N T , E x p L i s t : 0006260 E x p L i s t N o d e , E x p 0006300 : E x p N o d e ] \r \t R E T U 0006320 R N S [ S t a t e m e n t N o d 0006340 e ] = \r \t \t B E G I N \r \t \t d 0006360 a t a : \t S t a t e m e n t m u 0006400 l t i a s s i g n P r o d D a t 0006420 a _ \r \t \t \t N E W [ S t a t e 0006440 m e n t m u l t i a s s i g n P 0006460 r o d D a t a B o d y _ [ \r 0006500 \t \t \t E x p L i s t , E x p ] 0006520 ] ; \r \t \t R E T U R N [ N E W [ 0006540 S t a t e m e n t N o d e B o d 0006560 y _ [ p o s i t i o n , l e n 0006600 g t h , S t a t e m e n t m u 0006620 l t i a s s i g n P r o d P r o 0006640 c s , d a t a ] ] ] ; \r \t \t E 0006660 N D ; \r \r \r - - S t a t e m e 0006700 n t b l o c k P r o d \r \r S t a 0006720 t e m e n t b l o c k P r o d P 0006740 r o c s : \t P U B L I C S t a 0006760 t e m e n t N o d e P r o c s 0007000 _ \r \t N E W [ S t a t e m e n t 0007020 N o d e P r o c s B o d y _ 0007040 [ S t a t e m e n t b l o c k P 0007060 r o d H a n g C o n t e x t s F 0007100 r o m C o n t e x t T r e e ] ] 0007120 ; \r \r B u i l d S t a t e m e n 0007140 t b l o c k P r o d N o d e : \t 0007160 P U B L I C P R O C [ p o s i 0007200 t i o n : I N T , l e n g t 0007220 h : I N T , C h e c k e d : 0007240 C h e c k e d N o d e , B l 0007260 o c k : B l o c k N o d e ] \r 0007300 \t R E T U R N S [ S t a t e m e 0007320 n t N o d e ] = \r \t \t B E G I 0007340 N \r \t \t d a t a : \t S t a t e m 0007360 e n t b l o c k P r o d D a t a 0007400 _ \r \t \t \t N E W [ S t a t e m 0007420 e n t b l o c k P r o d D a t a 0007440 B o d y _ [ \r \t \t \t C h e c 0007460 k e d , B l o c k ] ] ; \r \t \t 0007500 R E T U R N [ N E W [ S t a t e 0007520 m e n t N o d e B o d y _ [ p o 0007540 s i t i o n , l e n g t h , 0007560 S t a t e m e n t b l o c k P r 0007600 o d P r o c s , d a t a ] ] ] 0007620 ; \r \t \t E N D ; \r \r \r - - S t 0007640 a t e m e n t l o o p c o n t r 0007660 o l P r o d \r \r S t a t e m e n 0007700 t l o o p c o n t r o l P r o d 0007720 P r o c s : \t P U B L I C S t 0007740 a t e m e n t N o d e P r o c s 0007760 _ \r \t N E W [ S t a t e m e n 0010000 t N o d e P r o c s B o d y _ 0010020 [ S t a t e m e n t l o o p c 0010040 o n t r o l P r o d H a n g C o 0010060 n t e x t s F r o m C o n t e x 0010100 t T r e e ] ] ; \r \r B u i l d S 0010120 t a t e m e n t l o o p c o n t 0010140 r o l P r o d N o d e : \t P U B 0010160 L I C P R O C [ p o s i t i o 0010200 n : I N T , l e n g t h : 0010220 I N T , F o r C l a u s e : 0010240 F o r C l a u s e N o d e , D 0010260 o T e s t : D o T e s t N o d 0010300 e , S c o p e : S c o p e N 0010320 o d e , D o E x i t : D o E 0010340 x i t N o d e ] \r \t R E T U R N 0010360 S [ S t a t e m e n t N o d e ] 0010400 = \r \t \t B E G I N \r \t \t d a t 0010420 a : \t S t a t e m e n t l o o p 0010440 c o n t r o l P r o d D a t a 0010460 _ \r \t \t \t N E W [ S t a t e m e 0010500 n t l o o p c o n t r o l P r o 0010520 d D a t a B o d y _ [ \r \t \t 0010540 \t F o r C l a u s e , D o T e 0010560 s t , S c o p e , D o E x i 0010600 t ] ] ; \r \t \t R E T U R N [ N E 0010620 W [ S t a t e m e n t N o d e B 0010640 o d y _ [ p o s i t i o n , l 0010660 e n g t h , S t a t e m e n t 0010700 l o o p c o n t r o l P r o d P 0010720 r o c s , d a t a ] ] ] ; \r \t 0010740 \t E N D ; \r \r \r - - S t a t e 0010760 m e n t e x i t P r o d \r \r S t 0011000 a t e m e n t e x i t P r o d P 0011020 r o c s : \t P U B L I C S t a 0011040 t e m e n t N o d e P r o c s 0011060 _ \r \t N E W [ S t a t e m e n t 0011100 N o d e P r o c s B o d y _ 0011120 [ S t a t e m e n t e x i t P r 0011140 o d H a n g C o n t e x t s F r 0011160 o m C o n t e x t T r e e ] ] ; 0011200 \r \r B u i l d S t a t e m e n t 0011220 e x i t P r o d N o d e : \t P U 0011240 B L I C P R O C [ p o s i t i 0011260 o n : I N T , l e n g t h : 0011300 I N T ] \r \t R E T U R N S [ S 0011320 t a t e m e n t N o d e ] = \r 0011340 \t \t B E G I N \r \t \t R E T U R N 0011360 [ N E W [ S t a t e m e n t N o 0011400 d e B o d y _ [ p o s i t i o n 0011420 , l e n g t h , S t a t e m 0011440 e n t e x i t P r o d P r o c s 0011460 , N I L ] ] ] ; \r \t \t E N D ; 0011500 \r \r \r - - S t a t e m e n t l 0011520 o o p P r o d \r \r S t a t e m e 0011540 n t l o o p P r o d P r o c s : 0011560 \t P U B L I C S t a t e m e n 0011600 t N o d e P r o c s _ \r \t N E 0011620 W [ S t a t e m e n t N o d e P 0011640 r o c s B o d y _ [ S t a t 0011660 e m e n t l o o p P r o d H a n 0011700 g C o n t e x t s F r o m C o n 0011720 t e x t T r e e ] ] ; \r \r B u i 0011740 l d S t a t e m e n t l o o p P 0011760 r o d N o d e : \t P U B L I C 0012000 P R O C [ p o s i t i o n : I 0012020 N T , l e n g t h : I N T ] 0012040 \r \t R E T U R N S [ S t a t e m 0012060 e n t N o d e ] = \r \t \t B E G 0012100 I N \r \t \t R E T U R N [ N E W [ 0012120 S t a t e m e n t N o d e B o d 0012140 y _ [ p o s i t i o n , l e n 0012160 g t h , S t a t e m e n t l o 0012200 o p P r o d P r o c s , N I L 0012220 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0012240 S t a t e m e n t g o t o P r 0012260 o d \r \r S t a t e m e n t g o t 0012300 o P r o d P r o c s : \t P U B L 0012320 I C S t a t e m e n t N o d e 0012340 P r o c s _ \r \t N E W [ S t a 0012360 t e m e n t N o d e P r o c s B 0012400 o d y _ [ S t a t e m e n t 0012420 g o t o P r o d H a n g C o n t 0012440 e x t s F r o m C o n t e x t T 0012460 r e e ] ] ; \r \r B u i l d S t a 0012500 t e m e n t g o t o P r o d N o 0012520 d e : \t P U B L I C P R O C [ 0012540 p o s i t i o n : I N T , l 0012560 e n g t h : I N T , I d : 0012600 I d N o d e ] \r \t R E T U R N S 0012620 [ S t a t e m e n t N o d e ] 0012640 = \r \t \t B E G I N \r \t \t d a t a 0012660 : \t S t a t e m e n t g o t o P 0012700 r o d D a t a _ \r \t \t \t N E W 0012720 [ S t a t e m e n t g o t o P r 0012740 o d D a t a B o d y _ [ \r \t 0012760 \t \t I d ] ] ; \r \t \t R E T U R N 0013000 [ N E W [ S t a t e m e n t N o 0013020 d e B o d y _ [ p o s i t i o n 0013040 , l e n g t h , S t a t e m 0013060 e n t g o t o P r o d P r o c s 0013100 , d a t a ] ] ] ; \r \t \t E N D 0013120 ; \r \r \r - - S t a t e m e n t 0013140 r e t u r n P r o d \r \r S t a t 0013160 e m e n t r e t u r n P r o d P 0013200 r o c s : \t P U B L I C S t a 0013220 t e m e n t N o d e P r o c s 0013240 _ \r \t N E W [ S t a t e m e n t 0013260 N o d e P r o c s B o d y _ 0013300 [ S t a t e m e n t r e t u r n 0013320 P r o d H a n g C o n t e x t s 0013340 F r o m C o n t e x t T r e e ] 0013360 ] ; \r \r B u i l d S t a t e m e 0013400 n t r e t u r n P r o d N o d e 0013420 : \t P U B L I C P R O C [ p o 0013440 s i t i o n : I N T , l e n 0013460 g t h : I N T , O p t A r g 0013500 s : O p t A r g s N o d e ] \r 0013520 \t R E T U R N S [ S t a t e m e 0013540 n t N o d e ] = \r \t \t B E G I 0013560 N \r \t \t d a t a : \t S t a t e m 0013600 e n t r e t u r n P r o d D a t 0013620 a _ \r \t \t \t N E W [ S t a t e 0013640 m e n t r e t u r n P r o d D a 0013660 t a B o d y _ [ \r \t \t \t O p 0013700 t A r g s ] ] ; \r \t \t R E T U R 0013720 N [ N E W [ S t a t e m e n t N 0013740 o d e B o d y _ [ p o s i t i o 0013760 n , l e n g t h , S t a t e 0014000 m e n t r e t u r n P r o d P r 0014020 o c s , d a t a ] ] ] ; \r \t \t 0014040 E N D ; \r \r \r - - S t a t e m 0014060 e n t t r a n s f e r P r o d \r 0014100 \r S t a t e m e n t t r a n s f 0014120 e r P r o d P r o c s : \t P U B 0014140 L I C S t a t e m e n t N o d 0014160 e P r o c s _ \r \t N E W [ S t 0014200 a t e m e n t N o d e P r o c s 0014220 B o d y _ [ S t a t e m e n 0014240 t t r a n s f e r P r o d H a n 0014260 g C o n t e x t s F r o m C o n 0014300 t e x t T r e e ] ] ; \r \r B u i 0014320 l d S t a t e m e n t t r a n s 0014340 f e r P r o d N o d e : \t P U B 0014360 L I C P R O C [ p o s i t i o 0014400 n : I N T , l e n g t h : 0014420 I N T , T r a n s f e r : T 0014440 r a n s f e r N o d e , E x p 0014460 : E x p N o d e ] \r \t R E T U 0014500 R N S [ S t a t e m e n t N o d 0014520 e ] = \r \t \t B E G I N \r \t \t d 0014540 a t a : \t S t a t e m e n t t r 0014560 a n s f e r P r o d D a t a _ 0014600 \r \t \t \t N E W [ S t a t e m e n 0014620 t t r a n s f e r P r o d D a t 0014640 a B o d y _ [ \r \t \t \t T r a 0014660 n s f e r , E x p ] ] ; \r \t \t 0014700 R E T U R N [ N E W [ S t a t e 0014720 m e n t N o d e B o d y _ [ p o 0014740 s i t i o n , l e n g t h , 0014760 S t a t e m e n t t r a n s f e 0015000 r P r o d P r o c s , d a t a 0015020 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0015040 S t a t e m e n t f r e e P r 0015060 o d \r \r S t a t e m e n t f r e 0015100 e P r o d P r o c s : \t P U B L 0015120 I C S t a t e m e n t N o d e 0015140 P r o c s _ \r \t N E W [ S t a 0015160 t e m e n t N o d e P r o c s B 0015200 o d y _ [ S t a t e m e n t 0015220 f r e e P r o d H a n g C o n t 0015240 e x t s F r o m C o n t e x t T 0015260 r e e ] ] ; \r \r B u i l d S t a 0015300 t e m e n t f r e e P r o d N o 0015320 d e : \t P U B L I C P R O C [ 0015340 p o s i t i o n : I N T , l 0015360 e n g t h : I N T , F r e e 0015400 : F r e e N o d e , E x p : 0015420 E x p N o d e , C a t c h : 0015440 C a t c h N o d e ] \r \t R E T 0015460 U R N S [ S t a t e m e n t N o 0015500 d e ] = \r \t \t B E G I N \r \t \t 0015520 d a t a : \t S t a t e m e n t f 0015540 r e e P r o d D a t a _ \r \t \t 0015560 \t N E W [ S t a t e m e n t f r 0015600 e e P r o d D a t a B o d y _ 0015620 [ \r \t \t \t F r e e , E x p , 0015640 C a t c h ] ] ; \r \t \t R E T U 0015660 R N [ N E W [ S t a t e m e n t 0015700 N o d e B o d y _ [ p o s i t i 0015720 o n , l e n g t h , S t a t 0015740 e m e n t f r e e P r o d P r o 0015760 c s , d a t a ] ] ] ; \r \t \t E 0016000 N D ; \r \r \r - - S t a t e m e 0016020 n t w a i t P r o d \r \r S t a t 0016040 e m e n t w a i t P r o d P r o 0016060 c s : \t P U B L I C S t a t e 0016100 m e n t N o d e P r o c s _ \r 0016120 \t N E W [ S t a t e m e n t N o 0016140 d e P r o c s B o d y _ [ S 0016160 t a t e m e n t w a i t P r o d 0016200 H a n g C o n t e x t s F r o m 0016220 C o n t e x t T r e e ] ] ; \r \r 0016240 B u i l d S t a t e m e n t w a 0016260 i t P r o d N o d e : \t P U B L 0016300 I C P R O C [ p o s i t i o n 0016320 : I N T , l e n g t h : I 0016340 N T , E x p : E x p N o d e 0016360 ] \r \t R E T U R N S [ S t a t e 0016400 m e n t N o d e ] = \r \t \t B E 0016420 G I N \r \t \t d a t a : \t S t a t 0016440 e m e n t w a i t P r o d D a t 0016460 a _ \r \t \t \t N E W [ S t a t e 0016500 m e n t w a i t P r o d D a t a 0016520 B o d y _ [ \r \t \t \t E x p ] 0016540 ] ; \r \t \t R E T U R N [ N E W [ 0016560 S t a t e m e n t N o d e B o d 0016600 y _ [ p o s i t i o n , l e n 0016620 g t h , S t a t e m e n t w a 0016640 i t P r o d P r o c s , d a t 0016660 a ] ] ] ; \r \t \t E N D ; \r \r \r - 0016700 - S t a t e m e n t e r r o r 0016720 P r o d \r \r S t a t e m e n t e 0016740 r r o r P r o d P r o c s : \t P 0016760 U B L I C S t a t e m e n t N 0017000 o d e P r o c s _ \r \t N E W [ 0017020 S t a t e m e n t N o d e P r o 0017040 c s B o d y _ [ S t a t e m 0017060 e n t e r r o r P r o d H a n g 0017100 C o n t e x t s F r o m C o n t 0017120 e x t T r e e ] ] ; \r \r B u i l 0017140 d S t a t e m e n t e r r o r P 0017160 r o d N o d e : \t P U B L I C 0017200 P R O C [ p o s i t i o n : I 0017220 N T , l e n g t h : I N T ] 0017240 \r \t R E T U R N S [ S t a t e m 0017260 e n t N o d e ] = \r \t \t B E G 0017300 I N \r \t \t R E T U R N [ N E W [ 0017320 S t a t e m e n t N o d e B o d 0017340 y _ [ p o s i t i o n , l e n 0017360 g t h , S t a t e m e n t e r 0017400 r o r P r o d P r o c s , N I 0017420 L ] ] ] ; \r \t \t E N D ; \r \r \r - 0017440 - S t a t e m e n t s t o p P 0017460 r o d \r \r S t a t e m e n t s t 0017500 o p P r o d P r o c s : \t P U B 0017520 L I C S t a t e m e n t N o d 0017540 e P r o c s _ \r \t N E W [ S t 0017560 a t e m e n t N o d e P r o c s 0017600 B o d y _ [ S t a t e m e n 0017620 t s t o p P r o d H a n g C o n 0017640 t e x t s F r o m C o n t e x t 0017660 T r e e ] ] ; \r \r B u i l d S t 0017700 a t e m e n t s t o p P r o d N 0017720 o d e : \t P U B L I C P R O C 0017740 [ p o s i t i o n : I N T , 0017760 l e n g t h : I N T ] \r \t R E 0020000 T U R N S [ S t a t e m e n t N 0020020 o d e ] = \r \t \t B E G I N \r \t 0020040 \t R E T U R N [ N E W [ S t a t 0020060 e m e n t N o d e B o d y _ [ p 0020100 o s i t i o n , l e n g t h , 0020120 S t a t e m e n t s t o p P r 0020140 o d P r o c s , N I L ] ] ] ; 0020160 \r \t \t E N D ; \r \r \r - - S t a 0020200 t e m e n t n u l l P r o d \r \r 0020220 S t a t e m e n t n u l l P r o 0020240 d P r o c s : \t P U B L I C S 0020260 t a t e m e n t N o d e P r o c 0020300 s _ \r \t N E W [ S t a t e m e 0020320 n t N o d e P r o c s B o d y 0020340 _ [ S t a t e m e n t n u l l 0020360 P r o d H a n g C o n t e x t s 0020400 F r o m C o n t e x t T r e e ] 0020420 ] ; \r \r B u i l d S t a t e m e 0020440 n t n u l l P r o d N o d e : \t 0020460 P U B L I C P R O C [ p o s i 0020500 t i o n : I N T , l e n g t 0020520 h : I N T ] \r \t R E T U R N S 0020540 [ S t a t e m e n t N o d e ] 0020560 = \r \t \t B E G I N \r \t \t R E T U 0020600 R N [ N E W [ S t a t e m e n t 0020620 N o d e B o d y _ [ p o s i t i 0020640 o n , l e n g t h , S t a t 0020660 e m e n t n u l l P r o d P r o 0020700 c s , N I L ] ] ] ; \r \t \t E N 0020720 D ; \r \r \r - - S t a t e m e n 0020740 t r e s u m e P r o d \r \r S t a 0020760 t e m e n t r e s u m e P r o d 0021000 P r o c s : \t P U B L I C S t 0021020 a t e m e n t N o d e P r o c s 0021040 _ \r \t N E W [ S t a t e m e n 0021060 t N o d e P r o c s B o d y _ 0021100 [ S t a t e m e n t r e s u m 0021120 e P r o d H a n g C o n t e x t 0021140 s F r o m C o n t e x t T r e e 0021160 ] ] ; \r \r B u i l d S t a t e m 0021200 e n t r e s u m e P r o d N o d 0021220 e : \t P U B L I C P R O C [ p 0021240 o s i t i o n : I N T , l e 0021260 n g t h : I N T , O p t A r 0021300 g s : O p t A r g s N o d e ] 0021320 \r \t R E T U R N S [ S t a t e m 0021340 e n t N o d e ] = \r \t \t B E G 0021360 I N \r \t \t d a t a : \t S t a t e 0021400 m e n t r e s u m e P r o d D a 0021420 t a _ \r \t \t \t N E W [ S t a t 0021440 e m e n t r e s u m e P r o d D 0021460 a t a B o d y _ [ \r \t \t \t O 0021500 p t A r g s ] ] ; \r \t \t R E T U 0021520 R N [ N E W [ S t a t e m e n t 0021540 N o d e B o d y _ [ p o s i t i 0021560 o n , l e n g t h , S t a t 0021600 e m e n t r e s u m e P r o d P 0021620 r o c s , d a t a ] ] ] ; \r \t 0021640 \t E N D ; \r \r \r - - S t a t e 0021660 m e n t r e j e c t P r o d \r \r 0021700 S t a t e m e n t r e j e c t P 0021720 r o d P r o c s : \t P U B L I C 0021740 S t a t e m e n t N o d e P r 0021760 o c s _ \r \t N E W [ S t a t e 0022000 m e n t N o d e P r o c s B o d 0022020 y _ [ S t a t e m e n t r e 0022040 j e c t P r o d H a n g C o n t 0022060 e x t s F r o m C o n t e x t T 0022100 r e e ] ] ; \r \r B u i l d S t a 0022120 t e m e n t r e j e c t P r o d 0022140 N o d e : \t P U B L I C P R O 0022160 C [ p o s i t i o n : I N T , 0022200 l e n g t h : I N T ] \r \t R 0022220 E T U R N S [ S t a t e m e n t 0022240 N o d e ] = \r \t \t B E G I N \r 0022260 \t \t R E T U R N [ N E W [ S t a 0022300 t e m e n t N o d e B o d y _ [ 0022320 p o s i t i o n , l e n g t h 0022340 , S t a t e m e n t r e j e c 0022360 t P r o d P r o c s , N I L ] 0022400 ] ] ; \r \t \t E N D ; \r \r \r - - 0022420 S t a t e m e n t c o n t i n u 0022440 e P r o d \r \r S t a t e m e n t 0022460 c o n t i n u e P r o d P r o c 0022500 s : \t P U B L I C S t a t e m 0022520 e n t N o d e P r o c s _ \r \t 0022540 N E W [ S t a t e m e n t N o d 0022560 e P r o c s B o d y _ [ S t 0022600 a t e m e n t c o n t i n u e P 0022620 r o d H a n g C o n t e x t s F 0022640 r o m C o n t e x t T r e e ] ] 0022660 ; \r \r B u i l d S t a t e m e n 0022700 t c o n t i n u e P r o d N o d 0022720 e : \t P U B L I C P R O C [ p 0022740 o s i t i o n : I N T , l e 0022760 n g t h : I N T ] \r \t R E T U 0023000 R N S [ S t a t e m e n t N o d 0023020 e ] = \r \t \t B E G I N \r \t \t R 0023040 E T U R N [ N E W [ S t a t e m 0023060 e n t N o d e B o d y _ [ p o s 0023100 i t i o n , l e n g t h , S 0023120 t a t e m e n t c o n t i n u e 0023140 P r o d P r o c s , N I L ] ] 0023160 ] ; \r \t \t E N D ; \r \r \r - - S 0023200 t a t e m e n t r e t r y P r o 0023220 d \r \r S t a t e m e n t r e t r 0023240 y P r o d P r o c s : \t P U B L 0023260 I C S t a t e m e n t N o d e 0023300 P r o c s _ \r \t N E W [ S t a 0023320 t e m e n t N o d e P r o c s B 0023340 o d y _ [ S t a t e m e n t 0023360 r e t r y P r o d H a n g C o n 0023400 t e x t s F r o m C o n t e x t 0023420 T r e e ] ] ; \r \r B u i l d S t 0023440 a t e m e n t r e t r y P r o d 0023460 N o d e : \t P U B L I C P R O 0023500 C [ p o s i t i o n : I N T , 0023520 l e n g t h : I N T ] \r \t R 0023540 E T U R N S [ S t a t e m e n t 0023560 N o d e ] = \r \t \t B E G I N \r 0023600 \t \t R E T U R N [ N E W [ S t a 0023620 t e m e n t N o d e B o d y _ [ 0023640 p o s i t i o n , l e n g t h 0023660 , S t a t e m e n t r e t r y 0023700 P r o d P r o c s , N I L ] ] 0023720 ] ; \r \t \t E N D ; \r \r \r - - S 0023740 t a t e m e n t g e t s t a t e 0023760 P r o d \r \r S t a t e m e n t g 0024000 e t s t a t e P r o d P r o c s 0024020 : \t P U B L I C S t a t e m e 0024040 n t N o d e P r o c s _ \r \t N 0024060 E W [ S t a t e m e n t N o d e 0024100 P r o c s B o d y _ [ S t a 0024120 t e m e n t g e t s t a t e P r 0024140 o d H a n g C o n t e x t s F r 0024160 o m C o n t e x t T r e e ] ] ; 0024200 \r \r B u i l d S t a t e m e n t 0024220 g e t s t a t e P r o d N o d e 0024240 : \t P U B L I C P R O C [ p o 0024260 s i t i o n : I N T , l e n 0024300 g t h : I N T , E x p : E 0024320 x p N o d e ] \r \t R E T U R N S 0024340 [ S t a t e m e n t N o d e ] 0024360 = \r \t \t B E G I N \r \t \t d a t a 0024400 : \t S t a t e m e n t g e t s t 0024420 a t e P r o d D a t a _ \r \t \t 0024440 \t N E W [ S t a t e m e n t g e 0024460 t s t a t e P r o d D a t a B o 0024500 d y _ [ \r \t \t \t E x p ] ] ; 0024520 \r \t \t R E T U R N [ N E W [ S t 0024540 a t e m e n t N o d e B o d y _ 0024560 [ p o s i t i o n , l e n g t 0024600 h , S t a t e m e n t g e t s 0024620 t a t e P r o d P r o c s , d 0024640 a t a ] ] ] ; \r \t \t E N D ; \r \r 0024660 \r - - S t a t e m e n t s e t 0024700 s t a t e P r o d \r \r S t a t e 0024720 m e n t s e t s t a t e P r o d 0024740 P r o c s : \t P U B L I C S t 0024760 a t e m e n t N o d e P r o c s 0025000 _ \r \t N E W [ S t a t e m e n 0025020 t N o d e P r o c s B o d y _ 0025040 [ S t a t e m e n t s e t s t 0025060 a t e P r o d H a n g C o n t e 0025100 x t s F r o m C o n t e x t T r 0025120 e e ] ] ; \r \r B u i l d S t a t 0025140 e m e n t s e t s t a t e P r o 0025160 d N o d e : \t P U B L I C P R 0025200 O C [ p o s i t i o n : I N T 0025220 , l e n g t h : I N T , E 0025240 x p : E x p N o d e ] \r \t R E 0025260 T U R N S [ S t a t e m e n t N 0025300 o d e ] = \r \t \t B E G I N \r \t 0025320 \t d a t a : \t S t a t e m e n t 0025340 s e t s t a t e P r o d D a t a 0025360 _ \r \t \t \t N E W [ S t a t e m 0025400 e n t s e t s t a t e P r o d D 0025420 a t a B o d y _ [ \r \t \t \t E 0025440 x p ] ] ; \r \t \t R E T U R N [ N 0025460 E W [ S t a t e m e n t N o d e 0025500 B o d y _ [ p o s i t i o n , 0025520 l e n g t h , S t a t e m e n 0025540 t s e t s t a t e P r o d P r o 0025560 c s , d a t a ] ] ] ; \r \t \t E 0025600 N D ; \r \r \r - - O p t S t a t 0025620 e m e n t a b s e n t P r o d \r 0025640 \r O p t S t a t e m e n t a b s 0025660 e n t P r o d P r o c s : \t P U 0025700 B L I C O p t S t a t e m e n 0025720 t N o d e P r o c s _ \r \t N E 0025740 W [ O p t S t a t e m e n t N o 0025760 d e P r o c s B o d y _ [ O 0026000 p t S t a t e m e n t a b s e n 0026020 t P r o d f o o ] ] ; \r \r B u i 0026040 l d O p t S t a t e m e n t a b 0026060 s e n t P r o d N o d e : \t P U 0026100 B L I C P R O C [ p o s i t i 0026120 o n : I N T , l e n g t h : 0026140 I N T ] \r \t R E T U R N S [ O 0026160 p t S t a t e m e n t N o d e ] 0026200 = \r \t \t B E G I N \r \t \t R E T 0026220 U R N [ N E W [ O p t S t a t e 0026240 m e n t N o d e B o d y _ [ p o 0026260 s i t i o n , l e n g t h , 0026300 O p t S t a t e m e n t a b s e 0026320 n t P r o d P r o c s , N I L 0026340 ] ] ] ; \r \t \t E N D ; \r \r \r - - 0026360 O p t S t a t e m e n t p r e 0026400 s e n t P r o d \r \r O p t S t a 0026420 t e m e n t p r e s e n t P r o 0026440 d P r o c s : \t P U B L I C O 0026460 p t S t a t e m e n t N o d e P 0026500 r o c s _ \r \t N E W [ O p t S 0026520 t a t e m e n t N o d e P r o c 0026540 s B o d y _ [ O p t S t a t 0026560 e m e n t p r e s e n t P r o d 0026600 f o o ] ] ; \r \r B u i l d O p t 0026620 S t a t e m e n t p r e s e n t 0026640 P r o d N o d e : \t P U B L I C 0026660 P R O C [ p o s i t i o n : 0026700 I N T , l e n g t h : I N T 0026720 , S t a t e m e n t : S t a 0026740 t e m e n t N o d e ] \r \t R E T 0026760 U R N S [ O p t S t a t e m e n 0027000 t N o d e ] = \r \t \t B E G I N 0027020 \r \t \t d a t a : \t O p t S t a t 0027040 e m e n t p r e s e n t P r o d 0027060 D a t a _ \r \t \t \t N E W [ O p 0027100 t S t a t e m e n t p r e s e n 0027120 t P r o d D a t a B o d y _ 0027140 [ \r \t \t \t S t a t e m e n t ] ] 0027160 ; \r \t \t R E T U R N [ N E W [ O 0027200 p t S t a t e m e n t N o d e B 0027220 o d y _ [ p o s i t i o n , l 0027240 e n g t h , O p t S t a t e m 0027260 e n t p r e s e n t P r o d P r 0027300 o c s , d a t a ] ] ] ; \r \t \t 0027320 E N D ; \r \r \r - - S e l e c t 0027340 S t m t L i s t e m p t y P r o 0027360 d \r \r S e l e c t S t m t L i s 0027400 t e m p t y P r o d P r o c s : 0027420 \t P U B L I C S e l e c t S t 0027440 m t L i s t N o d e P r o c s 0027460 _ \r \t N E W [ S e l e c t S t m 0027500 t L i s t N o d e P r o c s B o 0027520 d y _ [ S e l e c t S t m t 0027540 L i s t e m p t y P r o d f o o 0027560 ] ] ; \r \r B u i l d S e l e c t 0027600 S t m t L i s t e m p t y P r o 0027620 d N o d e : \t P U B L I C P R 0027640 O C [ p o s i t i o n : I N T 0027660 , l e n g t h : I N T ] \r \t 0027700 R E T U R N S [ S e l e c t S t 0027720 m t L i s t N o d e ] = \r \t \t 0027740 B E G I N \r \t \t R E T U R N [ N 0027760 E W [ S e l e c t S t m t L i s 0030000 t N o d e B o d y _ [ p o s i t 0030020 i o n , l e n g t h , S e l 0030040 e c t S t m t L i s t e m p t y 0030060 P r o d P r o c s , N I L ] ] 0030100 ] ; \r \t \t E N D ; \r \r \r - - S 0030120 e l e c t S t m t L i s t m o r 0030140 e P r o d \r \r S e l e c t S t m 0030160 t L i s t m o r e P r o d P r o 0030200 c s : \t P U B L I C S e l e c 0030220 t S t m t L i s t N o d e P r o 0030240 c s _ \r \t N E W [ S e l e c t 0030260 S t m t L i s t N o d e P r o c 0030300 s B o d y _ [ S e l e c t S 0030320 t m t L i s t m o r e P r o d f 0030340 o o ] ] ; \r \r B u i l d S e l e 0030360 c t S t m t L i s t m o r e P r 0030400 o d N o d e : \t P U B L I C P 0030420 R O C [ p o s i t i o n : I N 0030440 T , l e n g t h : I N T , 0030460 S e l e c t S t m t L i s t : 0030500 S e l e c t S t m t L i s t N o 0030520 d e , S e l e c t S t m t I t 0030540 e m : S e l e c t S t m t I t 0030560 e m N o d e ] \r \t R E T U R N S 0030600 [ S e l e c t S t m t L i s t N 0030620 o d e ] = \r \t \t B E G I N \r \t 0030640 \t d a t a : \t S e l e c t S t m 0030660 t L i s t m o r e P r o d D a t 0030700 a _ \r \t \t \t N E W [ S e l e c 0030720 t S t m t L i s t m o r e P r o 0030740 d D a t a B o d y _ [ \r \t \t 0030760 \t S e l e c t S t m t L i s t , 0031000 S e l e c t S t m t I t e m ] 0031020 ] ; \r \t \t R E T U R N [ N E W [ 0031040 S e l e c t S t m t L i s t N o 0031060 d e B o d y _ [ p o s i t i o n 0031100 , l e n g t h , S e l e c t 0031120 S t m t L i s t m o r e P r o d 0031140 P r o c s , d a t a ] ] ] ; \r 0031160 \t \t E N D ; \r \r \r - - S e l e 0031200 c t S t m t I t e m P r o d \r \r 0031220 S e l e c t S t m t I t e m P r 0031240 o d P r o c s : \t P U B L I C 0031260 S e l e c t S t m t I t e m N o 0031300 d e P r o c s _ \r \t N E W [ S 0031320 e l e c t S t m t I t e m N o d 0031340 e P r o c s B o d y _ [ S e 0031360 l e c t S t m t I t e m P r o d 0031400 f o o ] ] ; \r \r B u i l d S e l 0031420 e c t S t m t I t e m P r o d N 0031440 o d e : \t P U B L I C P R O C 0031460 [ p o s i t i o n : I N T , 0031500 l e n g t h : I N T , S e l 0031520 e c t L a b e l : S e l e c t 0031540 L a b e l N o d e , S t a t e 0031560 m e n t : S t a t e m e n t N 0031600 o d e ] \r \t R E T U R N S [ S e 0031620 l e c t S t m t I t e m N o d e 0031640 ] = \r \t \t B E G I N \r \t \t d a 0031660 t a : \t S e l e c t S t m t I t 0031700 e m P r o d D a t a _ \r \t \t \t 0031720 N E W [ S e l e c t S t m t I t 0031740 e m P r o d D a t a B o d y _ 0031760 [ \r \t \t \t S e l e c t L a b e 0032000 l , S t a t e m e n t ] ] ; \r 0032020 \t \t R E T U R N [ N E W [ S e l 0032040 e c t S t m t I t e m N o d e B 0032060 o d y _ [ p o s i t i o n , l 0032100 e n g t h , S e l e c t S t m 0032120 t I t e m P r o d P r o c s , 0032140 d a t a ] ] ] ; \r \t \t E N D ; \r 0032160 \r \r - - B l o c k P r o d \r \r 0032200 B l o c k P r o d P r o c s : \t 0032220 P U B L I C B l o c k N o d e 0032240 P r o c s _ \r \t N E W [ B l o 0032260 c k N o d e P r o c s B o d y 0032300 _ [ B l o c k P r o d H a n g 0032320 C o n t e x t s F r o m C o n t 0032340 e x t T r e e ] ] ; \r \r B u i l 0032360 d B l o c k P r o d N o d e : \t 0032400 P U B L I C P R O C [ p o s i 0032420 t i o n : I N T , l e n g t 0032440 h : I N T , S c o p e : S 0032460 c o p e N o d e , E x i t L i 0032500 s t : E x i t L i s t N o d e 0032520 ] \r \t R E T U R N S [ B l o c k 0032540 N o d e ] = \r \t \t B E G I N \r 0032560 \t \t d a t a : \t B l o c k P r o 0032600 d D a t a _ \r \t \t \t N E W [ B 0032620 l o c k P r o d D a t a B o d y 0032640 _ [ \r \t \t \t S c o p e , E 0032660 x i t L i s t ] ] ; \r \t \t R E T 0032700 U R N [ N E W [ B l o c k N o d 0032720 e B o d y _ [ p o s i t i o n , 0032740 l e n g t h , B l o c k P r 0032760 o d P r o c s , d a t a ] ] ] 0033000 ; \r \t \t E N D ; \r \r \r - - S c 0033020 o p e P r o d \r \r S c o p e P r 0033040 o d P r o c s : \t P U B L I C 0033060 S c o p e N o d e P r o c s _ 0033100 \r \t N E W [ S c o p e N o d e P 0033120 r o c s B o d y _ [ S c o p 0033140 e P r o d M a k e C o n t e x t 0033160 T r e e , S c o p e P r o d M 0033200 a k e C o n t e x t T r e e 1 ] 0033220 ] ; \r \r B u i l d S c o p e P r 0033240 o d N o d e : \t P U B L I C P 0033260 R O C [ p o s i t i o n : I N 0033300 T , l e n g t h : I N T , 0033320 B i n d L i s t : B i n d L i 0033340 s t N o d e , C a t c h : C 0033360 a t c h N o d e , O p t D e c 0033400 L i s t : O p t D e c L i s t 0033420 N o d e , S t a t e m e n t L 0033440 i s t : S t a t e m e n t L i 0033460 s t N o d e ] \r \t R E T U R N S 0033500 [ S c o p e N o d e ] = \r \t \t 0033520 B E G I N \r \t \t d a t a : \t S c 0033540 o p e P r o d D a t a _ \r \t \t 0033560 \t N E W [ S c o p e P r o d D a 0033600 t a B o d y _ [ \r \t \t \t B i 0033620 n d L i s t , C a t c h , O 0033640 p t D e c L i s t , S t a t e 0033660 m e n t L i s t ] ] ; \r \t \t R E 0033700 T U R N [ N E W [ S c o p e N o 0033720 d e B o d y _ [ p o s i t i o n 0033740 , l e n g t h , S c o p e P 0033760 r o d P r o c s , d a t a ] ] 0034000 ] ; \r \t \t E N D ; \r \r \r - - O 0034020 p t D e c L i s t a b s e n t P 0034040 r o d \r \r O p t D e c L i s t a 0034060 b s e n t P r o d P r o c s : \t 0034100 P U B L I C O p t D e c L i s 0034120 t N o d e P r o c s _ \r \t N E 0034140 W [ O p t D e c L i s t N o d e 0034160 P r o c s B o d y _ [ O p t 0034200 D e c L i s t a b s e n t P r o 0034220 d U p d a t e L o c a l C o n t 0034240 e x t , O p t D e c L i s t a 0034260 b s e n t P r o d H a n g C o n 0034300 t e x t s F r o m C o n t e x t 0034320 T r e e ] ] ; \r \r B u i l d O p 0034340 t D e c L i s t a b s e n t P r 0034360 o d N o d e : \t P U B L I C P 0034400 R O C [ p o s i t i o n : I N 0034420 T , l e n g t h : I N T ] \r 0034440 \t R E T U R N S [ O p t D e c L 0034460 i s t N o d e ] = \r \t \t B E G 0034500 I N \r \t \t R E T U R N [ N E W [ 0034520 O p t D e c L i s t N o d e B o 0034540 d y _ [ p o s i t i o n , l e 0034560 n g t h , O p t D e c L i s t 0034600 a b s e n t P r o d P r o c s , 0034620 N I L ] ] ] ; \r \t \t E N D ; \r 0034640 \r \r - - O p t D e c L i s t p 0034660 r e s e n t P r o d \r \r O p t D 0034700 e c L i s t p r e s e n t P r o 0034720 d P r o c s : \t P U B L I C O 0034740 p t D e c L i s t N o d e P r o 0034760 c s _ \r \t N E W [ O p t D e c 0035000 L i s t N o d e P r o c s B o d 0035020 y _ [ O p t D e c L i s t p 0035040 r e s e n t P r o d U p d a t e 0035060 L o c a l C o n t e x t , O p 0035100 t D e c L i s t p r e s e n t P 0035120 r o d H a n g C o n t e x t s F 0035140 r o m C o n t e x t T r e e ] ] 0035160 ; \r \r B u i l d O p t D e c L i 0035200 s t p r e s e n t P r o d N o d 0035220 e : \t P U B L I C P R O C [ p 0035240 o s i t i o n : I N T , l e 0035260 n g t h : I N T , D e c L i 0035300 s t : D e c L i s t N o d e ] 0035320 \r \t R E T U R N S [ O p t D e c 0035340 L i s t N o d e ] = \r \t \t B E 0035360 G I N \r \t \t d a t a : \t O p t D 0035400 e c L i s t p r e s e n t P r o 0035420 d D a t a _ \r \t \t \t N E W [ O 0035440 p t D e c L i s t p r e s e n t 0035460 P r o d D a t a B o d y _ [ 0035500 \r \t \t \t D e c L i s t ] ] ; \r \t 0035520 \t R E T U R N [ N E W [ O p t D 0035540 e c L i s t N o d e B o d y _ [ 0035560 p o s i t i o n , l e n g t h 0035600 , O p t D e c L i s t p r e s 0035620 e n t P r o d P r o c s , d a 0035640 t a ] ] ] ; \r \t \t E N D ; \r \r \r 0035660 - - S t a t e m e n t L i s t 0035700 e m p t y P r o d \r \r S t a t e 0035720 m e n t L i s t e m p t y P r o 0035740 d P r o c s : \t P U B L I C S 0035760 t a t e m e n t L i s t N o d e 0036000 P r o c s _ \r \t N E W [ S t a 0036020 t e m e n t L i s t N o d e P r 0036040 o c s B o d y _ [ S t a t e 0036060 m e n t L i s t e m p t y P r o 0036100 d H a n g C o n t e x t s F r o 0036120 m C o n t e x t T r e e ] ] ; \r 0036140 \r B u i l d S t a t e m e n t L 0036160 i s t e m p t y P r o d N o d e 0036200 : \t P U B L I C P R O C [ p o 0036220 s i t i o n : I N T , l e n 0036240 g t h : I N T ] \r \t R E T U R 0036260 N S [ S t a t e m e n t L i s t 0036300 N o d e ] = \r \t \t B E G I N \r 0036320 \t \t R E T U R N [ N E W [ S t a 0036340 t e m e n t L i s t N o d e B o 0036360 d y _ [ p o s i t i o n , l e 0036400 n g t h , S t a t e m e n t L 0036420 i s t e m p t y P r o d P r o c 0036440 s , N I L ] ] ] ; \r \t \t E N D 0036460 ; \r \r \r - - S t a t e m e n t 0036500 L i s t m o r e P r o d \r \r S t 0036520 a t e m e n t L i s t m o r e P 0036540 r o d P r o c s : \t P U B L I C 0036560 S t a t e m e n t L i s t N o 0036600 d e P r o c s _ \r \t N E W [ S 0036620 t a t e m e n t L i s t N o d e 0036640 P r o c s B o d y _ [ S t a 0036660 t e m e n t L i s t m o r e P r 0036700 o d H a n g C o n t e x t s F r 0036720 o m C o n t e x t T r e e ] ] ; 0036740 \r \r B u i l d S t a t e m e n t 0036760 L i s t m o r e P r o d N o d e 0037000 : \t P U B L I C P R O C [ p o 0037020 s i t i o n : I N T , l e n 0037040 g t h : I N T , S t a t e m 0037060 e n t L i s t : S t a t e m e 0037100 n t L i s t N o d e , S t a t 0037120 e m e n t : S t a t e m e n t 0037140 N o d e ] \r \t R E T U R N S [ S 0037160 t a t e m e n t L i s t N o d e 0037200 ] = \r \t \t B E G I N \r \t \t d a 0037220 t a : \t S t a t e m e n t L i s 0037240 t m o r e P r o d D a t a _ \r 0037260 \t \t \t N E W [ S t a t e m e n t 0037300 L i s t m o r e P r o d D a t a 0037320 B o d y _ [ \r \t \t \t S t a t 0037340 e m e n t L i s t , S t a t e 0037360 m e n t ] ] ; \r \t \t R E T U R N 0037400 [ N E W [ S t a t e m e n t L i 0037420 s t N o d e B o d y _ [ p o s i 0037440 t i o n , l e n g t h , S t 0037460 a t e m e n t L i s t m o r e P 0037500 r o d P r o c s , d a t a ] ] 0037520 ] ; \r \t \t E N D ; \r \r E N D . . 0037540 \r 0037541