Pascal Iso7185

98

Transcript of Pascal Iso7185

Page 1: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 1/98

P a s c a l    

I S O 7 1 8 5 : 1 9 9 0        

T h i s o n l i n e c o p y o f t h e u n e x t e n d e d P a s c a l s t a n d a r d i s p r o v i d e d o n l y a s a n a i d t o s t a n d a r d i z a t i o n .  

I n t h e c a s e o f d i e r e n c e s b e t w e e n t h i s o n l i n e v e r s i o n a n d t h e p r i n t e d v e r s i o n , t h e p r i n t e d v e r s i o n  

t a k e s p r e c e d e n c e .  

D o n o t m o d i f y t h i s d o c u m e n t . D o n o t i n c l u d e t h i s d o c u m e n t i n a n o t h e r s o f t w a r e p r o d u c t . Y o u m a y  

p r i n t t h i s d o c u m e n t f o r p e r s o n a l u s e o n l y . D o n o t s e l l t h i s d o c u m e n t .  

U s e t h i s i n f o r m a t i o n o n l y f o r g o o d n e v e r f o r e v i l . D o n o t e x p o s e t o r e . D o n o t o p e r a t e h e a v y  

e q u i p m e n t a f t e r r e a d i n g , m a y c a u s e d r o w s i n e s s . D o n o t r e a d u n d e r t h e i n u e n c e o f a l c o h o l ( a l t h o u g h  

t h e r e h a v e b e e n s e v e r a l u n c o n r m e d r e p o r t s t h a t a l c o h o l a c t u a l l y i m p r o v e s t h e r e a d a b i l i t y ) . T h e  

s t a n d a r d i s w r i t t e n i n E n g l i s h . I f y o u h a v e t r o u b l e u n d e r s t a n d i n g a p a r t i c u l a r s e c t i o n , r e a d i t a g a i n  

a n d a g a i n a n d a g a i n . . . S i t u p s t r a i g h t . E a t y o u r v e g a t a b l e s . D o n o t m u m b l e .  

  I S O / I E C 1 9 9 1  

Page 2: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 2/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

i i 

Page 3: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 3/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A c k n o w l e d g e m e n t s  

T h e e o r t s a r e a c k n o w l e d g e d o f a l l t h o s e w h o c o n t r i b u t e d t o t h e w o r k o f t h e B S I a n d I S O P a s c a l  

w o r k i n g g r o u p s , a n d i n p a r t i c u l a r :  

T o n y A d d y m a n H a r r i s H a l l J o h n R e a g a n  

A l b r e c h t B i e d l C a r s t e n H a m m e r M i k e R e e s  

B o b B r e w e r A t h o l l H a y A r t h u r S a l e  

C o e n B r o n T o n y H e t h e r i n g t o n P a u l a S c h w a r t z  

D a v i d B u r n e t t - H a l l S t e v e H o b b s B a r r y S m i t h  

D a v i d B u s t a r d M e l J a c k s o n J o h n S o u t e r  

B a r r y B y r n e S c o t t J a m e s o n M a n f r e d S t a d e l  

K l a u s D a e s s l e r D a v i d J o n e s B o b T e n n e n t  

R i c h a r d D e M o r g a n D a v i d J o s l i n T o m T u r b a  

N o r m a n D i a m o n d K a t s u h i k o K a k e h i E i i t i W a d a  

B o b D i e t r i c h O l i v i e r L e c a r m e W i l l e m W a k k e r  

K e n E d w a r d s J i m M i n e r D a v i d W a t t  

J a c q u e s F a r r e W e s M u n s i l J i m W e l s h  

B i l l F i n d l a y B i l l P r i c e B r i a n W i c h m a n n  

T h e e o r t s a r e a c k n o w l e d g e d o f a l l t h o s e w h o c o n t r i b u t e d t o t h e w o r k o f J P C , a n d i n p a r t i c u l a r :  

M i c h a e l A l e x a n d e r S t e v e n H o b b s D a v i d L . P r e s b e r g  

J e r e y A l l e n A l b e r t A . H o m a n W i l l i a m C . P r i c e  

E d B a r k m e y e r R o b e r t H u t c h i n s B r u c e R a v e n a l  

W . A s h b y B o a z R o s a C . H w a n g D a v i d L . R e e s e  

J a c k B o u d r e a u x S c o t t J a m e s o n D a v i d C . R o b b i n s  

A . W i n s o r B r o w n D a v i d J o n e s L y n n e R o s e n t h a l  

J e r r y R . B r o o k s h i r e S t e e n J u r s T o m R u d k i n  

T o m a s M . B u r g e r M e l K a n n e r S t e p h e n C . S c h w a r m  

D a v i d S . C a r g o J o h n K a u f m a n n R i c k S h a w  

R i c h a r d J . C i c h e l l i L e s l i e K l e i n C a r o l S l e d g e  

J o e C o i n t m e n t B r u c e K n o b e B a r r y S m i t h  

R o g e r C o x D e n n i s K o d i m e r R u d e e n S . S m i t h  

J e a n D a n v e r R o n a l d E . K o l e B i l l S t a c k h o u s e  

D e b r a D e u t s c h A l a n A . K o r t e s o j a M a r i u s T r o o s t  

B o b D i e t r i c h E d w a r d K r a l l T h o m a s N . T u r b a  

V i c t o r A . F o l w a r c z n y R o b e r t L a n g e P r e s c o t t K . T u r n e r  

G . G . G u s t a f s o n R a i n e r M c C o w n H o w a r d T u r t l e  

T h o m a s G i v e n t e r J i m M i n e r R o b e r t T u t t l e  

H e l l m u t G o l d e E u g e n e N . M i y a R i c h a r d C . V i l e , J r  

D a v i d N . G r a y M a r k M o l l o y L a r r y B . W e b e r  

P a u l G r e g o r y W i l l i a m N e u h a u s e r D a v i d W e i l  

M i c h a e l H a g e r t y D e n n i s N i c h o l s o n T h o m a s R . W i l c o x  

C h a r l e s E . H a y n e s M a r k O v e r g a a r d T h o m a s W o l f e  

C h r i s t o p h e r H e n r i c h T e d C . P a r k H a r v e y W o h l w e n d  

i i i 

Page 4: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 4/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

S t e v e n H i e b e r t D o n a l d D . P e c k h a m K e n n e t h M . Z e m r o w s k i  

R u t h H i g g i n s D a v i d P e e r c y  

C h a r l e s H i l l R o b e r t C . B . P o o n  

( T h e a b o v e l i s t i s o f p e o p l e a c k n o w l e d g e d i n A N S I / I E E E 7 7 0 X 3 . 9 7 - 1 9 8 3 . )  

i v 

Page 5: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 5/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

I n t r o d u c t i o n  

T h i s I n t e r n a t i o n a l S t a n d a r d p r o v i d e s a n u n a m b i g u o u s a n d m a c h i n e i n d e p e n d e n t d e n i t i o n o f t h e  

p r o g r a m m i n g l a n g u a g e P a s c a l . I t s p u r p o s e i s t o f a c i l i t a t e p o r t a b i l i t y o f P a s c a l p r o g r a m s f o r u s e o n  

a w i d e v a r i e t y o f d a t a p r o c e s s i n g s y s t e m s .  

L a n g u a g e h i s t o r y  

T h e c o m p u t e r p r o g r a m m i n g l a n g u a g e P a s c a l w a s d e s i g n e d b y P r o f e s s o r N i k l a u s W i r t h t o s a t i s f y t w o  

p r i n c i p a l a i m s  

a ) t o m a k e a v a i l a b l e a l a n g u a g e s u i t a b l e f o r t e a c h i n g p r o g r a m m i n g a s a s y s t e m a t i c d i s c i p l i n e  

b a s e d o n c e r t a i n f u n d a m e n t a l c o n c e p t s c l e a r l y a n d n a t u r a l l y r e e c t e d b y t h e l a n g u a g e  

b ) t o d e n e a l a n g u a g e w h o s e i m p l e m e n t a t i o n s c o u l d b e b o t h r e l i a b l e a n d e c i e n t o n t h e n -  

a v a i l a b l e c o m p u t e r s .  

H o w e v e r , i t h a s b e c o m e a p p a r e n t t h a t P a s c a l h a s a t t r i b u t e s t h a t g o f a r b e y o n d t h e s e o r i g i n a l g o a l s .  

I t i s n o w b e i n g i n c r e a s i n g l y u s e d c o m m e r c i a l l y i n t h e w r i t i n g o f b o t h s y s t e m a n d a p p l i c a t i o n s o f t w a r e .  

T h i s I n t e r n a t i o n a l S t a n d a r d i s p r i m a r i l y a c o n s e q u e n c e o f t h e g r o w i n g c o m m e r c i a l i n t e r e s t i n P a s c a l  

a n d t h e n e e d t o p r o m o t e t h e p o r t a b i l i t y o f P a s c a l p r o g r a m s b e t w e e n d a t a p r o c e s s i n g s y s t e m s .  

I n d r a f t i n g t h i s I n t e r n a t i o n a l S t a n d a r d t h e c o n t i n u e d s t a b i l i t y o f P a s c a l h a s b e e n a p r i m e o b j e c t i v e .  

H o w e v e r , a p a r t f r o m c h a n g e s t o c l a r i f y t h e s p e c i c a t i o n , t w o m a j o r c h a n g e s h a v e b e e n i n t r o d u c e d .  

a ) T h e s y n t a x u s e d t o s p e c i f y p r o c e d u r a l a n d f u n c t i o n a l p a r a m e t e r s h a s b e e n c h a n g e d t o r e q u i r e  

t h e u s e o f a p r o c e d u r e o r f u n c t i o n h e a d i n g , a s a p p r o p r i a t e ( s e e   6 . 6 . 3 . 1   ) t h i s c h a n g e w a s  

i n t r o d u c e d t o o v e r c o m e a l a n g u a g e i n s e c u r i t y .  

b ) A f t h k i n d o f p a r a m e t e r , t h e c o n f o r m a n t - a r r a y - p a r a m e t e r , h a s b e e n i n t r o d u c e d ( s e e   6 . 6 . 3 . 7   ) . 

W i t h t h i s k i n d o f p a r a m e t e r , t h e r e q u i r e d b o u n d s o f t h e i n d e x - t y p e o f a n a c t u a l - p a r a m e t e r  

a r e n o t x e d , b u t a r e r e s t r i c t e d t o a s p e c i e d r a n g e o f v a l u e s .  

P r o j e c t h i s t o r y  

I n 1 9 7 7 , a w o r k i n g g r o u p w a s f o r m e d w i t h i n t h e B r i t i s h S t a n d a r d s I n s t i t u t i o n ( B S I ) t o p r o d u c e a  

s t a n d a r d f o r t h e p r o g r a m m i n g l a n g u a g e P a s c a l . T h i s g r o u p p r o d u c e d s e v e r a l w o r k i n g d r a f t s , t h e  

r s t d r a f t f o r p u b l i c c o m m e n t b e i n g w i d e l y p u b l i s h e d e a r l y i n 1 9 7 9 . I n 1 9 7 8 , B S I ' s p r o p o s a l t h a t  

P a s c a l b e a d d e d t o I S O ' s p r o g r a m o f w o r k w a s a c c e p t e d , a n d t h e I S O P a s c a l W o r k i n g G r o u p ( t h e n  

d e s i g n a t e d I S O / T C 9 7 / S C 5 / W G 4 ) w a s f o r m e d i n 1 9 7 9 . T h e P a s c a l s t a n d a r d w a s t o b e p u b l i s h e d  

b y B S I o n b e h a l f o f I S O , a n d t h i s B r i t i s h S t a n d a r d r e f e r e n c e d b y t h e I n t e r n a t i o n a l S t a n d a r d .  

I n t h e U S A , i n t h e f a l l o f 1 9 7 8 , a p p l i c a t i o n w a s m a d e t o t h e I E E E S t a n d a r d s B o a r d b y t h e I E E E  

C o m p u t e r S o c i e t y t o a u t h o r i z e p r o j e c t 7 7 0 ( P a s c a l ) . A f t e r a p p r o v a l , t h e r s t m e e t i n g w a s h e l d i n  

J a n u a r y 1 9 7 9 .  

I n D e c e m b e r o f 1 9 7 8 , X 3 J 9 c o n v e n e d a s a r e s u l t o f a S P A R C ( S t a n d a r d s P l a n n i n g a n d R e q u i r e m e n t s  

C o m m i t t e e ) r e s o l u t i o n t o f o r m a U S T A G ( T e c h n i c a l A d v i s o r y G r o u p ) f o r t h e I S O P a s c a l  

s t a n d a r d i z a t i o n e o r t i n i t i a t e d b y t h e U K . T h e s e e o r t s w e r e p e r f o r m e d u n d e r X 3 p r o j e c t 3 1 7 .  

Page 6: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 6/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

I n a g r e e m e n t w i t h I E E E r e p r e s e n t a t i v e s , i n F e b r u a r y o f 1 9 7 9 , a n X 3 r e s o l u t i o n c o m b i n e d t h e X 3 J 9  

a n d P 7 7 0 c o m m i t t e e s i n t o a s i n g l e c o m m i t t e e c a l l e d t h e J o i n t X 3 J 9 / I E E E - P 7 7 0 P a s c a l S t a n d a r d s  

C o m m i t t e e . ( T h r o u g h o u t , t h e t e r m J P C r e f e r s t o t h i s c o m m i t t e e . ) T h e r s t m e e t i n g a s J P C w a s  

h e l d i n A p r i l 1 9 7 9 .  

T h e r e s o l u t i o n t o f o r m J P C c l a r i e d t h e d u a l f u n c t i o n o f t h e s i n g l e j o i n t c o m m i t t e e t o p r o d u c e a  

d p A N S a n d a p r o p o s e d I E E E P a s c a l s t a n d a r d , i d e n t i c a l i n c o n t e n t .  

A N S I / I E E E 7 7 0 X 3 . 9 7 - 1 9 8 3 , A m e r i c a n N a t i o n a l S t a n d a r d P a s c a l C o m p u t e r P r o g r a m m i n g L a n g u a g e ,  

w a s a p p r o v e d b y t h e I E E E S t a n d a r d s B o a r d o n S e p t e m b e r 1 7 , 1 9 8 1 , a n d b y t h e A m e r i c a n  

N a t i o n a l S t a n d a r d s I n s t i t u t e o n D e c e m b e r 1 6 , 1 9 8 2 . B r i t i s h S t a n d a r d B S 6 1 9 2 , S p e c i c a t i o n f o r  

C o m p u t e r p r o g r a m m i n g l a n g u a g e P a s c a l , w a s p u b l i s h e d i n 1 9 8 2 , a n d I n t e r n a t i o n a l S t a n d a r d 7 1 8 5  

( i n c o r p o r a t i n g B S 6 1 9 2 b y r e f e r e n c e ) w a s a p p r o v e d b y I S O o n D e c e m b e r 1 , 1 9 8 3 . D i e r e n c e s b e t w e e n  

t h e A N S I a n d I S O s t a n d a r d s a r e d e t a i l e d i n t h e F o r e w o r d o f A N S I / I E E E 7 7 0 X 3 . 9 7 - 1 9 8 3 .  

I n 1 9 8 5 , t h e I S O P a s c a l W o r k i n g G r o u p ( t h e n d e s i g n a t e d I S O / T C 9 7 / S C 2 2 / W G 2 , n o w I S O / I E C  

J T C 1 / S C 2 2 / W G 2 ) w a s r e c o n v e n e d a f t e r a l o n g b r e a k . A n I n t e r p r e t a t i o n s S u b g r o u p w a s f o r m e d ,  

t o i n t e r p r e t d o u b t f u l o r a m b i g u o u s p o r t i o n s o f t h e P a s c a l s t a n d a r d s . A s a r e s u l t o f t h e w o r k  

o f t h i s s u b g r o u p , a n d a l s o o f t h e w o r k o n t h e E x t e n d e d P a s c a l s t a n d a r d b e i n g p r o d u c e d b y  

W G 2 a n d J P C , B S 6 1 9 2 / I S O 7 1 8 5 w a s r e v i s e d a n d c o r r e c t e d d u r i n g 1 9 8 8 / 8 9 i t i s e x p e c t e d t h a t  

A N S I / I E E E 7 7 0 X 3 . 9 7 - 1 9 8 3 w i l l b e r e p l a c e d b y t h e r e v i s e d I S O 7 1 8 5 .  

T h e m a j o r r e v i s i o n s t o B S 6 1 9 2 : 1 9 8 2 t o p r o d u c e t h e n e w I S O 7 1 8 5 a r e :  

a ) r e s o l u t i o n o f t h e d i e r e n c e s w i t h A N S I / I E E E 7 7 0 X 3 . 9 7 - 1 9 8 3  

b ) r e l a x a t i o n o f t h e s y n t a x o f r e a l n u m b e r s , t o a l l o w \ d i g i t s e q u e n c e s " r a t h e r t h a n \ u n s i g n e d  

i n t e g e r s " f o r t h e v a r i o u s c o m p o n e n t s  

c ) i n t h e h a n d l i n g o f \ e n d - o f - l i n e c h a r a c t e r s " i n t e x t l e s  

d ) i n t h e h a n d l i n g o f r u n - t i m e e r r o r s .  

v i 

Page 7: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 7/98

I N T E R N A T I O N A L S T A N D A R D I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

I n f o r m a t i o n t e c h n o l o g y | P r o g r a m m i n g      

l a n g u a g e s | P a s c a l    

1 S c o p e  

1 . 1 

T h i s I n t e r n a t i o n a l S t a n d a r d s p e c i e s t h e s e m a n t i c s a n d s y n t a x o f t h e c o m p u t e r p r o g r a m m i n g  

l a n g u a g e P a s c a l b y s p e c i f y i n g r e q u i r e m e n t s f o r a p r o c e s s o r a n d f o r a c o n f o r m i n g p r o g r a m . T w o  

l e v e l s o f c o m p l i a n c e a r e d e n e d f o r b o t h p r o c e s s o r s a n d p r o g r a m s .  

1 . 2 

T h i s I n t e r n a t i o n a l S t a n d a r d d o e s n o t s p e c i f y  

a ) t h e s i z e o r c o m p l e x i t y o f a p r o g r a m a n d i t s d a t a t h a t w i l l e x c e e d t h e c a p a c i t y o f a n y s p e c i c  

d a t a p r o c e s s i n g s y s t e m o r t h e c a p a c i t y o f a p a r t i c u l a r p r o c e s s o r , n o r t h e a c t i o n s t o b e t a k e n  

w h e n t h e c o r r e s p o n d i n g l i m i t s a r e e x c e e d e d  

b ) t h e m i n i m a l r e q u i r e m e n t s o f a d a t a p r o c e s s i n g s y s t e m t h a t i s c a p a b l e o f s u p p o r t i n g a n i m p l e m e n t a t i o n  

o f a p r o c e s s o r f o r P a s c a l  

c ) t h e m e t h o d o f a c t i v a t i n g t h e p r o g r a m - b l o c k o r t h e s e t o f c o m m a n d s u s e d t o c o n t r o l t h e  

e n v i r o n m e n t i n w h i c h a P a s c a l p r o g r a m i s t r a n s f o r m e d a n d e x e c u t e d  

d ) t h e m e c h a n i s m b y w h i c h p r o g r a m s w r i t t e n i n P a s c a l a r e t r a n s f o r m e d f o r u s e b y a d a t a  

p r o c e s s i n g s y s t e m  

e ) t h e m e t h o d f o r r e p o r t i n g e r r o r s o r w a r n i n g s  

f ) t h e t y p o g r a p h i c a l r e p r e s e n t a t i o n o f a p r o g r a m p u b l i s h e d f o r h u m a n r e a d i n g .  

2 N o r m a t i v e r e f e r e n c e  

T h e f o l l o w i n g s t a n d a r d c o n t a i n s p r o v i s i o n s w h i c h , t h r o u g h r e f e r e n c e i n t h i s t e x t , c o n s t i t u t e p r o v i s i o n s  

o f t h i s I n t e r n a t i o n a l S t a n d a r d . A t t h e t i m e o f p u b l i c a t i o n , t h e e d i t i o n i n d i c a t e d w a s v a l i d . A l l  

s t a n d a r d s a r e s u b j e c t t o r e v i s i o n , a n d p a r t i e s t o a g r e e m e n t s b a s e d o n t h i s I n t e r n a t i o n a l S t a n d a r d  

a r e e n c o u r a g e d t o i n v e s t i g a t e t h e p o s s i b i l i t y o f a p p l y i n g t h e m o s t r e c e n t e d i t i o n o f t h e s t a n d a r d l i s t e d  

b e l o w . M e m b e r s o f I E C a n d I S O m a i n t a i n r e g i s t e r s o f c u r r e n t l y v a l i d I n t e r n a t i o n a l S t a n d a r d s .  

I S O 6 4 6 : 1 9 8 3 ,   I n f o r m a t i o n p r o c e s s i n g | I S O 7 - b i t c o d e d c h a r a c t e r s e t f o r i n f o r m a t i o n i n t e r c h a n g e  . 

Page 8: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 8/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

3 D e n i t i o n s  

F o r t h e p u r p o s e s o f t h i s I n t e r n a t i o n a l S t a n d a r d , t h e f o l l o w i n g d e n i t i o n s a p p l y .  

N O T E | T o d r a w a t t e n t i o n t o l a n g u a g e c o n c e p t s , s o m e t e r m s a r e p r i n t e d i n i t a l i c s o n t h e i r r s t m e n t i o n  

o r a t t h e i r d e n i n g o c c u r r e n c e ( s ) i n t h i s I n t e r n a t i o n a l S t a n d a r d .  

3 . 1 E r r o r  

A v i o l a t i o n b y a p r o g r a m o f t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d t h a t a p r o c e s s o r i s  

p e r m i t t e d t o l e a v e u n d e t e c t e d .  

N O T E S  

1 I f i t i s p o s s i b l e t o c o n s t r u c t a p r o g r a m i n w h i c h t h e v i o l a t i o n o r n o n - v i o l a t i o n o f t h i s I n t e r n a t i o n a l S t a n d a r d  

r e q u i r e s k n o w l e d g e o f t h e d a t a r e a d b y t h e p r o g r a m o r t h e i m p l e m e n t a t i o n d e n i t i o n o f i m p l e m e n t a t i o n -  

d e n e d f e a t u r e s , t h e n v i o l a t i o n o f t h a t r e q u i r e m e n t i s c l a s s i e d a s a n   e r r o r  . P r o c e s s o r s m a y r e p o r t o n s u c h  

v i o l a t i o n s o f t h e r e q u i r e m e n t w i t h o u t s u c h k n o w l e d g e , b u t t h e r e a l w a y s r e m a i n s o m e c a s e s t h a t r e q u i r e  

e x e c u t i o n , s i m u l a t e d e x e c u t i o n , o r p r o o f p r o c e d u r e s w i t h t h e r e q u i r e d k n o w l e d g e . R e q u i r e m e n t s t h a t c a n  

b e v e r i e d w i t h o u t s u c h k n o w l e d g e a r e n o t c l a s s i e d a s e r r o r s .  

2 P r o c e s s o r s s h o u l d a t t e m p t t h e d e t e c t i o n o f a s m a n y e r r o r s a s p o s s i b l e , a n d t o a s c o m p l e t e a d e g r e e a s  

p o s s i b l e . P e r m i s s i o n t o o m i t d e t e c t i o n i s p r o v i d e d f o r i m p l e m e n t a t i o n s i n w h i c h t h e d e t e c t i o n w o u l d b e a n  

e x c e s s i v e b u r d e n .  

3 . 2 E x t e n s i o n  

A m o d i c a t i o n t o c l a u s e   6  o f t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d t h a t d o e s n o t i n v a l i d a t e  

a n y p r o g r a m c o m p l y i n g w i t h t h i s I n t e r n a t i o n a l S t a n d a r d , a s d e n e d b y   5 . 2  , e x c e p t b y p r o h i b i t i n g  

t h e u s e o f o n e o r m o r e p a r t i c u l a r s p e l l i n g s o f i d e n t i e r s ( s e e   6 . 1 . 2   a n d  6 . 1 . 3   ) . 

3 . 3 I m p l e m e n t a t i o n - d e n e d  

P o s s i b l y d i e r i n g b e t w e e n p r o c e s s o r s , b u t d e n e d f o r a n y p a r t i c u l a r p r o c e s s o r .  

3 . 4 I m p l e m e n t a t i o n - d e p e n d e n t  

P o s s i b l y d i e r i n g b e t w e e n p r o c e s s o r s a n d n o t n e c e s s a r i l y d e n e d f o r a n y p a r t i c u l a r p r o c e s s o r .  

3 . 5 P r o c e s s o r  

A s y s t e m o r m e c h a n i s m t h a t a c c e p t s a p r o g r a m a s i n p u t , p r e p a r e s i t f o r e x e c u t i o n , a n d e x e c u t e s t h e  

p r o c e s s s o d e n e d w i t h d a t a t o p r o d u c e r e s u l t s .  

N O T E | A p r o c e s s o r m a y c o n s i s t o f a n i n t e r p r e t e r , a c o m p i l e r a n d r u n - t i m e s y s t e m , o r a n o t h e r m e c h a n i s m ,  

t o g e t h e r w i t h a n a s s o c i a t e d h o s t c o m p u t i n g m a c h i n e a n d o p e r a t i n g s y s t e m , o r a n o t h e r m e c h a n i s m f o r  

a c h i e v i n g t h e s a m e e e c t . A c o m p i l e r i n i t s e l f , f o r e x a m p l e , d o e s n o t c o n s t i t u t e a p r o c e s s o r .  

Page 9: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 9/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

T a b l e 1 | M e t a l a n g u a g e s y m b o l s  

M e t a s y m b o l M e a n i n g  

=  S h a l l b e d e n e d t o b e  

>  S h a l l h a v e a s a n a l t e r n a t i v e d e n i t i o n  

|  A l t e r n a t i v e l y  

. E n d o f d e n i t i o n  

x ]  0 o r 1 i n s t a n c e o f   x 

{ x }  0 o r m o r e i n s t a n c e s o f   x 

( x | y )   G r o u p i n g : e i t h e r o f   x  o r  y 

 ̀ x y z  ' T h e t e r m i n a l s y m b o l  x y z 

m e t a - i d e n t i e r A n o n t e r m i n a l s y m b o l  

4 D e n i t i o n a l c o n v e n t i o n s  

T h e m e t a l a n g u a g e u s e d i n t h i s I n t e r n a t i o n a l S t a n d a r d t o s p e c i f y t h e s y n t a x o f t h e c o n s t r u c t s i s  

b a s e d o n B a c k u s - N a u r F o r m . T h e n o t a t i o n h a s b e e n m o d i e d f r o m t h e o r i g i n a l t o p e r m i t g r e a t e r  

c o n v e n i e n c e o f d e s c r i p t i o n a n d t o a l l o w f o r i t e r a t i v e p r o d u c t i o n s t o r e p l a c e r e c u r s i v e o n e s . T a b l e 1  

l i s t s t h e m e a n i n g s o f t h e v a r i o u s m e t a s y m b o l s . F u r t h e r s p e c i c a t i o n o f t h e c o n s t r u c t s i s g i v e n b y  

p r o s e a n d , i n s o m e c a s e s , b y e q u i v a l e n t p r o g r a m f r a g m e n t s . A n y i d e n t i e r t h a t i s d e n e d i n c l a u s e  

6  a s a r e q u i r e d i d e n t i e r s h a l l d e n o t e t h e c o r r e s p o n d i n g r e q u i r e d e n t i t y b y i t s o c c u r r e n c e i n s u c h  

a p r o g r a m f r a g m e n t . I n a l l o t h e r r e s p e c t s , a n y s u c h p r o g r a m f r a g m e n t i s b o u n d b y a n y p e r t i n e n t  

r e q u i r e m e n t o f t h i s I n t e r n a t i o n a l S t a n d a r d .  

A m e t a - i d e n t i e r s h a l l b e a s e q u e n c e o f l e t t e r s a n d h y p h e n s b e g i n n i n g w i t h a l e t t e r .  

A s e q u e n c e o f t e r m i n a l a n d n o n t e r m i n a l s y m b o l s i n a p r o d u c t i o n i m p l i e s t h e c o n c a t e n a t i o n o f t h e  

t e x t t h a t t h e y u l t i m a t e l y r e p r e s e n t . W i t h i n   6 . 1  t h i s c o n c a t e n a t i o n i s d i r e c t n o c h a r a c t e r s s h a l l  

i n t e r v e n e . I n a l l o t h e r p a r t s o f t h i s I n t e r n a t i o n a l S t a n d a r d t h e c o n c a t e n a t i o n i s i n a c c o r d a n c e w i t h  

t h e r u l e s s e t o u t i n   6 . 1  . 

T h e c h a r a c t e r s r e q u i r e d t o f o r m P a s c a l p r o g r a m s s h a l l b e t h o s e i m p l i c i t l y r e q u i r e d t o f o r m t h e t o k e n s  

a n d s e p a r a t o r s d e n e d i n   6 . 1  . 

U s e o f t h e w o r d s   o f  ,  i n  ,  c o n t a i n i n g   , a n d   c l o s e s t - c o n t a i n i n g   , w h e n e x p r e s s i n g a r e l a t i o n s h i p b e t w e e n  

t e r m i n a l o r n o n t e r m i n a l s y m b o l s , s h a l l h a v e t h e f o l l o w i n g m e a n i n g s  

| t h e x   o f  a y : r e f e r s t o t h e x o c c u r r i n g d i r e c t l y i n a p r o d u c t i o n d e n i n g y  

| t h e x   i n  a y : i s s y n o n y m o u s w i t h ` t h e x   o f  a y '  

| a y  c o n t a i n i n g   a n x : r e f e r s t o a n y y f r o m w h i c h a n x i s d i r e c t l y o r i n d i r e c t l y d e r i v e d  

| t h e y   c l o s e s t - c o n t a i n i n g   a n x : t h a t y   c o n t a i n i n g   a n x a n d n o t   c o n t a i n i n g   a n o t h e r y   c o n t a i n i n g  

t h a t x .  

T h e s e s y n t a c t i c c o n v e n t i o n s a r e u s e d i n c l a u s e   6  t o s p e c i f y c e r t a i n s y n t a c t i c r e q u i r e m e n t s a n d a l s o  

t h e c o n t e x t s w i t h i n w h i c h c e r t a i n s e m a n t i c s p e c i c a t i o n s a p p l y .  

I n a d d i t i o n t o t h e n o r m a l E n g l i s h r u l e s f o r h y p h e n a t i o n , h y p h e n a t i o n i s u s e d i n t h i s I n t e r n a t i o n a l  

Page 10: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 10/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

S t a n d a r d t o f o r m c o m p o u n d w o r d s t h a t r e p r e s e n t m e t a - i d e n t i e r s , s e m a n t i c t e r m s , o r b o t h . A l l  

m e t a - i d e n t i e r s t h a t c o n t a i n m o r e t h a n o n e w o r d a r e w r i t t e n a s a u n i t w i t h h y p h e n s j o i n i n g t h e  

p a r t s . S e m a n t i c t e r m s e n d i n g i n \ t y p e " a n d \ v a r i a b l e " a r e a l s o w r i t t e n a s o n e h y p h e n a t e d u n i t .  

S e m a n t i c t e r m s r e p r e s e n t i n g c o m p o u n d i d e a s a r e l i k e w i s e w r i t t e n a s h y p h e n a t e d u n i t s , e . g . , d i g i t -  

v a l u e , a c t i v a t i o n - p o i n t , a s s i g n m e n t - c o m p a t i b l e , a n d i d e n t i f y i n g - v a l u e .  

N O T E S a r e i n c l u d e d i n t h i s I n t e r n a t i o n a l S t a n d a r d o n l y f o r p u r p o s e s o f c l a r i c a t i o n , a n d a i d i n t h e  

u s e o f t h e s t a n d a r d . N O T E S a r e i n f o r m a t i v e o n l y a n d a r e n o t a p a r t o f t h e I n t e r n a t i o n a l S t a n d a r d .  

E x a m p l e s i n t h i s I n t e r n a t i o n a l S t a n d a r d a r e e q u i v a l e n t t o N O T E S .  

5 C o m p l i a n c e  

T h e r e a r e t w o l e v e l s o f c o m p l i a n c e , l e v e l 0 a n d l e v e l 1 . L e v e l 0 d o e s n o t i n c l u d e c o n f o r m a n t - a r r a y -  

p a r a m e t e r s . L e v e l 1 d o e s i n c l u d e c o n f o r m a n t - a r r a y - p a r a m e t e r s .  

5 . 1 P r o c e s s o r s  

A p r o c e s s o r c o m p l y i n g w i t h t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d s h a l l  

a ) i f i t c o m p l i e s a t l e v e l 0 , a c c e p t a l l t h e f e a t u r e s o f t h e l a n g u a g e s p e c i e d i n c l a u s e   6  , e x c e p t f o r  

6 . 6 . 3 . 6 e )  ,  6 . 6 . 3 . 7   , a n d   6 . 6 . 3 . 8   , w i t h t h e m e a n i n g s d e n e d i n c l a u s e   6   

b ) i f i t c o m p l i e s a t l e v e l 1 , a c c e p t a l l t h e f e a t u r e s o f t h e l a n g u a g e s p e c i e d i n c l a u s e   6  w i t h t h e  

m e a n i n g s d e n e d i n c l a u s e   6   

c ) n o t r e q u i r e t h e i n c l u s i o n o f s u b s t i t u t e o r a d d i t i o n a l l a n g u a g e e l e m e n t s i n a p r o g r a m i n o r d e r  

t o a c c o m p l i s h a f e a t u r e o f t h e l a n g u a g e t h a t i s s p e c i e d i n c l a u s e   6   

d ) b e a c c o m p a n i e d b y a d o c u m e n t t h a t p r o v i d e s a d e n i t i o n o f a l l i m p l e m e n t a t i o n - d e n e d f e a t u r e s  

e ) b e a b l e t o d e t e r m i n e w h e t h e r o r n o t t h e p r o g r a m v i o l a t e s a n y r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l  

S t a n d a r d , w h e r e s u c h a v i o l a t i o n i s n o t d e s i g n a t e d a n e r r o r , r e p o r t t h e r e s u l t o f t h i s d e t e r m i n a t i o n  

t o t h e u s e r o f t h e p r o c e s s o r b e f o r e t h e e x e c u t i o n o f t h e p r o g r a m - b l o c k , i f a n y , a n d s h a l l p r e v e n t  

e x e c u t i o n o f t h e p r o g r a m - b l o c k , i f a n y  

f ) t r e a t e a c h v i o l a t i o n t h a t i s d e s i g n a t e d a n e r r o r i n a t l e a s t o n e o f t h e f o l l o w i n g w a y s  

1 ) t h e r e s h a l l b e a s t a t e m e n t i n a n a c c o m p a n y i n g d o c u m e n t t h a t t h e e r r o r i s n o t r e p o r t e d ,  

a n d a n o t e r e f e r e n c i n g e a c h s u c h s t a t e m e n t s h a l l a p p e a r i n a s e p a r a t e s e c t i o n o f t h e  

a c c o m p a n y i n g d o c u m e n t  

2 ) t h e p r o c e s s o r s h a l l r e p o r t t h e e r r o r o r t h e p o s s i b i l i t y o f t h e e r r o r d u r i n g p r e p a r a t i o n o f  

t h e p r o g r a m f o r e x e c u t i o n a n d i n t h e e v e n t o f s u c h a r e p o r t s h a l l b e a b l e t o c o n t i n u e  

f u r t h e r p r o c e s s i n g a n d s h a l l b e a b l e t o r e f u s e e x e c u t i o n o f t h e p r o g r a m - b l o c k  

3 ) t h e p r o c e s s o r s h a l l r e p o r t t h e e r r o r d u r i n g e x e c u t i o n o f t h e p r o g r a m  

a n d i f a n e r r o r i s r e p o r t e d d u r i n g e x e c u t i o n o f t h e p r o g r a m , t h e p r o c e s s o r s h a l l t e r m i n a t e  

e x e c u t i o n i f a n e r r o r o c c u r s w i t h i n a s t a t e m e n t , t h e e x e c u t i o n o f t h a t s t a t e m e n t s h a l l n o t b e  

Page 11: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 11/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

c o m p l e t e d  

N O T E | 1 T h i s m e a n s t h a t p r o c e s s i n g w i l l c o n t i n u e u p t o o r b e y o n d e x e c u t i o n o f t h e p r o g r a m a t  

t h e o p t i o n o f t h e u s e r .  

g ) b e a c c o m p a n i e d b y a d o c u m e n t t h a t s e p a r a t e l y d e s c r i b e s a n y f e a t u r e s a c c e p t e d b y t h e p r o c e s s o r  

t h a t a r e p r o h i b i t e d o r n o t s p e c i e d i n c l a u s e   6  : s u c h e x t e n s i o n s s h a l l b e d e s c r i b e d a s b e i n g  

` e x t e n s i o n s t o P a s c a l a s s p e c i e d b y I S O / I E C 7 1 8 5 '  

h ) b e a b l e t o p r o c e s s , i n a m a n n e r s i m i l a r t o t h a t s p e c i e d f o r e r r o r s , a n y u s e o f a n y s u c h e x t e n s i o n  

i ) b e a b l e t o p r o c e s s , i n a m a n n e r s i m i l a r t o t h a t s p e c i e d f o r e r r o r s , a n y u s e o f a n i m p l e m e n t a t i o n -  

d e p e n d e n t f e a t u r e .  

N O T E | 2 T h e p h r a s e ` b e a b l e t o ' i s u s e d i n   5 . 1  t o p e r m i t t h e i m p l e m e n t a t i o n o f a s w i t c h w i t h w h i c h t h e  

u s e r m a y c o n t r o l t h e r e p o r t i n g .  

A p r o c e s s o r t h a t p u r p o r t s t o c o m p l y , w h o l l y o r p a r t i a l l y , w i t h t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l  

S t a n d a r d s h a l l d o s o o n l y i n t h e f o l l o w i n g t e r m s . A   c o m p l i a n c e s t a t e m e n t   s h a l l b e p r o d u c e d  

b y t h e p r o c e s s o r a s a c o n s e q u e n c e o f u s i n g t h e p r o c e s s o r o r s h a l l b e i n c l u d e d i n a c c o m p a n y i n g  

d o c u m e n t a t i o n . I f t h e p r o c e s s o r c o m p l i e s i n a l l r e s p e c t s w i t h t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l  

S t a n d a r d , t h e c o m p l i a n c e s t a t e m e n t s h a l l b e  

h  T h i s p r o c e s s o r  i  c o m p l i e s w i t h t h e r e q u i r e m e n t s o f l e v e l   h  n u m b e r  i  o f I S O / I E C 7 1 8 5 .  

I f t h e p r o c e s s o r c o m p l i e s w i t h s o m e b u t n o t a l l o f t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d  

t h e n i t s h a l l n o t u s e t h e a b o v e s t a t e m e n t , b u t s h a l l i n s t e a d u s e t h e f o l l o w i n g c o m p l i a n c e s t a t e m e n t  

h  T h i s p r o c e s s o r  i  c o m p l i e s w i t h t h e r e q u i r e m e n t s o f l e v e l   h  n u m b e r  i  o f I S O / I E C 7 1 8 5 , w i t h t h e  

f o l l o w i n g e x c e p t i o n s :   h   f o l l o w e d b y a r e f e r e n c e t o , o r a c o m p l e t e l i s t o f , t h e r e q u i r e m e n t s o f t h e  

I n t e r n a t i o n a l S t a n d a r d w i t h w h i c h t h e p r o c e s s o r d o e s n o t c o m p l y  i  . 

I n b o t h c a s e s t h e t e x t   h  T h i s p r o c e s s o r  i  s h a l l b e r e p l a c e d b y a n u n a m b i g u o u s n a m e i d e n t i f y i n g t h e  

p r o c e s s o r , a n d t h e t e x t   h  n u m b e r  i  s h a l l b e r e p l a c e d b y t h e a p p r o p r i a t e l e v e l n u m b e r .  

N O T E | 3 P r o c e s s o r s t h a t d o n o t c o m p l y f u l l y w i t h t h e r e q u i r e m e n t s o f t h e I n t e r n a t i o n a l S t a n d a r d a r e  

n o t r e q u i r e d t o g i v e f u l l d e t a i l s o f t h e i r f a i l u r e s t o c o m p l y i n t h e c o m p l i a n c e s t a t e m e n t a b r i e f r e f e r e n c e  

t o a c c o m p a n y i n g d o c u m e n t a t i o n t h a t c o n t a i n s a c o m p l e t e l i s t i n s u c i e n t d e t a i l t o i d e n t i f y t h e d e f e c t s i s  

s u c i e n t .  

5 . 2 P r o g r a m s  

A p r o g r a m c o n f o r m i n g w i t h t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d s h a l l  

a ) i f i t c o n f o r m s a t l e v e l 0 , u s e o n l y t h o s e f e a t u r e s o f t h e l a n g u a g e s p e c i e d i n c l a u s e   6  , e x c e p t  

f o r  6 . 6 . 3 . 6 e )  ,  6 . 6 . 3 . 7   , a n d   6 . 6 . 3 . 8    

b ) i f i t c o n f o r m s a t l e v e l 1 , u s e o n l y t h o s e f e a t u r e s o f t h e l a n g u a g e s p e c i e d i n c l a u s e   6  a n d  

c ) n o t r e l y o n a n y p a r t i c u l a r i n t e r p r e t a t i o n o f i m p l e m e n t a t i o n - d e p e n d e n t f e a t u r e s .  

N O T E S  

Page 12: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 12/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

1 A p r o g r a m t h a t c o m p l i e s w i t h t h e r e q u i r e m e n t s o f t h i s I n t e r n a t i o n a l S t a n d a r d m a y r e l y o n p a r t i c u l a r  

i m p l e m e n t a t i o n - d e n e d v a l u e s o r f e a t u r e s .  

2 T h e r e q u i r e m e n t s f o r c o n f o r m i n g p r o g r a m s a n d c o m p l i a n t p r o c e s s o r s d o n o t r e q u i r e t h a t t h e r e s u l t s  

p r o d u c e d b y a c o n f o r m i n g p r o g r a m a r e a l w a y s t h e s a m e w h e n p r o c e s s e d b y a c o m p l i a n t p r o c e s s o r . T h e y  

m a y b e t h e s a m e , o r t h e y m a y d i e r , d e p e n d i n g o n t h e p r o g r a m . A s i m p l e p r o g r a m t o i l l u s t r a t e t h i s i s  

p r o g r a m x ( o u t p u t ) b e g i n w r i t e l n ( m a x i n t ) e n d .  

6 R e q u i r e m e n t s  

6 . 1 L e x i c a l t o k e n s  

N O T E | T h e s y n t a x g i v e n i n t h i s s u b c l a u s e d e s c r i b e s t h e f o r m a t i o n o f l e x i c a l t o k e n s f r o m c h a r a c t e r s a n d  

t h e s e p a r a t i o n o f t h e s e t o k e n s a n d t h e r e f o r e d o e s n o t a d h e r e t o t h e s a m e r u l e s a s t h e s y n t a x i n t h e r e s t o f  

t h i s I n t e r n a t i o n a l S t a n d a r d .  

6 . 1 . 1 G e n e r a l  

T h e l e x i c a l t o k e n s u s e d t o c o n s t r u c t P a s c a l p r o g r a m s a r e c l a s s i e d i n t o s p e c i a l - s y m b o l s , i d e n t i e r s ,  

d i r e c t i v e s , u n s i g n e d - n u m b e r s , l a b e l s , a n d c h a r a c t e r - s t r i n g s . T h e r e p r e s e n t a t i o n o f a n y l e t t e r ( u p p e r  

c a s e o r l o w e r c a s e , d i e r e n c e s o f f o n t , e t c . ) o c c u r r i n g a n y w h e r e o u t s i d e o f a c h a r a c t e r - s t r i n g ( s e e  

6 . 1 . 7   ) s h a l l b e i n s i g n i c a n t i n t h a t o c c u r r e n c e t o t h e m e a n i n g o f t h e p r o g r a m .  

l e t t e r = `  a  '  j   ̀ b  '  j   ̀ c  '  j   ̀ d  '  j   ̀ e  '  j   ̀ f  '  j   ̀ g  '  j   ̀ h  '  j   ̀ i  '  j   ̀  j  ' 

j   ̀ k  '  j   ̀ l  '  j   ̀ m  '  j   ̀ n  '  j   ̀ o  '  j   ̀ p  '  j   ̀ q  '  j   ̀ r  '  j   ̀ s  '  j   ̀ t  ' 

j   ̀ u  '  j   ̀ v  '  j   ̀ w  '  j   ̀ x  '  j   ̀ y  '  j   ̀ z  ' . 

d i g i t = `  0  '  j   ̀ 1  '  j   ̀ 2  '  j   ̀ 3  '  j   ̀ 4  '  j   ̀ 5  '  j   ̀ 6  '  j   ̀ 7  '  j   ̀ 8  '  j   ̀ 9  ' . 

6 . 1 . 2 S p e c i a l - s y m b o l s  

T h e s p e c i a l - s y m b o l s a r e t o k e n s h a v i n g s p e c i a l m e a n i n g s a n d a r e u s e d t o d e l i m i t t h e s y n t a c t i c u n i t s  

o f t h e l a n g u a g e .  

s p e c i a l - s y m b o l = `  +  '  j   ̀ ;  '  j   ̀ *  '  j   ̀ /  '  j   ̀ =  '  j   ̀ <  '  j   ̀ >  '  j   ̀   '  j   ̀ ]  ' 

j   ̀ '  j   ̀ ,  '  j   ̀ :  '  j   ̀   '  j   ̀ "  '  j   ̀ (  '  j   ̀ )  ' 

j   ̀ < >  '  j   ̀ <  =  '  j   ̀ >  =  '  j   ̀ : =  '  j   ̀ '  j  w o r d - s y m b o l .  

w o r d - s y m b o l = `  a n d  '  j   ̀ a r r a y   '  j   ̀ b e g i n   '  j   ̀ c a s e   '  j   ̀ c o n s t  '  j   ̀ d i v  ' 

j   ̀ d o  '  j   ̀ d o w n t o  '  j   ̀ e l s e   '  j   ̀ e n d  '  j   ̀ l e  '  j   ̀ f o r  ' 

j   ̀ f u n c t i o n   '  j   ̀ g o t o   '  j   ̀ i f  '  j   ̀ i n  '  j   ̀ l a b e l  '  j   ̀ m o d  ' 

j   ̀ n i l  '  j   ̀ n o t  '  j   ̀ o f  '  j   ̀ o r  '  j   ̀ p a c k e d   '  j   ̀ p r o c e d u r e  ' 

j   ̀ p r o g r a m   '  j   ̀ r e c o r d   '  j   ̀ r e p e a t  '  j   ̀ s e t  '  j   ̀ t h e n   ' 

j   ̀ t o  '  j   ̀ t y p e  '  j   ̀ u n t i l  '  j   ̀ v a r  '  j   ̀ w h i l e   '  j   ̀ w i t h   ' . 

Page 13: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 13/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 1 . 3 I d e n t i e r s  

I d e n t i e r s c a n b e o f a n y l e n g t h . T h e   s p e l l i n g   o f a n i d e n t i e r s h a l l b e c o m p o s e d f r o m a l l i t s c o n s t i t u e n t  

c h a r a c t e r s t a k e n i n t e x t u a l o r d e r , w i t h o u t r e g a r d f o r t h e c a s e o f l e t t e r s . N o i d e n t i e r s h a l l h a v e t h e  

s a m e s p e l l i n g a s a n y w o r d - s y m b o l . I d e n t i e r s t h a t a r e s p e c i e d t o b e   r e q u i r e d   s h a l l h a v e s p e c i a l  

s i g n i c a n c e ( s e e   6 . 2 . 2 . 1 0   a n d  6 . 1 0   ) . 

i d e n t i e r = l e t t e r   f  l e t t e r   j  d i g i t   g  . 

E x a m p l e s :  

t i m e  

r e a d i n t e g e r  

W G 4 

A l t e r H e a t S e t t i n g  

I n q u i r e W o r k s t a t i o n T r a n s f o r m a t i o n  

I n q u i r e W o r k s t a t i o n I d e n t i f i c a t i o n  

6 . 1 . 4 D i r e c t i v e s  

A d i r e c t i v e s h a l l o n l y o c c u r   i n  a p r o c e d u r e - d e c l a r a t i o n o r a f u n c t i o n - d e c l a r a t i o n . T h e o n l y d i r e c t i v e  

s h a l l b e t h e r e q u i r e d d i r e c t i v e   f o r w a r d   ( s e e   6 . 6 . 1   a n d  6 . 6 . 2   ) . N o d i r e c t i v e s h a l l h a v e t h e s a m e  

s p e l l i n g a s a n y w o r d - s y m b o l .  

d i r e c t i v e = l e t t e r   f  l e t t e r   j  d i g i t   g  . 

N O T E | M a n y p r o c e s s o r s p r o v i d e , a s a n e x t e n s i o n , t h e d i r e c t i v e   e x t e r n a l  , w h i c h i s u s e d t o s p e c i f y t h a t t h e  

p r o c e d u r e - b l o c k o r f u n c t i o n - b l o c k c o r r e s p o n d i n g t o t h a t p r o c e d u r e - h e a d i n g o r f u n c t i o n - h e a d i n g i s e x t e r n a l  

t o t h e p r o g r a m - b l o c k . U s u a l l y i t i s i n a l i b r a r y i n a f o r m t o b e i n p u t t o , o r t h a t h a s b e e n p r o d u c e d b y , t h e  

p r o c e s s o r .  

6 . 1 . 5 N u m b e r s  

A n u n s i g n e d - i n t e g e r s h a l l d e n o t e i n d e c i m a l n o t a t i o n a v a l u e o f i n t e g e r - t y p e ( s e e   6 . 4 . 2 . 2   ) . A n  

u n s i g n e d - r e a l s h a l l d e n o t e i n d e c i m a l n o t a t i o n a v a l u e o f r e a l - t y p e ( s e e   6 . 4 . 2 . 2   ) . T h e l e t t e r ` e '  

p r e c e d i n g a s c a l e - f a c t o r s h a l l m e a n   t i m e s t e n t o t h e p o w e r o f  . T h e v a l u e d e n o t e d b y a n u n s i g n e d -  

i n t e g e r s h a l l b e i n t h e c l o s e d i n t e r v a l 0 t o   m a x i n t   ( s e e   6 . 4 . 2 . 2   a n d  6 . 7 . 2 . 2   ) . 

s i g n e d - n u m b e r = s i g n e d - i n t e g e r   j  s i g n e d - r e a l .  

s i g n e d - r e a l = s i g n ] u n s i g n e d - r e a l .  

s i g n e d - i n t e g e r = s i g n ] u n s i g n e d - i n t e g e r .  

u n s i g n e d - n u m b e r = u n s i g n e d - i n t e g e r   j  u n s i g n e d - r e a l .  

s i g n = `  +  '  j   ̀ ;  ' . 

Page 14: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 14/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

u n s i g n e d - r e a l = d i g i t - s e q u e n c e `   ' f r a c t i o n a l - p a r t `  e  ' s c a l e - f a c t o r ]  

j  d i g i t - s e q u e n c e `  e  ' s c a l e - f a c t o r .  

u n s i g n e d - i n t e g e r = d i g i t - s e q u e n c e .  

f r a c t i o n a l - p a r t = d i g i t - s e q u e n c e .  

s c a l e - f a c t o r = s i g n ] d i g i t - s e q u e n c e .  

d i g i t - s e q u e n c e = d i g i t   f  d i g i t   g  . 

Page 15: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 15/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

E x a m p l e s :  

1 e 1 0  

+ 1 0 0  

- 0 . 1  

5 e - 3  

8 7 . 3 5 E + 8  

6 . 1 . 6 L a b e l s  

L a b e l s s h a l l b e d i g i t - s e q u e n c e s a n d s h a l l b e d i s t i n g u i s h e d b y t h e i r a p p a r e n t i n t e g r a l v a l u e s a n d s h a l l  

b e i n t h e c l o s e d i n t e r v a l 0 t o 9 9 9 9 . T h e   s p e l l i n g   o f a l a b e l s h a l l b e i t s a p p a r e n t i n t e g r a l v a l u e .  

l a b e l = d i g i t - s e q u e n c e .  

6 . 1 . 7 C h a r a c t e r - s t r i n g s  

A c h a r a c t e r - s t r i n g   c o n t a i n i n g   a s i n g l e s t r i n g - e l e m e n t s h a l l d e n o t e a v a l u e o f t h e r e q u i r e d c h a r - t y p e  

( s e e   6 . 4 . 2 . 2   ) . A c h a r a c t e r - s t r i n g   c o n t a i n i n g   m o r e t h a n o n e s t r i n g - e l e m e n t s h a l l d e n o t e a v a l u e o f  

a s t r i n g - t y p e ( s e e   6 . 4 . 3 . 2   ) w i t h t h e s a m e n u m b e r o f c o m p o n e n t s a s t h e c h a r a c t e r - s t r i n g   c o n t a i n s  

s t r i n g - e l e m e n t s . A l l c h a r a c t e r - s t r i n g s w i t h a g i v e n n u m b e r o f c o m p o n e n t s s h a l l p o s s e s s t h e s a m e  

s t r i n g - t y p e .  

T h e r e s h a l l b e a n i m p l e m e n t a t i o n - d e n e d o n e - t o - o n e c o r r e s p o n d e n c e b e t w e e n t h e s e t o f a l t e r n a t i v e s  

f r o m w h i c h s t r i n g - e l e m e n t s a r e d r a w n a n d a s u b s e t o f t h e v a l u e s o f t h e r e q u i r e d c h a r - t y p e . T h e  

o c c u r r e n c e o f a s t r i n g - e l e m e n t   i n  a c h a r a c t e r - s t r i n g s h a l l d e n o t e t h e o c c u r r e n c e o f t h e c o r r e s p o n d i n g  

v a l u e o f c h a r - t y p e .  

c h a r a c t e r - s t r i n g = `  '  ' s t r i n g - e l e m e n t   f  s t r i n g - e l e m e n t   g   ̀ '  ' . 

s t r i n g - e l e m e n t = a p o s t r o p h e - i m a g e   j  s t r i n g - c h a r a c t e r .  

a p o s t r o p h e - i m a g e = `  "  ' . 

s t r i n g - c h a r a c t e r = o n e - o f - a - s e t - o f - i m p l e m e n t a t i o n - d e n e d - c h a r a c t e r s .  

N O T E | C o n v e n t i o n a l l y , t h e a p o s t r o p h e - i m a g e i s r e g a r d e d a s a s u b s t i t u t e f o r t h e a p o s t r o p h e c h a r a c t e r ,  

w h i c h c a n n o t b e a s t r i n g - c h a r a c t e r .  

E x a m p l e s :  

' A ' 

' ' 

' ' ' '  

' P a s c a l '  

' T H I S I S A S T R I N G '  

Page 16: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 16/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 1 . 8 T o k e n s e p a r a t o r s  

W h e r e a   c o m m e n t a r y   s h a l l b e a n y s e q u e n c e o f c h a r a c t e r s a n d s e p a r a t i o n s o f l i n e s , c o n t a i n i n g n e i t h e r  

g  n o r  * )  , t h e c o n s t r u c t  

(  ̀ f  '  j   ̀ ( *  ' ) c o m m e n t a r y ( `  * )  '  j   ̀ g  ' ) 

s h a l l b e a   c o m m e n t  i f n e i t h e r t h e   f  n o r t h e   ( *  o c c u r s w i t h i n a c h a r a c t e r - s t r i n g o r w i t h i n a c o m m e n t a r y .  

N O T E S  

1 A c o m m e n t m a y t h u s c o m m e n c e w i t h   {  a n d e n d w i t h   * )  , o r c o m m e n c e w i t h   ( *  a n d e n d w i t h   } 

2 T h e s e q u e n c e   ( * )  c a n n o t o c c u r i n a c o m m e n t a r y e v e n t h o u g h t h e s e q u e n c e   { )  c a n .  

C o m m e n t s , s p a c e s ( e x c e p t i n c h a r a c t e r - s t r i n g s ) , a n d t h e s e p a r a t i o n s o f c o n s e c u t i v e l i n e s s h a l l b e  

c o n s i d e r e d t o b e t o k e n s e p a r a t o r s . Z e r o o r m o r e t o k e n s e p a r a t o r s c a n o c c u r b e t w e e n a n y t w o  

c o n s e c u t i v e t o k e n s , b e f o r e t h e r s t t o k e n o f a p r o g r a m t e x t , o r a f t e r t h e l a s t t o k e n o f t h e p r o g r a m  

t e x t . T h e r e s h a l l b e a t l e a s t o n e s e p a r a t o r b e t w e e n a n y p a i r o f c o n s e c u t i v e t o k e n s m a d e u p o f  

i d e n t i e r s , w o r d - s y m b o l s , l a b e l s o r u n s i g n e d - n u m b e r s . N o s e p a r a t o r s s h a l l o c c u r w i t h i n t o k e n s .  

6 . 1 . 9 L e x i c a l a l t e r n a t i v e s  

T h e r e p r e s e n t a t i o n f o r l e x i c a l t o k e n s a n d s e p a r a t o r s g i v e n i n   6 . 1 . 1   t o  6 . 1 . 8   , e x c e p t f o r t h e c h a r a c t e r  

s e q u e n c e s   ( *  a n d  * )  , s h a l l c o n s t i t u t e a   r e f e r e n c e r e p r e s e n t a t i o n   f o r t h e s e t o k e n s a n d s e p a r a t o r s .  

T o f a c i l i t a t e t h e u s e o f P a s c a l o n p r o c e s s o r s t h a t d o n o t s u p p o r t t h e r e f e r e n c e r e p r e s e n t a t i o n , t h e  

f o l l o w i n g a l t e r n a t i v e s h a v e b e e n d e n e d . A l l p r o c e s s o r s t h a t h a v e t h e r e q u i r e d c h a r a c t e r s i n t h e i r  

c h a r a c t e r s e t s h a l l p r o v i d e b o t h t h e r e f e r e n c e r e p r e s e n t a t i o n s a n d t h e a l t e r n a t i v e r e p r e s e n t a t i o n s ,  

a n d t h e c o r r e s p o n d i n g t o k e n s o r s e p a r a t o r s s h a l l n o t b e d i s t i n g u i s h e d . P r o v i s i o n o f t h e r e f e r e n c e  

r e p r e s e n t a t i o n s , a n d o f t h e a l t e r a t i v e t o k e n @ , s h a l l b e i m p l e m e n t a t i o n - d e n e d .  

T h e a l t e r n a t i v e r e p r e s e n t a t i o n s f o r t h e t o k e n s s h a l l b e  

R e f e r e n c e t o k e n A l t e r n a t i v e t o k e n  

"  @ 

( . 

] . ) 

N O T E | 1 T h e c h a r a c t e r   "  t h a t a p p e a r s i n s o m e n a t i o n a l v a r i a n t s o f I S O 6 4 6 i s r e g a r d e d a s i d e n t i c a l t o t h e  

c h a r a c t e r ^ . I n t h i s I n t e r n a t i o n a l S t a n d a r d , t h e c h a r a c t e r   "  h a s b e e n u s e d b e c a u s e o f i t s g r e a t e r v i s i b i l i t y .  

T h e c o m m e n t - d e l i m i t i n g c h a r a c t e r s   f  a n d  g  s h a l l b e t h e r e f e r e n c e r e p r e s e n t a t i o n s , a n d   ( *  a n d  * ) 

r e s p e c t i v e l y s h a l l b e a l t e r n a t i v e r e p r e s e n t a t i o n s ( s e e   6 . 1 . 8   ) . 

N O T E | 2 S e e a l s o   1 . 2 f )  

1 0 

Page 17: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 17/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 2 B l o c k s , s c o p e s , a n d a c t i v a t i o n s  

6 . 2 . 1 B l o c k s  

A b l o c k   c l o s e s t - c o n t a i n i n g   a l a b e l - d e c l a r a t i o n - p a r t   i n  w h i c h a l a b e l o c c u r s s h a l l   c l o s e s t - c o n t a i n   e x a c t l y  

o n e s t a t e m e n t   i n  w h i c h t h a t l a b e l o c c u r s . T h e o c c u r r e n c e o f a l a b e l   i n  t h e l a b e l - d e c l a r a t i o n - p a r t   o f 

a b l o c k s h a l l b e i t s d e n i n g - p o i n t f o r t h e r e g i o n t h a t i s t h e b l o c k . E a c h a p p l i e d o c c u r r e n c e o f t h a t  

l a b e l ( s e e   6 . 2 . 2 . 8   ) s h a l l b e a l a b e l . W i t h i n a n a c t i v a t i o n o f t h e b l o c k , a l l a p p l i e d o c c u r r e n c e s o f  

t h a t l a b e l s h a l l d e n o t e t h e c o r r e s p o n d i n g p r o g r a m - p o i n t i n t h e a l g o r i t h m o f t h e a c t i v a t i o n a t t h a t  

s t a t e m e n t ( s e e   6 . 2 . 3 . 2 b )  ) . 

b l o c k = l a b e l - d e c l a r a t i o n - p a r t c o n s t a n t - d e n i t i o n - p a r t t y p e - d e n i t i o n - p a r t  

v a r i a b l e - d e c l a r a t i o n - p a r t p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t  

s t a t e m e n t - p a r t .  

l a b e l - d e c l a r a t i o n - p a r t = `  l a b e l  ' l a b e l   f   ̀ ,  ' l a b e l   g   ̀   ' ] . 

c o n s t a n t - d e n i t i o n - p a r t = `  c o n s t  ' c o n s t a n t - d e n i t i o n `    '  f  c o n s t a n t - d e n i t i o n `    '  g  ] . 

t y p e - d e n i t i o n - p a r t = `  t y p e  ' t y p e - d e n i t i o n `    '  f  t y p e - d e n i t i o n `    '  g  ] . 

v a r i a b l e - d e c l a r a t i o n - p a r t = `  v a r  ' v a r i a b l e - d e c l a r a t i o n `    '  f  v a r i a b l e - d e c l a r a t i o n `    '  g  ] . 

p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t =   f  ( p r o c e d u r e - d e c l a r a t i o n  

j  f u n c t i o n - d e c l a r a t i o n ) `    '  g  . 

T h e s t a t e m e n t - p a r t s h a l l s p e c i f y t h e a l g o r i t h m i c a c t i o n s t o b e e x e c u t e d u p o n a n a c t i v a t i o n o f t h e  

b l o c k .  

s t a t e m e n t - p a r t = c o m p o u n d - s t a t e m e n t .  

6 . 2 . 2 S c o p e s  

6 . 2 . 2 . 1  

E a c h i d e n t i e r o r l a b e l   c o n t a i n e d   b y t h e p r o g r a m - b l o c k s h a l l h a v e a d e n i n g - p o i n t .  

6 . 2 . 2 . 2  

E a c h d e n i n g - p o i n t s h a l l h a v e a   r e g i o n   t h a t i s a p a r t o f t h e p r o g r a m t e x t , a n d a s c o p e t h a t i s a p a r t  

o r a l l o f t h a t r e g i o n .  

6 . 2 . 2 . 3  

T h e r e g i o n o f e a c h d e n i n g - p o i n t i s d e n e d e l s e w h e r e ( s e e   6 . 2 . 1   ,  6 . 2 . 2 . 1 0   ,  6 . 3  ,  6 . 4 . 1   ,  6 . 4 . 2 . 3   , 

6 . 4 . 3 . 3   ,  6 . 5 . 1   ,  6 . 5 . 3 . 3   ,  6 . 6 . 1   ,  6 . 6 . 2   ,  6 . 6 . 3 . 1   ,  6 . 8 . 3 . 1 0   ,  6 . 1 0   ) . 

1 1 

Page 18: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 18/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 2 . 2 . 4  

T h e s c o p e o f e a c h d e n i n g - p o i n t s h a l l b e i t s r e g i o n ( i n c l u d i n g a l l r e g i o n s e n c l o s e d b y t h a t r e g i o n )  

s u b j e c t t o   6 . 2 . 2 . 5   a n d  6 . 2 . 2 . 6   . 

6 . 2 . 2 . 5  

W h e n a n i d e n t i e r o r l a b e l h a s a d e n i n g - p o i n t f o r r e g i o n A a n d a n o t h e r i d e n t i e r o r l a b e l h a v i n g  

t h e s a m e s p e l l i n g h a s a d e n i n g - p o i n t f o r s o m e r e g i o n B e n c l o s e d b y A , t h e n r e g i o n B a n d a l l r e g i o n s  

e n c l o s e d b y B s h a l l b e e x c l u d e d f r o m t h e s c o p e o f t h e d e n i n g - p o i n t f o r r e g i o n A .  

6 . 2 . 2 . 6  

T h e r e g i o n t h a t i s t h e e l d - s p e c i e r   o f  a e l d - d e s i g n a t o r s h a l l b e e x c l u d e d f r o m t h e e n c l o s i n g s c o p e s .  

6 . 2 . 2 . 7  

W h e n a n i d e n t i e r o r l a b e l h a s a d e n i n g - p o i n t f o r a r e g i o n , a n o t h e r i d e n t i e r o r l a b e l w i t h t h e  

s a m e s p e l l i n g s h a l l n o t h a v e a d e n i n g - p o i n t f o r t h a t r e g i o n .  

6 . 2 . 2 . 8  

W i t h i n t h e s c o p e o f a d e n i n g - p o i n t o f a n i d e n t i e r o r l a b e l , e a c h o c c u r r e n c e o f a n i d e n t i e r o r l a b e l  

h a v i n g t h e s a m e s p e l l i n g a s t h e i d e n t i e r o r l a b e l o f t h e d e n i n g - p o i n t s h a l l b e d e s i g n a t e d a n   a p p l i e d  

o c c u r r e n c e   o f t h e i d e n t i e r o r l a b e l o f t h e d e n i n g - p o i n t , e x c e p t f o r a n o c c u r r e n c e t h a t c o n s t i t u t e d  

t h e d e n i n g - p o i n t s u c h a n o c c u r r e n c e s h a l l b e d e s i g n a t e d a   d e n i n g o c c u r r e n c e  . N o o c c u r r e n c e  

o u t s i d e t h a t s c o p e s h a l l b e a n a p p l i e d o c c u r r e n c e .  

N O T E | W i t h i n t h e s c o p e o f a d e n i n g - p o i n t o f a n i d e n t i e r o r l a b e l , t h e r e a r e n o a p p l i e d o c c u r r e n c e s o f  

a n i d e n t i e r o r l a b e l t h a t c a n n o t b e d i s t i n g u i s h e d f r o m i t a n d h a v e a d e n i n g - p o i n t f o r a r e g i o n e n c l o s i n g  

t h a t s c o p e .  

6 . 2 . 2 . 9  

T h e d e n i n g - p o i n t o f a n i d e n t i e r o r l a b e l s h a l l p r e c e d e a l l a p p l i e d o c c u r r e n c e s o f t h a t i d e n t i e r  

o r l a b e l   c o n t a i n e d   b y t h e p r o g r a m - b l o c k w i t h o n e e x c e p t i o n , n a m e l y t h a t a n i d e n t i e r c a n h a v e a n  

a p p l i e d o c c u r r e n c e   i n  t h e t y p e - i d e n t i e r   o f  t h e d o m a i n - t y p e   o f  a n y n e w - p o i n t e r - t y p e s   c o n t a i n e d   b y 

t h e t y p e - d e n i t i o n - p a r t c o n t a i n i n g t h e d e n i n g - p o i n t o f t h e t y p e - i d e n t i e r .  

6 . 2 . 2 . 1 0  

R e q u i r e d i d e n t i e r s t h a t d e n o t e r e q u i r e d v a l u e s , t y p e s , p r o c e d u r e s , a n d f u n c t i o n s s h a l l b e u s e d a s i f  

t h e i r d e n i n g - p o i n t s h a v e a r e g i o n e n c l o s i n g t h e p r o g r a m ( s e e   6 . 1 . 3   ,  6 . 3  ,  6 . 4 . 1   , a n d   6 . 6 . 4 . 1   ) . 

N O T E | T h e r e q u i r e d i d e n t i e r s   i n p u t   a n d  o u t p u t   a r e n o t i n c l u d e d , s i n c e t h e s e d e n o t e v a r i a b l e s .  

1 2 

Page 19: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 19/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 2 . 2 . 1 1  

W h a t e v e r a n i d e n t i e r o r l a b e l d e n o t e s a t i t s d e n i n g - p o i n t s h a l l b e d e n o t e d a t a l l a p p l i e d o c c u r r e n c e s  

o f t h a t i d e n t i e r o r l a b e l .  

N O T E S  

1 W i t h i n s y n t a x d e n i t i o n s , a n a p p l i e d o c c u r r e n c e o f a n i d e n t i e r i s q u a l i e d ( e . g . , t y p e - i d e n t i e r ) , w h e r e a s  

a u s e t h a t c o n s t i t u t e s a d e n i n g - p o i n t i s n o t q u a l i e d .  

2 I t i s i n t e n d e d t h a t s u c h q u a l i c a t i o n i n d i c a t e s t h e n a t u r e o f t h e e n t i t y d e n o t e d b y t h e a p p l i e d o c c u r r e n c e :  

e . g . , a c o n s t a n t - i d e n t i e r d e n o t e s a c o n s t a n t .  

6 . 2 . 3 A c t i v a t i o n s  

6 . 2 . 3 . 1  

A p r o c e d u r e - i d e n t i e r o r f u n c t i o n - i d e n t i e r h a v i n g a d e n i n g - p o i n t f o r a r e g i o n t h a t i s a b l o c k w i t h i n  

t h e p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t o f t h a t b l o c k s h a l l b e d e s i g n a t e d   l o c a l   t o t h a t b l o c k .  

6 . 2 . 3 . 2  

T h e a c t i v a t i o n o f a b l o c k s h a l l c o n t a i n  

a ) f o r t h e s t a t e m e n t - p a r t   o f  t h e b l o c k , a n a l g o r i t h m , t h e c o m p l e t i o n o f w h i c h s h a l l t e r m i n a t e t h e  

a c t i v a t i o n ( s e e a l s o   6 . 8 . 2 . 4   )  

b ) f o r e a c h d e n i n g - p o i n t o f a l a b e l   i n  t h e l a b e l - d e c l a r a t i o n - p a r t   o f  t h e b l o c k , a c o r r e s p o n d i n g  

p r o g r a m - p o i n t ( s e e   6 . 2 . 1   )  

c ) f o r e a c h v a r i a b l e - i d e n t i e r h a v i n g a d e n i n g - p o i n t f o r t h e r e g i o n t h a t i s t h e b l o c k , a v a r i a b l e  

p o s s e s s i n g t h e t y p e a s s o c i a t e d w i t h t h e v a r i a b l e - i d e n t i e r  

d ) f o r e a c h p r o c e d u r e - i d e n t i e r l o c a l t o t h e b l o c k , a p r o c e d u r e w i t h t h e p r o c e d u r e - b l o c k c o r r e s p o n d i n g  

t o t h e p r o c e d u r e - i d e n t i e r , a n d t h e f o r m a l - p a r a m e t e r s o f t h a t p r o c e d u r e - b l o c k  

e ) f o r e a c h f u n c t i o n - i d e n t i e r l o c a l t o t h e b l o c k , a f u n c t i o n w i t h t h e f u n c t i o n - b l o c k c o r r e s p o n d i n g  

t o , a n d t h e r e s u l t t y p e a s s o c i a t e d w i t h , t h e f u n c t i o n - i d e n t i e r , a n d t h e f o r m a l - p a r a m e t e r s o f  

t h a t f u n c t i o n - b l o c k  

f ) i f t h e b l o c k i s a f u n c t i o n - b l o c k , a r e s u l t p o s s e s s i n g t h e a s s o c i a t e d r e s u l t t y p e .  

N O T E | E a c h a c t i v a t i o n c o n t a i n s i t s o w n a l g o r i t h m , p r o g r a m - p o i n t s , v a r i a b l e s , p r o c e d u r e s , a n d f u n c t i o n s ,  

d i s t i n c t f r o m e v e r y o t h e r a c t i v a t i o n .  

6 . 2 . 3 . 3  

T h e a c t i v a t i o n o f a p r o c e d u r e o r f u n c t i o n s h a l l b e a n a c t i v a t i o n o f t h e b l o c k   o f  t h e p r o c e d u r e - b l o c k  

o f t h e p r o c e d u r e o r f u n c t i o n - b l o c k o f t h e f u n c t i o n , r e s p e c t i v e l y , a n d s h a l l b e d e s i g n a t e d a s   w i t h i n  

a ) t h e a c t i v a t i o n c o n t a i n i n g t h e p r o c e d u r e o r f u n c t i o n a n d  

1 3 

Page 20: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 20/98

Page 21: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 21/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 4 T y p e - d e n i t i o n s  

6 . 4 . 1 G e n e r a l  

A t y p e - d e n i t i o n s h a l l i n t r o d u c e a n i d e n t i e r t o d e n o t e a t y p e . T y p e s h a l l b e a n a t t r i b u t e t h a t i s  

p o s s e s s e d b y e v e r y v a l u e a n d e v e r y v a r i a b l e . E a c h o c c u r r e n c e o f a n e w - t y p e s h a l l d e n o t e a t y p e t h a t  

i s d i s t i n c t f r o m a n y o t h e r n e w - t y p e .  

t y p e - d e n i t i o n = i d e n t i e r `  =  ' t y p e - d e n o t e r .  

t y p e - d e n o t e r = t y p e - i d e n t i e r   j  n e w - t y p e .  

n e w - t y p e = n e w - o r d i n a l - t y p e   j  n e w - s t r u c t u r e d - t y p e   j  n e w - p o i n t e r - t y p e .  

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  a t y p e - d e n i t i o n   o f  a t y p e - d e n i t i o n - p a r t   o f  a b l o c k s h a l l c o n s t i t u t e  

i t s d e n i n g - p o i n t f o r t h e r e g i o n t h a t i s t h e b l o c k . E a c h a p p l i e d o c c u r r e n c e o f t h a t i d e n t i e r s h a l l  

b e a t y p e - i d e n t i e r a n d s h a l l d e n o t e t h e s a m e t y p e a s t h a t w h i c h i s d e n o t e d b y t h e t y p e - d e n o t e r   o f 

t h e t y p e - d e n i t i o n . E x c e p t f o r a p p l i e d o c c u r r e n c e s i n t h e d o m a i n - t y p e   o f  a n e w - p o i n t e r - t y p e , t h e  

t y p e - d e n o t e r s h a l l n o t c o n t a i n a n a p p l i e d o c c u r r e n c e o f t h e i d e n t i e r   i n  t h e t y p e - d e n i t i o n .  

T y p e s s h a l l b e c l a s s i e d a s s i m p l e - t y p e s , s t r u c t u r e d - t y p e s o r p o i n t e r - t y p e s . T h e r e q u i r e d t y p e -  

i d e n t i e r s a n d c o r r e s p o n d i n g r e q u i r e d t y p e s s h a l l b e a s s p e c i e d i n   6 . 4 . 2 . 2   a n d  6 . 4 . 3 . 5   . 

s i m p l e - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

s t r u c t u r e d - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

p o i n t e r - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

t y p e - i d e n t i e r = i d e n t i e r .  

A t y p e - i d e n t i e r s h a l l b e c o n s i d e r e d a s a s i m p l e - t y p e - i d e n t i e r , a s t r u c t u r e d - t y p e - i d e n t i e r , o r a  

p o i n t e r - t y p e - i d e n t i e r , a c c o r d i n g t o t h e t y p e t h a t i t d e n o t e s .  

6 . 4 . 2 S i m p l e - t y p e s  

6 . 4 . 2 . 1 G e n e r a l  

A s i m p l e - t y p e s h a l l d e t e r m i n e a n o r d e r e d s e t o f v a l u e s . A v a l u e o f a n o r d i n a l - t y p e s h a l l h a v e a n  

i n t e g e r o r d i n a l n u m b e r t h e o r d e r i n g r e l a t i o n s h i p b e t w e e n a n y t w o s u c h v a l u e s o f o n e t y p e s h a l l b e t h e  

s a m e a s t h a t b e t w e e n t h e i r o r d i n a l n u m b e r s . A n o r d i n a l - t y p e - i d e n t i e r s h a l l d e n o t e a n o r d i n a l - t y p e .  

A r e a l - t y p e - i d e n t i e r s h a l l d e n o t e t h e r e a l - t y p e .  

s i m p l e - t y p e = o r d i n a l - t y p e   j  r e a l - t y p e - i d e n t i e r .  

o r d i n a l - t y p e = n e w - o r d i n a l - t y p e   j  o r d i n a l - t y p e - i d e n t i e r .  

n e w - o r d i n a l - t y p e = e n u m e r a t e d - t y p e   j  s u b r a n g e - t y p e .  

o r d i n a l - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

1 5 

Page 22: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 22/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

r e a l - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 4 . 2 . 2 R e q u i r e d s i m p l e - t y p e s  

T h e f o l l o w i n g t y p e s s h a l l e x i s t  

a )  i n t e g e r - t y p e   . T h e r e q u i r e d t y p e - i d e n t i e r   i n t e g e r   s h a l l d e n o t e t h e i n t e g e r - t y p e . T h e i n t e g e r -  

t y p e s h a l l b e a n o r d i n a l - t y p e . T h e v a l u e s s h a l l b e a s u b s e t o f t h e w h o l e n u m b e r s , d e n o t e d  

a s s p e c i e d i n   6 . 1 . 5   b y s i g n e d - i n t e g e r ( s e e a l s o   6 . 7 . 2 . 2   ) . T h e o r d i n a l n u m b e r o f a v a l u e o f  

i n t e g e r - t y p e s h a l l b e t h e v a l u e i t s e l f .  

b )  r e a l - t y p e   . T h e r e q u i r e d t y p e - i d e n t i e r   r e a l   s h a l l d e n o t e t h e r e a l - t y p e . T h e r e a l - t y p e s h a l l  

b e a s i m p l e - t y p e . T h e v a l u e s s h a l l b e a n i m p l e m e n t a t i o n - d e n e d s u b s e t o f t h e r e a l n u m b e r s ,  

d e n o t e d a s s p e c i e d i n   6 . 1 . 5   b y s i g n e d - r e a l .  

c )  B o o l e a n - t y p e  . T h e r e q u i r e d t y p e - i d e n t i e r   B o o l e a n   s h a l l d e n o t e t h e B o o l e a n - t y p e . T h e  

B o o l e a n - t y p e s h a l l b e a n o r d i n a l - t y p e . T h e v a l u e s s h a l l b e t h e e n u m e r a t i o n o f t r u t h v a l u e s  

d e n o t e d b y t h e r e q u i r e d c o n s t a n t - i d e n t i e r s   f a l s e   a n d  t r u e  , s u c h t h a t   f a l s e   i s t h e p r e d e c e s s o r  

o f  t r u e   . T h e o r d i n a l n u m b e r s o f t h e t r u t h v a l u e s d e n o t e d b y   f a l s e   a n d  t r u e   s h a l l b e t h e  

i n t e g e r v a l u e s 0 a n d 1 r e s p e c t i v e l y .  

d )  c h a r - t y p e   . T h e r e q u i r e d t y p e - i d e n t i e r   c h a r   s h a l l d e n o t e t h e c h a r - t y p e . T h e c h a r - t y p e  

s h a l l b e a n o r d i n a l - t y p e . T h e v a l u e s s h a l l b e t h e e n u m e r a t i o n o f a s e t o f i m p l e m e n t a t i o n -  

d e n e d c h a r a c t e r s , s o m e p o s s i b l y w i t h o u t g r a p h i c r e p r e s e n t a t i o n s . T h e o r d i n a l n u m b e r s o f  

t h e c h a r a c t e r v a l u e s s h a l l b e v a l u e s o f i n t e g e r - t y p e t h a t a r e i m p l e m e n t a t i o n - d e n e d a n d t h a t  

a r e d e t e r m i n e d b y m a p p i n g t h e c h a r a c t e r v a l u e s o n t o c o n s e c u t i v e n o n - n e g a t i v e i n t e g e r v a l u e s  

s t a r t i n g a t z e r o . T h e f o l l o w i n g r e l a t i o n s s h a l l h o l d .  

1 ) T h e s u b s e t o f c h a r a c t e r v a l u e s r e p r e s e n t i n g t h e d i g i t s 0 t o 9 s h a l l b e n u m e r i c a l l y o r d e r e d  

a n d c o n t i g u o u s .  

2 ) T h e s u b s e t o f c h a r a c t e r v a l u e s r e p r e s e n t i n g t h e u p p e r c a s e l e t t e r s A t o Z , i f a v a i l a b l e ,  

s h a l l b e a l p h a b e t i c a l l y o r d e r e d b u t n o t n e c e s s a r i l y c o n t i g u o u s .  

3 ) T h e s u b s e t o f c h a r a c t e r v a l u e s r e p r e s e n t i n g t h e l o w e r c a s e l e t t e r s a t o z , i f a v a i l a b l e , s h a l l  

b e a l p h a b e t i c a l l y o r d e r e d b u t n o t n e c e s s a r i l y c o n t i g u o u s .  

N O T E | O p e r a t o r s a p p l i c a b l e t o t h e r e q u i r e d s i m p l e - t y p e s a r e s p e c i e d i n   6 . 7 . 2  

6 . 4 . 2 . 3 E n u m e r a t e d - t y p e s  

e n u m e r a t e d - t y p e = `  (  ' i d e n t i e r - l i s t `  )  ' . 

i d e n t i e r - l i s t = i d e n t i e r   f   ̀ ,  ' i d e n t i e r   g  . 

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e i d e n t i e r - l i s t   o f  a n e n u m e r a t e d - t y p e s h a l l c o n s t i t u t e i t s  

d e n i n g - p o i n t f o r t h e r e g i o n t h a t i s t h e b l o c k   c l o s e s t - c o n t a i n i n g   t h e e n u m e r a t e d - t y p e . E a c h a p p l i e d  

o c c u r r e n c e o f t h e i d e n t i e r s h a l l b e a c o n s t a n t - i d e n t i e r . W i t h i n a n a c t i v a t i o n o f t h e b l o c k , a l l  

a p p l i e d o c c u r r e n c e s o f t h a t i d e n t i e r s h a l l p o s s e s s t h e t y p e d e n o t e d b y t h e e n u m e r a t e d - t y p e a n d  

1 6 

Page 23: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 23/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

s h a l l d e n o t e t h e t y p e ' s v a l u e w h o s e o r d i n a l n u m b e r i s t h e n u m b e r o f o c c u r r e n c e s o f i d e n t i e r s  

p r e c e d i n g t h a t i d e n t i e r   i n  t h e i d e n t i e r - l i s t .  

N O T E | E n u m e r a t e d t y p e c o n s t a n t s a r e o r d e r e d b y t h e s e q u e n c e i n w h i c h t h e y a r e d e n e d , a n d t h e y h a v e  

c o n s e c u t i v e o r d i n a l n u m b e r s s t a r t i n g a t z e r o .  

E x a m p l e s :  

( r e d , y e l l o w , g r e e n , b l u e , t a r t a n )  

( c l u b , d i a m o n d , h e a r t , s p a d e )  

( m a r r i e d , d i v o r c e d , w i d o w e d , s i n g l e )  

( s c a n n i n g , f o u n d , n o t p r e s e n t )  

( B u s y , I n t e r r u p t E n a b l e , P a r i t y E r r o r , O u t O f P a p e r , L i n e B r e a k )  

6 . 4 . 2 . 4 S u b r a n g e - t y p e s  

A s u b r a n g e - t y p e s h a l l i n c l u d e i d e n t i c a t i o n o f t h e s m a l l e s t a n d t h e l a r g e s t v a l u e i n t h e s u b r a n g e .  

T h e r s t c o n s t a n t   o f  a s u b r a n g e - t y p e s h a l l s p e c i f y t h e s m a l l e s t v a l u e , a n d t h i s s h a l l b e l e s s t h a n o r  

e q u a l t o t h e l a r g e s t v a l u e , w h i c h s h a l l b e s p e c i e d b y t h e s e c o n d c o n s t a n t   o f  t h e s u b r a n g e - t y p e . B o t h  

c o n s t a n t s s h a l l b e o f t h e s a m e o r d i n a l - t y p e , a n d t h a t o r d i n a l - t y p e s h a l l b e d e s i g n a t e d t h e   h o s t - t y p e  

o f t h e s u b r a n g e - t y p e .  

s u b r a n g e - t y p e = c o n s t a n t `   ' c o n s t a n t .  

E x a m p l e s :  

1 . . 1 0 0  

- 1 0 . . + 1 0  

r e d . . g r e e n  

' 0 ' . . ' 9 '  

6 . 4 . 3 S t r u c t u r e d - t y p e s  

6 . 4 . 3 . 1 G e n e r a l  

A n e w - s t r u c t u r e d - t y p e s h a l l b e c l a s s i e d a s a n a r r a y - t y p e , r e c o r d - t y p e , s e t - t y p e , o r l e - t y p e a c c o r d i n g  

t o t h e u n p a c k e d - s t r u c t u r e d - t y p e   c l o s e s t - c o n t a i n e d   b y t h e n e w - s t r u c t u r e d - t y p e . A c o m p o n e n t o f a  

v a l u e o f a s t r u c t u r e d - t y p e s h a l l b e a v a l u e .  

s t r u c t u r e d - t y p e = n e w - s t r u c t u r e d - t y p e   j  s t r u c t u r e d - t y p e - i d e n t i e r .  

n e w - s t r u c t u r e d - t y p e = `  p a c k e d   ' ] u n p a c k e d - s t r u c t u r e d - t y p e .  

u n p a c k e d - s t r u c t u r e d - t y p e = a r r a y - t y p e   j  r e c o r d - t y p e   j  s e t - t y p e   j  l e - t y p e .  

T h e o c c u r r e n c e o f t h e t o k e n p a c k e d i n a n e w - s t r u c t u r e d - t y p e s h a l l d e s i g n a t e t h e t y p e d e n o t e d  

t h e r e b y a s   p a c k e d   . T h e d e s i g n a t i o n o f a s t r u c t u r e d - t y p e a s p a c k e d s h a l l i n d i c a t e t o t h e p r o c e s s o r  

t h a t d a t a - s t o r a g e o f v a l u e s s h o u l d b e e c o n o m i z e d , e v e n i f t h i s c a u s e s o p e r a t i o n s o n , o r a c c e s s e s t o  

c o m p o n e n t s o f , v a r i a b l e s p o s s e s s i n g t h e t y p e t o b e l e s s e c i e n t i n t e r m s o f s p a c e o r t i m e .  

T h e d e s i g n a t i o n o f a s t r u c t u r e d - t y p e a s p a c k e d s h a l l a e c t t h e r e p r e s e n t a t i o n i n d a t a - s t o r a g e o f  

1 7 

Page 24: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 24/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

t h a t s t r u c t u r e d - t y p e o n l y i . e . , i f a c o m p o n e n t i s i t s e l f s t r u c t u r e d , t h e c o m p o n e n t ' s r e p r e s e n t a t i o n  

i n d a t a - s t o r a g e s h a l l b e p a c k e d o n l y i f t h e t y p e o f t h e c o m p o n e n t i s d e s i g n a t e d p a c k e d .  

N O T E | T h e w a y s i n w h i c h t h e t r e a t m e n t o f e n t i t i e s o f a t y p e i s a e c t e d b y w h e t h e r o r n o t t h e t y p e i s  

d e s i g n a t e d p a c k e d a r e s p e c i e d i n   6 . 4 . 3 . 2   ,  6 . 4 . 5   ,  6 . 6 . 3 . 3   ,  6 . 6 . 3 . 8   ,  6 . 6 . 5 . 4   , a n d   6 . 7 . 1  

6 . 4 . 3 . 2 A r r a y - t y p e s  

A n a r r a y - t y p e s h a l l b e s t r u c t u r e d a s a m a p p i n g f r o m e a c h v a l u e s p e c i e d b y i t s i n d e x - t y p e t o  

a d i s t i n c t c o m p o n e n t . E a c h c o m p o n e n t s h a l l h a v e t h e t y p e d e n o t e d b y t h e t y p e - d e n o t e r   o f  t h e 

c o m p o n e n t - t y p e   o f  t h e a r r a y - t y p e .  

a r r a y - t y p e = `  a r r a y   '  ̀   ' i n d e x - t y p e   f   ̀ ,  ' i n d e x - t y p e   g   ̀ ]  '  ̀ o f  ' c o m p o n e n t - t y p e .  

i n d e x - t y p e = o r d i n a l - t y p e .  

c o m p o n e n t - t y p e = t y p e - d e n o t e r .  

E x a m p l e 1 :  

a r r a y 1 . . 1 0 0 ] o f r e a l  

a r r a y B o o l e a n ] o f c o l o u r  

A n a r r a y - t y p e t h a t s p e c i e s a s e q u e n c e o f t w o o r m o r e i n d e x - t y p e s s h a l l b e a n a b b r e v i a t e d n o t a t i o n  

f o r a n a r r a y - t y p e s p e c i e d t o h a v e a s i t s i n d e x - t y p e t h e r s t i n d e x - t y p e i n t h e s e q u e n c e a n d t o h a v e a  

c o m p o n e n t - t y p e t h a t i s a n a r r a y - t y p e s p e c i f y i n g t h e s e q u e n c e o f i n d e x - t y p e s w i t h o u t t h e r s t i n d e x -  

t y p e i n t h e s e q u e n c e a n d s p e c i f y i n g t h e s a m e c o m p o n e n t - t y p e a s t h e o r i g i n a l s p e c i c a t i o n . T h e  

c o m p o n e n t - t y p e t h u s c o n s t r u c t e d s h a l l b e d e s i g n a t e d   p a c k e d   i f a n d o n l y i f t h e o r i g i n a l a r r a y - t y p e i s  

d e s i g n a t e d p a c k e d . T h e a b b r e v i a t e d f o r m a n d t h e f u l l f o r m s h a l l b e e q u i v a l e n t .  

N O T E | 1 E a c h o f t h e f o l l o w i n g t w o e x a m p l e s t h u s c o n t a i n s d i e r e n t w a y s o f e x p r e s s i n g i t s a r r a y - t y p e .  

E x a m p l e 2 :  

a r r a y B o o l e a n ] o f a r r a y 1 . . 1 0 ] o f a r r a y s i z e ] o f r e a l  

a r r a y B o o l e a n ] o f a r r a y 1 . . 1 0 , s i z e ] o f r e a l  

a r r a y B o o l e a n , 1 . . 1 0 , s i z e ] o f r e a l  

a r r a y B o o l e a n , 1 . . 1 0 ] o f a r r a y s i z e ] o f r e a l  

E x a m p l e 3 :  

p a c k e d a r r a y 1 . . 1 0 , 1 . . 8 ] o f B o o l e a n  

p a c k e d a r r a y 1 . . 1 0 ] o f p a c k e d a r r a y 1 . . 8 ] o f B o o l e a n  

L e t  i  d e n o t e a v a l u e o f t h e i n d e x - t y p e l e t V  

d e n o t e a v a l u e o f t h a t c o m p o n e n t o f t h e a r r a y - t y p e  

t h a t c o r r e s p o n d s t o t h e v a l u e   i  b y t h e s t r u c t u r e o f t h e a r r a y - t y p e l e t t h e s m a l l e s t a n d l a r g e s t v a l u e s  

s p e c i e d b y t h e i n d e x - t y p e b e d e n o t e d b y m a n d n , r e s p e c t i v e l y a n d l e t k = ( o r d ( n ) - o r d ( m ) + 1 )  

d e n o t e t h e n u m b e r o f v a l u e s s p e c i e d b y t h e i n d e x - t y p e t h e n t h e v a l u e s o f t h e a r r a y - t y p e s h a l l b e  

t h e d i s t i n c t k - t u p l e s o f t h e f o r m  

( V 

, . . . , V  

)

1 8 

Page 25: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 25/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

N O T E | 2 A v a l u e o f a n a r r a y - t y p e d o e s n o t t h e r e f o r e e x i s t u n l e s s a l l o f i t s c o m p o n e n t - v a l u e s a r e d e n e d .  

I f t h e c o m p o n e n t - t y p e h a s c v a l u e s , t h e n i t f o l l o w s t h a t t h e c a r d i n a l i t y o f t h e s e t o f v a l u e s o f t h e a r r a y - t y p e  

i s c r a i s e d t o t h e p o w e r k .  

A n y t y p e d e s i g n a t e d p a c k e d a n d d e n o t e d b y a n a r r a y - t y p e h a v i n g a s i t s i n d e x - t y p e a d e n o t a t i o n o f  

a s u b r a n g e - t y p e s p e c i f y i n g a s m a l l e s t v a l u e o f 1 a n d a l a r g e s t v a l u e o f g r e a t e r t h a n 1 , a n d h a v i n g a s  

i t s c o m p o n e n t - t y p e a d e n o t a t i o n o f t h e c h a r - t y p e , s h a l l b e d e s i g n a t e d a   s t r i n g - t y p e   . 

T h e c o r r e s p o n d e n c e o f c h a r a c t e r - s t r i n g s t o v a l u e s o f s t r i n g - t y p e s i s o b t a i n e d b y r e l a t i n g t h e i n d i v i d u a l  

s t r i n g - e l e m e n t s o f t h e c h a r a c t e r - s t r i n g , t a k e n i n t e x t u a l o r d e r , t o t h e c o m p o n e n t s o f t h e v a l u e s o f  

t h e s t r i n g - t y p e i n o r d e r o f i n c r e a s i n g i n d e x .  

N O T E | 3 T h e v a l u e s o f a s t r i n g - t y p e p o s s e s s a d d i t i o n a l p r o p e r t i e s w h i c h a l l o w w r i t i n g t h e m t o t e x t l e s  

( s e e   6 . 9 . 3 . 6   ) a n d d e n e t h e i r u s e w i t h r e l a t i o n a l - o p e r a t o r s ( s e e   6 . 7 . 2 . 5   )

6 . 4 . 3 . 3 R e c o r d - t y p e s  

T h e s t r u c t u r e a n d v a l u e s o f a r e c o r d - t y p e s h a l l b e t h e s t r u c t u r e a n d v a l u e s o f t h e e l d - l i s t o f t h e  

r e c o r d - t y p e .  

r e c o r d - t y p e = `  r e c o r d   ' e l d - l i s t `  e n d  ' . 

e l d - l i s t = ( x e d - p a r t `    ' v a r i a n t - p a r t ]   j  v a r i a n t - p a r t ) `    ' ] ] .  

x e d - p a r t = r e c o r d - s e c t i o n   f   ̀   ' r e c o r d - s e c t i o n   g  . 

r e c o r d - s e c t i o n = i d e n t i e r - l i s t `  :  ' t y p e - d e n o t e r .  

e l d - i d e n t i e r = i d e n t i e r .  

v a r i a n t - p a r t = `  c a s e   ' v a r i a n t - s e l e c t o r `  o f  ' v a r i a n t   f   ̀   ' v a r i a n t   g  . 

v a r i a n t - s e l e c t o r = t a g - e l d `  :  ' ] t a g - t y p e .  

t a g - e l d = i d e n t i e r .  

v a r i a n t = c a s e - c o n s t a n t - l i s t `  :  '  ̀ (  ' e l d - l i s t `  )  ' . 

t a g - t y p e = o r d i n a l - t y p e - i d e n t i e r .  

c a s e - c o n s t a n t - l i s t = c a s e - c o n s t a n t   f   ̀ ,  ' c a s e - c o n s t a n t   g  . 

c a s e - c o n s t a n t = c o n s t a n t .  

A e l d - l i s t   c o n t a i n i n g   n e i t h e r a x e d - p a r t n o r a v a r i a n t - p a r t s h a l l h a v e n o c o m p o n e n t s , s h a l l d e n e  

a s i n g l e n u l l v a l u e , a n d s h a l l b e d e s i g n a t e d   e m p t y  . 

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e i d e n t i e r - l i s t   o f  a r e c o r d - s e c t i o n   o f  a x e d - p a r t   o f  a e l d - l i s t  

s h a l l c o n s t i t u t e i t s d e n i n g - p o i n t a s a e l d - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e r e c o r d - t y p e   c l o s e s t -  

c o n t a i n i n g   t h e e l d - l i s t a n d s h a l l a s s o c i a t e t h e e l d - i d e n t i e r w i t h a d i s t i n c t c o m p o n e n t , w h i c h s h a l l  

b e d e s i g n a t e d a     e l d   , o f t h e r e c o r d - t y p e a n d o f t h e e l d - l i s t . T h a t c o m p o n e n t s h a l l h a v e t h e t y p e  

1 9 

Page 26: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 26/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

d e n o t e d b y t h e t y p e - d e n o t e r   o f  t h e r e c o r d - s e c t i o n .  

T h e e l d - l i s t   c l o s e s t - c o n t a i n i n g   a v a r i a n t - p a r t s h a l l h a v e a d i s t i n c t c o m p o n e n t t h a t s h a l l h a v e t h e  

v a l u e s a n d s t r u c t u r e d e n e d b y t h e v a r i a n t - p a r t .  

L e t V  

d e n o t e t h e v a l u e o f t h e   i  - t h c o m p o n e n t o f a n o n - e m p t y e l d - l i s t h a v i n g m c o m p o n e n t s t h e n  

t h e v a l u e s o f t h e e l d - l i s t s h a l l b e d i s t i n c t m - t u p l e s o f t h e f o r m  

( V 

, V 

, . . . , V  

)

N O T E | 1 I f t h e t y p e o f t h e   i  - t h c o m p o n e n t h a s F  

v a l u e s , t h e n t h e c a r d i n a l i t y o f t h e s e t o f v a l u e s o f t h e  

e l d - l i s t i s ( F  

* F 

* . . . * F  

)

A t a g - t y p e s h a l l b e t h e t y p e d e n o t e d b y t h e o r d i n a l - t y p e - i d e n t i e r   o f  t h e t a g - t y p e . A c a s e - c o n s t a n t  

s h a l l d e n o t e t h e v a l u e d e n o t e d b y t h e c o n s t a n t   o f  t h e c a s e - c o n s t a n t .  

T h e t y p e o f e a c h c a s e - c o n s t a n t i n t h e c a s e - c o n s t a n t - l i s t o f a v a r i a n t o f a v a r i a n t - p a r t s h a l l b e  

c o m p a t i b l e w i t h t h e t a g - t y p e   o f  t h e v a r i a n t - s e l e c t o r   o f  t h e v a r i a n t - p a r t . T h e v a l u e s d e n o t e d b y  

a l l c a s e - c o n s t a n t s o f a t y p e t h a t i s r e q u i r e d t o b e c o m p a t i b l e w i t h a g i v e n t a g - t y p e s h a l l b e d i s t i n c t  

a n d t h e s e t t h e r e o f s h a l l b e e q u a l t o t h e s e t o f v a l u e s s p e c i e d b y t h e t a g - t y p e . T h e v a l u e s d e n o t e d  

b y t h e c a s e - c o n s t a n t s   o f  t h e c a s e - c o n s t a n t - l i s t o f a v a r i a n t s h a l l b e d e s i g n a t e d a s c o r r e s p o n d i n g t o  

t h e v a r i a n t .  

W i t h e a c h v a r i a n t - p a r t s h a l l b e a s s o c i a t e d a t y p e d e s i g n a t e d t h e   s e l e c t o r - t y p e   p o s s e s s e d b y t h e  

v a r i a n t - p a r t . I f t h e v a r i a n t - s e l e c t o r   o f  t h e v a r i a n t - p a r t   c o n t a i n s   a t a g - e l d , o r i f t h e c a s e - c o n s t a n t -  

l i s t o f e a c h v a r i a n t   o f  t h e v a r i a n t - p a r t c o n t a i n s o n l y o n e c a s e - c o n s t a n t , t h e n t h e s e l e c t o r - t y p e s h a l l  

b e d e n o t e d b y t h e t a g - t y p e , a n d e a c h v a r i a n t   o f  t h e v a r i a n t - p a r t s h a l l b e a s s o c i a t e d w i t h t h o s e  

v a l u e s s p e c i e d b y t h e s e l e c t o r - t y p e d e n o t e d b y t h e c a s e - c o n s t a n t s   o f  t h e c a s e - c o n s t a n t - l i s t o f t h e  

v a r i a n t . O t h e r w i s e , t h e s e l e c t o r - t y p e p o s s e s s e d b y t h e v a r i a n t - p a r t s h a l l b e a n e w o r d i n a l - t y p e t h a t  

i s c o n s t r u c t e d t o p o s s e s s e x a c t l y o n e v a l u e f o r e a c h v a r i a n t   o f  t h e v a r i a n t - p a r t , a n d n o o t h e r s , a n d  

e a c h s u c h v a r i a n t s h a l l b e a s s o c i a t e d w i t h a d i s t i n c t v a l u e o f t h a t t y p e .  

E a c h v a r i a n t - p a r t s h a l l h a v e a c o m p o n e n t w h i c h s h a l l b e d e s i g n a t e d t h e   s e l e c t o r   o f t h e v a r i a n t - p a r t ,  

a n d w h i c h s h a l l p o s s e s s t h e s e l e c t o r - t y p e o f t h e v a r i a n t - p a r t . I f t h e v a r i a n t - s e l e c t o r   o f  t h e v a r i a n t - p a r t  

c o n t a i n s a t a g - e l d , t h e n t h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e t a g - e l d s h a l l c o n s t i t u t e t h e d e n i n g -  

p o i n t o f t h e i d e n t i e r a s a e l d - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e r e c o r d - t y p e   c l o s e s t - c o n t a i n i n g   t h e 

v a r i a n t - p a r t a n d s h a l l a s s o c i a t e t h e e l d - i d e n t i e r w i t h t h e s e l e c t o r o f t h e v a r i a n t - p a r t . T h e s e l e c t o r  

s h a l l b e d e s i g n a t e d a     e l d   o f t h e r e c o r d - t y p e i f a n d o n l y i f i t i s a s s o c i a t e d w i t h a e l d - i d e n t i e r .  

E a c h v a r i a n t   o f  a v a r i a n t - p a r t s h a l l d e n o t e a d i s t i n c t c o m p o n e n t o f t h e v a r i a n t - p a r t t h e c o m p o n e n t  

s h a l l h a v e t h e v a l u e s a n d s t r u c t u r e o f t h e e l d - l i s t o f t h e v a r i a n t , a n d s h a l l b e a s s o c i a t e d w i t h t h o s e  

v a l u e s s p e c i e d b y t h e s e l e c t o r - t y p e p o s s e s s e d b y t h e v a r i a n t - p a r t a s s o c i a t e d w i t h t h e v a r i a n t . T h e  

v a l u e o f t h e s e l e c t o r   o f  t h e v a r i a n t - p a r t s h a l l c a u s e t h e a s s o c i a t e d v a r i a n t a n d c o m p o n e n t o f t h e  

v a r i a n t - p a r t t o b e i n a s t a t e t h a t s h a l l b e d e s i g n a t e d   a c t i v e   . 

T h e v a l u e s o f a v a r i a n t - p a r t s h a l l b e t h e d i s t i n c t p a i r s  

(  k  , X 

w h e r e   k  r e p r e s e n t s a v a l u e o f t h e s e l e c t o r   o f  t h e v a r i a n t - p a r t , a n d X  

i s a v a l u e o f t h e e l d - l i s t o f  

2 0 

Page 27: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 27/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

t h e a c t i v e v a r i a n t o f t h e v a r i a n t - p a r t .  

N O T E S  

2 I f t h e r e a r e n v a l u e s s p e c i e d b y t h e s e l e c t o r - t y p e , a n d i f t h e e l d - l i s t o f t h e v a r i a n t a s s o c i a t e d w i t h t h e  

i  - t h v a l u e h a s T  

v a l u e s , t h e n t h e c a r d i n a l i t y o f t h e s e t o f v a l u e s o f t h e v a r i a n t - p a r t i s ( T  

+ T 

+ . . . +  

) . T h e r e i s n o c o m p o n e n t o f a v a l u e o f a v a r i a n t - p a r t c o r r e s p o n d i n g t o a n y n o n - a c t i v e v a r i a n t o f t h e  

v a r i a n t - p a r t .  

3 R e s t r i c t i o n s p l a c e d o n t h e u s e o f e l d s o f a r e c o r d - v a r i a b l e p e r t a i n i n g t o v a r i a n t - p a r t s a r e s p e c i e d i n  

6 . 5 . 3 . 3   ,  6 . 6 . 3 . 3   , a n d   6 . 6 . 5 . 3  

E x a m p l e s :  

r e c o r d  

y e a r : 0 . . 2 0 0 0  

m o n t h : 1 . . 1 2  

d a y : 1 . . 3 1  

e n d 

r e c o r d  

n a m e , f i r s t n a m e : s t r i n g  

a g e : 0 . . 9 9  

c a s e m a r r i e d : B o o l e a n o f  

t r u e : ( S p o u s e s n a m e : s t r i n g )  

f a l s e : ( )  

e n d 

r e c o r d  

x , y : r e a l  

a r e a : r e a l  

c a s e s h a p e o f  

t r i a n g l e :  

( s i d e : r e a l i n c l i n a t i o n , a n g l e 1 , a n g l e 2 : a n g l e )  

r e c t a n g l e :  

( s i d e 1 , s i d e 2 : r e a l s k e w : a n g l e )  

c i r c l e :  

( d i a m e t e r : r e a l )  

e n d 

6 . 4 . 3 . 4 S e t - t y p e s  

A s e t - t y p e s h a l l d e t e r m i n e t h e s e t o f v a l u e s t h a t i s s t r u c t u r e d a s t h e p o w e r s e t o f t h e b a s e - t y p e   o f 

t h e s e t - t y p e . T h u s , e a c h v a l u e o f a s e t - t y p e s h a l l b e a s e t w h o s e m e m b e r s s h a l l b e u n i q u e v a l u e s o f  

t h e b a s e - t y p e .  

s e t - t y p e = `  s e t  '  ̀ o f  ' b a s e - t y p e .  

b a s e - t y p e = o r d i n a l - t y p e .  

2 1 

Page 28: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 28/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

N O T E | 1 O p e r a t o r s a p p l i c a b l e t o v a l u e s o f s e t - t y p e s a r e s p e c i e d i n   6 . 7 . 2 . 4  

E x a m p l e s :  

s e t o f c h a r  

s e t o f ( c l u b , d i a m o n d , h e a r t , s p a d e )  

N O T E | 2 I f t h e b a s e - t y p e   o f  a s e t - t y p e h a s b v a l u e s , t h e n t h e c a r d i n a l i t y o f t h e s e t o f v a l u e s i s 2 r a i s e d  

t o t h e p o w e r b .  

F o r e a c h o r d i n a l - t y p e T t h a t i s n o t a s u b r a n g e - t y p e , t h e r e s h a l l e x i s t b o t h a n u n p a c k e d s e t -  

t y p e d e s i g n a t e d t h e   u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e   a n d a p a c k e d s e t - t y p e d e s i g n a t e d t h e   p a c k e d -  

c a n o n i c a l - s e t - o f - T - t y p e   . I f S i s a n y s u b r a n g e - t y p e a n d T i s i t s h o s t - t y p e , t h e n t h e s e t o f v a l u e s  

d e t e r m i n e d b y t h e t y p e   s e t o f S   s h a l l b e i n c l u d e d i n t h e s e t s o f v a l u e s d e t e r m i n e d b y t h e u n p a c k e d -  

c a n o n i c a l - s e t - o f - T - t y p e a n d b y t h e p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e ( s e e   6 . 7 . 1   ) . 

6 . 4 . 3 . 5 F i l e - t y p e s  

N O T E | 1 A l e - t y p e d e s c r i b e s s e q u e n c e s o f v a l u e s o f t h e s p e c i e d c o m p o n e n t - t y p e , t o g e t h e r w i t h a c u r r e n t  

p o s i t i o n i n e a c h s e q u e n c e a n d a m o d e t h a t i n d i c a t e s w h e t h e r t h e s e q u e n c e i s b e i n g i n s p e c t e d o r g e n e r a t e d .  

l e - t y p e = `   l e  '  ̀ o f  ' c o m p o n e n t - t y p e .  

A t y p e - d e n o t e r s h a l l n o t b e p e r m i s s i b l e a s t h e c o m p o n e n t - t y p e   o f  a l e - t y p e i f i t d e n o t e s e i t h e r a  

l e - t y p e o r a s t r u c t u r e d - t y p e h a v i n g a n y c o m p o n e n t w h o s e t y p e - d e n o t e r i s n o t p e r m i s s i b l e a s t h e  

c o m p o n e n t - t y p e   o f  a l e - t y p e .  

E x a m p l e s :  

f i l e o f r e a l  

f i l e o f v e c t o r  

A l e - t y p e s h a l l d e n e i m p l i c i t l y a t y p e d e s i g n a t e d a   s e q u e n c e - t y p e   h a v i n g e x a c t l y t h o s e v a l u e s ,  

w h i c h s h a l l b e d e s i g n a t e d   s e q u e n c e s  , d e n e d b y t h e f o l l o w i n g v e r u l e s i n i t e m s a ) t o e ) .  

N O T E | 2 T h e n o t a t i o n x ~ y r e p r e s e n t s t h e c o n c a t e n a t i o n o f s e q u e n c e s x a n d y . T h e e x p l i c i t r e p r e s e n t a t i o n  

o f s e q u e n c e s ( e . g . , S ( c ) ) , o f c o n c a t e n a t i o n o f s e q u e n c e s o f t h e r s t , l a s t , a n d r e s t s e l e c t o r s a n d o f s e q u e n c e  

e q u a l i t y i s n o t p a r t o f t h e P a s c a l l a n g u a g e . T h e s e n o t a t i o n s a r e u s e d t o d e n e l e v a l u e s , b e l o w , a n d t h e  

r e q u i r e d l e o p e r a t i o n s i n   6 . 6 . 5 . 2   a n d  6 . 6 . 6 . 5  

a ) S ( ) s h a l l b e a v a l u e o f t h e s e q u e n c e - t y p e S a n d s h a l l b e d e s i g n a t e d t h e   e m p t y s e q u e n c e  . T h e  

e m p t y s e q u e n c e s h a l l h a v e n o c o m p o n e n t s .  

b ) L e t c b e a v a l u e o f t h e s p e c i e d c o m p o n e n t - t y p e a n d l e t x b e a v a l u e o f t h e s e q u e n c e - t y p e S  

t h e n S ( c ) s h a l l b e a s e q u e n c e o f t y p e S , c o n s i s t i n g o f t h e s i n g l e c o m p o n e n t - v a l u e c , a n d b o t h  

S ( c ) ~ x a n d x ~ S ( c ) s h a l l b e s e q u e n c e s , d i s t i n c t f r o m S ( ) , o f t y p e S .  

c ) L e t c , S , a n d x b e a s i n b ) , l e t y d e n o t e t h e s e q u e n c e S ( c ) ~ x a n d l e t z d e n o t e t h e s e q u e n c e  

x ~ S ( c ) t h e n t h e n o t a t i o n y . r s t s h a l l d e n o t e c ( i . e . , t h e r s t c o m p o n e n t - v a l u e o f y ) , y . r e s t s h a l l  

d e n o t e x ( i . e . , t h e s e q u e n c e o b t a i n e d f r o m y b y d e l e t i n g t h e r s t c o m p o n e n t ) , a n d z . l a s t s h a l l  

d e n o t e c ( i . e . , t h e l a s t c o m p o n e n t - v a l u e o f z ) .  

2 2 

Page 29: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 29/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

d ) L e t x a n d y e a c h b e a n o n - e m p t y s e q u e n c e o f t y p e S t h e n x = y s h a l l b e t r u e i f a n d o n l y i f  

b o t h ( x . r s t = y . r s t ) a n d ( x . r e s t = y . r e s t ) a r e t r u e . I f x o r y i s t h e e m p t y s e q u e n c e , t h e n x  

= y s h a l l b e t r u e i f a n d o n l y i f b o t h x a n d y a r e t h e e m p t y s e q u e n c e .  

e ) L e t x , y , a n d z b e s e q u e n c e s o f t y p e S t h e n x ~ ( y ~ z ) = ( x ~ y ) ~ z , S ( ) ~ x = x , a n d x ~ S ( ) = x  

s h a l l b e t r u e .  

A l e - t y p e a l s o s h a l l d e n e i m p l i c i t l y a t y p e d e s i g n a t e d a   m o d e - t y p e   h a v i n g e x a c t l y t w o v a l u e s , w h i c h  

a r e d e s i g n a t e d   I n s p e c t i o n   a n d  G e n e r a t i o n   . 

N O T E | 3 T h e e x p l i c i t d e n o t a t i o n o f t h e v a l u e s   I n s p e c t i o n   a n d  G e n e r a t i o n   i s n o t p a r t o f t h e P a s c a l l a n g u a g e .  

A l e - t y p e s h a l l b e s t r u c t u r e d a s t h r e e c o m p o n e n t s . T w o o f t h e s e c o m p o n e n t s , d e s i g n a t e d f . L a n d  

f . R , s h a l l b e o f t h e i m p l i c i t s e q u e n c e - t y p e . T h e t h i r d c o m p o n e n t , d e s i g n a t e d f . M , s h a l l b e o f t h e  

i m p l i c i t m o d e - t y p e .  

L e t f . L a n d f . R e a c h b e a s i n g l e v a l u e o f t h e s e q u e n c e - t y p e a n d l e t f . M b e a s i n g l e v a l u e o f t h e  

m o d e - t y p e t h e n e a c h v a l u e o f t h e l e - t y p e s h a l l b e a d i s t i n c t t r i p l e o f t h e f o r m  

( f . L , f . R , f . M )  

w h e r e f . R s h a l l b e t h e e m p t y s e q u e n c e i f f . M i s t h e v a l u e G e n e r a t i o n . T h e v a l u e , f , o f t h e l e - t y p e  

s h a l l b e d e s i g n a t e d   e m p t y   i f a n d o n l y i f f . L ~ f . R i s t h e e m p t y s e q u e n c e .  

N O T E | 4 T h e t w o c o m p o n e n t s , f . L a n d f . R , o f a v a l u e o f t h e l e - t y p e m a y b e c o n s i d e r e d t o r e p r e s e n t t h e  

s i n g l e s e q u e n c e f . L ~ f . R t o g e t h e r w i t h a c u r r e n t p o s i t i o n i n t h a t s e q u e n c e . I f f . R i s n o n - e m p t y , t h e n f . R . r s t  

m a y b e c o n s i d e r e d t h e c u r r e n t c o m p o n e n t a s d e t e r m i n e d b y t h e c u r r e n t p o s i t i o n o t h e r w i s e , t h e c u r r e n t  

p o s i t i o n i s t h e e n d - o f - l e p o s i t i o n .  

T h e r e s h a l l b e a l e - t y p e t h a t i s d e n o t e d b y t h e r e q u i r e d s t r u c t u r e d - t y p e - i d e n t i e r   t e x t  . T h e  

s t r u c t u r e o f t h e t y p e d e n o t e d b y   t e x t   s h a l l d e n e a n a d d i t i o n a l s e q u e n c e - t y p e w h o s e v a l u e s s h a l l b e  

d e s i g n a t e d   l i n e s   . A l i n e s h a l l b e a s e q u e n c e c s ~ S ( e n d - o f - l i n e ) , w h e r e c s i s a s e q u e n c e o f c o m p o n e n t s  

p o s s e s s i n g t h e c h a r - t y p e , a n d   e n d - o f - l i n e   s h a l l r e p r e s e n t a s p e c i a l c o m p o n e n t - v a l u e . A n y a s s e r t i o n  

i n c l a u s e   6  t h a t t h e   e n d - o f - l i n e   v a l u e i s a t t r i b u t e d t o a v a r i a b l e o t h e r t h a n a c o m p o n e n t o f a s e q u e n c e  

s h a l l b e c o n s t r u e d a s a n a s s e r t i o n t h a t t h e v a r i a b l e h a s a t t r i b u t e d t o i t t h e c h a r - t y p e v a l u e s p a c e .  

I f l i s a l i n e , t h e n n o c o m p o n e n t o f l o t h e r t h a n l . l a s t s h a l l b e a n e n d - o f - l i n e . T h e r e s h a l l b e a n  

i m p l e m e n t a t i o n - d e n e d s u b s e t o f t h e s e t o f c h a r - t y p e v a l u e s , d e s i g n a t e d   c h a r a c t e r s p r o h i b i t e d f r o m  

t e x t l e s   t h e e e c t o f c a u s i n g a c h a r a c t e r i n t h a t s u b s e t t o b e a t t r i b u t e d t o a c o m p o n e n t o f e i t h e r  

t . L o r t . R f o r a n y t e x t l e t s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t .  

A  l i n e - s e q u e n c e  , l s , s h a l l b e e i t h e r t h e e m p t y s e q u e n c e o r t h e s e q u e n c e l ~ l s ' w h e r e l i s a l i n e a n d  

l s ' i s a l i n e - s e q u e n c e .  

E v e r y v a l u e t o f t h e t y p e d e n o t e d b y   t e x t   s h a l l s a t i s f y t h e f o l l o w i n g t w o r u l e s :  

a ) I f t . M = I n s p e c t i o n , t h e n t . L ~ t . R s h a l l b e a l i n e - s e q u e n c e .  

b ) I f t . M = G e n e r a t i o n , t h e n t . L ~ t . R s h a l l b e l s ~ c s , w h e r e l s i s a l i n e - s e q u e n c e a n d c s i s a  

s e q u e n c e o f c o m p o n e n t s p o s s e s s i n g t h e c h a r - t y p e .  

2 3 

Page 30: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 30/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

N O T E | 5 I n r u l e b ) , c s m a y b e c o n s i d e r e d , e s p e c i a l l y i f i t i s n o n - e m p t y , t o b e a p a r t i a l l i n e t h a t i s b e i n g  

g e n e r a t e d . S u c h a p a r t i a l l i n e c a n n o t o c c u r d u r i n g i n s p e c t i o n o f a l e . A l s o , c s d o e s n o t c o r r e s p o n d t o t . R ,  

s i n c e t . R i s t h e e m p t y s e q u e n c e i f t . M = G e n e r a t i o n .  

A v a r i a b l e t h a t p o s s e s s e s t h e t y p e d e n o t e d b y t h e r e q u i r e d t y p e - i d e n t i e r   t e x t   s h a l l b e d e s i g n a t e d  

a  t e x t l e   . 

N O T E | 6 A l l r e q u i r e d p r o c e d u r e s a n d f u n c t i o n s a p p l i c a b l e t o a v a r i a b l e o f t y p e     l e o f c h a r   a r e a p p l i c a b l e  

t o t e x t l e s . A d d i t i o n a l r e q u i r e d p r o c e d u r e s a n d f u n c t i o n s , a p p l i c a b l e o n l y t o t e x t l e s , a r e d e n e d i n   6 . 6 . 6 . 5  

a n d  6 . 9 

6 . 4 . 4 P o i n t e r - t y p e s  

T h e v a l u e s o f a p o i n t e r - t y p e s h a l l c o n s i s t o f a s i n g l e   n i l - v a l u e   a n d a s e t o f   i d e n t i f y i n g - v a l u e s   e a c h  

i d e n t i f y i n g a d i s t i n c t v a r i a b l e p o s s e s s i n g t h e d o m a i n - t y p e   o f  t h e n e w - p o i n t e r - t y p e . T h e s e t o f  

i d e n t i f y i n g - v a l u e s s h a l l b e d y n a m i c , i n t h a t t h e v a r i a b l e s a n d t h e v a l u e s i d e n t i f y i n g t h e m s h a l l b e  

p e r m i t t e d t o b e c r e a t e d a n d d e s t r o y e d d u r i n g t h e e x e c u t i o n o f t h e p r o g r a m . I d e n t i f y i n g - v a l u e s a n d  

t h e v a r i a b l e s i d e n t i e d b y t h e m s h a l l b e c r e a t e d o n l y b y t h e r e q u i r e d p r o c e d u r e   n e w  ( s e e   6 . 6 . 5 . 3   ) . 

N O T E | 1 S i n c e t h e n i l - v a l u e i s n o t a n i d e n t i f y i n g - v a l u e , i t d o e s n o t i d e n t i f y a v a r i a b l e .  

T h e t o k e n n i l s h a l l d e n o t e t h e n i l - v a l u e i n a l l p o i n t e r - t y p e s .  

p o i n t e r - t y p e = n e w - p o i n t e r - t y p e   j  p o i n t e r - t y p e - i d e n t i e r .  

n e w - p o i n t e r - t y p e = `  "  ' d o m a i n - t y p e .  

d o m a i n - t y p e = t y p e - i d e n t i e r .  

N O T E | 2 T h e t o k e n n i l d o e s n o t h a v e a s i n g l e t y p e , b u t a s s u m e s a s u i t a b l e p o i n t e r - t y p e t o s a t i s f y t h e  

a s s i g n m e n t - c o m p a t i b i l i t y r u l e s , o r t h e c o m p a t i b i l i t y r u l e s f o r o p e r a t o r s , i f p o s s i b l e .  

6 . 4 . 5 C o m p a t i b l e t y p e s  

T y p e s T 1 a n d T 2 s h a l l b e d e s i g n a t e d   c o m p a t i b l e   i f a n y o f t h e f o l l o w i n g f o u r s t a t e m e n t s i s t r u e :  

a ) T 1 a n d T 2 a r e t h e s a m e t y p e .  

b ) T 1 i s a s u b r a n g e o f T 2 , o r T 2 i s a s u b r a n g e o f T 1 , o r b o t h T 1 a n d T 2 a r e s u b r a n g e s o f t h e  

s a m e h o s t - t y p e .  

c ) T 1 a n d T 2 a r e s e t - t y p e s o f c o m p a t i b l e b a s e - t y p e s , a n d e i t h e r b o t h T 1 a n d T 2 a r e d e s i g n a t e d  

p a c k e d o r n e i t h e r T 1 n o r T 2 i s d e s i g n a t e d p a c k e d .  

d ) T 1 a n d T 2 a r e s t r i n g - t y p e s w i t h t h e s a m e n u m b e r o f c o m p o n e n t s .  

6 . 4 . 6 A s s i g n m e n t - c o m p a t i b i l i t y  

A v a l u e o f t y p e T 2 s h a l l b e d e s i g n a t e d   a s s i g n m e n t - c o m p a t i b l e   w i t h a t y p e T 1 i f a n y o f t h e f o l l o w i n g  

v e s t a t e m e n t s i s t r u e :  

2 4 

Page 31: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 31/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

a ) T 1 a n d T 2 a r e t h e s a m e t y p e , a n d t h a t t y p e i s p e r m i s s i b l e a s t h e c o m p o n e n t - t y p e   o f  a l e - t y p e  

( s e e   6 . 4 . 3 . 5   ) . 

b ) T 1 i s t h e r e a l - t y p e a n d T 2 i s t h e i n t e g e r - t y p e .  

c ) T 1 a n d T 2 a r e c o m p a t i b l e o r d i n a l - t y p e s , a n d t h e v a l u e o f t y p e T 2 i s i n t h e c l o s e d i n t e r v a l  

s p e c i e d b y t h e t y p e T 1 .  

d ) T 1 a n d T 2 a r e c o m p a t i b l e s e t - t y p e s , a n d a l l t h e m e m b e r s o f t h e v a l u e o f t y p e T 2 a r e i n t h e  

c l o s e d i n t e r v a l s p e c i e d b y t h e b a s e - t y p e o f T 1 .  

e ) T 1 a n d T 2 a r e c o m p a t i b l e s t r i n g - t y p e s .  

A t a n y p l a c e w h e r e t h e r u l e o f a s s i g n m e n t - c o m p a t i b i l i t y i s u s e d  

a ) i t s h a l l b e a n e r r o r i f T 1 a n d T 2 a r e c o m p a t i b l e o r d i n a l - t y p e s a n d t h e v a l u e o f t y p e T 2 i s n o t  

i n t h e c l o s e d i n t e r v a l s p e c i e d b y t h e t y p e T 1  

b ) i t s h a l l b e a n e r r o r i f T 1 a n d T 2 a r e c o m p a t i b l e s e t - t y p e s a n d a n y m e m b e r o f t h e v a l u e o f t y p e  

T 2 i s n o t i n t h e c l o s e d i n t e r v a l s p e c i e d b y t h e b a s e - t y p e o f t h e t y p e T 1 .  

A t a n y p l a c e w h e r e t h e r u l e o f a s s i g n m e n t - c o m p a t i b i l i t y i s u s e d t o r e q u i r e a v a l u e o f i n t e g e r - t y p e t o  

b e a s s i g n m e n t - c o m p a t i b l e w i t h a r e a l - t y p e , a n i m p l i c i t i n t e g e r - t o - r e a l c o n v e r s i o n s h a l l b e p e r f o r m e d .  

6 . 4 . 7 E x a m p l e o f a t y p e - d e n i t i o n - p a r t  

t y p e  

n a t u r a l = 0 . . m a x i n t  

c o u n t = i n t e g e r  

r a n g e = i n t e g e r  

c o l o u r = ( r e d , y e l l o w , g r e e n , b l u e )  

s e x = ( m a l e , f e m a l e )  

y e a r = 1 9 0 0 . . 1 9 9 9  

s h a p e = ( t r i a n g l e , r e c t a n g l e , c i r c l e )  

p u n c h e d c a r d = a r r a y 1 . . 8 0 ] o f c h a r  

c h a r s e q u e n c e = f i l e o f c h a r  

p o l a r = r e c o r d  

r : r e a l  

t h e t a : a n g l e  

e n d  

i n d e x t y p e = 1 . . l i m i t  

v e c t o r = a r r a y i n d e x t y p e ] o f r e a l  

p e r s o n =   "  p e r s o n d e t a i l s  

p e r s o n d e t a i l s = r e c o r d  

n a m e , f i r s t n a m e : c h a r s e q u e n c e  

a g e : n a t u r a l  

m a r r i e d : B o o l e a n  

2 5 

Page 32: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 32/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

f a t h e r , c h i l d , s i b l i n g : p e r s o n  

c a s e s : s e x o f  

m a l e :  

( e n l i s t e d , b e a r d e d : B o o l e a n )  

f e m a l e :  

( m o t h e r , p r o g r a m m e r : B o o l e a n )  

e n d  

F i l e O f I n t e g e r = f i l e o f i n t e g e r  

N O T E | I n t h e a b o v e e x a m p l e   c o u n t  ,  r a n g e  , a n d   i n t e g e r   d e n o t e t h e s a m e t y p e . T h e t y p e s d e n o t e d b y  

y e a r   a n d  n a t u r a l   a r e c o m p a t i b l e w i t h , b u t n o t t h e s a m e a s , t h e t y p e d e n o t e d b y   r a n g e  ,  c o u n t  , a n d   i n t e g e r  

6 . 5 D e c l a r a t i o n s a n d d e n o t a t i o n s o f v a r i a b l e s  

6 . 5 . 1 V a r i a b l e - d e c l a r a t i o n s  

A v a r i a b l e s h a l l b e a n e n t i t y t o w h i c h a v a l u e c a n b e a t t r i b u t e d ( s e e   6 . 8 . 2 . 2   ) . E a c h i d e n t i e r   i n  t h e 

i d e n t i e r - l i s t   o f  a v a r i a b l e - d e c l a r a t i o n s h a l l d e n o t e a d i s t i n c t v a r i a b l e p o s s e s s i n g t h e t y p e d e n o t e d  

b y t h e t y p e - d e n o t e r   o f  t h e v a r i a b l e - d e c l a r a t i o n .  

v a r i a b l e - d e c l a r a t i o n = i d e n t i e r - l i s t `  :  ' t y p e - d e n o t e r .  

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e i d e n t i e r - l i s t   o f  a v a r i a b l e - d e c l a r a t i o n   o f  t h e v a r i a b l e - d e c l a r a t i o n -  

p a r t   o f  a b l o c k s h a l l c o n s t i t u t e i t s d e n i n g - p o i n t a s a v a r i a b l e - i d e n t i e r f o r t h e r e g i o n t h a t i s  

t h e b l o c k . T h e s t r u c t u r e o f a v a r i a b l e p o s s e s s i n g a s t r u c t u r e d - t y p e s h a l l b e t h e s t r u c t u r e o f t h e  

s t r u c t u r e d - t y p e . A u s e o f a v a r i a b l e - a c c e s s s h a l l b e a n a c c e s s , a t t h e t i m e o f t h e u s e , t o t h e v a r i a b l e  

t h e r e b y d e n o t e d . A v a r i a b l e - a c c e s s , a c c o r d i n g t o w h e t h e r i t i s a n e n t i r e - v a r i a b l e , a c o m p o n e n t -  

v a r i a b l e , a n i d e n t i e d - v a r i a b l e , o r a b u e r - v a r i a b l e , s h a l l d e n o t e a d e c l a r e d v a r i a b l e , a c o m p o n e n t o f  

a v a r i a b l e , a v a r i a b l e t h a t i s i d e n t i e d b y a p o i n t e r v a l u e ( s e e   6 . 4 . 4   ) , o r a b u e r - v a r i a b l e , r e s p e c t i v e l y .  

v a r i a b l e - a c c e s s = e n t i r e - v a r i a b l e   j  c o m p o n e n t - v a r i a b l e   j  i d e n t i e d - v a r i a b l e  

j  b u e r - v a r i a b l e .  

E x a m p l e o f a v a r i a b l e - d e c l a r a t i o n - p a r t :  

v a r 

x , y , z , m a x : r e a l  

i , j : i n t e g e r  

k : 0 . . 9  

p , q , r : B o o l e a n  

o p e r a t o r : ( p l u s , m i n u s , t i m e s )  

a : a r r a y 0 . . 6 3 ] o f r e a l  

c : c o l o u r  

f : f i l e o f c h a r  

h u e 1 , h u e 2 : s e t o f c o l o u r  

p 1 , p 2 : p e r s o n  

2 6 

Page 33: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 33/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

m , m 1 , m 2 : a r r a y 1 . . 1 0 , 1 . . 1 0 ] o f r e a l  

c o o r d : p o l a r  

p o o l t a p e : a r r a y 1 . . 4 ] o f F i l e O f I n t e g e r  

d a t e : r e c o r d  

m o n t h : 1 . . 1 2  

y e a r : i n t e g e r  

e n d  

N O T E | V a r i a b l e s o c c u r r i n g i n e x a m p l e s i n t h e r e m a i n d e r o f t h i s I n t e r n a t i o n a l S t a n d a r d s h o u l d b e a s s u m e d  

t o h a v e b e e n d e c l a r e d a s s p e c i e d i n t h e a b o v e e x a m p l e .  

6 . 5 . 2 E n t i r e - v a r i a b l e s  

e n t i r e - v a r i a b l e = v a r i a b l e - i d e n t i e r .  

v a r i a b l e - i d e n t i e r = i d e n t i e r .  

6 . 5 . 3 C o m p o n e n t - v a r i a b l e s  

6 . 5 . 3 . 1 G e n e r a l  

A c o m p o n e n t o f a v a r i a b l e s h a l l b e a v a r i a b l e . A c o m p o n e n t - v a r i a b l e s h a l l d e n o t e a c o m p o n e n t o f  

a v a r i a b l e . A r e f e r e n c e o r a n a c c e s s t o a c o m p o n e n t o f a v a r i a b l e s h a l l c o n s t i t u t e a r e f e r e n c e o r a n  

a c c e s s , r e s p e c t i v e l y , t o t h e v a r i a b l e . T h e v a l u e , i f a n y , o f t h e c o m p o n e n t o f a v a r i a b l e s h a l l b e t h e  

s a m e c o m p o n e n t o f t h e v a l u e , i f a n y , o f t h e v a r i a b l e .  

c o m p o n e n t - v a r i a b l e = i n d e x e d - v a r i a b l e   j  e l d - d e s i g n a t o r .  

6 . 5 . 3 . 2 I n d e x e d - v a r i a b l e s  

A c o m p o n e n t o f a v a r i a b l e p o s s e s s i n g a n a r r a y - t y p e s h a l l b e d e n o t e d b y a n i n d e x e d - v a r i a b l e .  

i n d e x e d - v a r i a b l e = a r r a y - v a r i a b l e `    ' i n d e x - e x p r e s s i o n ,   f   ̀ ,  ' i n d e x - e x p r e s s i o n   g   ̀ ]  ' . 

a r r a y - v a r i a b l e = v a r i a b l e - a c c e s s .  

i n d e x - e x p r e s s i o n = e x p r e s s i o n .  

A n a r r a y - v a r i a b l e s h a l l b e a v a r i a b l e - a c c e s s t h a t d e n o t e s a v a r i a b l e p o s s e s s i n g a n a r r a y - t y p e . F o r a n  

i n d e x e d - v a r i a b l e   c l o s e s t - c o n t a i n i n g   a s i n g l e i n d e x - e x p r e s s i o n , t h e v a l u e o f t h e i n d e x - e x p r e s s i o n s h a l l  

b e a s s i g n m e n t - c o m p a t i b l e w i t h t h e i n d e x - t y p e o f t h e a r r a y - t y p e . T h e c o m p o n e n t d e n o t e d b y t h e  

i n d e x e d - v a r i a b l e s h a l l b e t h e c o m p o n e n t t h a t c o r r e s p o n d s t o t h e v a l u e o f t h e i n d e x - e x p r e s s i o n b y  

t h e m a p p i n g o f t h e t y p e p o s s e s s e d b y t h e a r r a y - v a r i a b l e ( s e e   6 . 4 . 3 . 2   ) . 

E x a m p l e 1 :  

a 1 2 ]  

a i + j ]  

2 7 

Page 34: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 34/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

m k ]  

I f t h e a r r a y - v a r i a b l e i s i t s e l f a n i n d e x e d - v a r i a b l e , a n a b b r e v i a t i o n s h a l l b e p e r m i t t e d . I n t h e  

a b b r e v i a t e d f o r m , a s i n g l e c o m m a s h a l l r e p l a c e t h e s e q u e n c e    ]   t h a t o c c u r s i n t h e f u l l f o r m . T h e  

a b b r e v i a t e d f o r m a n d t h e f u l l f o r m s h a l l b e e q u i v a l e n t .  

T h e o r d e r o f b o t h t h e e v a l u a t i o n o f t h e i n d e x - e x p r e s s i o n s   o f  , a n d t h e a c c e s s t o t h e a r r a y - v a r i a b l e   o f  , 

a n i n d e x e d - v a r i a b l e s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t .  

E x a m p l e 2 :  

m k ] 1 ]  

m k , 1 ]  

N O T E | T h e s e t w o e x a m p l e s d e n o t e t h e s a m e c o m p o n e n t - v a r i a b l e .  

6 . 5 . 3 . 3 F i e l d - d e s i g n a t o r s  

A e l d - d e s i g n a t o r e i t h e r s h a l l d e n o t e t h a t c o m p o n e n t o f t h e r e c o r d - v a r i a b l e o f t h e e l d - d e s i g n a t o r  

a s s o c i a t e d ( s e e   6 . 4 . 3 . 3   ) w i t h t h e e l d - i d e n t i e r   o f  t h e e l d - s p e c i e r   o f  t h e e l d - d e s i g n a t o r o r s h a l l  

d e n o t e t h e v a r i a b l e d e n o t e d b y t h e e l d - d e s i g n a t o r - i d e n t i e r ( s e e   6 . 8 . 3 . 1 0   ) o f t h e e l d - d e s i g n a t o r .  

A r e c o r d - v a r i a b l e s h a l l b e a v a r i a b l e - a c c e s s t h a t d e n o t e s a v a r i a b l e p o s s e s s i n g a r e c o r d - t y p e .  

T h e o c c u r r e n c e o f a r e c o r d - v a r i a b l e i n a e l d - d e s i g n a t o r s h a l l c o n s t i t u t e t h e d e n i n g - p o i n t o f t h e  

e l d - i d e n t i e r s a s s o c i a t e d w i t h c o m p o n e n t s o f t h e r e c o r d - t y p e p o s s e s s e d b y t h e r e c o r d - v a r i a b l e , f o r  

t h e r e g i o n t h a t i s t h e e l d - s p e c i e r   o f  t h e e l d - d e s i g n a t o r .  

e l d - d e s i g n a t o r = r e c o r d - v a r i a b l e `   ' e l d - s p e c i e r   j  e l d - d e s i g n a t o r - i d e n t i e r .  

r e c o r d - v a r i a b l e = v a r i a b l e - a c c e s s .  

e l d - s p e c i e r = e l d - i d e n t i e r .  

E x a m p l e s :  

p 2  "  . m o t h e r  

c o o r d . t h e t a  

A n a c c e s s t o a c o m p o n e n t o f a v a r i a n t o f a v a r i a n t - p a r t , w h e r e t h e s e l e c t o r o f t h e v a r i a n t - p a r t i s n o t  

a e l d , s h a l l a t t r i b u t e t o t h e s e l e c t o r t h a t v a l u e a s s o c i a t e d ( s e e   6 . 4 . 3 . 3   ) w i t h t h e v a r i a n t . I t s h a l l  

b e a n e r r o r u n l e s s a v a r i a n t i s a c t i v e f o r t h e e n t i r e t y o f e a c h r e f e r e n c e a n d a c c e s s t o e a c h c o m p o n e n t  

o f t h e v a r i a n t .  

W h e n a v a r i a n t b e c o m e s n o n - a c t i v e , a l l o f i t s c o m p o n e n t s s h a l l b e c o m e t o t a l l y - u n d e n e d .  

N O T E | I f t h e s e l e c t o r o f a v a r i a n t - p a r t i s u n d e n e d , t h e n n o v a r i a n t o f t h e v a r i a n t - p a r t i s a c t i v e .  

6 . 5 . 4 I d e n t i e d - v a r i a b l e s  

A n i d e n t i e d - v a r i a b l e s h a l l d e n o t e t h e v a r i a b l e , i f a n y , i d e n t i e d b y t h e v a l u e o f t h e p o i n t e r - v a r i a b l e  

o f t h e i d e n t i e d - v a r i a b l e ( s e e   6 . 4 . 4   a n d  6 . 6 . 5 . 3   ) s h a l l b e a c c e s s i b l e u n t i l t h e t e r m i n a t i o n o f t h e  

a c t i v a t i o n o f t h e p r o g r a m - b l o c k o r u n t i l t h e v a r i a b l e i s m a d e i n a c c e s s i b l e ( s e e t h e r e q u i r e d p r o c e d u r e  

2 8 

Page 35: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 35/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

d i s p o s e   ,  6 . 6 . 5 . 3   ) . 

N O T E | T h e a c c e s s i b i l i t y o f t h e v a r i a b l e a l s o d e p e n d s o n t h e e x i s t e n c e o f a p o i n t e r - v a r i a b l e t h a t h a s  

a t t r i b u t e d t o i t t h e c o r r e s p o n d i n g i d e n t i f y i n g - v a l u e .  

A p o i n t e r - v a r i a b l e s h a l l b e a v a r i a b l e - a c c e s s t h a t d e n o t e s a v a r i a b l e p o s s e s s i n g a p o i n t e r - t y p e . I t s h a l l  

b e a n e r r o r i f t h e p o i n t e r - v a r i a b l e   o f  a n i d e n t i e d - v a r i a b l e e i t h e r d e n o t e s a n i l - v a l u e o r i s u n d e n e d .  

I t s h a l l b e a n e r r o r t o r e m o v e f r o m t h e s e t o f v a l u e s o f t h e p o i n t e r - t y p e t h e i d e n t i f y i n g - v a l u e o f a n  

i d e n t i e d - v a r i a b l e ( s e e   6 . 6 . 5 . 3   ) w h e n a r e f e r e n c e t o t h e i d e n t i e d - v a r i a b l e e x i s t s .  

E x a m p l e s :  

p 1  " 

p 1  "  . f a t h e r  " 

p 1  "  . s i b l i n g  "  . f a t h e r  " 

6 . 5 . 5 B u e r - v a r i a b l e s  

A l e - v a r i a b l e s h a l l b e a v a r i a b l e - a c c e s s t h a t d e n o t e s a v a r i a b l e p o s s e s s i n g a l e - t y p e . A b u e r -  

v a r i a b l e s h a l l d e n o t e a v a r i a b l e a s s o c i a t e d w i t h t h e v a r i a b l e d e n o t e d b y t h e l e - v a r i a b l e   o f  t h e 

b u e r - v a r i a b l e . A b u e r - v a r i a b l e a s s o c i a t e d w i t h a t e x t l e s h a l l p o s s e s s t h e c h a r - t y p e o t h e r w i s e , a  

b u e r - v a r i a b l e s h a l l p o s s e s s t h e c o m p o n e n t - t y p e o f t h e l e - t y p e p o s s e s s e d b y t h e l e - v a r i a b l e   o f  t h e 

b u e r - v a r i a b l e .  

b u e r - v a r i a b l e = l e - v a r i a b l e `  "  ' . 

l e - v a r i a b l e = v a r i a b l e - a c c e s s .  

E x a m p l e s :  

i n p u t  " 

p o o l t a p e 2 ]  " 

I t s h a l l b e a n e r r o r t o a l t e r t h e v a l u e o f a l e - v a r i a b l e f w h e n a r e f e r e n c e t o t h e b u e r - v a r i a b l e  

f  "  e x i s t s . A r e f e r e n c e o r a n a c c e s s t o a b u e r - v a r i a b l e s h a l l c o n s t i t u t e a r e f e r e n c e o r a n a c c e s s ,  

r e s p e c t i v e l y , t o t h e a s s o c i a t e d l e - v a r i a b l e .  

6 . 6 P r o c e d u r e a n d f u n c t i o n d e c l a r a t i o n s  

6 . 6 . 1 P r o c e d u r e - d e c l a r a t i o n s  

p r o c e d u r e - d e c l a r a t i o n = p r o c e d u r e - h e a d i n g `    ' d i r e c t i v e  

j  p r o c e d u r e - i d e n t i c a t i o n `    ' p r o c e d u r e - b l o c k  

j  p r o c e d u r e - h e a d i n g `    ' p r o c e d u r e - b l o c k .  

p r o c e d u r e - h e a d i n g = `  p r o c e d u r e  ' i d e n t i e r f o r m a l - p a r a m e t e r - l i s t ] .  

p r o c e d u r e - i d e n t i c a t i o n = `  p r o c e d u r e  ' p r o c e d u r e - i d e n t i e r .  

p r o c e d u r e - i d e n t i e r = i d e n t i e r .  

p r o c e d u r e - b l o c k = b l o c k .  

2 9 

Page 36: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 36/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

T h e o c c u r r e n c e o f a f o r m a l - p a r a m e t e r - l i s t   i n  a p r o c e d u r e - h e a d i n g   o f  a p r o c e d u r e - d e c l a r a t i o n s h a l l  

d e n e t h e f o r m a l - p a r a m e t e r s o f t h e p r o c e d u r e - b l o c k , i f a n y , a s s o c i a t e d w i t h t h e i d e n t i e r o f t h e  

p r o c e d u r e - h e a d i n g t o b e t h o s e o f t h e f o r m a l - p a r a m e t e r - l i s t .  

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e p r o c e d u r e - h e a d i n g   o f  a p r o c e d u r e - d e c l a r a t i o n s h a l l c o n s t i t u t e  

i t s d e n i n g - p o i n t a s a p r o c e d u r e - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e b l o c k   c l o s e s t - c o n t a i n i n g   t h e 

p r o c e d u r e - d e c l a r a t i o n .  

E a c h i d e n t i e r h a v i n g a d e n i n g - p o i n t a s a p r o c e d u r e - i d e n t i e r   i n  a p r o c e d u r e - h e a d i n g   o f  a p r o c e d u r e -  

d e c l a r a t i o n   i n  w h i c h t h e d i r e c t i v e   f o r w a r d   o c c u r s s h a l l h a v e e x a c t l y o n e o f i t s a p p l i e d o c c u r r e n c e s  

i n a p r o c e d u r e - i d e n t i c a t i o n   o f  a p r o c e d u r e - d e c l a r a t i o n , a n d t h i s a p p l i e d o c c u r r e n c e s h a l l b e   c l o s e s t -  

c o n t a i n e d   b y t h e p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t   c l o s e s t - c o n t a i n i n g   t h e p r o c e d u r e - h e a d i n g .  

T h e o c c u r r e n c e o f a p r o c e d u r e - b l o c k   i n  a p r o c e d u r e - d e c l a r a t i o n s h a l l a s s o c i a t e t h e p r o c e d u r e - b l o c k  

w i t h t h e i d e n t i e r   i n  t h e p r o c e d u r e - h e a d i n g , o r w i t h t h e p r o c e d u r e - i d e n t i e r   i n  t h e p r o c e d u r e -  

i d e n t i c a t i o n ,   o f  t h e p r o c e d u r e - d e c l a r a t i o n .  

T h e r e s h a l l b e a t m o s t o n e p r o c e d u r e - b l o c k a s s o c i a t e d w i t h a p r o c e d u r e - i d e n t i e r .  

E x a m p l e s o f p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t s :  

E x a m p l e 1 :  

N O T E - - - T h i s e x a m p l e i s n o t f o r l e v e l 0 .  

p r o c e d u r e A d d V e c t o r s ( v a r A , B , C : a r r a y l o w . . h i g h : n a t u r a l ] o f r e a l )  

v a r 

i : n a t u r a l  

b e g i n  

f o r i : = l o w t o h i g h d o A i ] : = B i ] + C i ]  

e n d  f  o f A d d V e c t o r s   g   

E x a m p l e 2 :  

p r o c e d u r e r e a d i n t e g e r ( v a r f : t e x t v a r x : i n t e g e r )  

v a r 

i : n a t u r a l  

b e g i n  

w h i l e f  "  = ' ' d o g e t ( f )  

f  T h e b u f f e r - v a r i a b l e c o n t a i n s t h e f i r s t n o n - s p a c e c h a r  g 

i : = 0  

w h i l e f  "  i n ' 0 ' . . ' 9 ' ] d o b e g i n  

i : = ( 1 0 * i ) + ( o r d ( f  "  ) - o r d ( ' 0 ' ) )  

g e t ( f )  

e n d  

f  T h e b u f f e r - v a r i a b l e c o n t a i n s a n o n - d i g i t  g 

x : = i  

f  O f c o u r s e i f t h e r e a r e n o d i g i t s , x i s z e r o  g 

3 0 

Page 37: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 37/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

e n d  

p r o c e d u r e b i s e c t ( f u n c t i o n f ( x : r e a l ) : r e a l  

a , b : r e a l  

v a r r e s u l t : r e a l )  

f  T h i s p r o c e d u r e a t t e m p t s t o f i n d a z e r o o f f ( x ) i n ( a , b ) b y  

t h e m e t h o d o f b i s e c t i o n . I t i s a s s u m e d t h a t t h e p r o c e d u r e i s  

c a l l e d w i t h s u i t a b l e v a l u e s o f a a n d b s u c h t h a t  

( f ( a ) < 0 ) a n d ( f ( b ) > = 0 )  

T h e e s t i m a t e i s r e t u r n e d i n t h e l a s t p a r a m e t e r .  g 

c o n s t  

e p s = 1 e - 1 0  

v a r 

m i d p o i n t : r e a l  

b e g i n  

f  T h e i n v a r i a n t P i s t r u e b y c a l l i n g a s s u m p t i o n  g 

m i d p o i n t : = a  

w h i l e a b s ( a - b ) > e p s * a b s ( a ) d o b e g i n  

m i d p o i n t : = ( a + b ) / 2  

i f f ( m i d p o i n t ) < 0 t h e n a : = m i d p o i n t  

e l s e b : = m i d p o i n t  

f  W h i c h r e - e s t a b l i s h e s t h e i n v a r i a n t :  

P = ( f ( a ) < 0 ) a n d ( f ( b ) > = 0 )  

a n d r e d u c e s t h e i n t e r v a l ( a , b ) p r o v i d e d t h a t t h e  

v a l u e o f m i d p o i n t i s d i s t i n c t f r o m b o t h a a n d b .  g 

e n d  

f  P t o g e t h e r w i t h t h e l o o p e x i t c o n d i t i o n a s s u r e s t h a t a z e r o  

i s c o n t a i n e d i n a s m a l l s u b i n t e r v a l . R e t u r n t h e m i d p o i n t a s  

t h e z e r o .  g 

r e s u l t : = m i d p o i n t  

e n d  

p r o c e d u r e P r e p a r e F o r A p p e n d i n g ( v a r f : F i l e O f I n t e g e r )  

f  T h i s p r o c e d u r e t a k e s a f i l e i n a n y s t a t e s u i t a b l e f o r r e s e t a n d  

p l a c e s i t i n a c o n d i t i o n f o r a p p e n d i n g d a t a t o i t s e n d . S i m p l e r  

c o n d i t i o n i n g i s o n l y p o s s i b l e i f a s s u m p t i o n s a r e m a d e a b o u t t h e  

i n i t i a l s t a t e o f t h e f i l e .   g 

v a r 

L o c a l C o p y : F i l e O f I n t e g e r  

p r o c e d u r e C o p y F i l e s ( v a r f r o m , i n t o : F i l e O f I n t e g e r )  

b e g i n  

r e s e t ( f r o m ) r e w r i t e ( i n t o )  

w h i l e n o t e o f ( f r o m ) d o b e g i n  

i n t o  "  : = f r o m  "   

p u t ( i n t o ) g e t ( f r o m )  

3 1 

Page 38: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 38/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

e n d 

e n d  f  o f C o p y F i l e s   g   

b e g i n   f  o f b o d y o f P r e p a r e F o r A p p e n d i n g   g 

C o p y F i l e s ( f , L o c a l C o p y )  

C o p y F i l e s ( L o c a l C o p y , f )  

e n d  f  o f P r e p a r e F o r A p p e n d i n g   g   

6 . 6 . 2 F u n c t i o n - d e c l a r a t i o n s  

f u n c t i o n - d e c l a r a t i o n = f u n c t i o n - h e a d i n g `    ' d i r e c t i v e  

j  f u n c t i o n - i d e n t i c a t i o n `    ' f u n c t i o n - b l o c k  

j  f u n c t i o n - h e a d i n g `    ' f u n c t i o n - b l o c k .  

f u n c t i o n - h e a d i n g = `  f u n c t i o n   ' i d e n t i e r f o r m a l - p a r a m e t e r - l i s t ] `  :  ' r e s u l t - t y p e .  

f u n c t i o n - i d e n t i c a t i o n = `  f u n c t i o n   ' f u n c t i o n - i d e n t i e r .  

f u n c t i o n - i d e n t i e r = i d e n t i e r .  

r e s u l t - t y p e = s i m p l e - t y p e - i d e n t i e r   j  p o i n t e r - t y p e - i d e n t i e r .  

f u n c t i o n - b l o c k = b l o c k .  

T h e o c c u r r e n c e o f a f o r m a l - p a r a m e t e r - l i s t   i n  a f u n c t i o n - h e a d i n g   o f  a f u n c t i o n - d e c l a r a t i o n s h a l l d e n e  

t h e f o r m a l - p a r a m e t e r s o f t h e f u n c t i o n - b l o c k , i f a n y , a s s o c i a t e d w i t h t h e i d e n t i e r o f t h e f u n c t i o n -  

h e a d i n g t o b e t h o s e o f t h e f o r m a l - p a r a m e t e r - l i s t . T h e f u n c t i o n - b l o c k s h a l l   c o n t a i n   a t l e a s t o n e  

a s s i g n m e n t - s t a t e m e n t s u c h t h a t t h e f u n c t i o n - i d e n t i e r   o f  t h e a s s i g n m e n t - s t a t e m e n t i s a s s o c i a t e d  

w i t h t h e b l o c k ( s e e   6 . 8 . 2 . 2   ) . 

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e f u n c t i o n - h e a d i n g   o f  a f u n c t i o n - d e c l a r a t i o n s h a l l c o n s t i t u t e i t s  

d e n i n g - p o i n t a s a f u n c t i o n - i d e n t i e r a s s o c i a t e d w i t h t h e r e s u l t t y p e d e n o t e d b y t h e r e s u l t - t y p e f o r  

t h e r e g i o n t h a t i s t h e b l o c k   c l o s e s t - c o n t a i n i n g   t h e f u n c t i o n - d e c l a r a t i o n .  

E a c h i d e n t i e r h a v i n g a d e n i n g - p o i n t a s a f u n c t i o n - i d e n t i e r i n t h e f u n c t i o n - h e a d i n g   o f  a f u n c t i o n -  

d e c l a r a t i o n   i n  w h i c h t h e d i r e c t i v e   f o r w a r d   o c c u r s s h a l l h a v e e x a c t l y o n e o f i t s a p p l i e d o c c u r r e n c e s  

i n a f u n c t i o n - i d e n t i c a t i o n   o f  a f u n c t i o n - d e c l a r a t i o n , a n d t h i s a p p l i e d o c c u r r e n c e s h a l l b e   c l o s e s t -  

c o n t a i n e d   b y t h e p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t   c l o s e s t - c o n t a i n i n g   t h e f u n c t i o n - h e a d i n g .  

T h e o c c u r r e n c e o f a f u n c t i o n - b l o c k   i n  a f u n c t i o n - d e c l a r a t i o n s h a l l a s s o c i a t e t h e f u n c t i o n - b l o c k w i t h  

t h e i d e n t i e r   i n  t h e f u n c t i o n - h e a d i n g , o r w i t h t h e f u n c t i o n - i d e n t i e r   i n  t h e f u n c t i o n - i d e n t i c a t i o n ,  

o f  t h e f u n c t i o n - d e c l a r a t i o n t h e b l o c k   o f  t h e f u n c t i o n - b l o c k s h a l l b e a s s o c i a t e d w i t h t h e r e s u l t t y p e  

t h a t i s a s s o c i a t e d w i t h t h e i d e n t i e r o r f u n c t i o n - i d e n t i e r .  

T h e r e s h a l l b e a t m o s t o n e f u n c t i o n - b l o c k a s s o c i a t e d w i t h a f u n c t i o n - i d e n t i e r .  

E x a m p l e o f a p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t :  

f u n c t i o n S q r t ( x : r e a l ) : r e a l  

f  T h i s f u n c t i o n c o m p u t e s t h e s q u a r e r o o t o f x ( x > 0 ) u s i n g N e w t o n ' s  

m e t h o d .  g 

3 2 

Page 39: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 39/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

v a r 

o l d , e s t i m a t e : r e a l  

b e g i n  

e s t i m a t e : = x  

r e p e a t  

o l d : = e s t i m a t e  

e s t i m a t e : = ( o l d + x / o l d ) * 0 . 5  

u n t i l a b s ( e s t i m a t e - o l d ) < e p s * e s t i m a t e  

f  e p s b e i n g a g l o b a l c o n s t a n t  g 

S q r t : = e s t i m a t e  

e n d  f  o f S q r t   g   

f u n c t i o n m a x ( a : v e c t o r ) : r e a l  

f  T h i s f u n c t i o n f i n d s t h e l a r g e s t c o m p o n e n t o f t h e v a l u e o f a .  g 

v a r 

l a r g e s t s o f a r : r e a l  

f e n c e : i n d e x t y p e  

b e g i n  

l a r g e s t s o f a r : = a 1 ]  

f  E s t a b l i s h e s l a r g e s t s o f a r = m a x ( a 1 ] )  g 

f o r f e n c e : = 2 t o l i m i t d o b e g i n  

i f l a r g e s t s o f a r < a f e n c e ] t h e n l a r g e s t s o f a r : = a f e n c e ]  

f  R e - e s t a b l i s h i n g l a r g e s t s o f a r = m a x ( a 1 ] , . . . , a f e n c e ] )  g 

e n d  

f  S o n o w l a r g e s t s o f a r = m a x ( a 1 ] , . . . , a l i m i t ] )  g 

m a x : = l a r g e s t s o f a r  

e n d  f  o f m a x   g   

f u n c t i o n G C D ( m , n : n a t u r a l ) : n a t u r a l  

b e g i n  

i f n = 0 t h e n G C D : = m e l s e G C D : = G C D ( n , m m o d n )  

e n d  

f  T h e f o l l o w i n g t w o f u n c t i o n s a n a l y z e a p a r e n t h e s i z e d e x p r e s s i o n a n d  

c o n v e r t i t t o a n i n t e r n a l f o r m . T h e y a r e d e c l a r e d   f o r w a r d  

s i n c e t h e y a r e m u t u a l l y r e c u r s i v e , i . e . , t h e y c a l l e a c h o t h e r .  

T h e s e f u n c t i o n - d e c l a r a t i o n s u s e t h e f o l l o w i n g i d e n t i f i e r s t h a t a r e n o t  

d e f i n e d i n t h i s I n t e r n a t i o n a l S t a n d a r d : f o r m u l a , I s O p e n P a r e n t h e s i s , I s O p e r a t o r ,  

M a k e F o r m u l a , n e x t s y m , o p e r a t i o n , R e a d E l e m e n t , R e a d O p e r a t o r , a n d  

S k i p S y m b o l .   g 

f u n c t i o n R e a d E x p r e s s i o n : f o r m u l a f o r w a r d  

f u n c t i o n R e a d O p e r a n d : f o r m u l a f o r w a r d  

3 3 

Page 40: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 40/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

f u n c t i o n R e a d E x p r e s s i o n   f  S e e f o r w a r d d e c l a r a t i o n o f h e a d i n g .  g 

v a r 

t h i s : f o r m u l a  

o p : o p e r a t i o n  

b e g i n  

t h i s : = R e a d O p e r a n d  

w h i l e I s O p e r a t o r ( n e x t s y m ) d o  

b e g i n  

o p : = R e a d O p e r a t o r  

t h i s : = M a k e F o r m u l a ( t h i s , o p , R e a d O p e r a n d )  

e n d  

R e a d E x p r e s s i o n : = t h i s  

e n d  

f u n c t i o n R e a d O p e r a n d   f  S e e f o r w a r d d e c l a r a t i o n o f h e a d i n g .  g 

b e g i n  

i f I s O p e n P a r e n t h e s i s ( n e x t s y m ) t h e n  

b e g i n  

S k i p S y m b o l  

R e a d O p e r a n d : = R e a d E x p r e s s i o n  

f  n e x t s y m s h o u l d b e a c l o s e - p a r e n t h e s i s  g 

S k i p S y m b o l  

e n d 

e l s e R e a d O p e r a n d : = R e a d E l e m e n t  

e n d  

6 . 6 . 3 P a r a m e t e r s  

6 . 6 . 3 . 1 G e n e r a l  

T h e i d e n t i e r - l i s t   i n  a v a l u e - p a r a m e t e r - s p e c i c a t i o n s h a l l b e a l i s t o f v a l u e p a r a m e t e r s . T h e i d e n t i e r -  

l i s t   i n  a v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n s h a l l b e a l i s t o f v a r i a b l e p a r a m e t e r s .  

f o r m a l - p a r a m e t e r - l i s t = `  (  ' f o r m a l - p a r a m e t e r - s e c t i o n   f   ̀   ' f o r m a l - p a r a m e t e r - s e c t i o n   g   ̀ )  ' . 

f o r m a l - p a r a m e t e r - s e c t i o n   >  v a l u e - p a r a m e t e r - s p e c i c a t i o n  

j  v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n  

j  p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n  

j  f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n .  

N O T E | 1 T h e r e i s a l s o a s y n t a x r u l e f o r f o r m a l - p a r a m e t e r - s e c t i o n i n   6 . 6 . 3 . 7 . 1  

v a l u e - p a r a m e t e r - s p e c i c a t i o n = i d e n t i e r - l i s t `  :  ' t y p e - i d e n t i e r .  

v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n = `  v a r  ' i d e n t i e r - l i s t `  :  ' t y p e - i d e n t i e r .  

3 4 

Page 41: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 41/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n = p r o c e d u r e - h e a d i n g .  

f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n = f u n c t i o n - h e a d i n g .  

A n i d e n t i e r d e n e d t o b e a p a r a m e t e r - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e f o r m a l - p a r a m e t e r - l i s t   o f 

a p r o c e d u r e - h e a d i n g s h a l l b e d e s i g n a t e d a    f o r m a l - p a r a m e t e r   o f t h e b l o c k   o f  t h e p r o c e d u r e - b l o c k , i f  

a n y , a s s o c i a t e d w i t h t h e i d e n t i e r   o f  t h e p r o c e d u r e - h e a d i n g . A n i d e n t i e r d e n e d t o b e a p a r a m e t e r -  

i d e n t i e r f o r t h e r e g i o n t h a t i s t h e f o r m a l - p a r a m e t e r - l i s t   o f  a f u n c t i o n - h e a d i n g s h a l l b e d e s i g n a t e d  

a   f o r m a l - p a r a m e t e r   o f t h e b l o c k   o f  t h e f u n c t i o n - b l o c k , i f a n y , a s s o c i a t e d w i t h t h e i d e n t i e r   o f  t h e 

f u n c t i o n - h e a d i n g .  

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e i d e n t i e r - l i s t   o f  a v a l u e - p a r a m e t e r - s p e c i c a t i o n o r a v a r i a b l e -  

p a r a m e t e r - s p e c i c a t i o n s h a l l c o n s t i t u t e i t s d e n i n g - p o i n t a s a p a r a m e t e r - i d e n t i e r f o r t h e r e g i o n t h a t  

i s t h e f o r m a l - p a r a m e t e r - l i s t   c l o s e s t - c o n t a i n i n g   i t , a n d i t s d e n i n g - p o i n t a s t h e a s s o c i a t e d v a r i a b l e -  

i d e n t i e r f o r t h e r e g i o n t h a t i s t h e b l o c k , i f a n y , o f w h i c h i t i s a f o r m a l - p a r a m e t e r .  

T h e o c c u r r e n c e o f t h e i d e n t i e r   o f  a p r o c e d u r e - h e a d i n g i n a p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n s h a l l  

c o n s t i t u t e i t s d e n i n g - p o i n t a s a p a r a m e t e r - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e f o r m a l - p a r a m e t e r - l i s t  

c l o s e s t - c o n t a i n i n g   i t , a n d i t s d e n i n g - p o i n t a s t h e a s s o c i a t e d p r o c e d u r e - i d e n t i e r f o r t h e r e g i o n t h a t  

i s t h e b l o c k , i f a n y , o f w h i c h i t i s a f o r m a l - p a r a m e t e r .  

T h e o c c u r r e n c e o f t h e i d e n t i e r   o f  a f u n c t i o n - h e a d i n g   i n  a f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n s h a l l  

c o n s t i t u t e i t s d e n i n g - p o i n t a s a p a r a m e t e r - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e f o r m a l - p a r a m e t e r - l i s t  

c l o s e s t - c o n t a i n i n g   i t , a n d i t s d e n i n g - p o i n t a s t h e a s s o c i a t e d f u n c t i o n - i d e n t i e r f o r t h e r e g i o n t h a t i s  

t h e b l o c k , i f a n y , o f w h i c h i t i s a f o r m a l - p a r a m e t e r .  

N O T E | 2 I f t h e f o r m a l - p a r a m e t e r - l i s t i s c o n t a i n e d i n a p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n o r a f u n c t i o n a l -  

p a r a m e t e r - s p e c i c a t i o n , t h e r e i s n o c o r r e s p o n d i n g p r o c e d u r e - b l o c k o r f u n c t i o n - b l o c k .  

6 . 6 . 3 . 2 V a l u e p a r a m e t e r s  

T h e f o r m a l - p a r a m e t e r a n d i t s a s s o c i a t e d v a r i a b l e - i d e n t i e r s h a l l d e n o t e t h e s a m e v a r i a b l e . T h e  

f o r m a l - p a r a m e t e r s h a l l p o s s e s s t h e t y p e d e n o t e d b y t h e t y p e - i d e n t i e r o f t h e v a l u e - p a r a m e t e r -  

s p e c i c a t i o n . T h e t y p e p o s s e s s e d b y t h e f o r m a l - p a r a m e t e r s h a l l b e o n e t h a t i s p e r m i t t e d a s t h e  

c o m p o n e n t - t y p e   o f  a l e - t y p e ( s e e   6 . 4 . 3 . 5   ) . T h e a c t u a l - p a r a m e t e r ( s e e   6 . 7 . 3   a n d  6 . 8 . 2 . 3   ) s h a l l b e  

a n e x p r e s s i o n w h o s e v a l u e i s a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e f o r m a l - p a r a m e t e r .  

T h e c u r r e n t v a l u e o f t h e e x p r e s s i o n s h a l l b e a t t r i b u t e d u p o n a c t i v a t i o n o f t h e b l o c k t o t h e v a r i a b l e  

t h a t i s d e n o t e d b y t h e f o r m a l - p a r a m e t e r .  

6 . 6 . 3 . 3 V a r i a b l e p a r a m e t e r s  

T h e a c t u a l - p a r a m e t e r s h a l l b e a v a r i a b l e - a c c e s s . T h e t y p e p o s s e s s e d b y t h e a c t u a l - p a r a m e t e r s s h a l l  

b e t h e s a m e a s t h a t d e n o t e d b y t h e t y p e - i d e n t i e r o f t h e v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n , a n d t h e  

f o r m a l - p a r a m e t e r s s h a l l a l s o p o s s e s s t h a t t y p e . T h e a c t u a l - p a r a m e t e r s h a l l b e a c c e s s e d b e f o r e t h e  

a c t i v a t i o n o f t h e b l o c k , a n d t h i s a c c e s s s h a l l e s t a b l i s h a r e f e r e n c e t o t h e v a r i a b l e t h e r e b y a c c e s s e d  

d u r i n g t h e e n t i r e a c t i v a t i o n o f t h e b l o c k t h e c o r r e s p o n d i n g f o r m a l - p a r a m e t e r a n d i t s a s s o c i a t e d  

v a r i a b l e - i d e n t i e r s h a l l d e n o t e t h e r e f e r e n c e d v a r i a b l e d u r i n g t h e a c t i v a t i o n .  

3 5 

Page 42: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 42/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n a c t u a l v a r i a b l e p a r a m e t e r s h a l l n o t d e n o t e a e l d t h a t i s t h e s e l e c t o r o f a v a r i a n t - p a r t . A n a c t u a l  

v a r i a b l e p a r a m e t e r s h a l l n o t d e n o t e a c o m p o n e n t o f a v a r i a b l e w h e r e t h a t v a r i a b l e p o s s e s s e s a t y p e  

t h a t i s d e s i g n a t e d p a c k e d .  

6 . 6 . 3 . 4 P r o c e d u r a l p a r a m e t e r s  

T h e a c t u a l - p a r a m e t e r ( s e e   6 . 7 . 3   a n d  6 . 8 . 2 . 3   ) s h a l l b e a p r o c e d u r e - i d e n t i e r t h a t h a s a d e n i n g -  

p o i n t c o n t a i n e d b y t h e p r o g r a m - b l o c k . T h e f o r m a l - p a r a m e t e r - l i s t , i f a n y ,   c l o s e s t - c o n t a i n e d   b y t h e  

f o r m a l - p a r a m e t e r - s e c t i o n a n d t h e f o r m a l - p a r a m e t e r - l i s t , i f a n y , t h a t d e n e s t h e f o r m a l - p a r a m e t e r s o f  

t h e p r o c e d u r e d e n o t e d b y t h e a c t u a l - p a r a m e t e r s h a l l b e c o n g r u o u s , o r n e i t h e r f o r m a l - p a r a m e t e r - l i s t  

s h a l l o c c u r . T h e f o r m a l - p a r a m e t e r a n d i t s a s s o c i a t e d p r o c e d u r e - i d e n t i e r s h a l l d e n o t e t h e a c t u a l -  

p a r a m e t e r d u r i n g t h e e n t i r e a c t i v a t i o n o f t h e b l o c k .  

6 . 6 . 3 . 5 F u n c t i o n a l p a r a m e t e r s  

T h e a c t u a l - p a r a m e t e r ( s e e   6 . 7 . 3   a n d  6 . 8 . 2 . 3   ) s h a l l b e a f u n c t i o n - i d e n t i e r t h a t h a s a d e n i n g - p o i n t  

c o n t a i n e d b y t h e p r o g r a m - b l o c k . T h e f o r m a l - p a r a m e t e r - l i s t , i f a n y ,   c l o s e s t - c o n t a i n e d   b y t h e f o r m a l -  

p a r a m e t e r - s e c t i o n a n d t h e f o r m a l - p a r a m e t e r - l i s t , i f a n y , t h a t d e n e s t h e f o r m a l - p a r a m e t e r s o f t h e  

f u n c t i o n d e n o t e d b y t h e a c t u a l - p a r a m e t e r s h a l l b e c o n g r u o u s , o r n e i t h e r f o r m a l - p a r a m e t e r - l i s t s h a l l  

o c c u r . T h e r e s u l t - t y p e   c l o s e s t - c o n t a i n e d   b y t h e f o r m a l - p a r a m e t e r - s e c t i o n s h a l l d e n o t e t h e s a m e t y p e  

a s t h e r e s u l t t y p e o f t h e f u n c t i o n . T h e f o r m a l - p a r a m e t e r a n d i t s a s s o c i a t e d f u n c t i o n - i d e n t i e r s h a l l  

d e n o t e t h e a c t u a l - p a r a m e t e r d u r i n g t h e e n t i r e a c t i v a t i o n o f t h e b l o c k .  

6 . 6 . 3 . 6 P a r a m e t e r l i s t c o n g r u i t y  

T w o f o r m a l - p a r a m e t e r - l i s t s s h a l l b e c o n g r u o u s i f t h e y c o n t a i n t h e s a m e n u m b e r o f f o r m a l - p a r a m e t e r -  

s e c t i o n s a n d i f t h e f o r m a l - p a r a m e t e r - s e c t i o n s i n c o r r e s p o n d i n g p o s i t i o n s m a t c h . T w o f o r m a l -  

p a r a m e t e r - s e c t i o n s s h a l l m a t c h i f a n y o f t h e f o l l o w i n g s t a t e m e n t s i s t r u e .  

a ) T h e y a r e b o t h v a l u e - p a r a m e t e r - s p e c i c a t i o n s c o n t a i n i n g t h e s a m e n u m b e r o f p a r a m e t e r s a n d  

t h e t y p e - i d e n t i e r i n e a c h v a l u e - p a r a m e t e r - s p e c i c a t i o n d e n o t e s t h e s a m e t y p e .  

b ) T h e y a r e b o t h v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n s c o n t a i n i n g t h e s a m e n u m b e r o f p a r a m e t e r s  

a n d t h e t y p e - i d e n t i e r i n e a c h v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n d e n o t e s t h e s a m e t y p e .  

c ) T h e y a r e b o t h p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n s a n d t h e f o r m a l - p a r a m e t e r - l i s t s o f t h e  

p r o c e d u r e - h e a d i n g s t h e r e o f a r e c o n g r u o u s .  

d ) T h e y a r e b o t h f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n s , t h e f o r m a l - p a r a m e t e r - l i s t s o f t h e f u n c t i o n -  

h e a d i n g s t h e r e o f a r e c o n g r u o u s , a n d t h e t y p e - i d e n t i e r s o f t h e r e s u l t - t y p e s o f t h e f u n c t i o n -  

h e a d i n g s t h e r e o f d e n o t e t h e s a m e t y p e .  

e ) T h e y a r e e i t h e r b o t h v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n s o r b o t h v a r i a b l e - c o n f o r m a n t - a r r a y -  

s p e c i c a t i o n s a n d i n b o t h c a s e s t h e c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n s c o n t a i n t h e  

s a m e n u m b e r o f p a r a m e t e r s a n d e q u i v a l e n t c o n f o r m a n t - a r r a y - s c h e m a s . T w o c o n f o r m a n t - a r r a y -  

s c h e m a s s h a l l b e e q u i v a l e n t i f a l l o f t h e f o l l o w i n g f o u r s t a t e m e n t s a r e t r u e .  

1 ) T h e r e i s a s i n g l e i n d e x - t y p e - s p e c i c a t i o n i n e a c h c o n f o r m a n t - a r r a y - s c h e m a .  

3 6 

Page 43: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 43/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

2 ) T h e o r d i n a l - t y p e - i d e n t i e r i n e a c h i n d e x - t y p e - s p e c i c a t i o n d e n o t e s t h e s a m e t y p e .  

3 ) E i t h e r t h e ( c o m p o n e n t ) c o n f o r m a n t - a r r a y - s c h e m a s o f t h e c o n f o r m a n t - a r r a y - s c h e m a s a r e  

e q u i v a l e n t o r t h e t y p e - i d e n t i e r s o f t h e c o n f o r m a n t - a r r a y - s c h e m a s d e n o t e t h e s a m e t y p e .  

4 ) E i t h e r b o t h c o n f o r m a n t - a r r a y - s c h e m a s a r e p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a s o r b o t h a r e  

u n p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a s .  

N O T E S  

1 T h e a b b r e v i a t e d c o n f o r m a n t - a r r a y - s c h e m a a n d i t s c o r r e s p o n d i n g f u l l f o r m a r e e q u i v a l e n t ( s e e   6 . 6 . 3 . 7   )

2 F o r t h e s t a t u s o f i t e m e ) a b o v e s e e   5 . 1 a )  ,  5 . 1 b )  ,  5 . 1 c )  ,  5 . 2 a )  , a n d   5 . 2 b )  

6 . 6 . 3 . 7 C o n f o r m a n t a r r a y p a r a m e t e r s  

N O T E | F o r t h e s t a t u s o f t h i s s u b c l a u s e s e e   5 . 1 a )  ,  5 . 1 b )  ,  5 . 1 c )  ,  5 . 2 a )  , a n d   5 . 2 b )  

6 . 6 . 3 . 7 . 1 G e n e r a l  

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  t h e i d e n t i e r - l i s t   c o n t a i n e d   b y a c o n f o r m a n t - a r r a y - p a r a m e t e r -  

s p e c i c a t i o n s h a l l c o n s t i t u t e i t s d e n i n g - p o i n t a s a p a r a m e t e r - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e  

f o r m a l - p a r a m e t e r - l i s t   c l o s e s t - c o n t a i n i n g   i t a n d i t s d e n i n g - p o i n t a s t h e a s s o c i a t e d v a r i a b l e - i d e n t i e r  

f o r t h e r e g i o n t h a t i s t h e b l o c k , i f a n y , o f w h i c h i t i s a f o r m a l - p a r a m e t e r . A v a r i a b l e - i d e n t i e r s o  

d e n e d s h a l l b e d e s i g n a t e d a   c o n f o r m a n t - a r r a y - p a r a m e t e r  . 

T h e o c c u r r e n c e o f a n i d e n t i e r   i n  a n i n d e x - t y p e - s p e c i c a t i o n s h a l l c o n s t i t u t e i t s d e n i n g - p o i n t a s  

a b o u n d - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e f o r m a l - p a r a m e t e r - l i s t   c l o s e s t - c o n t a i n i n g   i t a n d f o r t h e  

r e g i o n t h a t i s t h e b l o c k , i f a n y , w h o s e f o r m a l - p a r a m e t e r s a r e s p e c i e d b y t h a t f o r m a l - p a r a m e t e r - l i s t .  

f o r m a l - p a r a m e t e r - s e c t i o n   >  c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n .  

c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n = v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n  

j  v a r i a b l e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n .  

v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n = i d e n t i e r - l i s t `  :  ' c o n f o r m a n t - a r r a y - s c h e m a .  

v a r i a b l e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n = `  v a r  ' i d e n t i e r - l i s t `  :  ' c o n f o r m a n t - a r r a y - s c h e m a .  

c o n f o r m a n t - a r r a y - s c h e m a = p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a  

j  u n p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a .  

p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a = `  p a c k e d   '  ̀ a r r a y   '  ̀   ' i n d e x - t y p e - s p e c i c a t i o n `  ]  ' 

 ̀ o f  ' t y p e - i d e n t i e r .  

u n p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a =  

 ̀ a r r a y   '  ̀   ' i n d e x - t y p e - s p e c i c a t i o n   f   ̀   ' i n d e x - t y p e - s p e c i c a t i o n   g   ̀ ]  ' 

 ̀ o f  ' ( t y p e - i d e n t i e r   j  c o n f o r m a n t - a r r a y - s c h e m a ) .  

i n d e x - t y p e - s p e c i c a t i o n = i d e n t i e r `   ' i d e n t i e r `  :  ' o r d i n a l - t y p e - i d e n t i e r .  

f a c t o r   >  b o u n d - i d e n t i e r .  

3 7 

Page 44: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 44/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

b o u n d - i d e n t i e r = i d e n t i e r .  

N O T E | 1 T h e r e a r e a l s o s y n t a x r u l e s f o r f o r m a l - p a r a m e t e r - s e c t i o n i n   6 . 6 . 3 . 1   a n d f o r f a c t o r i n   6 . 7 . 1  

I f a c o n f o r m a n t - a r r a y - s c h e m a   c l o s e s t - c o n t a i n s   a c o n f o r m a n t - a r r a y - s c h e m a , t h e n a n a b b r e v i a t e d f o r m  

o f d e n i t i o n s h a l l b e p e r m i t t e d . I n t h e a b b r e v i a t e d f o r m , a s i n g l e s e m i c o l o n s h a l l r e p l a c e t h e s e q u e n c e  

 ] o f a r r a y   t h a t o c c u r s i n t h e f u l l f o r m . T h e a b b r e v i a t e d f o r m a n d t h e f u l l f o r m s h a l l b e e q u i v a l e n t .  

E x a m p l e s :  

a r r a y u . . v : T 1 ] o f a r r a y j . . k : T 2 ] o f T 3  

a r r a y u . . v : T 1 j . . k : T 2 ] o f T 3  

W i t h i n t h e a c t i v a t i o n o f t h e b l o c k , a p p l i e d o c c u r r e n c e s o f t h e r s t i d e n t i e r   o f  a n i n d e x - t y p e -  

s p e c i c a t i o n s h a l l d e n o t e t h e s m a l l e s t v a l u e s p e c i e d b y t h e c o r r e s p o n d i n g i n d e x - t y p e ( s e e   6 . 6 . 3 . 8   ) 

p o s s e s s e d b y t h e a c t u a l - p a r a m e t e r , a n d a p p l i e d o c c u r r e n c e s o f t h e s e c o n d i d e n t i e r   o f  t h e i n d e x -  

t y p e - s p e c i c a t i o n s h a l l d e n o t e t h e l a r g e s t v a l u e s p e c i e d b y t h a t i n d e x - t y p e .  

N O T E | 2 T h e o b j e c t d e n o t e d b y a b o u n d - i d e n t i e r i s n e i t h e r a c o n s t a n t n o r a v a r i a b l e .  

T h e a c t u a l - p a r a m e t e r s ( s e e   6 . 7 . 3   a n d  6 . 8 . 2 . 3   ) c o r r e s p o n d i n g t o f o r m a l - p a r a m e t e r s t h a t o c c u r i n a  

s i n g l e c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n s h a l l a l l p o s s e s s t h e s a m e t y p e . T h e t y p e p o s s e s s e d  

b y t h e a c t u a l - p a r a m e t e r s s h a l l b e c o n f o r m a b l e ( s e e   6 . 6 . 3 . 8   ) w i t h t h e c o n f o r m a n t - a r r a y - s c h e m a ,  

a n d t h e f o r m a l - p a r a m e t e r s s h a l l p o s s e s s a n a r r a y - t y p e w h i c h s h a l l b e d i s t i n c t f r o m a n y o t h e r t y p e  

a n d w h i c h s h a l l h a v e a c o m p o n e n t - t y p e t h a t s h a l l b e t h e x e d - c o m p o n e n t - t y p e o f t h e c o n f o r m a n t -  

a r r a y - p a r a m e t e r s d e n e d i n t h e c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n a n d t h a t s h a l l h a v e t h e  

i n d e x - t y p e s o f t h e t y p e p o s s e s s e d b y t h e a c t u a l - p a r a m e t e r s t h a t c o r r e s p o n d ( s e e   6 . 6 . 3 . 8   ) t o t h e  

i n d e x - t y p e - s p e c i c a t i o n s   c o n t a i n e d   b y t h e c o n f o r m a n t - a r r a y - s c h e m a   c o n t a i n e d   b y t h e c o n f o r m a n t -  

a r r a y - p a r a m e t e r - s p e c i c a t i o n . T h e t y p e d e n o t e d b y t h e t y p e - i d e n t i e r   c o n t a i n e d   b y t h e c o n f o r m a n t -  

a r r a y - s c h e m a   c o n t a i n e d   b y a c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n s h a l l b e d e s i g n a t e d t h e     x e d -  

c o m p o n e n t - t y p e   o f t h e c o n f o r m a n t - a r r a y - p a r a m e t e r s d e n e d b y t h a t c o n f o r m a n t - a r r a y - p a r a m e t e r -  

s p e c i c a t i o n .  

N O T E | 3 T h e t y p e p o s s e s s e d b y t h e f o r m a l - p a r a m e t e r c a n n o t b e a s t r i n g - t y p e ( s e e   6 . 4 . 3 . 2   ) b e c a u s e i t i s  

n o t d e n o t e d b y a n a r r a y - t y p e .  

6 . 6 . 3 . 7 . 2 V a l u e c o n f o r m a n t a r r a y s  

T h e i d e n t i e r - l i s t   i n  a v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n s h a l l b e a l i s t o f v a l u e c o n f o r m a n t a r r a y s .  

E a c h a c t u a l - p a r a m e t e r c o r r e s p o n d i n g t o a v a l u e f o r m a l - p a r a m e t e r s h a l l b e a n e x p r e s s i o n . T h e v a l u e  

o f t h e e x p r e s s i o n s h a l l b e a t t r i b u t e d b e f o r e a c t i v a t i o n o f t h e b l o c k t o a n a u x i l i a r y v a r i a b l e t h a t t h e  

p r o g r a m d o e s n o t o t h e r w i s e c o n t a i n . T h e t y p e p o s s e s s e d b y t h i s v a r i a b l e s h a l l b e t h e s a m e a s t h a t  

p o s s e s s e d b y t h e e x p r e s s i o n . T h i s v a r i a b l e s h a l l b e a c c e s s e d b e f o r e t h e a c t i v a t i o n o f t h e b l o c k , a n d  

t h i s a c c e s s s h a l l e s t a b l i s h a r e f e r e n c e t o t h e v a r i a b l e t h e r e b y a c c e s s e d d u r i n g t h e e n t i r e a c t i v a t i o n o f  

t h e b l o c k t h e c o r r e s p o n d i n g f o r m a l - p a r a m e t e r a n d i t s a s s o c i a t e d v a r i a b l e - i d e n t i e r s h a l l r e p r e s e n t  

t h e r e f e r e n c e d v a r i a b l e d u r i n g t h e a c t i v a t i o n . T h e x e d - c o m p o n e n t - t y p e o f a v a l u e c o n f o r m a n t a r r a y  

s h a l l b e o n e t h a t i s p e r m i t t e d a s t h e c o m p o n e n t - t y p e   o f  a l e - t y p e .  

3 8 

Page 45: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 45/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

I f t h e a c t u a l - p a r a m e t e r   c o n t a i n s   a n o c c u r r e n c e o f a c o n f o r m a n t - a r r a y - p a r a m e t e r , t h e n f o r e a c h  

o c c u r r e n c e o f t h e c o n f o r m a n t - a r r a y - p a r a m e t e r c o n t a i n e d b y t h e a c t u a l - p a r a m e t e r , e i t h e r  

a ) t h e o c c u r r e n c e o f t h e c o n f o r m a n t - a r r a y - p a r a m e t e r s h a l l b e   c o n t a i n e d   b y a f u n c t i o n - d e s i g n a t o r  

c o n t a i n e d   b y t h e a c t u a l - p a r a m e t e r o r  

b ) t h e o c c u r r e n c e o f t h e c o n f o r m a n t - a r r a y - p a r a m e t e r s h a l l b e   c o n t a i n e d   b y a n i n d e x e d - v a r i a b l e  

c o n t a i n e d   b y t h e a c t u a l - p a r a m e t e r , s u c h t h a t t h e t y p e p o s s e s s e d b y t h a t i n d e x e d - v a r i a b l e i s  

t h e x e d - c o m p o n e n t - t y p e o f t h e c o n f o r m a n t - a r r a y - p a r a m e t e r .  

N O T E | T h i s e n s u r e s t h a t t h e t y p e p o s s e s s e d b y t h e e x p r e s s i o n a n d t h e a u x i l i a r y v a r i a b l e w i l l a l w a y s b e  

k n o w n a n d t h a t , a s a c o n s e q u e n c e , t h e a c t i v a t i o n r e c o r d o f a p r o c e d u r e c a n b e o f a x e d s i z e .  

6 . 6 . 3 . 7 . 3 V a r i a b l e c o n f o r m a n t a r r a y s  

T h e i d e n t i e r - l i s t   i n  a v a r i a b l e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n s h a l l b e a l i s t o f v a r i a b l e c o n f o r m a n t  

a r r a y s . T h e a c t u a l - p a r a m e t e r s h a l l b e a v a r i a b l e - a c c e s s . T h e a c t u a l - p a r a m e t e r s h a l l b e a c c e s s e d  

b e f o r e t h e a c t i v a t i o n o f t h e b l o c k , a n d t h i s a c c e s s s h a l l e s t a b l i s h a r e f e r e n c e t o t h e v a r i a b l e t h e r e b y  

a c c e s s e d d u r i n g t h e e n t i r e a c t i v a t i o n o f t h e b l o c k t h e c o r r e s p o n d i n g f o r m a l - p a r a m e t e r a n d i t s  

a s s o c i a t e d v a r i a b l e - i d e n t i e r s h a l l d e n o t e t h e r e f e r e n c e d v a r i a b l e d u r i n g t h e a c t i v a t i o n .  

A n a c t u a l - p a r a m e t e r s h a l l n o t d e n o t e a c o m p o n e n t o f a v a r i a b l e w h e r e t h a t v a r i a b l e p o s s e s s e s a t y p e  

t h a t i s d e s i g n a t e d p a c k e d .  

6 . 6 . 3 . 8 C o n f o r m a b i l i t y  

N O T E | 1 F o r t h e s t a t u s o f t h i s s u b c l a u s e s e e   5 . 1 a )  ,  5 . 1 b )  ,  5 . 1 c )  ,  5 . 2 a )  , a n d   5 . 2 b )  

G i v e n a t y p e d e n o t e d b y a n a r r a y - t y p e   c l o s e s t - c o n t a i n i n g   a s i n g l e i n d e x - t y p e a n d a c o n f o r m a n t -  

a r r a y - s c h e m a   c l o s e s t - c o n t a i n i n g   a s i n g l e i n d e x - t y p e - s p e c i c a t i o n , t h e n t h e i n d e x - t y p e a n d t h e i n d e x -  

t y p e - s p e c i c a t i o n s h a l l b e d e s i g n a t e d a s   c o r r e s p o n d i n g  . G i v e n t w o c o n f o r m a n t - a r r a y - s c h e m a s   c l o s e s t -  

c o n t a i n i n g   a s i n g l e i n d e x - t y p e - s p e c i c a t i o n , t h e n t h e t w o i n d e x - t y p e - s p e c i c a t i o n s s h a l l b e d e s i g n a t e d  

a s c o r r e s p o n d i n g . L e t T 1 b e a n a r r a y - t y p e w i t h a s i n g l e i n d e x - t y p e a n d l e t T 2 b e t h e t y p e d e n o t e d  

b y t h e o r d i n a l - t y p e - i d e n t i e r   o f  t h e i n d e x - t y p e - s p e c i c a t i o n   o f  a c o n f o r m a n t - a r r a y - s c h e m a   c l o s e s t -  

c o n t a i n i n g   a s i n g l e i n d e x - t y p e - s p e c i c a t i o n t h e n T 1 s h a l l b e c o n f o r m a b l e w i t h t h e c o n f o r m a n t - a r r a y -  

s c h e m a i f a l l t h e f o l l o w i n g f o u r s t a t e m e n t s a r e t r u e .  

a ) T h e i n d e x - t y p e o f T 1 i s c o m p a t i b l e w i t h T 2 .  

b ) T h e s m a l l e s t a n d l a r g e s t v a l u e s s p e c i e d b y t h e i n d e x - t y p e o f T 1 l i e w i t h i n t h e c l o s e d i n t e r v a l  

s p e c i e d b y T 2 .  

c ) T h e c o m p o n e n t - t y p e o f T 1 d e n o t e s t h e s a m e t y p e a s t h a t d e n o t e d b y t h e t y p e - i d e n t i e r   o f  t h e 

c o n f o r m a n t - a r r a y - s c h e m a o r i s c o n f o r m a b l e t o t h e c o n f o r m a n t - a r r a y - s c h e m a   i n  t h e c o n f o r m a n t -  

a r r a y - s c h e m a .  

d ) E i t h e r T 1 i s n o t d e s i g n a t e d p a c k e d a n d t h e c o n f o r m a n t - a r r a y - s c h e m a i s a n u n p a c k e d - c o n f o r m a n t -  

a r r a y - s c h e m a , o r T 1 i s d e s i g n a t e d p a c k e d a n d t h e c o n f o r m a n t - a r r a y - s c h e m a i s a p a c k e d -  

c o n f o r m a n t - a r r a y - s c h e m a .  

3 9 

Page 46: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 46/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

N O T E | 2 T h e a b b r e v i a t e d a n d f u l l f o r m s o f a c o n f o r m a n t - a r r a y - s c h e m a a r e e q u i v a l e n t ( s e e   6 . 6 . 3 . 7   ) . T h e  

a b b r e v i a t e d a n d f u l l f o r m s o f a n a r r a y - t y p e a r e e q u i v a l e n t ( s e e   6 . 4 . 3 . 2   )

A t a n y p l a c e w h e r e t h e r u l e o f c o n f o r m a b i l i t y i s u s e d , i t s h a l l b e a n e r r o r i f t h e s m a l l e s t o r l a r g e s t  

v a l u e s p e c i e d b y t h e i n d e x - t y p e o f T 1 l i e s o u t s i d e t h e c l o s e d i n t e r v a l s p e c i e d b y T 2 .  

6 . 6 . 4 R e q u i r e d p r o c e d u r e s a n d f u n c t i o n s  

T h e r e q u i r e d p r o c e d u r e - i d e n t i e r s a n d f u n c t i o n - i d e n t i e r s a n d t h e c o r r e s p o n d i n g r e q u i r e d p r o c e d u r e s  

a n d f u n c t i o n s s h a l l b e a s s p e c i e d i n   6 . 6 . 5   ,  6 . 6 . 6   , a n d   6 . 9  . 

N O T E | R e q u i r e d p r o c e d u r e s a n d f u n c t i o n s d o n o t n e c e s s a r i l y f o l l o w t h e r u l e s g i v e n e l s e w h e r e f o r p r o c e d u r e s  

a n d f u n c t i o n s .  

6 . 6 . 5 R e q u i r e d p r o c e d u r e s  

6 . 6 . 5 . 1 G e n e r a l  

T h e r e q u i r e d p r o c e d u r e s s h a l l b e l e h a n d l i n g p r o c e d u r e s , d y n a m i c a l l o c a t i o n p r o c e d u r e s a n d  

t r a n s f e r p r o c e d u r e s .  

6 . 6 . 5 . 2 F i l e h a n d l i n g p r o c e d u r e s  

E x c e p t f o r t h e a p p l i c a t i o n o f   r e w r i t e   o r  r e s e t   t o t h e p r o g r a m p a r a m e t e r s d e n o t e d b y   i n p u t   o r 

o u t p u t  , t h e e e c t s o f a p p l y i n g e a c h o f t h e l e h a n d l i n g p r o c e d u r e s   r e w r i t e  ,  p u t  ,  r e s e t  , a n d   g e t 

t o a l e - v a r i a b l e f s h a l l b e d e n e d b y p r e - a s s e r t i o n s a n d p o s t - a s s e r t i o n s a b o u t f , i t s c o m p o n e n t s f . L ,  

f . R , a n d f . M , a n d t h e a s s o c i a t e d b u e r - v a r i a b l e f  "  . T h e u s e o f t h e v a r i a b l e f 0 w i t h i n a n a s s e r t i o n  

s h a l l b e c o n s i d e r e d t o r e p r e s e n t t h e s t a t e o r v a l u e , a s a p p r o p r i a t e , o f f p r i o r t o t h e o p e r a t i o n , w h i l e  

f ( w i t h i n a n a s s e r t i o n ) s h a l l d e n o t e t h e v a r i a b l e a f t e r t h e o p e r a t i o n , a n d s i m i l a r l y f o r f 0  "  a n d f  "  . 

I t s h a l l b e a n e r r o r i f t h e s t a t e d p r e - a s s e r t i o n d o e s n o t h o l d i m m e d i a t e l y p r i o r t o a n y u s e o f t h e  

d e n e d o p e r a t i o n . I t s h a l l b e a n e r r o r i f a n y v a r i a b l e e x p l i c i t l y d e n o t e d i n a n a s s e r t i o n o f e q u a l i t y  

i s u n d e n e d . T h e p o s t - a s s e r t i o n s h a l l h o l d p r i o r t o t h e n e x t s u b s e q u e n t a c c e s s t o t h e l e , i t s  

c o m p o n e n t s , o r i t s a s s o c i a t e d b u e r - v a r i a b l e . T h e p o s t - a s s e r t i o n s i m p l y c o r r e s p o n d i n g a c t i v i t i e s o n  

t h e e x t e r n a l e n t i t i e s , i f a n y , t o w h i c h t h e l e - v a r i a b l e s a r e b o u n d . T h e s e a c t i v i t i e s , a n d t h e p o i n t a t  

w h i c h t h e y a r e a c t u a l l y p e r f o r m e d , s h a l l b e i m p l e m e n t a t i o n - d e n e d .  

N O T E | I n o r d e r t o f a c i l i t a t e i n t e r a c t i v e t e r m i n a l i n p u t a n d o u t p u t , t h e p r o c e d u r e   g e t  ( a n d o t h e r i n p u t  

p r o c e d u r e s ) s h o u l d b e p e r f o r m e d a t t h e l a t e s t o p p o r t u n i t y , a n d t h e p r o c e d u r e   p u t  ( a n d o t h e r o u t p u t  

p r o c e d u r e s ) s h o u l d b e p e r f o r m e d a t t h e r s t o p p o r t u n i t y . T h i s t e c h n i q u e h a s b e e n c a l l e d ` l a z y I / O ' .  

r e w r i t e ( f )  

p r e - a s s e r t i o n : t r u e .  

p o s t - a s s e r t i o n : ( f . L = f . R = S ( ) ) a n d ( f . M = G e n e r a t i o n ) a n d  

( f  "  i s t o t a l l y - u n d e n e d ) .  

p u t ( f )  

p r e - a s s e r t i o n : ( f 0 . M = G e n e r a t i o n ) a n d ( f 0 . L i s n o t u n d e n e d ) a n d ( f 0 . R = S ( ) ) a n d  

4 0 

Page 47: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 47/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

( f 0  "  i s n o t u n d e n e d ) .  

p o s t - a s s e r t i o n : ( f . M = G e n e r a t i o n ) a n d ( f . L = ( f 0 . L ~ S ( f 0  "  ) ) ) a n d ( f . R = S ( ) ) a n d  

( f  "  i s t o t a l l y - u n d e n e d ) .  

r e s e t ( f )  

p r e - a s s e r t i o n : T h e c o m p o n e n t s f 0 . L a n d f 0 . R a r e n o t u n d e n e d .  

p o s t - a s s e r t i o n : ( f . L = S ( ) ) a n d ( f . R = ( f 0 . L ~ f 0 . R ~ X ) ) a n d  

( f . M = I n s p e c t i o n ) a n d  

( i f f . R = S ( ) t h e n ( f  "  i s t o t a l l y - u n d e n e d ) e l s e ( f  "  = f . R . r s t ) ) ,  

w h e r e , i f f p o s s e s s e s t h e t y p e d e n o t e d b y t h e r e q u i r e d t y p e - i d e n t i e r   t e x t   a n d i f f 0 . L ~ f 0 . R i s  

n o t e m p t y a n d i f ( f 0 . L ~ f 0 . R ) . l a s t i s n o t a n e n d - o f - l i n e , t h e n X s h a l l b e a s e q u e n c e h a v i n g a n  

e n d - o f - l i n e c o m p o n e n t a s i t s o n l y c o m p o n e n t o t h e r w i s e , X = S ( ) .  

g e t ( f )  

p r e - a s s e r t i o n : ( f 0 . M = I n s p e c t i o n ) a n d ( n e i t h e r f 0 . L n o r f 0 . R i s u n d e n e d ) a n d  

( f 0 . R   < >  S ( ) ) .  

p o s t - a s s e r t i o n : ( f . M = I n s p e c t i o n ) a n d ( f . L = ( f 0 . L ~ S ( f 0 . R . r s t ) ) ) a n d ( f . R = f 0 . R . r e s t ) a n d  

( i f f . R = S ( )  

t h e n ( f  "  i s t o t a l l y - u n d e n e d )  

e l s e ( f  "  = f . R . r s t ) ) .  

W h e n t h e l e - v a r i a b l e f p o s s e s s e s a t y p e o t h e r t h a n t h a t d e n o t e d b y   t e x t  , t h e r e q u i r e d p r o c e d u r e s  

r e a d   a n d  w r i t e   s h a l l b e d e n e d a s f o l l o w s .  

r e a d  

L e t f d e n o t e a l e - v a r i a b l e a n d v  

, . . . , v  

d e n o t e v a r i a b l e - a c c e s s e s ( n   >  = 2 ) t h e n t h e p r o c e d u r e -  

s t a t e m e n t r e a d ( f , v  

, . . . , v  

) s h a l l a c c e s s t h e l e - v a r i a b l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t l e -  

v a r i a b l e f o r t h e r e m a i n i n g e x e c u t i o n o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l  

b e e q u i v a l e n t t o  

b e g i n r e a d ( , v  

) r e a d ( , v  

, . . . , v  

) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d l e - v a r i a b l e .  

L e t f b e a l e - v a r i a b l e a n d v b e a v a r i a b l e - a c c e s s t h e n t h e p r o c e d u r e - s t a t e m e n t r e a d ( f , v ) s h a l l  

a c c e s s t h e l e - v a r i a b l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t l e - v a r i a b l e f o r t h e r e m a i n i n g e x e c u t i o n  

o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l b e e q u i v a l e n t t o  

b e g i n v : =  "  g e t ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d l e - v a r i a b l e .  

N O T E | T h e v a r i a b l e - a c c e s s i s n o t a v a r i a b l e p a r a m e t e r . C o n s e q u e n t l y , i t m a y b e a c o m p o n e n t o f a  

p a c k e d s t r u c t u r e , a n d t h e v a l u e o f t h e b u e r - v a r i a b l e n e e d o n l y b e a s s i g n m e n t - c o m p a t i b l e w i t h i t .  

w r i t e  

L e t f d e n o t e a l e - v a r i a b l e a n d e  

, . . . , e  

d e n o t e e x p r e s s i o n s ( n   >  = 2 ) t h e n t h e p r o c e d u r e -  

s t a t e m e n t w r i t e ( f , e  

, . . . , e  

) s h a l l a c c e s s t h e l e - v a r i a b l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t l e -  

4 1 

Page 48: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 48/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

v a r i a b l e f o r t h e r e m a i n i n g e x e c u t i o n o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l  

b e e q u i v a l e n t t o  

b e g i n w r i t e ( , e  

) w r i t e ( , e  

, . . . , e  

) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d l e - v a r i a b l e .  

L e t f b e a l e - v a r i a b l e a n d e b e a n e x p r e s s i o n t h e n t h e p r o c e d u r e - s t a t e m e n t w r i t e ( f , e ) s h a l l  

a c c e s s t h e l e - v a r i a b l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t l e - v a r i a b l e f o r t h e r e m a i n i n g e x e c u t i o n  

o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e w r i t e s t a t e m e n t s h a l l b e e q u i v a l e n t t o  

b e g i n   "  : = e p u t ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d l e - v a r i a b l e .  

N O T E S  

1 T h e r e q u i r e d p r o c e d u r e s   r e a d   ,  w r i t e  ,  r e a d l n   ,  w r i t e l n   , a n d   p a g e  , a s a p p l i e d t o t e x t l e s , a r e  

d e s c r i b e d i n   6 . 1 0  

2 S i n c e t h e d e n i t i o n s o f   r e a d   a n d  w r i t e   i n c l u d e t h e u s e o f   g e t  a n d  p u t  , t h e i m p l e m e n t a t i o n - d e n e d  

a s p e c t s o f t h e i r p o s t - a s s e r t i o n s a l s o a p p l y .  

3 A c o n s e q u e n c e o f t h e d e n i t i o n o f   r e a d   a n d  w r i t e   i s t h a t t h e n o n - l e p a r a m e t e r s a r e e v a l u a t e d i n  

a l e f t - t o - r i g h t o r d e r .  

6 . 6 . 5 . 3 D y n a m i c a l l o c a t i o n p r o c e d u r e s  

n e w ( p )  

s h a l l c r e a t e a n e w v a r i a b l e t h a t i s t o t a l l y - u n d e n e d , s h a l l c r e a t e a n e w i d e n t i f y i n g - v a l u e o f  

t h e p o i n t e r - t y p e a s s o c i a t e d w i t h p , t h a t i d e n t i e s t h e n e w v a r i a b l e , a n d s h a l l a t t r i b u t e t h i s  

i d e n t i f y i n g - v a l u e t o t h e v a r i a b l e d e n o t e d b y t h e v a r i a b l e - a c c e s s p . T h e c r e a t e d v a r i a b l e s h a l l  

p o s s e s s t h e t y p e t h a t i s t h e d o m a i n - t y p e   o f  t h e p o i n t e r - t y p e p o s s e s s e d b y p .  

n e w ( p , c  

, . . . , c  

s h a l l c r e a t e a n e w v a r i a b l e t h a t i s t o t a l l y - u n d e n e d , s h a l l c r e a t e a n e w i d e n t i f y i n g - v a l u e o f  

t h e p o i n t e r - t y p e a s s o c i a t e d w i t h p , t h a t i d e n t i e s t h e n e w v a r i a b l e , a n d s h a l l a t t r i b u t e t h i s  

i d e n t i f y i n g - v a l u e t o t h e v a r i a b l e d e n o t e d b y t h e v a r i a b l e - a c c e s s p . T h e c r e a t e d v a r i a b l e s h a l l  

p o s s e s s t h e r e c o r d - t y p e t h a t i s t h e d o m a i n - t y p e   o f  t h e p o i n t e r - t y p e p o s s e s s e d b y p a n d s h a l l  

h a v e n e s t e d v a r i a n t s t h a t c o r r e s p o n d t o t h e c a s e - c o n s t a n t s c  

, . . . , c  

. T h e c a s e - c o n s t a n t s s h a l l  

b e l i s t e d i n o r d e r o f i n c r e a s i n g n e s t i n g o f t h e v a r i a n t - p a r t s . A n y v a r i a n t n o t s p e c i e d s h a l l b e  

a t a d e e p e r l e v e l o f n e s t i n g t h a n t h a t s p e c i e d b y c n .  

I t s h a l l b e a n e r r o r i f a v a r i a n t o f a v a r i a n t - p a r t w i t h i n t h e n e w v a r i a b l e i s a c t i v e a n d a d i e r e n t  

v a r i a n t o f t h e v a r i a n t - p a r t i s o n e o f t h e s p e c i e d v a r i a n t s .  

d i s p o s e ( q )  

s h a l l r e m o v e t h e i d e n t i f y i n g - v a l u e d e n o t e d b y t h e e x p r e s s i o n q f r o m t h e p o i n t e r - t y p e o f q . I t  

s h a l l b e a n e r r o r i f t h e i d e n t i f y i n g - v a l u e h a d b e e n c r e a t e d u s i n g t h e f o r m n e w ( p , c  

, . . . , c  

) . 

d i s p o s e ( q , k  

, . . . , k  

s h a l l r e m o v e t h e i d e n t i f y i n g - v a l u e d e n o t e d b y t h e e x p r e s s i o n q f r o m t h e p o i n t e r - t y p e o f q . T h e  

4 2 

Page 49: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 49/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

c a s e - c o n s t a n t s k  

, . . . , k  

s h a l l b e l i s t e d i n o r d e r o f i n c r e a s i n g n e s t i n g o f t h e v a r i a n t - p a r t s . I t  

s h a l l b e a n e r r o r u n l e s s t h e v a r i a b l e h a d b e e n c r e a t e d u s i n g t h e f o r m n e w ( p , c  

, . . . , c  

) a n d m i s  

e q u a l t o n . I t s h a l l b e a n e r r o r i f t h e v a r i a n t s i n t h e v a r i a b l e i d e n t i e d b y t h e p o i n t e r v a l u e o f  

q a r e d i e r e n t f r o m t h o s e s p e c i e d b y t h e v a l u e s d e n o t e d b y t h e c a s e - c o n s t a n t s k  

, . . . , k  

N O T E | T h e r e m o v a l o f a n i d e n t i f y i n g - v a l u e f r o m t h e p o i n t e r - t y p e t o w h i c h i t b e l o n g s r e n d e r s t h e i d e n t i e d -  

v a r i a b l e i n a c c e s s i b l e ( s e e   6 . 5 . 4   ) a n d m a k e s u n d e n e d a l l v a r i a b l e s a n d f u n c t i o n s t h a t h a v e t h a t v a l u e  

a t t r i b u t e d ( s e e   6 . 6 . 3 . 2   a n d  6 . 8 . 2 . 2   )

I t s h a l l b e a n e r r o r i f q h a s a n i l - v a l u e o r i s u n d e n e d .  

I t s h a l l b e a n e r r o r i f a v a r i a b l e c r e a t e d u s i n g t h e s e c o n d f o r m o f n e w i s a c c e s s e d b y t h e i d e n t i e d -  

v a r i a b l e o f t h e v a r i a b l e - a c c e s s   o f  a f a c t o r ,   o f  a n a s s i g n m e n t - s t a t e m e n t , o r   o f  a n a c t u a l - p a r a m e t e r .  

6 . 6 . 5 . 4 T r a n s f e r p r o c e d u r e s  

I n t h e s t a t e m e n t p a c k ( a , i , z ) a n d i n t h e s t a t e m e n t u n p a c k ( z , a , i ) t h e f o l l o w i n g s h a l l h o l d : a a n d z  

s h a l l b e v a r i a b l e - a c c e s s e s a s h a l l p o s s e s s a n a r r a y - t y p e n o t d e s i g n a t e d p a c k e d z s h a l l p o s s e s s a n  

a r r a y - t y p e d e s i g n a t e d p a c k e d t h e c o m p o n e n t - t y p e s o f t h e t y p e s o f a a n d z s h a l l b e t h e s a m e a n d  

t h e v a l u e o f t h e e x p r e s s i o n i s h a l l b e a s s i g n m e n t - c o m p a t i b l e w i t h t h e i n d e x - t y p e o f t h e t y p e o f a .  

L e t j a n d k d e n o t e a u x i l i a r y v a r i a b l e s t h a t t h e p r o g r a m d o e s n o t o t h e r w i s e c o n t a i n a n d t h a t h a v e t h e  

t y p e t h a t i s t h e i n d e x - t y p e o f t h e t y p e o f z a n d a , r e s p e c t i v e l y . L e t u a n d v d e n o t e t h e s m a l l e s t a n d  

l a r g e s t v a l u e s o f t h e i n d e x - t y p e o f t h e t y p e o f z . E a c h o f t h e s t a t e m e n t s p a c k ( a , i , z ) a n d u n p a c k ( z , a , i )  

s h a l l e s t a b l i s h r e f e r e n c e s t o t h e v a r i a b l e s d e n o t e d b y a a n d z f o r t h e r e m a i n i n g e x e c u t i o n o f t h e  

s t a t e m e n t s l e t a a a n d z z , r e s p e c t i v e l y , d e n o t e t h e r e f e r e n c e d v a r i a b l e s w i t h i n t h e f o l l o w i n g s e n t e n c e .  

T h e n t h e s t a t e m e n t p a c k ( a , i , z ) s h a l l b e e q u i v a l e n t t o  

b e g i n  

k : = i  

f o r j : = u t o v d o  

b e g i n  

z z j ] : = a a k ]  

i f j  < >  v t h e n k : = s u c c ( k )  

e n d 

e n d 

a n d t h e s t a t e m e n t u n p a c k ( z , a , i ) s h a l l b e e q u i v a l e n t t o  

b e g i n  

k : = i  

f o r j : = u t o v d o  

b e g i n  

a a k ] : = z z j ]  

i f j  < >  v t h e n k : = s u c c ( k )  

e n d 

e n d 

N O T E | E r r o r s w i l l a r i s e i f t h e r e f e r e n c e s c a n n o t b e e s t a b l i s h e d , i f o n e o r m o r e o f t h e v a l u e s a t t r i b u t e d t o  

4 3 

Page 50: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 50/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

 j i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e i n d e x - t y p e o f t h e t y p e o f a , o r i f a n e v a l u a t e d a r r a y c o m p o n e n t i s  

u n d e n e d .  

6 . 6 . 6 R e q u i r e d f u n c t i o n s  

6 . 6 . 6 . 1 G e n e r a l  

T h e r e q u i r e d f u n c t i o n s s h a l l b e a r i t h m e t i c f u n c t i o n s , t r a n s f e r f u n c t i o n s , o r d i n a l f u n c t i o n s , a n d  

B o o l e a n f u n c t i o n s .  

6 . 6 . 6 . 2 A r i t h m e t i c f u n c t i o n s  

F o r t h e f o l l o w i n g a r i t h m e t i c f u n c t i o n s , t h e e x p r e s s i o n x s h a l l b e e i t h e r o f r e a l - t y p e o r i n t e g e r - t y p e .  

F o r t h e f u n c t i o n s   a b s  a n d  s q r  , t h e t y p e o f t h e r e s u l t s h a l l b e t h e s a m e a s t h e t y p e o f t h e p a r a m e t e r ,  

x . F o r t h e r e m a i n i n g a r i t h m e t i c f u n c t i o n s , t h e r e s u l t s h a l l a l w a y s b e o f r e a l - t y p e . T h e r e s u l t s h a l l  

b e a s s h o w n i n t a b l e 2 .  

T a b l e 2 | A r i t h m e t i c f u n c t i o n r e s u l t s  

F u n c t i o n R e s u l t  

a b s ( x ) a b s o l u t e v a l u e o f x  

s q r ( x ) s q u a r e o f x  

I t s h a l l b e a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

s i n ( x ) s i n e o f x , w h e r e x i s i n r a d i a n s  

c o s ( x ) c o s i n e o f x , w h e r e x i s i n r a d i a n s  

e x p ( x ) b a s e o f n a t u r a l l o g a r i t h m s r a i s e d t o t h e p o w e r x  

l n ( x ) n a t u r a l l o g a r i t h m o f x , i f x i s g r e a t e r t h a n z e r o  

I t s h a l l b e a n e r r o r i f x i s n o t g r e a t e r t h a n z e r o .  

s q r t ( x ) n o n - n e g a t i v e s q u a r e r o o t o f x , i f x i s n o t n e g a t i v e  

I t s h a l l b e a n e r r o r i f x i s n e g a t i v e .  

a r c t a n ( x ) p r i n c i p a l v a l u e , i n r a d i a n s , o f t h e a r c t a n g e n t o f x  

6 . 6 . 6 . 3 T r a n s f e r f u n c t i o n s  

t r u n c ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f r e a l - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t o f i n t e g e r -  

t y p e . T h e v a l u e o f t r u n c ( x ) s h a l l b e s u c h t h a t i f x i s p o s i t i v e o r z e r o , t h e n 0    x  ;  t r u n c ( x )  <  1  

o t h e r w i s e ,   ;  1  <  x  ;  t r u n c ( x )    0 . I t s h a l l b e a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

E x a m p l e s :  

t r u n c ( 3 . 5 )   f  y i e l d s 3  g 

t r u n c ( - 3 . 5 )   f  y i e l d s - 3  g 

r o u n d ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f r e a l - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t o f i n t e g e r -  

t y p e . I f x i s p o s i t i v e o r z e r o , r o u n d ( x ) s h a l l b e e q u i v a l e n t t o t r u n c ( x + 0 . 5 ) o t h e r w i s e , r o u n d ( x )  

s h a l l b e e q u i v a l e n t t o t r u n c ( x   ;  0 . 5 ) . I t s h a l l b e a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

4 4 

Page 51: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 51/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

E x a m p l e s :  

r o u n d ( 3 . 5 )   f  y i e l d s 4  g 

r o u n d ( - 3 . 5 )   f  y i e l d s - 4  g 

6 . 6 . 6 . 4 O r d i n a l f u n c t i o n s  

o r d ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f a n o r d i n a l - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t o f  

i n t e g e r - t y p e t h a t s h a l l b e t h e o r d i n a l n u m b e r ( s e e   6 . 4 . 2 . 2   a n d  6 . 4 . 2 . 3   ) o f t h e v a l u e o f t h e  

e x p r e s s i o n x .  

c h r ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f i n t e g e r - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t o f c h a r -  

t y p e t h a t s h a l l b e t h e v a l u e w h o s e o r d i n a l n u m b e r i s e q u a l t o t h e v a l u e o f t h e e x p r e s s i o n x , i f  

s u c h a c h a r a c t e r v a l u e e x i s t s . I t s h a l l b e a n e r r o r i f s u c h a c h a r a c t e r v a l u e d o e s n o t e x i s t . F o r  

a n y v a l u e , c h , o f c h a r - t y p e , i t s h a l l b e t r u e t h a t  

c h r ( o r d ( c h ) ) = c h  

s u c c ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f a n o r d i n a l - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t t h a t  

s h a l l b e o f t h e s a m e t y p e a s t h a t o f t h e e x p r e s s i o n ( s e e   6 . 7 . 1   ) . T h e f u n c t i o n s h a l l y i e l d a v a l u e  

w h o s e o r d i n a l n u m b e r i s o n e g r e a t e r t h a n t h a t o f t h e e x p r e s s i o n x , i f s u c h a v a l u e e x i s t s . I t  

s h a l l b e a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

p r e d ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f a n o r d i n a l - t y p e , t h i s f u n c t i o n s h a l l r e t u r n a r e s u l t t h a t  

s h a l l b e o f t h e s a m e t y p e a s t h a t o f t h e e x p r e s s i o n ( s e e   6 . 7 . 1   ) . T h e f u n c t i o n s h a l l y i e l d a v a l u e  

w h o s e o r d i n a l n u m b e r i s o n e l e s s t h a n t h a t o f t h e e x p r e s s i o n x , i f s u c h a v a l u e e x i s t s . I t s h a l l  

b e a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

6 . 6 . 6 . 5 B o o l e a n f u n c t i o n s  

o d d ( x )  

F r o m t h e e x p r e s s i o n x t h a t s h a l l b e o f i n t e g e r - t y p e , t h i s f u n c t i o n s h a l l b e e q u i v a l e n t t o t h e  

e x p r e s s i o n  

( a b s ( x ) m o d 2 = 1 ) .  

e o f ( f )  

T h e p a r a m e t e r f s h a l l b e a l e - v a r i a b l e i f t h e a c t u a l - p a r a m e t e r - l i s t i s o m i t t e d , t h e f u n c t i o n  

s h a l l b e a p p l i e d t o t h e r e q u i r e d t e x t l e   i n p u t   ( s e e   6 . 1 0   ) a n d t h e p r o g r a m s h a l l c o n t a i n  

a p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g i n p u t . W h e n e o f ( f ) i s  

a c t i v a t e d , i t s h a l l b e a n e r r o r i f f i s u n d e n e d o t h e r w i s e , t h e f u n c t i o n s h a l l y i e l d t h e v a l u e  

t r u e i f f . R i s t h e e m p t y s e q u e n c e ( s e e   6 . 4 . 3 . 5   ) o t h e r w i s e , f a l s e .  

e o l n ( f )  

T h e p a r a m e t e r f s h a l l b e a t e x t l e i f t h e a c t u a l - p a r a m e t e r - l i s t i s o m i t t e d , t h e f u n c t i o n s h a l l  

b e a p p l i e d t o t h e r e q u i r e d t e x t l e   i n p u t   ( s e e   6 . 1 0   ) a n d t h e p r o g r a m s h a l l c o n t a i n a p r o g r a m -  

4 5 

Page 52: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 52/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g i n p u t . W h e n e o l n ( f ) i s a c t i v a t e d , i t  

s h a l l b e a n e r r o r i f f i s u n d e n e d o r i f e o f ( f ) i s t r u e o t h e r w i s e , t h e f u n c t i o n s h a l l y i e l d t h e  

v a l u e t r u e i f f . R . r s t i s a n e n d - o f - l i n e c o m p o n e n t ( s e e   6 . 4 . 3 . 5   ) o t h e r w i s e , f a l s e .  

6 . 7 E x p r e s s i o n s  

6 . 7 . 1 G e n e r a l  

A n e x p r e s s i o n s h a l l d e n o t e a v a l u e . T h e u s e o f a v a r i a b l e - a c c e s s a s a f a c t o r s h a l l d e n o t e t h e  

v a l u e , i f a n y , a t t r i b u t e d t o t h e v a r i a b l e a c c e s s e d t h e r e b y . W h e n a f a c t o r i s u s e d , i t s h a l l b e a n  

e r r o r i f t h e v a r i a b l e d e n o t e d b y a v a r i a b l e - a c c e s s o f t h e f a c t o r i s u n d e n e d . O p e r a t o r p r e c e d e n c e s  

s h a l l b e a c c o r d i n g t o f o u r c l a s s e s o f o p e r a t o r s a s f o l l o w s . T h e o p e r a t o r n o t s h a l l h a v e t h e h i g h e s t  

p r e c e d e n c e , f o l l o w e d b y t h e m u l t i p l y i n g - o p e r a t o r s , t h e n t h e a d d i n g - o p e r a t o r s a n d s i g n s , a n d n a l l y ,  

w i t h t h e l o w e s t p r e c e d e n c e , t h e r e l a t i o n a l - o p e r a t o r s . S e q u e n c e s o f t w o o r m o r e o p e r a t o r s o f t h e s a m e  

p r e c e d e n c e s h a l l b e l e f t a s s o c i a t i v e .  

e x p r e s s i o n = s i m p l e - e x p r e s s i o n r e l a t i o n a l - o p e r a t o r s i m p l e - e x p r e s s i o n ] .  

s i m p l e - e x p r e s s i o n = s i g n ] t e r m   f  a d d i n g - o p e r a t o r t e r m   g  . 

t e r m = f a c t o r   f  m u l t i p l y i n g - o p e r a t o r f a c t o r   g  . 

f a c t o r   >  v a r i a b l e - a c c e s s   j  u n s i g n e d - c o n s t a n t   j  f u n c t i o n - d e s i g n a t o r  

j  s e t - c o n s t r u c t o r   j   ̀ (  ' e x p r e s s i o n `  )  '  j   ̀ n o t  ' f a c t o r .  

N O T E | 1 T h e r e i s a l s o a s y n t a x r u l e f o r f a c t o r i n   6 . 6 . 3 . 7 . 1  

u n s i g n e d - c o n s t a n t = u n s i g n e d - n u m b e r   j  c h a r a c t e r - s t r i n g   j  c o n s t a n t - i d e n t i e r   j   ̀ n i l  ' . 

s e t - c o n s t r u c t o r = `    ' m e m b e r - d e s i g n a t o r   f   ̀ ,  ' m e m b e r - d e s i g n a t o r   g  ]  ̀ ]  ' . 

m e m b e r - d e s i g n a t o r = e x p r e s s i o n `   ' e x p r e s s i o n ] .  

A n y f a c t o r w h o s e t y p e i s S , w h e r e S i s a s u b r a n g e o f T , s h a l l b e t r e a t e d a s i f i t w e r e o f t y p e  

T . S i m i l a r l y , a n y f a c t o r w h o s e t y p e i s s e t o f S s h a l l b e t r e a t e d a s i f i t w e r e o f t h e u n p a c k e d -  

c a n o n i c a l - s e t - o f - T - t y p e , a n d a n y f a c t o r w h o s e t y p e i s p a c k e d s e t o f S s h a l l b e t r e a t e d a s o f t h e  

p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e .  

A s e t - c o n s t r u c t o r s h a l l d e n o t e a v a l u e o f a s e t - t y p e . T h e s e t - c o n s t r u c t o r   ]  s h a l l d e n o t e t h e v a l u e  

i n e v e r y s e t - t y p e t h a t c o n t a i n s n o m e m b e r s . A s e t - c o n s t r u c t o r   c o n t a i n i n g   o n e o r m o r e m e m b e r -  

d e s i g n a t o r s s h a l l d e n o t e e i t h e r a v a l u e o f t h e u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e o r , i f t h e c o n t e x t  

s o r e q u i r e s , t h e p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e , w h e r e T i s t h e t y p e o f e v e r y e x p r e s s i o n   o f  e a c h  

m e m b e r - d e s i g n a t o r   o f  t h e s e t - c o n s t r u c t o r . T h e t y p e T s h a l l b e a n o r d i n a l - t y p e . T h e v a l u e d e n o t e d  

b y t h e s e t - c o n s t r u c t o r s h a l l c o n t a i n z e r o o r m o r e m e m b e r s , e a c h o f w h i c h s h a l l b e d e n o t e d b y a t  

l e a s t o n e m e m b e r - d e s i g n a t o r   o f  t h e s e t - c o n s t r u c t o r .  

T h e m e m b e r - d e s i g n a t o r x , w h e r e x i s a n e x p r e s s i o n , s h a l l d e n o t e t h e m e m b e r t h a t s h a l l b e t h e v a l u e  

o f x . T h e m e m b e r - d e s i g n a t o r x . . y , w h e r e x a n d y a r e e x p r e s s i o n s , s h a l l d e n o t e z e r o o r m o r e m e m b e r s  

t h a t s h a l l b e t h e v a l u e s o f t h e b a s e - t y p e i n t h e c l o s e d i n t e r v a l f r o m t h e v a l u e o f x t o t h e v a l u e o f y . T h e  

4 6 

Page 53: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 53/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

o r d e r o f e v a l u a t i o n o f t h e e x p r e s s i o n s   o f  a m e m b e r - d e s i g n a t o r s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t .  

T h e o r d e r o f e v a l u a t i o n o f t h e m e m b e r - d e s i g n a t o r s   o f  a s e t - c o n s t r u c t o r s h a l l b e i m p l e m e n t a t i o n -  

d e p e n d e n t .  

N O T E S  

2 T h e m e m b e r - d e s i g n a t o r x . . y d e n o t e s n o m e m b e r s i f t h e v a l u e o f x i s g r e a t e r t h a n t h e v a l u e o f y .  

3 T h e s e t - c o n s t r u c t o r ] d o e s n o t h a v e a s i n g l e t y p e , b u t a s s u m e s a s u i t a b l e t y p e t o s a t i s f y t h e a s s i g n m e n t -  

c o m p a t i b i l i t y r u l e s , o r t h e c o m p a t i b i l i t y r u l e s f o r o p e r a t o r s , i f p o s s i b l e .  

E x a m p l e s :  

a ) F a c t o r s :  

1 5 

( x + y + z )  

s i n ( x + y )  

r e d , c , g r e e n ]  

1 , 5 , 1 0 . . 1 9 , 2 3 ]  

n o t p  

b ) T e r m s :  

x * y 

i / ( 1 - i )  

( x < = y ) a n d ( y < z )  

c ) S i m p l e E x p r e s s i o n s :  

p o r q  

x + y 

- x 

h u e 1 + h u e 2  

i * j + 1  

d ) E x p r e s s i o n s :  

x = 1 . 5  

p < = q  

p = q a n d r  

( i < j ) = ( j < k )  

c i n h u e 1  

6 . 7 . 2 O p e r a t o r s  

6 . 7 . 2 . 1 G e n e r a l  

m u l t i p l y i n g - o p e r a t o r = `  *  '  j   ̀ /  '  j   ̀ d i v  '  j   ̀ m o d  '  j   ̀ a n d  ' . 

a d d i n g - o p e r a t o r = `  +  '  j   ̀ ;  '  j   ̀ o r  ' . 

r e l a t i o n a l - o p e r a t o r = `  =  '  j   ̀ < >  '  j   ̀ <  '  j   ̀ >  '  j   ̀ <  =  '  j   ̀ >  =  '  j   ̀ i n  ' . 

A f a c t o r , a t e r m , o r a s i m p l e - e x p r e s s i o n s h a l l b e d e s i g n a t e d a n o p e r a n d . T h e o r d e r o f e v a l u a t i o n o f  

4 7 

Page 54: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 54/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

T a b l e 3 | D y a d i c a r i t h m e t i c o p e r a t i o n s  

O p e r a t o r O p e r a t i o n T y p e o f o p e r a n d s T y p e o f r e s u l t  

+  A d d i t i o n i n t e g e r - t y p e  

o r r e a l - t y p e  

-  S u b t r a c t i o n i n t e g e r - t y p e i n t e g e r - t y p e i f b o t h o p e r a n d s  

o r r e a l - t y p e a r e o f i n t e g e r - t y p e  

*  M u l t i p l i c a t i o n i n t e g e r - t y p e o t h e r w i s e r e a l - t y p e  

o r r e a l - t y p e  

/  D i v i s i o n i n t e g e r - t y p e r e a l - t y p e  

o r r e a l - t y p e  

d i v D i v i s i o n w i t h i n t e g e r - t y p e i n t e g e r - t y p e  

t r u n c a t i o n  

m o d M o d u l o i n t e g e r - t y p e i n t e g e r - t y p e  

T a b l e 4 | M o n a d i c a r i t h m e t i c o p e r a t i o n s  

O p e r a t o r O p e r a t i o n T y p e o f o p e r a n d T y p e o f r e s u l t  

+  I d e n t i t y i n t e g e r - t y p e i n t e g e r - t y p e  

r e a l - t y p e r e a l - t y p e  

-  S i g n - i n v e r s i o n i n t e g e r - t y p e i n t e g e r - t y p e  

r e a l - t y p e r e a l - t y p e  

t h e o p e r a n d s o f a d y a d i c o p e r a t o r s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t .  

N O T E | T h i s m e a n s , f o r e x a m p l e , t h a t t h e o p e r a n d s m a y b e e v a l u a t e d i n t e x t u a l o r d e r , o r i n r e v e r s e o r d e r ,  

o r i n p a r a l l e l , o r t h e y m a y n o t b o t h b e e v a l u a t e d .  

6 . 7 . 2 . 2 A r i t h m e t i c o p e r a t o r s  

T h e t y p e s o f o p e r a n d s a n d r e s u l t s f o r d y a d i c a n d m o n a d i c o p e r a t i o n s s h a l l b e a s s h o w n i n t a b l e s 3  

a n d 4 r e s p e c t i v e l y .  

N O T E | 1 T h e s y m b o l s + ,  ;  , a n d * a r e a l s o u s e d a s s e t o p e r a t o r s ( s e e   6 . 7 . 2 . 4   )

A t e r m o f t h e f o r m x / y s h a l l b e a n e r r o r i f y i s z e r o o t h e r w i s e , t h e v a l u e o f x / y s h a l l b e t h e r e s u l t  

o f d i v i d i n g x b y y .  

A t e r m o f t h e f o r m i d i v j s h a l l b e a n e r r o r i f j i s z e r o o t h e r w i s e , t h e v a l u e o f i d i v j s h a l l b e s u c h  

t h a t  

a b s ( i )   ;  a b s ( j )   <  a b s ( ( i d i v j ) * j )   <  = a b s ( i )  

w h e r e t h e v a l u e s h a l l b e z e r o i f a b s ( i )   <  a b s ( j ) o t h e r w i s e , t h e s i g n o f t h e v a l u e s h a l l b e p o s i t i v e i f i  

a n d j h a v e t h e s a m e s i g n a n d n e g a t i v e i f i a n d j h a v e d i e r e n t s i g n s .  

A t e r m o f t h e f o r m i m o d j s h a l l b e a n e r r o r i f j i s z e r o o r n e g a t i v e o t h e r w i s e , t h e v a l u e o f i m o d j  

s h a l l b e t h a t v a l u e o f ( i  ;  ( k * j ) ) f o r i n t e g r a l k s u c h t h a t 0   <  = i m o d j  <   j . 

4 8 

Page 55: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 55/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

T a b l e 5 | S e t o p e r a t i o n s  

O p e r a t o r O p e r a t i o n T y p e o f o p e r a n d s T y p e o f r e s u l t  

+  S e t u n i o n T h e s a m e u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

-  S e t d i e r e n c e o r p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e S a m e a s o p e r a n d s  

*  S e t i n t e r s e c t i o n ( s e e   6 . 7 . 1   ) 

N O T E | 2 O n l y f o r i  >  = 0 a n d j  >  0 d o e s t h e r e l a t i o n ( i d i v j ) * j + i m o d j = i h o l d .  

T h e r e q u i r e d c o n s t a n t - i d e n t i e r   m a x i n t   s h a l l d e n o t e a n i m p l e m e n t a t i o n - d e n e d v a l u e o f i n t e g e r -  

t y p e . T h i s v a l u e s h a l l s a t i s f y t h e f o l l o w i n g c o n d i t i o n s .  

a ) A l l i n t e g r a l v a l u e s i n t h e c l o s e d i n t e r v a l f r o m   ;  m a x i n t t o + m a x i n t s h a l l b e v a l u e s o f t h e  

i n t e g e r - t y p e .  

b ) A n y m o n a d i c o p e r a t i o n p e r f o r m e d o n a n i n t e g e r v a l u e i n t h i s i n t e r v a l s h a l l b e c o r r e c t l y  

p e r f o r m e d a c c o r d i n g t o t h e m a t h e m a t i c a l r u l e s f o r i n t e g e r a r i t h m e t i c .  

c ) A n y d y a d i c i n t e g e r o p e r a t i o n o n t w o i n t e g e r v a l u e s i n t h i s s a m e i n t e r v a l s h a l l b e c o r r e c t l y  

p e r f o r m e d a c c o r d i n g t o t h e m a t h e m a t i c a l r u l e s f o r i n t e g e r a r i t h m e t i c , p r o v i d e d t h a t t h e r e s u l t  

i s a l s o i n t h i s i n t e r v a l .  

d ) A n y r e l a t i o n a l o p e r a t i o n o n t w o i n t e g e r v a l u e s i n t h i s s a m e i n t e r v a l s h a l l b e c o r r e c t l y p e r f o r m e d  

a c c o r d i n g t o t h e m a t h e m a t i c a l r u l e s f o r i n t e g e r a r i t h m e t i c .  

T h e r e s u l t s o f i n t e g e r - t o - r e a l c o n v e r s i o n , o f t h e r e a l a r i t h m e t i c o p e r a t o r s a n d o f t h e r e q u i r e d r e a l  

f u n c t i o n s s h a l l b e a p p r o x i m a t i o n s t o t h e c o r r e s p o n d i n g m a t h e m a t i c a l r e s u l t s . T h e a c c u r a c y o f t h i s  

a p p r o x i m a t i o n s h a l l b e i m p l e m e n t a t i o n - d e n e d .  

I t s h a l l b e a n e r r o r i f a n i n t e g e r o p e r a t i o n o r f u n c t i o n i s n o t p e r f o r m e d a c c o r d i n g t o t h e m a t h e m a t i c a l  

r u l e s f o r i n t e g e r a r i t h m e t i c .  

6 . 7 . 2 . 3 B o o l e a n o p e r a t o r s  

O p e r a n d s a n d r e s u l t s f o r B o o l e a n o p e r a t i o n s s h a l l b e o f B o o l e a n - t y p e . T h e B o o l e a n o p e r a t o r s  

o r , a n d , a n d n o t s h a l l d e n o t e r e s p e c t i v e l y t h e l o g i c a l o p e r a t i o n s o f d i s j u n c t i o n , c o n j u n c t i o n , a n d  

n e g a t i o n .  

B o o l e a n - e x p r e s s i o n = e x p r e s s i o n .  

A B o o l e a n - e x p r e s s i o n s h a l l b e a n e x p r e s s i o n t h a t d e n o t e s a v a l u e o f B o o l e a n - t y p e .  

6 . 7 . 2 . 4 S e t o p e r a t o r s  

T h e t y p e s o f o p e r a n d s a n d r e s u l t s f o r s e t o p e r a t i o n s s h a l l b e a s s h o w n i n t a b l e 5 .  

W h e r e x d e n o t e s a v a l u e o f t h e o r d i n a l - t y p e T a n d u a n d v a r e o p e r a n d s o f a c a n o n i c a l - s e t - o f - T - t y p e ,  

i t s h a l l b e t r u e f o r a l l x t h a t  

4 9 

Page 56: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 56/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

T a b l e 6 | R e l a t i o n a l o p e r a t i o n s  

O p e r a t o r T y p e o f o p e r a n d s T y p e o f r e s u l t  

= < >  A n y s i m p l e - t y p e , p o i n t e r - t y p e , s t r i n g - t y p e , B o o l e a n - t y p e  

u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

o r p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

< >  A n y s i m p l e - t y p e o r s t r i n g - t y p e B o o l e a n - t y p e  

< = > =   A n y s i m p l e - t y p e , s t r i n g - t y p e , B o o l e a n - t y p e  

u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

o r p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

i n  L e f t o p e r a n d : a n y o r d i n a l - t y p e T B o o l e a n - t y p e  

r i g h t o p e r a n d : t h e u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

o r p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e  

| x i s a m e m b e r o f t h e v a l u e u + v i f a n d o n l y i f i t i s a m e m b e r o f t h e v a l u e o f u o r a m e m b e r  

o f t h e v a l u e o f v  

| x i s a m e m b e r o f t h e v a l u e u  ;  v i f a n d o n l y i f i t i s a m e m b e r o f t h e v a l u e o f u a n d n o t a  

m e m b e r o f t h e v a l u e o f v  

| x i s a m e m b e r o f t h e v a l u e u * v i f a n d o n l y i f i t i s a m e m b e r o f t h e v a l u e o f u a n d a m e m b e r  

o f t h e v a l u e o f v .  

6 . 7 . 2 . 5 R e l a t i o n a l o p e r a t o r s  

T h e t y p e s o f o p e r a n d s a n d r e s u l t s f o r r e l a t i o n a l o p e r a t i o n s s h a l l b e a s s h o w n i n t a b l e 6 .  

T h e o p e r a n d s o f = ,   < >  ,  <  ,  >  ,  >  = , a n d   <  = s h a l l b e o f c o m p a t i b l e t y p e s , o r t h e y s h a l l b e o f t h e  

s a m e u n p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e o r p a c k e d - c a n o n i c a l - s e t - o f - T - t y p e , o r o n e o p e r a n d s h a l l b e  

o f r e a l - t y p e a n d t h e o t h e r s h a l l b e o f i n t e g e r - t y p e .  

T h e o p e r a t o r s = ,   < >  ,  <  , a n d   >  s h a l l s t a n d f o r   e q u a l t o   ,  n o t e q u a l t o  ,  l e s s t h a n   , a n d   g r e a t e r t h a n  

r e s p e c t i v e l y .  

E x c e p t w h e n a p p l i e d t o s e t s , t h e o p e r a t o r s   <  = a n d   >  = s h a l l s t a n d f o r   l e s s t h a n o r e q u a l t o   a n d 

g r e a t e r t h a n o r e q u a l t o   r e s p e c t i v e l y . W h e r e u a n d v d e n o t e o p e r a n d s o f a s e t - t y p e , u   <  = v s h a l l  

d e n o t e t h e i n c l u s i o n o f u i n v a n d u   >  = v s h a l l d e n o t e t h e i n c l u s i o n o f v i n u .  

N O T E | S i n c e t h e B o o l e a n - t y p e i s a n o r d i n a l - t y p e w i t h f a l s e l e s s t h a n t r u e , t h e n i f p a n d q a r e o p e r a n d s  

o f B o o l e a n - t y p e , p = q d e n o t e s t h e i r e q u i v a l e n c e a n d p   <  = q m e a n s p i m p l i e s q .  

W h e n t h e r e l a t i o n a l - o p e r a t o r s = ,   < >  ,  <  ,  >  ,  <  = , a n d   >  = a r e u s e d t o c o m p a r e o p e r a n d s o f  

c o m p a t i b l e s t r i n g - t y p e s ( s e e   6 . 4 . 3 . 2   ) , t h e y s h a l l d e n o t e t h e l e x i c o g r a p h i c r e l a t i o n s d e n e d b e l o w .  

T h i s l e x i c o g r a p h i c o r d e r i n g s h a l l i m p o s e a t o t a l o r d e r i n g o n v a l u e s o f a s t r i n g - t y p e .  

I f s 1 a n d s 2 a r e t w o v a l u e s o f c o m p a t i b l e s t r i n g - t y p e s a n d n d e n o t e s t h e n u m b e r o f c o m p o n e n t s o f  

t h e c o m p a t i b l e s t r i n g - t y p e s , t h e n  

s 1 = s 2 i f o r a l l i i n 1 . . n ] : s 1 i ] = s 2 i ]  

5 0 

Page 57: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 57/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

s 1  <  s 2 i t h e r e e x i s t s a p i n 1 . . n ] :  

( f o r a l l i i n 1 . . p - 1 ] :  

s 1 i ] = s 2 i ] ) a n d s 1 p ]   <  s 2 p ]  

T h e d e n i t i o n s o f o p e r a t i o n s   >  ,  < >  ,  <  = , a n d   >  = a r e d e r i v e d f r o m t h e d e n i t i o n s o f = a n d   <  . 

T h e o p e r a t o r   i n  s h a l l y i e l d t h e v a l u e t r u e i f t h e v a l u e o f t h e o p e r a n d o f o r d i n a l - t y p e i s a m e m b e r o f  

t h e v a l u e o f t h e s e t - t y p e o t h e r w i s e , i t s h a l l y i e l d t h e v a l u e f a l s e .  

6 . 7 . 3 F u n c t i o n - d e s i g n a t o r s  

A f u n c t i o n - d e s i g n a t o r s h a l l s p e c i f y t h e a c t i v a t i o n o f t h e b l o c k   o f  t h e f u n c t i o n - b l o c k a s s o c i a t e d  

w i t h t h e f u n c t i o n - i d e n t i e r   o f  t h e f u n c t i o n - d e s i g n a t o r a n d s h a l l y i e l d t h e v a l u e o f t h e r e s u l t o f  

t h e a c t i v a t i o n u p o n c o m p l e t i o n o f t h e a l g o r i t h m o f t h e a c t i v a t i o n i t s h a l l b e a n e r r o r i f t h e r e s u l t i s  

u n d e n e d u p o n c o m p l e t i o n o f t h e a l g o r i t h m .  

N O T E | W h e n a f u n c t i o n a c t i v a t i o n i s t e r m i n a t e d b y a g o t o - s t a t e m e n t ( s e e   6 . 8 . 2 . 4   ) , t h e a l g o r i t h m o f t h e  

a c t i v a t i o n d o e s n o t c o m p l e t e ( s e e   6 . 2 . 3 . 2 a )  ) , a n d t h u s t h e r e i s n o e r r o r i f t h e r e s u l t o f t h e a c t i v a t i o n i s  

u n d e n e d .  

I f t h e f u n c t i o n h a s a n y f o r m a l - p a r a m e t e r s , t h e r e s h a l l b e a n a c t u a l p a r a m e t e r - l i s t i n t h e f u n c t i o n -  

d e s i g n a t o r . T h e a c t u a l - p a r a m e t e r - l i s t s h a l l b e t h e l i s t o f a c t u a l - p a r a m e t e r s t h a t s h a l l b e b o u n d  

t o t h e i r c o r r e s p o n d i n g f o r m a l - p a r a m e t e r s d e n e d i n t h e f u n c t i o n - d e c l a r a t i o n . T h e c o r r e s p o n d e n c e  

s h a l l b e e s t a b l i s h e d b y t h e p o s i t i o n s o f t h e p a r a m e t e r s i n t h e l i s t s o f a c t u a l - p a r a m e t e r s a n d f o r m a l -  

p a r a m e t e r s r e s p e c t i v e l y . T h e n u m b e r o f a c t u a l - p a r a m e t e r s s h a l l b e e q u a l t o t h e n u m b e r o f f o r m a l -  

p a r a m e t e r s . T h e t y p e s o f t h e a c t u a l - p a r a m e t e r s s h a l l c o r r e s p o n d t o t h e t y p e s o f t h e f o r m a l -  

p a r a m e t e r s a s s p e c i e d b y   6 . 6 . 3   . T h e o r d e r o f e v a l u a t i o n , a c c e s s i n g , a n d b i n d i n g o f t h e a c t u a l -  

p a r a m e t e r s s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t .  

f u n c t i o n - d e s i g n a t o r = f u n c t i o n - i d e n t i e r a c t u a l - p a r a m e t e r - l i s t ] .  

a c t u a l - p a r a m e t e r - l i s t = `  (  ' a c t u a l - p a r a m e t e r   f   ̀ ,  ' a c t u a l - p a r a m e t e r   g   ̀ )  ' . 

a c t u a l - p a r a m e t e r = e x p r e s s i o n   j  v a r i a b l e - a c c e s s   j  p r o c e d u r e - i d e n t i e r  

j  f u n c t i o n - i d e n t i e r .  

E x a m p l e s :  

S u m ( a , 6 3 )  

G C D ( 1 4 7 , k )  

s i n ( x + y )  

e o f ( f )  

o r d ( f  "  ) 

6 . 8 S t a t e m e n t s  

6 . 8 . 1 G e n e r a l  

S t a t e m e n t s s h a l l d e n o t e a l g o r i t h m i c a c t i o n s a n d s h a l l b e e x e c u t a b l e .  

5 1 

Page 58: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 58/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

N O T E | 1 A s t a t e m e n t m a y b e p r e x e d b y a l a b e l .  

A l a b e l , i f a n y ,   o f  a s t a t e m e n t S s h a l l b e d e s i g n a t e d a s   p r e x i n g   S . T h e l a b e l s h a l l b e p e r m i t t e d  

t o o c c u r   i n  a g o t o - s t a t e m e n t G ( s e e   6 . 8 . 2 . 4   ) i f a n d o n l y i f a n y o f t h e f o l l o w i n g t h r e e c o n d i t i o n s i s  

s a t i s e d .  

a ) S  c o n t a i n s   G . 

b ) S i s a s t a t e m e n t   o f  a s t a t e m e n t - s e q u e n c e   c o n t a i n i n g   G . 

c ) S i s a s t a t e m e n t   o f  t h e s t a t e m e n t - s e q u e n c e   o f  t h e c o m p o u n d - s t a t e m e n t   o f  t h e s t a t e m e n t - p a r t  

o f  a b l o c k   c o n t a i n i n g   G . 

s t a t e m e n t = l a b e l `  :  ' ] ( s i m p l e - s t a t e m e n t   j  s t r u c t u r e d - s t a t e m e n t ) .  

N O T E | 2 A g o t o - s t a t e m e n t w i t h i n a b l o c k m a y r e f e r t o a l a b e l i n a n e n c l o s i n g b l o c k , p r o v i d e d t h a t t h e  

l a b e l p r e x e s a s t a t e m e n t a t t h e o u t e r m o s t l e v e l o f n e s t i n g o f t h e b l o c k .  

6 . 8 . 2 S i m p l e - s t a t e m e n t s  

6 . 8 . 2 . 1 G e n e r a l  

A s i m p l e - s t a t e m e n t s h a l l b e a s t a t e m e n t n o t   c o n t a i n i n g   a s t a t e m e n t . A n e m p t y - s t a t e m e n t s h a l l  

c o n t a i n   n o s y m b o l a n d s h a l l d e n o t e n o a c t i o n .  

s i m p l e - s t a t e m e n t = e m p t y - s t a t e m e n t   j  a s s i g n m e n t - s t a t e m e n t  

j  p r o c e d u r e - s t a t e m e n t   j  g o t o - s t a t e m e n t .  

e m p t y - s t a t e m e n t = .  

6 . 8 . 2 . 2 A s s i g n m e n t - s t a t e m e n t s  

A n a s s i g n m e n t - s t a t e m e n t s h a l l a t t r i b u t e t h e v a l u e o f t h e e x p r e s s i o n   o f  t h e a s s i g n m e n t - s t a t e m e n t  

e i t h e r t o t h e v a r i a b l e d e n o t e d b y t h e v a r i a b l e - a c c e s s   o f  t h e a s s i g n m e n t - s t a t e m e n t o r t o t h e a c t i v a t i o n  

r e s u l t t h a t i s d e n o t e d b y t h e f u n c t i o n - i d e n t i e r   o f  t h e a s s i g n m e n t - s t a t e m e n t t h e v a l u e s h a l l b e  

a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d , r e s p e c t i v e l y , b y t h e v a r i a b l e o r b y t h e a c t i v a t i o n  

r e s u l t . T h e f u n c t i o n - b l o c k a s s o c i a t e d ( s e e   6 . 6 . 2   ) w i t h t h e f u n c t i o n - i d e n t i e r o f a n a s s i g n m e n t -  

s t a t e m e n t s h a l l   c o n t a i n   t h e a s s i g n m e n t - s t a t e m e n t .  

a s s i g n m e n t - s t a t e m e n t = ( v a r i a b l e - a c c e s s   j  f u n c t i o n - i d e n t i e r ) `  : =  ' e x p r e s s i o n .  

T h e v a r i a b l e - a c c e s s s h a l l e s t a b l i s h a r e f e r e n c e t o t h e v a r i a b l e d u r i n g t h e e x e c u t i o n o f t h e a s s i g n m e n t -  

s t a t e m e n t . T h e o r d e r o f e s t a b l i s h i n g t h e r e f e r e n c e t o t h e v a r i a b l e a n d e v a l u a t i n g t h e e x p r e s s i o n s h a l l  

b e i m p l e m e n t a t i o n - d e p e n d e n t .  

T h e s t a t e o f a v a r i a b l e o r a c t i v a t i o n r e s u l t w h e n t h e v a r i a b l e o r a c t i v a t i o n r e s u l t d o e s n o t h a v e  

a t t r i b u t e d t o i t a v a l u e s p e c i e d b y i t s t y p e s h a l l b e d e s i g n a t e d   u n d e n e d  . I f a v a r i a b l e p o s s e s s e s a  

s t r u c t u r e d - t y p e , t h e s t a t e o f t h e v a r i a b l e w h e n e v e r y c o m p o n e n t o f t h e v a r i a b l e i s t o t a l l y - u n d e n e d  

s h a l l b e d e s i g n a t e d   t o t a l l y - u n d e n e d   . T o t a l l y - u n d e n e d s h a l l b e s y n o n y m o u s w i t h u n d e n e d f o r a n  

5 2 

Page 59: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 59/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

a c t i v a t i o n r e s u l t o r a v a r i a b l e t h a t d o e s n o t p o s s e s s a s t r u c t u r e d - t y p e .  

E x a m p l e s :  

x : = y + z  

p : = ( 1 < = i ) a n d ( i < 1 0 0 )  

i : = s q r ( k ) - ( i * j )  

h u e 1 : = b l u e , s u c c ( c ) ]  

p 1  "  . m o t h e r : = t r u e  

6 . 8 . 2 . 3 P r o c e d u r e - s t a t e m e n t s  

A p r o c e d u r e - s t a t e m e n t s h a l l s p e c i f y t h e a c t i v a t i o n o f t h e b l o c k   o f  t h e p r o c e d u r e - b l o c k a s s o c i a t e d w i t h  

t h e p r o c e d u r e - i d e n t i e r   o f  t h e p r o c e d u r e - s t a t e m e n t . I f t h e p r o c e d u r e h a s a n y f o r m a l - p a r a m e t e r s ,  

t h e p r o c e d u r e - s t a t e m e n t s h a l l   c o n t a i n   a n a c t u a l - p a r a m e t e r - l i s t , w h i c h i s t h e l i s t o f a c t u a l - p a r a m e t e r s  

t h a t s h a l l b e b o u n d t o t h e i r c o r r e s p o n d i n g f o r m a l - p a r a m e t e r s d e n e d i n t h e p r o c e d u r e - d e c l a r a t i o n .  

T h e c o r r e s p o n d e n c e s h a l l b e e s t a b l i s h e d b y t h e p o s i t i o n s o f t h e p a r a m e t e r s i n t h e l i s t s o f a c t u a l -  

p a r a m e t e r s a n d f o r m a l - p a r a m e t e r s r e s p e c t i v e l y . T h e n u m b e r o f a c t u a l - p a r a m e t e r s s h a l l b e e q u a l t o  

t h e n u m b e r o f f o r m a l - p a r a m e t e r s . T h e t y p e s o f t h e a c t u a l - p a r a m e t e r s s h a l l c o r r e s p o n d t o t h e t y p e s  

o f t h e f o r m a l - p a r a m e t e r s a s s p e c i e d b y   6 . 6 . 3   . 

T h e o r d e r o f e v a l u a t i o n , a c c e s s i n g , a n d b i n d i n g o f t h e a c t u a l - p a r a m e t e r s s h a l l b e i m p l e m e n t a t i o n -  

d e p e n d e n t .  

T h e p r o c e d u r e - i d e n t i e r   i n  a p r o c e d u r e - s t a t e m e n t   c o n t a i n i n g   a r e a d - p a r a m e t e r - l i s t s h a l l d e n o t e t h e  

r e q u i r e d p r o c e d u r e   r e a d   t h e p r o c e d u r e - i d e n t i e r   i n  a p r o c e d u r e - s t a t e m e n t   c o n t a i n i n g   a r e a d l n -  

p a r a m e t e r - l i s t s h a l l d e n o t e t h e r e q u i r e d p r o c e d u r e   r e a d l n   t h e p r o c e d u r e - i d e n t i e r   i n  a p r o c e d u r e -  

s t a t e m e n t   c o n t a i n i n g   a w r i t e - p a r a m e t e r - l i s t s h a l l d e n o t e t h e r e q u i r e d p r o c e d u r e   w r i t e   t h e p r o c e d u r e -  

i d e n t i e r   i n  a p r o c e d u r e - s t a t e m e n t   c o n t a i n i n g   a w r i t e l n - p a r a m e t e r - l i s t s h a l l d e n o t e t h e r e q u i r e d  

p r o c e d u r e   w r i t e l n   . 

p r o c e d u r e - s t a t e m e n t = p r o c e d u r e - i d e n t i e r ( a c t u a l - p a r a m e t e r - l i s t ]  

j  r e a d - p a r a m e t e r - l i s t   j  r e a d l n - p a r a m e t e r - l i s t  

j  w r i t e - p a r a m e t e r - l i s t   j  w r i t e l n - p a r a m e t e r - l i s t ) .  

E x a m p l e s :  

p r i n t h e a d i n g  

t r a n s p o s e ( a , n , m )  

b i s e c t ( f c t , - 1 . 0 , + 1 . 0 , x )  

A d d V e c t o r s ( m 1 ] , m 2 ] , m k ] )  

N O T E | T h e f o u r t h e x a m p l e i s n o t f o r l e v e l 0 .  

6 . 8 . 2 . 4 G o t o - s t a t e m e n t s  

A g o t o - s t a t e m e n t s h a l l i n d i c a t e t h a t f u r t h e r p r o c e s s i n g i s t o c o n t i n u e a t t h e p r o g r a m - p o i n t d e n o t e d  

b y t h e l a b e l   i n  t h e g o t o - s t a t e m e n t a n d s h a l l c a u s e t h e t e r m i n a t i o n o f a l l a c t i v a t i o n s e x c e p t  

a ) t h e a c t i v a t i o n c o n t a i n i n g t h e p r o g r a m - p o i n t a n d  

5 3 

Page 60: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 60/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

b ) a n y a c t i v a t i o n c o n t a i n i n g t h e a c t i v a t i o n - p o i n t o f a n a c t i v a t i o n r e q u i r e d b y e x c e p t i o n s a ) o r b )  

n o t t o b e t e r m i n a t e d .  

g o t o - s t a t e m e n t = `  g o t o   ' l a b e l .  

6 . 8 . 3 S t r u c t u r e d - s t a t e m e n t s  

6 . 8 . 3 . 1 G e n e r a l  

s t r u c t u r e d - s t a t e m e n t = c o m p o u n d - s t a t e m e n t   j  c o n d i t i o n a l - s t a t e m e n t  

j  r e p e t i t i v e - s t a t e m e n t   j  w i t h - s t a t e m e n t .  

s t a t e m e n t - s e q u e n c e = s t a t e m e n t   f   ̀   ' s t a t e m e n t   g  . 

T h e e x e c u t i o n o f a s t a t e m e n t - s e q u e n c e s h a l l s p e c i f y t h e e x e c u t i o n o f t h e s t a t e m e n t s   o f  t h e s t a t e m e n t -  

s e q u e n c e i n t e x t u a l o r d e r , e x c e p t a s m o d i e d b y e x e c u t i o n o f a g o t o - s t a t e m e n t .  

6 . 8 . 3 . 2 C o m p o u n d - s t a t e m e n t s  

A c o m p o u n d - s t a t e m e n t s h a l l s p e c i f y e x e c u t i o n o f t h e s t a t e m e n t - s e q u e n c e   o f  t h e c o m p o u n d - s t a t e m e n t .  

c o m p o u n d - s t a t e m e n t = `  b e g i n   ' s t a t e m e n t - s e q u e n c e `  e n d  ' . 

E x a m p l e :  

b e g i n z : = x x : = y y : = z e n d  

6 . 8 . 3 . 3 C o n d i t i o n a l - s t a t e m e n t s  

c o n d i t i o n a l - s t a t e m e n t = i f - s t a t e m e n t   j  c a s e - s t a t e m e n t .  

6 . 8 . 3 . 4 I f - s t a t e m e n t s  

i f - s t a t e m e n t = `  i f  ' B o o l e a n - e x p r e s s i o n `  t h e n   ' s t a t e m e n t e l s e - p a r t ] .  

e l s e - p a r t = `  e l s e   ' s t a t e m e n t .  

I f t h e B o o l e a n - e x p r e s s i o n   o f  t h e i f - s t a t e m e n t y i e l d s t h e v a l u e t r u e , t h e s t a t e m e n t   o f  t h e i f - s t a t e m e n t  

s h a l l b e e x e c u t e d . I f t h e B o o l e a n - e x p r e s s i o n y i e l d s t h e v a l u e f a l s e , t h e s t a t e m e n t   o f  t h e i f - s t a t e m e n t  

s h a l l n o t b e e x e c u t e d , a n d t h e s t a t e m e n t   o f  t h e e l s e - p a r t , i f a n y , s h a l l b e e x e c u t e d .  

A n i f - s t a t e m e n t w i t h o u t a n e l s e - p a r t s h a l l n o t b e i m m e d i a t e l y f o l l o w e d b y t h e t o k e n e l s e .  

N O T E | A n e l s e - p a r t i s t h u s p a i r e d w i t h t h e n e a r e s t p r e c e d i n g o t h e r w i s e u n p a i r e d t h e n .  

E x a m p l e s :  

i f x < 1 . 5 t h e n z : = x + y e l s e z : = 1 . 5  

i f p 1 < > n i l t h e n p 1 : = p 1  "  . f a t h e r  

5 4 

Page 61: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 61/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

i f j = 0 t h e n  

i f i = 0 t h e n w r i t e l n ( ' i n d e f i n i t e ' )  

e l s e w r i t e l n ( ' i n f i n i t e ' )  

e l s e w r i t e l n ( i / j )  

6 . 8 . 3 . 5 C a s e - s t a t e m e n t s  

T h e v a l u e s d e n o t e d b y t h e c a s e - c o n s t a n t s   o f  t h e c a s e - c o n s t a n t - l i s t s   o f  t h e c a s e - l i s t - e l e m e n t s   o f  a 

c a s e - s t a t e m e n t s h a l l b e d i s t i n c t a n d o f t h e s a m e o r d i n a l - t y p e a s t h e e x p r e s s i o n   o f  t h e c a s e - i n d e x  

o f  t h e c a s e - s t a t e m e n t . O n e x e c u t i o n o f t h e c a s e - s t a t e m e n t t h e c a s e - i n d e x s h a l l b e e v a l u a t e d . T h a t  

v a l u e s h a l l t h e n s p e c i f y e x e c u t i o n o f t h e s t a t e m e n t   o f  t h e c a s e - l i s t - e l e m e n t   c l o s e s t - c o n t a i n i n g   t h e 

c a s e - c o n s t a n t d e n o t i n g t h a t v a l u e . O n e o f t h e c a s e - c o n s t a n t s s h a l l b e e q u a l t o t h e v a l u e o f t h e  

c a s e - i n d e x u p o n e n t r y t o t h e c a s e - s t a t e m e n t o t h e r w i s e , i t s h a l l b e a n e r r o r .  

N O T E | C a s e - c o n s t a n t s a r e n o t t h e s a m e a s s t a t e m e n t l a b e l s .  

c a s e - s t a t e m e n t = `  c a s e   ' c a s e - i n d e x `  o f  ' c a s e - l i s t - e l e m e n t  

f   ̀   ' c a s e - l i s t - e l e m e n t   g   ̀   ' ]  ̀ e n d  ' . 

c a s e - l i s t - e l e m e n t = c a s e - c o n s t a n t - l i s t `  :  ' s t a t e m e n t .  

c a s e - i n d e x = e x p r e s s i o n .  

E x a m p l e :  

c a s e o p e r a t o r o f  

p l u s : x : = x + y  

m i n u s : x : = x - y  

t i m e s : x : = x * y  

e n d 

6 . 8 . 3 . 6 R e p e t i t i v e - s t a t e m e n t s  

R e p e t i t i v e - s t a t e m e n t s s h a l l s p e c i f y t h a t c e r t a i n s t a t e m e n t s a r e t o b e e x e c u t e d r e p e a t e d l y .  

r e p e t i t i v e - s t a t e m e n t = r e p e a t - s t a t e m e n t   j  w h i l e - s t a t e m e n t   j  f o r - s t a t e m e n t .  

6 . 8 . 3 . 7 R e p e a t - s t a t e m e n t s  

r e p e a t - s t a t e m e n t = `  r e p e a t  ' s t a t e m e n t - s e q u e n c e `  u n t i l  ' B o o l e a n - e x p r e s s i o n .  

T h e s t a t e m e n t - s e q u e n c e   o f  t h e r e p e a t - s t a t e m e n t s h a l l b e r e p e a t e d l y e x e c u t e d , e x c e p t a s m o d i e d b y  

t h e e x e c u t i o n o f a g o t o - s t a t e m e n t , u n t i l t h e B o o l e a n - e x p r e s s i o n   o f  t h e r e p e a t - s t a t e m e n t y i e l d s t h e  

v a l u e t r u e o n c o m p l e t i o n o f t h e s t a t e m e n t - s e q u e n c e . T h e s t a t e m e n t - s e q u e n c e s h a l l b e e x e c u t e d a t  

l e a s t o n c e , b e c a u s e t h e B o o l e a n - e x p r e s s i o n i s e v a l u a t e d a f t e r e x e c u t i o n o f t h e s t a t e m e n t - s e q u e n c e .  

E x a m p l e :  

r e p e a t  

k : = i m o d j  

5 5 

Page 62: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 62/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

i : = j  

j : = k  

u n t i l j = 0  

6 . 8 . 3 . 8 W h i l e - s t a t e m e n t s  

w h i l e - s t a t e m e n t = `  w h i l e   ' B o o l e a n - e x p r e s s i o n `  d o  ' s t a t e m e n t .  

T h e w h i l e - s t a t e m e n t  

w h i l e b d o b o d y  

s h a l l b e e q u i v a l e n t t o  

b e g i n  

i f b t h e n  

r e p e a t  

b o d y  

u n t i l n o t ( b )  

e n d 

E x a m p l e s :  

w h i l e i > 0 d o  

b e g i n i f o d d ( i ) t h e n z : = z * x  

i : = i d i v 2  

x : = s q r ( x )  

e n d 

w h i l e n o t e o f ( f ) d o  

b e g i n p r o c e s s ( f  "  ) g e t ( f )  

e n d 

6 . 8 . 3 . 9 F o r - s t a t e m e n t s  

T h e f o r - s t a t e m e n t s h a l l s p e c i f y t h a t t h e s t a t e m e n t   o f  t h e f o r - s t a t e m e n t i s t o b e r e p e a t e d l y e x e c u t e d  

w h i l e a p r o g r e s s i o n o f v a l u e s i s a t t r i b u t e d t o a v a r i a b l e d e n o t e d b y t h e c o n t r o l - v a r i a b l e   o f  t h e f o r -  

s t a t e m e n t .  

f o r - s t a t e m e n t = `  f o r  ' c o n t r o l - v a r i a b l e `  : =  ' i n i t i a l - v a l u e ( `  t o  '  j   ̀ d o w n t o  ' ) n a l - v a l u e  

 ̀ d o  ' s t a t e m e n t .  

c o n t r o l - v a r i a b l e = e n t i r e - v a r i a b l e .  

i n i t i a l - v a l u e = e x p r e s s i o n .  

n a l - v a l u e = e x p r e s s i o n .  

T h e c o n t r o l - v a r i a b l e s h a l l b e a n e n t i r e - v a r i a b l e w h o s e i d e n t i e r i s d e c l a r e d i n t h e v a r i a b l e - d e c l a r a t i o n -  

p a r t   o f  t h e b l o c k   c l o s e s t - c o n t a i n i n g   t h e f o r - s t a t e m e n t . T h e c o n t r o l - v a r i a b l e s h a l l p o s s e s s a n o r d i n a l -  

5 6 

Page 63: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 63/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

t y p e , a n d t h e i n i t i a l - v a l u e a n d n a l - v a l u e s h a l l b e o f a t y p e c o m p a t i b l e w i t h t h i s t y p e . T h e  

i n i t i a l - v a l u e a n d t h e n a l - v a l u e s h a l l b e a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e  

c o n t r o l - v a r i a b l e i f t h e s t a t e m e n t o f t h e f o r - s t a t e m e n t i s e x e c u t e d . A f t e r a f o r - s t a t e m e n t i s e x e c u t e d ,  

o t h e r t h a n b e i n g l e f t b y a g o t o - s t a t e m e n t , t h e c o n t r o l - v a r i a b l e s h a l l b e u n d e n e d . N e i t h e r a f o r -  

s t a t e m e n t n o r a n y p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t   o f  t h e b l o c k t h a t   c l o s e s t - c o n t a i n s   a f o r -  

s t a t e m e n t s h a l l   c o n t a i n   a s t a t e m e n t t h r e a t e n i n g t h e v a r i a b l e d e n o t e d b y t h e c o n t r o l - v a r i a b l e   o f  t h e 

f o r - s t a t e m e n t .  

A s t a t e m e n t S s h a l l b e d e s i g n a t e d a s   t h r e a t e n i n g   a v a r i a b l e V i f o n e o r m o r e o f t h e f o l l o w i n g  

s t a t e m e n t s i s t r u e .  

a ) S i s a n a s s i g n m e n t - s t a t e m e n t a n d V i s d e n o t e d b y t h e v a r i a b l e - a c c e s s   o f  S . 

b ) S c o n t a i n s a n a c t u a l v a r i a b l e p a r a m e t e r t h a t d e n o t e s V .  

c ) S i s a p r o c e d u r e - s t a t e m e n t t h a t s p e c i e s t h e a c t i v a t i o n o f t h e r e q u i r e d p r o c e d u r e   r e a d   o r t h e  

r e q u i r e d p r o c e d u r e   r e a d l n   , a n d V i s d e n o t e d b y v a r i a b l e - a c c e s s   o f  a r e a d - p a r a m e t e r - l i s t o r  

r e a d l n - p a r a m e t e r - l i s t   o f  S . 

d ) S i s a s t a t e m e n t s p e c i e d u s i n g a n e q u i v a l e n t p r o g r a m f r a g m e n t c o n t a i n i n g a s t a t e m e n t  

t h r e a t e n i n g V .  

A p a r t f r o m t h e r e s t r i c t i o n s i m p o s e d b y t h e s e r e q u i r e m e n t s , t h e f o r - s t a t e m e n t  

f o r v : = e 1 t o e 2 d o b o d y  

s h a l l b e e q u i v a l e n t t o  

b e g i n  

t e m p 1 : = e 1  

t e m p 2 : = e 2  

i f t e m p 1   <  = t e m p 2 t h e n  

b e g i n  

v : = t e m p 1  

b o d y  

w h i l e v   < >  t e m p 2 d o  

b e g i n  

v : = s u c c ( v )  

b o d y  

e n d 

e n d 

e n d 

a n d t h e f o r - s t a t e m e n t  

f o r v : = e 1 d o w n t o e 2 d o b o d y  

s h a l l b e e q u i v a l e n t t o  

b e g i n  

t e m p 1 : = e 1  

5 7 

Page 64: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 64/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

t e m p 2 : = e 2  

i f t e m p 1   >  = t e m p 2 t h e n  

b e g i n  

v : = t e m p 1  

b o d y  

w h i l e v   < >  t e m p 2 d o  

b e g i n  

v : = p r e d ( v )  

b o d y  

e n d 

e n d 

e n d 

w h e r e t e m p 1 a n d t e m p 2 d e n o t e a u x i l i a r y v a r i a b l e s t h a t t h e p r o g r a m d o e s n o t o t h e r w i s e c o n t a i n ,  

a n d t h a t p o s s e s s t h e t y p e p o s s e s s e d b y t h e v a r i a b l e v i f t h a t t y p e i s n o t a s u b r a n g e - t y p e o t h e r w i s e  

t h e h o s t - t y p e o f t h e t y p e p o s s e s s e d b y t h e v a r i a b l e v .  

E x a m p l e s :  

f o r i : = 2 t o 6 3 d o  

i f a i ] > m a x t h e n m a x : = a i ]  

f o r i : = 1 t o 1 0 d o  

f o r j : = 1 t o 1 0 d o  

b e g i n  

x : = 0  

f o r k : = 1 t o 1 0 d o  

x : = x + m 1 i , k ] * m 2 k , j ]  

m i , j ] : = x  

e n d 

f o r i : = 1 t o 1 0 d o  

f o r j : = 1 t o i - 1 d o  

m i ] j ] : = 0 . 0  

f o r c : = b l u e d o w n t o r e d d o  

q ( c )  

6 . 8 . 3 . 1 0 W i t h - s t a t e m e n t s  

w i t h - s t a t e m e n t = `  w i t h   ' r e c o r d - v a r i a b l e - l i s t `  d o  ' s t a t e m e n t .  

r e c o r d - v a r i a b l e - l i s t = r e c o r d - v a r i a b l e   f   ̀ ,  ' r e c o r d - v a r i a b l e   g  . 

e l d - d e s i g n a t o r - i d e n t i e r = i d e n t i e r .  

A w i t h - s t a t e m e n t s h a l l s p e c i f y t h e e x e c u t i o n o f t h e s t a t e m e n t   o f  t h e w i t h - s t a t e m e n t . T h e o c c u r r e n c e  

o f a r e c o r d - v a r i a b l e a s t h e o n l y r e c o r d - v a r i a b l e   i n  t h e r e c o r d - v a r i a b l e - l i s t   o f  a w i t h - s t a t e m e n t s h a l l  

5 8 

Page 65: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 65/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

c o n s t i t u t e t h e d e n i n g - p o i n t o f e a c h o f t h e e l d - i d e n t i e r s a s s o c i a t e d w i t h c o m p o n e n t s o f t h e  

r e c o r d - t y p e p o s s e s s e d b y t h e r e c o r d - v a r i a b l e a s a e l d - d e s i g n a t o r - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e  

s t a t e m e n t   o f  t h e w i t h - s t a t e m e n t e a c h a p p l i e d o c c u r r e n c e o f a e l d - d e s i g n a t o r - i d e n t i e r s h a l l d e n o t e  

t h a t c o m p o n e n t o f t h e r e c o r d - v a r i a b l e t h a t i s a s s o c i a t e d w i t h t h e e l d - i d e n t i e r b y t h e r e c o r d - t y p e .  

T h e r e c o r d - v a r i a b l e s h a l l b e a c c e s s e d b e f o r e t h e s t a t e m e n t   o f  t h e w i t h - s t a t e m e n t i s e x e c u t e d , a n d  

t h a t a c c e s s s h a l l e s t a b l i s h a r e f e r e n c e t o t h e v a r i a b l e d u r i n g t h e e n t i r e e x e c u t i o n o f t h e s t a t e m e n t   o f 

t h e w i t h - s t a t e m e n t .  

T h e s t a t e m e n t  

w i t h v 1 , v 2 , . . . , v n d o s  

s h a l l b e e q u i v a l e n t t o  

w i t h v 1 d o  

w i t h v 2 d o  

w i t h v n d o s  

E x a m p l e :  

w i t h d a t e d o  

i f m o n t h = 1 2 t h e n  

b e g i n m o n t h : = 1 y e a r : = y e a r + 1  

e n d 

e l s e m o n t h : = m o n t h + 1  

h a s t h e s a m e e e c t o n t h e v a r i a b l e d a t e a s  

i f d a t e . m o n t h = 1 2 t h e n  

b e g i n d a t e . m o n t h : = 1 d a t e . y e a r : = d a t e . y e a r + 1  

e n d 

e l s e d a t e . m o n t h : = d a t e . m o n t h + 1  

6 . 9 I n p u t a n d o u t p u t  

6 . 9 . 1 T h e p r o c e d u r e r e a d  

T h e s y n t a x o f t h e p a r a m e t e r l i s t o f   r e a d   w h e n a p p l i e d t o a t e x t l e s h a l l b e  

r e a d - p a r a m e t e r - l i s t = `  (  ' l e - v a r i a b l e `  ,  ' ] v a r i a b l e - a c c e s s   f   ̀ ,  ' v a r i a b l e - a c c e s s   g   ̀ )  ' . 

I f t h e l e - v a r i a b l e i s o m i t t e d , t h e p r o c e d u r e s h a l l b e a p p l i e d t o t h e r e q u i r e d t e x t l e   i n p u t  , a n d t h e  

p r o g r a m s h a l l c o n t a i n a p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g i n p u t .  

T h e r e q u i r e m e n t s o f t h i s s u b c l a u s e s h a l l a p p l y f o r t h e p r o c e d u r e r e a d w h e n a p p l i e d t o a t e x t l e  

t h e r e i n , f s h a l l d e n o t e t h e t e x t l e . T h e e e c t s o f a p p l y i n g r e a d ( f , v ) t o t h e t e x t l e f s h a l l b e d e n e d b y  

p r e - a s s e r t i o n s a n d p o s t - a s s e r t i o n s w i t h i n t h e r e q u i r e m e n t s o f   6 . 6 . 5 . 2   . T h e p r e - a s s e r t i o n o f r e a d ( f , v )  

s h a l l b e t h e p r e - a s s e r t i o n o f g e t ( f ) . L e t t d e n o t e a s e q u e n c e o f c o m p o n e n t s h a v i n g t h e c h a r - t y p e l e t  

r , s , a n d u e a c h d e n o t e a v a l u e o f t h e s e q u e n c e - t y p e d e n e d b y t h e s t r u c t u r e o f t h e t y p e d e n o t e d b y  

5 9 

Page 66: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 66/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

t e x t   i f u = S ( ) , t h e n l e t t = S ( ) o t h e r w i s e , l e t u . r s t = e n d - o f - l i n e l e t w = f 0  "  o r w = f 0 . R . r s t ,  

w h e r e t h e d e c i s i o n a s t o w h i c h s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t a n d l e t r ~ s ~ t ~ u = w ~ f 0 . R . r e s t .  

T h e p o s t - a s s e r t i o n o f r e a d ( f , v ) s h a l l b e  

( f . M = f 0 . M ) a n d ( f . L ~ f . R = f 0 . L ~ f 0 . R ) a n d ( f . R = t ~ u ) a n d  

( i f f . R = S ( ) t h e n ( f  "  i s t o t a l l y - u n d e n e d ) e l s e ( f  "  = f . R . r s t ) ) .  

N O T E | 1 T h e v a r i a b l e - a c c e s s i s n o t a v a r i a b l e p a r a m e t e r . C o n s e q u e n t l y , i t m a y b e a c o m p o n e n t o f a  

p a c k e d s t r u c t u r e , a n d t h e v a l u e o f t h e b u e r - v a r i a b l e n e e d o n l y b e a s s i g n m e n t - c o m p a t i b l e w i t h i t .  

a ) F o r n  >  = 1 , r e a d ( f , v  

, . . . , v  

) s h a l l a c c e s s t h e t e x t l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t t e x t l e f o r t h e  

r e m a i n i n g e x e c u t i o n o f t h e s t a t e m e n t e a c h o f v  

, . . . , v  

s h a l l b e a v a r i a b l e - a c c e s s p o s s e s s i n g a t y p e  

t h a t i s t h e r e a l - t y p e , i s a s t r i n g - t y p e , o r i s c o m p a t i b l e w i t h t h e c h a r - t y p e o r w i t h t h e i n t e g e r - t y p e .  

F o r n  >  = 2 , t h e e x e c u t i o n o f r e a d ( f , v  

, . . . , v  

) s h a l l b e e q u i v a l e n t t o  

b e g i n r e a d ( , v  

) r e a d ( , v  

, . . . , v  

) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

b ) I f v i s a v a r i a b l e - a c c e s s p o s s e s s i n g t h e c h a r - t y p e ( o r s u b r a n g e t h e r e o f ) , t h e e x e c u t i o n o f r e a d ( f , v )  

s h a l l b e e q u i v a l e n t t o  

b e g i n v : =  "  g e t ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

N O T E | 2 T o s a t i s f y t h e p o s t - a s s e r t i o n s o f   g e t  a n d o f r e a d ( f , v ) r e q u i r e s r = S ( ) a n d l e n g t h ( s ) = 1 .  

c ) I f v i s a v a r i a b l e - a c c e s s p o s s e s s i n g t h e i n t e g e r - t y p e ( o r s u b r a n g e t h e r e o f ) , r e a d ( f , v ) s h a l l s a t i s f y  

t h e f o l l o w i n g r e q u i r e m e n t s . N o c o m p o n e n t o f s s h a l l e q u a l e n d - o f - l i n e . T h e c o m p o n e n t s o f r , i f a n y ,  

s h a l l e a c h , a n d ( s ~ t ~ u ) . r s t s h a l l n o t , e q u a l e i t h e r t h e c h a r - t y p e v a l u e s p a c e o r e n d - o f - l i n e . E i t h e r  

s s h a l l b e e m p t y o r s s h a l l , a n d s ~ S ( t . r s t ) s h a l l n o t , f o r m a s i g n e d - i n t e g e r a c c o r d i n g t o t h e s y n t a x  

o f  6 . 1 . 5   . I t s h a l l b e a n e r r o r i f s i s e m p t y . T h e v a l u e o f t h e s i g n e d - i n t e g e r t h u s f o r m e d s h a l l b e  

a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y v a n d s h a l l b e a t t r i b u t e d t o v .  

N O T E | 3 T h e s e q u e n c e r r e p r e s e n t s a n y s p a c e s a n d e n d - o f - l i n e s t o b e s k i p p e d , a n d t h e s e q u e n c e s  

r e p r e s e n t s t h e s i g n e d - i n t e g e r t o b e r e a d .  

d ) I f v i s a v a r i a b l e - a c c e s s p o s s e s s i n g t h e r e a l - t y p e , r e a d ( f , v ) s h a l l s a t i s f y t h e f o l l o w i n g r e q u i r e m e n t s .  

N o c o m p o n e n t o f s s h a l l e q u a l e n d - o f - l i n e . T h e c o m p o n e n t s o f r , i f a n y , s h a l l e a c h , a n d ( s ~ t ~ u ) . r s t  

s h a l l n o t , e q u a l e i t h e r t h e c h a r - t y p e v a l u e s p a c e o r e n d - o f - l i n e . E i t h e r s s h a l l b e e m p t y o r s s h a l l ,  

a n d s ~ S ( t . r s t ) s h a l l n o t , f o r m a s i g n e d - n u m b e r a c c o r d i n g t o t h e s y n t a x o f   6 . 1 . 5   . I t s h a l l b e a n  

e r r o r i f s i s e m p t y . T h e v a l u e d e n o t e d b y t h e n u m b e r t h u s f o r m e d s h a l l b e a t t r i b u t e d t o t h e v a r i a b l e  

v . 

N O T E | 4 T h e s e q u e n c e r r e p r e s e n t s a n y s p a c e s a n d e n d - o f - l i n e s t o b e s k i p p e d , a n d t h e s e q u e n c e s  

r e p r e s e n t s t h e n u m b e r t o b e r e a d .  

6 0 

Page 67: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 67/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 9 . 2 T h e p r o c e d u r e r e a d l n  

T h e s y n t a x o f t h e p a r a m e t e r l i s t o f   r e a d l n   s h a l l b e  

r e a d l n - p a r a m e t e r - l i s t = `  (  ' ( l e - v a r i a b l e   j  v a r i a b l e - a c c e s s )  

f   ̀ ,  ' v a r i a b l e - a c c e s s   g   ̀ )  ' ] . 

R e a d l n   s h a l l o n l y b e a p p l i e d t o t e x t l e s . I f t h e l e - v a r i a b l e o r t h e e n t i r e r e a d l n - p a r a m e t e r - l i s t i s  

o m i t t e d , t h e p r o c e d u r e s h a l l b e a p p l i e d t o t h e r e q u i r e d t e x t l e   i n p u t  , a n d t h e p r o g r a m s h a l l c o n t a i n  

a p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g i n p u t .  

R e a d l n ( f , v  

, . . . , v  

) s h a l l a c c e s s t h e t e x t l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t t e x t l e f o r t h e r e m a i n i n g  

e x e c u t i o n o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l b e e q u i v a l e n t t o  

b e g i n r e a d ( , v  

, . . . , v  

) r e a d l n ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

R e a d l n ( f ) s h a l l a c c e s s t h e t e x t l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t t e x t l e f o r t h e r e m a i n i n g e x e c u t i o n  

o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l b e e q u i v a l e n t t o  

b e g i n w h i l e n o t e o l n ( ) d o g e t ( ) g e t ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

N O T E S  

1 T h e e e c t o f   r e a d l n   i s t o p l a c e t h e c u r r e n t l e p o s i t i o n j u s t p a s t t h e e n d o f t h e c u r r e n t l i n e i n t h e t e x t l e .  

U n l e s s t h i s i s t h e e n d - o f - l e p o s i t i o n , t h e c u r r e n t l e p o s i t i o n i s t h e r e f o r e a t t h e s t a r t o f t h e n e x t l i n e .  

2 B e c a u s e t h e d e n i t i o n o f   r e a d l n   m a k e s u s e o f  g e t  , t h e i m p l e m e n t a t i o n - d e n e d a s p e c t s o f t h e p o s t - a s s e r t i o n  

o f  g e t  a l s o a p p l y ( s e e   6 . 6 . 5 . 2   )

6 . 9 . 3 T h e p r o c e d u r e w r i t e  

T h e s y n t a x o f t h e p a r a m e t e r l i s t o f   w r i t e   w h e n a p p l i e d t o a t e x t l e s h a l l b e  

w r i t e - p a r a m e t e r - l i s t = `  (  ' l e - v a r i a b l e `  ,  ' ] w r i t e - p a r a m e t e r  

f   ̀ ,  ' w r i t e - p a r a m e t e r   g   ̀ )  ' . 

w r i t e - p a r a m e t e r = e x p r e s s i o n `  :  ' e x p r e s s i o n `  :  ' e x p r e s s i o n ] ] .  

I f t h e l e - v a r i a b l e i s o m i t t e d , t h e p r o c e d u r e s h a l l b e a p p l i e d t o t h e r e q u i r e d t e x t l e   o u t p u t  , a n d t h e  

p r o g r a m s h a l l c o n t a i n a p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g o u t p u t .  

W h e n   w r i t e   i s a p p l i e d t o a t e x t l e f , i t s h a l l b e a n e r r o r i f f i s u n d e n e d o r f . M = I n s p e c t i o n ( s e e  

6 . 4 . 3 . 5   ) . 

F o r n  >  = 1 , w r i t e ( f , p  

, . . . , p  

) s h a l l a c c e s s t h e t e x t l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t t e x t l e f o r t h e  

r e m a i n i n g e x e c u t i o n o f t h e s t a t e m e n t . F o r n   >  = 2 , t h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l b e e q u i v a l e n t  

t o 

b e g i n w r i t e ( , p  

) w r i t e ( , p  

, . . . , p  

) e n d  

6 1 

Page 68: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 68/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

W r i t e ( f , p ) , w h e r e f d e n o t e s a t e x t l e a n d p i s a w r i t e - p a r a m e t e r , s h a l l w r i t e a s e q u e n c e o f z e r o o r  

m o r e c h a r a c t e r s o n t h e t e x t l e f f o r e a c h c h a r a c t e r c i n t h e s e q u e n c e , t h e e q u i v a l e n t o f  

b e g i n   "  : = c p u t ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e , s h a l l b e a p p l i e d t o t h e t e x t l e f . T h e s e q u e n c e o f c h a r a c t e r s  

w r i t t e n s h a l l b e a r e p r e s e n t a t i o n o f t h e v a l u e o f t h e r s t e x p r e s s i o n i n t h e w r i t e - p a r a m e t e r p , a s  

s p e c i e d i n t h e r e m a i n d e r o f t h i s s u b c l a u s e .  

N O T E | B e c a u s e t h e d e n i t i o n o f   w r i t e   i n c l u d e s t h e u s e o f   p u t  , t h e i m p l e m e n t a t i o n - d e n e d a s p e c t s o f  

t h e p o s t - a s s e r t i o n o f   p u t  a l s o a p p l y ( s e e   6 . 6 . 5 . 2   )

6 . 9 . 3 . 1 W r i t e - p a r a m e t e r s  

A w r i t e - p a r a m e t e r s h a l l h a v e o n e o f t h e f o l l o w i n g f o r m s  

e : T o t a l W i d t h : F r a c D i g i t s  

e : T o t a l W i d t h  

w h e r e e s h a l l b e a n e x p r e s s i o n w h o s e v a l u e i s t o b e w r i t t e n o n t h e l e f a n d s h a l l b e o f i n t e g e r -  

t y p e , r e a l - t y p e , c h a r - t y p e , B o o l e a n - t y p e , o r a s t r i n g - t y p e , a n d w h e r e T o t a l W i d t h a n d F r a c D i g i t s  

s h a l l b e e x p r e s s i o n s o f i n t e g e r - t y p e w h o s e v a l u e s s h a l l b e t h e e l d - w i d t h p a r a m e t e r s . T h e v a l u e s o f  

T o t a l W i d t h a n d F r a c D i g i t s s h a l l b e g r e a t e r t h a n o r e q u a l t o o n e i t s h a l l b e a n e r r o r i f e i t h e r v a l u e  

i s l e s s t h a n o n e .  

W r i t e ( f , e ) s h a l l b e e q u i v a l e n t t o t h e f o r m w r i t e ( f , e : T o t a l W i d t h ) , u s i n g a d e f a u l t v a l u e f o r T o t a l W i d t h  

t h a t d e p e n d s o n t h e t y p e o f e f o r i n t e g e r - t y p e , r e a l - t y p e , a n d B o o l e a n - t y p e , t h e d e f a u l t v a l u e s s h a l l  

b e i m p l e m e n t a t i o n - d e n e d .  

W r i t e ( f , e : T o t a l W i d t h : F r a c D i g i t s ) s h a l l b e a p p l i c a b l e o n l y i f e i s o f r e a l - t y p e ( s e e   6 . 9 . 3 . 4 . 2   ) . 

6 . 9 . 3 . 2 C h a r - t y p e  

I f e i s o f c h a r - t y p e , t h e d e f a u l t v a l u e o f T o t a l W i d t h s h a l l b e o n e . T h e r e p r e s e n t a t i o n w r i t t e n o n t h e  

l e f s h a l l b e  

( T o t a l W i d t h   ;  1 ) s p a c e s , t h e c h a r a c t e r v a l u e o f e .  

6 . 9 . 3 . 3 I n t e g e r - t y p e  

I f e i s o f i n t e g e r - t y p e , t h e d e c i m a l r e p r e s e n t a t i o n o f t h e v a l u e o f e s h a l l b e w r i t t e n o n t h e l e f .  

A s s u m e a f u n c t i o n  

f u n c t i o n I n t e g e r S i z e ( x : i n t e g e r ) : i n t e g e r  

f  r e t u r n s t h e n u m b e r o f d i g i t s , z , s u c h t h a t  

1 0 t o t h e p o w e r ( z  ;  1 )    a b s ( x )   <  1 0 t o t h e p o w e r z   g 

6 2 

Page 69: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 69/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

a n d l e t I n t D i g i t s b e t h e p o s i t i v e i n t e g e r d e n e d b y  

i f e = 0  

t h e n I n t D i g i t s : = 1  

e l s e I n t D i g i t s : = I n t e g e r S i z e ( e )  

t h e n t h e r e p r e s e n t a t i o n s h a l l c o n s i s t o f  

a ) i f T o t a l W i d t h   >  = I n t D i g i t s + 1 :  

( T o t a l W i d t h   ;  I n t D i g i t s   ;  1 ) s p a c e s ,  

t h e s i g n c h a r a c t e r : `  ;  ' i f e   <  0 , o t h e r w i s e a s p a c e ,  

I n t D i g i t s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f a b s ( e ) .  

b ) i f T o t a l W i d t h   <  I n t D i g i t s + 1 :  

i f e  <  0 t h e s i g n c h a r a c t e r `  ;  ' , 

I n t D i g i t s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f a b s ( e ) .  

6 . 9 . 3 . 4 R e a l - t y p e  

I f e i s o f r e a l - t y p e , a d e c i m a l r e p r e s e n t a t i o n o f t h e v a l u e o f e , r o u n d e d t o t h e s p e c i e d n u m b e r o f  

s i g n i c a n t g u r e s o r d e c i m a l p l a c e s , s h a l l b e w r i t t e n o n t h e l e f .  

6 . 9 . 3 . 4 . 1 T h e o a t i n g - p o i n t r e p r e s e n t a t i o n  

W r i t e ( f , e : T o t a l W i d t h ) s h a l l c a u s e a o a t i n g - p o i n t r e p r e s e n t a t i o n o f t h e v a l u e o f e t o b e w r i t t e n .  

A s s u m e f u n c t i o n s  

f u n c t i o n T e n P o w e r ( I n t : i n t e g e r ) : r e a l  

f  R e t u r n s 1 0 . 0 r a i s e d t o t h e p o w e r I n t   g 

f u n c t i o n R e a l S i z e ( y : r e a l ) : i n t e g e r  

f  R e t u r n s t h e v a l u e , z , s u c h t h a t T e n P o w e r ( z  ;  1 )    a b s ( y )   < 

T e n P o w e r ( z )   g 

f u n c t i o n T r u n c a t e ( y : r e a l D e c P l a c e s : i n t e g e r ) : r e a l  

f  R e t u r n s t h e v a l u e o f y a f t e r t r u n c a t i o n t o D e c P l a c e s d e c i m a l p l a c e s   g 

l e t E x p D i g i t s b e a n i m p l e m e n t a t i o n - d e n e d v a l u e r e p r e s e n t i n g t h e n u m b e r o f d i g i t - c h a r a c t e r s w r i t t e n  

i n a n e x p o n e n t  

l e t A c t W i d t h b e t h e p o s i t i v e i n t e g e r d e n e d b y  

i f T o t a l W i d t h   >  = E x p D i g i t s + 6  

t h e n A c t W i d t h : = T o t a l W i d t h  

e l s e A c t W i d t h : = E x p D i g i t s + 6  

a n d l e t t h e n o n - n e g a t i v e n u m b e r e W r i t t e n , t h e p o s i t i v e i n t e g e r D e c P l a c e s , a n d t h e i n t e g e r E x p V a l u e  

b e d e n e d b y  

6 3 

Page 70: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 70/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

D e c P l a c e s : = A c t W i d t h   ;  E x p D i g i t s   ;  5  

i f e = 0 . 0  

t h e n b e g i n e W r i t t e n : = 0 . 0 E x p V a l u e : = 0 e n d  

e l s e  

b e g i n  

e W r i t t e n : = a b s ( e )  

E x p V a l u e : = R e a l S i z e ( e W r i t t e n )   ;  1  

e W r i t t e n : = e W r i t t e n / T e n P o w e r ( E x p V a l u e )  

e W r i t t e n : = e W r i t t e n + 0 . 5 * T e n P o w e r (   ;  D e c P l a c e s )  

i f e W r i t t e n   >  = 1 0 . 0  

t h e n  

b e g i n  

e W r i t t e n : = e W r i t t e n / 1 0 . 0  

E x p V a l u e : = E x p V a l u e + 1  

e n d  

e W r i t t e n : = T r u n c a t e ( e W r i t t e n , D e c P l a c e s )  

e n d  

t h e n t h e o a t i n g - p o i n t r e p r e s e n t a t i o n o f t h e v a l u e o f e s h a l l c o n s i s t o f  

t h e s i g n c h a r a c t e r  

(  ̀ ;  ' i f ( e   <  0 . 0 ) a n d ( e W r i t t e n   >  0 . 0 ) , o t h e r w i s e a s p a c e ) ,  

t h e l e a d i n g d i g i t - c h a r a c t e r o f t h e d e c i m a l r e p r e s e n t a t i o n o f e W r i t t e n ,  

t h e c h a r a c t e r ` . ' ,  

t h e n e x t D e c P l a c e s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f  

e W r i t t e n ,  

a n i m p l e m e n t a t i o n - d e n e d e x p o n e n t c h a r a c t e r  

( e i t h e r ` e ' o r ` E ' ) ,  

t h e s i g n o f E x p V a l u e  

(  ̀ ;  ' i f E x p V a l u e   <  0 , o t h e r w i s e ` + ' ) ,  

t h e E x p D i g i t s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f  

E x p V a l u e ( w i t h l e a d i n g z e r o s i f t h e v a l u e r e q u i r e s t h e m ) .  

6 . 9 . 3 . 4 . 2 T h e x e d - p o i n t r e p r e s e n t a t i o n  

W r i t e ( f , e : T o t a l W i d t h : F r a c D i g i t s ) s h a l l c a u s e a x e d - p o i n t r e p r e s e n t a t i o n o f t h e v a l u e o f e t o b e  

w r i t t e n . A s s u m e t h e f u n c t i o n s T e n P o w e r , R e a l S i z e , a n d T r u n c a t e d e s c r i b e d i n   6 . 9 . 3 . 4 . 1    

l e t e W r i t t e n b e t h e n o n - n e g a t i v e n u m b e r d e n e d b y  

i f e = 0 . 0  

t h e n e W r i t t e n : = 0 . 0  

e l s e  

b e g i n  

e W r i t t e n : = a b s ( e )  

e W r i t t e n : = e W r i t t e n + 0 . 5 * T e n P o w e r (   ;  F r a c D i g i t s )  

e W r i t t e n : = T r u n c a t e ( e W r i t t e n , F r a c D i g i t s )  

6 4 

Page 71: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 71/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

e n d  

l e t I n t D i g i t s b e t h e p o s i t i v e i n t e g e r d e n e d b y  

i f R e a l S i z e ( e W r i t t e n )   <  1 

t h e n I n t D i g i t s : = 1  

e l s e I n t D i g i t s : = R e a l S i z e ( e W r i t t e n )  

a n d l e t M i n N u m C h a r s b e t h e p o s i t i v e i n t e g e r d e n e d b y  

M i n N u m C h a r s : = I n t D i g i t s + F r a c D i g i t s + 1  

i f ( e   <  0 . 0 ) a n d ( e W r i t t e n   >  0 . 0 )  

t h e n M i n N u m C h a r s : = M i n N u m C h a r s + 1   f   ̀ ;  ' r e q u i r e d   g 

t h e n t h e x e d - p o i n t r e p r e s e n t a t i o n o f t h e v a l u e o f e s h a l l c o n s i s t o f  

i f T o t a l W i d t h   >  = M i n N u m C h a r s ,  

( T o t a l W i d t h   ;  M i n N u m C h a r s ) s p a c e s ,  

t h e c h a r a c t e r `  ;  ' i f ( e   <  0 . 0 ) a n d ( e W r i t t e n   >  0 . 0 ) ,  

t h e r s t I n t D i g i t s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f  

t h e v a l u e o f e W r i t t e n ,  

t h e c h a r a c t e r ` . ' ,  

t h e n e x t F r a c D i g i t s d i g i t - c h a r a c t e r s o f t h e d e c i m a l r e p r e s e n t a t i o n o f  

t h e v a l u e o f e W r i t t e n .  

N O T E | A t l e a s t M i n N u m C h a r s c h a r a c t e r s a r e w r i t t e n . I f T o t a l W i d t h i s l e s s t h a n t h i s v a l u e , n o i n i t i a l  

s p a c e s a r e w r i t t e n .  

6 . 9 . 3 . 5 B o o l e a n - t y p e  

I f e i s o f B o o l e a n - t y p e , a r e p r e s e n t a t i o n o f t h e w o r d t r u e o r t h e w o r d f a l s e ( a s a p p r o p r i a t e t o t h e v a l u e  

o f e ) s h a l l b e w r i t t e n o n t h e l e f . T h i s s h a l l b e e q u i v a l e n t t o w r i t i n g t h e a p p r o p r i a t e c h a r a c t e r - s t r i n g  

' T r u e '   o r  ' F a l s e '   ( s e e   6 . 9 . 3 . 6   ) , w h e r e t h e c a s e o f e a c h l e t t e r i s i m p l e m e n t a t i o n - d e n e d , w i t h a  

e l d - w i d t h p a r a m e t e r o f T o t a l W i d t h .  

6 . 9 . 3 . 6 S t r i n g - t y p e s  

I f t h e t y p e o f e i s a s t r i n g - t y p e w i t h n c o m p o n e n t s , t h e d e f a u l t v a l u e o f T o t a l W i d t h s h a l l b e n . T h e  

r e p r e s e n t a t i o n s h a l l c o n s i s t o f  

i f T o t a l W i d t h   >  n , 

( T o t a l W i d t h   ;  n ) s p a c e s ,  

t h e r s t t h r o u g h n - t h c h a r a c t e r s o f t h e v a l u e o f e i n t h a t o r d e r .  

i f 1  <  = T o t a l W i d t h   <  = n , 

t h e r s t t h r o u g h T o t a l W i d t h - t h c h a r a c t e r s i n t h a t o r d e r .  

6 . 9 . 4 T h e p r o c e d u r e w r i t e l n  

T h e s y n t a x o f t h e p a r a m e t e r l i s t o f   w r i t e l n   s h a l l b e  

6 5 

Page 72: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 72/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

w r i t e l n - p a r a m e t e r - l i s t = `  (  ' ( l e - v a r i a b l e   j  w r i t e - p a r a m e t e r )  

f   ̀ ,  ' w r i t e - p a r a m e t e r   g   ̀ )  ' ] . 

W r i t e l n   s h a l l o n l y b e a p p l i e d t o t e x t l e s . I f t h e l e - v a r i a b l e o r t h e w r i t e l n - p a r a m e t e r - l i s t i s o m i t t e d ,  

t h e p r o c e d u r e s h a l l b e a p p l i e d t o t h e r e q u i r e d t e x t l e   o u t p u t  , a n d t h e p r o g r a m s h a l l c o n t a i n a  

p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g a n i d e n t i e r w i t h t h e s p e l l i n g o u t p u t .  

W r i t e l n ( f , p  

, . . . , p  

) s h a l l a c c e s s t h e t e x t l e a n d e s t a b l i s h a r e f e r e n c e t o t h a t t e x t l e f o r t h e r e m a i n i n g  

e x e c u t i o n o f t h e s t a t e m e n t . T h e e x e c u t i o n o f t h e s t a t e m e n t s h a l l b e e q u i v a l e n t t o  

b e g i n w r i t e ( , p  

, . . . , p  

) w r i t e l n ( ) e n d  

w h e r e d e n o t e s t h e r e f e r e n c e d t e x t l e .  

W r i t e l n   s h a l l b e d e n e d b y a p r e - a s s e r t i o n a n d a p o s t - a s s e r t i o n u s i n g t h e n o t a t i o n o f   6 . 6 . 5 . 2   . 

p r e - a s s e r t i o n : ( f 0 i s n o t u n d e n e d ) a n d ( f 0 . M = G e n e r a t i o n ) a n d ( f 0 . R = S ( ) ) .  

p o s t - a s s e r t i o n : ( f . L = ( f 0 . L ~ S ( e n d - o f - l i n e ) ) ) a n d ( f  "  i s t o t a l l y - u n d e n e d )  

a n d ( f . R = S ( ) ) a n d ( f . M = G e n e r a t i o n ) ,  

w h e r e S ( e ) i s t h e s e q u e n c e c o n s i s t i n g s o l e l y o f t h e e n d - o f - l i n e c o m p o n e n t d e n e d i n   6 . 4 . 3 . 5   . 

N O T E | W r i t e l n ( f ) t e r m i n a t e s t h e p a r t i a l l i n e , i f a n y , t h a t i s b e i n g g e n e r a t e d . B y t h e c o n v e n t i o n s o f  

6 . 6 . 5 . 2   i t i s a n e r r o r i f t h e p r e - a s s e r t i o n i s n o t t r u e p r i o r t o w r i t e l n ( f ) .  

6 . 9 . 5 T h e p r o c e d u r e p a g e  

I t s h a l l b e a n e r r o r i f t h e p r e - a s s e r t i o n r e q u i r e d f o r w r i t e l n ( f ) ( s e e   6 . 9 . 4   ) d o e s n o t h o l d p r i o r t o  

t h e a c t i v a t i o n o f p a g e ( f ) . I f t h e a c t u a l - p a r a m e t e r - l i s t i s o m i t t e d , t h e p r o c e d u r e s h a l l b e a p p l i e d t o  

t h e r e q u i r e d t e x t l e   o u t p u t  , a n d t h e p r o g r a m s h a l l c o n t a i n a p r o g r a m - p a r a m e t e r - l i s t c o n t a i n i n g  

a n i d e n t i e r w i t h t h e s p e l l i n g o u t p u t . P a g e ( f ) s h a l l c a u s e a n i m p l e m e n t a t i o n - d e n e d e e c t o n t h e  

t e x t l e f , s u c h t h a t s u b s e q u e n t t e x t w r i t t e n t o f w i l l b e o n a n e w p a g e i f t h e t e x t l e i s p r i n t e d o n a  

s u i t a b l e d e v i c e , s h a l l p e r f o r m a n i m p l i c i t w r i t e l n ( f ) i f f . L i s n o t e m p t y a n d i f f . L . l a s t i s n o t t h e e n d -  

o f - l i n e c o m p o n e n t ( s e e   6 . 4 . 3 . 5   ) , a n d s h a l l c a u s e t h e b u e r - v a r i a b l e f  "  t o b e c o m e t o t a l l y - u n d e n e d .  

T h e e e c t o f i n s p e c t i n g a t e x t l e t o w h i c h t h e   p a g e   p r o c e d u r e w a s a p p l i e d d u r i n g g e n e r a t i o n s h a l l  

b e i m p l e m e n t a t i o n - d e p e n d e n t .  

6 . 1 0 P r o g r a m s  

p r o g r a m = p r o g r a m - h e a d i n g `    ' p r o g r a m - b l o c k `   ' . 

p r o g r a m - h e a d i n g = `  p r o g r a m   ' i d e n t i e r `  (  ' p r o g r a m - p a r a m e t e r - l i s t `  )  ' ] . 

p r o g r a m - p a r a m e t e r - l i s t = i d e n t i e r - l i s t .  

p r o g r a m - b l o c k = b l o c k .  

T h e i d e n t i e r   o f  t h e p r o g r a m - h e a d i n g s h a l l b e t h e p r o g r a m n a m e . I t s h a l l h a v e n o s i g n i c a n c e  

w i t h i n t h e p r o g r a m . T h e i d e n t i e r s   c o n t a i n e d   b y t h e p r o g r a m - p a r a m e t e r - l i s t s h a l l b e d i s t i n c t a n d  

6 6 

Page 73: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 73/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

s h a l l b e d e s i g n a t e d   p r o g r a m - p a r a m e t e r s  . E a c h p r o g r a m - p a r a m e t e r s h a l l h a v e a d e n i n g - p o i n t a s a  

v a r i a b l e - i d e n t i e r f o r t h e r e g i o n t h a t i s t h e p r o g r a m - b l o c k . T h e b i n d i n g o f t h e v a r i a b l e s d e n o t e d  

b y t h e p r o g r a m - p a r a m e t e r s t o e n t i t i e s e x t e r n a l t o t h e p r o g r a m s h a l l b e i m p l e m e n t a t i o n - d e p e n d e n t ,  

e x c e p t i f t h e v a r i a b l e p o s s e s s e s a l e - t y p e i n w h i c h c a s e t h e b i n d i n g s h a l l b e i m p l e m e n t a t i o n - d e n e d .  

N O T E | T h e e x t e r n a l r e p r e s e n t a t i o n o f s u c h e x t e r n a l e n t i t i e s i s n o t d e n e d b y t h i s I n t e r n a t i o n a l S t a n d a r d .  

T h e e x e c u t i o n o f a n y a c t i o n , o p e r a t i o n , o r f u n c t i o n , d e n e d w i t h i n c l a u s e   6  t o o p e r a t e o n a v a r i a b l e ,  

s h a l l b e a n e r r o r i f t h e v a r i a b l e i s a p r o g r a m - p a r a m e t e r a n d , a s a r e s u l t o f t h e b i n d i n g o f t h e  

p r o g r a m - p a r a m e t e r , t h e e x e c u t i o n c a n n o t b e c o m p l e t e d a s d e n e d .  

T h e o c c u r r e n c e o f t h e r e q u i r e d i d e n t i e r   i n p u t   o r  o u t p u t   a s a p r o g r a m - p a r a m e t e r s h a l l c o n s t i t u t e  

i t s d e n i n g - p o i n t f o r t h e r e g i o n t h a t i s t h e p r o g r a m - b l o c k a s a v a r i a b l e - i d e n t i e r o f t h e r e q u i r e d t y p e  

d e n o t e d b y t h e r e q u i r e d t y p e - i d e n t i e r   t e x t  . S u c h o c c u r r e n c e o f t h e i d e n t i e r   i n p u t   s h a l l c a u s e  

t h e p o s t - a s s e r t i o n s o f   r e s e t   t o h o l d , a n d o f   o u t p u t  , t h e p o s t - a s s e r t i o n s o f   r e w r i t e   t o h o l d , p r i o r  

t o t h e r s t a c c e s s t o t h e t e x t l e o r i t s a s s o c i a t e d b u e r - v a r i a b l e . T h e e e c t o f t h e a p p l i c a t i o n o f  

t h e r e q u i r e d p r o c e d u r e   r e s e t   o r t h e r e q u i r e d p r o c e d u r e   r e w r i t e   t o e i t h e r o f t h e s e t e x t l e s s h a l l b e  

i m p l e m e n t a t i o n - d e n e d .  

E x a m p l e s :  

p r o g r a m c o p y ( f , g )  

v a r f , g : f i l e o f r e a l  

b e g i n r e s e t ( f ) r e w r i t e ( g )  

w h i l e n o t e o f ( f ) d o  

b e g i n g  "  : = f  "  g e t ( f ) p u t ( g )  

e n d 

e n d .  

p r o g r a m c o p y t e x t ( i n p u t , o u t p u t )  

f  T h i s p r o g r a m c o p i e s t h e c h a r a c t e r s a n d l i n e s t r u c t u r e o f t h e t e x t f i l e  

i n p u t t o t h e t e x t f i l e o u t p u t .  g 

v a r c h : c h a r  

b e g i n  

w h i l e n o t e o f d o  

b e g i n  

w h i l e n o t e o l n d o  

b e g i n r e a d ( c h ) w r i t e ( c h )  

e n d  

r e a d l n w r i t e l n  

e n d 

e n d .  

p r o g r a m t 6 p 6 p 3 p 4 ( o u t p u t )  

v a r g l o b a l o n e , g l o b a l t w o : i n t e g e r  

p r o c e d u r e d u m m y  

6 7 

Page 74: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 74/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

b e g i n  

w r i t e l n ( ' f a i l 4 ' )  

e n d  f  o f d u m m y   g   

p r o c e d u r e p ( p r o c e d u r e f ( p r o c e d u r e f f p r o c e d u r e g g ) p r o c e d u r e g )  

v a r l o c a l t o p : i n t e g e r  

p r o c e d u r e r  

b e g i n   f  r  g 

i f g l o b a l o n e = 1 t h e n  

b e g i n  

i f ( g l o b a l t w o < > 2 ) o r ( l o c a l t o p < > 1 ) t h e n  

w r i t e l n ( ' f a i l 1 ' )  

e n d 

e l s e i f g l o b a l o n e = 2 t h e n  

b e g i n  

i f ( g l o b a l t w o < > 2 ) o r ( l o c a l t o p < > 2 ) t h e n  

w r i t e l n ( ' f a i l 2 ' )  

e l s e  

w r i t e l n ( ' p a s s ' )  

e n d 

e l s e  

w r i t e l n ( ' f a i l 3 ' )  

g l o b a l o n e : = g l o b a l o n e + 1  

e n d  f  o f r  g   

b e g i n   f  o f p  g 

g l o b a l t w o : = g l o b a l t w o + 1  

l o c a l t o p : = g l o b a l t w o  

i f g l o b a l t w o = 1 t h e n  

p ( f , r )  

e l s e  

f ( g , r )  

e n d  f  o f p  g   

p r o c e d u r e q ( p r o c e d u r e f p r o c e d u r e g )  

b e g i n  

f  

e n d  f  o f q  g   

b e g i n   f  o f t 6 p 6 p 3 p 4   g 

g l o b a l o n e : = 1  

g l o b a l t w o : = 0  

p ( q , d u m m y )  

e n d .   f  o f t 6 p 6 p 3 p 4   g 

6 8 

Page 75: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 75/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x A  

( I n f o r m a t i v e )  

C o l l e c t e d s y n t a x  

T h e n o n t e r m i n a l s y m b o l s p o i n t e r - t y p e , p r o g r a m , s i g n e d - n u m b e r , s i m p l e - t y p e , s p e c i a l - s y m b o l , a n d  

s t r u c t u r e d - t y p e a r e o n l y r e f e r e n c e d b y t h e s e m a n t i c s a n d a r e n o t u s e d i n t h e r i g h t - h a n d - s i d e o f a n y  

p r o d u c t i o n . T h e n o n t e r m i n a l s y m b o l p r o g r a m i s t h e s t a r t s y m b o l o f t h e g r a m m a r .  

6 . 7 . 3 a c t u a l - p a r a m e t e r = e x p r e s s i o n   j  v a r i a b l e - a c c e s s   j  p r o c e d u r e - i d e n t i e r  

j  f u n c t i o n - i d e n t i e r .  

6 . 7 . 3 a c t u a l - p a r a m e t e r - l i s t = `  (  ' a c t u a l - p a r a m e t e r   f   ̀ ,  ' a c t u a l - p a r a m e t e r   g   ̀ )  ' . 

6 . 7 . 2 . 1 a d d i n g - o p e r a t o r = `  +  '  j   ̀ ;  '  j   ̀ o r  ' . 

6 . 1 . 7 a p o s t r o p h e - i m a g e = `  "  ' . 

6 . 4 . 3 . 2 a r r a y - t y p e = `  a r r a y   '  ̀   ' i n d e x - t y p e   f   ̀ ,  ' i n d e x - t y p e   g   ̀ ]  '  ̀ o f  ' c o m p o n e n t - t y p e .  

6 . 5 . 3 . 2 a r r a y - v a r i a b l e = v a r i a b l e - a c c e s s .  

6 . 8 . 2 . 2 a s s i g n m e n t - s t a t e m e n t = ( v a r i a b l e - a c c e s s   j  f u n c t i o n - i d e n t i e r ) `  : =  ' e x p r e s s i o n .  

6 . 4 . 3 . 4 b a s e - t y p e = o r d i n a l - t y p e .  

6 . 2 . 1 b l o c k = l a b e l - d e c l a r a t i o n - p a r t c o n s t a n t - d e n i t i o n - p a r t t y p e - d e n i t i o n - p a r t  

v a r i a b l e - d e c l a r a t i o n - p a r t p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t  

s t a t e m e n t - p a r t .  

6 . 7 . 2 . 3 B o o l e a n - e x p r e s s i o n = e x p r e s s i o n .  

6 . 6 . 3 . 7 . 1 b o u n d - i d e n t i e r = i d e n t i e r .  

6 . 5 . 5 b u e r - v a r i a b l e = l e - v a r i a b l e `  "  ' . 

6 . 4 . 3 . 3 c a s e - c o n s t a n t = c o n s t a n t .  

6 . 4 . 3 . 3 c a s e - c o n s t a n t - l i s t = c a s e - c o n s t a n t   f   ̀ ,  ' c a s e - c o n s t a n t   g  . 

6 . 8 . 3 . 5 c a s e - i n d e x = e x p r e s s i o n .  

6 . 8 . 3 . 5 c a s e - l i s t - e l e m e n t = c a s e - c o n s t a n t - l i s t `  :  ' s t a t e m e n t .  

6 . 8 . 3 . 5 c a s e - s t a t e m e n t = `  c a s e   ' c a s e - i n d e x `  o f  ' c a s e - l i s t - e l e m e n t  

f   ̀   ' c a s e - l i s t - e l e m e n t   g   ̀   ' ]  ̀ e n d  ' . 

6 . 1 . 7 c h a r a c t e r - s t r i n g = `  '  ' s t r i n g - e l e m e n t   f  s t r i n g - e l e m e n t   g   ̀ '  ' . 

6 . 4 . 3 . 2 c o m p o n e n t - t y p e = t y p e - d e n o t e r .  

6 9 

Page 76: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 76/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 5 . 3 . 1 c o m p o n e n t - v a r i a b l e = i n d e x e d - v a r i a b l e   j  e l d - d e s i g n a t o r .  

6 . 8 . 3 . 2 c o m p o u n d - s t a t e m e n t = `  b e g i n   ' s t a t e m e n t - s e q u e n c e `  e n d  ' . 

6 . 8 . 3 . 3 c o n d i t i o n a l - s t a t e m e n t = i f - s t a t e m e n t   j  c a s e - s t a t e m e n t .  

6 . 6 . 3 . 7 . 1 c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n = v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n  

j  v a r i a b l e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n .  

6 . 6 . 3 . 7 . 1 c o n f o r m a n t - a r r a y - s c h e m a = p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a  

j  u n p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a .  

6 . 3 c o n s t a n t = s i g n ] ( u n s i g n e d - n u m b e r   j  c o n s t a n t - i d e n t i e r )  

j  c h a r a c t e r - s t r i n g .  

6 . 3 c o n s t a n t - d e n i t i o n = i d e n t i e r `  =  ' c o n s t a n t .  

6 . 2 . 1 c o n s t a n t - d e n i t i o n - p a r t = `  c o n s t  ' c o n s t a n t - d e n i t i o n `    '  f  c o n s t a n t - d e n i t i o n `    '  g  ] . 

6 . 3 c o n s t a n t - i d e n t i e r = i d e n t i e r .  

6 . 8 . 3 . 9 c o n t r o l - v a r i a b l e = e n t i r e - v a r i a b l e .  

6 . 1 . 1 d i g i t = `  0  '  j   ̀ 1  '  j   ̀ 2  '  j   ̀ 3  '  j   ̀ 4  '  j   ̀ 5  '  j   ̀ 6  '  j   ̀ 7  '  j   ̀ 8  '  j   ̀ 9  ' . 

6 . 1 . 5 d i g i t - s e q u e n c e = d i g i t   f  d i g i t   g  . 

6 . 1 . 4 d i r e c t i v e = l e t t e r   f  l e t t e r   j  d i g i t   g  . 

6 . 4 . 4 d o m a i n - t y p e = t y p e - i d e n t i e r .  

6 . 8 . 3 . 4 e l s e - p a r t = `  e l s e   ' s t a t e m e n t .  

6 . 8 . 2 . 1 e m p t y - s t a t e m e n t = .  

6 . 5 . 2 e n t i r e - v a r i a b l e = v a r i a b l e - i d e n t i e r .  

6 . 4 . 2 . 3 e n u m e r a t e d - t y p e = `  (  ' i d e n t i e r - l i s t `  )  ' . 

6 . 7 . 1 e x p r e s s i o n = s i m p l e - e x p r e s s i o n r e l a t i o n a l - o p e r a t o r s i m p l e - e x p r e s s i o n ] .  

6 . 6 . 3 . 7 . 1 f a c t o r   >  b o u n d - i d e n t i e r .  

6 . 7 . 1 f a c t o r   >  v a r i a b l e - a c c e s s   j  u n s i g n e d - c o n s t a n t   j  f u n c t i o n - d e s i g n a t o r  

j  s e t - c o n s t r u c t o r   j   ̀ (  ' e x p r e s s i o n `  )  '  j   ̀ n o t  ' f a c t o r .  

6 . 5 . 3 . 3 e l d - d e s i g n a t o r = r e c o r d - v a r i a b l e `   ' e l d - s p e c i e r   j  e l d - d e s i g n a t o r - i d e n t i e r .  

6 . 8 . 3 . 1 0 e l d - d e s i g n a t o r - i d e n t i e r = i d e n t i e r .  

6 . 5 . 3 . 3 e l d - i d e n t i e r = i d e n t i e r .  

6 . 4 . 3 . 3 e l d - l i s t = ( x e d - p a r t `    ' v a r i a n t - p a r t ]   j  v a r i a n t - p a r t ) `    ' ] ] .  

7 0 

Page 77: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 77/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 5 . 3 . 3 e l d - s p e c i e r = e l d - i d e n t i e r .  

6 . 4 . 3 . 5 l e - t y p e = `   l e  '  ̀ o f  ' c o m p o n e n t - t y p e .  

6 . 5 . 5 l e - v a r i a b l e = v a r i a b l e - a c c e s s .  

6 . 8 . 3 . 9 n a l - v a l u e = e x p r e s s i o n .  

6 . 4 . 3 . 3 x e d - p a r t = r e c o r d - s e c t i o n   f   ̀   ' r e c o r d - s e c t i o n   g  . 

6 . 8 . 3 . 9 f o r - s t a t e m e n t = `  f o r  ' c o n t r o l - v a r i a b l e `  : =  ' i n i t i a l - v a l u e ( `  t o  '  j   ̀ d o w n t o  ' ) n a l - v a l u e  

 ̀ d o  ' s t a t e m e n t .  

6 . 6 . 3 . 1 f o r m a l - p a r a m e t e r - l i s t = `  (  ' f o r m a l - p a r a m e t e r - s e c t i o n   f   ̀   ' f o r m a l - p a r a m e t e r - s e c t i o n   g   ̀ )  ' . 

6 . 6 . 3 . 1 f o r m a l - p a r a m e t e r - s e c t i o n   >  v a l u e - p a r a m e t e r - s p e c i c a t i o n  

j  v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n  

j  p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n  

j  f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n .  

6 . 6 . 3 . 7 . 1 f o r m a l - p a r a m e t e r - s e c t i o n   >  c o n f o r m a n t - a r r a y - p a r a m e t e r - s p e c i c a t i o n .  

6 . 1 . 5 f r a c t i o n a l - p a r t = d i g i t - s e q u e n c e .  

6 . 6 . 2 f u n c t i o n - b l o c k = b l o c k .  

6 . 6 . 2 f u n c t i o n - d e c l a r a t i o n = f u n c t i o n - h e a d i n g `    ' d i r e c t i v e  

j  f u n c t i o n - i d e n t i c a t i o n `    ' f u n c t i o n - b l o c k  

j  f u n c t i o n - h e a d i n g `    ' f u n c t i o n - b l o c k .  

6 . 7 . 3 f u n c t i o n - d e s i g n a t o r = f u n c t i o n - i d e n t i e r a c t u a l - p a r a m e t e r - l i s t ] .  

6 . 6 . 2 f u n c t i o n - h e a d i n g = `  f u n c t i o n   ' i d e n t i e r f o r m a l - p a r a m e t e r - l i s t ] `  :  ' r e s u l t - t y p e .  

6 . 6 . 2 f u n c t i o n - i d e n t i c a t i o n = `  f u n c t i o n   ' f u n c t i o n - i d e n t i e r .  

6 . 6 . 2 f u n c t i o n - i d e n t i e r = i d e n t i e r .  

6 . 6 . 3 . 1 f u n c t i o n a l - p a r a m e t e r - s p e c i c a t i o n = f u n c t i o n - h e a d i n g .  

6 . 8 . 2 . 4 g o t o - s t a t e m e n t = `  g o t o   ' l a b e l .  

6 . 5 . 4 i d e n t i e d - v a r i a b l e = p o i n t e r - v a r i a b l e `  "  ' . 

6 . 1 . 3 i d e n t i e r = l e t t e r   f  l e t t e r   j  d i g i t   g  . 

6 . 4 . 2 . 3 i d e n t i e r - l i s t = i d e n t i e r   f   ̀ ,  ' i d e n t i e r   g  . 

6 . 8 . 3 . 4 i f - s t a t e m e n t = `  i f  ' B o o l e a n - e x p r e s s i o n `  t h e n   ' s t a t e m e n t e l s e - p a r t ] .  

6 . 5 . 3 . 2 i n d e x - e x p r e s s i o n = e x p r e s s i o n .  

7 1 

Page 78: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 78/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 4 . 3 . 2 i n d e x - t y p e = o r d i n a l - t y p e .  

6 . 6 . 3 . 7 . 1 i n d e x - t y p e - s p e c i c a t i o n = i d e n t i e r `   ' i d e n t i e r `  :  ' o r d i n a l - t y p e - i d e n t i e r .  

6 . 5 . 3 . 2 i n d e x e d - v a r i a b l e = a r r a y - v a r i a b l e `    ' i n d e x - e x p r e s s i o n ,   f   ̀ ,  ' i n d e x - e x p r e s s i o n   g   ̀ ]  ' . 

6 . 8 . 3 . 9 i n i t i a l - v a l u e = e x p r e s s i o n .  

6 . 1 . 6 l a b e l = d i g i t - s e q u e n c e .  

6 . 2 . 1 l a b e l - d e c l a r a t i o n - p a r t = `  l a b e l  ' l a b e l   f   ̀ ,  ' l a b e l   g   ̀   ' ] . 

6 . 1 . 1 l e t t e r = `  a  '  j   ̀ b  '  j   ̀ c  '  j   ̀ d  '  j   ̀ e  '  j   ̀ f  '  j   ̀ g  '  j   ̀ h  '  j   ̀ i  '  j   ̀  j  ' 

j   ̀ k  '  j   ̀ l  '  j   ̀ m  '  j   ̀ n  '  j   ̀ o  '  j   ̀ p  '  j   ̀ q  '  j   ̀ r  '  j   ̀ s  '  j   ̀ t  ' 

j   ̀ u  '  j   ̀ v  '  j   ̀ w  '  j   ̀ x  '  j   ̀ y  '  j   ̀ z  ' . 

6 . 7 . 1 m e m b e r - d e s i g n a t o r = e x p r e s s i o n `   ' e x p r e s s i o n ] .  

6 . 7 . 2 . 1 m u l t i p l y i n g - o p e r a t o r = `  *  '  j   ̀ /  '  j   ̀ d i v  '  j   ̀ m o d  '  j   ̀ a n d  ' . 

6 . 4 . 2 . 1 n e w - o r d i n a l - t y p e = e n u m e r a t e d - t y p e   j  s u b r a n g e - t y p e .  

6 . 4 . 4 n e w - p o i n t e r - t y p e = `  "  ' d o m a i n - t y p e .  

6 . 4 . 3 . 1 n e w - s t r u c t u r e d - t y p e = `  p a c k e d   ' ] u n p a c k e d - s t r u c t u r e d - t y p e .  

6 . 4 . 1 n e w - t y p e = n e w - o r d i n a l - t y p e   j  n e w - s t r u c t u r e d - t y p e   j  n e w - p o i n t e r - t y p e .  

6 . 4 . 2 . 1 o r d i n a l - t y p e = n e w - o r d i n a l - t y p e   j  o r d i n a l - t y p e - i d e n t i e r .  

6 . 4 . 2 . 1 o r d i n a l - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 6 . 3 . 7 . 1 p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a = `  p a c k e d   '  ̀ a r r a y   '  ̀   ' i n d e x - t y p e - s p e c i c a t i o n `  ]  ' 

 ̀ o f  ' t y p e - i d e n t i e r .  

6 . 4 . 4 p o i n t e r - t y p e = n e w - p o i n t e r - t y p e   j  p o i n t e r - t y p e - i d e n t i e r .  

6 . 4 . 1 p o i n t e r - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 5 . 4 p o i n t e r - v a r i a b l e = v a r i a b l e - a c c e s s .  

6 . 6 . 3 . 1 p r o c e d u r a l - p a r a m e t e r - s p e c i c a t i o n = p r o c e d u r e - h e a d i n g .  

6 . 2 . 1 p r o c e d u r e - a n d - f u n c t i o n - d e c l a r a t i o n - p a r t =   f  ( p r o c e d u r e - d e c l a r a t i o n  

j  f u n c t i o n - d e c l a r a t i o n ) `    '  g  . 

6 . 6 . 1 p r o c e d u r e - b l o c k = b l o c k .  

6 . 6 . 1 p r o c e d u r e - d e c l a r a t i o n = p r o c e d u r e - h e a d i n g `    ' d i r e c t i v e  

j  p r o c e d u r e - i d e n t i c a t i o n `    ' p r o c e d u r e - b l o c k  

j  p r o c e d u r e - h e a d i n g `    ' p r o c e d u r e - b l o c k .  

7 2 

Page 79: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 79/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 6 . 1 p r o c e d u r e - h e a d i n g = `  p r o c e d u r e  ' i d e n t i e r f o r m a l - p a r a m e t e r - l i s t ] .  

6 . 6 . 1 p r o c e d u r e - i d e n t i c a t i o n = `  p r o c e d u r e  ' p r o c e d u r e - i d e n t i e r .  

6 . 6 . 1 p r o c e d u r e - i d e n t i e r = i d e n t i e r .  

6 . 8 . 2 . 3 p r o c e d u r e - s t a t e m e n t = p r o c e d u r e - i d e n t i e r ( a c t u a l - p a r a m e t e r - l i s t ]  

j  r e a d - p a r a m e t e r - l i s t   j  r e a d l n - p a r a m e t e r - l i s t  

j  w r i t e - p a r a m e t e r - l i s t   j  w r i t e l n - p a r a m e t e r - l i s t ) .  

6 . 1 0 p r o g r a m = p r o g r a m - h e a d i n g `    ' p r o g r a m - b l o c k `   ' . 

6 . 1 0 p r o g r a m - b l o c k = b l o c k .  

6 . 1 0 p r o g r a m - h e a d i n g = `  p r o g r a m   ' i d e n t i e r `  (  ' p r o g r a m - p a r a m e t e r - l i s t `  )  ' ] . 

6 . 1 0 p r o g r a m - p a r a m e t e r - l i s t = i d e n t i e r - l i s t .  

6 . 9 . 1 r e a d - p a r a m e t e r - l i s t = `  (  ' l e - v a r i a b l e `  ,  ' ] v a r i a b l e - a c c e s s   f   ̀ ,  ' v a r i a b l e - a c c e s s   g   ̀ )  ' . 

6 . 9 . 2 r e a d l n - p a r a m e t e r - l i s t = `  (  ' ( l e - v a r i a b l e   j  v a r i a b l e - a c c e s s )  

f   ̀ ,  ' v a r i a b l e - a c c e s s   g   ̀ )  ' ] . 

6 . 4 . 2 . 1 r e a l - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 4 . 3 . 3 r e c o r d - s e c t i o n = i d e n t i e r - l i s t `  :  ' t y p e - d e n o t e r .  

6 . 4 . 3 . 3 r e c o r d - t y p e = `  r e c o r d   ' e l d - l i s t `  e n d  ' . 

6 . 5 . 3 . 3 r e c o r d - v a r i a b l e = v a r i a b l e - a c c e s s .  

6 . 8 . 3 . 1 0 r e c o r d - v a r i a b l e - l i s t = r e c o r d - v a r i a b l e   f   ̀ ,  ' r e c o r d - v a r i a b l e   g  . 

6 . 7 . 2 . 1 r e l a t i o n a l - o p e r a t o r = `  =  '  j   ̀ < >  '  j   ̀ <  '  j   ̀ >  '  j   ̀ <  =  '  j   ̀ >  =  '  j   ̀ i n  ' . 

6 . 8 . 3 . 7 r e p e a t - s t a t e m e n t = `  r e p e a t  ' s t a t e m e n t - s e q u e n c e `  u n t i l  ' B o o l e a n - e x p r e s s i o n .  

6 . 8 . 3 . 6 r e p e t i t i v e - s t a t e m e n t = r e p e a t - s t a t e m e n t   j  w h i l e - s t a t e m e n t   j  f o r - s t a t e m e n t .  

6 . 6 . 2 r e s u l t - t y p e = s i m p l e - t y p e - i d e n t i e r   j  p o i n t e r - t y p e - i d e n t i e r .  

6 . 1 . 5 s c a l e - f a c t o r = s i g n ] d i g i t - s e q u e n c e .  

6 . 7 . 1 s e t - c o n s t r u c t o r = `    ' m e m b e r - d e s i g n a t o r   f   ̀ ,  ' m e m b e r - d e s i g n a t o r   g  ]  ̀ ]  ' . 

6 . 4 . 3 . 4 s e t - t y p e = `  s e t  '  ̀ o f  ' b a s e - t y p e .  

6 . 1 . 5 s i g n = `  +  '  j   ̀ ;  ' . 

6 . 1 . 5 s i g n e d - i n t e g e r = s i g n ] u n s i g n e d - i n t e g e r .  

6 . 1 . 5 s i g n e d - n u m b e r = s i g n e d - i n t e g e r   j  s i g n e d - r e a l .  

7 3 

Page 80: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 80/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 1 . 5 s i g n e d - r e a l = s i g n ] u n s i g n e d - r e a l .  

6 . 7 . 1 s i m p l e - e x p r e s s i o n = s i g n ] t e r m   f  a d d i n g - o p e r a t o r t e r m   g  . 

6 . 8 . 2 . 1 s i m p l e - s t a t e m e n t = e m p t y - s t a t e m e n t   j  a s s i g n m e n t - s t a t e m e n t  

j  p r o c e d u r e - s t a t e m e n t   j  g o t o - s t a t e m e n t .  

6 . 4 . 2 . 1 s i m p l e - t y p e = o r d i n a l - t y p e   j  r e a l - t y p e - i d e n t i e r .  

6 . 4 . 1 s i m p l e - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 1 . 2 s p e c i a l - s y m b o l = `  +  '  j   ̀ ;  '  j   ̀ *  '  j   ̀ /  '  j   ̀ =  '  j   ̀ <  '  j   ̀ >  '  j   ̀   '  j   ̀ ]  ' 

j   ̀ '  j   ̀ ,  '  j   ̀ :  '  j   ̀   '  j   ̀ "  '  j   ̀ (  '  j   ̀ )  ' 

j   ̀ < >  '  j   ̀ <  =  '  j   ̀ >  =  '  j   ̀ : =  '  j   ̀ '  j  w o r d - s y m b o l .  

6 . 8 . 1 s t a t e m e n t = l a b e l `  :  ' ] ( s i m p l e - s t a t e m e n t   j  s t r u c t u r e d - s t a t e m e n t ) .  

6 . 2 . 1 s t a t e m e n t - p a r t = c o m p o u n d - s t a t e m e n t .  

6 . 8 . 3 . 1 s t a t e m e n t - s e q u e n c e = s t a t e m e n t   f   ̀   ' s t a t e m e n t   g  . 

6 . 1 . 7 s t r i n g - c h a r a c t e r = o n e - o f - a - s e t - o f - i m p l e m e n t a t i o n - d e n e d - c h a r a c t e r s .  

6 . 1 . 7 s t r i n g - e l e m e n t = a p o s t r o p h e - i m a g e   j  s t r i n g - c h a r a c t e r .  

6 . 8 . 3 . 1 s t r u c t u r e d - s t a t e m e n t = c o m p o u n d - s t a t e m e n t   j  c o n d i t i o n a l - s t a t e m e n t  

j  r e p e t i t i v e - s t a t e m e n t   j  w i t h - s t a t e m e n t .  

6 . 4 . 3 . 1 s t r u c t u r e d - t y p e = n e w - s t r u c t u r e d - t y p e   j  s t r u c t u r e d - t y p e - i d e n t i e r .  

6 . 4 . 1 s t r u c t u r e d - t y p e - i d e n t i e r = t y p e - i d e n t i e r .  

6 . 4 . 2 . 4 s u b r a n g e - t y p e = c o n s t a n t `   ' c o n s t a n t .  

6 . 4 . 3 . 3 t a g - e l d = i d e n t i e r .  

6 . 4 . 3 . 3 t a g - t y p e = o r d i n a l - t y p e - i d e n t i e r .  

6 . 7 . 1 t e r m = f a c t o r  f  m u l t i p l y i n g - o p e r a t o r f a c t o r   g  . 

6 . 4 . 1 t y p e - d e n i t i o n = i d e n t i e r `  =  ' t y p e - d e n o t e r .  

6 . 2 . 1 t y p e - d e n i t i o n - p a r t = `  t y p e  ' t y p e - d e n i t i o n `    '  f  t y p e - d e n i t i o n `    '  g  ] . 

6 . 4 . 1 t y p e - d e n o t e r = t y p e - i d e n t i e r   j  n e w - t y p e .  

6 . 4 . 1 t y p e - i d e n t i e r = i d e n t i e r .  

6 . 6 . 3 . 7 . 1 u n p a c k e d - c o n f o r m a n t - a r r a y - s c h e m a =  

 ̀ a r r a y   '  ̀   ' i n d e x - t y p e - s p e c i c a t i o n   f   ̀   ' i n d e x - t y p e - s p e c i c a t i o n   g   ̀ ]  ' 

 ̀ o f  ' ( t y p e - i d e n t i e r   j  c o n f o r m a n t - a r r a y - s c h e m a ) .  

7 4 

Page 81: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 81/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 4 . 3 . 1 u n p a c k e d - s t r u c t u r e d - t y p e = a r r a y - t y p e   j  r e c o r d - t y p e   j  s e t - t y p e   j  l e - t y p e .  

6 . 7 . 1 u n s i g n e d - c o n s t a n t = u n s i g n e d - n u m b e r   j  c h a r a c t e r - s t r i n g   j  c o n s t a n t - i d e n t i e r   j   ̀ n i l  ' . 

6 . 1 . 5 u n s i g n e d - i n t e g e r = d i g i t - s e q u e n c e .  

6 . 1 . 5 u n s i g n e d - n u m b e r = u n s i g n e d - i n t e g e r   j  u n s i g n e d - r e a l .  

6 . 1 . 5 u n s i g n e d - r e a l = d i g i t - s e q u e n c e `  ' f r a c t i o n a l - p a r t `  e  ' s c a l e - f a c t o r ]  

j  d i g i t - s e q u e n c e `  e  ' s c a l e - f a c t o r .  

6 . 6 . 3 . 7 . 1 v a l u e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n = i d e n t i e r - l i s t `  :  ' c o n f o r m a n t - a r r a y - s c h e m a .  

6 . 6 . 3 . 1 v a l u e - p a r a m e t e r - s p e c i c a t i o n = i d e n t i e r - l i s t `  :  ' t y p e - i d e n t i e r .  

6 . 5 . 1 v a r i a b l e - a c c e s s = e n t i r e - v a r i a b l e   j  c o m p o n e n t - v a r i a b l e   j  i d e n t i e d - v a r i a b l e  

j  b u e r - v a r i a b l e .  

6 . 6 . 3 . 7 . 1 v a r i a b l e - c o n f o r m a n t - a r r a y - s p e c i c a t i o n = `  v a r  ' i d e n t i e r - l i s t `  :  ' c o n f o r m a n t - a r r a y - s c h e m a .  

6 . 5 . 1 v a r i a b l e - d e c l a r a t i o n = i d e n t i e r - l i s t `  :  ' t y p e - d e n o t e r .  

6 . 2 . 1 v a r i a b l e - d e c l a r a t i o n - p a r t = `  v a r  ' v a r i a b l e - d e c l a r a t i o n `    '  f  v a r i a b l e - d e c l a r a t i o n `    '  g  ] . 

6 . 5 . 2 v a r i a b l e - i d e n t i e r = i d e n t i e r .  

6 . 6 . 3 . 1 v a r i a b l e - p a r a m e t e r - s p e c i c a t i o n = `  v a r  ' i d e n t i e r - l i s t `  :  ' t y p e - i d e n t i e r .  

6 . 4 . 3 . 3 v a r i a n t = c a s e - c o n s t a n t - l i s t `  :  '  ̀ (  ' e l d - l i s t `  )  ' . 

6 . 4 . 3 . 3 v a r i a n t - p a r t = `  c a s e   ' v a r i a n t - s e l e c t o r `  o f  ' v a r i a n t   f   ̀   ' v a r i a n t   g  . 

6 . 4 . 3 . 3 v a r i a n t - s e l e c t o r = t a g - e l d `  :  ' ] t a g - t y p e .  

6 . 8 . 3 . 8 w h i l e - s t a t e m e n t = `  w h i l e   ' B o o l e a n - e x p r e s s i o n `  d o  ' s t a t e m e n t .  

6 . 8 . 3 . 1 0 w i t h - s t a t e m e n t = `  w i t h   ' r e c o r d - v a r i a b l e - l i s t `  d o  ' s t a t e m e n t .  

6 . 1 . 2 w o r d - s y m b o l = `  a n d  '  j   ̀ a r r a y   '  j   ̀ b e g i n   '  j   ̀ c a s e   '  j   ̀ c o n s t  '  j   ̀ d i v  ' 

j   ̀ d o  '  j   ̀ d o w n t o  '  j   ̀ e l s e   '  j   ̀ e n d  '  j   ̀ l e  '  j   ̀ f o r  ' 

j   ̀ f u n c t i o n   '  j   ̀ g o t o   '  j   ̀ i f  '  j   ̀ i n  '  j   ̀ l a b e l  '  j   ̀ m o d  ' 

j   ̀ n i l  '  j   ̀ n o t  '  j   ̀ o f  '  j   ̀ o r  '  j   ̀ p a c k e d   '  j   ̀ p r o c e d u r e  ' 

j   ̀ p r o g r a m   '  j   ̀ r e c o r d   '  j   ̀ r e p e a t  '  j   ̀ s e t  '  j   ̀ t h e n   ' 

j   ̀ t o  '  j   ̀ t y p e  '  j   ̀ u n t i l  '  j   ̀ v a r  '  j   ̀ w h i l e   '  j   ̀ w i t h   ' . 

6 . 9 . 3 w r i t e - p a r a m e t e r = e x p r e s s i o n `  :  ' e x p r e s s i o n `  :  ' e x p r e s s i o n ] ] .  

6 . 9 . 3 w r i t e - p a r a m e t e r - l i s t = `  (  ' l e - v a r i a b l e `  ,  ' ] w r i t e - p a r a m e t e r  

f   ̀ ,  ' w r i t e - p a r a m e t e r   g   ̀ )  ' . 

6 . 9 . 4 w r i t e l n - p a r a m e t e r - l i s t = `  (  ' ( l e - v a r i a b l e   j  w r i t e - p a r a m e t e r )  

f   ̀ ,  ' w r i t e - p a r a m e t e r   g   ̀ )  ' ] . 

7 5 

Page 82: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 82/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x B  

( I n f o r m a t i v e )  

C r o s s - r e f e r e n c e s  

a c c e s s 6 . 5 . 1 6 . 5 . 3 . 1 6 . 5 . 3 . 3  

6 . 5 . 5 6 . 6 . 3 . 3 6 . 6 . 3 . 7 . 2  

6 . 6 . 3 . 7 . 3 6 . 6 . 5 . 2 6 . 8 . 2 . 2  

6 . 8 . 3 . 1 0 6 . 1 0  

a c t u a l 6 . 6 . 3 . 3 6 . 6 . 3 . 4 6 . 6 . 3 . 5  

6 . 7 . 3 6 . 8 . 2 . 3 6 . 8 . 3 . 9  

a c t u a l - p a r a m e t e r 6 . 6 . 3 . 2 6 . 6 . 3 . 3 6 . 6 . 3 . 4  

6 . 6 . 3 . 5 6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 2  

6 . 6 . 3 . 7 . 3 6 . 6 . 5 . 3 6 . 7 . 3  

a c t u a l - p a r a m e t e r - l i s t 6 . 6 . 6 . 5 6 . 7 . 3 6 . 8 . 2 . 3  

6 . 9 . 5  

a r r a y - t y p e 6 . 4 . 3 . 1 6 . 4 . 3 . 2 6 . 5 . 3 . 2  

6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 8  

a s s i g n m e n t - c o m p a t i b l e 6 . 4 . 6 6 . 5 . 3 . 2 6 . 6 . 3 . 2  

6 . 6 . 5 . 2 6 . 6 . 5 . 4 6 . 8 . 2 . 2  

6 . 8 . 3 . 9 6 . 9 . 1  

a s s i g n m e n t - s t a t e m e n t 6 . 2 . 3 . 3 6 . 6 . 2 6 . 6 . 5 . 3  

6 . 8 . 2 . 1 6 . 8 . 2 . 2 6 . 8 . 3 . 9  

b a s e - t y p e 6 . 4 . 3 . 4 6 . 4 . 5 6 . 4 . 6  

6 . 7 . 1  

b l o c k 6 . 2 . 1 6 . 2 . 3 . 1 6 . 2 . 3 . 2  

6 . 2 . 3 . 3 6 . 2 . 3 . 4 6 . 3  

6 . 4 . 1 6 . 4 . 2 . 3 6 . 5 . 1  

6 . 6 . 1 6 . 6 . 2 6 . 6 . 3 . 1  

6 . 6 . 3 . 2 6 . 6 . 3 . 3 6 . 6 . 3 . 4  

6 . 6 . 3 . 5 6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 2  

6 . 6 . 3 . 7 . 3 6 . 7 . 3 6 . 8 . 1  

6 . 8 . 2 . 3 6 . 8 . 3 . 9 6 . 1 0  

b o d y 6 . 6 . 1 6 . 8 . 3 . 8 6 . 8 . 3 . 9  

b o o l e a n - e x p r e s s i o n 6 . 7 . 2 . 3 6 . 8 . 3 . 4 6 . 8 . 3 . 7  

6 . 8 . 3 . 8  

b o o l e a n - t y p e 6 . 4 . 2 . 2 6 . 7 . 2 . 3 6 . 7 . 2 . 5  

6 . 9 . 3 . 1 6 . 9 . 3 . 5  

b u e r - v a r i a b l e 6 . 5 . 1 6 . 5 . 5 6 . 6 . 5 . 2  

6 . 9 . 1 6 . 9 . 3 6 . 9 . 5  

6 . 1 0  

c a s e - c o n s t a n t s 6 . 4 . 3 . 3 6 . 6 . 5 . 3 6 . 8 . 3 . 5  

c h a r - t y p e 6 . 1 . 7 6 . 4 . 2 . 2 6 . 4 . 3 . 2  

6 . 4 . 3 . 5 6 . 5 . 5 6 . 6 . 6 . 4  

6 . 9 . 1 6 . 9 . 3 . 1 6 . 9 . 3 . 2  

7 6 

Page 83: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 83/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

c h a r a c t e r 6 . 1 . 7 6 . 1 . 9 6 . 4 . 2 . 2  

6 . 6 . 6 . 4 6 . 9 . 1 6 . 9 . 3 . 2  

6 . 9 . 3 . 3 6 . 9 . 3 . 4 . 1 6 . 9 . 3 . 4 . 2  

c h a r a c t e r - s t r i n g 6 . 1 . 1 6 . 1 . 7 6 . 1 . 8  

6 . 3 6 . 4 . 3 . 2 6 . 7 . 1  

c l o s e d 6 . 1 . 5 6 . 1 . 6 6 . 4 . 6  

6 . 6 . 3 . 8 6 . 7 . 1 6 . 7 . 2 . 2  

c o m p a t i b l e 6 . 4 . 3 . 3 6 . 4 . 5 6 . 4 . 6  

6 . 4 . 7 6 . 6 . 3 . 8 6 . 7 . 2 . 5  

6 . 8 . 3 . 9  

c o m p o n e n t 6 . 4 . 3 . 1 6 . 4 . 3 . 2 6 . 4 . 3 . 3  

6 . 4 . 3 . 5 6 . 5 . 1 6 . 5 . 3 . 1  

6 . 5 . 3 . 2 6 . 5 . 3 . 3 6 . 6 . 2  

6 . 6 . 3 . 3 6 . 6 . 3 . 6 6 . 6 . 3 . 7 . 3  

6 . 6 . 5 . 2 6 . 6 . 6 . 5 6 . 8 . 2 . 2  

6 . 8 . 3 . 1 0 6 . 9 . 1 6 . 9 . 4  

6 . 9 . 5  

c o m p o n e n t - t y p e 6 . 4 . 3 . 2 6 . 4 . 3 . 5 6 . 4 . 6  

6 . 5 . 5 6 . 6 . 3 . 2 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 8  

c o m p o n e n t s 6 . 1 . 7 6 . 4 . 3 . 1 6 . 4 . 3 . 2  

6 . 4 . 3 . 3 6 . 4 . 3 . 5 6 . 4 . 5  

6 . 5 . 3 . 3 6 . 6 . 5 . 2 6 . 8 . 3 . 1 0  

6 . 9 . 3 . 6  

c o m p o u n d - s t a t e m e n t 6 . 2 . 1 6 . 8 . 1 6 . 8 . 3 . 1  

6 . 8 . 3 . 2  

c o n f o r m a n t - a r r a y - s c h e m a 6 . 6 . 3 . 6 6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 8  

c o n g r u o u s 6 . 6 . 3 . 4 6 . 6 . 3 . 5 6 . 6 . 3 . 6  

c o n s t a n t 6 . 3 6 . 4 . 2 . 4 6 . 4 . 3 . 3  

6 . 6 . 2 6 . 6 . 3 . 7 . 1  

c o r r e s p o n d i n g 1 . 2 4 6 . 1 . 4  

6 . 1 . 9 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 4 . 1 6 . 4 . 3 . 3 6 . 5 . 4  

6 . 6 . 3 . 1 6 . 6 . 3 . 3 6 . 6 . 3 . 6  

6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 2 6 . 6 . 3 . 7 . 3  

6 . 6 . 3 . 8 6 . 6 . 4 . 1 6 . 6 . 5 . 2  

6 . 7 . 2 . 2 6 . 7 . 3 6 . 8 . 2 . 3  

d e n i n g - p o i n t 6 . 2 . 1 6 . 2 . 2 . 1 6 . 2 . 2 . 2  

6 . 2 . 2 . 3 6 . 2 . 2 . 4 6 . 2 . 2 . 5  

6 . 2 . 2 . 7 6 . 2 . 2 . 8 6 . 2 . 2 . 9  

6 . 2 . 2 . 1 1 6 . 2 . 3 . 1 6 . 2 . 3 . 2  

6 . 3 6 . 4 . 1 6 . 4 . 2 . 3  

6 . 4 . 3 . 3 6 . 5 . 1 6 . 5 . 3 . 3  

6 . 6 . 1 6 . 6 . 2 6 . 6 . 3 . 1  

6 . 6 . 3 . 4 6 . 6 . 3 . 5 6 . 6 . 3 . 7 . 1  

6 . 8 . 3 . 1 0 6 . 1 0  

7 7 

Page 84: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 84/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

d e n i t i o n 3 . 1 4 5 . 1  

6 . 4 . 3 . 5 6 . 6 . 3 . 7 . 1  

d i r e c t i v e 6 . 1 . 4 6 . 6 . 1 6 . 6 . 2  

e n t i r e - v a r i a b l e 6 . 5 . 1 6 . 5 . 2 6 . 8 . 3 . 9  

e n u m e r a t e d - t y p e 6 . 4 . 2 . 1 6 . 4 . 2 . 3  

e r r o r 3 . 1 3 . 2 5 . 1  

6 . 4 . 6 6 . 5 . 3 . 3 6 . 5 . 4  

6 . 5 . 5 6 . 6 . 3 . 8 6 . 6 . 5 . 2  

6 . 6 . 5 . 3 6 . 6 . 6 . 2 6 . 6 . 6 . 3  

6 . 6 . 6 . 4 6 . 6 . 6 . 5 6 . 7 . 1  

6 . 7 . 2 . 2 6 . 7 . 3 6 . 8 . 3 . 5  

6 . 9 . 1 6 . 9 . 3 6 . 9 . 3 . 1  

6 . 9 . 4 6 . 9 . 5  

e x p r e s s i o n 6 . 5 . 3 . 2 6 . 6 . 3 . 2 6 . 6 . 3 . 7 . 2  

6 . 6 . 5 . 2 6 . 6 . 5 . 3 6 . 6 . 5 . 4  

6 . 6 . 6 . 2 6 . 6 . 6 . 3 6 . 6 . 6 . 4  

6 . 6 . 6 . 5 6 . 7 . 1 6 . 7 . 2 . 3  

6 . 7 . 3 6 . 8 . 2 . 2 6 . 8 . 3 . 5  

6 . 8 . 3 . 9 6 . 9 . 3 6 . 9 . 3 . 1  

f a c t o r 6 . 1 . 5 6 . 6 . 3 . 7 . 1 6 . 6 . 5 . 3  

6 . 7 . 1 6 . 7 . 2 . 1  

e l d 6 . 4 . 3 . 3 6 . 5 . 3 . 3 6 . 6 . 3 . 3  

e l d - d e s i g n a t o r 6 . 2 . 2 . 6 6 . 5 . 3 . 1 6 . 5 . 3 . 3  

e l d - i d e n t i e r 6 . 4 . 3 . 3 6 . 5 . 3 . 3 6 . 8 . 3 . 1 0  

l e - t y p e 6 . 4 . 3 . 1 6 . 4 . 3 . 5 6 . 4 . 6  

6 . 5 . 5 6 . 6 . 3 . 2 6 . 1 0  

l e - v a r i a b l e 6 . 5 . 5 6 . 6 . 5 . 2 6 . 6 . 6 . 5  

6 . 9 . 1 6 . 9 . 2 6 . 9 . 3  

6 . 9 . 4  

f o r m a l 6 . 2 . 3 . 2 6 . 6 . 1 6 . 6 . 2  

6 . 6 . 3 . 1 6 . 6 . 3 . 2 6 . 6 . 3 . 3  

6 . 6 . 3 . 4 6 . 6 . 3 . 5 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 7 . 2 6 . 6 . 3 . 7 . 3 6 . 7 . 3  

6 . 8 . 2 . 3  

f o r m a l - p a r a m e t e r - l i s t 6 . 6 . 1 6 . 6 . 2 6 . 6 . 3 . 1  

6 . 6 . 3 . 4 6 . 6 . 3 . 5 6 . 6 . 3 . 7 . 1  

f u n c t i o n 6 . 1 . 2 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 4 . 3 . 5 6 . 6 6 . 6 . 1  

6 . 6 . 2 6 . 6 . 3 . 5 6 . 6 . 6 . 3  

6 . 6 . 6 . 4 6 . 6 . 6 . 5 6 . 7 . 2 . 2  

6 . 7 . 3 6 . 9 . 3 . 3 6 . 9 . 3 . 4 . 1  

6 . 9 . 3 . 4 . 2  

f u n c t i o n - b l o c k 6 . 1 . 4 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 6 . 2 6 . 6 . 3 . 1 6 . 8 . 2 . 2  

f u n c t i o n - d e c l a r a t i o n 6 . 1 . 4 6 . 2 . 1 6 . 6 . 2  

6 . 7 . 3  

7 8 

Page 85: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 85/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

f u n c t i o n - d e s i g n a t o r 6 . 2 . 3 . 4 6 . 6 . 3 . 7 . 2 6 . 7 . 1  

6 . 7 . 3  

f u n c t i o n - i d e n t i e r 6 . 2 . 3 . 1 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 6 . 2 6 . 6 . 3 . 1 6 . 6 . 3 . 5  

6 . 7 . 3 6 . 8 . 2 . 2  

g o t o - s t a t e m e n t 6 . 8 . 1 6 . 8 . 2 . 1 6 . 8 . 2 . 4  

6 . 8 . 3 . 1 6 . 8 . 3 . 7 6 . 8 . 3 . 9  

i d e n t i e r 4 6 . 1 . 3 6 . 2 . 2 . 1  

6 . 2 . 2 . 5 6 . 2 . 2 . 7 6 . 2 . 2 . 8  

6 . 2 . 2 . 9 6 . 2 . 2 . 1 1 6 . 3  

6 . 4 . 1 6 . 4 . 2 . 3 6 . 4 . 3 . 3  

6 . 5 . 1 6 . 5 . 2 6 . 5 . 3 . 3  

6 . 6 . 1 6 . 6 . 2 6 . 6 . 3 . 1  

6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 2 6 . 8 . 3 . 9  

6 . 8 . 3 . 1 0 6 . 1 0  

i d e n t i e r - l i s t 6 . 4 . 2 . 3 6 . 4 . 3 . 3 6 . 5 . 1  

6 . 6 . 3 . 1 6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 3  

6 . 1 0  

i m p l e m e n t a t i o n - d e n e d 3 . 1 3 . 3 5 . 1  

5 . 2 6 . 1 . 7 6 . 4 . 2 . 2  

6 . 6 . 5 . 2 6 . 7 . 2 . 2 6 . 9 . 3 . 1  

6 . 9 . 3 . 4 . 1 6 . 9 . 3 . 5 6 . 9 . 5  

6 . 1 0  

i m p l e m e n t a t i o n - d e p e n d e n t 3 . 2 3 . 4 5 . 1  

5 . 2 6 . 5 . 3 . 2 6 . 7 . 1  

6 . 7 . 2 . 1 6 . 7 . 3 6 . 8 . 2 . 2  

6 . 8 . 2 . 3 6 . 9 . 5 6 . 1 0  

i n d e x - t y p e 6 . 4 . 3 . 2 6 . 5 . 3 . 2 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 8  

i n d e x e d - v a r i a b l e 6 . 5 . 3 . 1 6 . 5 . 3 . 2 6 . 6 . 3 . 7 . 2  

i n t e g e r - t y p e 6 . 1 . 5 6 . 3 6 . 4 . 2 . 2  

6 . 4 . 2 . 3 6 . 4 . 6 6 . 6 . 6 . 2  

6 . 6 . 6 . 3 6 . 6 . 6 . 4 6 . 6 . 6 . 5  

6 . 7 . 2 . 2 6 . 7 . 2 . 5 6 . 9 . 1  

6 . 9 . 3 . 1 6 . 9 . 3 . 3  

l a b e l 6 . 1 . 2 6 . 1 . 6 6 . 2 . 1  

6 . 2 . 2 . 1 6 . 2 . 2 . 5 6 . 2 . 2 . 7  

6 . 2 . 2 . 8 6 . 2 . 2 . 9 6 . 2 . 2 . 1 1  

6 . 2 . 3 . 2 6 . 2 . 3 . 3 6 . 8 . 1  

6 . 8 . 2 . 4  

m e m b e r 6 . 4 . 6 6 . 7 . 1 6 . 7 . 2 . 5  

n o t e 3 3 . 1 3 . 5  

5 5 . 1 5 . 2  

6 . 1 6 . 1 . 4 6 . 1 . 7  

6 . 1 . 9 6 . 2 . 2 . 8 6 . 2 . 2 . 1 0  

6 . 2 . 2 . 1 1 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

7 9 

Page 86: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 86/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 4 . 2 . 2 6 . 4 . 3 . 1 6 . 4 . 3 . 2  

6 . 4 . 3 . 3 6 . 4 . 3 . 4 6 . 4 . 3 . 5  

6 . 4 . 4 6 . 4 . 7 6 . 5 . 1  

6 . 5 . 3 . 2 6 . 5 . 3 . 3 6 . 5 . 4  

6 . 6 . 3 . 1 6 . 6 . 3 . 7 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 7 . 2 6 . 6 . 3 . 8 6 . 6 . 4 . 1  

6 . 6 . 5 . 2 6 . 6 . 5 . 3 6 . 7 . 1  

6 . 7 . 2 . 1 6 . 7 . 2 . 2 6 . 7 . 2 . 5  

6 . 8 . 1 6 . 8 . 3 . 4 6 . 8 . 3 . 5  

6 . 9 . 1 6 . 9 . 2 6 . 9 . 3 . 4 . 2  

6 . 9 . 4 6 . 1 0  

n u m b e r 5 . 1 6 . 1 . 7 6 . 4 . 2 . 2  

6 . 4 . 2 . 3 6 . 4 . 3 . 2 6 . 4 . 5  

6 . 6 . 3 . 6 6 . 6 . 6 . 4 6 . 7 . 3  

6 . 8 . 2 . 3 6 . 9 . 1 6 . 9 . 3 . 3  

6 . 9 . 3 . 4 6 . 9 . 3 . 4 . 1 6 . 9 . 3 . 4 . 2  

o p e r a n d 6 . 7 . 2 . 1 6 . 7 . 2 . 2 6 . 7 . 2 . 5  

o p e r a t o r 6 . 5 . 1 6 . 7 . 1 6 . 7 . 2 . 1  

6 . 7 . 2 . 2 6 . 7 . 2 . 4 6 . 7 . 2 . 5  

6 . 8 . 3 . 5  

o r d i n a l 6 . 4 . 2 . 1 6 . 4 . 2 . 2 6 . 4 . 2 . 3  

6 . 6 . 6 . 1 6 . 6 . 6 . 4 6 . 7 . 2 . 5  

o r d i n a l - t y p e 6 . 4 . 2 . 1 6 . 4 . 2 . 4 6 . 4 . 3 . 2  

6 . 4 . 3 . 3 6 . 4 . 3 . 4 6 . 6 . 6 . 4  

6 . 7 . 1 6 . 7 . 2 . 5 6 . 8 . 3 . 5  

6 . 8 . 3 . 9  

p a r a m e t e r 6 . 6 . 1 6 . 6 . 3 . 1 6 . 6 . 3 . 2  

6 . 6 . 3 . 3 6 . 6 . 3 . 4 6 . 6 . 3 . 5  

6 . 6 . 3 . 6 6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 7 . 2  

6 . 6 . 3 . 7 . 3 6 . 6 . 5 . 2 6 . 6 . 6 . 2  

6 . 6 . 6 . 5 6 . 8 . 3 . 9 6 . 9 . 1  

6 . 9 . 2 6 . 9 . 3 6 . 9 . 3 . 5  

6 . 9 . 4 6 . 1 0  

p o i n t e r 6 . 4 . 1 6 . 5 . 1 6 . 7 . 2 . 5  

p o i n t e r - t y p e 6 . 4 . 4 6 . 5 . 4 6 . 6 . 5 . 3  

p r o c e d u r e 6 . 1 . 2 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 4 . 4 6 . 5 . 4 6 . 6  

6 . 6 . 1 6 . 6 . 3 . 4 6 . 6 . 3 . 7 . 2  

6 . 8 . 2 . 3 6 . 8 . 3 . 9 6 . 9 . 1  

6 . 9 . 2 6 . 9 . 3 6 . 9 . 4  

6 . 9 . 5 6 . 1 0  

p r o c e d u r e - b l o c k 6 . 1 . 4 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

6 . 6 . 1 6 . 6 . 3 . 1 6 . 8 . 2 . 3  

p r o c e d u r e - d e c l a r a t i o n 6 . 1 . 4 6 . 2 . 1 6 . 6 . 1  

6 . 8 . 2 . 3  

p r o c e d u r e - i d e n t i e r 6 . 2 . 3 . 1 6 . 2 . 3 . 2 6 . 2 . 3 . 3  

8 0 

Page 87: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 87/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 6 . 1 6 . 6 . 3 . 1 6 . 6 . 3 . 4  

6 . 7 . 3 6 . 8 . 2 . 3  

p r o c e d u r e - s t a t e m e n t 6 . 2 . 3 . 4 6 . 8 . 2 . 1 6 . 8 . 2 . 3  

6 . 8 . 3 . 9  

p r o g r a m - p a r a m e t e r s 6 . 2 . 3 . 5 6 . 1 0  

r e a l - t y p e 6 . 1 . 5 6 . 3 6 . 4 . 2 . 2  

6 . 4 . 6 6 . 6 . 6 . 2 6 . 6 . 6 . 3  

6 . 7 . 2 . 2 6 . 7 . 2 . 5 6 . 9 . 1  

6 . 9 . 3 . 1 6 . 9 . 3 . 4  

r e c o r d - t y p e 6 . 4 . 3 . 1 6 . 4 . 3 . 3 6 . 5 . 3 . 3  

6 . 6 . 5 . 3 6 . 8 . 3 . 1 0  

r e c o r d - v a r i a b l e 6 . 4 . 3 . 3 6 . 5 . 3 . 3 6 . 8 . 3 . 1 0  

r e f e r e n c e 6 . 5 . 3 . 1 6 . 5 . 3 . 3 6 . 5 . 4  

6 . 5 . 5 6 . 6 . 3 . 3 6 . 6 . 3 . 7 . 2  

6 . 6 . 3 . 7 . 3 6 . 8 . 2 . 2 6 . 8 . 3 . 1 0  

r e g i o n 6 . 2 . 1 6 . 2 . 2 . 2 6 . 2 . 2 . 3  

6 . 2 . 2 . 4 6 . 2 . 2 . 5 6 . 2 . 2 . 6  

6 . 2 . 2 . 7 6 . 2 . 2 . 1 0 6 . 2 . 3 . 1  

6 . 2 . 3 . 2 6 . 3 6 . 4 . 1  

6 . 4 . 2 . 3 6 . 4 . 3 . 3 6 . 5 . 1  

6 . 5 . 3 . 3 6 . 6 . 1 6 . 6 . 2  

6 . 6 . 3 . 1 6 . 6 . 3 . 7 . 1 6 . 8 . 3 . 1 0  

6 . 1 0  

r e s u l t 6 . 2 . 3 . 2 6 . 2 . 3 . 3 6 . 2 . 3 . 5  

6 . 6 . 1 6 . 6 . 2 6 . 6 . 6 . 2  

6 . 6 . 6 . 3 6 . 6 . 6 . 4 6 . 7 . 2 . 2  

6 . 7 . 2 . 4 6 . 7 . 2 . 5 6 . 7 . 3  

6 . 8 . 2 . 2  

s a m e 3 . 5 5 . 2 6 . 1  

6 . 1 . 3 6 . 1 . 4 6 . 1 . 7  

6 . 2 . 3 . 3 6 . 4 . 1 6 . 4 . 2 . 2  

6 . 4 . 2 . 4 6 . 4 . 3 . 2 6 . 4 . 5  

6 . 4 . 6 6 . 4 . 7 6 . 5 . 3 . 1  

6 . 5 . 3 . 2 6 . 6 . 3 . 2 6 . 6 . 3 . 3  

6 . 6 . 3 . 5 6 . 6 . 3 . 6 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 7 . 2 6 . 6 . 3 . 8 6 . 6 . 6 . 2  

6 . 6 . 6 . 4 6 . 7 . 1 6 . 7 . 2 . 2  

6 . 7 . 2 . 4 6 . 7 . 2 . 5 6 . 8 . 3 . 5  

6 . 8 . 3 . 1 0  

s c o p e 6 . 2 6 . 2 . 2 6 . 2 . 2 . 2  

6 . 2 . 2 . 4 6 . 2 . 2 . 5 6 . 2 . 2 . 8  

s e t - t y p e 6 . 4 . 3 . 1 6 . 4 . 3 . 4 6 . 7 . 1  

6 . 7 . 2 . 5  

s t a t e m e n t 6 . 2 . 1 6 . 2 . 3 . 2 6 . 6 . 5 . 4  

6 . 8 . 1 6 . 8 . 2 . 1 6 . 8 . 3 . 1  

6 . 8 . 3 . 4 6 . 8 . 3 . 5 6 . 8 . 3 . 8  

8 1 

Page 88: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 88/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

6 . 8 . 3 . 9 6 . 8 . 3 . 1 0  

s t r i n g - t y p e 6 . 1 . 7 6 . 4 . 3 . 2 6 . 4 . 5  

6 . 4 . 6 6 . 6 . 3 . 7 . 1 6 . 7 . 2 . 5  

6 . 9 . 3 . 1 6 . 9 . 3 . 6  

s t r u c t u r e d - t y p e 6 . 4 . 3 . 1 6 . 4 . 3 . 5 6 . 5 . 1  

6 . 8 . 2 . 2  

s u b r a n g e 6 . 4 . 2 . 4 6 . 4 . 5 6 . 7 . 1  

6 . 9 . 1  

t e x t l e 6 . 4 . 3 . 5 6 . 5 . 5 6 . 6 . 6 . 5  

6 . 9 . 1 6 . 9 . 2 6 . 9 . 3  

6 . 9 . 4 6 . 9 . 5 6 . 1 0  

t o k e n 4 6 . 1 6 . 1 . 1  

6 . 1 . 2 6 . 1 . 8 6 . 1 . 9  

t o t a l l y - u n d e n e d 6 . 2 . 3 . 5 6 . 5 . 3 . 3 6 . 6 . 5 . 2  

6 . 6 . 5 . 3 6 . 8 . 2 . 2 6 . 9 . 4  

6 . 9 . 5  

t y p e - i d e n t i e r 6 . 2 . 2 . 9 6 . 2 . 2 . 1 1 6 . 4 . 1  

6 . 4 . 2 . 1 6 . 4 . 4 6 . 6 . 3 . 1  

6 . 6 . 3 . 2 6 . 6 . 3 . 3 6 . 6 . 3 . 6  

6 . 6 . 3 . 7 . 1 6 . 6 . 3 . 8 6 . 1 0  

u n d e n e d 6 . 5 . 3 . 3 6 . 5 . 4 6 . 6 . 5 . 2  

6 . 6 . 5 . 3 6 . 6 . 6 . 5 6 . 7 . 1  

6 . 7 . 3 6 . 8 . 2 . 2 6 . 8 . 3 . 9  

6 . 9 . 1 6 . 9 . 3 6 . 9 . 4  

v a r i a b l e 6 . 2 . 3 . 2 6 . 2 . 3 . 3 6 . 4 . 1  

6 . 4 . 3 . 5 6 . 4 . 4 6 . 5 . 1  

6 . 5 . 3 . 1 6 . 5 . 3 . 2 6 . 5 . 3 . 3  

6 . 5 . 4 6 . 5 . 5 6 . 6 . 3 . 1  

6 . 6 . 3 . 2 6 . 6 . 3 . 3 6 . 6 . 3 . 7 . 1  

6 . 6 . 3 . 7 . 2 6 . 6 . 3 . 7 . 3 6 . 6 . 5 . 2  

6 . 6 . 5 . 3 6 . 6 . 5 . 4 6 . 7 . 1  

6 . 8 . 2 . 2 6 . 8 . 3 . 9 6 . 8 . 3 . 1 0  

6 . 9 . 1 6 . 1 0  

v a r i a b l e - a c c e s s 6 . 5 . 1 6 . 5 . 3 . 2 6 . 5 . 3 . 3  

6 . 5 . 4 6 . 5 . 5 6 . 6 . 3 . 3  

6 . 6 . 3 . 7 . 3 6 . 6 . 5 . 2 6 . 6 . 5 . 3  

6 . 7 . 1 6 . 7 . 3 6 . 8 . 2 . 2  

6 . 8 . 3 . 9 6 . 9 . 1 6 . 9 . 2  

v a r i a n t 6 . 4 . 3 . 3 6 . 5 . 3 . 3 6 . 6 . 5 . 3  

w o r d - s y m b o l 6 . 1 . 2 6 . 1 . 3 6 . 1 . 4  

8 2 

Page 89: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 89/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x C  

( I n f o r m a t i v e )  

R e q u i r e d i d e n t i e r s  

I d e n t i e r R e f e r e n c e ( s )  

a b s 6 . 6 . 6 . 2  

a r c t a n 6 . 6 . 6 . 2  

B o o l e a n 6 . 4 . 2 . 2  

c h a r 6 . 4 . 2 . 2  

c h r 6 . 6 . 6 . 4  

c o s 6 . 6 . 6 . 2  

d i s p o s e 6 . 6 . 5 . 3  

e o f 6 . 6 . 6 . 5  

e o l n 6 . 6 . 6 . 5  

e x p 6 . 6 . 6 . 2  

f a l s e 6 . 4 . 2 . 2  

g e t 6 . 6 . 5 . 2  

i n p u t 6 . 1 0  

i n t e g e r 6 . 4 . 2 . 2  

l n 6 . 6 . 6 . 2  

m a x i n t 6 . 7 . 2 . 2  

n e w 6 . 6 . 5 . 3  

o d d 6 . 6 . 6 . 5  

o r d 6 . 6 . 6 . 4  

o u t p u t 6 . 1 0  

p a c k 6 . 6 . 5 . 4  

p a g e 6 . 9 . 5  

p r e d 6 . 6 . 6 . 4  

p u t 6 . 6 . 5 . 2  

r e a d 6 . 6 . 5 . 2 , 6 . 9 . 1  

r e a d l n 6 . 9 . 2  

r e a l 6 . 4 . 2 . 2  

r e s e t 6 . 6 . 5 . 2  

r e w r i t e 6 . 6 . 5 . 2  

r o u n d 6 . 6 . 6 . 3  

s i n 6 . 6 . 6 . 2  

s q r 6 . 6 . 6 . 2  

s q r t 6 . 6 . 6 . 2  

s u c c 6 . 6 . 6 . 4  

t e x t 6 . 4 . 3 . 5  

t r u e 6 . 4 . 2 . 2  

t r u n c 6 . 6 . 6 . 3  

u n p a c k 6 . 6 . 5 . 4  

8 3 

Page 90: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 90/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

w r i t e 6 . 6 . 5 . 2 , 6 . 9 . 3  

w r i t e l n 6 . 9 . 4  

8 4 

Page 91: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 91/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x D  

( I n f o r m a t i v e )  

E r r o r s  

A c o m p l y i n g p r o c e s s o r i s r e q u i r e d t o p r o v i d e d o c u m e n t a t i o n c o n c e r n i n g i t s t r e a t m e n t o f e r r o r s . T o  

f a c i l i t a t e t h e p r o d u c t i o n o f s u c h d o c u m e n t a t i o n , a l l t h e e r r o r s s p e c i e d i n c l a u s e   6  a r e d e s c r i b e d  

a g a i n i n t h i s a n n e x .  

D . 1 6 . 5 . 3 . 2  

F o r a n i n d e x e d - v a r i a b l e c l o s e s t - c o n t a i n i n g a s i n g l e i n d e x - e x p r e s s i o n , i t i s a n e r r o r i f t h e v a l u e  

o f t h e i n d e x - e x p r e s s i o n i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e i n d e x - t y p e o f t h e a r r a y - t y p e .  

D . 2 6 . 5 . 3 . 3  

I t i s a n e r r o r u n l e s s a v a r i a n t i s a c t i v e f o r t h e e n t i r e t y o f e a c h r e f e r e n c e a n d a c c e s s t o e a c h  

c o m p o n e n t o f t h e v a r i a n t .  

D . 3 6 . 5 . 4  

I t i s a n e r r o r i f t h e p o i n t e r - v a r i a b l e o f a n i d e n t i e d - v a r i a b l e d e n o t e s a n i l - v a l u e .  

D . 4 6 . 5 . 4  

I t i s a n e r r o r i f t h e p o i n t e r - v a r i a b l e o f a n i d e n t i e d - v a r i a b l e i s u n d e n e d .  

D . 5 6 . 5 . 4  

I t i s a n e r r o r t o r e m o v e f r o m i t s p o i n t e r - t y p e t h e i d e n t i f y i n g - v a l u e o f a n i d e n t i e d - v a r i a b l e  

w h e n a r e f e r e n c e t o t h e i d e n t i e d - v a r i a b l e e x i s t s .  

D . 6 6 . 5 . 5  

I t i s a n e r r o r t o a l t e r t h e v a l u e o f a l e - v a r i a b l e f w h e n a r e f e r e n c e t o t h e b u e r - v a r i a b l e f  " 

e x i s t s .  

D . 7 6 . 6 . 3 . 2  

I t i s a n e r r o r i f t h e v a l u e o f e a c h c o r r e s p o n d i n g a c t u a l v a l u e p a r a m e t e r i s n o t a s s i g n m e n t -  

c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e f o r m a l - p a r a m e t e r .  

D . 8 6 . 6 . 3 . 2  

F o r a v a l u e p a r a m e t e r , i t i s a n e r r o r i f t h e a c t u a l - p a r a m e t e r i s a n e x p r e s s i o n o f a s e t - t y p e  

w h o s e v a l u e i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e f o r m a l - p a r a m e t e r .  

D . 9 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e l e m o d e i s n o t G e n e r a t i o n i m m e d i a t e l y p r i o r t o a n y u s e o f   p u t  ,  w r i t e  , 

w r i t e l n   o r  p a g e  . 

D . 1 0 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e l e i s u n d e n e d i m m e d i a t e l y p r i o r t o a n y u s e o f   p u t  ,  w r i t e  ,  w r i t e l n   o r 

p a g e  . 

D . 1 1 6 . 6 . 5 . 2  

I t i s a n e r r o r i f e n d - o f - l e i s n o t t r u e i m m e d i a t e l y p r i o r t o a n y u s e o f   p u t  ,  w r i t e  ,  w r i t e l n   o r 

8 5 

Page 92: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 92/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

p a g e  . 

D . 1 2 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e b u e r - v a r i a b l e i s u n d e n e d i m m e d i a t e l y p r i o r t o a n y u s e o f   p u t  . 

D . 1 3 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e l e i s u n d e n e d i m m e d i a t e l y p r i o r t o a n y u s e o f   r e s e t  . 

D . 1 4 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e l e m o d e i s n o t   I n s p e c t i o n   i m m e d i a t e l y p r i o r t o a n y u s e o f   g e t  o r  r e a d   . 

D . 1 5 6 . 6 . 5 . 2  

I t i s a n e r r o r i f t h e l e i s u n d e n e d i m m e d i a t e l y p r i o r t o a n y u s e o f   g e t  o r  r e a d   . 

D . 1 6 6 . 6 . 5 . 2  

I t i s a n e r r o r i f e n d - o f - l e i s t r u e i m m e d i a t e l y p r i o r t o a n y u s e o f   g e t  o r  r e a d   . 

D . 1 7 6 . 6 . 5 . 2  

F o r  r e a d   , i t i s a n e r r o r i f t h e v a l u e p o s s e s s e d b y t h e b u e r - v a r i a b l e i s n o t a s s i g n m e n t -  

c o m p a t i b l e w i t h t h e v a r i a b l e - a c c e s s .  

D . 1 8 6 . 6 . 5 . 2  

F o r  w r i t e  , i t i s a n e r r o r i f t h e v a l u e p o s s e s s e d b y t h e e x p r e s s i o n i s n o t a s s i g n m e n t - c o m p a t i b l e  

w i t h t h e b u e r - v a r i a b l e .  

D . 1 9 6 . 6 . 5 . 3  

F o r n e w ( p , c  

, . . . , c  

) , i t i s a n e r r o r i f a v a r i a n t o f a v a r i a n t - p a r t w i t h i n t h e n e w v a r i a b l e b e c o m e s  

a c t i v e a n d a d i e r e n t v a r i a n t o f t h e v a r i a n t - p a r t i s o n e o f t h e s p e c i e d v a r i a n t s .  

D . 2 0 6 . 6 . 5 . 3  

F o r d i s p o s e ( p ) , i t i s a n e r r o r i f t h e i d e n t i f y i n g - v a l u e h a d b e e n c r e a t e d u s i n g t h e f o r m n e w ( p , c  

, . . . , c  

) . 

D . 2 1 6 . 6 . 5 . 3  

F o r d i s p o s e ( p , k  

, . . . , k  

) , i t i s a n e r r o r u n l e s s t h e v a r i a b l e h a d b e e n c r e a t e d u s i n g t h e f o r m  

n e w ( p , c  

, . . . , c  

) a n d m i s e q u a l t o n .  

D . 2 2 6 . 6 . 5 . 3  

F o r d i s p o s e ( p , k  

, . . . , k  

) , i t i s a n e r r o r i f t h e v a r i a n t s i n t h e v a r i a b l e i d e n t i e d b y t h e p o i n t e r  

v a l u e o f p a r e d i e r e n t f r o m t h o s e s p e c i e d b y t h e c a s e - c o n s t a n t s k  

, . . . , k  

D . 2 3 6 . 6 . 5 . 3  

F o r  d i s p o s e   , i t i s a n e r r o r i f t h e p a r a m e t e r o f a p o i n t e r - t y p e h a s a n i l - v a l u e .  

D . 2 4 6 . 6 . 5 . 3  

F o r  d i s p o s e   , i t i s a n e r r o r i f t h e p a r a m e t e r o f a p o i n t e r - t y p e i s u n d e n e d .  

D . 2 5 6 . 6 . 5 . 3  

I t i s a n e r r o r i f a v a r i a b l e c r e a t e d u s i n g t h e s e c o n d f o r m o f   n e w  i s a c c e s s e d b y t h e i d e n t i e d -  

v a r i a b l e o f t h e v a r i a b l e - a c c e s s o f a f a c t o r , o f a n a s s i g n m e n t - s t a t e m e n t , o r o f a n a c t u a l - p a r a m e t e r .  

D . 2 6 6 . 6 . 5 . 4  

F o r  p a c k   , i t i s a n e r r o r i f t h e p a r a m e t e r o f o r d i n a l - t y p e i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e  

8 6 

Page 93: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 93/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

i n d e x - t y p e o f t h e u n p a c k e d a r r a y p a r a m e t e r .  

D . 2 7 6 . 6 . 5 . 4  

F o r  p a c k   , i t i s a n e r r o r i f a n y o f t h e c o m p o n e n t s o f t h e u n p a c k e d a r r a y a r e b o t h u n d e n e d  

a n d a c c e s s e d .  

D . 2 8 6 . 6 . 5 . 4  

F o r  p a c k   , i t i s a n e r r o r i f t h e i n d e x - t y p e o f t h e u n p a c k e d a r r a y i s e x c e e d e d .  

D . 2 9 6 . 6 . 5 . 4  

F o r  u n p a c k   , i t i s a n e r r o r i f t h e p a r a m e t e r o f o r d i n a l - t y p e i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h  

t h e i n d e x - t y p e o f t h e u n p a c k e d a r r a y p a r a m e t e r .  

D . 3 0 6 . 6 . 5 . 4  

F o r  u n p a c k   , i t i s a n e r r o r i f a n y o f t h e c o m p o n e n t s o f t h e p a c k e d a r r a y a r e u n d e n e d .  

D . 3 1 6 . 6 . 5 . 4  

F o r  u n p a c k   , i t i s a n e r r o r i f t h e i n d e x - t y p e o f t h e u n p a c k e d a r r a y i s e x c e e d e d .  

D . 3 2 6 . 6 . 6 . 2  

S q r ( x ) c o m p u t e s t h e s q u a r e o f x . I t i s a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

D . 3 3 6 . 6 . 6 . 2  

F o r l n ( x ) , i t i s a n e r r o r i f x i s n o t g r e a t e r t h a n z e r o .  

D . 3 4 6 . 6 . 6 . 2  

F o r s q r t ( x ) , i t i s a n e r r o r i f x i s n e g a t i v e .  

D . 3 5 6 . 6 . 6 . 3  

F o r t r u n c ( x ) , t h e v a l u e o f t r u n c ( x ) i s s u c h t h a t i f x i s p o s i t i v e o r z e r o t h e n 0     x  ;  t r u n c ( x )  <  1  

o t h e r w i s e 1   <  x  ;  t r u n c ( x )     0 . I t i s a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

D . 3 6 6 . 6 . 6 . 3  

F o r r o u n d ( x ) , i f x i s p o s i t i v e o r z e r o t h e n r o u n d ( x ) i s e q u i v a l e n t t o t r u n c ( x + 0 . 5 ) , o t h e r w i s e  

r o u n d ( x ) i s e q u i v a l e n t t o t r u n c ( x   ;  0 . 5 ) . I t i s a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

D . 3 7 6 . 6 . 6 . 3  

F o r c h r ( x ) , t h e f u n c t i o n r e t u r n s a r e s u l t o f c h a r - t y p e t h a t i s t h e v a l u e w h o s e o r d i n a l n u m b e r  

i s e q u a l t o t h e v a l u e o f t h e e x p r e s s i o n x i f s u c h a c h a r a c t e r v a l u e e x i s t s . I t i s a n e r r o r i f s u c h  

a c h a r a c t e r v a l u e d o e s n o t e x i s t .  

D . 3 8 6 . 6 . 6 . 4  

F o r s u c c ( x ) , t h e f u n c t i o n y i e l d s a v a l u e w h o s e o r d i n a l n u m b e r i s o n e g r e a t e r t h a n t h a t o f x , i f  

s u c h a v a l u e e x i s t s . I t i s a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

D . 3 9 6 . 6 . 6 . 4  

F o r p r e d ( x ) , t h e f u n c t i o n y i e l d s a v a l u e w h o s e o r d i n a l n u m b e r i s o n e l e s s t h a n t h a t o f x , i f  

s u c h a v a l u e e x i s t s . I t i s a n e r r o r i f s u c h a v a l u e d o e s n o t e x i s t .  

D . 4 0 6 . 6 . 6 . 5  

W h e n e o f ( f ) i s a c t i v a t e d , i t i s a n e r r o r i f f i s u n d e n e d .  

8 7 

Page 94: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 94/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

D . 4 1 6 . 6 . 6 . 5  

W h e n e o l n ( f ) i s a c t i v a t e d , i t i s a n e r r o r i f f i s u n d e n e d .  

D . 4 2 6 . 6 . 6 . 5  

W h e n e o l n ( f ) i s a c t i v a t e d , i t i s a n e r r o r i f e o f ( f ) i s t r u e .  

D . 4 3 6 . 7 . 1  

A n e x p r e s s i o n d e n o t e s a v a l u e u n l e s s a v a r i a b l e d e n o t e d b y a v a r i a b l e - a c c e s s c o n t a i n e d b y t h e  

e x p r e s s i o n i s u n d e n e d a t t h e t i m e o f i t s u s e , i n w h i c h c a s e t h a t u s e i s a n e r r o r .  

D . 4 4 6 . 7 . 2 . 2  

A t e r m o f t h e f o r m x / y i s a n e r r o r i f y i s z e r o .  

D . 4 5 6 . 7 . 2 . 2  

A t e r m o f t h e f o r m i d i v j i s a n e r r o r i f j i s z e r o .  

D . 4 6 6 . 7 . 2 . 2  

A t e r m o f t h e f o r m i m o d j i s a n e r r o r i f j i s z e r o o r n e g a t i v e .  

D . 4 7 6 . 7 . 2 . 2  

I t i s a n e r r o r i f a n i n t e g e r o p e r a t i o n o r f u n c t i o n i s n o t p e r f o r m e d a c c o r d i n g t o t h e m a t h e m a t i c a l  

r u l e s f o r i n t e g e r a r i t h m e t i c .  

D . 4 8 6 . 7 . 3  

I t i s a n e r r o r i f t h e r e s u l t o f a n a c t i v a t i o n o f a f u n c t i o n i s u n d e n e d u p o n c o m p l e t i o n o f t h e  

a l g o r i t h m o f t h e a c t i v a t i o n .  

D . 4 9 6 . 8 . 2 . 2  

F o r a n a s s i g n m e n t - s t a t e m e n t , i t i s a n e r r o r i f t h e e x p r e s s i o n i s o f a n o r d i n a l - t y p e w h o s e v a l u e  

i s n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e v a r i a b l e o r f u n c t i o n - i d e n t i e r .  

D . 5 0 6 . 8 . 2 . 2  

F o r a n a s s i g n m e n t - s t a t e m e n t , i t i s a n e r r o r i f t h e e x p r e s s i o n i s o f a s e t - t y p e w h o s e v a l u e i s n o t  

a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y t h e v a r i a b l e .  

D . 5 1 6 . 8 . 3 . 5  

F o r a c a s e - s t a t e m e n t , i t i s a n e r r o r i f n o n e o f t h e c a s e - c o n s t a n t s i s e q u a l t o t h e v a l u e o f t h e  

c a s e - i n d e x u p o n e n t r y t o t h e c a s e - s t a t e m e n t .  

D . 5 2 6 . 8 . 3 . 9  

F o r a f o r - s t a t e m e n t , i t i s a n e r r o r i f t h e v a l u e o f t h e i n i t i a l - v a l u e i s n o t a s s i g n m e n t - c o m p a t i b l e  

w i t h t h e t y p e p o s s e s s e d b y t h e c o n t r o l - v a r i a b l e i f t h e s t a t e m e n t o f t h e f o r - s t a t e m e n t i s e x e c u t e d .  

D . 5 3 6 . 8 . 3 . 9  

F o r a f o r - s t a t e m e n t , i t i s a n e r r o r i f t h e v a l u e o f t h e n a l - v a l u e i s n o t a s s i g n m e n t - c o m p a t i b l e  

w i t h t h e t y p e p o s s e s s e d b y t h e c o n t r o l - v a r i a b l e i f t h e s t a t e m e n t o f t h e f o r - s t a t e m e n t i s e x e c u t e d .  

D . 5 4 6 . 9 . 1  

O n r e a d i n g a n i n t e g e r f r o m a t e x t l e , a f t e r s k i p p i n g p r e c e d i n g s p a c e s a n d e n d - o f - l i n e s , i t i s a n  

e r r o r i f t h e r e s t o f t h e s e q u e n c e d o e s n o t f o r m a s i g n e d - i n t e g e r .  

8 8 

Page 95: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 95/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

D . 5 5 6 . 9 . 1  

O n r e a d i n g a n i n t e g e r f r o m a t e x t l e , i t i s a n e r r o r i f t h e v a l u e o f t h e s i g n e d - i n t e g e r r e a d i s  

n o t a s s i g n m e n t - c o m p a t i b l e w i t h t h e t y p e p o s s e s s e d b y v a r i a b l e - a c c e s s .  

D . 5 6 6 . 9 . 1  

O n r e a d i n g a n u m b e r f r o m a t e x t l e , a f t e r s k i p p i n g p r e c e d i n g s p a c e s a n d e n d - o f - l i n e s , i t i s a n  

e r r o r i f t h e r e s t o f t h e s e q u e n c e d o e s n o t f o r m a s i g n e d - n u m b e r .  

D . 5 7 6 . 9 . 1  

I t i s a n e r r o r i f t h e b u e r - v a r i a b l e i s u n d e n e d i m m e d i a t e l y p r i o r t o a n y u s e o f   r e a d   . 

D . 5 8 6 . 9 . 3 . 1  

O n w r i t i n g t o a t e x t l e , t h e v a l u e s o f T o t a l W i d t h a n d F r a c D i g i t s a r e g r e a t e r t h a n o r e q u a l t o  

o n e i t i s a n e r r o r i f e i t h e r v a l u e i s l e s s t h a n o n e .  

D . 5 9 6 . 1 0  

T h e e x e c u t i o n o f a n y a c t i o n , o p e r a t i o n , o r f u n c t i o n , d e n e d t o o p e r a t e o n a v a r i a b l e , i s a n e r r o r  

i f t h e v a r i a b l e i s a p r o g r a m - p a r a m e t e r a n d , a s a r e s u l t o f t h e b i n d i n g o f t h e p r o g r a m - p a r a m e t e r ,  

t h e e x e c u t i o n c a n n o t b e c o m p l e t e d a s d e n e d .  

D . 6 0 6 . 6 . 3 . 8  

F o r a c o n f o r m a n t a r r a y , i t i s a n e r r o r i f t h e s m a l l e s t o r l a r g e s t v a l u e s p e c i e d b y t h e i n d e x - t y p e  

o f t h e a c t u a l - p a r a m e t e r l i e s o u t s i d e t h e c l o s e d i n t e r v a l s p e c i e d b y t h e i n d e x - t y p e - s p e c i c a t i o n  

o f t h e c o n f o r m a n t - a r r a y - s c h e m a .  

8 9 

Page 96: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 96/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x E  

( I n f o r m a t i v e )  

I m p l e m e n t a t i o n - d e n e d f e a t u r e s  

A c o m p l y i n g p r o c e s s o r i s r e q u i r e d t o p r o v i d e a d e n i t i o n o f a l l t h e i m p l e m e n t a t i o n - d e n e d f e a t u r e s o f  

t h e l a n g u a g e . T o f a c i l i t a t e t h e p r o d u c t i o n o f t h i s d e n i t i o n , a l l t h e i m p l e m e n t a t i o n - d e n e d a s p e c t s  

s p e c i e d i n c l a u s e   6  a r e l i s t e d a g a i n i n t h i s a n n e x .  

E . 1 6 . 1 . 7  

T h e s t r i n g - c h a r a c t e r s w h i c h d e n o t e a n i m p l e m e n t a t i o n - d e n e d v a l u e o f t h e r e q u i r e d c h a r -  

t y p e .  

N O T E | F o r p r o c e s s o r s w h i c h c o m p i l e a n d e x e c u t e i n d i e r e n t e n v i r o n m e n t s , t h e a b o v e m a y r e q u i r e  

t h e d e n i t i o n o f t w o c h a r a c t e r s e t s a n d a m a p p i n g b e t w e e n t h e t w o .  

E . 2 6 . 1 . 9  

P r o v i s i o n o f t h e r e f e r e n c e t o k e n s   "  , , a n d ] , o f t h e a l t e r n a t i v e t o k e n @ , a n d o f t h e d e l i m i t i n g  

c h a r a c t e r s   f  a n d  g  , i s i m p l e m e n t a t i o n - d e n e d .  

E . 3 6 . 4 . 2 . 2 b )  

T h e v a l u e s o f t h e i m p l e m e n t a t i o n - d e n e d a p p r o x i m a t i o n t o a n i m p l e m e n t a t i o n - d e n e d s u b s e t  

o f t h e r e a l n u m b e r s d e n o t e d b y s i g n e d - r e a l .  

N O T E | T h e s u b s e t d e n e d a b o v e m a y b e b y r e f e r e n c e t o a n o t h e r s p e c i c a t i o n .  

E . 4 6 . 4 . 2 . 2 d )  

T h e v a l u e s o f c h a r - t y p e w h i c h a r e a n e n u m e r a t i o n o f a s e t o f i m p l e m e n t a t i o n - d e n e d c h a r a c t e r s .  

E . 5 6 . 4 . 2 . 2 d )  

T h e o r d i n a l n u m b e r s o f e a c h v a l u e o f c h a r - t y p e a r e i m p l e m e n t a t i o n - d e n e d .  

E . 6 6 . 4 . 3 . 5  

T h e s e t o f c h a r a c t e r s d e s i g n a t e d p r o h i b i t e d f r o m t e x t l e s i s i m p l e m e n t a t i o n - d e n e d .  

E . 7 6 . 6 . 5 . 2  

T h e p o i n t a t w h i c h t h e l e o p e r a t i o n s   r e w r i t e  ,  p u t  ,  r e s e t  , a n d   g e t  a r e a c t u a l l y p e r f o r m e d  

i s i m p l e m e n t a t i o n - d e n e d .  

E . 8 6 . 7 . 2 . 2  

T h e v a l u e d e n o t e d b y t h e c o n s t a n t - i d e n t i e r m a x i n t i s i m p l e m e n t a t i o n - d e n e d .  

E . 9 6 . 7 . 2 . 2  

T h e a c c u r a c y o f t h e a p p r o x i m a t i o n o f t h e r e s u l t o f t h e r e a l o p e r a t i o n s a n d f u n c t i o n s t o t h e  

m a t h e m a t i c a l r e s u l t i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 0 6 . 9 . 3 . 1  

T h e d e f a u l t v a l u e o f T o t a l W i d t h f o r i n t e g e r - t y p e i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 1 6 . 9 . 3 . 1  

T h e d e f a u l t v a l u e o f T o t a l W i d t h f o r r e a l - t y p e i s i m p l e m e n t a t i o n - d e n e d .  

9 0 

Page 97: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 97/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

E . 1 2 6 . 9 . 3 . 1  

T h e d e f a u l t v a l u e o f T o t a l W i d t h f o r B o o l e a n - t y p e i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 3 6 . 9 . 3 . 4 . 1  

T h e v a l u e o f E x p D i g i t s i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 4 6 . 9 . 3 . 4 . 1  

T h e v a l u e o f t h e e x p o n e n t c h a r a c t e r ( ` e ' o r ` E ' ) u s e d o n o u t p u t o f v a l u e s o f r e a l - t y p e i s  

i m p l e m e n t a t i o n - d e n e d .  

E . 1 5 6 . 9 . 3 . 5  

T h e c a s e o f e a c h c h a r a c t e r o f   ' T r u e '   a n d  ' F a l s e '   u s e d o n o u t p u t o f v a l u e s o f B o o l e a n - t y p e  

i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 6 6 . 9 . 5  

T h e e e c t o f t h e p r o c e d u r e   p a g e   w h e n a p p l i e d t o a t e x t l e w h i c h i s i n g e n e r a t i o n m o d e i s  

i m p l e m e n t a t i o n - d e n e d .  

E . 1 7 6 . 1 0  

T h e b i n d i n g o f a l e - t y p e p r o g r a m - p a r a m e t e r i s i m p l e m e n t a t i o n - d e n e d .  

E . 1 8 6 . 1 0  

T h e e e c t o f   r e s e t   a n d  r e w r i t e   o n t h e s t a n d a r d l e s   i n p u t   a n d  o u t p u t   i s i m p l e m e n t a t i o n -  

d e n e d .  

9 1 

Page 98: Pascal Iso7185

8/3/2019 Pascal Iso7185

http://slidepdf.com/reader/full/pascal-iso7185 98/98

I S O / I E C 7 1 8 5 : 1 9 9 0 ( E )  

A n n e x F  

( I n f o r m a t i v e )  

I m p l e m e n t a t i o n - d e p e n d e n t f e a t u r e s  

A c o m p l y i n g p r o c e s s o r i s r e q u i r e d t o p r o v i d e d o c u m e n t a t i o n c o n c e r n i n g t h e i m p l e m e n t a t i o n - d e p e n d e n t  

f e a t u r e s o f t h e l a n g u a g e . T o f a c i l i t a t e t h e p r o d u c t i o n o f s u c h d o c u m e n t a t i o n , a l l t h e i m p l e m e n t a t i o n -  

d e p e n d e n t a s p e c t s s p e c i e d i n c l a u s e   6  a r e l i s t e d a g a i n i n t h i s a n n e x .  

F . 1 6 . 4 . 3 . 5  

F o r a n y t e x t l e t , t h e e e c t o f a t t r i b u t i n g t o a c o m p o n e n t o f e i t h e r t . L o r t . R a m e m b e r o f  

t h e c h a r a c t e r s p r o h i b i t e d f r o m t e x t l e s i s i m p l e m e n t a t i o n - d e p e n d e n t .  

F . 2 6 . 5 . 3 . 2  

T h e o r d e r o f e v a l u a t i o n o f t h e i n d e x - e x p r e s s i o n s o f a n i n d e x e d - v a r i a b l e i s i m p l e m e n t a t i o n -  

d e p e n d e n t .  

F . 3 6 . 7 . 1  

T h e o r d e r o f e v a l u a t i o n o f e x p r e s s i o n s o f a m e m b e r - d e s i g n a t o r i s i m p l e m e n t a t i o n - d e p e n d e n t .  

F . 4 6 . 7 . 1  

T h e o r d e r o f e v a l u a t i o n o f t h e m e m b e r - d e s i g n a t o r s o f a s e t - c o n s t r u c t o r i s i m p l e m e n t a t i o n -  

d e p e n d e n t .  

F . 5 6 . 7 . 2 . 1  

T h e o r d e r o f e v a l u a t i o n o f t h e o p e r a n d s o f a d y a d i c o p e r a t o r i s i m p l e m e n t a t i o n - d e p e n d e n t .  

F . 6 6 . 7 . 3  

T h e o r d e r o f e v a l u a t i o n , a c c e s s i n g , a n d b i n d i n g o f t h e a c t u a l - p a r a m e t e r s o f a f u n c t i o n - d e s i g n a t o r  

i s i m p l e m e n t a t i o n - d e p e n d e n t .  

F . 7 6 . 8 . 2 . 2  

T h e o r d e r o f a c c e s s i n g t h e v a r i a b l e a n d e v a l u a t i n g t h e e x p r e s s i o n o f a n a s s i g n m e n t - s t a t e m e n t  

i s i m p l e m e n t a t i o n - d e p e n d e n t .  

F . 8 6 . 8 . 2 . 3  

T h e o r d e r o f e v a l u a t i o n , a c c e s s i n g , a n d b i n d i n g o f t h e a c t u a l - p a r a m e t e r s o f a p r o c e d u r e -  

s t a t e m e n t i s i m p l e m e n t a t i o n - d e p e n d e n t .