Metropoli BBS
VIEWER: p2c.cat MODE: BINARY (HEX)
==============================================================================================================================================
OFFSET    00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F  10 11 12 13 14 15 16 17  18 19 1A 1B 1C 1D 1E 1F
----------------------------------------------------------------------------------------------------------------------------------------------
00000000  0A 0A 0A 20 20 20 20 20  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  43 08 43 08 43 28 08 28  ◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(
00000020  08 28 08 28 31 08 31 08  31 08 31 29 08 29 08 29  08 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘(◘(1◘1◘1◘1)◘)◘)◘)              
00000040  20 20 20 20 20 20 20 20  20 20 28 08 28 08 28 08  28 6C 08 6C 08 6C 08 6C  6F 08 6F 08 6F 08 6F 63            (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc
00000060  08 63 08 63 08 63 61 08  61 08 61 08 61 6C 08 6C  08 6C 08 6C 29 08 29 08  29 08 29 20 20 20 20 20  ◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)     
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 50 08 50 08 50 08 50  32 08 32 08 32 08 32 43                   P◘P◘P◘P2◘2◘2◘2C
000000A0  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  29 08 29 0A 0A 0A 0A 20  ◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙ 
000000C0  20 20 20 20 4E 08 4E 08  4E 08 4E 41 08 41 08 41  08 41 4D 08 4D 08 4D 08  4D 45 08 45 08 45 08 45      N◘N◘N◘NA◘A◘A◘AM◘M◘M◘ME◘E◘E◘E
000000E0  0A 20 20 20 20 20 20 20  20 20 20 70 32 63 20 2D  20 50 61 73 63 61 6C 20  74 6F 20 43 20 74 72 61  ◙          p2c - Pascal to C tra
00000100  6E 73 6C 61 74 6F 72 2C  20 76 65 72 73 69 6F 6E  20 31 2E 31 39 0A 0A 20  20 20 20 20 53 08 53 08  nslator, version 1.19◙◙     S◘S◘
00000120  53 08 53 59 08 59 08 59  08 59 4E 08 4E 08 4E 08  4E 4F 08 4F 08 4F 08 4F  50 08 50 08 50 08 50 53  S◘SY◘Y◘Y◘YN◘N◘N◘NO◘O◘O◘OP◘P◘P◘PS
00000140  08 53 08 53 08 53 49 08  49 08 49 08 49 53 08 53  08 53 08 53 0A 20 20 20  20 20 20 20 20 20 20 70  ◘S◘S◘SI◘I◘I◘IS◘S◘S◘S◙          p
00000160  08 70 08 70 08 70 32 08  32 08 32 08 32 63 08 63  08 63 08 63 20 5B 20 6F  70 74 69 6F 6E 73 20 5D  ◘p◘p◘p2◘2◘2◘2c◘c◘c◘c [ options ]
00000180  20 5B 20 66 69 6C 65 20  5B 20 6D 6F 64 75 6C 65  20 5D 20 5D 0A 0A 20 20  20 20 20 44 08 44 08 44   [ file [ module ] ]◙◙     D◘D◘D
000001A0  08 44 45 08 45 08 45 08  45 53 08 53 08 53 08 53  43 08 43 08 43 08 43 52  08 52 08 52 08 52 49 08  ◘DE◘E◘E◘ES◘S◘S◘SC◘C◘C◘CR◘R◘R◘RI◘
000001C0  49 08 49 08 49 50 08 50  08 50 08 50 54 08 54 08  54 08 54 49 08 49 08 49  08 49 4F 08 4F 08 4F 08  I◘I◘IP◘P◘P◘PT◘T◘T◘TI◘I◘I◘IO◘O◘O◘
000001E0  4F 4E 08 4E 08 4E 08 4E  0A 20 20 20 20 20 20 20  20 20 20 5F 08 50 5F 08  32 5F 08 63 20 69 73 20  ON◘N◘N◘N◙          _◘P_◘2_◘c is 
00000200  61 20 74 6F 6F 6C 20 66  6F 72 20 74 72 61 6E 73  6C 61 74 69 6E 67 20 50  61 73 63 61 6C 20 70 72  a tool for translating Pascal pr
00000220  6F 67 72 61 6D 73 20 69  6E 74 6F 20 43 2E 20 20  54 68 65 0A 20 20 20 20  20 20 20 20 20 20 69 6E  ograms into C.  The◙          in
00000240  70 75 74 20 63 6F 6E 73  69 73 74 73 20 6F 66 20  61 20 73 65 74 20 6F 66  20 73 6F 75 72 63 65 20  put consists of a set of source 
00000260  66 69 6C 65 73 20 69 6E  20 61 6E 79 20 6F 66 20  74 68 65 0A 20 20 20 20  20 20 20 20 20 20 66 6F  files in any of the◙          fo
00000280  6C 6C 6F 77 69 6E 67 20  50 61 73 63 61 6C 20 64  69 61 6C 65 63 74 73 3A  20 48 50 20 50 61 73 63  llowing Pascal dialects: HP Pasc
000002A0  61 6C 2C 20 54 75 72 62  6F 2F 55 43 53 44 20 50  61 73 63 61 6C 2C 20 44  45 43 0A 20 20 20 20 20  al, Turbo/UCSD Pascal, DEC◙     
000002C0  20 20 20 20 20 56 41 58  20 50 61 73 63 61 6C 2C  20 4F 72 65 67 6F 6E 20  53 6F 66 74 77 61 72 65       VAX Pascal, Oregon Software
000002E0  20 50 61 73 63 61 6C 2F  32 2C 20 4D 61 63 69 6E  74 6F 73 68 20 50 72 6F  67 72 61 6D 6D 65 72 27   Pascal/2, Macintosh Programmer'
00000300  73 0A 20 20 20 20 20 20  20 20 20 20 57 6F 72 6B  73 68 6F 70 20 50 61 73  63 61 6C 2C 20 53 75 6E  s◙          Workshop Pascal, Sun
00000320  2F 42 65 72 6B 65 6C 65  79 20 50 61 73 63 61 6C  2E 20 20 4D 6F 64 75 6C  61 2D 32 20 73 79 6E 74  /Berkeley Pascal.  Modula-2 synt
00000340  61 78 20 69 73 0A 20 20  20 20 20 20 20 20 20 20  61 6C 73 6F 20 73 75 70  70 6F 72 74 65 64 2E 20  ax is◙          also supported. 
00000360  20 4F 75 74 70 75 74 20  69 73 20 61 20 73 65 74  20 6F 66 20 2E 08 2E 08  2E 08 2E 63 08 63 08 63   Output is a set of .◘.◘.◘.c◘c◘c
00000380  08 63 20 61 6E 64 20 2E  08 2E 08 2E 08 2E 68 08  68 08 68 08 68 20 66 69  6C 65 73 20 74 68 61 74  ◘c and .◘.◘.◘.h◘h◘h◘h files that
000003A0  0A 20 20 20 20 20 20 20  20 20 20 63 6F 6D 70 72  69 73 65 20 61 6E 20 65  71 75 69 76 61 6C 65 6E  ◙          comprise an equivalen
000003C0  74 20 70 72 6F 67 72 61  6D 20 69 6E 20 61 6E 79  20 6F 66 20 73 65 76 65  72 61 6C 20 64 69 61 6C  t program in any of several dial
000003E0  65 63 74 73 20 6F 66 0A  20 20 20 20 20 20 20 20  20 20 43 2E 20 20 4F 75  74 70 75 74 20 63 6F 64  ects of◙          C.  Output cod
00000400  65 20 6D 61 79 20 62 65  20 6B 65 70 74 20 6D 61  63 68 69 6E 65 2D 20 61  6E 64 20 64 69 61 6C 65  e may be kept machine- and diale
00000420  63 74 2D 0A 20 20 20 20  20 20 20 20 20 20 69 6E  64 65 70 65 6E 64 65 6E  74 2C 20 6F 72 20 69 74  ct-◙          independent, or it
00000440  20 6D 61 79 20 62 65 20  74 61 72 67 65 74 65 64  20 74 6F 20 61 20 73 70  65 63 69 66 69 63 20 6D   may be targeted to a specific m
00000460  61 63 68 69 6E 65 20 61  6E 64 0A 20 20 20 20 20  20 20 20 20 20 63 6F 6D  70 69 6C 65 72 2E 20 20  achine and◙          compiler.  
00000480  4D 6F 73 74 20 72 65 61  73 6F 6E 61 62 6C 65 20  50 61 73 63 61 6C 20 70  72 6F 67 72 61 6D 73 20  Most reasonable Pascal programs 
000004A0  61 72 65 20 63 6F 6E 76  65 72 74 65 64 0A 20 20  20 20 20 20 20 20 20 20  69 6E 74 6F 20 66 75 6C  are converted◙          into ful
000004C0  6C 79 20 66 75 6E 63 74  69 6F 6E 61 6C 20 43 20  77 68 69 63 68 20 77 69  6C 6C 20 63 6F 6D 70 69  ly functional C which will compi
000004E0  6C 65 20 61 6E 64 20 72  75 6E 20 77 69 74 68 20  6E 6F 0A 20 20 20 20 20  20 20 20 20 20 66 75 72  le and run with no◙          fur
00000500  74 68 65 72 20 6D 6F 64  69 66 69 63 61 74 69 6F  6E 73 2C 20 61 6C 74 68  6F 75 67 68 20 5F 08 70  ther modifications, although _◘p
00000520  5F 08 32 5F 08 63 20 73  6F 6D 65 74 69 6D 65 73  20 63 68 6F 6F 73 65 73  20 74 6F 0A 20 20 20 20  _◘2_◘c sometimes chooses to◙    
00000540  20 20 20 20 20 20 67 65  6E 65 72 61 74 65 20 72  65 61 64 61 62 6C 65 20  63 6F 64 65 20 61 74 20        generate readable code at 
00000560  74 68 65 20 65 78 70 65  6E 73 65 20 6F 66 20 61  62 73 6F 6C 75 74 65 0A  20 20 20 20 20 20 20 20  the expense of absolute◙        
00000580  20 20 67 65 6E 65 72 61  6C 69 74 79 2E 20 5F 08  50 5F 08 32 5F 08 63 20  65 6E 64 65 61 76 6F 72    generality. _◘P_◘2_◘c endeavor
000005A0  73 20 74 6F 20 69 6E 73  65 72 74 20 6E 6F 74 65  73 20 61 6E 64 20 77 61  72 6E 69 6E 67 0A 20 20  s to insert notes and warning◙  
000005C0  20 20 20 20 20 20 20 20  6D 65 73 73 61 67 65 73  20 69 6E 74 6F 20 74 68  65 20 6F 75 74 70 75 74          messages into the output
000005E0  20 63 6F 64 65 20 74 6F  20 70 6F 69 6E 74 20 6F  75 74 20 61 72 65 61 73  20 77 68 69 63 68 20 6D   code to point out areas which m
00000600  61 79 0A 20 20 20 20 20  20 20 20 20 20 72 65 71  75 69 72 65 20 68 75 6D  61 6E 20 69 6E 74 65 72  ay◙          require human inter
00000620  76 65 6E 74 69 6F 6E 2E  20 20 4F 75 74 70 75 74  20 63 6F 64 65 20 69 73  20 61 72 72 61 6E 67 65  vention.  Output code is arrange
00000640  64 20 74 6F 20 62 65 0A  20 20 20 20 20 20 20 20  20 20 72 65 61 64 61 62  6C 65 20 61 6E 64 20 65  d to be◙          readable and e
00000660  66 66 69 63 69 65 6E 74  2C 20 61 6E 64 20 74 6F  20 6D 61 6B 65 20 75 73  65 20 6F 66 20 43 20 69  fficient, and to make use of C i
00000680  64 69 6F 6D 73 20 77 68  65 72 65 76 65 72 0A 20  20 20 20 20 20 20 20 20  20 70 6F 73 73 69 62 6C  dioms wherever◙          possibl
000006A0  65 2E 20 20 54 68 65 20  6D 61 69 6E 20 67 6F 61  6C 20 6F 66 20 74 68 65  20 74 72 61 6E 73 6C 61  e.  The main goal of the transla
000006C0  74 69 6F 6E 20 69 73 20  74 6F 20 70 72 6F 64 75  63 65 20 43 0A 20 20 20  20 20 20 20 20 20 20 66  tion is to produce C◙          f
000006E0  69 6C 65 73 20 77 68 69  63 68 20 61 72 65 20 70  6C 65 61 73 61 6E 74 20  61 6E 64 20 22 6E 61 74  iles which are pleasant and "nat
00000700  75 72 61 6C 22 20 65 6E  6F 75 67 68 20 74 6F 20  62 65 0A 20 20 20 20 20  20 20 20 20 20 61 63 63  ural" enough to be◙          acc
00000720  65 70 74 61 62 6C 65 20  61 73 20 74 68 65 20 6E  65 77 20 73 6F 75 72 63  65 20 66 69 6C 65 73 20  eptable as the new source files 
00000740  66 6F 72 20 61 20 70 72  6F 67 72 61 6D 2E 20 20  49 6E 20 61 0A 20 20 20  20 20 20 20 20 20 20 70  for a program.  In a◙          p
00000760  69 6E 63 68 2C 20 5F 08  70 5F 08 32 5F 08 63 20  77 69 6C 6C 20 61 6C 73  6F 20 73 65 72 76 65 20  inch, _◘p_◘2_◘c will also serve 
00000780  61 73 20 61 6E 20 61 64  20 68 6F 63 20 50 61 73  63 61 6C 20 63 6F 6D 70  69 6C 65 72 2E 0A 0A 20  as an ad hoc Pascal compiler.◙◙ 
000007A0  20 20 20 20 20 20 20 20  20 43 6F 64 65 20 67 65  6E 65 72 61 74 65 64 20  62 79 20 5F 08 70 5F 08           Code generated by _◘p_◘
000007C0  32 5F 08 63 20 6E 6F 72  6D 61 6C 6C 79 20 64 6F  65 73 20 6E 6F 74 20 61  73 73 75 6D 65 20 63 68  2_◘c normally does not assume ch
000007E0  61 72 61 63 74 65 72 73  0A 20 20 20 20 20 20 20  20 20 20 61 72 65 20 73  69 67 6E 65 64 20 6F 72  aracters◙          are signed or
00000800  20 75 6E 73 69 67 6E 65  64 2E 20 20 41 6C 73 6F  2C 20 69 74 20 61 73 73  75 6D 65 73 20 69 08 69   unsigned.  Also, it assumes i◘i
00000820  08 69 08 69 6E 08 6E 08  6E 08 6E 74 08 74 08 74  08 74 20 69 73 20 74 68  65 20 73 61 6D 65 20 61  ◘i◘in◘n◘n◘nt◘t◘t◘t is the same a
00000840  73 0A 20 20 20 20 20 20  20 20 20 20 65 69 74 68  65 72 20 73 08 73 08 73  08 73 68 08 68 08 68 08  s◙          either s◘s◘s◘sh◘h◘h◘
00000860  68 6F 08 6F 08 6F 08 6F  72 08 72 08 72 08 72 74  08 74 08 74 08 74 20 6F  72 20 6C 08 6C 08 6C 08  ho◘o◘o◘or◘r◘r◘rt◘t◘t◘t or l◘l◘l◘
00000880  6C 6F 08 6F 08 6F 08 6F  6E 08 6E 08 6E 08 6E 67  08 67 08 67 08 67 20 62  75 74 20 64 6F 65 73 20  lo◘o◘o◘on◘n◘n◘ng◘g◘g◘g but does 
000008A0  6E 6F 74 20 64 65 70 65  6E 64 20 6F 6E 20 77 68  69 63 68 2E 20 20 48 6F  77 65 76 65 72 2C 0A 20  not depend on which.  However,◙ 
000008C0  20 20 20 20 20 20 20 20  20 69 66 20 69 08 69 08  69 08 69 6E 08 6E 08 6E  08 6E 74 08 74 08 74 08           if i◘i◘i◘in◘n◘n◘nt◘t◘t◘
000008E0  74 20 69 73 20 6E 6F 74  20 74 68 65 20 73 61 6D  65 20 61 73 20 6C 08 6C  08 6C 08 6C 6F 08 6F 08  t is not the same as l◘l◘l◘lo◘o◘
00000900  6F 08 6F 6E 08 6E 08 6E  08 6E 67 08 67 08 67 08  67 20 69 74 20 69 73 20  62 65 73 74 20 74 6F 20  o◘on◘n◘n◘ng◘g◘g◘g it is best to 
00000920  75 73 65 20 61 20 6D 6F  64 65 72 6E 20 43 0A 20  20 20 20 20 20 20 20 20  20 63 6F 6D 70 69 6C 65  use a modern C◙          compile
00000940  72 20 77 68 69 63 68 20  73 75 70 70 6F 72 74 73  20 70 72 6F 74 6F 74 79  70 65 73 2E 20 20 47 65  r which supports prototypes.  Ge
00000960  6E 65 72 61 74 65 64 20  63 6F 64 65 20 64 6F 65  73 20 6E 6F 74 0A 20 20  20 20 20 20 20 20 20 20  nerated code does not◙          
00000980  72 65 71 75 69 72 65 20  61 6E 20 41 4E 53 49 2D  63 6F 6D 70 61 74 69 62  6C 65 20 63 6F 6D 70 69  require an ANSI-compatible compi
000009A0  6C 65 72 20 28 75 6E 6C  65 73 73 20 41 4E 53 49  2D 73 74 79 6C 65 20 63  6F 64 65 0A 20 20 20 20  ler (unless ANSI-style code◙    
000009C0  20 20 20 20 20 20 69 73  20 72 65 71 75 65 73 74  65 64 29 2C 20 62 75 74  20 69 74 20 64 6F 65 73        is requested), but it does
000009E0  20 75 73 65 20 76 61 72  69 6F 75 73 20 41 4E 53  49 2D 73 74 61 6E 64 61  72 64 20 6C 69 62 72 61   use various ANSI-standard libra
00000A00  72 79 0A 20 20 20 20 20  20 20 20 20 20 72 6F 75  74 69 6E 65 73 2E 0A 0A  20 20 20 20 20 20 20 20  ry◙          routines.◙◙        
00000A20  20 20 41 6C 6C 20 67 65  6E 65 72 61 74 65 64 20  63 6F 64 65 20 69 6E 63  6C 75 64 65 73 20 74 68    All generated code includes th
00000A40  65 20 66 69 6C 65 20 3C  5F 08 70 5F 08 32 5F 08  63 2F 5F 08 70 5F 08 32  5F 08 63 2E 5F 08 68 3E  e file <_◘p_◘2_◘c/_◘p_◘2_◘c._◘h>
00000A60  20 77 68 69 63 68 20 69  6E 0A 20 20 20 20 20 20  20 20 20 20 74 75 72 6E  20 69 6E 63 6C 75 64 65   which in◙          turn include
00000A80  73 20 3C 5F 08 73 5F 08  74 5F 08 64 5F 08 69 5F  08 6F 2E 5F 08 68 3E 20  61 6E 64 20 76 61 72 69  s <_◘s_◘t_◘d_◘i_◘o._◘h> and vari
00000AA0  6F 75 73 20 6F 74 68 65  72 20 63 6F 6D 6D 6F 6E  20 72 65 73 6F 75 72 63  65 73 2E 0A 20 20 20 20  ous other common resources.◙    
00000AC0  20 20 20 20 20 20 41 6C  73 6F 2C 20 6D 61 6E 79  20 74 72 61 6E 73 6C 61  74 65 64 20 70 72 6F 67        Also, many translated prog
00000AE0  72 61 6D 73 20 77 69 6C  6C 20 6E 65 65 64 20 74  6F 20 62 65 20 6C 69 6E  6B 65 64 20 77 69 74 68  rams will need to be linked with
00000B00  0A 20 20 20 20 20 20 20  20 20 20 74 68 65 20 72  75 6E 2D 74 69 6D 65 20  6C 69 62 72 61 72 79 2C  ◙          the run-time library,
00000B20  20 74 79 70 69 63 61 6C  6C 79 20 2D 5F 08 6C 5F  08 70 5F 08 32 5F 08 63  2E 0A 0A 20 20 20 20 20   typically -_◘l_◘p_◘2_◘c.◙◙     
00000B40  20 20 20 20 20 47 69 76  65 6E 20 61 20 66 69 6C  65 20 6E 61 6D 65 2C 20  5F 08 70 5F 08 32 5F 08       Given a file name, _◘p_◘2_◘
00000B60  63 20 72 65 61 64 73 20  66 72 6F 6D 20 74 68 65  20 73 70 65 63 69 66 69  65 64 20 66 69 6C 65 20  c reads from the specified file 
00000B80  61 6E 64 0A 20 20 20 20  20 20 20 20 20 20 6F 75  74 70 75 74 73 20 74 6F  20 61 20 66 69 6C 65 20  and◙          outputs to a file 
00000BA0  77 69 74 68 20 61 20 2E  08 2E 08 2E 08 2E 63 08  63 08 63 08 63 20 73 75  66 66 69 78 20 61 64 64  with a .◘.◘.◘.c◘c◘c◘c suffix add
00000BC0  65 64 20 6F 72 20 73 75  62 73 74 69 74 75 74 65  64 2E 0A 20 20 20 20 20  20 20 20 20 20 46 6F 72  ed or substituted.◙          For
00000BE0  20 65 78 61 6D 70 6C 65  2C 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 70 32 63 20 6D 79   example,◙◙               p2c my
00000C00  66 69 6C 65 2E 70 61 73  0A 0A 20 20 20 20 20 20  20 20 20 20 72 65 61 64  73 20 66 72 6F 6D 20 5F  file.pas◙◙          reads from _
00000C20  08 6D 5F 08 79 5F 08 66  5F 08 69 5F 08 6C 5F 08  65 2E 5F 08 70 5F 08 61  5F 08 73 20 74 6F 20 70  ◘m_◘y_◘f_◘i_◘l_◘e._◘p_◘a_◘s to p
00000C40  72 6F 64 75 63 65 20 74  68 65 20 66 69 6C 65 20  5F 08 6D 5F 08 79 5F 08  66 5F 08 69 5F 08 6C 5F  roduce the file _◘m_◘y_◘f_◘i_◘l_
00000C60  08 65 2E 5F 08 63 2E 20  54 68 65 0A 20 20 20 20  20 20 20 20 20 20 69 6E  70 75 74 20 66 69 6C 65  ◘e._◘c. The◙          input file
00000C80  20 6D 61 79 20 63 6F 6E  74 61 69 6E 20 61 20 50  61 73 63 61 6C 20 6D 61  69 6E 20 70 72 6F 67 72   may contain a Pascal main progr
00000CA0  61 6D 20 6F 72 20 61 20  73 69 6E 67 6C 65 0A 20  20 20 20 20 20 20 20 20  20 50 61 73 63 61 6C 20  am or a single◙          Pascal 
00000CC0  6D 6F 64 75 6C 65 20 28  6F 72 20 22 75 6E 69 74  22 20 69 6E 20 54 75 72  62 6F 20 61 6E 64 20 55  module (or "unit" in Turbo and U
00000CE0  43 53 44 20 50 61 73 63  61 6C 0A 0A 0A 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  CSD Pascal◙◙◙◙                  
00000D00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 2D 20 31 20 2D 20 46  6F 72 6D 61 74 74 65 64                   - 1 - Formatted
00000D20  3A 20 20 46 65 62 72 75  61 72 79 20 32 38 2C 20  31 39 39 31 0A 0A 0A 0A  0A 0A 0A 20 20 20 20 20  :  February 28, 1991◙◙◙◙◙◙◙     
00000D40  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  43 08 43 08 43 28 08 28  08 28 08 28 31 08 31 08  P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘
00000D60  31 08 31 29 08 29 08 29  08 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  1◘1)◘)◘)◘)                      
00000D80  20 20 28 08 28 08 28 08  28 6C 08 6C 08 6C 08 6C  6F 08 6F 08 6F 08 6F 63  08 63 08 63 08 63 61 08    (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘
00000DA0  61 08 61 08 61 6C 08 6C  08 6C 08 6C 29 08 29 08  29 08 29 20 20 20 20 20  20 20 20 20 20 20 20 20  a◘a◘al◘l◘l◘l)◘)◘)◘)             
00000DC0  20 20 20 20 20 20 20 20  20 50 08 50 08 50 08 50  32 08 32 08 32 08 32 43  08 43 08 43 08 43 28 08           P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘
00000DE0  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  29 08 29 0A 0A 0A 0A 20  20 20 20 20 20 20 20 20  (◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙         
00000E00  20 6E 6F 6D 65 6E 63 6C  61 74 75 72 65 29 2C 20  6F 72 20 69 74 20 6D 61  79 20 6A 75 73 74 20 63   nomenclature), or it may just c
00000E20  6F 6E 74 61 69 6E 20 61  20 6E 75 6D 62 65 72 20  6F 66 20 70 72 6F 63 65  64 75 72 65 73 0A 20 20  ontain a number of procedures◙  
00000E40  20 20 20 20 20 20 20 20  61 6E 64 20 64 65 63 6C  61 72 61 74 69 6F 6E 73  2E 20 20 5F 08 50 5F 08          and declarations.  _◘P_◘
00000E60  32 5F 08 63 20 69 73 20  64 65 73 69 67 6E 65 64  20 74 6F 20 77 6F 72 6B  20 66 6F 72 20 63 6F 72  2_◘c is designed to work for cor
00000E80  72 65 63 74 20 69 6E 70  75 74 0A 20 20 20 20 20  20 20 20 20 20 70 72 6F  67 72 61 6D 73 2E 20 20  rect input◙          programs.  
00000EA0  54 68 61 74 20 69 73 2C  20 69 74 20 77 69 6C 6C  20 61 63 63 65 70 74 20  70 61 72 74 69 61 6C 20  That is, it will accept partial 
00000EC0  70 72 6F 67 72 61 6D 73  20 62 75 74 20 6D 61 79  0A 20 20 20 20 20 20 20  20 20 20 6F 63 63 61 73  programs but may◙          occas
00000EE0  69 6F 6E 61 6C 6C 79 20  63 6F 72 65 20 64 75 6D  70 20 69 66 20 74 68 65  20 69 6E 70 75 74 20 72  ionally core dump if the input r
00000F00  65 66 65 72 73 20 74 6F  20 75 6E 64 65 66 69 6E  65 64 0A 20 20 20 20 20  20 20 20 20 20 73 79 6D  efers to undefined◙          sym
00000F20  62 6F 6C 73 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 49 66 20 74 68 65 20  69 6E 70 75 74 20 69 73  bols.◙◙          If the input is
00000F40  20 61 20 6D 6F 64 75 6C  65 2C 20 74 68 65 20 74  72 61 6E 73 6C 61 74 6F  72 20 77 69 6C 6C 20 61   a module, the translator will a
00000F60  6C 73 6F 20 70 72 6F 64  75 63 65 20 61 0A 20 20  20 20 20 20 20 20 20 20  66 69 6C 65 20 5F 08 6D  lso produce a◙          file _◘m
00000F80  5F 08 6F 5F 08 64 5F 08  75 5F 08 6C 5F 08 65 2E  08 2E 08 2E 08 2E 68 08  68 08 68 08 68 20 63 6F  _◘o_◘d_◘u_◘l_◘e.◘.◘.◘.h◘h◘h◘h co
00000FA0  6E 74 61 69 6E 69 6E 67  20 61 20 74 72 61 6E 73  6C 61 74 69 6F 6E 20 6F  66 20 74 68 65 20 6D 6F  ntaining a translation of the mo
00000FC0  64 75 6C 65 27 73 0A 20  20 20 20 20 20 20 20 20  20 69 6E 74 65 72 66 61  63 65 20 73 65 63 74 69  dule's◙          interface secti
00000FE0  6F 6E 2E 20 20 54 68 65  20 69 6D 70 6C 65 6D 65  6E 74 61 74 69 6F 6E 20  73 65 63 74 69 6F 6E 20  on.  The implementation section 
00001000  6D 61 79 20 62 65 0A 20  20 20 20 20 20 20 20 20  20 6F 6D 69 74 74 65 64  20 69 6E 20 77 68 69 63  may be◙          omitted in whic
00001020  68 20 63 61 73 65 20 6F  6E 6C 79 20 74 68 65 20  2E 08 2E 08 2E 08 2E 68  08 68 08 68 08 68 20 66  h case only the .◘.◘.◘.h◘h◘h◘h f
00001040  69 6C 65 20 77 69 6C 6C  20 62 65 20 69 6E 74 65  72 65 73 74 69 6E 67 2E  0A 20 20 20 20 20 20 20  ile will be interesting.◙       
00001060  20 20 20 49 66 20 74 68  65 20 70 72 6F 67 72 61  6D 20 6F 72 20 6D 6F 64  75 6C 65 20 68 61 73 20     If the program or module has 
00001080  69 6E 63 6C 75 64 65 20  66 69 6C 65 73 2C 20 74  68 65 73 65 20 6D 61 79  20 63 61 75 73 65 0A 20  include files, these may cause◙ 
000010A0  20 20 20 20 20 20 20 20  20 61 64 64 69 74 69 6F  6E 61 6C 20 2E 08 2E 08  2E 08 2E 63 08 63 08 63           additional .◘.◘.◘.c◘c◘c
000010C0  08 63 20 66 69 6C 65 73  20 74 6F 20 62 65 20 67  65 6E 65 72 61 74 65 64  20 64 65 70 65 6E 64 69  ◘c files to be generated dependi
000010E0  6E 67 20 6F 6E 20 74 68  65 20 76 61 6C 75 65 0A  20 20 20 20 20 20 20 20  20 20 6F 66 20 74 68 65  ng on the value◙          of the
00001100  20 45 08 45 08 45 08 45  78 08 78 08 78 08 78 70  08 70 08 70 08 70 61 08  61 08 61 08 61 6E 08 6E   E◘E◘E◘Ex◘x◘x◘xp◘p◘p◘pa◘a◘a◘an◘n
00001120  08 6E 08 6E 64 08 64 08  64 08 64 49 08 49 08 49  08 49 6E 08 6E 08 6E 08  6E 63 08 63 08 63 08 63  ◘n◘nd◘d◘d◘dI◘I◘I◘In◘n◘n◘nc◘c◘c◘c
00001140  6C 08 6C 08 6C 08 6C 75  08 75 08 75 08 75 64 08  64 08 64 08 64 65 08 65  08 65 08 65 73 08 73 08  l◘l◘l◘lu◘u◘u◘ud◘d◘d◘de◘e◘e◘es◘s◘
00001160  73 08 73 20 6F 70 74 69  6F 6E 20 28 73 65 65 20  62 65 6C 6F 77 29 2E 0A  0A 20 20 20 20 20 20 20  s◘s option (see below).◙◙       
00001180  20 20 20 49 66 20 6E 6F  20 66 69 6C 65 20 6E 61  6D 65 20 69 73 20 67 69  76 65 6E 2C 20 5F 08 70     If no file name is given, _◘p
000011A0  5F 08 32 5F 08 63 20 72  65 61 64 73 20 50 61 73  63 61 6C 20 66 72 6F 6D  20 74 68 65 20 73 74 61  _◘2_◘c reads Pascal from the sta
000011C0  6E 64 61 72 64 0A 20 20  20 20 20 20 20 20 20 20  69 6E 70 75 74 20 61 6E  64 20 77 72 69 74 65 73  ndard◙          input and writes
000011E0  20 74 68 65 20 72 65 73  75 6C 74 69 6E 67 20 43  20 74 6F 20 73 74 61 6E  64 61 72 64 20 6F 75 74   the resulting C to standard out
00001200  70 75 74 20 28 74 68 6F  75 67 68 0A 20 20 20 20  20 20 20 20 20 20 61 20  2E 08 2E 08 2E 08 2E 68  put (though◙          a .◘.◘.◘.h
00001220  08 68 08 68 08 68 20 66  69 6C 65 20 6D 61 79 20  73 74 69 6C 6C 20 62 65  20 70 72 6F 64 75 63 65  ◘h◘h◘h file may still be produce
00001240  64 29 2E 20 20 49 66 20  61 20 66 69 6C 65 20 6E  61 6D 65 20 61 6E 64 20  6D 6F 64 75 6C 65 0A 20  d).  If a file name and module◙ 
00001260  20 20 20 20 20 20 20 20  20 6E 61 6D 65 20 61 72  65 20 67 69 76 65 6E 2C  20 74 68 65 20 66 69 6C           name are given, the fil
00001280  65 20 6D 61 79 20 69 6E  63 6C 75 64 65 20 73 65  76 65 72 61 6C 20 6D 6F  64 75 6C 65 73 20 28 6F  e may include several modules (o
000012A0  72 0A 20 20 20 20 20 20  20 20 20 20 75 6E 69 74  73 29 2E 20 20 54 68 65  20 73 70 65 63 69 66 69  r◙          units).  The specifi
000012C0  65 64 20 6D 6F 64 75 6C  65 20 69 73 20 74 72 61  6E 73 6C 61 74 65 64 3B  20 61 6E 79 20 6F 74 68  ed module is translated; any oth
000012E0  65 72 73 20 61 72 65 0A  20 20 20 20 20 20 20 20  20 20 73 6B 69 70 70 65  64 2E 20 20 54 68 65 20  ers are◙          skipped.  The 
00001300  6F 75 74 70 75 74 20 66  69 6C 65 73 20 77 69 6C  6C 20 62 65 20 6E 61 6D  65 64 20 5F 08 6D 5F 08  output files will be named _◘m_◘
00001320  6F 5F 08 64 5F 08 75 5F  08 6C 5F 08 65 2E 08 2E  08 2E 08 2E 63 08 63 08  63 08 63 20 61 6E 64 0A  o_◘d_◘u_◘l_◘e.◘.◘.◘.c◘c◘c◘c and◙
00001340  20 20 20 20 20 20 20 20  20 20 5F 08 6D 5F 08 6F  5F 08 64 5F 08 75 5F 08  6C 5F 08 65 2E 08 2E 08            _◘m_◘o_◘d_◘u_◘l_◘e.◘.◘
00001360  2E 08 2E 68 08 68 08 68  08 68 2E 20 20 5F 08 50  5F 08 32 5F 08 63 20 6E  65 76 65 72 20 74 72 61  .◘.h◘h◘h◘h.  _◘P_◘2_◘c never tra
00001380  6E 73 6C 61 74 65 73 20  6D 6F 72 65 20 74 68 61  6E 20 6F 6E 65 20 6D 6F  64 75 6C 65 20 70 65 72  nslates more than one module per
000013A0  0A 20 20 20 20 20 20 20  20 20 20 72 75 6E 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 42 65 66 6F 72  ◙          run.◙◙          Befor
000013C0  65 20 73 74 61 72 74 69  6E 67 2C 20 5F 08 70 5F  08 32 5F 08 63 20 72 65  61 64 73 20 74 68 65 20  e starting, _◘p_◘2_◘c reads the 
000013E0  66 69 6C 65 20 2F 5F 08  75 5F 08 73 5F 08 72 2F  5F 08 6C 5F 08 69 5F 08  62 2F 5F 08 70 5F 08 32  file /_◘u_◘s_◘r/_◘l_◘i_◘b/_◘p_◘2
00001400  5F 08 63 2F 5F 08 70 5F  08 32 5F 08 63 5F 08 72  5F 08 63 20 66 6F 72 20  61 0A 20 20 20 20 20 20  _◘c/_◘p_◘2_◘c_◘r_◘c for a◙      
00001420  20 20 20 20 6E 75 6D 62  65 72 20 6F 66 20 63 6F  6E 66 69 67 75 72 61 74  69 6F 6E 20 70 61 72 61      number of configuration para
00001440  6D 65 74 65 72 73 2E 20  20 28 54 68 65 20 61 63  74 75 61 6C 20 70 61 74  68 20 75 73 65 64 0A 20  meters.  (The actual path used◙ 
00001460  20 20 20 20 20 20 20 20  20 6F 6E 20 79 6F 75 72  20 73 79 73 74 65 6D 20  6D 61 79 20 76 61 72 79           on your system may vary
00001480  2E 20 20 54 68 65 20 2D  08 2D 08 2D 08 2D 69 08  69 08 69 08 69 20 6F 70  74 69 6F 6E 20 69 73 20  .  The -◘-◘-◘-i◘i◘i◘i option is 
000014A0  61 20 68 61 6E 64 79 20  77 61 79 20 74 6F 0A 20  20 20 20 20 20 20 20 20  20 65 78 61 6D 69 6E 65  a handy way to◙          examine
000014C0  20 74 68 69 73 20 66 69  6C 65 2E 29 20 49 66 20  74 68 65 20 50 32 43 52  43 20 65 6E 76 69 72 6F   this file.) If the P2CRC enviro
000014E0  6E 6D 65 6E 74 20 76 61  72 69 61 62 6C 65 20 69  73 0A 20 20 20 20 20 20  20 20 20 20 73 65 74 2C  nment variable is◙          set,
00001500  20 69 74 20 67 69 76 65  73 20 74 68 65 20 6E 61  6D 65 20 6F 66 20 61 20  66 69 6C 65 20 74 6F 20   it gives the name of a file to 
00001520  72 65 61 64 20 69 6E 73  74 65 61 64 20 6F 66 20  74 68 65 0A 20 20 20 20  20 20 20 20 20 20 73 79  read instead of the◙          sy
00001540  73 74 65 6D 20 66 69 6C  65 3B 20 74 68 69 73 20  66 69 6C 65 20 63 61 6E  20 73 74 61 72 74 20 77  stem file; this file can start w
00001560  69 74 68 20 49 08 49 08  49 08 49 6E 08 6E 08 6E  08 6E 63 08 63 08 63 08  63 6C 08 6C 08 6C 08 6C  ith I◘I◘I◘In◘n◘n◘nc◘c◘c◘cl◘l◘l◘l
00001580  75 08 75 08 75 08 75 64  08 64 08 64 08 64 65 08  65 08 65 08 65 20 25 08  25 08 25 08 25 48 08 48  u◘u◘u◘ud◘d◘d◘de◘e◘e◘e %◘%◘%◘%H◘H
000015A0  08 48 08 48 2F 08 2F 08  2F 08 2F 70 08 70 08 70  08 70 32 08 32 08 32 08  32 63 08 63 08 63 08 63  ◘H◘H/◘/◘/◘/p◘p◘p◘p2◘2◘2◘2c◘c◘c◘c
000015C0  72 08 72 08 72 08 72 63  08 63 08 63 08 63 20 74  6F 0A 20 20 20 20 20 20  20 20 20 20 69 6E 63 6C  r◘r◘r◘rc◘c◘c◘c to◙          incl
000015E0  75 64 65 20 74 68 65 20  73 79 73 74 65 6D 20 66  69 6C 65 2E 20 20 4E 65  78 74 2C 20 5F 08 70 5F  ude the system file.  Next, _◘p_
00001600  08 32 5F 08 63 20 61 74  74 65 6D 70 74 73 20 74  6F 20 72 65 61 64 20 74  68 65 0A 20 20 20 20 20  ◘2_◘c attempts to read the◙     
00001620  20 20 20 20 20 66 69 6C  65 20 5F 08 70 5F 08 32  5F 08 63 5F 08 72 5F 08  63 20 69 6E 20 79 6F 75       file _◘p_◘2_◘c_◘r_◘c in you
00001640  72 20 64 69 72 65 63 74  6F 72 79 20 66 6F 72 20  66 75 72 74 68 65 72 20  63 6F 6E 66 69 67 75 72  r directory for further configur
00001660  61 74 69 6F 6E 2E 20 20  49 66 0A 20 20 20 20 20  20 20 20 20 20 74 68 69  73 20 66 69 6C 65 20 64  ation.  If◙          this file d
00001680  6F 65 73 20 6E 6F 74 20  65 78 69 73 74 2C 20 5F  08 70 5F 08 32 5F 08 63  20 6C 6F 6F 6B 73 20 66  oes not exist, _◘p_◘2_◘c looks f
000016A0  6F 72 20 2E 5F 08 70 5F  08 32 5F 08 63 5F 08 72  5F 08 63 20 69 6E 73 74  65 61 64 2E 0A 0A 20 20  or ._◘p_◘2_◘c_◘r_◘c instead.◙◙  
000016C0  20 20 20 4F 08 4F 08 4F  08 4F 50 08 50 08 50 08  50 54 08 54 08 54 08 54  49 08 49 08 49 08 49 4F     O◘O◘O◘OP◘P◘P◘PT◘T◘T◘TI◘I◘I◘IO
000016E0  08 4F 08 4F 08 4F 4E 08  4E 08 4E 08 4E 53 08 53  08 53 08 53 0A 20 20 20  20 20 20 20 20 20 20 2D  ◘O◘O◘ON◘N◘N◘NS◘S◘S◘S◙          -
00001700  08 2D 08 2D 08 2D 6F 08  6F 08 6F 08 6F 20 5F 08  63 5F 08 66 5F 08 69 5F  08 6C 5F 08 65 0A 20 20  ◘-◘-◘-o◘o◘o◘o _◘c_◘f_◘i_◘l_◘e◙  
00001720  20 20 20 20 20 20 20 20  20 20 20 20 20 55 73 65  20 5F 08 63 5F 08 66 5F  08 69 5F 08 6C 5F 08 65               Use _◘c_◘f_◘i_◘l_◘e
00001740  20 69 6E 20 70 6C 61 63  65 20 6F 66 20 5F 08 66  5F 08 69 5F 08 6C 5F 08  65 2E 08 2E 08 2E 08 2E   in place of _◘f_◘i_◘l_◘e.◘.◘.◘.
00001760  63 08 63 08 63 08 63 20  6F 72 20 5F 08 6D 5F 08  6F 5F 08 64 5F 08 75 5F  08 6C 5F 08 65 2E 08 2E  c◘c◘c◘c or _◘m_◘o_◘d_◘u_◘l_◘e.◘.
00001780  08 2E 08 2E 63 08 63 08  63 08 63 20 61 73 20 74  68 65 20 70 72 69 6D 61  72 79 0A 20 20 20 20 20  ◘.◘.c◘c◘c◘c as the primary◙     
000017A0  20 20 20 20 20 20 20 20  20 20 6F 75 74 70 75 74  20 66 69 6C 65 2E 20 20  41 20 73 69 6E 67 6C 65            output file.  A single
000017C0  20 64 61 73 68 20 28 60  2D 6F 20 2D 27 29 20 73  61 79 73 20 74 6F 20 77  72 69 74 65 20 74 68 65   dash (`-o -') says to write the
000017E0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  43 20 63 6F 64 65 20 74  6F 20 74 68 65 20 73 74  ◙               C code to the st
00001800  61 6E 64 61 72 64 20 6F  75 74 70 75 74 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 2D 08 2D 08 2D 08  andard output.◙◙          -◘-◘-◘
00001820  2D 68 08 68 08 68 08 68  20 5F 08 68 5F 08 66 5F  08 69 5F 08 6C 5F 08 65  0A 20 20 20 20 20 20 20  -h◘h◘h◘h _◘h_◘f_◘i_◘l_◘e◙       
00001840  20 20 20 20 20 20 20 20  55 73 65 20 5F 08 68 5F  08 66 5F 08 69 5F 08 6C  5F 08 65 20 69 6E 20 70          Use _◘h_◘f_◘i_◘l_◘e in p
00001860  6C 61 63 65 20 6F 66 20  5F 08 6D 5F 08 6F 5F 08  64 5F 08 75 5F 08 6C 5F  08 65 2E 08 2E 08 2E 08  lace of _◘m_◘o_◘d_◘u_◘l_◘e.◘.◘.◘
00001880  2E 68 08 68 08 68 08 68  20 61 73 20 74 68 65 20  6F 75 74 70 75 74 20 66  69 6C 65 20 66 6F 72 0A  .h◘h◘h◘h as the output file for◙
000018A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  6E 74 65 72 66 61 63 65  20 74 65 78 74 2E 20 20                 interface text.  
000018C0  54 68 69 73 20 6F 6E 6C  79 20 68 61 73 20 65 66  66 65 63 74 20 69 66 20  74 68 65 20 69 6E 70 75  This only has effect if the inpu
000018E0  74 20 69 73 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 61 6E 20 48  50 20 50 61 73 63 61 6C  t is◙               an HP Pascal
00001900  20 6D 6F 64 75 6C 65 20  6F 72 20 61 20 54 75 72  62 6F 20 50 61 73 63 61  6C 20 75 6E 69 74 2E 0A   module or a Turbo Pascal unit.◙
00001920  0A 20 20 20 20 20 20 20  20 20 20 2D 08 2D 08 2D  08 2D 73 08 73 08 73 08  73 20 5F 08 73 5F 08 66  ◙          -◘-◘-◘-s◘s◘s◘s _◘s_◘f
00001940  5F 08 69 5F 08 6C 5F 08  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 52 65 61 64 20 69 6E  _◘i_◘l_◘e◙               Read in
00001960  74 65 72 66 61 63 65 20  74 65 78 74 20 66 72 6F  6D 20 5F 08 73 5F 08 66  5F 08 69 5F 08 6C 5F 08  terface text from _◘s_◘f_◘i_◘l_◘
00001980  65 20 62 65 66 6F 72 65  20 62 65 67 69 6E 6E 69  6E 67 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  e before beginning the◙         
000019A0  20 20 20 20 20 20 74 72  61 6E 73 6C 61 74 69 6F  6E 2E 20 20 54 68 69 73  20 66 69 6C 65 20 74 79        translation.  This file ty
000019C0  70 69 63 61 6C 6C 79 20  63 6F 6E 74 61 69 6E 73  20 6F 6E 65 20 6F 72 20  6D 6F 72 65 0A 20 20 20  pically contains one or more◙   
000019E0  20 20 20 20 20 20 20 20  20 20 20 20 6D 6F 64 75  6C 65 73 2C 20 6F 66 74  65 6E 20 77 69 74 68 20              modules, often with 
00001A00  69 6E 74 65 72 66 61 63  65 20 73 65 63 74 69 6F  6E 73 20 6F 6D 69 74 74  65 64 20 66 6F 72 0A 20  interface sections omitted for◙ 
00001A20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 70  65 65 64 2C 20 77 68 69  63 68 20 74 68 65 20 70                speed, which the p
00001A40  72 6F 67 72 61 6D 20 6F  72 20 6D 6F 64 75 6C 65  20 62 65 69 6E 67 20 74  72 61 6E 73 6C 61 74 65  rogram or module being translate
00001A60  64 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 77 69 6C 6C 20 75 73  65 2E 20 20 28 54 79 70  d◙               will use.  (Typ
00001A80  69 63 61 6C 6C 79 20 74  68 65 20 49 08 49 08 49  08 49 6D 08 6D 08 6D 08  6D 70 08 70 08 70 08 70  ically the I◘I◘I◘Im◘m◘m◘mp◘p◘p◘p
00001AA0  6F 08 6F 08 6F 08 6F 72  08 72 08 72 08 72 74 08  74 08 74 08 74 46 08 46  08 46 08 46 72 08 72 08  o◘o◘o◘or◘r◘r◘rt◘t◘t◘tF◘F◘F◘Fr◘r◘
00001AC0  72 08 72 6F 08 6F 08 6F  08 6F 6D 08 6D 08 6D 08  6D 20 61 6E 64 20 49 08  49 08 49 08 49 6D 08 6D  r◘ro◘o◘o◘om◘m◘m◘m and I◘I◘I◘Im◘m
00001AE0  08 6D 08 6D 70 08 70 08  70 08 70 6F 08 6F 08 6F  08 6F 72 08 72 08 72 08  72 74 08 74 08 74 08 74  ◘m◘mp◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t◘t◘t
00001B00  44 08 44 08 44 08 44 69  08 69 08 69 08 69 72 08  72 08 72 08 72 0A 20 20  20 20 20 20 20 20 20 20  D◘D◘D◘Di◘i◘i◘ir◘r◘r◘r◙          
00001B20  20 20 20 20 20 70 61 72  61 6D 65 74 65 72 73 20  69 6E 20 5F 08 70 5F 08  32 5F 08 63 5F 08 72 5F       parameters in _◘p_◘2_◘c_◘r_
00001B40  08 63 20 61 72 65 20 73  65 74 20 75 70 20 74 6F  20 61 6C 6C 6F 77 20 5F  08 70 5F 08 32 5F 08 63  ◘c are set up to allow _◘p_◘2_◘c
00001B60  20 74 6F 20 6C 6F 63 61  74 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 69 6E 74 65 72 66   to locate◙               interf
00001B80  61 63 65 20 74 65 78 74  20 77 69 74 68 6F 75 74  20 6E 65 65 64 69 6E 67  20 61 6E 79 20 2D 08 2D  ace text without needing any -◘-
00001BA0  08 2D 08 2D 73 08 73 08  73 08 73 20 6F 70 74 69  6F 6E 73 2E 29 20 20 49  66 0A 0A 0A 0A 20 20 20  ◘-◘-s◘s◘s◘s options.)  If◙◙◙◙   
00001BC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00001BE0  2D 20 32 20 2D 20 46 6F  72 6D 61 74 74 65 64 3A  20 20 46 65 62 72 75 61  72 79 20 32 38 2C 20 31  - 2 - Formatted:  February 28, 1
00001C00  39 39 31 0A 0A 0A 0A 0A  0A 0A 20 20 20 20 20 50  08 50 08 50 08 50 32 08  32 08 32 08 32 43 08 43  991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C
00001C20  08 43 08 43 28 08 28 08  28 08 28 31 08 31 08 31  08 31 29 08 29 08 29 08  29 20 20 20 20 20 20 20  ◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)       
00001C40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 28 08 28 08 28 08 28  6C 08 6C 08 6C 08 6C 6F                   (◘(◘(◘(l◘l◘l◘lo
00001C60  08 6F 08 6F 08 6F 63 08  63 08 63 08 63 61 08 61  08 61 08 61 6C 08 6C 08  6C 08 6C 29 08 29 08 29  ◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)
00001C80  08 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  50 08 50 08 50 08 50 32  ◘)                      P◘P◘P◘P2
00001CA0  08 32 08 32 08 32 43 08  43 08 43 08 43 28 08 28  08 28 08 28 31 08 31 08  31 08 31 29 08 29 08 29  ◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)
00001CC0  08 29 0A 0A 0A 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 65  72 65 20 61 72 65 20 73  ◘)◙◙◙◙               there are s
00001CE0  65 76 65 72 61 6C 20 2D  08 2D 08 2D 08 2D 73 08  73 08 73 08 73 20 6F 70  74 69 6F 6E 73 20 69 6E  everal -◘-◘-◘-s◘s◘s◘s options in
00001D00  20 74 68 65 20 63 6F 6D  6D 61 6E 64 2C 20 74 68  65 20 5F 08 73 5F 08 66  5F 08 69 5F 08 6C 5F 08   the command, the _◘s_◘f_◘i_◘l_◘
00001D20  65 5F 08 73 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 61 72 65 20  72 65 61 64 20 66 72 6F  e_◘s◙               are read fro
00001D40  6D 20 6C 65 66 74 20 74  6F 20 72 69 67 68 74 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 2D 08 2D 08  m left to right.◙◙          -◘-◘
00001D60  2D 08 2D 70 08 70 08 70  08 70 5F 08 6E 20 20 44  69 73 70 6C 61 79 20 70  72 6F 67 72 65 73 73 20  -◘-p◘p◘p◘p_◘n  Display progress 
00001D80  6F 66 20 74 72 61 6E 73  6C 61 74 69 6F 6E 20 69  6E 20 74 68 65 20 66 6F  72 6D 20 6F 66 20 61 20  of translation in the form of a 
00001DA0  6C 69 6E 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6E 75 6D 62  65 72 2F 66 69 6C 65 20  line◙               number/file 
00001DC0  6E 61 6D 65 20 64 69 73  70 6C 61 79 2E 20 20 54  68 69 73 20 69 73 20 72  65 66 72 65 73 68 65 64  name display.  This is refreshed
00001DE0  20 65 76 65 72 79 20 5F  08 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6C 69 6E 65 73 2C   every _◘n◙               lines,
00001E00  20 32 35 20 62 79 20 64  65 66 61 75 6C 74 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 2D 08 2D 08 2D   25 by default.◙◙          -◘-◘-
00001E20  08 2D 63 08 63 08 63 08  63 20 5F 08 72 5F 08 63  5F 08 66 5F 08 69 5F 08  6C 5F 08 65 0A 20 20 20  ◘-c◘c◘c◘c _◘r_◘c_◘f_◘i_◘l_◘e◙   
00001E40  20 20 20 20 20 20 20 20  20 20 20 20 52 65 61 64  20 6C 6F 63 61 6C 20 63  6F 6E 66 69 67 75 72 61              Read local configura
00001E60  74 69 6F 6E 20 63 6F 6D  6D 61 6E 64 73 20 66 72  6F 6D 20 5F 08 72 5F 08  63 5F 08 66 5F 08 69 5F  tion commands from _◘r_◘c_◘f_◘i_
00001E80  08 6C 5F 08 65 20 69 6E  73 74 65 61 64 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 6F 66 20  ◘l_◘e instead◙               of 
00001EA0  5F 08 70 5F 08 32 5F 08  63 5F 08 72 5F 08 63 20  6F 72 20 2E 5F 08 70 5F  08 32 5F 08 63 5F 08 72  _◘p_◘2_◘c_◘r_◘c or ._◘p_◘2_◘c_◘r
00001EC0  5F 08 63 2E 20 41 20 64  61 73 68 20 28 60 2D 63  20 2D 27 29 20 69 6E 20  70 6C 61 63 65 20 6F 66  _◘c. A dash (`-c -') in place of
00001EE0  20 5F 08 72 5F 08 63 5F  08 66 5F 08 69 5F 08 6C  5F 08 65 0A 20 20 20 20  20 20 20 20 20 20 20 20   _◘r_◘c_◘f_◘i_◘l_◘e◙            
00001F00  20 20 20 63 61 75 73 65  73 20 6E 6F 20 6C 6F 63  61 6C 20 63 6F 6E 66 69  67 75 72 61 74 69 6F 6E     causes no local configuration
00001F20  20 66 69 6C 65 20 74 6F  20 62 65 20 75 73 65 64  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 2D 08 2D   file to be used.◙◙          -◘-
00001F40  08 2D 08 2D 76 08 76 08  76 08 76 20 20 20 28 22  56 61 6E 69 6C 6C 61 2E  22 29 20 20 44 6F 20 6E  ◘-◘-v◘v◘v◘v   ("Vanilla.")  Do n
00001F60  6F 74 20 72 65 61 64 20  66 72 6F 6D 20 74 68 65  20 73 79 73 74 65 6D 20  63 6F 6E 66 69 67 75 72  ot read from the system configur
00001F80  61 74 69 6F 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 66 69 6C  65 20 2F 5F 08 75 5F 08  ation◙               file /_◘u_◘
00001FA0  73 5F 08 72 2F 5F 08 6C  5F 08 69 5F 08 62 2F 5F  08 70 5F 08 32 5F 08 63  2F 5F 08 70 5F 08 32 5F  s_◘r/_◘l_◘i_◘b/_◘p_◘2_◘c/_◘p_◘2_
00001FC0  08 63 5F 08 72 5F 08 63  2E 20 53 69 6E 63 65 20  73 6F 6D 65 20 6F 66 20  74 68 65 20 70 61 72 61  ◘c_◘r_◘c. Since some of the para
00001FE0  6D 65 74 65 72 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 6E  20 74 68 69 73 20 66 69  meters◙               in this fi
00002000  6C 65 20 61 72 65 20 72  65 71 75 69 72 65 64 2C  20 79 6F 75 72 20 6C 6F  63 61 6C 20 63 6F 6E 66  le are required, your local conf
00002020  69 67 75 72 61 74 69 6F  6E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 66 69 6C 65 20 6D 75  iguration◙               file mu
00002040  73 74 20 69 6E 63 6C 75  64 65 20 74 68 6F 73 65  20 70 61 72 61 6D 65 74  65 72 73 20 69 6E 73 74  st include those parameters inst
00002060  65 61 64 2E 20 20 54 68  69 73 20 61 6C 73 6F 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 73  ead.  This also◙               s
00002080  75 70 70 72 65 73 73 65  73 20 74 68 65 20 66 69  6C 65 20 6E 61 6D 65 64  20 62 79 20 74 68 65 20  uppresses the file named by the 
000020A0  50 32 43 52 43 20 65 6E  76 69 72 6F 6E 6D 65 6E  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  P2CRC environment◙              
000020C0  20 76 61 72 69 61 62 6C  65 2E 0A 0A 20 20 20 20  20 20 20 20 20 20 2D 08  2D 08 2D 08 2D 48 08 48   variable.◙◙          -◘-◘-◘-H◘H
000020E0  08 48 08 48 20 5F 08 68  5F 08 6F 5F 08 6D 5F 08  65 5F 08 64 5F 08 69 5F  08 72 0A 20 20 20 20 20  ◘H◘H _◘h_◘o_◘m_◘e_◘d_◘i_◘r◙     
00002100  20 20 20 20 20 20 20 20  20 20 55 73 65 20 5F 08  68 5F 08 6F 5F 08 6D 5F  08 65 5F 08 64 5F 08 69            Use _◘h_◘o_◘m_◘e_◘d_◘i
00002120  5F 08 72 20 69 6E 73 74  65 61 64 20 6F 66 20 2F  5F 08 75 5F 08 73 5F 08  72 2F 5F 08 6C 5F 08 69  _◘r instead of /_◘u_◘s_◘r/_◘l_◘i
00002140  5F 08 62 2F 5F 08 70 5F  08 32 5F 08 63 20 61 73  20 74 68 65 20 5F 08 70  5F 08 32 5F 08 63 20 68  _◘b/_◘p_◘2_◘c as the _◘p_◘2_◘c h
00002160  6F 6D 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 64 69 72 65 63  74 6F 72 79 2E 20 20 54  ome◙               directory.  T
00002180  68 65 20 73 79 73 74 65  6D 20 5F 08 70 5F 08 32  5F 08 63 5F 08 72 5F 08  63 20 66 69 6C 65 20 77  he system _◘p_◘2_◘c_◘r_◘c file w
000021A0  69 6C 6C 20 62 65 20 73  65 61 72 63 68 65 64 20  66 6F 72 0A 20 20 20 20  20 20 20 20 20 20 20 20  ill be searched for◙            
000021C0  20 20 20 69 6E 20 74 68  69 73 20 64 69 72 65 63  74 6F 72 79 2E 0A 0A 20  20 20 20 20 20 20 20 20     in this directory.◙◙         
000021E0  20 2D 08 2D 08 2D 08 2D  49 08 49 08 49 08 49 5F  08 70 5F 08 61 5F 08 74  5F 08 74 5F 08 65 5F 08   -◘-◘-◘-I◘I◘I◘I_◘p_◘a_◘t_◘t_◘e_◘
00002200  72 5F 08 6E 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 41 64 64 20  5F 08 70 5F 08 61 5F 08  r_◘n◙               Add _◘p_◘a_◘
00002220  74 5F 08 74 5F 08 65 5F  08 72 5F 08 6E 20 74 6F  20 74 68 65 20 49 08 49  08 49 08 49 6D 08 6D 08  t_◘t_◘e_◘r_◘n to the I◘I◘I◘Im◘m◘
00002240  6D 08 6D 70 08 70 08 70  08 70 6F 08 6F 08 6F 08  6F 72 08 72 08 72 08 72  74 08 74 08 74 08 74 44  m◘mp◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t◘t◘tD
00002260  08 44 08 44 08 44 69 08  69 08 69 08 69 72 08 72  08 72 08 72 20 73 65 61  72 63 68 20 6C 69 73 74  ◘D◘D◘Di◘i◘i◘ir◘r◘r◘r search list
00002280  20 6F 66 20 70 6C 61 63  65 73 20 74 6F 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 66 69 6E   of places to◙               fin
000022A0  64 20 6D 6F 64 75 6C 65  73 20 77 68 69 63 68 20  61 72 65 20 69 6D 70 6F  72 74 65 64 2E 20 20 54  d modules which are imported.  T
000022C0  68 65 20 70 61 74 74 65  72 6E 20 73 68 6F 75 6C  64 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  he pattern should◙              
000022E0  20 69 6E 63 6C 75 64 65  20 61 20 25 5F 08 73 20  74 6F 20 72 65 70 72 65  73 65 6E 74 20 74 68 65   include a %_◘s to represent the
00002300  20 6D 6F 64 75 6C 65 20  6E 61 6D 65 2C 20 61 6E  64 20 73 68 6F 75 6C 64  0A 20 20 20 20 20 20 20   module name, and should◙       
00002320  20 20 20 20 20 20 20 20  65 76 61 6C 75 61 74 65  20 74 6F 20 61 20 70 6F  74 65 6E 74 69 61 6C 20          evaluate to a potential 
00002340  66 69 6C 65 20 6E 61 6D  65 20 66 6F 72 20 74 68  61 74 20 6D 6F 64 75 6C  65 27 73 0A 20 20 20 20  file name for that module's◙    
00002360  20 20 20 20 20 20 20 20  20 20 20 73 6F 75 72 63  65 20 63 6F 64 65 2E 20  20 46 6F 72 20 65 78 61             source code.  For exa
00002380  6D 70 6C 65 2C 20 2E 08  2E 08 2E 08 2E 2E 08 2E  08 2E 08 2E 2F 08 2F 08  2F 08 2F 25 08 25 08 25  mple, .◘.◘.◘..◘.◘.◘./◘/◘/◘/%◘%◘%
000023A0  08 25 73 08 73 08 73 08  73 2E 08 2E 08 2E 08 2E  70 08 70 08 70 08 70 61  08 61 08 61 08 61 73 08  ◘%s◘s◘s◘s.◘.◘.◘.p◘p◘p◘pa◘a◘a◘as◘
000023C0  73 08 73 08 73 20 6C 6F  6F 6B 73 20 66 6F 72 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 5F  s◘s◘s looks for◙               _
000023E0  08 6D 5F 08 6F 5F 08 64  5F 08 75 5F 08 6C 5F 08  65 5F 08 6E 5F 08 61 5F  08 6D 5F 08 65 2E 08 2E  ◘m_◘o_◘d_◘u_◘l_◘e_◘n_◘a_◘m_◘e.◘.
00002400  08 2E 08 2E 70 08 70 08  70 08 70 61 08 61 08 61  08 61 73 08 73 08 73 08  73 20 69 6E 20 74 68 65  ◘.◘.p◘p◘p◘pa◘a◘a◘as◘s◘s◘s in the
00002420  20 70 61 72 65 6E 74 20  6F 66 20 74 68 65 20 63  75 72 72 65 6E 74 20 64  69 72 65 63 74 6F 72 79   parent of the current directory
00002440  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 2D 08 2D  08 2D 08 2D 69 08 69 08  69 08 69 20 20 20 54 68  .◙◙          -◘-◘-◘-i◘i◘i◘i   Th
00002460  69 73 20 73 70 65 63 69  61 6C 20 6F 70 74 69 6F  6E 20 28 77 68 69 63 68  20 6D 75 73 74 20 62 65  is special option (which must be
00002480  20 74 68 65 20 6F 6E 6C  79 20 61 72 67 75 6D 65  6E 74 20 6F 6E 0A 20 20  20 20 20 20 20 20 20 20   the only argument on◙          
000024A0  20 20 20 20 20 74 68 65  20 63 6F 6D 6D 61 6E 64  20 6C 69 6E 65 20 69 66  20 75 73 65 64 29 20 73       the command line if used) s
000024C0  69 6D 70 6C 79 20 63 6F  70 69 65 73 20 74 68 65  20 73 79 73 74 65 6D 0A  20 20 20 20 20 20 20 20  imply copies the system◙        
000024E0  20 20 20 20 20 20 20 63  6F 6E 66 69 67 75 72 61  74 69 6F 6E 20 66 69 6C  65 20 2F 5F 08 75 5F 08         configuration file /_◘u_◘
00002500  73 5F 08 72 2F 5F 08 6C  5F 08 69 5F 08 62 2F 5F  08 70 5F 08 32 5F 08 63  2F 5F 08 70 5F 08 32 5F  s_◘r/_◘l_◘i_◘b/_◘p_◘2_◘c/_◘p_◘2_
00002520  08 63 5F 08 72 5F 08 63  20 74 6F 20 74 68 65 20  73 74 61 6E 64 61 72 64  0A 20 20 20 20 20 20 20  ◘c_◘r_◘c to the standard◙       
00002540  20 20 20 20 20 20 20 20  6F 75 74 70 75 74 20 69  6E 20 69 74 73 20 65 6E  74 69 72 65 74 79 2E 20          output in its entirety. 
00002560  20 28 49 74 20 6D 61 79  20 62 65 20 75 73 65 64  20 77 69 74 68 20 2D 08  2D 08 2D 08 2D 48 08 48   (It may be used with -◘-◘-◘-H◘H
00002580  08 48 08 48 2C 20 62 75  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 2D 08 2D 08 2D 08 2D  ◘H◘H, but◙               -◘-◘-◘-
000025A0  69 08 69 08 69 08 69 20  69 73 20 6D 6F 73 74 20  75 73 65 66 75 6C 20 70  72 65 63 69 73 65 6C 79  i◘i◘i◘i is most useful precisely
000025C0  20 77 68 65 6E 20 79 6F  75 20 64 6F 6E 27 74 20  6B 6E 6F 77 20 74 68 65  0A 20 20 20 20 20 20 20   when you don't know the◙       
000025E0  20 20 20 20 20 20 20 20  6C 6F 63 61 74 69 6F 6E  20 6F 66 20 74 68 65 20  68 6F 6D 65 20 64 69 72          location of the home dir
00002600  65 63 74 6F 72 79 2E 29  0A 0A 20 20 20 20 20 20  20 20 20 20 2D 08 2D 08  2D 08 2D 71 08 71 08 71  ectory.)◙◙          -◘-◘-◘-q◘q◘q
00002620  08 71 20 20 20 51 75 69  65 74 20 6D 6F 64 65 2E  20 20 53 75 70 70 72 65  73 73 65 73 20 6F 75 74  ◘q   Quiet mode.  Suppresses out
00002640  70 75 74 20 6F 66 20 73  74 61 74 75 73 20 6D 65  73 73 61 67 65 73 0A 20  20 20 20 20 20 20 20 20  put of status messages◙         
00002660  20 20 20 20 20 20 64 75  72 69 6E 67 20 74 72 61  6E 73 6C 61 74 69 6F 6E  2E 0A 0A 20 20 20 20 20        during translation.◙◙     
00002680  20 20 20 20 20 2D 08 2D  08 2D 08 2D 45 08 45 08  45 08 45 5F 08 6E 20 20  41 62 6F 72 74 20 74 72       -◘-◘-◘-E◘E◘E◘E_◘n  Abort tr
000026A0  61 6E 73 6C 61 74 69 6F  6E 20 61 66 74 65 72 20  5F 08 6E 20 65 72 72 6F  72 73 2E 20 20 49 66 20  anslation after _◘n errors.  If 
000026C0  5F 08 6E 20 69 73 20 6F  6D 69 74 74 65 64 20 69  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  _◘n is omitted it◙              
000026E0  20 64 65 66 61 75 6C 74  73 20 74 6F 20 7A 65 72  6F 2C 20 77 68 69 63 68  20 6D 65 61 6E 73 20 75   defaults to zero, which means u
00002700  6E 6C 69 6D 69 74 65 64  20 65 72 72 6F 72 73 20  61 72 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  nlimited errors are◙            
00002720  20 20 20 61 6C 6C 6F 77  65 64 2E 20 20 55 73 65  20 2D 08 2D 08 2D 08 2D  45 08 45 08 45 08 45 31     allowed.  Use -◘-◘-◘-E◘E◘E◘E1
00002740  08 31 08 31 08 31 20 74  6F 20 6D 61 6B 65 20 5F  08 70 5F 08 32 5F 08 63  20 68 61 6C 74 20 61 66  ◘1◘1◘1 to make _◘p_◘2_◘c halt af
00002760  74 65 72 20 74 68 65 20  66 69 72 73 74 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 65 72 72  ter the first◙               err
00002780  6F 72 2E 0A 0A 20 20 20  20 20 20 20 20 20 20 2D  08 2D 08 2D 08 2D 65 08  65 08 65 08 65 20 20 20  or.◙◙          -◘-◘-◘-e◘e◘e◘e   
000027A0  45 63 68 6F 20 74 68 65  20 50 61 73 63 61 6C 20  73 6F 75 72 63 65 20 69  6E 74 6F 20 74 68 65 20  Echo the Pascal source into the 
000027C0  6F 75 74 70 75 74 20 66  69 6C 65 2C 20 73 75 72  72 6F 75 6E 64 65 64 0A  20 20 20 20 20 20 20 20  output file, surrounded◙        
000027E0  20 20 20 20 20 20 20 62  79 20 23 69 66 64 65 66  73 2E 20 20 54 68 69 73  20 69 73 20 74 68 65 20         by #ifdefs.  This is the 
00002800  73 61 6D 65 20 61 73 20  74 68 65 20 43 08 43 08  43 08 43 6F 08 6F 08 6F  08 6F 70 08 70 08 70 08  same as the C◘C◘C◘Co◘o◘o◘op◘p◘p◘
00002820  70 79 08 79 08 79 08 79  53 08 53 08 53 08 53 6F  08 6F 08 6F 08 6F 75 08  75 08 75 08 75 72 08 72  py◘y◘y◘yS◘S◘S◘So◘o◘o◘ou◘u◘u◘ur◘r
00002840  08 72 08 72 63 08 63 08  63 08 63 65 08 65 08 65  08 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘r◘rc◘c◘c◘ce◘e◘e◘e◙             
00002860  20 20 70 61 72 61 6D 65  74 65 72 20 69 6E 20 74  68 65 20 5F 08 70 5F 08  32 5F 08 63 5F 08 72 5F    parameter in the _◘p_◘2_◘c_◘r_
00002880  08 63 20 66 69 6C 65 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 2D 08 2D 08  2D 08 2D 61 08 61 08 61  ◘c file.◙◙          -◘-◘-◘-a◘a◘a
000028A0  08 61 20 20 20 50 72 6F  64 75 63 65 20 6D 6F 64  65 72 6E 20 41 4E 53 49  20 43 2E 20 20 54 68 69  ◘a   Produce modern ANSI C.  Thi
000028C0  73 20 69 73 20 61 20 63  6F 6E 76 65 6E 69 65 6E  74 20 6F 76 65 72 72 69  64 65 0A 0A 0A 0A 20 20  s is a convenient override◙◙◙◙  
000028E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00002900  20 2D 20 33 20 2D 20 46  6F 72 6D 61 74 74 65 64  3A 20 20 46 65 62 72 75  61 72 79 20 32 38 2C 20   - 3 - Formatted:  February 28, 
00002920  31 39 39 31 0A 0A 0A 0A  0A 0A 0A 20 20 20 20 20  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘
00002940  43 08 43 08 43 28 08 28  08 28 08 28 31 08 31 08  31 08 31 29 08 29 08 29  08 29 20 20 20 20 20 20  C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)      
00002960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 28 08 28 08 28 08  28 6C 08 6C 08 6C 08 6C                    (◘(◘(◘(l◘l◘l◘l
00002980  6F 08 6F 08 6F 08 6F 63  08 63 08 63 08 63 61 08  61 08 61 08 61 6C 08 6C  08 6C 08 6C 29 08 29 08  o◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘
000029A0  29 08 29 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 50 08 50 08 50 08 50  )◘)                      P◘P◘P◘P
000029C0  32 08 32 08 32 08 32 43  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘
000029E0  29 08 29 0A 0A 0A 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 6F  72 20 74 68 65 20 41 08  )◘)◙◙◙◙               for the A◘
00002A00  41 08 41 08 41 6E 08 6E  08 6E 08 6E 73 08 73 08  73 08 73 69 08 69 08 69  08 69 43 08 43 08 43 08  A◘A◘An◘n◘n◘ns◘s◘s◘si◘i◘i◘iC◘C◘C◘
00002A20  43 20 70 61 72 61 6D 65  74 65 72 20 69 6E 20 74  68 65 20 5F 08 70 5F 08  32 5F 08 63 5F 08 72 5F  C parameter in the _◘p_◘2_◘c_◘r_
00002A40  08 63 20 66 69 6C 65 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 2D 08 2D 08  2D 08 2D 4C 08 4C 08 4C  ◘c file.◙◙          -◘-◘-◘-L◘L◘L
00002A60  08 4C 20 5F 08 6C 5F 08  61 5F 08 6E 5F 08 67 5F  08 75 5F 08 61 5F 08 67  5F 08 65 0A 20 20 20 20  ◘L _◘l_◘a_◘n_◘g_◘u_◘a_◘g_◘e◙    
00002A80  20 20 20 20 20 20 20 20  20 20 20 53 65 6C 65 63  74 20 69 6E 70 75 74 20  6C 61 6E 67 75 61 67 65             Select input language
00002AA0  20 6E 61 6D 65 2C 20 73  75 63 68 20 61 73 20 56  41 58 20 6F 72 20 54 55  52 42 4F 2E 20 20 54 68   name, such as VAX or TURBO.  Th
00002AC0  69 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 69 73 20 61 20 63  6F 6E 76 65 6E 69 65 6E  is◙               is a convenien
00002AE0  74 20 6F 76 65 72 72 69  64 65 20 66 6F 72 20 74  68 65 20 4C 08 4C 08 4C  08 4C 61 08 61 08 61 08  t override for the L◘L◘L◘La◘a◘a◘
00002B00  61 6E 08 6E 08 6E 08 6E  67 08 67 08 67 08 67 75  08 75 08 75 08 75 61 08  61 08 61 08 61 67 08 67  an◘n◘n◘ng◘g◘g◘gu◘u◘u◘ua◘a◘a◘ag◘g
00002B20  08 67 08 67 65 08 65 08  65 08 65 20 70 61 72 61  6D 65 74 65 72 2E 0A 0A  20 20 20 20 20 20 20 20  ◘g◘ge◘e◘e◘e parameter.◙◙        
00002B40  20 20 2D 08 2D 08 2D 08  2D 56 08 56 08 56 08 56  20 20 20 56 65 72 62 6F  73 65 20 6D 6F 64 65 2E    -◘-◘-◘-V◘V◘V◘V   Verbose mode.
00002B60  20 20 54 68 69 73 20 63  61 75 73 65 73 20 5F 08  70 5F 08 32 5F 08 63 20  74 6F 20 67 65 6E 65 72    This causes _◘p_◘2_◘c to gener
00002B80  61 74 65 20 61 6E 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 61 64  64 69 74 69 6F 6E 61 6C  ate an◙               additional
00002BA0  20 22 2E 6C 6F 67 22 20  66 69 6C 65 20 77 69 74  68 20 66 75 72 74 68 65  72 20 64 65 74 61 69 6C   ".log" file with further detail
00002BC0  73 20 6F 66 20 74 68 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  74 72 61 6E 73 6C 61 74  s of the◙               translat
00002BE0  69 6F 6E 2C 20 73 75 63  68 20 61 73 20 61 20 6C  69 73 74 20 6F 66 20 77  61 72 6E 69 6E 67 73 20  ion, such as a list of warnings 
00002C00  61 6E 64 20 6E 6F 74 65  73 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 69 6E 63 6C 75 64 69  and notes◙               includi
00002C20  6E 67 20 74 68 6F 73 65  20 77 68 69 63 68 20 61  72 65 20 73 75 70 70 72  65 73 73 65 64 20 69 6E  ng those which are suppressed in
00002C40  20 74 68 65 20 72 65 67  75 6C 61 72 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6F 75 74 70   the regular◙               outp
00002C60  75 74 2E 0A 0A 20 20 20  20 20 20 20 20 20 20 2D  08 2D 08 2D 08 2D 4D 08  4D 08 4D 08 4D 30 08 30  ut.◙◙          -◘-◘-◘-M◘M◘M◘M0◘0
00002C80  08 30 08 30 20 20 44 69  73 61 62 6C 65 20 6D 65  6D 6F 72 79 20 63 6F 6E  73 65 72 76 61 74 69 6F  ◘0◘0  Disable memory conservatio
00002CA0  6E 2E 20 20 54 68 69 73  20 70 72 65 76 65 6E 74  73 20 5F 08 70 5F 08 32  5F 08 63 20 66 72 6F 6D  n.  This prevents _◘p_◘2_◘c from
00002CC0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  66 72 65 65 69 6E 67 20  76 61 72 69 6F 75 73 20  ◙               freeing various 
00002CE0  64 61 74 61 20 73 74 72  75 63 74 75 72 65 73 20  61 66 74 65 72 20 74 72  61 6E 73 6C 61 74 69 6E  data structures after translatin
00002D00  67 20 65 61 63 68 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 75  6E 63 74 69 6F 6E 2C 20  g each◙               function, 
00002D20  69 6E 20 63 61 73 65 20  74 68 69 73 20 6E 65 77  20 63 6F 6E 73 65 72 76  61 74 69 6F 6E 20 66 65  in case this new conservation fe
00002D40  61 74 75 72 65 20 63 61  75 73 65 73 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 75 6E 66 6F  ature causes◙               unfo
00002D60  72 73 65 65 6E 20 70 72  6F 62 6C 65 6D 73 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 2D 08 2D 08 2D  rseen problems.◙◙          -◘-◘-
00002D80  08 2D 52 08 52 08 52 08  52 20 20 20 52 65 67 72  65 73 73 69 6F 6E 20 74  65 73 74 69 6E 67 20 6D  ◘-R◘R◘R◘R   Regression testing m
00002DA0  6F 64 65 2E 20 20 46 6F  72 6D 61 74 73 20 6E 6F  74 65 73 20 61 6E 64 20  77 61 72 6E 69 6E 67 0A  ode.  Formats notes and warning◙
00002DC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6D  65 73 73 61 67 65 73 20  69 6E 20 61 20 77 61 79                 messages in a way
00002DE0  20 74 68 61 74 20 6D 61  6B 65 73 20 69 74 20 65  61 73 69 65 72 20 74 6F  20 72 75 6E 20 5F 08 64   that makes it easier to run _◘d
00002E00  5F 08 69 5F 08 66 5F 08  66 28 31 29 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6F 6E 20 74  _◘i_◘f_◘f(1)◙               on t
00002E20  68 65 20 6F 75 74 70 75  74 20 6F 66 20 5F 08 70  5F 08 32 5F 08 63 2E 0A  0A 20 20 20 20 20 20 20  he output of _◘p_◘2_◘c.◙◙       
00002E40  20 20 20 5F 08 50 5F 08  32 5F 08 63 20 61 6C 73  6F 20 75 6E 64 65 72 73  74 61 6E 64 73 20 61 20     _◘P_◘2_◘c also understands a 
00002E60  66 65 77 20 64 65 62 75  67 67 69 6E 67 20 6F 70  74 69 6F 6E 73 20 77 68  69 63 68 20 6D 61 79 0A  few debugging options which may◙
00002E80  20 20 20 20 20 20 20 20  20 20 6F 63 63 61 73 69  6F 6E 61 6C 6C 79 20 62  65 20 75 73 65 66 75 6C            occasionally be useful
00002EA0  20 77 68 65 6E 20 74 72  61 63 6B 69 6E 67 20 64  6F 77 6E 20 74 72 61 6E  73 6C 61 74 69 6F 6E 0A   when tracking down translation◙
00002EC0  20 20 20 20 20 20 20 20  20 20 70 72 6F 62 6C 65  6D 73 2E 20 20 54 68 65  20 2D 08 2D 08 2D 08 2D            problems.  The -◘-◘-◘-
00002EE0  64 08 64 08 64 08 64 5F  08 6E 20 6F 70 74 69 6F  6E 20 73 65 74 73 20 74  68 65 20 22 64 65 62 75  d◘d◘d◘d_◘n option sets the "debu
00002F00  67 20 6C 65 76 65 6C 22  20 74 6F 20 5F 08 6E 2C  20 61 0A 20 20 20 20 20  20 20 20 20 20 73 6D 61  g level" to _◘n, a◙          sma
00002F20  6C 6C 20 69 6E 74 65 67  65 72 20 77 68 69 63 68  20 69 73 20 6E 6F 72 6D  61 6C 6C 79 20 7A 65 72  ll integer which is normally zer
00002F40  6F 2E 20 20 44 65 62 75  67 67 69 6E 67 20 6F 75  74 70 75 74 20 69 73 0A  20 20 20 20 20 20 20 20  o.  Debugging output is◙        
00002F60  20 20 77 72 69 74 74 65  6E 20 69 6E 74 6F 20 74  68 65 20 72 65 67 75 6C  61 72 20 6F 75 74 70 75    written into the regular outpu
00002F80  74 20 66 69 6C 65 20 61  6C 6F 6E 67 20 77 69 74  68 20 74 68 65 20 43 20  63 6F 64 65 3B 0A 20 20  t file along with the C code;◙  
00002FA0  20 20 20 20 20 20 20 20  74 68 65 20 68 69 67 68  65 72 20 79 6F 75 72 20  5F 08 6E 2C 20 74 68 65          the higher your _◘n, the
00002FC0  20 6D 6F 72 65 20 22 77  61 6C 6C 70 61 70 65 72  22 20 79 6F 75 20 67 65  74 2E 20 20 41 6C 73 6F   more "wallpaper" you get.  Also
00002FE0  2C 20 2D 08 2D 08 2D 08  2D 74 08 74 08 74 08 74  0A 20 20 20 20 20 20 20  20 20 20 70 72 69 6E 74  , -◘-◘-◘-t◘t◘t◘t◙          print
00003000  73 20 64 65 62 75 67 67  69 6E 67 20 69 6E 66 6F  72 6D 61 74 69 6F 6E 20  61 74 20 65 76 65 72 79  s debugging information at every
00003020  20 50 61 73 63 61 6C 20  74 6F 6B 65 6E 2C 20 2D  08 2D 08 2D 08 2D 42 08  42 08 42 08 42 5F 08 6E   Pascal token, -◘-◘-◘-B◘B◘B◘B_◘n
00003040  0A 20 20 20 20 20 20 20  20 20 20 65 6E 61 62 6C  65 73 20 6C 69 6E 65 2D  62 72 65 61 6B 65 72 20  ◙          enables line-breaker 
00003060  64 65 62 75 67 67 69 6E  67 2C 20 61 6E 64 20 2D  08 2D 08 2D 08 2D 43 08  43 08 43 08 43 5F 08 6E  debugging, and -◘-◘-◘-C◘C◘C◘C_◘n
00003080  20 65 6E 61 62 6C 65 73  20 63 6F 6D 6D 65 6E 74  0A 20 20 20 20 20 20 20  20 20 20 70 6C 61 63 65   enables comment◙          place
000030A0  6D 65 6E 74 20 64 65 62  75 67 67 69 6E 67 2E 0A  0A 20 20 20 20 20 43 08  43 08 43 08 43 48 08 48  ment debugging.◙◙     C◘C◘C◘CH◘H
000030C0  08 48 08 48 4F 08 4F 08  4F 08 4F 49 08 49 08 49  08 49 43 08 43 08 43 08  43 45 08 45 08 45 08 45  ◘H◘HO◘O◘O◘OI◘I◘I◘IC◘C◘C◘CE◘E◘E◘E
000030E0  20 4F 08 4F 08 4F 08 4F  46 08 46 08 46 08 46 20  53 08 53 08 53 08 53 4F  08 4F 08 4F 08 4F 55 08   O◘O◘O◘OF◘F◘F◘F S◘S◘S◘SO◘O◘O◘OU◘
00003100  55 08 55 08 55 52 08 52  08 52 08 52 43 08 43 08  43 08 43 45 08 45 08 45  08 45 20 4C 08 4C 08 4C  U◘U◘UR◘R◘R◘RC◘C◘C◘CE◘E◘E◘E L◘L◘L
00003120  08 4C 41 08 41 08 41 08  41 4E 08 4E 08 4E 08 4E  47 08 47 08 47 08 47 55  08 55 08 55 08 55 41 08  ◘LA◘A◘A◘AN◘N◘N◘NG◘G◘G◘GU◘U◘U◘UA◘
00003140  41 08 41 08 41 47 08 47  08 47 08 47 45 08 45 08  45 08 45 0A 20 20 20 20  20 20 20 20 20 20 54 68  A◘A◘AG◘G◘G◘GE◘E◘E◘E◙          Th
00003160  65 20 4C 08 4C 08 4C 08  4C 61 08 61 08 61 08 61  6E 08 6E 08 6E 08 6E 67  08 67 08 67 08 67 75 08  e L◘L◘L◘La◘a◘a◘an◘n◘n◘ng◘g◘g◘gu◘
00003180  75 08 75 08 75 61 08 61  08 61 08 61 67 08 67 08  67 08 67 65 08 65 08 65  08 65 20 63 6F 6E 66 69  u◘u◘ua◘a◘a◘ag◘g◘g◘ge◘e◘e◘e confi
000031A0  67 75 72 61 74 69 6F 6E  20 70 61 72 61 6D 65 74  65 72 20 6F 72 20 2D 08  2D 08 2D 08 2D 4C 08 4C  guration parameter or -◘-◘-◘-L◘L
000031C0  08 4C 08 4C 20 63 6F 6D  6D 61 6E 64 2D 6C 69 6E  65 0A 20 20 20 20 20 20  20 20 20 20 6F 70 74 69  ◘L◘L command-line◙          opti
000031E0  6F 6E 20 74 65 6C 6C 73  20 5F 08 70 5F 08 32 5F  08 63 20 77 68 69 63 68  20 50 61 73 63 61 6C 20  on tells _◘p_◘2_◘c which Pascal 
00003200  64 69 61 6C 65 63 74 20  74 6F 20 65 78 70 65 63  74 20 69 6E 20 74 68 65  20 69 6E 70 75 74 0A 20  dialect to expect in the input◙ 
00003220  20 20 20 20 20 20 20 20  20 66 69 6C 65 2E 20 20  41 6E 79 20 6C 61 6E 67  75 61 67 65 20 66 65 61           file.  Any language fea
00003240  74 75 72 65 73 20 77 68  69 63 68 20 64 6F 20 6E  6F 74 20 6F 76 65 72 6C  61 70 20 62 65 74 77 65  tures which do not overlap betwe
00003260  65 6E 0A 20 20 20 20 20  20 20 20 20 20 64 69 61  6C 65 63 74 73 20 61 72  65 20 73 75 70 70 6F 72  en◙          dialects are suppor
00003280  74 65 64 20 61 6C 6C 20  6F 66 20 74 68 65 20 74  69 6D 65 2E 20 20 54 68  65 20 4C 08 4C 08 4C 08  ted all of the time.  The L◘L◘L◘
000032A0  4C 61 08 61 08 61 08 61  6E 08 6E 08 6E 08 6E 67  08 67 08 67 08 67 75 08  75 08 75 08 75 61 08 61  La◘a◘a◘an◘n◘n◘ng◘g◘g◘gu◘u◘u◘ua◘a
000032C0  08 61 08 61 67 08 67 08  67 08 67 65 08 65 08 65  08 65 0A 20 20 20 20 20  20 20 20 20 20 70 61 72  ◘a◘ag◘g◘g◘ge◘e◘e◘e◙          par
000032E0  61 6D 65 74 65 72 20 69  73 20 63 6F 6E 73 75 6C  74 65 64 20 77 68 65 6E  20 61 20 73 79 6E 74 61  ameter is consulted when a synta
00003300  78 20 6F 72 20 75 73 61  67 65 20 69 73 20 64 65  74 65 63 74 65 64 0A 20  20 20 20 20 20 20 20 20  x or usage is detected◙         
00003320  20 74 68 61 74 20 68 61  73 20 64 69 66 66 65 72  65 6E 74 20 6D 65 61 6E  69 6E 67 73 20 69 6E 20   that has different meanings in 
00003340  74 77 6F 20 64 69 66 66  65 72 65 6E 74 20 64 69  61 6C 65 63 74 73 2C 20  61 6E 64 0A 20 20 20 20  two different dialects, and◙    
00003360  20 20 20 20 20 20 61 6C  73 6F 20 74 6F 20 64 65  74 65 72 6D 69 6E 65 20  64 65 66 61 75 6C 74 20        also to determine default 
00003380  76 61 6C 75 65 73 20 66  6F 72 20 76 61 72 69 6F  75 73 20 6F 74 68 65 72  0A 20 20 20 20 20 20 20  values for various other◙       
000033A0  20 20 20 74 72 61 6E 73  6C 61 74 69 6F 6E 20 70  61 72 61 6D 65 74 65 72  73 20 61 73 20 64 65 73     translation parameters as des
000033C0  63 72 69 62 65 64 20 62  65 6C 6F 77 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 54 68 65 20 66 6F 6C  cribed below.◙◙          The fol
000033E0  6C 6F 77 69 6E 67 20 6C  61 6E 67 75 61 67 65 20  77 6F 72 64 73 20 61 72  65 20 73 75 70 70 6F 72  lowing language words are suppor
00003400  74 65 64 20 62 79 20 5F  08 70 5F 08 32 5F 08 63  2E 20 4E 61 6D 65 73 20  61 72 65 0A 20 20 20 20  ted by _◘p_◘2_◘c. Names are◙    
00003420  20 20 20 20 20 20 63 61  73 65 2D 69 6E 73 65 6E  73 69 74 69 76 65 2E 0A  0A 20 20 20 20 20 20 20        case-insensitive.◙◙       
00003440  20 20 20 48 08 48 08 48  08 48 50 08 50 08 50 08  50 20 20 20 20 20 20 48  50 20 50 61 73 63 61 6C     H◘H◘H◘HP◘P◘P◘P      HP Pascal
00003460  2E 20 20 54 68 69 73 20  69 73 20 74 68 65 20 64  65 66 61 75 6C 74 20 6C  61 6E 67 75 61 67 65 2E  .  This is the default language.
00003480  20 20 41 6C 6C 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  66 65 61 74 75 72 65 73    All◙                  features
000034A0  20 6F 66 20 48 50 20 53  74 61 6E 64 61 72 64 20  50 61 73 63 61 6C 2C 20  74 68 65 20 50 61 73 63   of HP Standard Pascal, the Pasc
000034C0  61 6C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 57 6F 72  6B 73 74 61 74 69 6F 6E  al◙                  Workstation
000034E0  20 76 65 72 73 69 6F 6E  2C 20 61 72 65 20 73 75  70 70 6F 72 74 65 64 20  65 78 63 65 70 74 20 61   version, are supported except a
00003500  73 20 6E 6F 74 65 64 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 69 6E 20 42 55 47  s noted◙                  in BUG
00003520  53 20 62 65 6C 6F 77 2E  20 20 53 6F 6D 65 20 66  65 61 74 75 72 65 73 20  6F 66 20 4D 4F 44 43 41  S below.  Some features of MODCA
00003540  4C 2C 20 48 50 27 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 65 78 74 65 6E 64  L, HP's◙                  extend
00003560  65 64 20 50 61 73 63 61  6C 2C 20 61 72 65 20 61  6C 73 6F 20 73 75 70 70  6F 72 74 65 64 2E 20 20  ed Pascal, are also supported.  
00003580  54 68 69 73 20 69 73 20  61 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 73 75 70 65  This is a◙                  supe
000035A0  72 73 65 74 20 6F 66 20  49 53 4F 20 73 74 61 6E  64 61 72 64 20 50 61 73  63 61 6C 2C 20 69 6E 63  rset of ISO standard Pascal, inc
000035C0  6C 75 64 69 6E 67 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 63 6F 6E 66 6F 72 6D  luding◙                  conform
000035E0  61 6E 74 20 61 72 72 61  79 73 20 61 6E 64 20 70  72 6F 63 65 64 75 72 61  6C 20 70 61 72 61 6D 65  ant arrays and procedural parame
00003600  74 65 72 73 2E 0A 0A 0A  0A 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ters.◙◙◙◙◙                      
00003620  20 20 20 20 20 20 20 20  20 20 20 20 20 2D 20 34  20 2D 20 46 6F 72 6D 61  74 74 65 64 3A 20 20 46               - 4 - Formatted:  F
00003640  65 62 72 75 61 72 79 20  32 38 2C 20 31 39 39 31  0A 0A 0A 0A 0A 0A 0A 20  20 20 20 20 50 08 50 08  ebruary 28, 1991◙◙◙◙◙◙◙     P◘P◘
00003660  50 08 50 32 08 32 08 32  08 32 43 08 43 08 43 08  43 28 08 28 08 28 08 28  31 08 31 08 31 08 31 29  P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)
00003680  08 29 08 29 08 29 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 08  ◘)◘)◘)                        (◘
000036A0  28 08 28 08 28 6C 08 6C  08 6C 08 6C 6F 08 6F 08  6F 08 6F 63 08 63 08 63  08 63 61 08 61 08 61 08  (◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘
000036C0  61 6C 08 6C 08 6C 08 6C  29 08 29 08 29 08 29 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  al◘l◘l◘l)◘)◘)◘)                 
000036E0  20 20 20 20 20 50 08 50  08 50 08 50 32 08 32 08  32 08 32 43 08 43 08 43  08 43 28 08 28 08 28 08       P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘
00003700  28 31 08 31 08 31 08 31  29 08 29 08 29 08 29 0A  0A 0A 0A 20 20 20 20 20  20 20 20 20 20 48 08 48  (1◘1◘1◘1)◘)◘)◘)◙◙◙◙          H◘H
00003720  08 48 08 48 50 08 50 08  50 08 50 2D 08 2D 08 2D  08 2D 55 08 55 08 55 08  55 58 08 58 08 58 08 58  ◘H◘HP◘P◘P◘P-◘-◘-◘-U◘U◘U◘UX◘X◘X◘X
00003740  20 20 20 48 50 20 50 61  73 63 61 6C 2C 20 48 50  2D 55 58 20 76 65 72 73  69 6F 6E 2E 20 20 41 6C     HP Pascal, HP-UX version.  Al
00003760  6D 6F 73 74 20 69 64 65  6E 74 69 63 61 6C 20 74  6F 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  most identical to the◙          
00003780  20 20 20 20 20 20 20 20  22 48 50 22 20 64 69 61  6C 65 63 74 2E 0A 0A 20  20 20 20 20 20 20 20 20          "HP" dialect.◙◙         
000037A0  20 54 08 54 08 54 08 54  75 08 75 08 75 08 75 72  08 72 08 72 08 72 62 08  62 08 62 08 62 6F 08 6F   T◘T◘T◘Tu◘u◘u◘ur◘r◘r◘rb◘b◘b◘bo◘o
000037C0  08 6F 08 6F 20 20 20 54  75 72 62 6F 20 50 61 73  63 61 6C 20 35 2E 30 20  66 6F 72 20 74 68 65 20  ◘o◘o   Turbo Pascal 5.0 for the 
000037E0  49 42 4D 20 50 43 2E 20  20 46 65 77 20 63 6F 6E  66 6C 69 63 74 73 20 77  69 74 68 0A 20 20 20 20  IBM PC.  Few conflicts with◙    
00003800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 48 50  20 50 61 73 63 61 6C 2C  20 73 6F 20 74 68 65 20                HP Pascal, so the 
00003820  4C 08 4C 08 4C 08 4C 61  08 61 08 61 08 61 6E 08  6E 08 6E 08 6E 67 08 67  08 67 08 67 75 08 75 08  L◘L◘L◘La◘a◘a◘an◘n◘n◘ng◘g◘g◘gu◘u◘
00003840  75 08 75 61 08 61 08 61  08 61 67 08 67 08 67 08  67 65 08 65 08 65 08 65  20 70 61 72 61 6D 65 74  u◘ua◘a◘a◘ag◘g◘g◘ge◘e◘e◘e paramet
00003860  65 72 20 69 73 20 6E 6F  74 20 6F 66 74 65 6E 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  er is not often◙                
00003880  20 20 6E 65 65 64 65 64  20 66 6F 72 20 54 75 72  62 6F 2E 20 20 28 4D 6F  73 74 20 69 6D 70 6F 72    needed for Turbo.  (Most impor
000038A0  74 61 6E 74 20 69 73 20  74 68 61 74 20 74 68 65  20 54 75 72 62 6F 0A 20  20 20 20 20 20 20 20 20  tant is that the Turbo◙         
000038C0  20 20 20 20 20 20 20 20  20 61 6E 64 20 48 50 20  64 69 61 6C 65 63 74 73  20 75 73 65 20 31 36 20           and HP dialects use 16 
000038E0  61 6E 64 20 33 32 20 62  69 74 20 69 6E 74 65 67  65 72 73 2C 0A 20 20 20  20 20 20 20 20 20 20 20  and 32 bit integers,◙           
00003900  20 20 20 20 20 20 20 72  65 73 70 65 63 74 69 76  65 6C 79 2E 29 0A 0A 20  20 20 20 20 20 20 20 20         respectively.)◙◙         
00003920  20 55 08 55 08 55 08 55  43 08 43 08 43 08 43 53  08 53 08 53 08 53 44 08  44 08 44 08 44 20 20 20   U◘U◘U◘UC◘C◘C◘CS◘S◘S◘SD◘D◘D◘D   
00003940  20 55 43 53 44 20 50 61  73 63 61 6C 2E 20 20 53  69 6D 69 6C 61 72 20 74  6F 20 54 75 72 62 6F 20   UCSD Pascal.  Similar to Turbo 
00003960  69 6E 20 6D 61 6E 79 20  77 61 79 73 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 4D 08 4D 08 4D 08 4D  in many ways.◙◙          M◘M◘M◘M
00003980  50 08 50 08 50 08 50 57  08 57 08 57 08 57 20 20  20 20 20 4D 61 63 69 6E  74 6F 73 68 20 50 72 6F  P◘P◘P◘PW◘W◘W◘W     Macintosh Pro
000039A0  67 72 61 6D 6D 65 72 27  73 20 57 6F 72 6B 73 68  6F 70 20 50 61 73 63 61  6C 20 32 2E 30 2E 20 20  grammer's Workshop Pascal 2.0.  
000039C0  53 68 6F 75 6C 64 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 61 6C 73 6F 20 64 6F  Should◙                  also do
000039E0  20 61 20 70 72 65 74 74  79 20 67 6F 6F 64 20 6A  6F 62 20 66 6F 72 20 4C  69 67 68 74 73 70 65 65   a pretty good job for Lightspee
00003A00  64 20 50 61 73 63 61 6C  2E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 4F 62 6A 65  d Pascal.◙                  Obje
00003A20  63 74 20 50 61 73 63 61  6C 20 66 65 61 74 75 72  65 73 20 61 72 65 20 6E  6F 74 20 73 75 70 70 6F  ct Pascal features are not suppo
00003A40  72 74 65 64 2C 20 6E 6F  72 20 69 73 20 74 68 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  rted, nor is the◙               
00003A60  20 20 20 66 61 63 74 20  74 68 61 74 20 63 08 63  08 63 08 63 68 08 68 08  68 08 68 61 08 61 08 61     fact that c◘c◘c◘ch◘h◘h◘ha◘a◘a
00003A80  08 61 72 08 72 08 72 08  72 20 76 61 72 69 61 62  6C 65 73 20 61 72 65 20  73 6F 6D 65 74 69 6D 65  ◘ar◘r◘r◘r variables are sometime
00003AA0  73 20 73 74 6F 72 65 64  20 69 6E 20 31 36 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  s stored in 16◙                 
00003AC0  20 62 69 74 73 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 56 08 56 08 56 08  56 41 08 41 08 41 08 41   bits.◙◙          V◘V◘V◘VA◘A◘A◘A
00003AE0  58 08 58 08 58 08 58 20  20 20 20 20 56 41 58 2F  56 4D 53 20 50 61 73 63  61 6C 20 76 65 72 73 69  X◘X◘X◘X     VAX/VMS Pascal versi
00003B00  6F 6E 20 33 2E 35 2E 20  20 4D 6F 73 74 20 62 75  74 20 6E 6F 74 20 61 6C  6C 0A 20 20 20 20 20 20  on 3.5.  Most but not all◙      
00003B20  20 20 20 20 20 20 20 20  20 20 20 20 6C 61 6E 67  75 61 67 65 20 66 65 61  74 75 72 65 73 20 73 75              language features su
00003B40  70 70 6F 72 74 65 64 2E  20 20 54 68 69 73 20 68  61 73 20 6E 6F 74 20 79  65 74 20 62 65 65 6E 0A  pported.  This has not yet been◙
00003B60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 74 65 73 74 65 64  20 6F 6E 20 6C 61 72 67                    tested on larg
00003B80  65 20 70 72 6F 67 72 61  6D 73 2E 0A 0A 20 20 20  20 20 20 20 20 20 20 4F  08 4F 08 4F 08 4F 72 08  e programs.◙◙          O◘O◘O◘Or◘
00003BA0  72 08 72 08 72 65 08 65  08 65 08 65 67 08 67 08  67 08 67 6F 08 6F 08 6F  08 6F 6E 08 6E 08 6E 08  r◘r◘re◘e◘e◘eg◘g◘g◘go◘o◘o◘on◘n◘n◘
00003BC0  6E 20 20 4F 72 65 67 6F  6E 20 53 6F 66 74 77 61  72 65 20 50 61 73 63 61  6C 2F 32 2E 20 20 41 6C  n  Oregon Software Pascal/2.  Al
00003BE0  6C 20 66 65 61 74 75 72  65 73 20 69 6D 70 6C 65  6D 65 6E 74 65 64 2E 0A  0A 20 20 20 20 20 20 20  l features implemented.◙◙       
00003C00  20 20 20 42 08 42 08 42  08 42 65 08 65 08 65 08  65 72 08 72 08 72 08 72  6B 08 6B 08 6B 08 6B 20     B◘B◘B◘Be◘e◘e◘er◘r◘r◘rk◘k◘k◘k 
00003C20  20 20 20 42 65 72 6B 65  6C 65 79 20 50 61 73 63  61 6C 20 77 69 74 68 20  53 75 6E 20 65 78 74 65     Berkeley Pascal with Sun exte
00003C40  6E 73 69 6F 6E 73 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 4D 08 4D 08 4D  08 4D 6F 08 6F 08 6F 08  nsions.◙◙          M◘M◘M◘Mo◘o◘o◘
00003C60  6F 64 08 64 08 64 08 64  75 08 75 08 75 08 75 6C  08 6C 08 6C 08 6C 61 08  61 08 61 08 61 20 20 4D  od◘d◘d◘du◘u◘u◘ul◘l◘l◘la◘a◘a◘a  M
00003C80  6F 64 75 6C 61 2D 32 2E  20 20 42 61 73 65 64 20  6F 6E 20 57 69 72 74 68  27 73 20 5F 08 50 5F 08  odula-2.  Based on Wirth's _◘P_◘
00003CA0  72 5F 08 6F 5F 08 67 5F  08 72 5F 08 61 5F 08 6D  5F 08 6D 5F 08 69 5F 08  6E 5F 08 67 20 5F 08 69  r_◘o_◘g_◘r_◘a_◘m_◘m_◘i_◘n_◘g _◘i
00003CC0  5F 08 6E 20 5F 08 4D 5F  08 6F 5F 08 64 5F 08 75  5F 08 6C 5F 08 61 2D 5F  08 32 2C 0A 20 20 20 20  _◘n _◘M_◘o_◘d_◘u_◘l_◘a-_◘2,◙    
00003CE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 33 72  64 20 65 64 69 74 69 6F  6E 2E 20 20 50 72 6F 70                3rd edition.  Prop
00003D00  65 72 20 73 65 74 74 69  6E 67 20 6F 66 20 74 68  65 20 4C 08 4C 08 4C 08  4C 61 08 61 08 61 08 61  er setting of the L◘L◘L◘La◘a◘a◘a
00003D20  6E 08 6E 08 6E 08 6E 67  08 67 08 67 08 67 75 08  75 08 75 08 75 61 08 61  08 61 08 61 67 08 67 08  n◘n◘n◘ng◘g◘g◘gu◘u◘u◘ua◘a◘a◘ag◘g◘
00003D40  67 08 67 65 08 65 08 65  08 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 70 61 72  g◘ge◘e◘e◘e◙                  par
00003D60  61 6D 65 74 65 72 20 69  73 20 5F 08 6E 5F 08 6F  5F 08 74 20 6F 70 74 69  6F 6E 61 6C 2E 20 20 54  ameter is _◘n_◘o_◘t optional.  T
00003D80  72 61 6E 73 6C 61 74 69  6F 6E 20 77 69 6C 6C 20  62 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ranslation will be◙             
00003DA0  20 20 20 20 20 69 6E 63  6F 6D 70 6C 65 74 65 20  69 6E 20 6D 6F 73 74 20  63 61 73 65 73 2C 20 62       incomplete in most cases, b
00003DC0  75 74 20 73 68 6F 75 6C  64 20 62 65 20 67 6F 6F  64 20 65 6E 6F 75 67 68  0A 20 20 20 20 20 20 20  ut should be good enough◙       
00003DE0  20 20 20 20 20 20 20 20  20 20 20 74 6F 20 77 6F  72 6B 20 77 69 74 68 2E  20 20 53 74 72 75 63 74             to work with.  Struct
00003E00  75 72 65 20 6F 66 20 6C  6F 63 61 6C 20 73 75 62  2D 6D 6F 64 75 6C 65 73  20 69 73 0A 20 20 20 20  ure of local sub-modules is◙    
00003E20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 73  73 65 6E 74 69 61 6C 6C  79 20 69 67 6E 6F 72 65                essentially ignore
00003E40  64 3B 20 6C 69 6B 65 2D  6E 61 6D 65 64 20 69 64  65 6E 74 69 66 69 65 72  73 20 6D 61 79 20 62 65  d; like-named identifiers may be
00003E60  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 63 6F 6E 66 75  73 65 64 2E 20 20 54 79  ◙                  confused.  Ty
00003E80  70 65 20 57 4F 52 44 20  69 73 20 74 72 61 6E 73  6C 61 74 65 64 20 61 73  20 61 6E 20 69 6E 74 65  pe WORD is translated as an inte
00003EA0  67 65 72 2C 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 62  75 74 20 74 79 70 65 20  ger,◙                  but type 
00003EC0  41 44 44 52 45 53 53 20  69 73 20 74 72 61 6E 73  6C 61 74 65 64 20 61 73  20 63 68 61 72 20 2A 20  ADDRESS is translated as char * 
00003EE0  6F 72 20 76 6F 69 64 20  2A 3B 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 69  or void *;◙                  thi
00003F00  73 20 6D 61 79 20 63 61  75 73 65 20 69 6E 63 6F  6E 73 69 73 74 65 6E 63  69 65 73 20 69 6E 20 74  s may cause inconsistencies in t
00003F20  68 65 20 6F 75 74 70 75  74 20 63 6F 64 65 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  he output code.◙◙               
00003F40  20 20 20 4D 6F 64 75 6C  61 2D 32 20 6D 6F 64 75  6C 65 73 20 68 61 76 65  20 74 77 6F 20 70 61 72     Modula-2 modules have two par
00003F60  74 73 20 69 6E 20 73 65  70 61 72 61 74 65 20 66  69 6C 65 73 2E 0A 20 20  20 20 20 20 20 20 20 20  ts in separate files.◙          
00003F80  20 20 20 20 20 20 20 20  53 75 70 70 6F 73 65 20  74 68 65 73 65 20 61 72  65 20 63 61 6C 6C 65 64          Suppose these are called
00003FA0  20 5F 08 66 5F 08 6F 5F  08 6F 2E 5F 08 64 5F 08  65 5F 08 66 20 28 64 65  66 69 6E 69 74 69 6F 6E   _◘f_◘o_◘o._◘d_◘e_◘f (definition
00003FC0  20 70 61 72 74 29 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 61 6E 64 20 5F 08 66   part)◙                  and _◘f
00003FE0  5F 08 6F 5F 08 6F 2E 5F  08 6D 5F 08 6F 5F 08 64  20 28 69 6D 70 6C 65 6D  65 6E 74 61 74 69 6F 6E  _◘o_◘o._◘m_◘o_◘d (implementation
00004000  20 70 61 72 74 29 20 66  6F 72 20 6D 6F 64 75 6C  65 20 5F 08 66 5F 08 6F  5F 08 6F 2E 0A 20 20 20   part) for module _◘f_◘o_◘o.◙   
00004020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  68 65 6E 20 61 20 70 61  74 74 65 72 6E 20 6C 69                 Then a pattern li
00004040  6B 65 20 25 08 25 08 25  08 25 73 08 73 08 73 08  73 2E 08 2E 08 2E 08 2E  64 08 64 08 64 08 64 65  ke %◘%◘%◘%s◘s◘s◘s.◘.◘.◘.d◘d◘d◘de
00004060  08 65 08 65 08 65 66 08  66 08 66 08 66 20 6D 75  73 74 20 62 65 20 69 6E  63 6C 75 64 65 64 20 69  ◘e◘e◘ef◘f◘f◘f must be included i
00004080  6E 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  49 08 49 08 49 08 49 6D  n the◙                  I◘I◘I◘Im
000040A0  08 6D 08 6D 08 6D 70 08  70 08 70 08 70 6F 08 6F  08 6F 08 6F 72 08 72 08  72 08 72 74 08 74 08 74  ◘m◘m◘mp◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t◘t
000040C0  08 74 44 08 44 08 44 08  44 69 08 69 08 69 08 69  72 08 72 08 72 08 72 20  6C 69 73 74 2C 20 61 6E  ◘tD◘D◘D◘Di◘i◘i◘ir◘r◘r◘r list, an
000040E0  64 20 4C 08 4C 08 4C 08  4C 69 08 69 08 69 08 69  62 08 62 08 62 08 62 72  08 72 08 72 08 72 61 08  d L◘L◘L◘Li◘i◘i◘ib◘b◘b◘br◘r◘r◘ra◘
00004100  61 08 61 08 61 72 08 72  08 72 08 72 79 08 79 08  79 08 79 46 08 46 08 46  08 46 69 08 69 08 69 08  a◘a◘ar◘r◘r◘ry◘y◘y◘yF◘F◘F◘Fi◘i◘i◘
00004120  69 6C 08 6C 08 6C 08 6C  65 08 65 08 65 08 65 20  6D 75 73 74 20 62 65 20  63 68 61 6E 67 65 64 20  il◘l◘l◘le◘e◘e◘e must be changed 
00004140  74 6F 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 72 65 66  65 72 20 74 6F 20 5F 08  to◙                  refer to _◘
00004160  73 5F 08 79 5F 08 73 5F  08 74 5F 08 65 5F 08 6D  2E 5F 08 6D 5F 08 32 20  69 6E 73 74 65 61 64 20  s_◘y_◘s_◘t_◘e_◘m._◘m_◘2 instead 
00004180  6F 66 20 5F 08 73 5F 08  79 5F 08 73 5F 08 74 5F  08 65 5F 08 6D 2E 5F 08  69 5F 08 6D 5F 08 70 2E  of _◘s_◘y_◘s_◘t_◘e_◘m._◘i_◘m_◘p.
000041A0  20 54 6F 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 72  61 6E 73 6C 61 74 65 20   To◙                  translate 
000041C0  74 68 65 20 64 65 66 69  6E 69 74 69 6F 6E 20 70  61 72 74 2C 20 67 69 76  65 20 74 68 65 20 63 6F  the definition part, give the co
000041E0  6D 6D 61 6E 64 0A 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 70 32  mmand◙◙                       p2
00004200  63 20 66 6F 6F 2E 64 65  66 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 6F 20  c foo.def◙◙                  to 
00004220  74 72 61 6E 73 6C 61 74  65 20 74 68 65 20 64 65  66 69 6E 69 74 69 6F 6E  20 70 61 72 74 20 69 6E  translate the definition part in
00004240  74 6F 20 66 69 6C 65 73  20 5F 08 66 5F 08 6F 5F  08 6F 2E 5F 08 68 0A 20  20 20 20 20 20 20 20 20  to files _◘f_◘o_◘o._◘h◙         
00004260  20 20 20 20 20 20 20 20  20 61 6E 64 20 5F 08 66  5F 08 6F 5F 08 6F 2E 5F  08 63 3B 20 74 68 65 20           and _◘f_◘o_◘o._◘c; the 
00004280  6C 61 74 74 65 72 20 77  69 6C 6C 20 75 73 75 61  6C 6C 79 20 62 65 20 65  6D 70 74 79 2E 20 20 54  latter will usually be empty.  T
000042A0  68 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 63 6F 6D  6D 61 6E 64 0A 0A 20 20  he◙                  command◙◙  
000042C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 70 32 63  20 2D 73 20 66 6F 6F 2E                       p2c -s foo.
000042E0  64 65 66 20 66 6F 6F 2E  6D 6F 64 0A 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 77  def foo.mod◙◙                  w
00004300  69 6C 6C 20 74 72 61 6E  73 6C 61 74 65 20 74 68  65 20 69 6D 70 6C 65 6D  65 6E 74 61 74 69 6F 6E  ill translate the implementation
00004320  20 70 61 72 74 20 69 6E  74 6F 20 66 69 6C 65 0A  0A 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20   part into file◙◙◙◙             
00004340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2D 20  35 20 2D 20 46 6F 72 6D                        - 5 - Form
00004360  61 74 74 65 64 3A 20 20  46 65 62 72 75 61 72 79  20 32 38 2C 20 31 39 39  31 0A 0A 0A 0A 0A 0A 0A  atted:  February 28, 1991◙◙◙◙◙◙◙
00004380  20 20 20 20 20 50 08 50  08 50 08 50 32 08 32 08  32 08 32 43 08 43 08 43  08 43 28 08 28 08 28 08       P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘
000043A0  28 31 08 31 08 31 08 31  29 08 29 08 29 08 29 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  (1◘1◘1◘1)◘)◘)◘)                 
000043C0  20 20 20 20 20 20 20 28  08 28 08 28 08 28 6C 08  6C 08 6C 08 6C 6F 08 6F  08 6F 08 6F 63 08 63 08         (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘
000043E0  63 08 63 61 08 61 08 61  08 61 6C 08 6C 08 6C 08  6C 29 08 29 08 29 08 29  20 20 20 20 20 20 20 20  c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)        
00004400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 50 08  50 08 50 08 50 32 08 32  08 32 08 32 43 08 43 08                P◘P◘P◘P2◘2◘2◘2C◘C◘
00004420  43 08 43 28 08 28 08 28  08 28 31 08 31 08 31 08  31 29 08 29 08 29 08 29  0A 0A 0A 0A 20 20 20 20  C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙    
00004440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 5F 08  66 5F 08 6F 5F 08 6F 2E  5F 08 63 2E 0A 0A 20 20                _◘f_◘o_◘o._◘c.◙◙  
00004460  20 20 20 20 20 20 20 20  45 76 65 6E 20 69 66 20  61 6C 6C 20 6C 61 6E 67  75 61 67 65 20 66 65 61          Even if all language fea
00004480  74 75 72 65 73 20 61 72  65 20 73 75 70 70 6F 72  74 65 64 20 66 6F 72 20  61 20 64 69 61 6C 65 63  tures are supported for a dialec
000044A0  74 2C 0A 20 20 20 20 20  20 20 20 20 20 73 6F 6D  65 20 70 72 65 64 65 66  69 6E 65 64 20 66 75 6E  t,◙          some predefined fun
000044C0  63 74 69 6F 6E 73 20 6D  61 79 20 62 65 20 6F 6D  69 74 74 65 64 2E 20 20  49 6E 20 74 68 65 73 65  ctions may be omitted.  In these
000044E0  20 63 61 73 65 73 2C 0A  20 20 20 20 20 20 20 20  20 20 74 68 65 20 66 75  6E 63 74 69 6F 6E 20 63   cases,◙          the function c
00004500  61 6C 6C 20 77 69 6C 6C  20 62 65 20 74 72 61 6E  73 6C 61 74 65 64 20 6C  69 74 65 72 61 6C 6C 79  all will be translated literally
00004520  20 69 6E 74 6F 20 43 20  77 69 74 68 20 61 0A 20  20 20 20 20 20 20 20 20  20 77 61 72 6E 69 6E 67   into C with a◙          warning
00004540  2E 20 20 53 6F 6D 65 20  68 61 6E 64 20 6D 6F 64  69 66 69 63 61 74 69 6F  6E 20 6D 61 79 20 62 65  .  Some hand modification may be
00004560  20 72 65 71 75 69 72 65  64 2E 0A 0A 20 20 20 20  20 43 08 43 08 43 08 43  4F 08 4F 08 4F 08 4F 4E   required.◙◙     C◘C◘C◘CO◘O◘O◘ON
00004580  08 4E 08 4E 08 4E 46 08  46 08 46 08 46 49 08 49  08 49 08 49 47 08 47 08  47 08 47 55 08 55 08 55  ◘N◘N◘NF◘F◘F◘FI◘I◘I◘IG◘G◘G◘GU◘U◘U
000045A0  08 55 52 08 52 08 52 08  52 41 08 41 08 41 08 41  54 08 54 08 54 08 54 49  08 49 08 49 08 49 4F 08  ◘UR◘R◘R◘RA◘A◘A◘AT◘T◘T◘TI◘I◘I◘IO◘
000045C0  4F 08 4F 08 4F 4E 08 4E  08 4E 08 4E 20 50 08 50  08 50 08 50 41 08 41 08  41 08 41 52 08 52 08 52  O◘O◘ON◘N◘N◘N P◘P◘P◘PA◘A◘A◘AR◘R◘R
000045E0  08 52 41 08 41 08 41 08  41 4D 08 4D 08 4D 08 4D  45 08 45 08 45 08 45 54  08 54 08 54 08 54 45 08  ◘RA◘A◘A◘AM◘M◘M◘ME◘E◘E◘ET◘T◘T◘TE◘
00004600  45 08 45 08 45 52 08 52  08 52 08 52 53 08 53 08  53 08 53 0A 20 20 20 20  20 20 20 20 20 20 5F 08  E◘E◘ER◘R◘R◘RS◘S◘S◘S◙          _◘
00004620  50 5F 08 32 5F 08 63 20  69 73 20 68 69 67 68 6C  79 20 63 6F 6E 66 69 67  75 72 61 62 6C 65 2E 20  P_◘2_◘c is highly configurable. 
00004640  20 54 68 65 20 64 65 66  61 75 6C 74 73 20 61 72  65 20 73 75 69 74 61 62  6C 65 20 66 6F 72 0A 20   The defaults are suitable for◙ 
00004660  20 20 20 20 20 20 20 20  20 6D 6F 73 74 20 61 70  70 6C 69 63 61 74 69 6F  6E 73 2C 20 62 75 74 20           most applications, but 
00004680  63 75 73 74 6F 6D 69 7A  69 6E 67 20 74 68 65 73  65 20 70 61 72 61 6D 65  74 65 72 73 20 77 69 6C  customizing these parameters wil
000046A0  6C 0A 20 20 20 20 20 20  20 20 20 20 68 65 6C 70  20 79 6F 75 20 67 65 74  20 74 68 65 20 62 65 73  l◙          help you get the bes
000046C0  74 20 70 6F 73 73 69 62  6C 65 20 74 72 61 6E 73  6C 61 74 69 6F 6E 2E 20  20 53 69 6E 63 65 20 74  t possible translation.  Since t
000046E0  68 65 0A 20 20 20 20 20  20 20 20 20 20 6F 75 74  70 75 74 20 6F 66 20 5F  08 70 5F 08 32 5F 08 63  he◙          output of _◘p_◘2_◘c
00004700  20 69 73 20 69 6E 74 65  6E 64 65 64 20 74 6F 20  62 65 20 75 73 65 64 20  61 73 20 68 75 6D 61 6E   is intended to be used as human
00004720  2D 6D 61 69 6E 74 61 69  6E 61 62 6C 65 0A 20 20  20 20 20 20 20 20 20 20  73 6F 75 72 63 65 20 63  -maintainable◙          source c
00004740  6F 64 65 2C 20 74 68 65  72 65 20 61 72 65 20 6D  61 6E 79 20 70 61 72 61  6D 65 74 65 72 73 20 66  ode, there are many parameters f
00004760  6F 72 20 64 65 73 63 72  69 62 69 6E 67 20 74 68  65 0A 20 20 20 20 20 20  20 20 20 20 63 6F 64 69  or describing the◙          codi
00004780  6E 67 20 73 74 79 6C 65  20 61 6E 64 20 63 6F 6E  76 65 6E 74 69 6F 6E 73  20 79 6F 75 20 70 72 65  ng style and conventions you pre
000047A0  66 65 72 2E 20 20 4F 74  68 65 72 73 20 67 69 76  65 20 68 69 6E 74 73 0A  20 20 20 20 20 20 20 20  fer.  Others give hints◙        
000047C0  20 20 61 62 6F 75 74 20  79 6F 75 72 20 70 72 6F  67 72 61 6D 20 74 68 61  74 20 68 65 6C 70 20 5F    about your program that help _
000047E0  08 70 5F 08 32 5F 08 63  20 74 6F 20 67 65 6E 65  72 61 74 65 20 6D 6F 72  65 20 63 6F 72 72 65 63  ◘p_◘2_◘c to generate more correc
00004800  74 2C 0A 20 20 20 20 20  20 20 20 20 20 65 66 66  69 63 69 65 6E 74 2C 20  6F 72 20 72 65 61 64 61  t,◙          efficient, or reada
00004820  62 6C 65 20 63 6F 64 65  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 54 68 65  20 5F 08 70 5F 08 32 5F  ble code.◙◙          The _◘p_◘2_
00004840  08 63 5F 08 72 5F 08 63  20 66 69 6C 65 73 20 63  6F 6E 74 61 69 6E 20 61  20 6C 69 73 74 20 6F 66  ◘c_◘r_◘c files contain a list of
00004860  20 70 61 72 61 6D 65 74  65 72 73 2C 20 6F 6E 65  20 70 65 72 20 6C 69 6E  65 2E 0A 20 20 20 20 20   parameters, one per line.◙     
00004880  20 20 20 20 20 54 68 65  20 73 79 73 74 65 6D 20  63 6F 6E 66 69 67 75 72  61 74 69 6F 6E 20 66 69       The system configuration fi
000048A0  6C 65 2C 20 77 68 69 63  68 20 6D 61 79 20 62 65  20 76 69 65 77 65 64 20  75 73 69 6E 67 20 74 68  le, which may be viewed using th
000048C0  65 0A 20 20 20 20 20 20  20 20 20 20 2D 08 2D 08  2D 08 2D 69 08 69 08 69  08 69 20 6F 70 74 69 6F  e◙          -◘-◘-◘-i◘i◘i◘i optio
000048E0  6E 20 74 6F 20 5F 08 70  5F 08 32 5F 08 63 2C 20  73 65 72 76 65 73 20 61  73 20 61 6E 20 65 78 61  n to _◘p_◘2_◘c, serves as an exa
00004900  6D 70 6C 65 20 6F 66 20  74 68 65 20 70 72 6F 70  65 72 20 66 6F 72 6D 61  74 2E 0A 20 20 20 20 20  mple of the proper format.◙     
00004920  20 20 20 20 20 50 61 72  61 6D 65 74 65 72 20 6E  61 6D 65 73 20 61 72 65  20 63 61 73 65 2D 69 6E       Parameter names are case-in
00004940  73 65 6E 73 69 74 69 76  65 2E 20 20 49 66 20 61  20 70 61 72 61 6D 65 74  65 72 20 6E 61 6D 65 0A  sensitive.  If a parameter name◙
00004960  20 20 20 20 20 20 20 20  20 20 6F 63 63 75 72 73  20 65 78 61 63 74 6C 79  20 6F 6E 63 65 20 69 6E            occurs exactly once in
00004980  20 74 68 65 20 73 79 73  74 65 6D 20 5F 08 70 5F  08 32 5F 08 63 5F 08 72  5F 08 63 2C 20 74 68 69   the system _◘p_◘2_◘c_◘r_◘c, thi
000049A0  73 20 69 6E 64 69 63 61  74 65 73 20 74 68 61 74  0A 20 20 20 20 20 20 20  20 20 20 69 74 20 6D 75  s indicates that◙          it mu
000049C0  73 74 20 68 61 76 65 20  61 20 75 6E 69 71 75 65  20 76 61 6C 75 65 20 61  6E 64 20 74 68 65 20 6C  st have a unique value and the l
000049E0  61 73 74 20 76 61 6C 75  65 20 67 69 76 65 6E 20  74 6F 20 69 74 0A 20 20  20 20 20 20 20 20 20 20  ast value given to it◙          
00004A00  62 79 20 74 68 65 20 63  6F 6E 66 69 67 75 72 61  74 69 6F 6E 20 66 69 6C  65 73 20 69 73 20 75 73  by the configuration files is us
00004A20  65 64 2E 20 20 4F 74 68  65 72 20 70 61 72 61 6D  65 74 65 72 73 20 61 72  65 0A 20 20 20 20 20 20  ed.  Other parameters are◙      
00004A40  20 20 20 20 77 72 69 74  74 65 6E 20 73 65 76 65  72 61 6C 20 74 69 6D 65  73 20 69 6E 20 61 20 72      written several times in a r
00004A60  6F 77 3B 20 74 68 65 73  65 20 61 72 65 20 6C 69  73 74 73 20 74 6F 20 77  68 69 63 68 0A 20 20 20  ow; these are lists to which◙   
00004A80  20 20 20 20 20 20 20 65  61 63 68 20 63 6F 6E 66  69 67 75 72 61 74 69 6F  6E 20 6C 69 6E 65 20 61         each configuration line a
00004AA0  64 64 73 20 61 6E 20 65  6E 74 72 79 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 4D 61 6E 79 20 5F 08  dds an entry.◙◙          Many _◘
00004AC0  70 5F 08 32 5F 08 63 5F  08 72 5F 08 63 20 6F 70  74 69 6F 6E 73 20 74 61  6B 65 20 61 20 6E 75 6D  p_◘2_◘c_◘r_◘c options take a num
00004AE0  65 72 69 63 20 76 61 6C  75 65 20 6F 66 20 30 20  6F 72 20 31 2C 20 72 6F  75 67 68 6C 79 0A 20 20  eric value of 0 or 1, roughly◙  
00004B00  20 20 20 20 20 20 20 20  63 6F 72 72 65 73 70 6F  6E 64 69 6E 67 20 74 6F  20 22 6E 6F 22 20 6F 72          corresponding to "no" or
00004B20  20 22 79 65 73 2E 22 20  20 53 6F 6D 65 74 69 6D  65 73 20 61 20 62 6C 61  6E 6B 20 76 61 6C 75 65   "yes."  Sometimes a blank value
00004B40  20 6F 72 0A 20 20 20 20  20 20 20 20 20 20 74 68  65 20 76 61 6C 75 65 20  22 64 08 64 08 64 08 64   or◙          the value "d◘d◘d◘d
00004B60  65 08 65 08 65 08 65 66  08 66 08 66 08 66 22 20  63 6F 72 72 65 73 70 6F  6E 64 73 20 74 6F 20 61  e◘e◘e◘ef◘f◘f◘f" corresponds to a
00004B80  6E 20 69 6E 74 65 72 6D  65 64 69 61 74 65 20 22  6D 61 79 62 65 22 0A 20  20 20 20 20 20 20 20 20  n intermediate "maybe"◙         
00004BA0  20 73 74 61 74 65 2E 20  20 46 6F 72 20 65 78 61  6D 70 6C 65 2C 20 74 68  65 20 73 74 79 6C 69 73   state.  For example, the stylis
00004BC0  74 69 63 20 6F 70 74 69  6F 6E 20 45 08 45 08 45  08 45 78 08 78 08 78 08  78 74 08 74 08 74 08 74  tic option E◘E◘E◘Ex◘x◘x◘xt◘t◘t◘t
00004BE0  72 08 72 08 72 08 72 61  08 61 08 61 08 61 50 08  50 08 50 08 50 61 08 61  08 61 08 61 72 08 72 08  r◘r◘r◘ra◘a◘a◘aP◘P◘P◘Pa◘a◘a◘ar◘r◘
00004C00  72 08 72 65 08 65 08 65  08 65 6E 08 6E 08 6E 08  6E 73 08 73 08 73 08 73  0A 20 20 20 20 20 20 20  r◘re◘e◘e◘en◘n◘n◘ns◘s◘s◘s◙       
00004C20  20 20 20 73 77 69 74 63  68 65 73 20 62 65 74 77  65 65 6E 20 63 6F 70 69  6F 75 73 20 6F 72 20 6D     switches between copious or m
00004C40  69 6E 69 6D 61 6C 20 70  61 72 65 6E 74 68 65 73  65 73 20 69 6E 0A 20 20  20 20 20 20 20 20 20 20  inimal parentheses in◙          
00004C60  65 78 70 72 65 73 73 69  6F 6E 73 2C 20 77 69 74  68 20 74 68 65 20 64 65  66 61 75 6C 74 20 62 65  expressions, with the default be
00004C80  69 6E 67 20 61 20 6E 69  63 65 20 63 6F 6D 70 72  6F 6D 69 73 65 0A 20 20  20 20 20 20 20 20 20 20  ing a nice compromise◙          
00004CA0  69 6E 74 65 6E 64 65 64  20 74 6F 20 62 65 20 62  65 73 74 20 66 6F 72 20  72 65 61 64 65 72 73 20  intended to be best for readers 
00004CC0  77 69 74 68 20 61 6E 20  61 76 65 72 61 67 65 20  6B 6E 6F 77 6C 65 64 67  65 20 6F 66 0A 20 20 20  with an average knowledge of◙   
00004CE0  20 20 20 20 20 20 20 43  20 6F 70 65 72 61 74 6F  72 20 70 72 65 63 65 64  65 6E 63 65 73 2E 0A 0A         C operator precedences.◙◙
00004D00  20 20 20 20 20 20 20 20  20 20 43 6F 6E 66 69 67  75 72 61 74 69 6F 6E 20  6F 70 74 69 6F 6E 73 20            Configuration options 
00004D20  6D 61 79 20 61 6C 73 6F  20 62 65 20 65 6D 62 65  64 64 65 64 20 69 6E 20  74 68 65 20 73 6F 75 72  may also be embedded in the sour
00004D40  63 65 0A 20 20 20 20 20  20 20 20 20 20 66 69 6C  65 20 69 6E 20 74 68 65  20 66 6F 72 6D 20 6F 66  ce◙          file in the form of
00004D60  20 50 61 73 63 61 6C 20  63 6F 6D 6D 65 6E 74 73  3A 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20   Pascal comments:◙◙             
00004D80  20 20 7B 53 68 6F 72 74  4F 70 74 3D 30 7D 20 7B  41 76 6F 69 64 4E 61 6D  65 3D 66 72 65 64 7D 0A    {ShortOpt=0} {AvoidName=fred}◙
00004DA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7B  46 75 6E 63 4D 61 63 72  6F 20 73 6C 6F 70 65 28                 {FuncMacro slope(
00004DC0  78 2C 79 29 3D 61 74 61  6E 32 28 79 2C 78 29 2A  52 61 64 44 65 67 7D 0A  0A 20 20 20 20 20 20 20  x,y)=atan2(y,x)*RadDeg}◙◙       
00004DE0  20 20 20 64 69 73 61 62  6C 65 73 20 61 75 74 6F  6D 61 74 69 63 20 73 68  6F 72 74 2D 63 69 72 63     disables automatic short-circ
00004E00  75 69 74 69 6E 67 20 6F  66 20 61 08 61 08 61 08  61 6E 08 6E 08 6E 08 6E  64 08 64 08 64 08 64 20  uiting of a◘a◘a◘an◘n◘n◘nd◘d◘d◘d 
00004E20  61 6E 64 20 6F 08 6F 08  6F 08 6F 72 08 72 08 72  08 72 0A 20 20 20 20 20  20 20 20 20 20 65 78 70  and o◘o◘o◘or◘r◘r◘r◙          exp
00004E40  72 65 73 73 69 6F 6E 73  2C 20 61 64 64 73 20 22  5F 08 66 5F 08 72 5F 08  65 5F 08 64 22 20 74 6F  ressions, adds "_◘f_◘r_◘e_◘d" to
00004E60  20 74 68 65 20 6C 69 73  74 20 6F 66 20 6E 61 6D  65 73 20 74 6F 20 61 76  6F 69 64 20 75 73 69 6E   the list of names to avoid usin
00004E80  67 0A 20 20 20 20 20 20  20 20 20 20 69 6E 20 67  65 6E 65 72 61 74 65 64  20 43 20 63 6F 64 65 2C  g◙          in generated C code,
00004EA0  20 61 6E 64 20 64 65 66  69 6E 65 73 20 61 20 73  70 65 63 69 61 6C 20 74  72 61 6E 73 6C 61 74 69   and defines a special translati
00004EC0  6F 6E 20 66 6F 72 0A 20  20 20 20 20 20 20 20 20  20 74 68 65 20 50 61 73  63 61 6C 20 70 72 6F 67  on for◙          the Pascal prog
00004EE0  72 61 6D 27 73 20 5F 08  73 5F 08 6C 5F 08 6F 5F  08 70 5F 08 65 20 66 75  6E 63 74 69 6F 6E 20 75  ram's _◘s_◘l_◘o_◘p_◘e function u
00004F00  73 69 6E 67 20 74 68 65  20 73 74 61 6E 64 61 72  64 20 43 0A 20 20 20 20  20 20 20 20 20 20 5F 08  sing the standard C◙          _◘
00004F20  61 5F 08 74 5F 08 61 5F  08 6E 5F 08 32 20 66 75  6E 63 74 69 6F 6E 20 61  6E 64 20 61 20 63 6F 6E  a_◘t_◘a_◘n_◘2 function and a con
00004F40  73 74 61 6E 74 20 5F 08  52 5F 08 61 5F 08 64 5F  08 44 5F 08 65 5F 08 67  20 70 72 65 73 75 6D 61  stant _◘R_◘a_◘d_◘D_◘e_◘g presuma
00004F60  62 6C 79 20 64 65 66 69  6E 65 64 20 69 6E 0A 20  20 20 20 20 20 20 20 20  20 74 68 65 20 70 72 6F  bly defined in◙          the pro
00004F80  67 72 61 6D 2E 20 20 57  68 69 74 65 73 70 61 63  65 20 69 73 20 67 65 6E  65 72 61 6C 6C 79 20 6E  gram.  Whitespace is generally n
00004FA0  6F 74 20 61 6C 6C 6F 77  65 64 20 69 6E 0A 20 20  20 20 20 20 20 20 20 20  65 6D 62 65 64 64 65 64  ot allowed in◙          embedded
00004FC0  20 70 61 72 61 6D 65 74  65 72 73 2E 20 20 54 68  65 20 60 3D 27 20 73 69  67 6E 20 69 73 20 72 65   parameters.  The `=' sign is re
00004FE0  71 75 69 72 65 64 20 66  6F 72 20 65 6D 62 65 64  64 65 64 0A 20 20 20 20  20 20 20 20 20 20 70 61  quired for embedded◙          pa
00005000  72 61 6D 65 74 65 72 73  2C 20 74 68 6F 75 67 68  20 69 74 20 69 73 20 6F  70 74 69 6F 6E 61 6C 20  rameters, though it is optional 
00005020  69 6E 20 5F 08 70 5F 08  32 5F 08 63 5F 08 72 5F  08 63 20 66 69 6C 65 73  2E 20 20 43 6F 6D 6D 65  in _◘p_◘2_◘c_◘r_◘c files.  Comme
00005040  6E 74 73 0A 20 20 20 20  20 20 20 20 20 20 77 69  74 68 69 6E 20 65 6D 62  65 64 64 65 64 20 70 61  nts◙          within embedded pa
00005060  72 61 6D 65 74 65 72 73  20 61 72 65 20 64 65 6C  69 6D 69 74 65 64 20 62  79 20 60 23 23 27 2E 20  rameters are delimited by `##'. 
00005080  20 4E 75 6D 65 72 69 63  0A 20 20 20 20 20 20 20  20 20 20 70 61 72 61 6D  65 74 65 72 73 20 6D 61   Numeric◙          parameters ma
000050A0  79 20 72 65 70 6C 61 63  65 20 60 3D 27 20 77 69  74 68 20 60 2B 27 20 6F  72 20 60 2D 27 20 74 6F  y replace `=' with `+' or `-' to
000050C0  20 69 6E 63 72 65 61 73  65 20 6F 72 0A 0A 0A 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   increase or◙◙◙◙                
000050E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 2D 20 36 20 2D  20 46 6F 72 6D 61 74 74                     - 6 - Formatt
00005100  65 64 3A 20 20 46 65 62  72 75 61 72 79 20 32 38  2C 20 31 39 39 31 0A 0A  0A 0A 0A 0A 0A 20 20 20  ed:  February 28, 1991◙◙◙◙◙◙◙   
00005120  20 20 50 08 50 08 50 08  50 32 08 32 08 32 08 32  43 08 43 08 43 08 43 28  08 28 08 28 08 28 31 08    P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘
00005140  31 08 31 08 31 29 08 29  08 29 08 29 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  1◘1◘1)◘)◘)◘)                    
00005160  20 20 20 20 28 08 28 08  28 08 28 6C 08 6C 08 6C  08 6C 6F 08 6F 08 6F 08  6F 63 08 63 08 63 08 63      (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘c
00005180  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 29 08  29 08 29 08 29 20 20 20  20 20 20 20 20 20 20 20  a◘a◘a◘al◘l◘l◘l)◘)◘)◘)           
000051A0  20 20 20 20 20 20 20 20  20 20 20 50 08 50 08 50  08 50 32 08 32 08 32 08  32 43 08 43 08 43 08 43             P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C
000051C0  28 08 28 08 28 08 28 31  08 31 08 31 08 31 29 08  29 08 29 08 29 0A 0A 0A  0A 20 20 20 20 20 20 20  (◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙       
000051E0  20 20 20 64 65 63 72 65  61 73 65 20 74 68 65 20  70 61 72 61 6D 65 74 65  72 3B 20 6C 69 73 74 2D     decrease the parameter; list-
00005200  62 61 73 65 64 20 70 61  72 61 6D 65 74 65 72 73  20 6D 61 79 20 75 73 65  20 60 2D 27 20 74 6F 0A  based parameters may use `-' to◙
00005220  20 20 20 20 20 20 20 20  20 20 72 65 6D 6F 76 65  20 61 20 6E 61 6D 65 20  66 72 6F 6D 20 61 20 6C            remove a name from a l
00005240  69 73 74 20 72 61 74 68  65 72 20 74 68 61 6E 20  61 64 64 69 6E 67 20 69  74 2E 20 20 41 6C 73 6F  ist rather than adding it.  Also
00005260  2C 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  70 61 72 61 6D 65 74 65  72 20 6E 61 6D 65 20 62  , the◙          parameter name b
00005280  79 20 69 74 73 65 6C 66  20 69 6E 20 63 6F 6D 6D  65 6E 74 20 62 72 61 63  65 73 20 6D 65 61 6E 73  y itself in comment braces means
000052A0  20 74 6F 20 72 65 73 74  6F 72 65 0A 20 20 20 20  20 20 20 20 20 20 74 68  65 20 70 61 72 61 6D 65   to restore◙          the parame
000052C0  74 65 72 27 73 20 76 61  6C 75 65 20 74 68 61 74  20 77 61 73 20 63 75 72  72 65 6E 74 20 62 65 66  ter's value that was current bef
000052E0  6F 72 65 20 74 68 65 20  6C 61 73 74 0A 20 20 20  20 20 20 20 20 20 20 63  68 61 6E 67 65 3A 0A 0A  ore the last◙          change:◙◙
00005300  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7B  56 61 72 46 69 6C 65 73  3D 30 20 20 23 23 20 50                 {VarFiles=0  ## P
00005320  61 73 73 20 46 49 4C 45  20 2A 27 73 20 70 61 72  61 6D 73 20 62 79 20 76  61 6C 75 65 20 65 76 65  ass FILE *'s params by value eve
00005340  6E 20 69 66 0A 20 20 20  20 20 20 20 20 20 20 56  41 52 7D 0A 20 20 20 20  20 20 20 20 20 20 20 20  n if◙          VAR}◙            
00005360  20 20 20 5F 08 73 5F 08  6F 5F 08 6D 5F 08 65 20  5F 08 64 5F 08 65 5F 08  63 5F 08 6C 5F 08 61 5F     _◘s_◘o_◘m_◘e _◘d_◘e_◘c_◘l_◘a_
00005380  08 72 5F 08 61 5F 08 74  5F 08 69 5F 08 6F 5F 08  6E 5F 08 73 0A 20 20 20  20 20 20 20 20 20 20 20  ◘r_◘a_◘t_◘i_◘o_◘n_◘s◙           
000053A0  20 20 20 20 7B 56 61 72  46 69 6C 65 73 20 20 20  20 23 23 20 42 61 63 6B  20 74 6F 20 6F 72 69 67      {VarFiles    ## Back to orig
000053C0  69 6E 61 6C 20 46 49 4C  45 20 2A 20 70 61 73 73  69 6E 67 7D 0A 0A 20 20  20 20 20 20 20 20 20 20  inal FILE * passing}◙◙          
000053E0  63 61 75 73 65 73 20 74  68 65 20 70 61 72 61 6D  65 74 65 72 20 56 08 56  08 56 08 56 61 08 61 08  causes the parameter V◘V◘V◘Va◘a◘
00005400  61 08 61 72 08 72 08 72  08 72 46 08 46 08 46 08  46 69 08 69 08 69 08 69  6C 08 6C 08 6C 08 6C 65  a◘ar◘r◘r◘rF◘F◘F◘Fi◘i◘i◘il◘l◘l◘le
00005420  08 65 08 65 08 65 73 08  73 08 73 08 73 20 74 6F  20 68 61 76 65 20 74 68  65 20 76 61 6C 75 65 20  ◘e◘e◘es◘s◘s◘s to have the value 
00005440  30 20 66 6F 72 20 74 68  6F 73 65 0A 20 20 20 20  20 20 20 20 20 20 66 65  77 20 64 65 63 6C 61 72  0 for those◙          few declar
00005460  61 74 69 6F 6E 73 2C 20  77 69 74 68 6F 75 74 20  61 66 66 65 63 74 69 6E  67 20 74 68 65 20 70 61  ations, without affecting the pa
00005480  72 61 6D 65 74 65 72 27  73 20 76 61 6C 75 65 0A  20 20 20 20 20 20 20 20  20 20 65 6C 73 65 77 68  rameter's value◙          elsewh
000054A0  65 72 65 20 69 6E 20 74  68 65 20 66 69 6C 65 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 49 66 20 61  ere in the file.◙◙          If a
000054C0  6E 20 65 6D 62 65 64 64  65 64 20 70 61 72 61 6D  65 74 65 72 20 61 70 70  65 61 72 73 20 69 6E 20  n embedded parameter appears in 
000054E0  61 6E 20 69 6E 63 6C 75  64 65 20 66 69 6C 65 20  6F 72 20 69 6E 0A 20 20  20 20 20 20 20 20 20 20  an include file or in◙          
00005500  69 6E 74 65 72 66 61 63  65 20 74 65 78 74 20 66  6F 72 20 61 20 6D 6F 64  75 6C 65 2C 20 74 68 65  interface text for a module, the
00005520  20 65 66 66 65 63 74 20  6F 66 20 74 68 65 20 61  73 73 69 67 6E 6D 65 6E  74 0A 20 20 20 20 20 20   effect of the assignment◙      
00005540  20 20 20 20 6E 6F 72 6D  61 6C 6C 79 20 63 61 72  72 69 65 73 20 6F 76 65  72 20 74 6F 20 61 6E 79      normally carries over to any
00005560  20 70 72 6F 67 72 61 6D  73 20 74 68 61 74 20 69  6E 63 6C 75 64 65 64 20  74 68 61 74 0A 20 20 20   programs that included that◙   
00005580  20 20 20 20 20 20 20 66  69 6C 65 2E 20 20 49 66  20 74 68 65 20 70 61 72  61 6D 65 74 65 72 20 6E         file.  If the parameter n
000055A0  61 6D 65 20 69 73 20 70  72 65 63 65 64 65 64 20  62 79 20 61 20 60 2A 27  2C 20 74 68 65 6E 20 74  ame is preceded by a `*', then t
000055C0  68 65 0A 20 20 20 20 20  20 20 20 20 20 61 73 73  69 67 6E 6D 65 6E 74 20  69 73 20 61 75 74 6F 6D  he◙          assignment is autom
000055E0  61 74 69 63 61 6C 6C 79  20 75 6E 64 6F 6E 65 20  61 66 74 65 72 20 74 68  65 20 73 6F 75 72 63 65  atically undone after the source
00005600  20 66 69 6C 65 0A 20 20  20 20 20 20 20 20 20 20  74 68 61 74 20 63 6F 6E  74 61 69 6E 73 20 69 74   file◙          that contains it
00005620  20 65 6E 64 73 3A 0A 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7B  49 6E 63 6C 75 64 65 46   ends:◙◙               {IncludeF
00005640  72 6F 6D 20 73 74 72 69  6E 67 73 3D 3C 70 32 63  2F 73 74 72 69 6E 67 73  2E 68 3E 7D 0A 20 20 20  rom strings=<p2c/strings.h>}◙   
00005660  20 20 20 20 20 20 20 20  20 20 20 20 7B 2A 45 78  70 6F 72 74 53 79 6D 62  6F 6C 3D 70 61 73 63 61              {*ExportSymbol=pasca
00005680  6C 5F 25 73 7D 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 6D 6F 64  75 6C 65 20 73 74 72 69  l_%s}◙               module stri
000056A0  6E 67 73 3B 0A 0A 20 20  20 20 20 20 20 20 20 20  77 69 6C 6C 20 72 65 63  6F 72 64 20 74 68 65 20  ngs;◙◙          will record the 
000056C0  6C 6F 63 61 74 69 6F 6E  20 6F 66 20 74 68 65 20  5F 08 73 5F 08 74 5F 08  72 5F 08 69 5F 08 6E 5F  location of the _◘s_◘t_◘r_◘i_◘n_
000056E0  08 67 5F 08 73 20 6D 6F  64 75 6C 65 27 73 20 69  6E 63 6C 75 64 65 0A 20  20 20 20 20 20 20 20 20  ◘g_◘s module's include◙         
00005700  20 66 69 6C 65 20 66 6F  72 20 74 68 65 20 72 65  73 74 20 6F 66 20 74 68  65 20 74 72 61 6E 73 6C   file for the rest of the transl
00005720  61 74 69 6F 6E 2C 20 62  75 74 20 74 68 65 20 61  73 73 69 67 6E 6D 65 6E  74 20 6F 66 0A 20 20 20  ation, but the assignment of◙   
00005740  20 20 20 20 20 20 20 45  08 45 08 45 08 45 78 08  78 08 78 08 78 70 08 70  08 70 08 70 6F 08 6F 08         E◘E◘E◘Ex◘x◘x◘xp◘p◘p◘po◘o◘
00005760  6F 08 6F 72 08 72 08 72  08 72 74 08 74 08 74 08  74 53 08 53 08 53 08 53  79 08 79 08 79 08 79 6D  o◘or◘r◘r◘rt◘t◘t◘tS◘S◘S◘Sy◘y◘y◘ym
00005780  08 6D 08 6D 08 6D 62 08  62 08 62 08 62 6F 08 6F  08 6F 08 6F 6C 08 6C 08  6C 08 6C 20 70 65 72 74  ◘m◘m◘mb◘b◘b◘bo◘o◘o◘ol◘l◘l◘l pert
000057A0  61 69 6E 73 20 6F 6E 6C  79 20 74 6F 20 74 68 65  20 6D 6F 64 75 6C 65 20  69 74 73 65 6C 66 2E 0A  ains only to the module itself.◙
000057C0  0A 20 20 20 20 20 20 20  20 20 20 46 6F 72 20 74  68 65 20 63 6F 6D 70 6C  65 74 65 20 6C 69 73 74  ◙          For the complete list
000057E0  20 6F 66 20 5F 08 70 5F  08 32 5F 08 63 5F 08 72  5F 08 63 20 70 61 72 61  6D 65 74 65 72 73 2C 20   of _◘p_◘2_◘c_◘r_◘c parameters, 
00005800  72 75 6E 20 5F 08 70 5F  08 32 5F 08 63 20 77 69  74 68 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  run _◘p_◘2_◘c with the◙         
00005820  20 2D 08 2D 08 2D 08 2D  69 08 69 08 69 08 69 20  6F 70 74 69 6F 6E 2E 20  20 48 65 72 65 20 61 72   -◘-◘-◘-i◘i◘i◘i option.  Here ar
00005840  65 20 73 6F 6D 65 20 61  64 64 69 74 69 6F 6E 61  6C 20 63 6F 6D 6D 65 6E  74 73 20 6F 6E 20 73 65  e some additional comments on se
00005860  6C 65 63 74 65 64 0A 20  20 20 20 20 20 20 20 20  20 70 61 72 61 6D 65 74  65 72 73 3A 0A 0A 20 20  lected◙          parameters:◙◙  
00005880  20 20 20 20 20 20 20 20  49 08 49 08 49 08 49 6D  08 6D 08 6D 08 6D 70 08  70 08 70 08 70 6F 08 6F          I◘I◘I◘Im◘m◘m◘mp◘p◘p◘po◘o
000058A0  08 6F 08 6F 72 08 72 08  72 08 72 74 08 74 08 74  08 74 41 08 41 08 41 08  41 6C 08 6C 08 6C 08 6C  ◘o◘or◘r◘r◘rt◘t◘t◘tA◘A◘A◘Al◘l◘l◘l
000058C0  6C 08 6C 08 6C 08 6C 20  20 20 20 20 20 42 65 63  61 75 73 65 20 54 75 72  62 6F 20 50 61 73 63 61  l◘l◘l◘l      Because Turbo Pasca
000058E0  6C 20 6F 6E 6C 79 20 61  6C 6C 6F 77 73 20 6F 6E  65 20 75 6E 69 74 20 70  65 72 0A 20 20 20 20 20  l only allows one unit per◙     
00005900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 73 6F 75 72  63 65 20 66 69 6C 65 2C                      source file,
00005920  20 5F 08 70 5F 08 32 5F  08 63 20 6E 6F 72 6D 61  6C 6C 79 20 73 74 6F 70  73 20 72 65 61 64 69 6E   _◘p_◘2_◘c normally stops readin
00005940  67 20 70 61 73 74 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  g past◙                         
00005960  74 68 65 20 77 6F 72 64  20 5F 08 69 5F 08 6D 5F  08 70 5F 08 6C 5F 08 65  5F 08 6D 5F 08 65 5F 08  the word _◘i_◘m_◘p_◘l_◘e_◘m_◘e_◘
00005980  6E 5F 08 74 5F 08 61 5F  08 74 5F 08 69 5F 08 6F  5F 08 6E 20 69 6E 20 61  20 66 69 6C 65 20 62 65  n_◘t_◘a_◘t_◘i_◘o_◘n in a file be
000059A0  69 6E 67 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 73 63 61  ing◙                         sca
000059C0  6E 6E 65 64 20 66 6F 72  20 69 6E 74 65 72 66 61  63 65 20 74 65 78 74 2E  20 20 42 75 74 20 48 50  nned for interface text.  But HP
000059E0  20 50 61 73 63 61 6C 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   Pascal◙                        
00005A00  20 61 6C 6C 6F 77 73 20  73 65 76 65 72 61 6C 20  6D 6F 64 75 6C 65 73 20  70 65 72 20 66 69 6C 65   allows several modules per file
00005A20  20 61 6E 64 20 73 6F 20  74 68 69 73 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   and so this◙                   
00005A40  20 20 20 20 20 20 77 6F  75 6C 64 20 6E 6F 74 20  62 65 20 73 61 66 65 20  74 6F 20 64 6F 2E 20 20        would not be safe to do.  
00005A60  54 68 65 20 49 08 49 08  49 08 49 6D 08 6D 08 6D  08 6D 70 08 70 08 70 08  70 6F 08 6F 08 6F 08 6F  The I◘I◘I◘Im◘m◘m◘mp◘p◘p◘po◘o◘o◘o
00005A80  72 08 72 08 72 08 72 74  08 74 08 74 08 74 41 08  41 08 41 08 41 6C 08 6C  08 6C 08 6C 6C 08 6C 08  r◘r◘r◘rt◘t◘t◘tA◘A◘A◘Al◘l◘l◘ll◘l◘
00005AA0  6C 08 6C 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 6F 70 74  l◘l◙                         opt
00005AC0  69 6F 6E 20 6C 65 74 73  20 79 6F 75 20 6F 76 65  72 72 69 64 65 20 74 68  65 20 64 65 66 61 75 6C  ion lets you override the defaul
00005AE0  74 20 62 65 68 61 76 69  6F 72 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  t behavior◙                     
00005B00  20 20 20 20 66 6F 72 20  79 6F 75 72 20 50 61 73  63 61 6C 20 64 69 61 6C  65 63 74 2E 0A 0A 20 20      for your Pascal dialect.◙◙  
00005B20  20 20 20 20 20 20 20 20  41 08 41 08 41 08 41 6E  08 6E 08 6E 08 6E 73 08  73 08 73 08 73 69 08 69          A◘A◘A◘An◘n◘n◘ns◘s◘s◘si◘i
00005B40  08 69 08 69 43 08 43 08  43 08 43 20 20 20 20 20  20 20 20 20 20 54 68 69  73 20 70 61 72 61 6D 65  ◘i◘iC◘C◘C◘C          This parame
00005B60  74 65 72 20 73 65 6C 65  63 74 73 20 77 68 69 63  68 20 64 69 61 6C 65 63  74 20 6F 66 20 43 20 74  ter selects which dialect of C t
00005B80  6F 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 75 73 65 2E 20  o◙                         use. 
00005BA0  20 49 66 20 31 2C 20 61  6C 6C 20 63 6F 6E 76 65  6E 74 69 6F 6E 73 20 6F  66 20 41 4E 53 49 20 43   If 1, all conventions of ANSI C
00005BC0  20 73 75 63 68 20 61 73  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   such as◙                       
00005BE0  20 20 70 72 6F 74 6F 74  79 70 65 73 2C 20 76 08  76 08 76 08 76 6F 08 6F  08 6F 08 6F 69 08 69 08    prototypes, v◘v◘v◘vo◘o◘o◘oi◘i◘
00005C00  69 08 69 64 08 64 08 64  08 64 20 2A 08 2A 08 2A  08 2A 20 70 6F 69 6E 74  65 72 73 2C 20 65 74 63  i◘id◘d◘d◘d *◘*◘*◘* pointers, etc
00005C20  2E 20 61 72 65 20 75 73  65 64 2E 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  . are used.◙                    
00005C40  20 20 20 20 20 49 66 20  30 2C 20 6F 6E 6C 79 20  73 74 72 69 63 74 20 4B  26 52 20 28 66 69 72 73       If 0, only strict K&R (firs
00005C60  74 20 65 64 69 74 69 6F  6E 29 20 43 20 69 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  t edition) C is◙                
00005C80  20 20 20 20 20 20 20 20  20 75 73 65 64 2E 20 20  54 68 65 20 64 65 66 61  75 6C 74 20 69 73 20 74           used.  The default is t
00005CA0  6F 20 75 73 65 20 22 74  72 61 64 69 74 69 6F 6E  61 6C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  o use "traditional◙             
00005CC0  20 20 20 20 20 20 20 20  20 20 20 20 55 4E 49 58  20 43 2C 22 20 77 68 69  63 68 20 69 6E 63 6C 75              UNIX C," which inclu
00005CE0  64 65 73 20 65 08 65 08  65 08 65 6E 08 6E 08 6E  08 6E 75 08 75 08 75 08  75 6D 08 6D 08 6D 08 6D  des e◘e◘e◘en◘n◘n◘nu◘u◘u◘um◘m◘m◘m
00005D00  20 61 6E 64 20 76 08 76  08 76 08 76 6F 08 6F 08  6F 08 6F 69 08 69 08 69  08 69 64 08 64 08 64 08   and v◘v◘v◘vo◘o◘o◘oi◘i◘i◘id◘d◘d◘
00005D20  64 20 62 75 74 20 6E 6F  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  d but not◙                      
00005D40  20 20 20 76 08 76 08 76  08 76 6F 08 6F 08 6F 08  6F 69 08 69 08 69 08 69  64 08 64 08 64 08 64 20     v◘v◘v◘vo◘o◘o◘oi◘i◘i◘id◘d◘d◘d 
00005D60  2A 08 2A 08 2A 08 2A 20  6F 72 20 70 72 6F 74 6F  74 79 70 65 73 2E 20 20  4F 6E 63 65 20 61 67 61  *◘*◘*◘* or prototypes.  Once aga
00005D80  69 6E 20 74 68 65 72 65  20 61 72 65 20 61 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  in there are a◙                 
00005DA0  20 20 20 20 20 20 20 20  6E 75 6D 62 65 72 20 6F  66 20 6F 74 68 65 72 20  70 61 72 61 6D 65 74 65          number of other paramete
00005DC0  72 73 20 77 68 69 63 68  20 6D 61 79 20 62 65 20  75 73 65 64 0A 20 20 20  20 20 20 20 20 20 20 20  rs which may be used◙           
00005DE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 6F  20 63 6F 6E 74 72 6F 6C  20 74 68 65 20 69 6E 64                to control the ind
00005E00  69 76 69 64 75 61 6C 20  66 65 61 74 75 72 65 73  20 69 66 20 6A 75 73 74  0A 0A 0A 0A 20 20 20 20  ividual features if just◙◙◙◙    
00005E20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2D                                 -
00005E40  20 37 20 2D 20 46 6F 72  6D 61 74 74 65 64 3A 20  20 46 65 62 72 75 61 72  79 20 32 38 2C 20 31 39   7 - Formatted:  February 28, 19
00005E60  39 31 0A 0A 0A 0A 0A 0A  0A 20 20 20 20 20 50 08  50 08 50 08 50 32 08 32  08 32 08 32 43 08 43 08  91◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘
00005E80  43 08 43 28 08 28 08 28  08 28 31 08 31 08 31 08  31 29 08 29 08 29 08 29  20 20 20 20 20 20 20 20  C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)        
00005EA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  28 08 28 08 28 08 28 6C  08 6C 08 6C 08 6C 6F 08                  (◘(◘(◘(l◘l◘l◘lo◘
00005EC0  6F 08 6F 08 6F 63 08 63  08 63 08 63 61 08 61 08  61 08 61 6C 08 6C 08 6C  08 6C 29 08 29 08 29 08  o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘
00005EE0  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 50  08 50 08 50 08 50 32 08  )                      P◘P◘P◘P2◘
00005F00  32 08 32 08 32 43 08 43  08 43 08 43 28 08 28 08  28 08 28 31 08 31 08 31  08 31 29 08 29 08 29 08  2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘
00005F20  29 0A 0A 0A 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 65  )◙◙◙◙                         se
00005F40  74 74 69 6E 67 20 41 08  41 08 41 08 41 6E 08 6E  08 6E 08 6E 73 08 73 08  73 08 73 69 08 69 08 69  tting A◘A◘A◘An◘n◘n◘ns◘s◘s◘si◘i◘i
00005F60  08 69 43 08 43 08 43 08  43 20 69 73 20 6E 6F 74  20 65 6E 6F 75 67 68 2E  0A 0A 20 20 20 20 20 20  ◘iC◘C◘C◘C is not enough.◙◙      
00005F80  20 20 20 20 43 08 43 08  43 08 43 2B 08 2B 08 2B  08 2B 2B 08 2B 08 2B 08  2B 20 20 20 20 20 20 20      C◘C◘C◘C+◘+◘+◘++◘+◘+◘+       
00005FA0  20 20 20 20 20 41 74 20  70 72 65 73 65 6E 74 20  5F 08 70 5F 08 32 5F 08  63 20 64 6F 65 73 20 6E       At present _◘p_◘2_◘c does n
00005FC0  6F 74 20 75 73 65 20 6D  75 63 68 20 6F 66 20 43  2B 2B 20 61 74 0A 20 20  20 20 20 20 20 20 20 20  ot use much of C++ at◙          
00005FE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  6C 6C 2E 20 20 54 68 65  20 64 65 66 61 75 6C 74                 all.  The default
00006000  20 61 63 74 69 6F 6E 20  69 73 20 74 6F 20 67 65  6E 65 72 61 74 65 20 63  6F 64 65 0A 20 20 20 20   action is to generate code◙    
00006020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 61  74 20 77 69 6C 6C 20 63                       that will c
00006040  6F 6D 70 69 6C 65 20 69  6E 20 65 69 74 68 65 72  20 6C 61 6E 67 75 61 67  65 2E 0A 0A 20 20 20 20  ompile in either language.◙◙    
00006060  20 20 20 20 20 20 55 08  55 08 55 08 55 73 08 73  08 73 08 73 65 08 65 08  65 08 65 56 08 56 08 56        U◘U◘U◘Us◘s◘s◘se◘e◘e◘eV◘V◘V
00006080  08 56 45 08 45 08 45 08  45 78 08 78 08 78 08 78  74 08 74 08 74 08 74 65  08 65 08 65 08 65 72 08  ◘VE◘E◘E◘Ex◘x◘x◘xt◘t◘t◘te◘e◘e◘er◘
000060A0  72 08 72 08 72 6E 08 6E  08 6E 08 6E 20 20 20 20  20 4D 61 6E 79 20 6E 6F  6E 2D 55 4E 49 58 20 6C  r◘r◘rn◘n◘n◘n     Many non-UNIX l
000060C0  69 6E 6B 65 72 73 20 70  72 6F 68 69 62 69 74 20  76 61 72 69 61 62 6C 65  73 20 66 72 6F 6D 0A 20  inkers prohibit variables from◙ 
000060E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  62 65 69 6E 67 20 64 65                          being de
00006100  66 69 6E 65 64 20 28 6E  6F 74 20 64 65 63 6C 61  72 65 64 29 20 62 79 20  6D 6F 72 65 20 74 68 61  fined (not declared) by more tha
00006120  6E 20 6F 6E 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 73  n one◙                         s
00006140  6F 75 72 63 65 20 66 69  6C 65 2E 20 20 4F 6E 65  20 6D 6F 64 75 6C 65 20  6D 75 73 74 20 64 65 63  ource file.  One module must dec
00006160  6C 61 72 65 2C 20 65 2E  67 2E 2C 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  lare, e.g.,◙                    
00006180  20 20 20 20 20 22 69 6E  74 20 66 6F 6F 3B 22 2C  20 61 6E 64 20 61 6C 6C  20 6F 74 68 65 72 73 20       "int foo;", and all others 
000061A0  6D 75 73 74 20 64 65 63  6C 61 72 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  must declare◙                   
000061C0  20 20 20 20 20 20 22 65  78 74 65 72 6E 20 69 6E  74 20 66 6F 6F 3B 22 2E  20 20 5F 08 50 5F 08 32        "extern int foo;".  _◘P_◘2
000061E0  5F 08 63 20 61 63 63 6F  6D 70 6C 69 73 68 65 73  20 74 68 69 73 20 62 79  0A 20 20 20 20 20 20 20  _◘c accomplishes this by◙       
00006200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 64 65 63 6C 61 72  69 6E 67 20 70 75 62 6C                    declaring publ
00006220  69 63 20 76 61 72 69 61  62 6C 65 73 20 22 76 08  76 08 76 08 76 65 08 65  08 65 08 65 78 08 78 08  ic variables "v◘v◘v◘ve◘e◘e◘ex◘x◘
00006240  78 08 78 74 08 74 08 74  08 74 65 08 65 08 65 08  65 72 08 72 08 72 08 72  6E 08 6E 08 6E 08 6E 22  x◘xt◘t◘t◘te◘e◘e◘er◘r◘r◘rn◘n◘n◘n"
00006260  20 69 6E 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 68 65 61   in◙                         hea
00006280  64 65 72 20 66 69 6C 65  73 2C 20 61 6E 64 20 61  72 72 61 6E 67 69 6E 67  20 66 6F 72 20 74 68 65  der files, and arranging for the
000062A0  20 6D 61 63 72 6F 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   macro◙                         
000062C0  76 08 76 08 76 08 76 65  08 65 08 65 08 65 78 08  78 08 78 08 78 74 08 74  08 74 08 74 65 08 65 08  v◘v◘v◘ve◘e◘e◘ex◘x◘x◘xt◘t◘t◘te◘e◘
000062E0  65 08 65 72 08 72 08 72  08 72 6E 08 6E 08 6E 08  6E 20 74 6F 20 65 78 70  61 6E 64 20 74 6F 20 65  e◘er◘r◘r◘rn◘n◘n◘n to expand to e
00006300  08 65 08 65 08 65 78 08  78 08 78 08 78 74 08 74  08 74 08 74 65 08 65 08  65 08 65 72 08 72 08 72  ◘e◘e◘ex◘x◘x◘xt◘t◘t◘te◘e◘e◘er◘r◘r
00006320  08 72 6E 08 6E 08 6E 08  6E 20 6F 72 20 74 6F 20  6E 6F 74 68 69 6E 67 0A  20 20 20 20 20 20 20 20  ◘rn◘n◘n◘n or to nothing◙        
00006340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 77 68 65 6E 20 61 70  70 72 6F 70 72 69 61 74                   when appropriat
00006360  65 2E 20 20 49 66 20 79  6F 75 20 73 65 74 20 55  08 55 08 55 08 55 73 08  73 08 73 08 73 65 08 65  e.  If you set U◘U◘U◘Us◘s◘s◘se◘e
00006380  08 65 08 65 56 08 56 08  56 08 56 45 08 45 08 45  08 45 78 08 78 08 78 08  78 74 08 74 08 74 08 74  ◘e◘eV◘V◘V◘VE◘E◘E◘Ex◘x◘x◘xt◘t◘t◘t
000063A0  65 08 65 08 65 08 65 72  08 72 08 72 08 72 6E 08  6E 08 6E 08 6E 3D 30 0A  20 20 20 20 20 20 20 20  e◘e◘e◘er◘r◘r◘rn◘n◘n◘n=0◙        
000063C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 5F 08 70 5F 08 32 5F  08 63 20 77 69 6C 6C 20                   _◘p_◘2_◘c will 
000063E0  69 6E 73 74 65 61 64 20  64 65 63 6C 61 72 65 20  76 61 72 69 61 62 6C 65  73 20 69 6E 20 61 0A 20  instead declare variables in a◙ 
00006400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  73 69 6D 70 6C 65 72 20                          simpler 
00006420  77 61 79 20 74 68 61 74  20 77 6F 72 6B 73 20 6F  6E 6C 79 20 6F 6E 20 55  4E 49 58 2D 73 74 79 6C  way that works only on UNIX-styl
00006440  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 6C 69 6E 6B 65  e◙                         linke
00006460  72 73 2E 0A 0A 20 20 20  20 20 20 20 20 20 20 55  08 55 08 55 08 55 73 08  73 08 73 08 73 65 08 65  rs.◙◙          U◘U◘U◘Us◘s◘s◘se◘e
00006480  08 65 08 65 41 08 41 08  41 08 41 6E 08 6E 08 6E  08 6E 79 08 79 08 79 08  79 70 08 70 08 70 08 70  ◘e◘eA◘A◘A◘An◘n◘n◘ny◘y◘y◘yp◘p◘p◘p
000064A0  74 08 74 08 74 08 74 72  08 72 08 72 08 72 4D 08  4D 08 4D 08 4D 61 08 61  08 61 08 61 63 08 63 08  t◘t◘t◘tr◘r◘r◘rM◘M◘M◘Ma◘a◘a◘ac◘c◘
000064C0  63 08 63 72 08 72 08 72  08 72 6F 08 6F 08 6F 08  6F 73 08 73 08 73 08 73  0A 20 20 20 20 20 20 20  c◘cr◘r◘r◘ro◘o◘o◘os◘s◘s◘s◙       
000064E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 43 65 72 74 61 69  6E 20 43 20 72 65 73 65                    Certain C rese
00006500  72 76 65 64 20 77 6F 72  64 73 20 68 61 76 65 20  6D 65 61 6E 69 6E 67 73  20 77 68 69 63 68 0A 20  rved words have meanings which◙ 
00006520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  6D 61 79 20 76 61 72 79                          may vary
00006540  20 66 72 6F 6D 20 6F 6E  65 20 43 20 69 6D 70 6C  65 6D 65 6E 74 61 74 69  6F 6E 20 74 6F 0A 20 20   from one C implementation to◙  
00006560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  6E 6F 74 68 65 72 2E 20                         another. 
00006580  20 5F 08 50 5F 08 32 5F  08 63 20 75 73 65 73 20  73 70 65 63 69 61 6C 20  63 61 70 69 74 61 6C 69   _◘P_◘2_◘c uses special capitali
000065A0  7A 65 64 20 6E 61 6D 65  73 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  zed names◙                      
000065C0  20 20 20 66 6F 72 20 74  68 65 73 65 20 77 6F 72  64 73 3B 20 74 68 65 73  65 20 6E 61 6D 65 73 20     for these words; these names 
000065E0  61 72 65 20 64 65 66 69  6E 65 64 20 61 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  are defined as◙                 
00006600  20 20 20 20 20 20 20 20  6D 61 63 72 6F 73 20 69  6E 20 74 68 65 20 66 69  6C 65 20 5F 08 70 5F 08          macros in the file _◘p_◘
00006620  32 5F 08 63 2E 5F 08 68  20 77 68 69 63 68 20 61  6C 6C 20 74 72 61 6E 73  6C 61 74 65 64 0A 20 20  2_◘c._◘h which all translated◙  
00006640  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  72 6F 67 72 61 6D 73 20                         programs 
00006660  69 6E 63 6C 75 64 65 2E  20 20 59 6F 75 20 63 61  6E 20 73 65 74 0A 20 20  20 20 20 20 20 20 20 20  include.  You can set◙          
00006680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 55  08 55 08 55 08 55 73 08  73 08 73 08 73 65 08 65                 U◘U◘U◘Us◘s◘s◘se◘e
000066A0  08 65 08 65 41 08 41 08  41 08 41 6E 08 6E 08 6E  08 6E 79 08 79 08 79 08  79 70 08 70 08 70 08 70  ◘e◘eA◘A◘A◘An◘n◘n◘ny◘y◘y◘yp◘p◘p◘p
000066C0  74 08 74 08 74 08 74 72  08 72 08 72 08 72 4D 08  4D 08 4D 08 4D 61 08 61  08 61 08 61 63 08 63 08  t◘t◘t◘tr◘r◘r◘rM◘M◘M◘Ma◘a◘a◘ac◘c◘
000066E0  63 08 63 72 08 72 08 72  08 72 6F 08 6F 08 6F 08  6F 73 08 73 08 73 08 73  3D 30 20 74 6F 20 64 69  c◘cr◘r◘r◘ro◘o◘o◘os◘s◘s◘s=0 to di
00006700  73 61 62 6C 65 20 74 68  65 20 75 73 65 20 6F 66  20 74 68 65 73 65 0A 20  20 20 20 20 20 20 20 20  sable the use of these◙         
00006720  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  6D 61 63 72 6F 73 2E 20  20 4E 6F 74 65 20 74 68                  macros.  Note th
00006740  61 74 20 74 68 65 20 66  75 6E 63 74 69 6F 6E 73  20 6F 66 20 6D 61 6E 79  20 6F 66 0A 20 20 20 20  at the functions of many of◙    
00006760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 65  73 65 20 6D 61 63 72 6F                       these macro
00006780  73 20 63 61 6E 20 61 6C  73 6F 20 62 65 20 68 61  64 20 64 69 72 65 63 74  6C 79 20 75 73 69 6E 67  s can also be had directly using
000067A0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6F 74 68 65 72 20  ◙                         other 
000067C0  70 61 72 61 6D 65 74 65  72 73 3B 20 66 6F 72 20  65 78 61 6D 70 6C 65 2C  20 55 08 55 08 55 08 55  parameters; for example, U◘U◘U◘U
000067E0  73 08 73 08 73 08 73 65  08 65 08 65 08 65 43 08  43 08 43 08 43 6F 08 6F  08 6F 08 6F 6E 08 6E 08  s◘s◘s◘se◘e◘e◘eC◘C◘C◘Co◘o◘o◘on◘n◘
00006800  6E 08 6E 73 08 73 08 73  08 73 74 08 74 08 74 08  74 73 08 73 08 73 08 73  0A 20 20 20 20 20 20 20  n◘ns◘s◘s◘st◘t◘t◘ts◘s◘s◘s◙       
00006820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 61 6C 6C 6F 77 73  20 79 6F 75 20 74 6F 20                    allows you to 
00006840  73 70 65 63 69 66 79 20  77 68 65 74 68 65 72 20  79 6F 75 72 20 74 61 72  67 65 74 0A 20 20 20 20  specify whether your target◙    
00006860  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 6C 61 6E  67 75 61 67 65 20 72 65                       language re
00006880  63 6F 67 6E 69 7A 65 73  20 74 68 65 20 77 6F 72  64 20 63 08 63 08 63 08  63 6F 08 6F 08 6F 08 6F  cognizes the word c◘c◘c◘co◘o◘o◘o
000068A0  6E 08 6E 08 6E 08 6E 73  08 73 08 73 08 73 74 08  74 08 74 08 74 20 69 6E  0A 20 20 20 20 20 20 20  n◘n◘n◘ns◘s◘s◘st◘t◘t◘t in◙       
000068C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 63 6F 6E 73 74 61  6E 74 20 64 65 63 6C 61                    constant decla
000068E0  72 61 74 69 6F 6E 73 2E  20 20 54 68 65 20 64 65  66 61 75 6C 74 20 69 73  20 74 6F 20 75 73 65 0A  rations.  The default is to use◙
00006900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 74 68 65 20 43 08 43                           the C◘C
00006920  08 43 08 43 6F 08 6F 08  6F 08 6F 6E 08 6E 08 6E  08 6E 73 08 73 08 73 08  73 74 08 74 08 74 08 74  ◘C◘Co◘o◘o◘on◘n◘n◘ns◘s◘s◘st◘t◘t◘t
00006940  20 6D 61 63 72 6F 20 69  6E 73 74 65 61 64 2C 20  73 6F 20 74 68 61 74 20  79 6F 75 72 20 63 6F 64   macro instead, so that your cod
00006960  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 77 69 6C 6C 20  e◙                         will 
00006980  62 65 20 70 6F 72 74 61  62 6C 65 20 74 6F 20 65  69 74 68 65 72 20 6B 69  6E 64 20 6F 66 0A 20 20  be portable to either kind of◙  
000069A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  6D 70 6C 65 6D 65 6E 74                         implement
000069C0  61 74 69 6F 6E 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ation.◙◙                        
000069E0  20 53 08 53 08 53 08 53  69 08 69 08 69 08 69 67  08 67 08 67 08 67 6E 08  6E 08 6E 08 6E 65 08 65   S◘S◘S◘Si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘e
00006A00  08 65 08 65 64 08 64 08  64 08 64 20 65 78 70 61  6E 64 73 20 74 6F 20 74  68 65 20 72 65 73 65 72  ◘e◘ed◘d◘d◘d expands to the reser
00006A20  76 65 64 20 77 6F 72 64  20 73 08 73 08 73 08 73  69 08 69 08 69 08 69 67  08 67 08 67 08 67 6E 08  ved word s◘s◘s◘si◘i◘i◘ig◘g◘g◘gn◘
00006A40  6E 08 6E 08 6E 65 08 65  08 65 08 65 64 08 64 08  64 08 64 20 69 66 0A 20  20 20 20 20 20 20 20 20  n◘n◘ne◘e◘e◘ed◘d◘d◘d if◙         
00006A60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  74 68 61 74 20 77 6F 72  64 20 69 73 20 61 76 61                  that word is ava
00006A80  69 6C 61 62 6C 65 2C 20  6F 74 68 65 72 77 69 73  65 20 69 74 20 69 73 20  67 69 76 65 6E 0A 20 20  ilable, otherwise it is given◙  
00006AA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  20 6E 75 6C 6C 20 64 65                         a null de
00006AC0  66 69 6E 69 74 69 6F 6E  2E 20 20 53 69 6D 69 6C  61 72 6C 79 2C 20 43 08  43 08 43 08 43 6F 08 6F  finition.  Similarly, C◘C◘C◘Co◘o
00006AE0  08 6F 08 6F 6E 08 6E 08  6E 08 6E 73 08 73 08 73  08 73 74 08 74 08 74 08  74 20 65 78 70 61 6E 64  ◘o◘on◘n◘n◘ns◘s◘s◘st◘t◘t◘t expand
00006B00  73 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 6F 20 63 08  s◙                         to c◘
00006B20  63 08 63 08 63 6F 08 6F  08 6F 08 6F 6E 08 6E 08  6E 08 6E 73 08 73 08 73  08 73 74 08 74 08 74 08  c◘c◘co◘o◘o◘on◘n◘n◘ns◘s◘s◘st◘t◘t◘
00006B40  74 20 69 66 20 74 68 61  74 20 66 65 61 74 75 72  65 20 69 73 20 61 76 61  69 6C 61 62 6C 65 2E 20  t if that feature is available. 
00006B60  20 54 68 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 77 6F   The◙                         wo
00006B80  72 64 73 20 56 08 56 08  56 08 56 6F 08 6F 08 6F  08 6F 6C 08 6C 08 6C 08  6C 61 08 61 08 61 08 61  rds V◘V◘V◘Vo◘o◘o◘ol◘l◘l◘la◘a◘a◘a
00006BA0  74 08 74 08 74 08 74 69  08 69 08 69 08 69 6C 08  6C 08 6C 08 6C 65 08 65  08 65 08 65 20 61 6E 64  t◘t◘t◘ti◘i◘i◘il◘l◘l◘le◘e◘e◘e and
00006BC0  20 52 08 52 08 52 08 52  65 08 65 08 65 08 65 67  08 67 08 67 08 67 69 08  69 08 69 08 69 73 08 73   R◘R◘R◘Re◘e◘e◘eg◘g◘g◘gi◘i◘i◘is◘s
00006BE0  08 73 08 73 74 08 74 08  74 08 74 65 08 65 08 65  08 65 72 08 72 08 72 08  72 20 61 72 65 20 61 6C  ◘s◘st◘t◘t◘te◘e◘e◘er◘r◘r◘r are al
00006C00  73 6F 20 64 65 66 69 6E  65 64 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  so defined◙                     
00006C20  20 20 20 20 69 6E 20 5F  08 70 5F 08 32 5F 08 63  2E 5F 08 68 2C 20 61 6C  74 68 6F 75 67 68 20 5F      in _◘p_◘2_◘c._◘h, although _
00006C40  08 70 5F 08 32 5F 08 63  20 64 6F 65 73 20 6E 6F  74 20 75 73 65 20 74 68  65 6D 20 61 74 0A 20 20  ◘p_◘2_◘c does not use them at◙  
00006C60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  72 65 73 65 6E 74 2E 20                         present. 
00006C80  20 54 68 65 20 77 6F 72  64 20 43 08 43 08 43 08  43 68 08 68 08 68 08 68  61 08 61 08 61 08 61 72   The word C◘C◘C◘Ch◘h◘h◘ha◘a◘a◘ar
00006CA0  08 72 08 72 08 72 20 65  78 70 61 6E 64 73 20 74  6F 20 63 08 63 08 63 08  63 68 08 68 08 68 08 68  ◘r◘r◘r expands to c◘c◘c◘ch◘h◘h◘h
00006CC0  61 08 61 08 61 08 61 72  08 72 08 72 08 72 20 62  79 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  a◘a◘a◘ar◘r◘r◘r by◙              
00006CE0  20 20 20 20 20 20 20 20  20 20 20 64 65 66 61 75  6C 74 2C 20 62 75 74 20  6D 69 67 68 74 20 6E 65             default, but might ne
00006D00  65 64 20 74 6F 20 62 65  20 72 65 64 65 66 69 6E  65 64 20 74 6F 0A 20 20  20 20 20 20 20 20 20 20  ed to be redefined to◙          
00006D20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 73  08 73 08 73 08 73 69 08  69 08 69 08 69 67 08 67                 s◘s◘s◘si◘i◘i◘ig◘g
00006D40  08 67 08 67 6E 08 6E 08  6E 08 6E 65 08 65 08 65  08 65 64 08 64 08 64 08  64 20 63 08 63 08 63 08  ◘g◘gn◘n◘n◘ne◘e◘e◘ed◘d◘d◘d c◘c◘c◘
00006D60  63 68 08 68 08 68 08 68  61 08 61 08 61 08 61 72  08 72 08 72 08 72 20 6F  72 20 75 08 75 08 75 08  ch◘h◘h◘ha◘a◘a◘ar◘r◘r◘r or u◘u◘u◘
00006D80  75 6E 08 6E 08 6E 08 6E  73 08 73 08 73 08 73 69  08 69 08 69 08 69 67 08  67 08 67 08 67 6E 08 6E  un◘n◘n◘ns◘s◘s◘si◘i◘i◘ig◘g◘g◘gn◘n
00006DA0  08 6E 08 6E 65 08 65 08  65 08 65 64 08 64 08 64  08 64 20 63 08 63 08 63  08 63 68 08 68 08 68 08  ◘n◘ne◘e◘e◘ed◘d◘d◘d c◘c◘c◘ch◘h◘h◘
00006DC0  68 61 08 61 08 61 08 61  72 08 72 08 72 08 72 20  69 6E 20 61 20 70 61 72  74 69 63 75 6C 61 72 0A  ha◘a◘a◘ar◘r◘r◘r in a particular◙
00006DE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 69 6D 70 6C 65 6D 65                           impleme
00006E00  6E 74 61 74 69 6F 6E 2E  20 20 54 68 69 73 20 69  73 20 75 73 65 64 20 66  6F 72 20 74 68 65 20 50  ntation.  This is used for the P
00006E20  61 73 63 61 6C 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 63  ascal◙                         c
00006E40  68 61 72 61 63 74 65 72  20 74 79 70 65 3B 20 6C  6F 77 65 72 63 61 73 65  20 63 08 63 08 63 08 63  haracter type; lowercase c◘c◘c◘c
00006E60  68 08 68 08 68 08 68 61  08 61 08 61 08 61 72 08  72 08 72 08 72 20 69 73  20 75 73 65 64 20 77 68  h◘h◘h◘ha◘a◘a◘ar◘r◘r◘r is used wh
00006E80  65 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  en◙                         the 
00006EA0  64 65 73 69 72 65 64 20  6D 65 61 6E 69 6E 67 20  69 73 20 22 62 79 74 65  2C 22 20 6E 6F 74 0A 20  desired meaning is "byte," not◙ 
00006EC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  22 63 68 61 72 61 63 74                          "charact
00006EE0  65 72 2E 22 0A 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  er."◙◙                         T
00006F00  68 65 20 77 6F 72 64 20  53 08 53 08 53 08 53 74  08 74 08 74 08 74 61 08  61 08 61 08 61 74 08 74  he word S◘S◘S◘St◘t◘t◘ta◘a◘a◘at◘t
00006F20  08 74 08 74 69 08 69 08  69 08 69 63 08 63 08 63  08 63 20 61 6C 77 61 79  73 20 65 78 70 61 6E 64  ◘t◘ti◘i◘i◘ic◘c◘c◘c always expand
00006F40  73 20 74 6F 20 73 08 73  08 73 08 73 74 08 74 08  74 08 74 61 08 61 08 61  08 61 74 08 74 08 74 08  s to s◘s◘s◘st◘t◘t◘ta◘a◘a◘at◘t◘t◘
00006F60  74 69 08 69 08 69 08 69  63 08 63 08 63 08 63 20  62 79 0A 0A 0A 0A 20 20  20 20 20 20 20 20 20 20  ti◘i◘i◘ic◘c◘c◘c by◙◙◙◙          
00006F80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 2D 20 38 20 2D 20 46                           - 8 - F
00006FA0  6F 72 6D 61 74 74 65 64  3A 20 20 46 65 62 72 75  61 72 79 20 32 38 2C 20  31 39 39 31 0A 0A 0A 0A  ormatted:  February 28, 1991◙◙◙◙
00006FC0  0A 0A 0A 20 20 20 20 20  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  43 08 43 08 43 28 08 28  ◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(
00006FE0  08 28 08 28 31 08 31 08  31 08 31 29 08 29 08 29  08 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘(◘(1◘1◘1◘1)◘)◘)◘)              
00007000  20 20 20 20 20 20 20 20  20 20 28 08 28 08 28 08  28 6C 08 6C 08 6C 08 6C  6F 08 6F 08 6F 08 6F 63            (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc
00007020  08 63 08 63 08 63 61 08  61 08 61 08 61 6C 08 6C  08 6C 08 6C 29 08 29 08  29 08 29 20 20 20 20 20  ◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)     
00007040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 50 08 50 08 50 08 50  32 08 32 08 32 08 32 43                   P◘P◘P◘P2◘2◘2◘2C
00007060  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  29 08 29 0A 0A 0A 0A 20  ◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙ 
00007080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  64 65 66 61 75 6C 74 2E                          default.
000070A0  20 20 54 68 69 73 20 69  73 20 75 73 65 64 20 69  6E 20 73 69 74 75 61 74  69 6F 6E 73 20 77 68 65    This is used in situations whe
000070C0  72 65 20 61 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 75  re a◙                         fu
000070E0  6E 63 74 69 6F 6E 20 6F  72 20 76 61 72 69 61 62  6C 65 20 69 73 20 64 65  63 6C 61 72 65 64 20 73  nction or variable is declared s
00007100  74 61 74 69 63 20 74 6F  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  tatic to◙                       
00007120  20 20 6D 61 6B 65 20 69  74 20 6C 6F 63 61 6C 20  74 6F 20 74 68 65 20 73  6F 75 72 63 65 20 66 69    make it local to the source fi
00007140  6C 65 3B 20 6C 6F 77 65  72 63 61 73 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  le; lowercase◙                  
00007160  20 20 20 20 20 20 20 73  08 73 08 73 08 73 74 08  74 08 74 08 74 61 08 61  08 61 08 61 74 08 74 08         s◘s◘s◘st◘t◘t◘ta◘a◘a◘at◘t◘
00007180  74 08 74 69 08 69 08 69  08 69 63 08 63 08 63 08  63 20 69 73 20 75 73 65  64 20 66 6F 72 20 73 74  t◘ti◘i◘i◘ic◘c◘c◘c is used for st
000071A0  61 74 69 63 20 6C 6F 63  61 6C 20 76 61 72 69 61  62 6C 65 73 2E 0A 20 20  20 20 20 20 20 20 20 20  atic local variables.◙          
000071C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  68 75 73 20 79 6F 75 20  63 61 6E 20 72 65 64 65                 Thus you can rede
000071E0  66 69 6E 65 20 53 08 53  08 53 08 53 74 08 74 08  74 08 74 61 08 61 08 61  08 61 74 08 74 08 74 08  fine S◘S◘S◘St◘t◘t◘ta◘a◘a◘at◘t◘t◘
00007200  74 69 08 69 08 69 08 69  63 08 63 08 63 08 63 20  74 6F 20 62 65 20 6E 75  6C 6C 20 69 66 0A 20 20  ti◘i◘i◘ic◘c◘c◘c to be null if◙  
00007220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 79  6F 75 20 77 61 6E 74 20                         you want 
00007240  74 6F 20 66 6F 72 63 65  20 70 72 69 76 61 74 65  20 6E 61 6D 65 73 20 74  6F 20 62 65 20 70 75 62  to force private names to be pub
00007260  6C 69 63 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 66 6F 72  lic◙                         for
00007280  20 70 75 72 70 6F 73 65  73 20 6F 66 20 64 65 62  75 67 67 69 6E 67 2E 0A  0A 20 20 20 20 20 20 20   purposes of debugging.◙◙       
000072A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 54 68 65 20 77 6F  72 64 20 56 08 56 08 56                    The word V◘V◘V
000072C0  08 56 6F 08 6F 08 6F 08  6F 69 08 69 08 69 08 69  64 08 64 08 64 08 64 20  65 78 70 61 6E 64 73 20  ◘Vo◘o◘o◘oi◘i◘i◘id◘d◘d◘d expands 
000072E0  74 6F 20 76 08 76 08 76  08 76 6F 08 6F 08 6F 08  6F 69 08 69 08 69 08 69  64 08 64 08 64 08 64 20  to v◘v◘v◘vo◘o◘o◘oi◘i◘i◘id◘d◘d◘d 
00007300  69 6E 20 61 6C 6C 20 63  61 73 65 73 3B 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  in all cases;◙                  
00007320  20 20 20 20 20 20 20 69  74 20 69 73 20 75 73 65  64 20 77 68 65 6E 20 64  65 63 6C 61 72 69 6E 67         it is used when declaring
00007340  20 61 20 66 75 6E 63 74  69 6F 6E 20 77 69 74 68  20 6E 6F 0A 20 20 20 20  20 20 20 20 20 20 20 20   a function with no◙            
00007360  20 20 20 20 20 20 20 20  20 20 20 20 20 72 65 74  75 72 6E 20 76 61 6C 75  65 2E 20 20 54 68 65 20               return value.  The 
00007380  77 6F 72 64 20 41 08 41  08 41 08 41 6E 08 6E 08  6E 08 6E 79 08 79 08 79  08 79 70 08 70 08 70 08  word A◘A◘A◘An◘n◘n◘ny◘y◘y◘yp◘p◘p◘
000073A0  70 74 08 74 08 74 08 74  72 08 72 08 72 08 72 20  69 73 20 61 20 74 79 70  65 64 65 66 0A 20 20 20  pt◘t◘t◘tr◘r◘r◘r is a typedef◙   
000073C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 6F  72 20 76 08 76 08 76 08                        for v◘v◘v◘
000073E0  76 6F 08 6F 08 6F 08 6F  69 08 69 08 69 08 69 64  08 64 08 64 08 64 20 2A  08 2A 08 2A 08 2A 20 6F  vo◘o◘o◘oi◘i◘i◘id◘d◘d◘d *◘*◘*◘* o
00007400  72 20 63 08 63 08 63 08  63 68 08 68 08 68 08 68  61 08 61 08 61 08 61 72  08 72 08 72 08 72 20 2A  r c◘c◘c◘ch◘h◘h◘ha◘a◘a◘ar◘r◘r◘r *
00007420  08 2A 08 2A 08 2A 20 61  73 20 6E 65 63 65 73 73  61 72 79 3B 20 69 74 0A  20 20 20 20 20 20 20 20  ◘*◘*◘* as necessary; it◙        
00007440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 72 65 70 72 65 73 65  6E 74 73 20 61 20 67 65                   represents a ge
00007460  6E 65 72 69 63 20 70 6F  69 6E 74 65 72 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 55 08 55 08 55 08  neric pointer.◙◙          U◘U◘U◘
00007480  55 73 08 73 08 73 08 73  65 08 65 08 65 08 65 50  08 50 08 50 08 50 50 08  50 08 50 08 50 4D 08 4D  Us◘s◘s◘se◘e◘e◘eP◘P◘P◘PP◘P◘P◘PM◘M
000074A0  08 4D 08 4D 61 08 61 08  61 08 61 63 08 63 08 63  08 63 72 08 72 08 72 08  72 6F 08 6F 08 6F 08 6F  ◘M◘Ma◘a◘a◘ac◘c◘c◘cr◘r◘r◘ro◘o◘o◘o
000074C0  73 08 73 08 73 08 73 20  20 20 20 54 68 65 20 5F  08 70 5F 08 32 5F 08 63  2E 5F 08 68 20 68 65 61  s◘s◘s◘s    The _◘p_◘2_◘c._◘h hea
000074E0  64 65 72 20 61 6C 73 6F  20 64 65 63 6C 61 72 65  73 20 74 77 6F 20 6D 61  63 72 6F 73 20 66 6F 72  der also declares two macros for
00007500  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  ◙                         functi
00007520  6F 6E 20 70 72 6F 74 6F  74 79 70 69 6E 67 2C 20  50 08 50 08 50 08 50 50  08 50 08 50 08 50 28 78  on prototyping, P◘P◘P◘PP◘P◘P◘P(x
00007540  29 20 61 6E 64 20 50 08  50 08 50 08 50 56 08 56  08 56 08 56 28 29 2E 20  20 54 68 65 73 65 0A 20  ) and P◘P◘P◘PV◘V◘V◘V().  These◙ 
00007560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  6D 61 63 72 6F 73 20 61                          macros a
00007580  72 65 20 75 73 65 64 20  61 73 20 66 6F 6C 6C 6F  77 73 3A 0A 0A 20 20 20  20 20 20 20 20 20 20 20  re used as follows:◙◙           
000075A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 56 6F 69 64 20  66 6F 6F 20 20 50 50 28                     Void foo  PP(
000075C0  20 28 69 6E 74 20 78 2C  20 69 6E 74 20 79 2C 20  43 68 61 72 20 2A 7A 29  20 29 3B 0A 20 20 20 20   (int x, int y, Char *z) );◙    
000075E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 43 68 61 72 20 2A                            Char *
00007600  62 61 72 20 50 56 28 20  29 3B 0A 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  bar PV( );◙◙                    
00007620  20 20 20 20 20 49 66 20  70 72 6F 74 6F 74 79 70  65 73 20 61 72 65 20 61  76 61 69 6C 61 62 6C 65       If prototypes are available
00007640  2C 20 74 68 65 73 65 20  6D 61 63 72 6F 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  , these macros◙                 
00007660  20 20 20 20 20 20 20 20  77 69 6C 6C 20 65 78 70  61 6E 64 20 74 6F 0A 0A  20 20 20 20 20 20 20 20          will expand to◙◙        
00007680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 56 6F  69 64 20 66 6F 6F 20 20                        Void foo  
000076A0  28 69 6E 74 20 78 2C 20  69 6E 74 20 79 2C 20 43  68 61 72 20 2A 7A 29 3B  0A 20 20 20 20 20 20 20  (int x, int y, Char *z);◙       
000076C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 43  68 61 72 20 2A 62 61 72                         Char *bar
000076E0  20 28 76 6F 69 64 29 3B  0A 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   (void);◙◙                      
00007700  20 20 20 62 75 74 20 69  66 20 6F 6E 6C 79 20 6F  6C 64 2D 73 74 79 6C 65  20 64 65 63 6C 61 72 61     but if only old-style declara
00007720  74 69 6F 6E 73 20 61 72  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  tions are◙                      
00007740  20 20 20 73 75 70 70 6F  72 74 65 64 2C 20 79 6F  75 20 69 6E 73 74 65 61  64 20 67 65 74 0A 0A 20     supported, you instead get◙◙ 
00007760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 56 6F 69                               Voi
00007780  64 20 66 6F 6F 20 20 28  29 3B 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  d foo  ();◙                     
000077A0  20 20 20 20 20 20 20 20  20 43 68 61 72 20 2A 62  61 72 20 28 29 3B 0A 0A  20 20 20 20 20 20 20 20           Char *bar ();◙◙        
000077C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 42 79 20 64 65 66 61  75 6C 74 2C 20 5F 08 70                   By default, _◘p
000077E0  5F 08 32 5F 08 63 20 75  73 65 73 20 74 68 65 73  65 20 6D 61 63 72 6F 73  20 66 6F 72 20 61 6C 6C  _◘2_◘c uses these macros for all
00007800  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  ◙                         functi
00007820  6F 6E 20 64 65 63 6C 61  72 61 74 69 6F 6E 73 2C  20 62 75 74 20 66 75 6E  63 74 69 6F 6E 0A 20 20  on declarations, but function◙  
00007840  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 5F  08 64 5F 08 65 5F 08 66                         _◘d_◘e_◘f
00007860  5F 08 69 5F 08 6E 5F 08  69 5F 08 74 5F 08 69 5F  08 6F 5F 08 6E 5F 08 73  20 61 72 65 20 77 72 69  _◘i_◘n_◘i_◘t_◘i_◘o_◘n_◘s are wri
00007880  74 74 65 6E 20 69 6E 20  6F 6C 64 2D 73 74 79 6C  65 20 43 2E 20 20 54 68  65 0A 20 20 20 20 20 20  tten in old-style C.  The◙      
000078A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 55 08 55 08 55  08 55 73 08 73 08 73 08                     U◘U◘U◘Us◘s◘s◘
000078C0  73 65 08 65 08 65 08 65  50 08 50 08 50 08 50 50  08 50 08 50 08 50 4D 08  4D 08 4D 08 4D 61 08 61  se◘e◘e◘eP◘P◘P◘PP◘P◘P◘PM◘M◘M◘Ma◘a
000078E0  08 61 08 61 63 08 63 08  63 08 63 72 08 72 08 72  08 72 6F 08 6F 08 6F 08  6F 73 08 73 08 73 08 73  ◘a◘ac◘c◘c◘cr◘r◘r◘ro◘o◘o◘os◘s◘s◘s
00007900  20 70 61 72 61 6D 65 74  65 72 20 63 61 6E 20 62  65 20 73 65 74 20 74 6F  20 30 20 74 6F 0A 20 20   parameter can be set to 0 to◙  
00007920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 64  69 73 61 62 6C 65 20 61                         disable a
00007940  6C 6C 20 75 73 65 20 6F  66 20 50 08 50 08 50 08  50 50 08 50 08 50 08 50  20 61 6E 64 20 50 08 50  ll use of P◘P◘P◘PP◘P◘P◘P and P◘P
00007960  08 50 08 50 56 08 56 08  56 08 56 2C 20 6F 72 20  69 74 20 63 61 6E 20 62  65 0A 20 20 20 20 20 20  ◘P◘PV◘V◘V◘V, or it can be◙      
00007980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 73 65 74 20 74  6F 20 31 20 74 6F 20 75                     set to 1 to u
000079A0  73 65 20 74 68 65 20 6D  61 63 72 6F 73 20 65 76  65 6E 20 77 68 65 6E 20  64 65 66 69 6E 69 6E 67  se the macros even when defining
000079C0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 61 20 66 75 6E 63  ◙                         a func
000079E0  74 69 6F 6E 2E 20 20 28  54 68 69 73 20 69 73 20  61 63 63 6F 6D 70 6C 69  73 68 65 64 20 62 79 0A  tion.  (This is accomplished by◙
00007A00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 70 72 65 63 65 64 69                           precedi
00007A20  6E 67 20 65 61 63 68 20  6F 6C 64 2D 73 74 79 6C  65 20 64 65 66 69 6E 69  74 69 6F 6E 20 77 69 74  ng each old-style definition wit
00007A40  68 20 61 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 50 08 50  h a◙                         P◘P
00007A60  08 50 08 50 50 08 50 08  50 08 50 2D 73 74 79 6C  65 20 64 65 63 6C 61 72  61 74 69 6F 6E 2E 29 20  ◘P◘PP◘P◘P◘P-style declaration.) 
00007A80  20 49 66 20 79 6F 75 20  6B 6E 6F 77 20 79 6F 75  72 20 63 6F 64 65 0A 20  20 20 20 20 20 20 20 20   If you know your code◙         
00007AA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  77 69 6C 6C 20 61 6C 77  61 79 73 20 62 65 20 63                  will always be c
00007AC0  6F 6D 70 69 6C 65 64 20  6F 6E 20 73 79 73 74 65  6D 73 20 74 68 61 74 0A  20 20 20 20 20 20 20 20  ompiled on systems that◙        
00007AE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 73 75 70 70 6F 72 74  20 70 72 6F 74 6F 74 79                   support prototy
00007B00  70 69 6E 67 2C 20 69 74  20 69 73 20 70 72 65 74  74 69 65 72 20 74 6F 20  73 65 74 0A 20 20 20 20  ping, it is prettier to set◙    
00007B20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 50 08 50  08 50 08 50 72 08 72 08                       P◘P◘P◘Pr◘r◘
00007B40  72 08 72 6F 08 6F 08 6F  08 6F 74 08 74 08 74 08  74 6F 08 6F 08 6F 08 6F  74 08 74 08 74 08 74 79  r◘ro◘o◘o◘ot◘t◘t◘to◘o◘o◘ot◘t◘t◘ty
00007B60  08 79 08 79 08 79 70 08  70 08 70 08 70 65 08 65  08 65 08 65 73 08 73 08  73 08 73 3D 31 20 6F 72  ◘y◘y◘yp◘p◘p◘pe◘e◘e◘es◘s◘s◘s=1 or
00007B80  20 73 69 6D 70 6C 79 20  41 08 41 08 41 08 41 6E  08 6E 08 6E 08 6E 73 08  73 08 73 08 73 69 08 69   simply A◘A◘A◘An◘n◘n◘ns◘s◘s◘si◘i
00007BA0  08 69 08 69 43 08 43 08  43 08 43 3D 31 20 74 6F  20 67 65 74 20 74 72 75  65 0A 20 20 20 20 20 20  ◘i◘iC◘C◘C◘C=1 to get true◙      
00007BC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 66 75 6E 63 74  69 6F 6E 20 70 72 6F 74                     function prot
00007BE0  6F 74 79 70 65 73 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 45 08 45 08 45  08 45 61 08 61 08 61 08  otypes.◙◙          E◘E◘E◘Ea◘a◘a◘
00007C00  61 74 08 74 08 74 08 74  4E 08 4E 08 4E 08 4E 6F  08 6F 08 6F 08 6F 74 08  74 08 74 08 74 65 08 65  at◘t◘t◘tN◘N◘N◘No◘o◘o◘ot◘t◘t◘te◘e
00007C20  08 65 08 65 73 08 73 08  73 08 73 20 20 20 20 20  20 20 4E 6F 74 65 73 20  61 6E 64 20 77 61 72 6E  ◘e◘es◘s◘s◘s       Notes and warn
00007C40  69 6E 67 20 6D 65 73 73  61 67 65 73 20 63 6F 6E  74 61 69 6E 69 6E 67 20  61 6E 79 20 6F 66 0A 20  ing messages containing any of◙ 
00007C60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  74 68 65 73 65 20 73 74                          these st
00007C80  72 69 6E 67 73 20 61 73  20 73 75 62 2D 73 74 72  69 6E 67 73 20 61 72 65  20 6E 6F 74 20 6F 6D 69  rings as sub-strings are not omi
00007CA0  74 74 65 64 2E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 45  tted.◙                         E
00007CC0  61 63 68 20 74 79 70 65  20 6F 66 20 6D 65 73 73  61 67 65 20 69 6E 63 6C  75 64 65 73 20 61 6E 20  ach type of message includes an 
00007CE0  69 64 65 6E 74 69 66 69  65 72 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  identifier◙                     
00007D00  20 20 20 20 6C 69 6B 65  20 5B 08 5B 08 5B 08 5B  31 08 31 08 31 08 31 34  08 34 08 34 08 34 35 08      like [◘[◘[◘[1◘1◘1◘14◘4◘4◘45◘
00007D20  35 08 35 08 35 5D 08 5D  08 5D 08 5D 3B 20 79 6F  75 20 63 61 6E 20 61 64  64 20 74 68 69 73 20 69  5◘5◘5]◘]◘]◘]; you can add this i
00007D40  64 65 6E 74 69 66 69 65  72 20 74 6F 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  dentifier to◙                   
00007D60  20 20 20 20 20 20 74 68  65 20 45 08 45 08 45 08  45 61 08 61 08 61 08 61  74 08 74 08 74 08 74 4E        the E◘E◘E◘Ea◘a◘a◘at◘t◘t◘tN
00007D80  08 4E 08 4E 08 4E 6F 08  6F 08 6F 08 6F 74 08 74  08 74 08 74 65 08 65 08  65 08 65 73 08 73 08 73  ◘N◘N◘No◘o◘o◘ot◘t◘t◘te◘e◘e◘es◘s◘s
00007DA0  08 73 20 6C 69 73 74 20  74 6F 20 73 75 70 70 72  65 73 73 20 74 68 61 74  20 6D 65 73 73 61 67 65  ◘s list to suppress that message
00007DC0  2E 0A 0A 0A 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  .◙◙◙◙                           
00007DE0  20 20 20 20 20 20 20 20  2D 20 39 20 2D 20 46 6F  72 6D 61 74 74 65 64 3A  20 20 46 65 62 72 75 61          - 9 - Formatted:  Februa
00007E00  72 79 20 32 38 2C 20 31  39 39 31 0A 0A 0A 0A 0A  0A 0A 20 20 20 20 20 50  08 50 08 50 08 50 32 08  ry 28, 1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘
00007E20  32 08 32 08 32 43 08 43  08 43 08 43 28 08 28 08  28 08 28 31 08 31 08 31  08 31 29 08 29 08 29 08  2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘
00007E40  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 28 08 28 08 28 08 28  )                        (◘(◘(◘(
00007E60  6C 08 6C 08 6C 08 6C 6F  08 6F 08 6F 08 6F 63 08  63 08 63 08 63 61 08 61  08 61 08 61 6C 08 6C 08  l◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘
00007E80  6C 08 6C 29 08 29 08 29  08 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  l◘l)◘)◘)◘)                      
00007EA0  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  43 08 43 08 43 28 08 28  08 28 08 28 31 08 31 08  P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘
00007EC0  31 08 31 29 08 29 08 29  08 29 0A 0A 0A 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  1◘1)◘)◘)◘)◙◙◙◙                  
00007EE0  20 20 20 20 20 20 20 41  6E 6F 74 68 65 72 20 75  73 65 66 75 6C 20 66 6F  72 6D 20 69 73 20 74 6F         Another useful form is to
00007F00  20 75 73 65 20 61 20 76  61 72 69 61 62 6C 65 20  6E 61 6D 65 0A 20 20 20  20 20 20 20 20 20 20 20   use a variable name◙           
00007F20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6F 72  20 6F 74 68 65 72 20 69  64 65 6E 74 69 66 69 65                or other identifie
00007F40  72 20 74 6F 20 73 75 70  70 72 65 73 73 20 77 61  72 6E 69 6E 67 73 0A 20  20 20 20 20 20 20 20 20  r to suppress warnings◙         
00007F60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  61 62 6F 75 74 20 74 68  61 74 20 76 61 72 69 61                  about that varia
00007F80  62 6C 65 2E 20 20 54 68  65 20 73 74 72 69 6E 67  73 20 61 72 65 20 61 0A  20 20 20 20 20 20 20 20  ble.  The strings are a◙        
00007FA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 73 70 61 63 65 2D 73  65 70 61 72 61 74 65 64                   space-separated
00007FC0  20 6C 69 73 74 2C 20 61  6E 64 20 74 68 75 73 20  6D 61 79 20 6E 6F 74 0A  20 20 20 20 20 20 20 20   list, and thus may not◙        
00007FE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 63 6F 6E 74 61 69 6E  20 65 6D 62 65 64 64 65                   contain embedde
00008000  64 20 73 70 61 63 65 73  2E 20 20 54 6F 20 73 75  70 70 72 65 73 73 20 6E  6F 74 65 73 0A 20 20 20  d spaces.  To suppress notes◙   
00008020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 61 72  6F 75 6E 64 20 61 20 73                        around a s
00008040  65 63 74 69 6F 6E 20 6F  66 20 63 6F 64 65 2C 20  75 73 65 2C 20 65 2E 67  2E 2C 0A 20 20 20 20 20  ection of code, use, e.g.,◙     
00008060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 7B 5F 08 45  5F 08 61 5F 08 74 5F 08                      {_◘E_◘a_◘t_◘
00008080  4E 5F 08 6F 5F 08 74 5F  08 65 5F 08 73 2B 5B 5F  08 31 5F 08 34 5F 08 35  5D 7D 20 61 6E 64 20 7B  N_◘o_◘t_◘e_◘s+[_◘1_◘4_◘5]} and {
000080A0  5F 08 45 5F 08 61 5F 08  74 5F 08 4E 5F 08 6F 5F  08 74 5F 08 65 5F 08 73  2D 5B 5F 08 31 5F 08 34  _◘E_◘a_◘t_◘N_◘o_◘t_◘e_◘s-[_◘1_◘4
000080C0  5F 08 35 5D 7D 2E 20 4D  6F 73 74 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  _◘5]}. Most◙                    
000080E0  20 20 20 20 20 6E 6F 74  65 73 20 61 72 65 20 67  65 6E 65 72 61 74 65 64  20 64 75 72 69 6E 67 20       notes are generated during 
00008100  70 61 72 73 69 6E 67 2C  20 62 75 74 20 74 6F 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  parsing, but to◙                
00008120  20 20 20 20 20 20 20 20  20 73 75 70 70 72 65 73  73 20 74 68 6F 73 65 20  67 65 6E 65 72 61 74 65           suppress those generate
00008140  64 20 64 75 72 69 6E 67  20 6F 75 74 70 75 74 20  74 68 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  d during output the◙            
00008160  20 20 20 20 20 20 20 20  20 20 20 20 20 73 74 72  69 6E 67 20 6D 61 79 20  6E 65 65 64 20 74 6F 20               string may need to 
00008180  72 65 6D 61 69 6E 20 69  6E 20 74 68 65 20 6C 69  73 74 20 66 61 72 0A 20  20 20 20 20 20 20 20 20  remain in the list far◙         
000081A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  62 65 79 6F 6E 64 20 74  68 65 20 70 6F 69 6E 74                  beyond the point
000081C0  20 77 68 65 72 65 20 69  74 20 61 70 70 65 61 72  73 20 74 6F 20 62 65 0A  20 20 20 20 20 20 20 20   where it appears to be◙        
000081E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 67 65 6E 65 72 61 74  65 64 2E 20 20 55 73 65                   generated.  Use
00008200  20 74 68 65 20 73 74 72  69 6E 67 20 22 31 22 20  6F 72 20 22 30 22 20 74  6F 0A 20 20 20 20 20 20   the string "1" or "0" to◙      
00008220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 64 69 73 61 62  6C 65 20 6F 72 20 65 6E                     disable or en
00008240  61 62 6C 65 20 61 6C 6C  20 6E 6F 74 65 73 2C 20  72 65 73 70 65 63 74 69  76 65 6C 79 2E 0A 0A 20  able all notes, respectively.◙◙ 
00008260  20 20 20 20 20 20 20 20  20 45 08 45 08 45 08 45  78 08 78 08 78 08 78 70  08 70 08 70 08 70 61 08           E◘E◘E◘Ex◘x◘x◘xp◘p◘p◘pa◘
00008280  61 08 61 08 61 6E 08 6E  08 6E 08 6E 64 08 64 08  64 08 64 49 08 49 08 49  08 49 6E 08 6E 08 6E 08  a◘a◘an◘n◘n◘nd◘d◘d◘dI◘I◘I◘In◘n◘n◘
000082A0  6E 63 08 63 08 63 08 63  6C 08 6C 08 6C 08 6C 75  08 75 08 75 08 75 64 08  64 08 64 08 64 65 08 65  nc◘c◘c◘cl◘l◘l◘lu◘u◘u◘ud◘d◘d◘de◘e
000082C0  08 65 08 65 73 08 73 08  73 08 73 20 54 68 65 20  64 65 66 61 75 6C 74 20  61 63 74 69 6F 6E 20 69  ◘e◘es◘s◘s◘s The default action i
000082E0  73 20 74 6F 20 65 78 70  61 6E 64 20 50 61 73 63  61 6C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  s to expand Pascal◙             
00008300  20 20 20 20 20 20 20 20  20 20 20 20 69 6E 63 6C  75 64 65 20 66 69 6C 65  73 20 69 6E 2D 6C 69 6E              include files in-lin
00008320  65 2E 20 20 54 68 69 73  20 6D 61 79 20 6E 6F 74  20 62 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  e.  This may not be◙            
00008340  20 20 20 20 20 20 20 20  20 20 20 20 20 64 65 73  69 72 61 62 6C 65 20 69  66 20 69 6E 63 6C 75 64               desirable if includ
00008360  65 20 66 69 6C 65 73 20  61 72 65 20 62 65 69 6E  67 20 75 73 65 64 20 74  6F 0A 20 20 20 20 20 20  e files are being used to◙      
00008380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 73 69 6D 75 6C  61 74 65 20 6D 6F 64 75                     simulate modu
000083A0  6C 65 73 2E 20 20 57 69  74 68 20 45 08 45 08 45  08 45 78 08 78 08 78 08  78 70 08 70 08 70 08 70  les.  With E◘E◘E◘Ex◘x◘x◘xp◘p◘p◘p
000083C0  61 08 61 08 61 08 61 6E  08 6E 08 6E 08 6E 64 08  64 08 64 08 64 49 08 49  08 49 08 49 6E 08 6E 08  a◘a◘a◘an◘n◘n◘nd◘d◘d◘dI◘I◘I◘In◘n◘
000083E0  6E 08 6E 63 08 63 08 63  08 63 6C 08 6C 08 6C 08  6C 75 08 75 08 75 08 75  64 08 64 08 64 08 64 65  n◘nc◘c◘c◘cl◘l◘l◘lu◘u◘u◘ud◘d◘d◘de
00008400  08 65 08 65 08 65 73 08  73 08 73 08 73 3D 30 2C  20 5F 08 70 5F 08 32 5F  08 63 0A 20 20 20 20 20  ◘e◘e◘es◘s◘s◘s=0, _◘p_◘2_◘c◙     
00008420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 61 74 74 65  6D 70 74 73 20 74 6F 20                      attempts to 
00008440  63 6F 6E 76 65 72 74 20  69 6E 63 6C 75 64 65 20  66 69 6C 65 73 20 63 6F  6E 74 61 69 6E 69 6E 67  convert include files containing
00008460  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6F 6E 6C 79 20 77  ◙                         only w
00008480  68 6F 6C 65 20 70 72 6F  63 65 64 75 72 65 73 20  61 6E 64 20 67 6C 6F 62  61 6C 20 64 65 63 6C 61  hole procedures and global decla
000084A0  72 61 74 69 6F 6E 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  rations◙                        
000084C0  20 69 6E 74 6F 20 61 6E  61 6C 6F 67 6F 75 73 20  43 20 69 6E 63 6C 75 64  65 20 66 69 6C 65 73 2E   into analogous C include files.
000084E0  20 20 54 68 69 73 20 6D  61 79 20 6E 6F 74 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20    This may not◙                 
00008500  20 20 20 20 20 20 20 20  61 6C 77 61 79 73 20 77  6F 72 6B 2C 20 74 68 6F  75 67 68 3B 20 69 66 20          always work, though; if 
00008520  79 6F 75 20 67 65 74 20  65 72 72 6F 72 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  you get error◙                  
00008540  20 20 20 20 20 20 20 6D  65 73 73 61 67 65 73 2C  20 64 6F 6E 27 74 20 75  73 65 20 74 68 69 73 20         messages, don't use this 
00008560  6F 70 74 69 6F 6E 2E 20  20 42 79 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  option.  By◙                    
00008580  20 20 20 20 20 63 6F 6D  62 69 6E 69 6E 67 20 74  68 69 73 20 6F 70 74 69  6F 6E 20 77 69 74 68 20       combining this option with 
000085A0  53 08 53 08 53 08 53 74  08 74 08 74 08 74 61 08  61 08 61 08 61 74 08 74  08 74 08 74 69 08 69 08  S◘S◘S◘St◘t◘t◘ta◘a◘a◘at◘t◘t◘ti◘i◘
000085C0  69 08 69 63 08 63 08 63  08 63 46 08 46 08 46 08  46 75 08 75 08 75 08 75  6E 08 6E 08 6E 08 6E 63  i◘ic◘c◘c◘cF◘F◘F◘Fu◘u◘u◘un◘n◘n◘nc
000085E0  08 63 08 63 08 63 74 08  74 08 74 08 74 69 08 69  08 69 08 69 6F 08 6F 08  6F 08 6F 6E 08 6E 08 6E  ◘c◘c◘ct◘t◘t◘ti◘i◘i◘io◘o◘o◘on◘n◘n
00008600  08 6E 73 08 73 08 73 08  73 3D 30 2C 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘ns◘s◘s◘s=0,◙                   
00008620  20 20 20 20 20 20 74 68  65 6E 20 64 6F 69 6E 67  20 73 6F 6D 65 20 66 61  69 72 6C 79 20 6D 69 6E        then doing some fairly min
00008640  6F 72 20 65 64 69 74 69  6E 67 20 6F 6E 20 74 68  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  or editing on the◙              
00008660  20 20 20 20 20 20 20 20  20 20 20 72 65 73 75 6C  74 2C 20 79 6F 75 20 63  61 6E 20 63 6F 6E 76 65             result, you can conve
00008680  72 74 20 61 20 70 73 65  75 64 6F 2D 6D 6F 64 75  6C 61 72 0A 20 20 20 20  20 20 20 20 20 20 20 20  rt a pseudo-modular◙            
000086A0  20 20 20 20 20 20 20 20  20 20 20 20 20 50 61 73  63 61 6C 20 70 72 6F 67  72 61 6D 20 69 6E 74 6F               Pascal program into
000086C0  20 61 20 74 72 75 6C 79  20 6D 6F 64 75 6C 61 72  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   a truly modular◙               
000086E0  20 20 20 20 20 20 20 20  20 20 63 6F 6C 6C 65 63  74 69 6F 6E 20 6F 66 20  43 20 73 6F 75 72 63 65            collection of C source
00008700  20 66 69 6C 65 73 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 45 08 45 08 45  08 45 6C 08 6C 08 6C 08   files.◙◙          E◘E◘E◘El◘l◘l◘
00008720  6C 69 08 69 08 69 08 69  6D 08 6D 08 6D 08 6D 44  08 44 08 44 08 44 65 08  65 08 65 08 65 61 08 61  li◘i◘i◘im◘m◘m◘mD◘D◘D◘De◘e◘e◘ea◘a
00008740  08 61 08 61 64 08 64 08  64 08 64 43 08 43 08 43  08 43 6F 08 6F 08 6F 08  6F 64 08 64 08 64 08 64  ◘a◘ad◘d◘d◘dC◘C◘C◘Co◘o◘o◘od◘d◘d◘d
00008760  65 08 65 08 65 08 65 20  20 20 53 6F 6D 65 20 74  72 61 6E 73 66 6F 72 6D  61 74 69 6F 6E 73 20 74  e◘e◘e◘e   Some transformations t
00008780  68 61 74 20 5F 08 70 5F  08 32 5F 08 63 20 64 6F  65 73 20 6F 6E 20 74 68  65 0A 20 20 20 20 20 20  hat _◘p_◘2_◘c does on the◙      
000087A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 70 72 6F 67 72  61 6D 20 6D 61 79 20 72                     program may r
000087C0  65 73 75 6C 74 20 69 6E  20 75 6E 72 65 61 63 68  61 62 6C 65 20 6F 72 20  22 64 65 61 64 22 0A 20  esult in unreachable or "dead"◙ 
000087E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  63 6F 64 65 2E 20 20 42                          code.  B
00008800  79 20 64 65 66 61 75 6C  74 20 5F 08 70 5F 08 32  5F 08 63 20 72 65 6D 6F  76 65 73 20 73 75 63 68  y default _◘p_◘2_◘c removes such
00008820  20 63 6F 64 65 2C 20 62  75 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   code, but◙                     
00008840  20 20 20 20 73 6F 6D 65  74 69 6D 65 73 20 69 74  20 72 65 6D 6F 76 65 73  20 6D 6F 72 65 20 74 68      sometimes it removes more th
00008860  61 6E 20 69 74 20 73 68  6F 75 6C 64 2E 20 20 49  66 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  an it should.  If◙              
00008880  20 20 20 20 20 20 20 20  20 20 20 79 6F 75 20 68  61 76 65 20 22 69 66 20  66 61 6C 73 65 22 20 73             you have "if false" s
000088A0  65 67 6D 65 6E 74 73 20  77 68 69 63 68 20 79 6F  75 20 77 69 73 68 0A 20  20 20 20 20 20 20 20 20  egments which you wish◙         
000088C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  74 6F 20 72 65 74 61 69  6E 20 69 6E 20 43 2C 20                  to retain in C, 
000088E0  79 6F 75 20 6D 61 79 20  68 61 76 65 20 74 6F 20  73 65 74 0A 20 20 20 20  20 20 20 20 20 20 20 20  you may have to set◙            
00008900  20 20 20 20 20 20 20 20  20 20 20 20 20 45 08 45  08 45 08 45 6C 08 6C 08  6C 08 6C 69 08 69 08 69               E◘E◘E◘El◘l◘l◘li◘i◘i
00008920  08 69 6D 08 6D 08 6D 08  6D 44 08 44 08 44 08 44  65 08 65 08 65 08 65 61  08 61 08 61 08 61 64 08  ◘im◘m◘m◘mD◘D◘D◘De◘e◘e◘ea◘a◘a◘ad◘
00008940  64 08 64 08 64 43 08 43  08 43 08 43 6F 08 6F 08  6F 08 6F 64 08 64 08 64  08 64 65 08 65 08 65 08  d◘d◘dC◘C◘C◘Co◘o◘o◘od◘d◘d◘de◘e◘e◘
00008960  65 3D 30 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  53 08 53 08 53 08 53 6B  08 6B 08 6B 08 6B 69 08  e=0.◙◙          S◘S◘S◘Sk◘k◘k◘ki◘
00008980  69 08 69 08 69 70 08 70  08 70 08 70 49 08 49 08  49 08 49 6E 08 6E 08 6E  08 6E 64 08 64 08 64 08  i◘i◘ip◘p◘p◘pI◘I◘I◘In◘n◘n◘nd◘d◘d◘
000089A0  64 69 08 69 08 69 08 69  63 08 63 08 63 08 63 65  08 65 08 65 08 65 73 08  73 08 73 08 73 20 20 20  di◘i◘i◘ic◘c◘c◘ce◘e◘e◘es◘s◘s◘s   
000089C0  20 4E 6F 72 6D 61 6C 6C  79 20 50 61 73 63 61 6C  20 61 72 72 61 79 73 20  6E 6F 74 20 62 61 73 65   Normally Pascal arrays not base
000089E0  64 20 61 74 20 7A 65 72  6F 20 61 72 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  d at zero are◙                  
00008A00  20 20 20 20 20 20 20 22  73 68 69 66 74 65 64 22  20 64 6F 77 6E 20 66 6F  72 20 43 2C 20 70 72 65         "shifted" down for C, pre
00008A20  73 65 72 76 69 6E 67 20  74 68 65 20 74 6F 74 61  6C 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  serving the total◙              
00008A40  20 20 20 20 20 20 20 20  20 20 20 73 69 7A 65 20  6F 66 20 74 68 65 20 61  72 72 61 79 2E 20 20 41             size of the array.  A
00008A60  20 50 61 73 63 61 6C 20  61 72 72 61 79 20 61 5B  32 2E 2E 31 30 5D 0A 20  20 20 20 20 20 20 20 20   Pascal array a[2..10]◙         
00008A80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  69 73 20 74 72 61 6E 73  6C 61 74 65 64 20 74 6F                  is translated to
00008AA0  20 61 20 43 20 61 72 72  61 79 20 61 5B 39 5D 20  77 69 74 68 0A 20 20 20  20 20 20 20 20 20 20 20   a C array a[9] with◙           
00008AC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 65  66 65 72 65 6E 63 65 73  20 6C 69 6B 65 20 22 61                references like "a
00008AE0  5B 69 5D 22 20 63 68 61  6E 67 65 64 20 74 6F 20  22 61 5B 69 2D 32 5D 22  0A 20 20 20 20 20 20 20  [i]" changed to "a[i-2]"◙       
00008B00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 65 76 65 72 79 77  68 65 72 65 2E 20 20 49                    everywhere.  I
00008B20  66 20 53 08 53 08 53 08  53 6B 08 6B 08 6B 08 6B  69 08 69 08 69 08 69 70  08 70 08 70 08 70 49 08  f S◘S◘S◘Sk◘k◘k◘ki◘i◘i◘ip◘p◘p◘pI◘
00008B40  49 08 49 08 49 6E 08 6E  08 6E 08 6E 64 08 64 08  64 08 64 69 08 69 08 69  08 69 63 08 63 08 63 08  I◘I◘In◘n◘n◘nd◘d◘d◘di◘i◘i◘ic◘c◘c◘
00008B60  63 65 08 65 08 65 08 65  73 08 73 08 73 08 73 20  69 73 20 73 65 74 20 74  6F 20 61 20 76 61 6C 75  ce◘e◘e◘es◘s◘s◘s is set to a valu
00008B80  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 6F 66 20 32 20  e◙                         of 2 
00008BA0  6F 72 20 68 69 67 68 65  72 2C 20 74 68 69 73 20  61 72 72 61 79 20 77 6F  75 6C 64 20 69 6E 73 74  or higher, this array would inst
00008BC0  65 61 64 20 62 65 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ead be◙                         
00008BE0  74 72 61 6E 73 6C 61 74  65 64 20 74 6F 20 61 5B  31 31 5D 20 77 69 74 68  20 74 68 65 20 66 69 72  translated to a[11] with the fir
00008C00  73 74 20 74 77 6F 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  st two◙                         
00008C20  65 6C 65 6D 65 6E 74 73  20 6E 65 76 65 72 20 75  73 65 64 2E 20 20 54 68  69 73 20 61 72 72 61 6E  elements never used.  This arran
00008C40  67 65 6D 65 6E 74 20 6D  61 79 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  gement may◙                     
00008C60  20 20 20 20 67 65 6E 65  72 61 74 65 20 69 6E 63  6F 72 72 65 63 74 20 63  6F 64 65 2C 20 74 68 6F      generate incorrect code, tho
00008C80  75 67 68 2C 20 66 6F 72  20 74 72 69 63 6B 79 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ugh, for tricky◙                
00008CA0  20 20 20 20 20 20 20 20  20 73 6F 75 72 63 65 20  70 72 6F 67 72 61 6D 73  2E 0A 0A 20 20 20 20 20           source programs.◙◙     
00008CC0  20 20 20 20 20 46 08 46  08 46 08 46 6F 08 6F 08  6F 08 6F 6C 08 6C 08 6C  08 6C 64 08 64 08 64 08       F◘F◘F◘Fo◘o◘o◘ol◘l◘l◘ld◘d◘d◘
00008CE0  64 43 08 43 08 43 08 43  6F 08 6F 08 6F 08 6F 6E  08 6E 08 6E 08 6E 73 08  73 08 73 08 73 74 08 74  dC◘C◘C◘Co◘o◘o◘on◘n◘n◘ns◘s◘s◘st◘t
00008D00  08 74 08 74 61 08 61 08  61 08 61 6E 08 6E 08 6E  08 6E 74 08 74 08 74 08  74 73 08 73 08 73 08 73  ◘t◘ta◘a◘a◘an◘n◘n◘nt◘t◘t◘ts◘s◘s◘s
00008D20  20 20 50 61 73 63 61 6C  20 6E 6F 6E 2D 73 74 72  75 63 74 75 72 65 64 20  63 6F 6E 73 74 61 6E 74    Pascal non-structured constant
00008D40  73 20 67 65 6E 65 72 61  6C 6C 79 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  s generally◙                    
00008D60  20 20 20 20 20 74 72 61  6E 73 6C 61 74 65 20 74  6F 20 23 08 23 08 23 08  23 64 08 64 08 64 08 64       translate to #◘#◘#◘#d◘d◘d◘d
00008D80  65 08 65 08 65 08 65 66  08 66 08 66 08 66 69 08  69 08 69 08 69 6E 08 6E  08 6E 08 6E 65 08 65 08  e◘e◘e◘ef◘f◘f◘fi◘i◘i◘in◘n◘n◘ne◘e◘
00008DA0  65 08 65 27 73 20 69 6E  20 43 2E 20 20 53 65 74  20 74 68 69 73 20 74 6F  20 31 0A 20 20 20 20 20  e◘e's in C.  Set this to 1◙     
00008DC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 6F 20 68  61 76 65 20 63 6F 6E 73                      to have cons
00008DE0  74 61 6E 74 73 20 69 6E  73 74 61 6E 74 69 61 74  65 64 20 64 69 72 65 63  74 6C 79 20 69 6E 74 6F  tants instantiated directly into
00008E00  0A 0A 0A 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◙◙◙◙                            
00008E20  20 20 20 20 20 20 2D 20  31 30 20 2D 20 46 6F 72  6D 61 74 74 65 64 3A 20  20 46 65 62 72 75 61 72        - 10 - Formatted:  Februar
00008E40  79 20 32 38 2C 20 31 39  39 31 0A 0A 0A 0A 0A 0A  0A 20 20 20 20 20 50 08  50 08 50 08 50 32 08 32  y 28, 1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2
00008E60  08 32 08 32 43 08 43 08  43 08 43 28 08 28 08 28  08 28 31 08 31 08 31 08  31 29 08 29 08 29 08 29  ◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)
00008E80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  28 08 28 08 28 08 28 6C                          (◘(◘(◘(l
00008EA0  08 6C 08 6C 08 6C 6F 08  6F 08 6F 08 6F 63 08 63  08 63 08 63 61 08 61 08  61 08 61 6C 08 6C 08 6C  ◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l
00008EC0  08 6C 29 08 29 08 29 08  29 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 50  ◘l)◘)◘)◘)                      P
00008EE0  08 50 08 50 08 50 32 08  32 08 32 08 32 43 08 43  08 43 08 43 28 08 28 08  28 08 28 31 08 31 08 31  ◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1
00008F00  08 31 29 08 29 08 29 08  29 0A 0A 0A 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘1)◘)◘)◘)◙◙◙◙                   
00008F20  20 20 20 20 20 20 74 68  65 20 63 6F 64 65 2E 20  20 54 68 69 73 20 6D 61  79 20 62 65 20 74 75 72        the code.  This may be tur
00008F40  6E 65 64 20 6F 6E 20 6F  72 20 6F 66 66 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ned on or off◙                  
00008F60  20 20 20 20 20 20 20 61  72 6F 75 6E 64 20 73 70  65 63 69 66 69 63 20 63  6F 6E 73 74 61 6E 74 20         around specific constant 
00008F80  64 65 63 6C 61 72 61 74  69 6F 6E 73 2E 20 20 53  65 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  declarations.  Set◙             
00008FA0  20 20 20 20 20 20 20 20  20 20 20 20 74 68 69 73  20 74 6F 20 30 20 74 6F  20 66 6F 72 63 65 20 5F              this to 0 to force _
00008FC0  08 70 5F 08 32 5F 08 63  20 74 6F 20 6D 61 6B 65  20 61 62 73 6F 6C 75 74  65 6C 79 20 6E 6F 0A 20  ◘p_◘2_◘c to make absolutely no◙ 
00008FE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  61 73 73 75 6D 70 74 69                          assumpti
00009000  6F 6E 73 20 61 62 6F 75  74 20 74 68 65 20 63 6F  6E 73 74 61 6E 74 27 73  20 76 61 6C 75 65 20 69  ons about the constant's value i
00009020  6E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 67 65 6E 65 72  n◙                         gener
00009040  61 74 65 64 20 63 6F 64  65 2C 20 73 6F 20 74 68  61 74 20 79 6F 75 20 63  61 6E 20 63 68 61 6E 67  ated code, so that you can chang
00009060  65 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 63  e the◙                         c
00009080  6F 6E 73 74 61 6E 74 20  6C 61 74 65 72 20 69 6E  20 74 68 65 20 43 20 63  6F 64 65 20 77 69 74 68  onstant later in the C code with
000090A0  6F 75 74 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6E 76  out◙                         inv
000090C0  61 6C 69 64 61 74 69 6E  67 20 74 68 65 20 74 72  61 6E 73 6C 61 74 69 6F  6E 2E 20 20 54 68 65 20  alidating the translation.  The 
000090E0  64 65 66 61 75 6C 74 20  69 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  default is◙                     
00009100  20 20 20 20 74 6F 20 61  6C 6C 6F 77 20 5F 08 70  5F 08 32 5F 08 63 20 74  6F 20 74 61 6B 65 20 61      to allow _◘p_◘2_◘c to take a
00009120  64 76 61 6E 74 61 67 65  20 6F 66 20 69 74 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  dvantage of its◙                
00009140  20 20 20 20 20 20 20 20  20 6B 6E 6F 77 6C 65 64  67 65 20 6F 66 20 61 20  63 6F 6E 73 74 61 6E 74           knowledge of a constant
00009160  27 73 20 76 61 6C 75 65  2C 20 73 75 63 68 20 61  73 20 62 79 0A 20 20 20  20 20 20 20 20 20 20 20  's value, such as by◙           
00009180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 67 65  6E 65 72 61 74 69 6E 67  20 63 6F 64 65 20 74 68                generating code th
000091A0  61 74 20 61 73 73 75 6D  65 73 20 74 68 65 20 63  6F 6E 73 74 61 6E 74 20  69 73 0A 20 20 20 20 20  at assumes the constant is◙     
000091C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 70 6F 73 69  74 69 76 65 2E 0A 0A 20                      positive.◙◙ 
000091E0  20 20 20 20 20 20 20 20  20 43 08 43 08 43 08 43  68 08 68 08 68 08 68 61  08 61 08 61 08 61 72 08           C◘C◘C◘Ch◘h◘h◘ha◘a◘a◘ar◘
00009200  72 08 72 08 72 43 08 43  08 43 08 43 6F 08 6F 08  6F 08 6F 6E 08 6E 08 6E  08 6E 73 08 73 08 73 08  r◘r◘rC◘C◘C◘Co◘o◘o◘on◘n◘n◘ns◘s◘s◘
00009220  73 74 08 74 08 74 08 74  73 08 73 08 73 08 73 20  20 20 20 20 54 68 69 73  20 67 6F 76 65 72 6E 73  st◘t◘t◘ts◘s◘s◘s     This governs
00009240  20 77 68 65 74 68 65 72  20 73 69 6E 67 6C 65 2D  63 68 61 72 61 63 74 65  72 20 73 74 72 69 6E 67   whether single-character string
00009260  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6C 69 74 65 72 61  ◙                         litera
00009280  6C 73 20 69 6E 20 50 61  73 63 61 6C 20 63 08 63  08 63 08 63 6F 08 6F 08  6F 08 6F 6E 08 6E 08 6E  ls in Pascal c◘c◘c◘co◘o◘o◘on◘n◘n
000092A0  08 6E 73 08 73 08 73 08  73 74 08 74 08 74 08 74  20 64 65 63 6C 61 72 61  74 69 6F 6E 73 20 73 68  ◘ns◘s◘s◘st◘t◘t◘t declarations sh
000092C0  6F 75 6C 64 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 65  ould◙                         be
000092E0  20 69 6E 74 65 72 70 72  65 74 65 64 20 61 73 20  63 68 61 72 61 63 74 65  72 73 20 6F 72 20 73 74   interpreted as characters or st
00009300  72 69 6E 67 73 2E 20 20  49 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  rings.  In◙                     
00009320  20 20 20 20 6F 74 68 65  72 20 77 6F 72 64 73 2C  20 5F 08 63 5F 08 6F 5F  08 6E 5F 08 73 5F 08 74      other words, _◘c_◘o_◘n_◘s_◘t
00009340  20 5F 08 61 3D 27 5F 08  78 27 3B 20 77 69 6C 6C  20 74 72 61 6E 73 6C 61  74 65 20 74 6F 0A 20 20   _◘a='_◘x'; will translate to◙  
00009360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 23  5F 08 64 5F 08 65 5F 08                         #_◘d_◘e_◘
00009380  66 5F 08 69 5F 08 6E 5F  08 65 20 5F 08 61 20 27  5F 08 78 27 20 69 66 20  43 08 43 08 43 08 43 68  f_◘i_◘n_◘e _◘a '_◘x' if C◘C◘C◘Ch
000093A0  08 68 08 68 08 68 61 08  61 08 61 08 61 72 08 72  08 72 08 72 43 08 43 08  43 08 43 6F 08 6F 08 6F  ◘h◘h◘ha◘a◘a◘ar◘r◘r◘rC◘C◘C◘Co◘o◘o
000093C0  08 6F 6E 08 6E 08 6E 08  6E 73 08 73 08 73 08 73  74 08 74 08 74 08 74 73  08 73 08 73 08 73 3D 31  ◘on◘n◘n◘ns◘s◘s◘st◘t◘t◘ts◘s◘s◘s=1
000093E0  20 28 74 68 65 20 64 65  66 61 75 6C 74 29 2C 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   (the default),◙                
00009400  20 20 20 20 20 20 20 20  20 6F 72 20 74 6F 20 23  5F 08 64 5F 08 65 5F 08  66 5F 08 69 5F 08 6E 5F           or to #_◘d_◘e_◘f_◘i_◘n_
00009420  08 65 20 5F 08 61 20 5F  08 78 20 69 66 20 43 08  43 08 43 08 43 68 08 68  08 68 08 68 61 08 61 08  ◘e _◘a _◘x if C◘C◘C◘Ch◘h◘h◘ha◘a◘
00009440  61 08 61 72 08 72 08 72  08 72 43 08 43 08 43 08  43 6F 08 6F 08 6F 08 6F  6E 08 6E 08 6E 08 6E 73  a◘ar◘r◘r◘rC◘C◘C◘Co◘o◘o◘on◘n◘n◘ns
00009460  08 73 08 73 08 73 74 08  74 08 74 08 74 73 08 73  08 73 08 73 3D 30 2E 20  20 4E 6F 74 65 20 74 68  ◘s◘s◘st◘t◘t◘ts◘s◘s◘s=0.  Note th
00009480  61 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 69 66 20 5F  at◙                         if _
000094A0  08 70 5F 08 32 5F 08 63  20 67 75 65 73 73 65 73  20 77 72 6F 6E 67 2C 20  74 68 65 20 67 65 6E 65  ◘p_◘2_◘c guesses wrong, the gene
000094C0  72 61 74 65 64 20 63 6F  64 65 20 77 69 6C 6C 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  rated code will◙                
000094E0  20 20 20 20 20 20 20 20  20 6E 6F 74 20 62 65 20  77 72 6F 6E 67 2C 20 6A  75 73 74 20 75 67 6C 69           not be wrong, just ugli
00009500  65 72 2E 20 20 46 6F 72  20 65 78 61 6D 70 6C 65  2C 20 69 66 20 5F 08 61  0A 20 20 20 20 20 20 20  er.  For example, if _◘a◙       
00009520  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 69 73 20 77 72 69  74 74 65 6E 20 61 73 20                    is written as 
00009540  61 20 63 68 61 72 61 63  74 65 72 20 63 6F 6E 73  74 61 6E 74 20 62 75 74  20 69 74 0A 20 20 20 20  a character constant but it◙    
00009560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 75 72  6E 73 20 6F 75 74 20 74                       turns out t
00009580  6F 20 62 65 20 75 73 65  64 20 61 73 20 61 20 73  74 72 69 6E 67 2C 20 5F  08 70 5F 08 32 5F 08 63  o be used as a string, _◘p_◘2_◘c
000095A0  20 77 69 6C 6C 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 68   will◙                         h
000095C0  61 76 65 20 74 6F 20 77  72 69 74 65 20 63 68 61  72 2D 74 6F 2D 73 74 72  69 6E 67 20 63 6F 6E 76  ave to write char-to-string conv
000095E0  65 72 73 69 6F 6E 20 63  6F 64 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ersion code◙                    
00009600  20 20 20 20 20 65 61 63  68 20 74 69 6D 65 20 74  68 65 20 63 6F 6E 73 74  61 6E 74 20 69 73 20 75       each time the constant is u
00009620  73 65 64 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  56 08 56 08 56 08 56 61  08 61 08 61 08 61 72 08  sed.◙◙          V◘V◘V◘Va◘a◘a◘ar◘
00009640  72 08 72 08 72 53 08 53  08 53 08 53 74 08 74 08  74 08 74 72 08 72 08 72  08 72 69 08 69 08 69 08  r◘r◘rS◘S◘S◘St◘t◘t◘tr◘r◘r◘ri◘i◘i◘
00009660  69 6E 08 6E 08 6E 08 6E  67 08 67 08 67 08 67 73  08 73 08 73 08 73 20 20  20 20 20 49 6E 20 48 50  in◘n◘n◘ng◘g◘g◘gs◘s◘s◘s     In HP
00009680  20 50 61 73 63 61 6C 2C  20 61 20 70 61 72 61 6D  65 74 65 72 20 6F 66 20  74 68 65 20 66 6F 72 6D   Pascal, a parameter of the form
000096A0  20 22 76 61 72 20 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   "var s◙                        
000096C0  20 3A 20 73 74 72 69 6E  67 22 20 77 69 6C 6C 20  6D 61 74 63 68 20 61 20  73 74 72 69 6E 67 20 76   : string" will match a string v
000096E0  61 72 69 61 62 6C 65 20  6F 66 20 61 6E 79 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ariable of any◙                 
00009700  20 20 20 20 20 20 20 20  73 69 7A 65 3B 20 61 20  68 69 64 64 65 6E 20 73  69 7A 65 20 70 61 72 61          size; a hidden size para
00009720  6D 65 74 65 72 20 69 73  20 70 61 73 73 65 64 20  77 68 69 63 68 0A 20 20  20 20 20 20 20 20 20 20  meter is passed which◙          
00009740  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6D  61 79 20 62 65 20 61 63  63 65 73 73 65 64 20 62                 may be accessed b
00009760  79 20 74 68 65 20 50 61  73 63 61 6C 20 5F 08 73  5F 08 74 5F 08 72 5F 08  6D 5F 08 61 5F 08 78 0A  y the Pascal _◘s_◘t_◘r_◘m_◘a_◘x◙
00009780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 66 75 6E 63 74 69 6F                           functio
000097A0  6E 2E 20 20 59 6F 75 20  63 61 6E 20 70 72 65 76  65 6E 74 20 5F 08 70 5F  08 32 5F 08 63 20 66 72  n.  You can prevent _◘p_◘2_◘c fr
000097C0  6F 6D 20 63 72 65 61 74  69 6E 67 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  om creating◙                    
000097E0  20 20 20 20 20 61 20 68  69 64 64 65 6E 20 73 69  7A 65 20 70 61 72 61 6D  65 74 65 72 20 62 79 20       a hidden size parameter by 
00009800  73 65 74 74 69 6E 67 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  setting◙                        
00009820  20 56 08 56 08 56 08 56  61 08 61 08 61 08 61 72  08 72 08 72 08 72 53 08  53 08 53 08 53 74 08 74   V◘V◘V◘Va◘a◘a◘ar◘r◘r◘rS◘S◘S◘St◘t
00009840  08 74 08 74 72 08 72 08  72 08 72 69 08 69 08 69  08 69 6E 08 6E 08 6E 08  6E 67 08 67 08 67 08 67  ◘t◘tr◘r◘r◘ri◘i◘i◘in◘n◘n◘ng◘g◘g◘g
00009860  3D 30 2E 20 20 28 4E 6F  74 65 20 74 68 61 74 20  65 61 63 68 20 66 75 6E  63 74 69 6F 6E 20 75 73  =0.  (Note that each function us
00009880  65 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  es◙                         the 
000098A0  76 61 6C 75 65 20 6F 66  20 56 08 56 08 56 08 56  61 08 61 08 61 08 61 72  08 72 08 72 08 72 53 08  value of V◘V◘V◘Va◘a◘a◘ar◘r◘r◘rS◘
000098C0  53 08 53 08 53 74 08 74  08 74 08 74 72 08 72 08  72 08 72 69 08 69 08 69  08 69 6E 08 6E 08 6E 08  S◘S◘St◘t◘t◘tr◘r◘r◘ri◘i◘i◘in◘n◘n◘
000098E0  6E 67 08 67 08 67 08 67  73 08 73 08 73 08 73 20  61 73 20 6F 66 20 74 68  65 20 5F 08 66 5F 08 69  ng◘g◘g◘gs◘s◘s◘s as of the _◘f_◘i
00009900  5F 08 72 5F 08 73 5F 08  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  _◘r_◘s_◘t◙                      
00009920  20 20 20 64 65 63 6C 61  72 61 74 69 6F 6E 20 6F  66 20 74 68 65 20 66 75  6E 63 74 69 6F 6E 20 74     declaration of the function t
00009940  68 61 74 20 69 73 20 70  61 72 73 65 64 2C 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  hat is parsed,◙                 
00009960  20 20 20 20 20 20 20 20  77 68 69 63 68 20 69 73  20 6F 66 74 65 6E 20 69  6E 20 74 68 65 20 69 6E          which is often in the in
00009980  74 65 72 66 61 63 65 20  73 65 63 74 69 6F 6E 20  6F 66 20 61 0A 20 20 20  20 20 20 20 20 20 20 20  terface section of a◙           
000099A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6D 6F  64 75 6C 65 2E 29 0A 0A  20 20 20 20 20 20 20 20                module.)◙◙        
000099C0  20 20 50 08 50 08 50 08  50 72 08 72 08 72 08 72  6F 08 6F 08 6F 08 6F 74  08 74 08 74 08 74 6F 08    P◘P◘P◘Pr◘r◘r◘ro◘o◘o◘ot◘t◘t◘to◘
000099E0  6F 08 6F 08 6F 74 08 74  08 74 08 74 79 08 79 08  79 08 79 70 08 70 08 70  08 70 65 08 65 08 65 08  o◘o◘ot◘t◘t◘ty◘y◘y◘yp◘p◘p◘pe◘e◘e◘
00009A00  65 73 08 73 08 73 08 73  20 20 20 20 20 43 6F 6E  74 72 6F 6C 20 77 68 65  74 68 65 72 20 41 4E 53  es◘s◘s◘s     Control whether ANS
00009A20  49 20 43 20 66 75 6E 63  74 69 6F 6E 20 70 72 6F  74 6F 74 79 70 65 73 0A  20 20 20 20 20 20 20 20  I C function prototypes◙        
00009A40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 61 72 65 20 75 73 65  64 2E 20 20 44 65 66 61                   are used.  Defa
00009A60  75 6C 74 20 69 73 20 61  63 63 6F 72 64 69 6E 67  20 74 6F 20 41 08 41 08  41 08 41 6E 08 6E 08 6E  ult is according to A◘A◘A◘An◘n◘n
00009A80  08 6E 73 08 73 08 73 08  73 69 08 69 08 69 08 69  43 08 43 08 43 08 43 2E  0A 20 20 20 20 20 20 20  ◘ns◘s◘s◘si◘i◘i◘iC◘C◘C◘C.◙       
00009AA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 54 68 69 73 20 61  6C 73 6F 20 63 6F 6E 74                    This also cont
00009AC0  72 6F 6C 73 20 77 68 65  74 68 65 72 20 74 6F 20  69 6E 63 6C 75 64 65 0A  20 20 20 20 20 20 20 20  rols whether to include◙        
00009AE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 70 61 72 61 6D 65 74  65 72 20 6E 61 6D 65 73                   parameter names
00009B00  20 6F 72 20 6A 75 73 74  20 74 68 65 69 72 20 74  79 70 65 73 20 69 6E 0A  20 20 20 20 20 20 20 20   or just their types in◙        
00009B20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 73 69 74 75 61 74 69  6F 6E 73 20 77 68 65 72                   situations wher
00009B40  65 20 6E 61 6D 65 73 20  61 72 65 20 6F 70 74 69  6F 6E 61 6C 2E 20 20 54  68 65 0A 20 20 20 20 20  e names are optional.  The◙     
00009B60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 46 08 46 08  46 08 46 75 08 75 08 75                      F◘F◘F◘Fu◘u◘u
00009B80  08 75 6C 08 6C 08 6C 08  6C 6C 08 6C 08 6C 08 6C  50 08 50 08 50 08 50 72  08 72 08 72 08 72 6F 08  ◘ul◘l◘l◘ll◘l◘l◘lP◘P◘P◘Pr◘r◘r◘ro◘
00009BA0  6F 08 6F 08 6F 74 08 74  08 74 08 74 6F 08 6F 08  6F 08 6F 74 08 74 08 74  08 74 79 08 79 08 79 08  o◘o◘ot◘t◘t◘to◘o◘o◘ot◘t◘t◘ty◘y◘y◘
00009BC0  79 70 08 70 08 70 08 70  69 08 69 08 69 08 69 6E  08 6E 08 6E 08 6E 67 08  67 08 67 08 67 20 70 61  yp◘p◘p◘pi◘i◘i◘in◘n◘n◘ng◘g◘g◘g pa
00009BE0  72 61 6D 65 74 65 72 20  61 6C 6C 6F 77 73 20 70  72 6F 74 6F 74 79 70 65  73 0A 20 20 20 20 20 20  rameter allows prototypes◙      
00009C00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 6F 20 62 65  20 67 65 6E 65 72 61 74                     to be generat
00009C20  65 64 20 66 6F 72 20 64  65 63 6C 61 72 61 74 69  6F 6E 73 20 62 75 74 20  6E 6F 74 20 66 6F 72 0A  ed for declarations but not for◙
00009C40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 64 65 66 69 6E 69 74                           definit
00009C60  69 6F 6E 73 20 28 6F 6C  64 65 72 20 76 65 72 73  69 6F 6E 73 20 6F 66 20  4C 69 67 68 74 73 70 65  ions (older versions of Lightspe
00009C80  65 64 20 43 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 65  ed C◙                         re
00009CA0  71 75 69 72 65 64 20 74  68 69 73 29 2E 20 20 49  66 20 79 6F 75 20 75 73  65 20 61 20 6D 69 78 74  quired this).  If you use a mixt
00009CC0  75 72 65 20 6F 66 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ure of◙                         
00009CE0  70 72 6F 74 6F 74 79 70  65 73 20 61 6E 64 20 6F  6C 64 2D 73 74 79 6C 65  20 64 65 66 69 6E 69 74  prototypes and old-style definit
00009D00  69 6F 6E 73 2C 20 74 79  70 65 73 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ions, types◙                    
00009D20  20 20 20 20 20 6C 69 6B  65 20 73 68 6F 72 74 20  61 6E 64 20 66 6C 6F 61  74 20 77 69 6C 6C 20 62       like short and float will b
00009D40  65 20 70 72 6F 6D 6F 74  65 64 20 74 6F 20 69 6E  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e promoted to int◙              
00009D60  20 20 20 20 20 20 20 20  20 20 20 61 6E 64 20 64  6F 75 62 6C 65 20 61 73  20 72 65 71 75 69 72 65             and double as require
00009D80  64 20 62 79 20 74 68 65  20 41 4E 53 49 20 73 74  61 6E 64 61 72 64 2C 0A  20 20 20 20 20 20 20 20  d by the ANSI standard,◙        
00009DA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 75 6E 6C 65 73 73 20  50 08 50 08 50 08 50 72                   unless P◘P◘P◘Pr
00009DC0  08 72 08 72 08 72 6F 08  6F 08 6F 08 6F 6D 08 6D  08 6D 08 6D 6F 08 6F 08  6F 08 6F 74 08 74 08 74  ◘r◘r◘ro◘o◘o◘om◘m◘m◘mo◘o◘o◘ot◘t◘t
00009DE0  08 74 65 08 65 08 65 08  65 41 08 41 08 41 08 41  72 08 72 08 72 08 72 67  08 67 08 67 08 67 73 08  ◘te◘e◘e◘eA◘A◘A◘Ar◘r◘r◘rg◘g◘g◘gs◘
00009E00  73 08 73 08 73 20 69 73  20 75 73 65 64 20 74 6F  20 6F 76 65 72 72 69 64  65 20 74 68 69 73 2E 0A  s◘s◘s is used to override this.◙
00009E20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 54 68 65 20 43 08 43                           The C◘C
00009E40  08 43 08 43 61 08 61 08  61 08 61 73 08 73 08 73  08 73 74 08 74 08 74 08  74 41 08 41 08 41 08 41  ◘C◘Ca◘a◘a◘as◘s◘s◘st◘t◘t◘tA◘A◘A◘A
00009E60  72 08 72 08 72 08 72 67  08 67 08 67 08 67 73 08  73 08 73 08 73 20 70 61  72 61 6D 65 74 65 72 20  r◘r◘r◘rg◘g◘g◘gs◘s◘s◘s parameter 
00009E80  63 6F 6E 74 72 6F 6C 73  20 77 68 65 74 68 65 72  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  controls whether◙               
00009EA0  20 20 20 20 20 20 20 20  20 20 74 79 70 65 2D 63  61 73 74 73 20 61 72 65  20 75 73 65 64 20 69 6E            type-casts are used in
00009EC0  20 66 75 6E 63 74 69 6F  6E 20 61 72 67 75 6D 65  6E 74 73 3B 20 62 79 0A  0A 0A 0A 20 20 20 20 20   function arguments; by◙◙◙◙     
00009EE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 2D 20 31                               - 1
00009F00  31 20 2D 20 46 6F 72 6D  61 74 74 65 64 3A 20 20  46 65 62 72 75 61 72 79  20 32 38 2C 20 31 39 39  1 - Formatted:  February 28, 199
00009F20  31 0A 0A 0A 0A 0A 0A 0A  20 20 20 20 20 50 08 50  08 50 08 50 32 08 32 08  32 08 32 43 08 43 08 43  1◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘C
00009F40  08 43 28 08 28 08 28 08  28 31 08 31 08 31 08 31  29 08 29 08 29 08 29 20  20 20 20 20 20 20 20 20  ◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)         
00009F60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  08 28 08 28 08 28 6C 08  6C 08 6C 08 6C 6F 08 6F                 (◘(◘(◘(l◘l◘l◘lo◘o
00009F80  08 6F 08 6F 63 08 63 08  63 08 63 61 08 61 08 61  08 61 6C 08 6C 08 6C 08  6C 29 08 29 08 29 08 29  ◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)
00009FA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 50 08  50 08 50 08 50 32 08 32                        P◘P◘P◘P2◘2
00009FC0  08 32 08 32 43 08 43 08  43 08 43 28 08 28 08 28  08 28 31 08 31 08 31 08  31 29 08 29 08 29 08 29  ◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)
00009FE0  0A 0A 0A 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 64 65 66  ◙◙◙◙                         def
0000A000  61 75 6C 74 20 74 68 65  79 20 61 72 65 20 75 73  65 64 20 6F 6E 6C 79 20  69 66 20 70 72 6F 74 6F  ault they are used only if proto
0000A020  74 79 70 65 73 20 61 72  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  types are◙                      
0000A040  20 20 20 6E 6F 74 20 61  76 61 69 6C 61 62 6C 65  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 53 08 53     not available.◙◙          S◘S
0000A060  08 53 08 53 74 08 74 08  74 08 74 61 08 61 08 61  08 61 74 08 74 08 74 08  74 69 08 69 08 69 08 69  ◘S◘St◘t◘t◘ta◘a◘a◘at◘t◘t◘ti◘i◘i◘i
0000A080  63 08 63 08 63 08 63 4C  08 4C 08 4C 08 4C 69 08  69 08 69 08 69 6E 08 6E  08 6E 08 6E 6B 08 6B 08  c◘c◘c◘cL◘L◘L◘Li◘i◘i◘in◘n◘n◘nk◘k◘
0000A0A0  6B 08 6B 73 08 73 08 73  08 73 20 20 20 20 48 50  20 50 61 73 63 61 6C 20  61 6E 64 20 54 75 72 62  k◘ks◘s◘s◘s    HP Pascal and Turb
0000A0C0  6F 20 50 61 73 63 61 6C  20 65 61 63 68 20 69 6E  63 6C 75 64 65 20 74 68  65 0A 20 20 20 20 20 20  o Pascal each include the◙      
0000A0E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 63 6F 6E 63 65  70 74 20 6F 66 20 70 72                     concept of pr
0000A100  6F 63 65 64 75 72 65 20  6F 72 20 66 75 6E 63 74  69 6F 6E 20 70 6F 69 6E  74 65 72 73 2C 0A 20 20  ocedure or function pointers,◙  
0000A120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  68 6F 75 67 68 20 77 69                         though wi
0000A140  74 68 20 73 6F 6D 65 77  68 61 74 20 64 69 66 66  65 72 65 6E 74 20 73 79  6E 74 61 78 65 73 2E 20  th somewhat different syntaxes. 
0000A160  20 5F 08 50 5F 08 32 5F  08 63 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   _◘P_◘2_◘c◙                     
0000A180  20 20 20 20 72 65 63 6F  67 6E 69 7A 65 73 20 62  6F 74 68 20 6E 6F 74 61  74 69 6F 6E 61 6C 20 73      recognizes both notational s
0000A1A0  74 79 6C 65 73 2E 20 20  41 6E 6F 74 68 65 72 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  tyles.  Another◙                
0000A1C0  20 20 20 20 20 20 20 20  20 64 69 66 66 65 72 65  6E 63 65 20 69 73 20 74  68 61 74 20 48 50 27 73           difference is that HP's
0000A1E0  20 70 72 6F 63 65 64 75  72 65 20 70 6F 69 6E 74  65 72 73 0A 20 20 20 20  20 20 20 20 20 20 20 20   procedure pointers◙            
0000A200  20 20 20 20 20 20 20 20  20 20 20 20 20 63 61 6E  20 70 6F 69 6E 74 20 74  6F 20 6E 65 73 74 65 64               can point to nested
0000A220  20 70 72 6F 63 65 64 75  72 65 73 2C 20 77 68 69  6C 65 20 54 75 72 62 6F  27 73 0A 20 20 20 20 20   procedures, while Turbo's◙     
0000A240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 63 61 6E 20  70 6F 69 6E 74 20 6F 6E                      can point on
0000A260  6C 79 20 74 6F 20 67 6C  6F 62 61 6C 20 70 72 6F  63 65 64 75 72 65 73 2E  20 20 49 6E 20 48 50 0A  ly to global procedures.  In HP◙
0000A280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 50 61 73 63 61 6C 20                           Pascal 
0000A2A0  61 20 70 72 6F 63 65 64  75 72 65 20 70 6F 69 6E  74 65 72 20 6D 75 73 74  20 62 65 20 73 74 6F 72  a procedure pointer must be stor
0000A2C0  65 64 20 61 73 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  ed as◙                         a
0000A2E0  20 73 08 73 08 73 08 73  74 08 74 08 74 08 74 72  08 72 08 72 08 72 75 08  75 08 75 08 75 63 08 63   s◘s◘s◘st◘t◘t◘tr◘r◘r◘ru◘u◘u◘uc◘c
0000A300  08 63 08 63 74 08 74 08  74 08 74 20 63 6F 6E 74  61 69 6E 69 6E 67 20 62  6F 74 68 20 61 20 70 75  ◘c◘ct◘t◘t◘t containing both a pu
0000A320  72 65 20 43 20 66 75 6E  63 74 69 6F 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  re C function◙                  
0000A340  20 20 20 20 20 20 20 70  6F 69 6E 74 65 72 20 61  6E 64 20 61 20 22 73 74  61 74 69 63 20 6C 69 6E         pointer and a "static lin
0000A360  6B 2C 22 20 61 20 70 6F  69 6E 74 65 72 20 74 6F  20 74 68 65 0A 20 20 20  20 20 20 20 20 20 20 20  k," a pointer to the◙           
0000A380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 70 61  72 65 6E 74 20 70 72 6F  63 65 64 75 72 65 27 73                parent procedure's
0000A3A0  20 6C 6F 63 61 6C 73 2E  20 20 28 54 68 65 20 73  74 61 74 69 63 20 6C 69  6E 6B 0A 20 20 20 20 20   locals.  (The static link◙     
0000A3C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 69 73 20 4E  55 4C 4C 20 66 6F 72 20                      is NULL for 
0000A3E0  67 6C 6F 62 61 6C 20 70  72 6F 63 65 64 75 72 65  73 2E 29 20 20 54 68 69  73 0A 20 20 20 20 20 20  global procedures.)  This◙      
0000A400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 6E 6F 74 61 74  69 6F 6E 20 63 61 6E 20                     notation can 
0000A420  62 65 20 66 6F 72 63 65  64 20 62 79 20 73 65 74  74 69 6E 67 0A 20 20 20  20 20 20 20 20 20 20 20  be forced by setting◙           
0000A440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 53 08  53 08 53 08 53 74 08 74  08 74 08 74 61 08 61 08                S◘S◘S◘St◘t◘t◘ta◘a◘
0000A460  61 08 61 74 08 74 08 74  08 74 69 08 69 08 69 08  69 63 08 63 08 63 08 63  4C 08 4C 08 4C 08 4C 69  a◘at◘t◘t◘ti◘i◘i◘ic◘c◘c◘cL◘L◘L◘Li
0000A480  08 69 08 69 08 69 6E 08  6E 08 6E 08 6E 6B 08 6B  08 6B 08 6B 73 08 73 08  73 08 73 3D 31 2E 20 20  ◘i◘i◘in◘n◘n◘nk◘k◘k◘ks◘s◘s◘s=1.  
0000A4A0  49 6E 20 54 75 72 62 6F  2C 20 74 68 65 20 64 65  66 61 75 6C 74 0A 20 20  20 20 20 20 20 20 20 20  In Turbo, the default◙          
0000A4C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  53 08 53 08 53 08 53 74  08 74 08 74 08 74 61 08                 (S◘S◘S◘St◘t◘t◘ta◘
0000A4E0  61 08 61 08 61 74 08 74  08 74 08 74 69 08 69 08  69 08 69 63 08 63 08 63  08 63 4C 08 4C 08 4C 08  a◘a◘at◘t◘t◘ti◘i◘i◘ic◘c◘c◘cL◘L◘L◘
0000A500  4C 69 08 69 08 69 08 69  6E 08 6E 08 6E 08 6E 6B  08 6B 08 6B 08 6B 73 08  73 08 73 08 73 3D 30 29  Li◘i◘i◘in◘n◘n◘nk◘k◘k◘ks◘s◘s◘s=0)
0000A520  20 69 73 20 74 6F 20 75  73 65 20 70 6C 61 69 6E  20 43 20 66 75 6E 63 74  69 6F 6E 0A 20 20 20 20   is to use plain C function◙    
0000A540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 70 6F 69  6E 74 65 72 73 20 77 69                       pointers wi
0000A560  74 68 20 6E 6F 20 73 74  61 74 69 63 20 6C 69 6E  6B 73 2E 20 20 41 20 74  68 69 72 64 0A 20 20 20  th no static links.  A third◙   
0000A580  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6F 70  74 69 6F 6E 20 28 53 08                        option (S◘
0000A5A0  53 08 53 08 53 74 08 74  08 74 08 74 61 08 61 08  61 08 61 74 08 74 08 74  08 74 69 08 69 08 69 08  S◘S◘St◘t◘t◘ta◘a◘a◘at◘t◘t◘ti◘i◘i◘
0000A5C0  69 63 08 63 08 63 08 63  4C 08 4C 08 4C 08 4C 69  08 69 08 69 08 69 6E 08  6E 08 6E 08 6E 6B 08 6B  ic◘c◘c◘cL◘L◘L◘Li◘i◘i◘in◘n◘n◘nk◘k
0000A5E0  08 6B 08 6B 73 08 73 08  73 08 73 3D 32 29 20 75  73 65 73 20 73 74 72 75  63 74 75 72 65 73 20 77  ◘k◘ks◘s◘s◘s=2) uses structures w
0000A600  69 74 68 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 73 74 61  ith◙                         sta
0000A620  74 69 63 20 6C 69 6E 6B  73 2C 20 62 75 74 20 61  73 73 75 6D 65 73 20 74  68 65 20 6C 69 6E 6B 73  tic links, but assumes the links
0000A640  20 61 72 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 61 6C   are◙                         al
0000A660  77 61 79 73 20 4E 55 4C  4C 20 77 68 65 6E 20 63  61 6C 6C 69 6E 67 20 74  68 72 6F 75 67 68 20 61  ways NULL when calling through a
0000A680  20 70 6F 69 6E 74 65 72  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   pointer◙                       
0000A6A0  20 20 28 69 66 20 79 6F  75 20 6E 65 65 64 20 63  6F 6D 70 61 74 69 62 69  6C 69 74 79 20 77 69 74    (if you need compatibility wit
0000A6C0  68 20 74 68 65 20 48 50  20 66 6F 72 6D 61 74 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  h the HP format◙                
0000A6E0  20 20 20 20 20 20 20 20  20 62 75 74 20 6B 6E 6F  77 20 79 6F 75 72 20 70  72 6F 63 65 64 75 72 65           but know your procedure
0000A700  73 20 61 72 65 20 67 6C  6F 62 61 6C 29 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 53 08 53 08 53 08  s are global).◙◙          S◘S◘S◘
0000A720  53 6D 08 6D 08 6D 08 6D  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 6C 08  6C 08 6C 08 6C 53 08 53  Sm◘m◘m◘ma◘a◘a◘al◘l◘l◘ll◘l◘l◘lS◘S
0000A740  08 53 08 53 65 08 65 08  65 08 65 74 08 74 08 74  08 74 43 08 43 08 43 08  43 6F 08 6F 08 6F 08 6F  ◘S◘Se◘e◘e◘et◘t◘t◘tC◘C◘C◘Co◘o◘o◘o
0000A760  6E 08 6E 08 6E 08 6E 73  08 73 08 73 08 73 74 08  74 08 74 08 74 20 20 50  61 73 63 61 6C 20 73 65  n◘n◘n◘ns◘s◘s◘st◘t◘t◘t  Pascal se
0000A780  74 73 20 61 72 65 20 74  72 61 6E 73 6C 61 74 65  64 20 69 6E 74 6F 20 6F  6E 65 20 6F 66 20 74 77  ts are translated into one of tw
0000A7A0  6F 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 66 6F 72 6D 61  o◙                         forma
0000A7C0  74 73 2C 20 64 65 70 65  6E 64 69 6E 67 20 6F 6E  20 74 68 65 20 73 69 7A  65 20 6F 66 20 74 68 65  ts, depending on the size of the
0000A7E0  20 73 65 74 2E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 49   set.◙                         I
0000A800  66 20 61 6C 6C 20 65 6C  65 6D 65 6E 74 73 20 68  61 76 65 20 6F 72 64 69  6E 61 6C 20 76 61 6C 75  f all elements have ordinal valu
0000A820  65 73 20 69 6E 20 74 68  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  es in the◙                      
0000A840  20 20 20 72 61 6E 67 65  20 30 2E 2E 33 31 2C 20  74 68 65 20 73 65 74 20  69 73 20 74 72 61 6E 73     range 0..31, the set is trans
0000A860  6C 61 74 65 64 20 61 73  20 61 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  lated as a◙                     
0000A880  20 20 20 20 73 69 6E 67  6C 65 20 69 6E 74 65 67  65 72 20 76 61 72 69 61  62 6C 65 20 75 73 69 6E      single integer variable usin
0000A8A0  67 20 62 69 74 20 6F 70  65 72 61 74 69 6F 6E 73  2E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  g bit operations.◙              
0000A8C0  20 20 20 20 20 20 20 20  20 20 20 28 54 68 65 20  53 08 53 08 53 08 53 65  08 65 08 65 08 65 74 08             (The S◘S◘S◘Se◘e◘e◘et◘
0000A8E0  74 08 74 08 74 42 08 42  08 42 08 42 69 08 69 08  69 08 69 74 08 74 08 74  08 74 73 08 73 08 73 08  t◘t◘tB◘B◘B◘Bi◘i◘i◘it◘t◘t◘ts◘s◘s◘
0000A900  73 20 70 61 72 61 6D 65  74 65 72 20 6D 61 79 20  62 65 20 75 73 65 64 20  74 6F 20 63 68 61 6E 67  s parameter may be used to chang
0000A920  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 68 65 20 75  e◙                         the u
0000A940  70 70 65 72 20 6C 69 6D  69 74 20 6F 66 20 33 31  2E 29 20 54 68 65 20 53  08 53 08 53 08 53 6D 08  pper limit of 31.) The S◘S◘S◘Sm◘
0000A960  6D 08 6D 08 6D 61 08 61  08 61 08 61 6C 08 6C 08  6C 08 6C 6C 08 6C 08 6C  08 6C 53 08 53 08 53 08  m◘m◘ma◘a◘a◘al◘l◘l◘ll◘l◘l◘lS◘S◘S◘
0000A980  53 65 08 65 08 65 08 65  74 08 74 08 74 08 74 43  08 43 08 43 08 43 6F 08  6F 08 6F 08 6F 6E 08 6E  Se◘e◘e◘et◘t◘t◘tC◘C◘C◘Co◘o◘o◘on◘n
0000A9A0  08 6E 08 6E 73 08 73 08  73 08 73 74 08 74 08 74  08 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘n◘ns◘s◘s◘st◘t◘t◘t◙             
0000A9C0  20 20 20 20 20 20 20 20  20 20 20 20 70 61 72 61  6D 65 74 65 72 20 63 6F  6E 74 72 6F 6C 73 20 77              parameter controls w
0000A9E0  68 65 74 68 65 72 20 74  68 65 73 65 20 73 6D 61  6C 6C 2D 73 65 74 73 0A  20 20 20 20 20 20 20 20  hether these small-sets◙        
0000AA00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 61 72 65 20 75 73 65  64 2C 20 61 6E 64 2C 20                   are used, and, 
0000AA20  69 66 20 73 6F 2C 20 68  6F 77 20 63 6F 6E 73 74  61 6E 74 20 73 65 74 73  0A 20 20 20 20 20 20 20  if so, how constant sets◙       
0000AA40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 73 68 6F 75 6C 64  20 62 65 20 72 65 70 72                    should be repr
0000AA60  65 73 65 6E 74 65 64 20  69 6E 20 43 2E 20 20 20  46 6F 72 20 6C 61 72 67  65 72 0A 20 20 20 20 20  esented in C.   For larger◙     
0000AA80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 73 65 74 73  2C 20 61 6E 20 61 72 72                      sets, an arr
0000AAA0  61 79 20 6F 66 20 6C 08  6C 08 6C 08 6C 6F 08 6F  08 6F 08 6F 6E 08 6E 08  6E 08 6E 67 08 67 08 67  ay of l◘l◘l◘lo◘o◘o◘on◘n◘n◘ng◘g◘g
0000AAC0  08 67 20 69 73 20 75 73  65 64 2E 20 20 54 68 65  20 5F 08 73 5B 30 5D 0A  20 20 20 20 20 20 20 20  ◘g is used.  The _◘s[0]◙        
0000AAE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 65 6C 65 6D 65 6E 74  20 63 6F 6E 74 61 69 6E                   element contain
0000AB00  73 20 74 68 65 20 6E 75  6D 62 65 72 20 6F 66 20  73 75 63 63 65 65 64 69  6E 67 0A 20 20 20 20 20  s the number of succeeding◙     
0000AB20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 61 72 72 61  79 20 65 6C 65 6D 65 6E                      array elemen
0000AB40  74 73 20 77 68 69 63 68  20 61 72 65 20 69 6E 20  75 73 65 2E 20 20 53 65  74 0A 20 20 20 20 20 20  ts which are in use.  Set◙      
0000AB60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 65 6C 65 6D 65  6E 74 73 20 69 6E 20 74                     elements in t
0000AB80  68 65 20 72 61 6E 67 65  20 30 2E 2E 33 31 20 61  72 65 20 73 74 6F 72 65  64 20 69 6E 20 74 68 65  he range 0..31 are stored in the
0000ABA0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 5F 08 73 5B 31 5D  ◙                         _◘s[1]
0000ABC0  20 61 72 72 61 79 20 65  6C 65 6D 65 6E 74 2C 20  61 6E 64 20 73 6F 20 6F  6E 2E 20 20 53 65 74 73   array element, and so on.  Sets
0000ABE0  20 61 72 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6E 6F   are◙                         no
0000AC00  72 6D 61 6C 69 7A 65 64  20 73 6F 20 74 68 61 74  20 5F 08 73 5B 5F 08 73  5B 30 5D 5D 20 69 73 20  rmalized so that _◘s[_◘s[0]] is 
0000AC20  6E 6F 6E 7A 65 72 6F 20  66 6F 72 20 61 6E 79 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nonzero for any◙                
0000AC40  20 20 20 20 20 20 20 20  20 6E 6F 6E 65 6D 70 74  79 20 73 65 74 2E 20 20  54 68 65 20 73 74 61 6E           nonempty set.  The stan
0000AC60  64 61 72 64 20 72 75 6E  2D 74 69 6D 65 20 6C 69  62 72 61 72 79 0A 20 20  20 20 20 20 20 20 20 20  dard run-time library◙          
0000AC80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  6E 63 6C 75 64 65 73 20  61 6C 6C 20 74 68 65 20                 includes all the 
0000ACA0  6E 65 63 65 73 73 61 72  79 20 70 72 6F 63 65 64  75 72 65 73 20 66 6F 72  0A 20 20 20 20 20 20 20  necessary procedures for◙       
0000ACC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6F 70 65 72 61 74  69 6E 67 20 6F 6E 20 73                    operating on s
0000ACE0  65 74 73 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  52 08 52 08 52 08 52 65  08 65 08 65 08 65 74 08  ets.◙◙          R◘R◘R◘Re◘e◘e◘et◘
0000AD00  74 08 74 08 74 75 08 75  08 75 08 75 72 08 72 08  72 08 72 6E 08 6E 08 6E  08 6E 56 08 56 08 56 08  t◘t◘tu◘u◘u◘ur◘r◘r◘rn◘n◘n◘nV◘V◘V◘
0000AD20  56 61 08 61 08 61 08 61  6C 08 6C 08 6C 08 6C 75  08 75 08 75 08 75 65 08  65 08 65 08 65 4E 08 4E  Va◘a◘a◘al◘l◘l◘lu◘u◘u◘ue◘e◘e◘eN◘N
0000AD40  08 4E 08 4E 61 08 61 08  61 08 61 6D 08 6D 08 6D  08 6D 65 08 65 08 65 08  65 0A 20 20 20 20 20 20  ◘N◘Na◘a◘a◘am◘m◘m◘me◘e◘e◘e◙      
0000AD60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 54 68 69 73 20  69 73 20 6F 6E 65 20 6F                     This is one o
0000AD80  66 20 6D 61 6E 79 20 22  6E 61 6D 69 6E 67 20 63  6F 6E 76 65 6E 74 69 6F  6E 73 22 0A 20 20 20 20  f many "naming conventions"◙    
0000ADA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 70 61 72  61 6D 65 74 65 72 73 2E                       parameters.
0000ADC0  20 20 4D 6F 73 74 20 6F  66 20 74 68 65 73 65 20  74 61 6B 65 20 74 68 65  20 66 6F 72 6D 20 6F 66    Most of these take the form of
0000ADE0  20 61 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 5F 08 70 5F   a◙                         _◘p_
0000AE00  08 72 5F 08 69 5F 08 6E  5F 08 74 5F 08 66 2D 6C  69 6B 65 20 73 74 72 69  6E 67 20 63 6F 6E 74 61  ◘r_◘i_◘n_◘t_◘f-like string conta
0000AE20  69 6E 69 6E 67 20 61 20  25 5F 08 73 20 77 68 65  72 65 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  ining a %_◘s where the◙         
0000AE40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  72 65 6C 65 76 61 6E 74  20 69 6E 66 6F 72 6D 61                  relevant informa
0000AE60  74 69 6F 6E 20 73 68 6F  75 6C 64 20 67 6F 2E 20  20 49 6E 20 74 68 65 20  63 61 73 65 0A 20 20 20  tion should go.  In the case◙   
0000AE80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6F 66  20 52 08 52 08 52 08 52                        of R◘R◘R◘R
0000AEA0  65 08 65 08 65 08 65 74  08 74 08 74 08 74 75 08  75 08 75 08 75 72 08 72  08 72 08 72 6E 08 6E 08  e◘e◘e◘et◘t◘t◘tu◘u◘u◘ur◘r◘r◘rn◘n◘
0000AEC0  6E 08 6E 56 08 56 08 56  08 56 61 08 61 08 61 08  61 6C 08 6C 08 6C 08 6C  75 08 75 08 75 08 75 65  n◘nV◘V◘V◘Va◘a◘a◘al◘l◘l◘lu◘u◘u◘ue
0000AEE0  08 65 08 65 08 65 4E 08  4E 08 4E 08 4E 61 08 61  08 61 08 61 6D 08 6D 08  6D 08 6D 65 08 65 08 65  ◘e◘e◘eN◘N◘N◘Na◘a◘a◘am◘m◘m◘me◘e◘e
0000AF00  08 65 2C 20 74 68 65 20  25 5F 08 73 20 72 65 66  65 72 73 20 74 6F 20 61  0A 20 20 20 20 20 20 20  ◘e, the %_◘s refers to a◙       
0000AF20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  6F 6E 20 6E 61 6D 65 20                    function name 
0000AF40  61 6E 64 20 74 68 65 20  72 65 73 75 6C 74 69 6E  67 20 73 74 72 69 6E 67  20 67 69 76 65 73 0A 0A  and the resulting string gives◙◙
0000AF60  0A 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◙◙                              
0000AF80  20 20 20 20 2D 20 31 32  20 2D 20 46 6F 72 6D 61  74 74 65 64 3A 20 20 46  65 62 72 75 61 72 79 20      - 12 - Formatted:  February 
0000AFA0  32 38 2C 20 31 39 39 31  0A 0A 0A 0A 0A 0A 0A 20  20 20 20 20 50 08 50 08  50 08 50 32 08 32 08 32  28, 1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2
0000AFC0  08 32 43 08 43 08 43 08  43 28 08 28 08 28 08 28  31 08 31 08 31 08 31 29  08 29 08 29 08 29 20 20  ◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)  
0000AFE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 08  28 08 28 08 28 6C 08 6C                        (◘(◘(◘(l◘l
0000B000  08 6C 08 6C 6F 08 6F 08  6F 08 6F 63 08 63 08 63  08 63 61 08 61 08 61 08  61 6C 08 6C 08 6C 08 6C  ◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l
0000B020  29 08 29 08 29 08 29 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 50 08 50  )◘)◘)◘)                      P◘P
0000B040  08 50 08 50 32 08 32 08  32 08 32 43 08 43 08 43  08 43 28 08 28 08 28 08  28 31 08 31 08 31 08 31  ◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1
0000B060  29 08 29 08 29 08 29 0A  0A 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  )◘)◘)◘)◙◙◙◙                     
0000B080  20 20 20 20 74 68 65 20  6E 61 6D 65 20 6F 66 20  74 68 65 20 76 61 72 69  61 62 6C 65 20 74 6F 20      the name of the variable to 
0000B0A0  75 73 65 20 74 6F 20 68  6F 6C 64 20 74 68 65 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  use to hold the◙                
0000B0C0  20 20 20 20 20 20 20 20  20 66 75 6E 63 74 69 6F  6E 27 73 20 72 65 74 75  72 6E 20 76 61 6C 75 65           function's return value
0000B0E0  2E 20 20 53 75 63 68 20  61 20 76 61 72 69 61 62  6C 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  .  Such a variable◙             
0000B100  20 20 20 20 20 20 20 20  20 20 20 20 77 69 6C 6C  20 62 65 20 6D 61 64 65  20 69 66 20 61 20 66 75              will be made if a fu
0000B120  6E 63 74 69 6F 6E 20 63  6F 6E 74 61 69 6E 73 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nction contains◙                
0000B140  20 20 20 20 20 20 20 20  20 61 73 73 69 67 6E 6D  65 6E 74 73 20 74 6F 20  69 74 73 20 72 65 74 75           assignments to its retu
0000B160  72 6E 20 76 61 6C 75 65  20 62 75 72 69 65 64 20  77 69 74 68 69 6E 0A 20  20 20 20 20 20 20 20 20  rn value buried within◙         
0000B180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  74 68 65 20 62 6F 64 79  2C 20 73 6F 20 74 68 61                  the body, so tha
0000B1A0  74 20 5F 08 72 5F 08 65  5F 08 74 5F 08 75 5F 08  72 5F 08 6E 20 73 74 61  74 65 6D 65 6E 74 73 20  t _◘r_◘e_◘t_◘u_◘r_◘n statements 
0000B1C0  63 61 6E 6E 6F 74 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  cannot◙                         
0000B1E0  63 6F 6E 76 65 6E 69 65  6E 74 6C 79 20 62 65 20  75 73 65 64 2E 20 20 53  6F 6D 65 20 70 61 72 61  conveniently be used.  Some para
0000B200  6D 65 74 65 72 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  meters◙                         
0000B220  28 52 08 52 08 52 08 52  65 08 65 08 65 08 65 74  08 74 08 74 08 74 75 08  75 08 75 08 75 72 08 72  (R◘R◘R◘Re◘e◘e◘et◘t◘t◘tu◘u◘u◘ur◘r
0000B240  08 72 08 72 6E 08 6E 08  6E 08 6E 56 08 56 08 56  08 56 61 08 61 08 61 08  61 6C 08 6C 08 6C 08 6C  ◘r◘rn◘n◘n◘nV◘V◘V◘Va◘a◘a◘al◘l◘l◘l
0000B260  75 08 75 08 75 08 75 65  08 65 08 65 08 65 4E 08  4E 08 4E 08 4E 61 08 61  08 61 08 61 6D 08 6D 08  u◘u◘u◘ue◘e◘e◘eN◘N◘N◘Na◘a◘a◘am◘m◘
0000B280  6D 08 6D 65 08 65 08 65  08 65 20 69 6E 63 6C 75  64 65 64 29 20 64 6F 20  6E 6F 74 20 72 65 71 75  m◘me◘e◘e◘e included) do not requ
0000B2A0  69 72 65 20 74 68 65 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ire the◙                        
0000B2C0  20 25 5F 08 73 20 74 6F  20 62 65 20 70 72 65 73  65 6E 74 20 69 6E 20 74  68 65 20 66 6F 72 6D 61   %_◘s to be present in the forma
0000B2E0  74 20 73 74 72 69 6E 67  3B 20 66 6F 72 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  t string; for◙                  
0000B300  20 20 20 20 20 20 20 65  78 61 6D 70 6C 65 2C 20  74 68 65 20 73 74 61 6E  64 61 72 64 20 5F 08 70         example, the standard _◘p
0000B320  5F 08 32 5F 08 63 5F 08  72 5F 08 63 20 66 69 6C  65 20 73 74 6F 72 65 73  20 65 76 65 72 79 0A 20  _◘2_◘c_◘r_◘c file stores every◙ 
0000B340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  66 75 6E 63 74 69 6F 6E                          function
0000B360  27 73 20 72 65 74 75 72  6E 20 76 61 6C 75 65 20  69 6E 20 61 20 76 61 72  69 61 62 6C 65 20 63 61  's return value in a variable ca
0000B380  6C 6C 65 64 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 5F 08  lled◙                         _◘
0000B3A0  52 5F 08 65 5F 08 73 5F  08 75 5F 08 6C 5F 08 74  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 41 08 41  R_◘e_◘s_◘u_◘l_◘t.◙◙          A◘A
0000B3C0  08 41 08 41 6C 08 6C 08  6C 08 6C 74 08 74 08 74  08 74 65 08 65 08 65 08  65 72 08 72 08 72 08 72  ◘A◘Al◘l◘l◘lt◘t◘t◘te◘e◘e◘er◘r◘r◘r
0000B3E0  6E 08 6E 08 6E 08 6E 61  08 61 08 61 08 61 74 08  74 08 74 08 74 65 08 65  08 65 08 65 4E 08 4E 08  n◘n◘n◘na◘a◘a◘at◘t◘t◘te◘e◘e◘eN◘N◘
0000B400  4E 08 4E 61 08 61 08 61  08 61 6D 08 6D 08 6D 08  6D 65 08 65 08 65 08 65  20 20 5F 08 50 5F 08 32  N◘Na◘a◘a◘am◘m◘m◘me◘e◘e◘e  _◘P_◘2
0000B420  5F 08 63 20 6E 6F 72 6D  61 6C 6C 79 20 74 72 61  6E 73 6C 61 74 65 73 20  50 61 73 63 61 6C 20 6E  _◘c normally translates Pascal n
0000B440  61 6D 65 73 20 69 6E 74  6F 20 43 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ames into C◙                    
0000B460  20 20 20 20 20 6E 61 6D  65 73 20 76 65 72 62 61  74 69 6D 2C 20 62 75 74  20 6F 63 63 61 73 69 6F       names verbatim, but occasio
0000B480  6E 61 6C 6C 79 20 74 68  69 73 20 69 73 20 6E 6F  74 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nally this is not◙              
0000B4A0  20 20 20 20 20 20 20 20  20 20 20 70 6F 73 73 69  62 6C 65 2E 20 20 41 20  50 61 73 63 61 6C 20 6E             possible.  A Pascal n
0000B4C0  61 6D 65 20 6D 61 79 20  62 65 20 61 20 43 20 72  65 73 65 72 76 65 64 0A  20 20 20 20 20 20 20 20  ame may be a C reserved◙        
0000B4E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 77 6F 72 64 20 6F 72  20 74 72 61 64 69 74 69                   word or traditi
0000B500  6F 6E 61 6C 20 43 20 6E  61 6D 65 20 6C 69 6B 65  20 5F 08 70 5F 08 75 5F  08 74 5F 08 63 2C 20 6F  onal C name like _◘p_◘u_◘t_◘c, o
0000B520  72 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 68 65 72 65  r◙                         there
0000B540  20 6D 61 79 20 62 65 20  73 65 76 65 72 61 6C 20  6C 69 6B 65 2D 6E 61 6D  65 64 20 74 68 69 6E 67   may be several like-named thing
0000B560  73 20 74 68 61 74 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  s that◙                         
0000B580  61 72 65 20 68 69 64 64  65 6E 20 66 72 6F 6D 20  65 61 63 68 20 6F 74 68  65 72 20 62 79 20 50 61  are hidden from each other by Pa
0000B5A0  73 63 61 6C 27 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  scal's◙                         
0000B5C0  73 63 6F 70 69 6E 67 20  72 75 6C 65 73 20 62 75  74 20 6D 75 73 74 20 62  65 20 67 6C 6F 62 61 6C  scoping rules but must be global
0000B5E0  20 69 6E 20 43 2E 20 20  49 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   in C.  In◙                     
0000B600  20 20 20 20 74 68 65 73  65 20 73 69 74 75 61 74  69 6F 6E 73 20 5F 08 70  5F 08 32 5F 08 63 20 75      these situations _◘p_◘2_◘c u
0000B620  73 65 73 20 74 68 65 20  70 61 72 61 6D 65 74 65  72 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ses the parameter◙              
0000B640  20 20 20 20 20 20 20 20  20 20 20 41 08 41 08 41  08 41 6C 08 6C 08 6C 08  6C 74 08 74 08 74 08 74             A◘A◘A◘Al◘l◘l◘lt◘t◘t◘t
0000B660  65 08 65 08 65 08 65 72  08 72 08 72 08 72 6E 08  6E 08 6E 08 6E 61 08 61  08 61 08 61 74 08 74 08  e◘e◘e◘er◘r◘r◘rn◘n◘n◘na◘a◘a◘at◘t◘
0000B680  74 08 74 65 08 65 08 65  08 65 4E 08 4E 08 4E 08  4E 61 08 61 08 61 08 61  6D 08 6D 08 6D 08 6D 65  t◘te◘e◘e◘eN◘N◘N◘Na◘a◘a◘am◘m◘m◘me
0000B6A0  08 65 08 65 08 65 31 08  31 08 31 08 31 20 74 6F  20 67 65 6E 65 72 61 74  65 20 61 6E 20 61 6C 74  ◘e◘e◘e1◘1◘1◘1 to generate an alt
0000B6C0  65 72 6E 61 74 69 76 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ernative◙                       
0000B6E0  20 20 6E 61 6D 65 20 66  6F 72 20 74 68 65 20 73  79 6D 62 6F 6C 2E 20 20  54 68 65 20 64 65 66 61    name for the symbol.  The defa
0000B700  75 6C 74 20 69 73 20 74  6F 20 61 64 64 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ult is to add◙                  
0000B720  20 20 20 20 20 20 20 61  6E 20 75 6E 64 65 72 73  63 6F 72 65 20 74 6F 20  74 68 65 20 6E 61 6D 65         an underscore to the name
0000B740  2E 20 20 54 68 65 72 65  20 69 73 20 61 6C 73 6F  20 61 6E 0A 20 20 20 20  20 20 20 20 20 20 20 20  .  There is also an◙            
0000B760  20 20 20 20 20 20 20 20  20 20 20 20 20 41 08 41  08 41 08 41 6C 08 6C 08  6C 08 6C 74 08 74 08 74               A◘A◘A◘Al◘l◘l◘lt◘t◘t
0000B780  08 74 65 08 65 08 65 08  65 72 08 72 08 72 08 72  6E 08 6E 08 6E 08 6E 61  08 61 08 61 08 61 74 08  ◘te◘e◘e◘er◘r◘r◘rn◘n◘n◘na◘a◘a◘at◘
0000B7A0  74 08 74 08 74 65 08 65  08 65 08 65 4E 08 4E 08  4E 08 4E 61 08 61 08 61  08 61 6D 08 6D 08 6D 08  t◘t◘te◘e◘e◘eN◘N◘N◘Na◘a◘a◘am◘m◘m◘
0000B7C0  6D 65 08 65 08 65 08 65  32 08 32 08 32 08 32 20  70 61 72 61 6D 65 74 65  72 20 66 6F 72 20 61 20  me◘e◘e◘e2◘2◘2◘2 parameter for a 
0000B7E0  73 65 63 6F 6E 64 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  second◙                         
0000B800  61 6C 74 65 72 6E 61 74  65 20 6E 61 6D 65 2C 20  61 6E 64 20 61 6E 20 41  08 41 08 41 08 41 6C 08  alternate name, and an A◘A◘A◘Al◘
0000B820  6C 08 6C 08 6C 74 08 74  08 74 08 74 65 08 65 08  65 08 65 72 08 72 08 72  08 72 6E 08 6E 08 6E 08  l◘l◘lt◘t◘t◘te◘e◘e◘er◘r◘r◘rn◘n◘n◘
0000B840  6E 61 08 61 08 61 08 61  74 08 74 08 74 08 74 65  08 65 08 65 08 65 4E 08  4E 08 4E 08 4E 61 08 61  na◘a◘a◘at◘t◘t◘te◘e◘e◘eN◘N◘N◘Na◘a
0000B860  08 61 08 61 6D 08 6D 08  6D 08 6D 65 08 65 08 65  08 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘a◘am◘m◘m◘me◘e◘e◘e◙             
0000B880  20 20 20 20 20 20 20 20  20 20 20 20 70 61 72 61  6D 65 74 65 72 20 66 6F  72 20 74 68 65 20 5F 08              parameter for the _◘
0000B8A0  6E 74 68 20 61 6C 74 65  72 6E 61 74 65 20 6E 61  6D 65 2E 20 20 28 54 68  65 0A 20 20 20 20 20 20  nth alternate name.  (The◙      
0000B8C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 76 61 6C 75 65  20 66 6F 72 20 74 68 69                     value for thi
0000B8E0  73 20 70 61 72 61 6D 65  74 65 72 20 73 68 6F 75  6C 64 20 69 6E 63 6C 75  64 65 20 62 6F 74 68 0A  s parameter should include both◙
0000B900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 61 20 25 5F 08 73 20                           a %_◘s 
0000B920  61 6E 64 20 61 20 25 5F  08 64 2C 20 69 6E 20 65  69 74 68 65 72 20 6F 72  64 65 72 2E 29 20 20 49  and a %_◘d, in either order.)  I
0000B940  66 20 74 68 65 73 65 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  f these◙                        
0000B960  20 6C 61 74 74 65 72 20  70 61 72 61 6D 65 74 65  72 73 20 61 72 65 20 6E  6F 74 20 64 65 66 69 6E   latter parameters are not defin
0000B980  65 64 2C 20 5F 08 70 5F  08 32 5F 08 63 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ed, _◘p_◘2_◘c◙                  
0000B9A0  20 20 20 20 20 20 20 61  70 70 6C 69 65 73 20 41  08 41 08 41 08 41 6C 08  6C 08 6C 08 6C 74 08 74         applies A◘A◘A◘Al◘l◘l◘lt◘t
0000B9C0  08 74 08 74 65 08 65 08  65 08 65 72 08 72 08 72  08 72 6E 08 6E 08 6E 08  6E 61 08 61 08 61 08 61  ◘t◘te◘e◘e◘er◘r◘r◘rn◘n◘n◘na◘a◘a◘a
0000B9E0  74 08 74 08 74 08 74 65  08 65 08 65 08 65 4E 08  4E 08 4E 08 4E 61 08 61  08 61 08 61 6D 08 6D 08  t◘t◘t◘te◘e◘e◘eN◘N◘N◘Na◘a◘a◘am◘m◘
0000BA00  6D 08 6D 65 08 65 08 65  08 65 31 08 31 08 31 08  31 20 6D 61 6E 79 20 74  69 6D 65 73 20 6F 76 65  m◘me◘e◘e◘e1◘1◘1◘1 many times ove
0000BA20  72 2E 0A 0A 20 20 20 20  20 20 20 20 20 20 45 08  45 08 45 08 45 78 08 78  08 78 08 78 70 08 70 08  r.◙◙          E◘E◘E◘Ex◘x◘x◘xp◘p◘
0000BA40  70 08 70 6F 08 6F 08 6F  08 6F 72 08 72 08 72 08  72 74 08 74 08 74 08 74  53 08 53 08 53 08 53 79  p◘po◘o◘o◘or◘r◘r◘rt◘t◘t◘tS◘S◘S◘Sy
0000BA60  08 79 08 79 08 79 6D 08  6D 08 6D 08 6D 62 08 62  08 62 08 62 6F 08 6F 08  6F 08 6F 6C 08 6C 08 6C  ◘y◘y◘ym◘m◘m◘mb◘b◘b◘bo◘o◘o◘ol◘l◘l
0000BA80  08 6C 20 20 20 53 79 6D  62 6F 6C 73 20 69 6E 20  74 68 65 20 69 6E 74 65  72 66 61 63 65 20 73 65  ◘l   Symbols in the interface se
0000BAA0  63 74 69 6F 6E 20 66 6F  72 20 61 20 50 61 73 63  61 6C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ction for a Pascal◙             
0000BAC0  20 20 20 20 20 20 20 20  20 20 20 20 6D 6F 64 75  6C 65 20 61 72 65 20 66  6F 72 6D 61 74 74 65 64              module are formatted
0000BAE0  20 61 63 63 6F 72 64 69  6E 67 20 74 6F 20 74 68  65 20 76 61 6C 75 65 0A  20 20 20 20 20 20 20 20   according to the value◙        
0000BB00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 6F 66 20 45 08 45 08  45 08 45 78 08 78 08 78                   of E◘E◘E◘Ex◘x◘x
0000BB20  08 78 70 08 70 08 70 08  70 6F 08 6F 08 6F 08 6F  72 08 72 08 72 08 72 74  08 74 08 74 08 74 53 08  ◘xp◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t◘t◘tS◘
0000BB40  53 08 53 08 53 79 08 79  08 79 08 79 6D 08 6D 08  6D 08 6D 62 08 62 08 62  08 62 6F 08 6F 08 6F 08  S◘S◘Sy◘y◘y◘ym◘m◘m◘mb◘b◘b◘bo◘o◘o◘
0000BB60  6F 6C 08 6C 08 6C 08 6C  2C 20 69 66 20 61 6E 79  2E 20 20 49 74 20 69 73  20 6E 6F 74 20 75 6E 63  ol◘l◘l◘l, if any.  It is not unc
0000BB80  6F 6D 6D 6F 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  ommon◙                         t
0000BBA0  6F 20 75 73 65 20 5F 08  6D 5F 08 6F 5F 08 64 5F  08 75 5F 08 6C 5F 08 65  5F 08 6E 5F 08 61 5F 08  o use _◘m_◘o_◘d_◘u_◘l_◘e_◘n_◘a_◘
0000BBC0  6D 5F 08 65 5F 25 5F 08  73 20 66 6F 72 20 74 68  69 73 20 73 79 6D 62 6F  6C 3B 20 74 68 65 0A 20  m_◘e_%_◘s for this symbol; the◙ 
0000BBE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  64 65 66 61 75 6C 74 20                          default 
0000BC00  69 73 20 25 5F 08 73 2C  20 69 2E 65 2E 2C 20 6E  6F 20 73 70 65 63 69 61  6C 20 74 72 65 61 74 6D  is %_◘s, i.e., no special treatm
0000BC20  65 6E 74 20 66 6F 72 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ent for◙                        
0000BC40  20 65 78 70 6F 72 74 65  64 20 73 79 6D 62 6F 6C  73 2E 20 20 49 66 20 79  6F 75 20 61 6C 73 6F 20   exported symbols.  If you also 
0000BC60  64 65 66 69 6E 65 20 74  68 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  define the◙                     
0000BC80  20 20 20 20 45 08 45 08  45 08 45 78 08 78 08 78  08 78 70 08 70 08 70 08  70 6F 08 6F 08 6F 08 6F      E◘E◘E◘Ex◘x◘x◘xp◘p◘p◘po◘o◘o◘o
0000BCA0  72 08 72 08 72 08 72 74  08 74 08 74 08 74 5F 08  5F 08 5F 08 5F 53 08 53  08 53 08 53 79 08 79 08  r◘r◘r◘rt◘t◘t◘t_◘_◘_◘_S◘S◘S◘Sy◘y◘
0000BCC0  79 08 79 6D 08 6D 08 6D  08 6D 62 08 62 08 62 08  62 6F 08 6F 08 6F 08 6F  6C 08 6C 08 6C 08 6C 20  y◘ym◘m◘m◘mb◘b◘b◘bo◘o◘o◘ol◘l◘l◘l 
0000BCE0  70 61 72 61 6D 65 74 65  72 2C 20 74 68 61 74 20  66 6F 72 6D 61 74 20 69  73 20 75 73 65 64 0A 20  parameter, that format is used◙ 
0000BD00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  69 6E 73 74 65 61 64 20                          instead 
0000BD20  66 6F 72 20 65 78 70 6F  72 74 65 64 20 73 79 6D  62 6F 6C 73 20 77 68 69  63 68 20 63 6F 6E 74 61  for exported symbols which conta
0000BD40  69 6E 20 61 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 75  in an◙                         u
0000BD60  6E 64 65 72 73 63 6F 72  65 20 63 68 61 72 61 63  74 65 72 2E 20 20 49 66  20 25 5F 08 53 20 28 77  nderscore character.  If %_◘S (w
0000BD80  69 74 68 20 61 20 63 61  70 69 74 61 6C 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ith a capital◙                  
0000BDA0  20 20 20 20 20 20 20 22  53 22 29 20 61 70 70 65  61 72 73 20 69 6E 20 74  68 65 20 66 6F 72 6D 61         "S") appears in the forma
0000BDC0  74 20 73 74 72 69 6E 67  20 69 74 20 73 74 61 6E  64 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  t string it stands◙             
0000BDE0  20 20 20 20 20 20 20 20  20 20 20 20 66 6F 72 20  74 68 65 20 63 75 72 72  65 6E 74 20 6D 6F 64 75              for the current modu
0000BE00  6C 65 20 6E 61 6D 65 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 41 08 41 08  41 08 41 6C 08 6C 08 6C  le name.◙◙          A◘A◘A◘Al◘l◘l
0000BE20  08 6C 69 08 69 08 69 08  69 61 08 61 08 61 08 61  73 08 73 08 73 08 73 20  20 20 20 20 20 20 20 20  ◘li◘i◘i◘ia◘a◘a◘as◘s◘s◘s         
0000BE40  20 49 66 20 74 68 65 20  76 61 6C 75 65 20 6F 66  20 74 68 69 73 20 70 61  72 61 6D 65 74 65 72 20   If the value of this parameter 
0000BE60  63 6F 6E 74 61 69 6E 73  20 61 20 25 5F 08 73 2C  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  contains a %_◘s,◙               
0000BE80  20 20 20 20 20 20 20 20  20 20 69 74 20 69 73 20  61 20 66 6F 72 6D 61 74  20 73 74 72 69 6E 67 20            it is a format string 
0000BEA0  61 70 70 6C 69 65 64 20  74 6F 20 74 68 65 20 6E  61 6D 65 73 20 6F 66 0A  20 20 20 20 20 20 20 20  applied to the names of◙        
0000BEC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 65 78 74 65 72 6E 61  6C 20 66 75 6E 63 74 69                   external functi
0000BEE0  6F 6E 73 20 6F 72 20 76  61 72 69 61 62 6C 65 73  2E 20 20 49 66 20 74 68  65 0A 20 20 20 20 20 20  ons or variables.  If the◙      
0000BF00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 76 61 6C 75 65  20 64 6F 65 73 20 6E 6F                     value does no
0000BF20  74 20 63 6F 6E 74 61 69  6E 20 61 20 25 5F 08 73  2C 20 69 74 20 62 65 63  6F 6D 65 73 20 74 68 65  t contain a %_◘s, it becomes the
0000BF40  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6E 61 6D 65 20 6F  ◙                         name o
0000BF60  66 20 74 68 65 20 6E 65  78 74 20 65 78 74 65 72  6E 61 6C 20 73 79 6D 62  6F 6C 20 77 68 69 63 68  f the next external symbol which
0000BF80  20 69 73 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 64 65 63   is◙                         dec
0000BFA0  6C 61 72 65 64 20 28 61  66 74 65 72 20 77 68 69  63 68 20 74 68 65 20 70  61 72 61 6D 65 74 65 72  lared (after which the parameter
0000BFC0  20 69 73 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 63 6C 65   is◙                         cle
0000BFE0  61 72 65 64 29 2E 0A 0A  20 20 20 20 20 20 20 20  20 20 53 08 53 08 53 08  53 79 08 79 08 79 08 79  ared).◙◙          S◘S◘S◘Sy◘y◘y◘y
0000C000  6E 08 6E 08 6E 08 6E 6F  08 6F 08 6F 08 6F 6E 08  6E 08 6E 08 6E 79 08 79  08 79 08 79 6D 08 6D 08  n◘n◘n◘no◘o◘o◘on◘n◘n◘ny◘y◘y◘ym◘m◘
0000C020  6D 08 6D 20 20 20 20 20  20 20 20 54 68 69 73 20  63 72 65 61 74 65 73 20  61 20 73 79 6E 6F 6E 79  m◘m        This creates a synony
0000C040  6D 20 66 6F 72 20 61 6E  6F 74 68 65 72 20 50 61  73 63 61 6C 0A 0A 0A 0A  20 20 20 20 20 20 20 20  m for another Pascal◙◙◙◙        
0000C060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 2D 20 31 33 20 2D                            - 13 -
0000C080  20 46 6F 72 6D 61 74 74  65 64 3A 20 20 46 65 62  72 75 61 72 79 20 32 38  2C 20 31 39 39 31 0A 0A   Formatted:  February 28, 1991◙◙
0000C0A0  0A 0A 0A 0A 0A 20 20 20  20 20 50 08 50 08 50 08  50 32 08 32 08 32 08 32  43 08 43 08 43 08 43 28  ◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(
0000C0C0  08 28 08 28 08 28 31 08  31 08 31 08 31 29 08 29  08 29 08 29 20 20 20 20  20 20 20 20 20 20 20 20  ◘(◘(◘(1◘1◘1◘1)◘)◘)◘)            
0000C0E0  20 20 20 20 20 20 20 20  20 20 20 20 28 08 28 08  28 08 28 6C 08 6C 08 6C  08 6C 6F 08 6F 08 6F 08              (◘(◘(◘(l◘l◘l◘lo◘o◘o◘
0000C100  6F 63 08 63 08 63 08 63  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 29 08  29 08 29 08 29 20 20 20  oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)   
0000C120  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 50 08 50 08 50  08 50 32 08 32 08 32 08                     P◘P◘P◘P2◘2◘2◘
0000C140  32 43 08 43 08 43 08 43  28 08 28 08 28 08 28 31  08 31 08 31 08 31 29 08  29 08 29 08 29 0A 0A 0A  2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙
0000C160  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 73 79 6D 62 6F 6C  ◙                         symbol
0000C180  20 6F 72 20 6B 65 79 77  6F 72 64 2E 20 20 54 68  65 20 66 6F 72 6D 61 74  20 69 73 0A 0A 20 20 20   or keyword.  The format is◙◙   
0000C1A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 53 08 53 08 53                             S◘S◘S
0000C1C0  08 53 79 08 79 08 79 08  79 6E 08 6E 08 6E 08 6E  6F 08 6F 08 6F 08 6F 6E  08 6E 08 6E 08 6E 79 08  ◘Sy◘y◘y◘yn◘n◘n◘no◘o◘o◘on◘n◘n◘ny◘
0000C1E0  79 08 79 08 79 6D 08 6D  08 6D 08 6D 20 5F 08 6F  5F 08 6C 5F 08 64 2D 5F  08 6E 5F 08 61 5F 08 6D  y◘y◘ym◘m◘m◘m _◘o_◘l_◘d-_◘n_◘a_◘m
0000C200  5F 08 65 20 3D 20 5F 08  6E 5F 08 65 5F 08 77 2D  5F 08 6E 5F 08 61 5F 08  6D 5F 08 65 0A 0A 20 20  _◘e = _◘n_◘e_◘w-_◘n_◘a_◘m_◘e◙◙  
0000C220  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  6C 6C 20 6F 63 63 75 72                         All occur
0000C240  72 65 6E 63 65 73 20 6F  66 20 5F 08 6F 5F 08 6C  5F 08 64 2D 5F 08 6E 5F  08 61 5F 08 6D 5F 08 65  rences of _◘o_◘l_◘d-_◘n_◘a_◘m_◘e
0000C260  20 69 6E 20 74 68 65 20  69 6E 70 75 74 20 74 65  78 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20   in the input text◙             
0000C280  20 20 20 20 20 20 20 20  20 20 20 20 61 72 65 20  74 72 65 61 74 65 64 20  61 73 20 69 66 20 74 68              are treated as if th
0000C2A0  65 79 20 77 65 72 65 20  5F 08 6E 5F 08 65 5F 08  77 2D 5F 08 6E 5F 08 61  5F 08 6D 5F 08 65 20 62  ey were _◘n_◘e_◘w-_◘n_◘a_◘m_◘e b
0000C2C0  79 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  y the◙                         p
0000C2E0  61 72 73 65 72 2E 20 20  49 66 20 5F 08 6E 5F 08  65 5F 08 77 2D 5F 08 6E  5F 08 61 5F 08 6D 5F 08  arser.  If _◘n_◘e_◘w-_◘n_◘a_◘m_◘
0000C300  65 20 69 73 20 61 20 6B  65 79 77 6F 72 64 2C 20  5F 08 6F 5F 08 6C 5F 08  64 2D 5F 08 6E 5F 08 61  e is a keyword, _◘o_◘l_◘d-_◘n_◘a
0000C320  5F 08 6D 5F 08 65 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  _◘m_◘e◙                         
0000C340  77 69 6C 6C 20 62 65 20  61 6E 20 65 71 75 69 76  61 6C 65 6E 74 20 6B 65  79 77 6F 72 64 2E 20 20  will be an equivalent keyword.  
0000C360  49 66 20 5F 08 6E 5F 08  65 5F 08 77 2D 5F 08 6E  5F 08 61 5F 08 6D 5F 08  65 0A 20 20 20 20 20 20  If _◘n_◘e_◘w-_◘n_◘a_◘m_◘e◙      
0000C380  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 69 73 20 74 68  65 20 6E 61 6D 65 20 6F                     is the name o
0000C3A0  66 20 61 20 70 72 65 64  65 66 69 6E 65 64 20 66  75 6E 63 74 69 6F 6E 2C  20 5F 08 6F 5F 08 6C 5F  f a predefined function, _◘o_◘l_
0000C3C0  08 64 2D 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 5F 08 6E  ◘d-◙                         _◘n
0000C3E0  5F 08 61 5F 08 6D 5F 08  65 20 77 69 6C 6C 20 62  65 68 61 76 65 20 69 6E  20 74 68 65 20 73 61 6D  _◘a_◘m_◘e will behave in the sam
0000C400  65 20 77 61 79 20 61 73  20 74 68 61 74 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e way as that◙                  
0000C420  20 20 20 20 20 20 20 66  75 6E 63 74 69 6F 6E 2C  20 61 6E 64 20 73 6F 20  6F 6E 2E 20 20 49 66 20         function, and so on.  If 
0000C440  5F 08 6E 5F 08 65 5F 08  77 2D 5F 08 6E 5F 08 61  5F 08 6D 5F 08 65 20 69  73 20 6F 6D 69 74 74 65  _◘n_◘e_◘w-_◘n_◘a_◘m_◘e is omitte
0000C460  64 2C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 6E  d,◙                         then
0000C480  20 6F 63 63 75 72 72 65  6E 63 65 73 20 6F 66 20  5F 08 6F 5F 08 6C 5F 08  64 2D 5F 08 6E 5F 08 61   occurrences of _◘o_◘l_◘d-_◘n_◘a
0000C4A0  5F 08 6D 5F 08 65 20 61  72 65 20 65 6E 74 69 72  65 6C 79 0A 20 20 20 20  20 20 20 20 20 20 20 20  _◘m_◘e are entirely◙            
0000C4C0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 67 6E  6F 72 65 64 20 69 6E 20  74 68 65 20 69 6E 70 75               ignored in the inpu
0000C4E0  74 20 66 69 6C 65 2E 20  20 53 79 6E 6F 6E 79 6D  73 20 61 6C 6C 6F 77 0A  20 20 20 20 20 20 20 20  t file.  Synonyms allow◙        
0000C500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 79 6F 75 20 74 6F 20  73 6B 69 70 20 6F 76 65                   you to skip ove
0000C520  72 20 61 20 6B 65 79 77  6F 72 64 20 69 6E 20 79  6F 75 72 20 64 69 61 6C  65 63 74 20 6F 66 0A 20  r a keyword in your dialect of◙ 
0000C540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  50 61 73 63 61 6C 20 74                          Pascal t
0000C560  68 61 74 20 69 73 20 6E  6F 74 20 75 6E 64 65 72  73 74 6F 6F 64 20 62 79  20 5F 08 70 5F 08 32 5F  hat is not understood by _◘p_◘2_
0000C580  08 63 2C 20 6F 72 20 74  6F 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘c, or to◙                      
0000C5A0  20 20 20 73 69 6D 75 6C  61 74 65 20 61 20 6B 65  79 77 6F 72 64 20 6F 72  20 70 72 65 64 65 66 69     simulate a keyword or predefi
0000C5C0  6E 65 64 20 69 64 65 6E  74 69 66 69 65 72 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ned identifier◙                 
0000C5E0  20 20 20 20 20 20 20 20  6F 66 20 79 6F 75 72 20  64 69 61 6C 65 63 74 20  77 69 74 68 20 61 20 73          of your dialect with a s
0000C600  69 6D 69 6C 61 72 20 6F  6E 65 20 74 68 61 74 20  5F 08 70 5F 08 32 5F 08  63 0A 20 20 20 20 20 20  imilar one that _◘p_◘2_◘c◙      
0000C620  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 72 65 63 6F 67  6E 69 7A 65 73 2E 20 20                     recognizes.  
0000C640  4E 6F 74 65 20 74 68 61  74 20 61 6C 6C 20 70 72  65 64 65 66 69 6E 65 64  0A 20 20 20 20 20 20 20  Note that all predefined◙       
0000C660  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  6F 6E 73 20 61 72 65 20                    functions are 
0000C680  61 76 61 69 6C 61 62 6C  65 20 61 74 20 61 6C 6C  20 74 69 6D 65 73 3B 20  69 66 20 79 6F 75 0A 20  available at all times; if you◙ 
0000C6A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  68 61 76 65 20 61 20 6C                          have a l
0000C6C0  69 62 72 61 72 79 20 72  6F 75 74 69 6E 65 20 74  68 61 74 20 62 65 68 61  76 65 73 20 6C 69 6B 65  ibrary routine that behaves like
0000C6E0  2C 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 65 2E 67 2E 2C  ,◙                         e.g.,
0000C700  20 54 75 72 62 6F 20 50  61 73 63 61 6C 27 73 20  5F 08 67 5F 08 65 5F 08  74 5F 08 6D 5F 08 65 5F   Turbo Pascal's _◘g_◘e_◘t_◘m_◘e_
0000C720  08 6D 20 70 72 6F 63 65  64 75 72 65 2C 20 79 6F  75 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘m procedure, you◙              
0000C740  20 20 20 20 20 20 20 20  20 20 20 63 61 6E 20 6D  61 6B 65 20 79 6F 75 72  20 72 6F 75 74 69 6E 65             can make your routine
0000C760  20 61 20 73 79 6E 6F 6E  79 6D 20 66 6F 72 20 5F  08 67 5F 08 65 5F 08 74  5F 08 6D 5F 08 65 5F 08   a synonym for _◘g_◘e_◘t_◘m_◘e_◘
0000C780  6D 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 65 76 65 6E 20  m◙                         even 
0000C7A0  69 66 20 79 6F 75 20 61  72 65 20 6E 6F 74 20 74  72 61 6E 73 6C 61 74 69  6E 67 20 69 6E 20 54 75  if you are not translating in Tu
0000C7C0  72 62 6F 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 6D 6F 64  rbo◙                         mod
0000C7E0  65 2E 0A 0A 20 20 20 20  20 20 20 20 20 20 4E 08  4E 08 4E 08 4E 61 08 61  08 61 08 61 6D 08 6D 08  e.◙◙          N◘N◘N◘Na◘a◘a◘am◘m◘
0000C800  6D 08 6D 65 08 65 08 65  08 65 4F 08 4F 08 4F 08  4F 66 08 66 08 66 08 66  20 20 20 20 20 20 20 20  m◘me◘e◘e◘eO◘O◘O◘Of◘f◘f◘f        
0000C820  20 54 68 69 73 20 64 65  66 69 6E 65 73 20 74 68  65 20 6E 61 6D 65 20 74  6F 20 75 73 65 20 69 6E   This defines the name to use in
0000C840  20 43 20 66 6F 72 20 61  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   C for a◙                       
0000C860  20 20 73 70 65 63 69 66  69 63 20 73 79 6D 62 6F  6C 2E 20 20 49 74 20 6D  75 73 74 20 61 70 70 65    specific symbol.  It must appe
0000C880  61 72 20 62 65 66 6F 72  65 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ar before the◙                  
0000C8A0  20 20 20 20 20 20 20 73  79 6D 62 6F 6C 20 69 73  20 64 65 63 6C 61 72 65  64 20 69 6E 20 74 68 65         symbol is declared in the
0000C8C0  20 50 61 73 63 61 6C 20  63 6F 64 65 3B 20 69 74  20 69 73 0A 20 20 20 20  20 20 20 20 20 20 20 20   Pascal code; it is◙            
0000C8E0  20 20 20 20 20 20 20 20  20 20 20 20 20 75 73 75  61 6C 6C 79 20 70 6C 61  63 65 64 20 69 6E 20 74               usually placed in t
0000C900  68 65 20 6C 6F 63 61 6C  20 5F 08 70 5F 08 32 5F  08 63 5F 08 72 5F 08 63  20 66 69 6C 65 20 66 6F  he local _◘p_◘2_◘c_◘r_◘c file fo
0000C920  72 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 68 65 20 70  r◙                         the p
0000C940  72 6F 6A 65 63 74 2E 20  20 54 68 65 20 66 6F 72  6D 61 74 20 69 73 0A 0A  20 20 20 20 20 20 20 20  roject.  The format is◙◙        
0000C960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4E 08  4E 08 4E 08 4E 61 08 61                        N◘N◘N◘Na◘a
0000C980  08 61 08 61 6D 08 6D 08  6D 08 6D 65 08 65 08 65  08 65 4F 08 4F 08 4F 08  4F 66 08 66 08 66 08 66  ◘a◘am◘m◘m◘me◘e◘e◘eO◘O◘O◘Of◘f◘f◘f
0000C9A0  20 5F 08 70 5F 08 61 5F  08 73 5F 08 63 5F 08 61  5F 08 6C 2D 5F 08 6E 5F  08 61 5F 08 6D 5F 08 65   _◘p_◘a_◘s_◘c_◘a_◘l-_◘n_◘a_◘m_◘e
0000C9C0  20 3D 20 5F 08 43 2D 5F  08 6E 5F 08 61 5F 08 6D  5F 08 65 0A 0A 20 20 20  20 20 20 20 20 20 20 20   = _◘C-_◘n_◘a_◘m_◘e◙◙           
0000C9E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 42 79  20 64 65 66 61 75 6C 74  2C 20 50 61 73 63 61 6C                By default, Pascal
0000CA00  20 6E 61 6D 65 73 20 6D  61 70 20 64 69 72 65 63  74 6C 79 20 6F 6E 74 6F  20 43 0A 20 20 20 20 20   names map directly onto C◙     
0000CA20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6E 61 6D 65  73 20 77 69 74 68 20 6E                      names with n
0000CA40  6F 20 63 68 61 6E 67 65  20 28 65 78 63 65 70 74  20 66 6F 72 20 74 68 65  20 76 61 72 69 6F 75 73  o change (except for the various
0000CA60  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 6B 69 6E 64 73 20  ◙                         kinds 
0000CA80  6F 66 20 66 6F 72 6D 61  74 74 69 6E 67 20 6F 75  74 6C 69 6E 65 64 20 61  62 6F 76 65 29 2E 20 20  of formatting outlined above).  
0000CAA0  49 66 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  If the◙                         
0000CAC0  5F 08 70 5F 08 61 5F 08  73 5F 08 63 5F 08 61 5F  08 6C 2D 5F 08 6E 5F 08  61 5F 08 6D 5F 08 65 20  _◘p_◘a_◘s_◘c_◘a_◘l-_◘n_◘a_◘m_◘e 
0000CAE0  69 73 20 6F 66 20 74 68  65 20 66 6F 72 6D 20 5F  08 6D 5F 08 6F 5F 08 64  5F 08 75 5F 08 6C 5F 08  is of the form _◘m_◘o_◘d_◘u_◘l_◘
0000CB00  65 2E 5F 08 6E 5F 08 61  5F 08 6D 5F 08 65 20 6F  72 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e._◘n_◘a_◘m_◘e or◙              
0000CB20  20 20 20 20 20 20 20 20  20 20 20 5F 08 70 5F 08  72 5F 08 6F 5F 08 63 5F  08 65 5F 08 64 5F 08 75             _◘p_◘r_◘o_◘c_◘e_◘d_◘u
0000CB40  5F 08 72 5F 08 65 2E 5F  08 6E 5F 08 61 5F 08 6D  5F 08 65 20 74 68 65 6E  20 74 68 65 20 63 6F 6D  _◘r_◘e._◘n_◘a_◘m_◘e then the com
0000CB60  6D 61 6E 64 20 61 70 70  6C 69 65 73 20 6F 6E 6C  79 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  mand applies only◙              
0000CB80  20 20 20 20 20 20 20 20  20 20 20 74 6F 20 74 68  65 20 69 6E 73 74 61 6E  63 65 20 6F 66 20 74 68             to the instance of th
0000CBA0  65 20 50 61 73 63 61 6C  20 6E 61 6D 65 20 74 68  61 74 20 69 73 0A 20 20  20 20 20 20 20 20 20 20  e Pascal name that is◙          
0000CBC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 67  6C 6F 62 61 6C 20 74 6F  20 74 68 61 74 20 6D 6F                 global to that mo
0000CBE0  64 75 6C 65 2C 20 6F 72  20 6C 6F 63 61 6C 20 74  6F 20 74 68 61 74 0A 20  20 20 20 20 20 20 20 20  dule, or local to that◙         
0000CC00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  70 72 6F 63 65 64 75 72  65 2E 20 20 4F 74 68 65                  procedure.  Othe
0000CC20  72 77 69 73 65 2C 20 69  74 20 61 70 70 6C 69 65  73 20 74 6F 20 61 6C 6C  0A 20 20 20 20 20 20 20  rwise, it applies to all◙       
0000CC40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 75 73 61 67 65 73  20 6F 66 20 74 68 65 20                    usages of the 
0000CC60  6E 61 6D 65 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 56 08 56 08 56 08 56  61 08 61 08 61 08 61 72  name.◙◙          V◘V◘V◘Va◘a◘a◘ar
0000CC80  08 72 08 72 08 72 4D 08  4D 08 4D 08 4D 61 08 61  08 61 08 61 63 08 63 08  63 08 63 72 08 72 08 72  ◘r◘r◘rM◘M◘M◘Ma◘a◘a◘ac◘c◘c◘cr◘r◘r
0000CCA0  08 72 6F 08 6F 08 6F 08  6F 20 20 20 20 20 20 20  54 68 69 73 20 69 73 20  61 6E 61 6C 6F 67 6F 75  ◘ro◘o◘o◘o       This is analogou
0000CCC0  73 20 74 6F 20 4E 08 4E  08 4E 08 4E 61 08 61 08  61 08 61 6D 08 6D 08 6D  08 6D 65 08 65 08 65 08  s to N◘N◘N◘Na◘a◘a◘am◘m◘m◘me◘e◘e◘
0000CCE0  65 4F 08 4F 08 4F 08 4F  66 08 66 08 66 08 66 2C  20 62 75 74 20 73 70 65  63 69 66 69 63 61 6C 6C  eO◘O◘O◘Of◘f◘f◘f, but specificall
0000CD00  79 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 66 6F 72 20 75  y◙                         for u
0000CD20  73 65 20 77 69 74 68 20  50 61 73 63 61 6C 20 76  61 72 69 61 62 6C 65 73  2E 20 20 54 68 65 20 72  se with Pascal variables.  The r
0000CD40  69 67 68 74 68 61 6E 64  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ighthand◙                       
0000CD60  20 20 73 69 64 65 20 63  61 6E 20 62 65 20 6D 6F  73 74 20 61 6E 79 20 43  20 65 78 70 72 65 73 73    side can be most any C express
0000CD80  69 6F 6E 3B 20 61 6C 6C  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ion; all◙                       
0000CDA0  20 20 72 65 66 65 72 65  6E 63 65 73 20 74 6F 20  74 68 65 20 76 61 72 69  61 62 6C 65 20 61 72 65    references to the variable are
0000CDC0  20 65 78 70 61 6E 64 65  64 20 69 6E 74 6F 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   expanded into◙                 
0000CDE0  20 20 20 20 20 20 20 20  74 68 61 74 20 43 20 65  78 70 72 65 73 73 69 6F  6E 2E 20 20 4E 61 6D 65          that C expression.  Name
0000CE00  73 20 75 73 65 64 20 69  6E 20 74 68 65 20 43 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  s used in the C◙                
0000CE20  20 20 20 20 20 20 20 20  20 65 78 70 72 65 73 73  69 6F 6E 20 61 72 65 20  74 61 6B 65 6E 20 76 65           expression are taken ve
0000CE40  72 62 61 74 69 6D 2E 20  20 54 68 65 72 65 20 69  73 20 61 6C 73 6F 0A 20  20 20 20 20 20 20 20 20  rbatim.  There is also◙         
0000CE60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  61 20 43 08 43 08 43 08  43 6F 08 6F 08 6F 08 6F                  a C◘C◘C◘Co◘o◘o◘o
0000CE80  6E 08 6E 08 6E 08 6E 73  08 73 08 73 08 73 74 08  74 08 74 08 74 4D 08 4D  08 4D 08 4D 61 08 61 08  n◘n◘n◘ns◘s◘s◘st◘t◘t◘tM◘M◘M◘Ma◘a◘
0000CEA0  61 08 61 63 08 63 08 63  08 63 72 08 72 08 72 08  72 6F 08 6F 08 6F 08 6F  20 70 61 72 61 6D 65 74  a◘ac◘c◘c◘cr◘r◘r◘ro◘o◘o◘o paramet
0000CEC0  65 72 20 66 6F 72 20 74  72 61 6E 73 6C 61 74 69  6E 67 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  er for translating◙             
0000CEE0  20 20 20 20 20 20 20 20  20 20 20 20 63 6F 6E 73  74 61 6E 74 73 20 61 73  20 61 72 62 69 74 72 61              constants as arbitra
0000CF00  72 79 20 65 78 70 72 65  73 73 69 6F 6E 73 2E 20  20 4E 6F 74 65 0A 20 20  20 20 20 20 20 20 20 20  ry expressions.  Note◙          
0000CF20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  68 61 74 20 74 68 65 20  76 61 72 69 61 62 6C 65                 that the variable
0000CF40  20 6F 6E 20 74 68 65 20  6C 65 66 74 68 61 6E 64  20 73 69 64 65 20 6D 75  73 74 0A 0A 0A 0A 20 20   on the lefthand side must◙◙◙◙  
0000CF60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
0000CF80  2D 20 31 34 20 2D 20 46  6F 72 6D 61 74 74 65 64  3A 20 20 46 65 62 72 75  61 72 79 20 32 38 2C 20  - 14 - Formatted:  February 28, 
0000CFA0  31 39 39 31 0A 0A 0A 0A  0A 0A 0A 20 20 20 20 20  50 08 50 08 50 08 50 32  08 32 08 32 08 32 43 08  1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘
0000CFC0  43 08 43 08 43 28 08 28  08 28 08 28 31 08 31 08  31 08 31 29 08 29 08 29  08 29 20 20 20 20 20 20  C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)      
0000CFE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 28 08 28 08 28 08  28 6C 08 6C 08 6C 08 6C                    (◘(◘(◘(l◘l◘l◘l
0000D000  6F 08 6F 08 6F 08 6F 63  08 63 08 63 08 63 61 08  61 08 61 08 61 6C 08 6C  08 6C 08 6C 29 08 29 08  o◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘
0000D020  29 08 29 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 50 08 50 08 50 08 50  )◘)                      P◘P◘P◘P
0000D040  32 08 32 08 32 08 32 43  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘
0000D060  29 08 29 0A 0A 0A 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  )◘)◙◙◙◙                         
0000D080  61 63 74 75 61 6C 6C 79  20 62 65 20 64 65 63 6C  61 72 65 64 20 69 6E 20  74 68 65 20 70 72 6F 67  actually be declared in the prog
0000D0A0  72 61 6D 20 6F 72 20 69  6E 20 61 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ram or in a◙                    
0000D0C0  20 20 20 20 20 6D 6F 64  75 6C 65 20 74 68 61 74  20 69 74 20 75 73 65 73  2E 20 20 54 68 65 20 64       module that it uses.  The d
0000D0E0  65 63 6C 61 72 61 74 69  6F 6E 20 66 6F 72 20 74  68 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  eclaration for the◙             
0000D100  20 20 20 20 20 20 20 20  20 20 20 20 76 61 72 69  61 62 6C 65 20 77 69 6C  6C 20 62 65 20 6F 6D 69              variable will be omi
0000D120  74 74 65 64 20 66 72 6F  6D 20 74 68 65 20 67 65  6E 65 72 61 74 65 64 0A  20 20 20 20 20 20 20 20  tted from the generated◙        
0000D140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 63 6F 64 65 20 75 6E  6C 65 73 73 20 74 68 65                   code unless the
0000D160  20 50 61 73 63 61 6C 2D  6E 61 6D 65 20 61 70 70  65 61 72 73 20 69 6E 20  74 68 65 0A 20 20 20 20   Pascal-name appears in the◙    
0000D180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 65 78 70  72 65 73 73 69 6F 6E 3A                       expression:
0000D1A0  20 20 49 66 20 79 6F 75  20 61 73 6B 20 74 6F 20  72 65 70 6C 61 63 65 20  5F 08 69 20 77 69 74 68    If you ask to replace _◘i with
0000D1C0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 5F 08 69 2B 5F 08  ◙                         _◘i+_◘
0000D1E0  31 2C 20 74 68 65 20 76  61 72 69 61 62 6C 65 20  5F 08 69 20 77 69 6C 6C  20 73 74 69 6C 6C 20 62  1, the variable _◘i will still b
0000D200  65 20 64 65 63 6C 61 72  65 64 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e declared◙                     
0000D220  20 20 20 20 62 75 74 20  69 74 73 20 76 61 6C 75  65 20 77 69 6C 6C 20 62  65 20 73 68 69 66 74 65      but its value will be shifte
0000D240  64 20 61 63 63 6F 72 64  69 6E 67 6C 79 2E 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  d accordingly.◙                 
0000D260  20 20 20 20 20 20 20 20  4E 6F 74 65 20 74 68 61  74 20 69 66 20 5F 08 69  20 61 70 70 65 61 72 73          Note that if _◘i appears
0000D280  20 6F 6E 20 74 68 65 20  6C 65 66 74 68 61 6E 64  20 73 69 64 65 0A 20 20  20 20 20 20 20 20 20 20   on the lefthand side◙          
0000D2A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6F  66 20 61 6E 20 61 73 73  69 67 6E 6D 65 6E 74 2C                 of an assignment,
0000D2C0  20 5F 08 70 5F 08 32 5F  08 63 20 77 69 6C 6C 20  75 73 65 20 61 6C 67 65  62 72 61 20 74 6F 0A 20   _◘p_◘2_◘c will use algebra to◙ 
0000D2E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  22 73 6F 6C 76 65 22 20                          "solve" 
0000D300  66 6F 72 20 5F 08 69 2E  0A 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  for _◘i.◙◙                      
0000D320  20 20 20 49 6E 20 61 6C  6C 20 63 61 73 65 73 20  77 68 65 72 65 20 5F 08  70 5F 08 32 5F 08 63 20     In all cases where _◘p_◘2_◘c 
0000D340  70 61 72 73 65 73 20 43  20 65 78 70 72 65 73 73  69 6F 6E 73 2C 0A 20 20  20 20 20 20 20 20 20 20  parses C expressions,◙          
0000D360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  6C 6C 20 43 20 6F 70 65  72 61 74 6F 72 73 20 61                 all C operators a
0000D380  72 65 20 72 65 63 6F 67  6E 69 7A 65 64 20 65 78  63 65 70 74 0A 20 20 20  20 20 20 20 20 20 20 20  re recognized except◙           
0000D3A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 63 6F  6D 70 6F 75 6E 64 20 61  73 73 69 67 6E 6D 65 6E                compound assignmen
0000D3C0  74 73 20 6C 69 6B 65 20  60 2B 3D 27 2E 20 20 28  49 6E 63 72 65 6D 65 6E  74 0A 20 20 20 20 20 20  ts like `+='.  (Increment◙      
0000D3E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 61 6E 64 20 64  65 63 72 65 6D 65 6E 74                     and decrement
0000D400  20 6F 70 65 72 61 74 6F  72 73 20 61 72 65 20 61  6C 6C 6F 77 65 64 2E 29  20 41 6C 6C 0A 20 20 20   operators are allowed.) All◙   
0000D420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 76 61  72 69 61 62 6C 65 20 61                        variable a
0000D440  6E 64 20 66 75 6E 63 74  69 6F 6E 20 6E 61 6D 65  73 20 61 72 65 20 61 73  73 75 6D 65 64 20 74 6F  nd function names are assumed to
0000D460  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 68 61 76 65 20 69  ◙                         have i
0000D480  6E 74 65 67 65 72 20 74  79 70 65 2C 20 65 76 65  6E 20 69 66 20 74 68 65  79 20 61 72 65 20 6E 61  nteger type, even if they are na
0000D4A0  6D 65 73 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 74 68 61  mes◙                         tha
0000D4C0  74 20 6F 63 63 75 72 20  69 6E 20 74 68 65 20 61  63 74 75 61 6C 20 70 72  6F 67 72 61 6D 2E 20 20  t occur in the actual program.  
0000D4E0  41 20 74 79 70 65 2D 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  A type-◙                        
0000D500  20 73 70 65 63 69 66 69  63 61 74 69 6F 6E 20 6F  70 65 72 61 74 6F 72 20  60 3A 3A 27 20 68 61 73   specification operator `::' has
0000D520  20 62 65 65 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69   been◙                         i
0000D540  6E 74 72 6F 64 75 63 65  64 3B 20 69 74 20 68 61  73 20 74 68 65 20 73 61  6D 65 20 70 72 65 63 65  ntroduced; it has the same prece
0000D560  64 65 6E 63 65 20 61 73  20 60 2E 27 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  dence as `.'◙                   
0000D580  20 20 20 20 20 20 6F 72  20 60 2D 3E 27 20 62 75  74 20 74 68 65 20 72 69  67 68 74 68 61 6E 64 20        or `->' but the righthand 
0000D5A0  73 69 64 65 20 6D 75 73  74 20 62 65 20 61 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  side must be a◙                 
0000D5C0  20 20 20 20 20 20 20 20  50 61 73 63 61 6C 20 74  79 70 65 20 69 64 65 6E  74 69 66 69 65 72 20 28          Pascal type identifier (
0000D5E0  62 75 69 6C 74 2D 69 6E  20 6F 72 20 64 65 66 69  6E 65 64 0A 20 20 20 20  20 20 20 20 20 20 20 20  built-in or defined◙            
0000D600  20 20 20 20 20 20 20 20  20 20 20 20 20 62 79 20  79 6F 75 72 20 70 72 6F  67 72 61 6D 20 70 72 65               by your program pre
0000D620  76 69 6F 75 73 6C 79 20  74 6F 20 77 68 65 6E 20  74 68 65 20 6D 61 63 72  6F 0A 20 20 20 20 20 20  viously to when the macro◙      
0000D640  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 64 65 66 69 6E  69 74 69 6F 6E 20 77 61                     definition wa
0000D660  73 20 70 61 72 73 65 64  29 2C 20 6F 72 20 61 6E  20 61 72 62 69 74 72 61  72 79 0A 20 20 20 20 20  s parsed), or an arbitrary◙     
0000D680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 50 61 73 63  61 6C 20 74 79 70 65 20                      Pascal type 
0000D6A0  65 78 70 72 65 73 73 69  6F 6E 20 69 6E 20 70 61  72 65 6E 74 68 65 73 65  73 2E 20 20 54 68 65 0A  expression in parentheses.  The◙
0000D6C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 6C 65 66 74 68 61 6E                           lefthan
0000D6E0  64 20 61 72 67 75 6D 65  6E 74 20 69 73 20 74 68  65 6E 20 63 6F 6E 73 69  64 65 72 65 64 20 74 6F  d argument is then considered to
0000D700  20 68 61 76 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74   have◙                         t
0000D720  68 65 20 73 70 65 63 69  66 69 65 64 20 74 79 70  65 2E 20 20 54 68 69 73  20 6D 61 79 20 62 65 20  he specified type.  This may be 
0000D740  6E 65 63 65 73 73 61 72  79 20 69 66 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  necessary if◙                   
0000D760  20 20 20 20 20 20 79 6F  75 72 20 6D 61 63 72 6F  20 69 73 20 75 73 65 64  20 69 6E 20 73 69 74 75        your macro is used in situ
0000D780  61 74 69 6F 6E 73 20 77  68 65 72 65 20 74 68 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ations where the◙               
0000D7A0  20 20 20 20 20 20 20 20  20 20 65 78 61 63 74 20  74 79 70 65 20 6F 66 20  74 68 65 20 65 78 70 72            exact type of the expr
0000D7C0  65 73 73 69 6F 6E 20 6D  75 73 74 20 62 65 20 6B  6E 6F 77 6E 0A 20 20 20  20 20 20 20 20 20 20 20  ession must be known◙           
0000D7E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 73  61 79 2C 20 61 73 20 74  68 65 20 61 72 67 75 6D                (say, as the argum
0000D800  65 6E 74 20 74 6F 20 61  20 5F 08 77 5F 08 72 5F  08 69 5F 08 74 5F 08 65  5F 08 6C 5F 08 6E 29 2E  ent to a _◘w_◘r_◘i_◘t_◘e_◘l_◘n).
0000D820  0A 0A 20 20 20 20 20 20  20 20 20 20 46 08 46 08  46 08 46 69 08 69 08 69  08 69 65 08 65 08 65 08  ◙◙          F◘F◘F◘Fi◘i◘i◘ie◘e◘e◘
0000D840  65 6C 08 6C 08 6C 08 6C  64 08 64 08 64 08 64 4D  08 4D 08 4D 08 4D 61 08  61 08 61 08 61 63 08 63  el◘l◘l◘ld◘d◘d◘dM◘M◘M◘Ma◘a◘a◘ac◘c
0000D860  08 63 08 63 72 08 72 08  72 08 72 6F 08 6F 08 6F  08 6F 20 20 20 20 20 48  65 72 65 20 74 68 65 20  ◘c◘cr◘r◘r◘ro◘o◘o◘o     Here the 
0000D880  6C 65 66 74 68 61 6E 64  20 73 69 64 65 20 6D 75  73 74 20 68 61 76 65 20  74 68 65 20 66 6F 72 6D  lefthand side must have the form
0000D8A0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 5F 08 72 5F 08 65  ◙                         _◘r_◘e
0000D8C0  5F 08 63 5F 08 6F 5F 08  72 5F 08 64 2E 5F 08 66  5F 08 69 5F 08 65 5F 08  6C 5F 08 64 2C 20 77 68  _◘c_◘o_◘r_◘d._◘f_◘i_◘e_◘l_◘d, wh
0000D8E0  65 72 65 20 5F 08 72 5F  08 65 5F 08 63 5F 08 6F  5F 08 72 5F 08 64 20 69  73 20 74 68 65 20 50 61  ere _◘r_◘e_◘c_◘o_◘r_◘d is the Pa
0000D900  73 63 61 6C 20 74 79 70  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  scal type◙                      
0000D920  20 20 20 6F 72 20 76 61  72 69 61 62 6C 65 20 6E  61 6D 65 20 66 6F 72 20  61 20 72 65 63 6F 72 64     or variable name for a record
0000D940  2C 20 61 6E 64 20 5F 08  66 5F 08 69 5F 08 65 5F  08 6C 5F 08 64 20 69 73  20 61 0A 20 20 20 20 20  , and _◘f_◘i_◘e_◘l_◘d is a◙     
0000D960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 66 69 65 6C  64 20 69 6E 20 74 68 61                      field in tha
0000D980  74 20 72 65 63 6F 72 64  2E 20 20 54 68 65 20 72  69 67 68 74 68 61 6E 64  20 73 69 64 65 0A 20 20  t record.  The righthand side◙  
0000D9A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6D  75 73 74 20 62 65 20 61                         must be a
0000D9C0  20 43 20 65 78 70 72 65  73 73 69 6F 6E 20 67 65  6E 65 72 61 6C 6C 79 20  69 6E 63 6C 75 64 69 6E   C expression generally includin
0000D9E0  67 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 68 65 20 6E  g◙                         the n
0000DA00  61 6D 65 20 5F 08 72 5F  08 65 5F 08 63 5F 08 6F  5F 08 72 5F 08 64 2E 20  41 6C 6C 20 69 6E 73 74  ame _◘r_◘e_◘c_◘o_◘r_◘d. All inst
0000DA20  61 6E 63 65 73 20 6F 66  20 74 68 61 74 20 6E 61  6D 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ances of that name◙             
0000DA40  20 20 20 20 20 20 20 20  20 20 20 20 61 72 65 20  72 65 70 6C 61 63 65 64  20 62 79 20 74 68 65 20              are replaced by the 
0000DA60  61 63 74 75 61 6C 20 72  65 63 6F 72 64 20 62 65  69 6E 67 0A 20 20 20 20  20 20 20 20 20 20 20 20  actual record being◙            
0000DA80  20 20 20 20 20 20 20 20  20 20 20 20 20 22 64 6F  74 74 65 64 2E 22 20 46  6F 72 20 65 78 61 6D 70               "dotted." For examp
0000DAA0  6C 65 2C 0A 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  le,◙◙                           
0000DAC0  20 20 20 46 69 65 6C 64  4D 61 63 72 6F 20 52 65  63 74 2E 74 6F 70 4C 65  66 74 20 3D 20 74 6F 70     FieldMacro Rect.topLeft = top
0000DAE0  4C 65 66 74 28 52 65 63  74 29 0A 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  Left(Rect)◙◙                    
0000DB00  20 20 20 20 20 74 72 61  6E 73 6C 61 74 65 73 20  5F 08 61 5B 5F 08 69 5D  2E 5F 08 74 5F 08 6F 5F       translates _◘a[_◘i]._◘t_◘o_
0000DB20  08 70 5F 08 4C 5F 08 65  5F 08 66 5F 08 74 20 69  6E 74 6F 20 5F 08 74 5F  08 6F 5F 08 70 5F 08 4C  ◘p_◘L_◘e_◘f_◘t into _◘t_◘o_◘p_◘L
0000DB40  5F 08 65 5F 08 66 5F 08  74 28 5F 08 61 5B 5F 08  69 5D 29 2C 0A 20 20 20  20 20 20 20 20 20 20 20  _◘e_◘f_◘t(_◘a[_◘i]),◙           
0000DB60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 77 68  65 72 65 20 5F 08 61 20  69 73 20 61 6E 20 61 72                where _◘a is an ar
0000DB80  72 61 79 20 6F 66 20 5F  08 52 5F 08 65 5F 08 63  5F 08 74 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  ray of _◘R_◘e_◘c_◘t.◙◙          
0000DBA0  46 08 46 08 46 08 46 75  08 75 08 75 08 75 6E 08  6E 08 6E 08 6E 63 08 63  08 63 08 63 4D 08 4D 08  F◘F◘F◘Fu◘u◘u◘un◘n◘n◘nc◘c◘c◘cM◘M◘
0000DBC0  4D 08 4D 61 08 61 08 61  08 61 63 08 63 08 63 08  63 72 08 72 08 72 08 72  6F 08 6F 08 6F 08 6F 20  M◘Ma◘a◘a◘ac◘c◘c◘cr◘r◘r◘ro◘o◘o◘o 
0000DBE0  20 20 20 20 20 54 68 65  20 6C 65 66 74 68 61 6E  64 20 73 69 64 65 20 6D  75 73 74 20 62 65 20 61       The lefthand side must be a
0000DC00  6E 79 20 50 61 73 63 61  6C 20 66 75 6E 63 74 69  6F 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ny Pascal function◙             
0000DC20  20 20 20 20 20 20 20 20  20 20 20 20 6F 72 20 70  72 6F 63 65 64 75 72 65  20 6E 61 6D 65 20 70 6C              or procedure name pl
0000DC40  75 73 20 61 20 70 61 72  61 6D 65 74 65 72 20 6C  69 73 74 2E 20 20 54 68  65 0A 20 20 20 20 20 20  us a parameter list.  The◙      
0000DC60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 6E 75 6D 62 65  72 20 6F 66 20 70 61 72                     number of par
0000DC80  61 6D 65 74 65 72 73 20  6D 75 73 74 20 6D 61 74  63 68 20 74 68 65 20 6E  75 6D 62 65 72 20 69 6E  ameters must match the number in
0000DCA0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 74 68 65 20 66 75  ◙                         the fu
0000DCC0  6E 63 74 69 6F 6E 27 73  20 75 73 65 73 20 61 6E  64 20 64 65 63 6C 61 72  61 74 69 6F 6E 2E 20 20  nction's uses and declaration.  
0000DCE0  43 61 6C 6C 73 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  Calls◙                         t
0000DD00  6F 20 74 68 65 20 66 75  6E 63 74 69 6F 6E 20 61  72 65 20 72 65 70 6C 61  63 65 64 20 62 79 20 74  o the function are replaced by t
0000DD20  68 65 20 43 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 78  he C◙                         ex
0000DD40  70 72 65 73 73 69 6F 6E  20 6F 6E 20 74 68 65 20  72 69 67 68 74 68 61 6E  64 20 73 69 64 65 2E 20  pression on the righthand side. 
0000DD60  20 46 6F 72 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 78   For◙                         ex
0000DD80  61 6D 70 6C 65 2C 0A 0A  0A 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ample,◙◙◙◙                      
0000DDA0  20 20 20 20 20 20 20 20  20 20 20 20 2D 20 31 35  20 2D 20 46 6F 72 6D 61  74 74 65 64 3A 20 20 46              - 15 - Formatted:  F
0000DDC0  65 62 72 75 61 72 79 20  32 38 2C 20 31 39 39 31  0A 0A 0A 0A 0A 0A 0A 20  20 20 20 20 50 08 50 08  ebruary 28, 1991◙◙◙◙◙◙◙     P◘P◘
0000DDE0  50 08 50 32 08 32 08 32  08 32 43 08 43 08 43 08  43 28 08 28 08 28 08 28  31 08 31 08 31 08 31 29  P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)
0000DE00  08 29 08 29 08 29 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 08  ◘)◘)◘)                        (◘
0000DE20  28 08 28 08 28 6C 08 6C  08 6C 08 6C 6F 08 6F 08  6F 08 6F 63 08 63 08 63  08 63 61 08 61 08 61 08  (◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘
0000DE40  61 6C 08 6C 08 6C 08 6C  29 08 29 08 29 08 29 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  al◘l◘l◘l)◘)◘)◘)                 
0000DE60  20 20 20 20 20 50 08 50  08 50 08 50 32 08 32 08  32 08 32 43 08 43 08 43  08 43 28 08 28 08 28 08       P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘
0000DE80  28 31 08 31 08 31 08 31  29 08 29 08 29 08 29 0A  0A 0A 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  (1◘1◘1◘1)◘)◘)◘)◙◙◙◙             
0000DEA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 46 75 6E 63 4D 61 63  72 6F 20 50 74 49 6E 52                   FuncMacro PtInR
0000DEC0  65 63 74 28 70 2C 72 29  20 3D 20 50 74 49 6E 52  65 63 74 28 70 2C 26 72  29 0A 0A 20 20 20 20 20  ect(p,r) = PtInRect(p,&r)◙◙     
0000DEE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 63 61 75 73  65 73 20 74 68 65 20 73                      causes the s
0000DF00  65 63 6F 6E 64 20 61 72  67 75 6D 65 6E 74 20 6F  66 20 5F 08 50 5F 08 74  5F 08 49 5F 08 6E 5F 08  econd argument of _◘P_◘t_◘I_◘n_◘
0000DF20  52 5F 08 65 5F 08 63 5F  08 74 20 74 6F 20 62 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  R_◘e_◘c_◘t to be◙               
0000DF40  20 20 20 20 20 20 20 20  20 20 70 61 73 73 65 64  20 62 79 20 72 65 66 65  72 65 6E 63 65 2C 20 65            passed by reference, e
0000DF60  76 65 6E 20 74 68 6F 75  67 68 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ven though the◙                 
0000DF80  20 20 20 20 20 20 20 20  64 65 63 6C 61 72 61 74  69 6F 6E 20 73 61 79 73  20 69 74 27 73 20 6E 6F          declaration says it's no
0000DFA0  74 2E 20 20 49 66 20 74  68 65 20 66 75 6E 63 74  69 6F 6E 0A 20 20 20 20  20 20 20 20 20 20 20 20  t.  If the function◙            
0000DFC0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6E 20  71 75 65 73 74 69 6F 6E  20 69 73 20 61 63 74 75               in question is actu
0000DFE0  61 6C 6C 79 20 64 65 66  69 6E 65 64 20 69 6E 20  74 68 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  ally defined in the◙            
0000E000  20 20 20 20 20 20 20 20  20 20 20 20 20 70 72 6F  67 72 61 6D 20 6F 72 20  6D 6F 64 75 6C 65 20 62               program or module b
0000E020  65 69 6E 67 20 74 72 61  6E 73 6C 61 74 65 64 2C  20 74 68 65 0A 20 20 20  20 20 20 20 20 20 20 20  eing translated, the◙           
0000E040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 46 08  46 08 46 08 46 75 08 75  08 75 08 75 6E 08 6E 08                F◘F◘F◘Fu◘u◘u◘un◘n◘
0000E060  6E 08 6E 63 08 63 08 63  08 63 4D 08 4D 08 4D 08  4D 61 08 61 08 61 08 61  63 08 63 08 63 08 63 72  n◘nc◘c◘c◘cM◘M◘M◘Ma◘a◘a◘ac◘c◘c◘cr
0000E080  08 72 08 72 08 72 6F 08  6F 08 6F 08 6F 20 77 69  6C 6C 20 6E 6F 74 20 61  66 66 65 63 74 20 74 68  ◘r◘r◘ro◘o◘o◘o will not affect th
0000E0A0  65 20 64 65 66 69 6E 69  74 69 6F 6E 20 62 75 74  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e definition but◙               
0000E0C0  20 20 20 20 20 20 20 20  20 20 69 74 20 77 69 6C  6C 20 61 66 66 65 63 74  20 61 6C 6C 20 63 61 6C            it will affect all cal
0000E0E0  6C 73 20 74 6F 20 74 68  65 20 66 75 6E 63 74 69  6F 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ls to the function◙             
0000E100  20 20 20 20 20 20 20 20  20 20 20 20 65 6C 73 65  77 68 65 72 65 20 69 6E  20 74 68 65 20 6D 6F 64              elsewhere in the mod
0000E120  75 6C 65 2E 20 20 46 08  46 08 46 08 46 75 08 75  08 75 08 75 6E 08 6E 08  6E 08 6E 63 08 63 08 63  ule.  F◘F◘F◘Fu◘u◘u◘un◘n◘n◘nc◘c◘c
0000E140  08 63 4D 08 4D 08 4D 08  4D 61 08 61 08 61 08 61  63 08 63 08 63 08 63 72  08 72 08 72 08 72 6F 08  ◘cM◘M◘M◘Ma◘a◘a◘ac◘c◘c◘cr◘r◘r◘ro◘
0000E160  6F 08 6F 08 6F 73 08 73  08 73 08 73 20 63 61 6E  20 61 6C 73 6F 0A 20 20  20 20 20 20 20 20 20 20  o◘o◘os◘s◘s◘s can also◙          
0000E180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 62  65 20 61 70 70 6C 69 65  64 20 74 6F 20 70 72 65                 be applied to pre
0000E1A0  64 65 66 69 6E 65 64 20  6F 72 20 6E 65 76 65 72  2D 64 65 66 69 6E 65 64  0A 20 20 20 20 20 20 20  defined or never-defined◙       
0000E1C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  6F 6E 73 2E 0A 0A 20 20                    functions.◙◙  
0000E1E0  20 20 20 20 20 20 20 20  49 08 49 08 49 08 49 6E  08 6E 08 6E 08 6E 63 08  63 08 63 08 63 6C 08 6C          I◘I◘I◘In◘n◘n◘nc◘c◘c◘cl◘l
0000E200  08 6C 08 6C 75 08 75 08  75 08 75 64 08 64 08 64  08 64 65 08 65 08 65 08  65 46 08 46 08 46 08 46  ◘l◘lu◘u◘u◘ud◘d◘d◘de◘e◘e◘eF◘F◘F◘F
0000E220  72 08 72 08 72 08 72 6F  08 6F 08 6F 08 6F 6D 08  6D 08 6D 08 6D 20 20 20  20 54 68 69 73 20 73 70  r◘r◘r◘ro◘o◘o◘om◘m◘m◘m    This sp
0000E240  65 63 69 66 69 65 73 20  74 68 61 74 20 61 20 67  69 76 65 6E 20 6D 6F 64  75 6C 65 27 73 20 68 65  ecifies that a given module's he
0000E260  61 64 65 72 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 68  ader◙                         sh
0000E280  6F 75 6C 64 20 62 65 20  69 6E 63 6C 75 64 65 64  20 66 72 6F 6D 20 61 20  67 69 76 65 6E 20 70 6C  ould be included from a given pl
0000E2A0  61 63 65 2E 20 20 54 68  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ace.  The◙                      
0000E2C0  20 20 20 73 65 63 6F 6E  64 20 61 72 67 75 6D 65  6E 74 20 6D 61 79 20 62  65 20 73 75 72 72 6F 75     second argument may be surrou
0000E2E0  6E 64 65 64 20 62 79 20  22 20 22 20 6F 72 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nded by " " or◙                 
0000E300  20 20 20 20 20 20 20 20  3C 20 3E 20 61 73 20 6E  65 63 65 73 73 61 72 79  3B 20 69 66 20 74 68 65          < > as necessary; if the
0000E320  20 73 65 63 6F 6E 64 20  61 72 67 75 6D 65 6E 74  20 69 73 0A 20 20 20 20  20 20 20 20 20 20 20 20   second argument is◙            
0000E340  20 20 20 20 20 20 20 20  20 20 20 20 20 6F 6D 69  74 74 65 64 2C 20 6E 6F  20 69 6E 63 6C 75 64 65               omitted, no include
0000E360  20 64 69 72 65 63 74 69  76 65 20 77 69 6C 6C 20  62 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20   directive will be◙             
0000E380  20 20 20 20 20 20 20 20  20 20 20 20 67 65 6E 65  72 61 74 65 64 20 66 6F  72 20 74 68 65 20 6D 6F              generated for the mo
0000E3A0  64 75 6C 65 2E 0A 0A 20  20 20 20 20 20 20 20 20  20 49 08 49 08 49 08 49  6D 08 6D 08 6D 08 6D 70  dule.◙◙          I◘I◘I◘Im◘m◘m◘mp
0000E3C0  08 70 08 70 08 70 6F 08  6F 08 6F 08 6F 72 08 72  08 72 08 72 74 08 74 08  74 08 74 46 08 46 08 46  ◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t◘t◘tF◘F◘F
0000E3E0  08 46 72 08 72 08 72 08  72 6F 08 6F 08 6F 08 6F  6D 08 6D 08 6D 08 6D 20  20 20 20 20 54 68 69 73  ◘Fr◘r◘r◘ro◘o◘o◘om◘m◘m◘m     This
0000E400  20 73 70 65 63 69 66 69  65 73 20 74 68 61 74 20  61 20 67 69 76 65 6E 20  6D 6F 64 75 6C 65 27 73   specifies that a given module's
0000E420  20 50 61 73 63 61 6C 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   Pascal◙                        
0000E440  20 69 6E 74 65 72 66 61  63 65 20 74 65 78 74 20  63 61 6E 20 62 65 20 66  6F 75 6E 64 20 69 6E 20   interface text can be found in 
0000E460  74 68 65 20 67 69 76 65  6E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  the given◙                      
0000E480  20 20 20 66 69 6C 65 2E  20 20 54 68 65 20 6E 61  6D 65 64 20 66 69 6C 65  20 73 68 6F 75 6C 64 20     file.  The named file should 
0000E4A0  62 65 20 65 69 74 68 65  72 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  be either the◙                  
0000E4C0  20 20 20 20 20 20 20 73  6F 75 72 63 65 20 66 69  6C 65 20 66 6F 72 20 74  68 65 20 6D 6F 64 75 6C         source file for the modul
0000E4E0  65 2C 20 6F 72 20 61 20  73 70 65 63 69 61 6C 6C  79 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e, or a specially◙              
0000E500  20 20 20 20 20 20 20 20  20 20 20 70 72 65 70 61  72 65 64 20 66 69 6C 65  20 77 69 74 68 20 74 68             prepared file with th
0000E520  65 20 69 6D 70 6C 65 6D  65 6E 74 61 74 69 6F 6E  20 73 65 63 74 69 6F 6E  0A 20 20 20 20 20 20 20  e implementation section◙       
0000E540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 72 65 6D 6F 76 65  64 20 66 6F 72 20 73 70                    removed for sp
0000E560  65 65 64 2E 20 20 49 66  20 6E 6F 20 49 08 49 08  49 08 49 6D 08 6D 08 6D  08 6D 70 08 70 08 70 08  eed.  If no I◘I◘I◘Im◘m◘m◘mp◘p◘p◘
0000E580  70 6F 08 6F 08 6F 08 6F  72 08 72 08 72 08 72 74  08 74 08 74 08 74 46 08  46 08 46 08 46 72 08 72  po◘o◘o◘or◘r◘r◘rt◘t◘t◘tF◘F◘F◘Fr◘r
0000E5A0  08 72 08 72 6F 08 6F 08  6F 08 6F 6D 08 6D 08 6D  08 6D 20 65 6E 74 72 79  20 69 73 0A 20 20 20 20  ◘r◘ro◘o◘o◘om◘m◘m◘m entry is◙    
0000E5C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 66 6F 75  6E 64 20 66 6F 72 20 61                       found for a
0000E5E0  20 6D 6F 64 75 6C 65 2C  20 74 68 65 20 70 61 74  68 20 64 65 66 69 6E 65  64 20 62 79 20 74 68 65   module, the path defined by the
0000E600  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 49 08 49 08 49 08  ◙                         I◘I◘I◘
0000E620  49 6D 08 6D 08 6D 08 6D  70 08 70 08 70 08 70 6F  08 6F 08 6F 08 6F 72 08  72 08 72 08 72 74 08 74  Im◘m◘m◘mp◘p◘p◘po◘o◘o◘or◘r◘r◘rt◘t
0000E640  08 74 08 74 44 08 44 08  44 08 44 69 08 69 08 69  08 69 72 08 72 08 72 08  72 20 6C 69 73 74 20 69  ◘t◘tD◘D◘D◘Di◘i◘i◘ir◘r◘r◘r list i
0000E660  73 20 73 65 61 72 63 68  65 64 2E 20 20 45 61 63  68 20 65 6E 74 72 79 20  69 6E 0A 20 20 20 20 20  s searched.  Each entry in◙     
0000E680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  70 61 74 68 20 6D 61 79                      the path may
0000E6A0  20 63 6F 6E 74 61 69 6E  20 61 20 25 5F 08 73 2C  20 77 68 69 63 68 20 65  78 70 61 6E 64 73 20 74   contain a %_◘s, which expands t
0000E6C0  6F 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 74 68 65 20 6E  o◙                         the n
0000E6E0  61 6D 65 20 6F 66 20 74  68 65 20 6D 6F 64 75 6C  65 2E 20 20 54 68 65 20  64 65 66 61 75 6C 74 20  ame of the module.  The default 
0000E700  70 61 74 68 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6C 6F  path◙                         lo
0000E720  6F 6B 73 20 66 6F 72 20  25 5F 08 73 2E 5F 08 70  5F 08 61 5F 08 73 20 61  6E 64 20 25 5F 08 73 2E  oks for %_◘s._◘p_◘a_◘s and %_◘s.
0000E740  5F 08 74 5F 08 65 5F 08  78 5F 08 74 20 69 6E 20  74 68 65 20 63 75 72 72  65 6E 74 0A 20 20 20 20  _◘t_◘e_◘x_◘t in the current◙    
0000E760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 64 69 72  65 63 74 6F 72 79 2C 20                       directory, 
0000E780  74 68 65 6E 20 66 6F 72  20 2F 5F 08 75 5F 08 73  5F 08 72 2F 5F 08 6C 5F  08 69 5F 08 62 2F 5F 08  then for /_◘u_◘s_◘r/_◘l_◘i_◘b/_◘
0000E7A0  70 5F 08 32 5F 08 63 2F  25 5F 08 73 2E 5F 08 69  5F 08 6D 5F 08 70 2E 0A  20 20 20 20 20 20 20 20  p_◘2_◘c/%_◘s._◘i_◘m_◘p.◙        
0000E7C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 28 77 68 65 72 65 20  2F 75 73 72 2F 6C 69 62                   (where /usr/lib
0000E7E0  2F 70 32 63 20 69 73 20  74 68 65 20 5F 08 70 5F  08 32 5F 08 63 20 68 6F  6D 65 0A 20 20 20 20 20  /p2c is the _◘p_◘2_◘c home◙     
0000E800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 64 69 72 65  63 74 6F 72 79 2E 29 0A                      directory.)◙
0000E820  0A 20 20 20 20 20 20 20  20 20 20 53 08 53 08 53  08 53 74 08 74 08 74 08  74 72 08 72 08 72 08 72  ◙          S◘S◘S◘St◘t◘t◘tr◘r◘r◘r
0000E840  75 08 75 08 75 08 75 63  08 63 08 63 08 63 74 08  74 08 74 08 74 46 08 46  08 46 08 46 75 08 75 08  u◘u◘u◘uc◘c◘c◘ct◘t◘t◘tF◘F◘F◘Fu◘u◘
0000E860  75 08 75 6E 08 6E 08 6E  08 6E 63 08 63 08 63 08  63 74 08 74 08 74 08 74  69 08 69 08 69 08 69 6F  u◘un◘n◘n◘nc◘c◘c◘ct◘t◘t◘ti◘i◘i◘io
0000E880  08 6F 08 6F 08 6F 6E 08  6E 08 6E 08 6E 20 54 68  69 73 20 70 61 72 61 6D  65 74 65 72 20 69 73 20  ◘o◘o◘on◘n◘n◘n This parameter is 
0000E8A0  61 20 6C 69 73 74 20 6F  66 20 66 75 6E 63 74 69  6F 6E 73 20 77 68 69 63  68 0A 20 20 20 20 20 20  a list of functions which◙      
0000E8C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 66 6F 6C 6C 6F  77 20 74 68 65 20 5F 08                     follow the _◘
0000E8E0  70 5F 08 32 5F 08 63 20  73 65 6D 61 6E 74 69 63  73 20 66 6F 72 20 73 74  72 75 63 74 75 72 65 2D  p_◘2_◘c semantics for structure-
0000E900  76 61 6C 75 65 64 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  valued◙                         
0000E920  66 75 6E 63 74 69 6F 6E  73 20 28 66 75 6E 63 74  69 6F 6E 73 20 72 65 74  75 72 6E 69 6E 67 20 61  functions (functions returning a
0000E940  72 72 61 79 73 2C 20 73  65 74 73 2C 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  rrays, sets,◙                   
0000E960  20 20 20 20 20 20 61 6E  64 20 73 74 72 69 6E 67  73 2C 20 61 6E 64 20 73  74 72 75 63 74 73 20 69        and strings, and structs i
0000E980  6E 20 70 72 69 6D 69 74  69 76 65 20 43 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  n primitive C◙                  
0000E9A0  20 20 20 20 20 20 20 64  69 61 6C 65 63 74 73 29  2E 20 20 46 6F 72 20 74  68 65 73 65 20 66 75 6E         dialects).  For these fun
0000E9C0  63 74 69 6F 6E 73 2C 20  61 20 70 6F 69 6E 74 65  72 20 74 6F 0A 20 20 20  20 20 20 20 20 20 20 20  ctions, a pointer to◙           
0000E9E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 61 20  72 65 74 75 72 6E 2D 76  61 6C 75 65 20 61 72 65                a return-value are
0000EA00  61 20 69 73 20 70 61 73  73 65 64 20 74 6F 20 74  68 65 20 66 75 6E 63 74  69 6F 6E 0A 20 20 20 20  a is passed to the function◙    
0000EA20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 61 73 20  61 20 73 70 65 63 69 61                       as a specia
0000EA40  6C 20 66 69 72 73 74 20  70 61 72 61 6D 65 74 65  72 2E 20 20 54 68 65 20  66 75 6E 63 74 69 6F 6E  l first parameter.  The function
0000EA60  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 73 74 6F 72 65 73  ◙                         stores
0000EA80  20 74 68 65 20 72 65 73  75 6C 74 20 69 6E 20 74  68 69 73 20 61 72 65 61  2C 20 74 68 65 6E 20 72   the result in this area, then r
0000EAA0  65 74 75 72 6E 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  eturns◙                         
0000EAC0  61 20 63 6F 70 79 20 6F  66 20 74 68 65 20 70 6F  69 6E 74 65 72 2E 20 20  28 54 68 65 20 73 74 61  a copy of the pointer.  (The sta
0000EAE0  6E 64 61 72 64 20 43 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ndard C◙                        
0000EB00  20 66 75 6E 63 74 69 6F  6E 20 5F 08 73 5F 08 74  5F 08 72 5F 08 63 5F 08  70 5F 08 79 20 69 73 20   function _◘s_◘t_◘r_◘c_◘p_◘y is 
0000EB20  61 6E 20 65 78 61 6D 70  6C 65 20 6F 66 20 74 68  69 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  an example of this◙             
0000EB40  20 20 20 20 20 20 20 20  20 20 20 20 63 6F 6E 63  65 70 74 2E 20 20 5F 08  53 5F 08 70 5F 08 72 5F              concept.  _◘S_◘p_◘r_
0000EB60  08 69 5F 08 6E 5F 08 74  5F 08 66 20 61 6C 73 6F  20 62 65 68 61 76 65 73  20 74 68 69 73 20 77 61  ◘i_◘n_◘t_◘f also behaves this wa
0000EB80  79 20 69 6E 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 6F  y in◙                         so
0000EBA0  6D 65 20 64 69 61 6C 65  63 74 73 3B 20 69 74 20  61 6C 77 61 79 73 20 61  70 70 65 61 72 73 20 6F  me dialects; it always appears o
0000EBC0  6E 20 74 68 65 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  n the◙                         S
0000EBE0  08 53 08 53 08 53 74 08  74 08 74 08 74 72 08 72  08 72 08 72 75 08 75 08  75 08 75 63 08 63 08 63  ◘S◘S◘St◘t◘t◘tr◘r◘r◘ru◘u◘u◘uc◘c◘c
0000EC00  08 63 74 08 74 08 74 08  74 46 08 46 08 46 08 46  75 08 75 08 75 08 75 6E  08 6E 08 6E 08 6E 63 08  ◘ct◘t◘t◘tF◘F◘F◘Fu◘u◘u◘un◘n◘n◘nc◘
0000EC20  63 08 63 08 63 74 08 74  08 74 08 74 69 08 69 08  69 08 69 6F 08 6F 08 6F  08 6F 6E 08 6E 08 6E 08  c◘c◘ct◘t◘t◘ti◘i◘i◘io◘o◘o◘on◘n◘n◘
0000EC40  6E 20 6C 69 73 74 20 72  65 67 61 72 64 6C 65 73  73 20 6F 66 20 74 68 65  20 74 79 70 65 20 6F 66  n list regardless of the type of
0000EC60  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 69 6D 70 6C 65 6D  ◙                         implem
0000EC80  65 6E 74 61 74 69 6F 6E  2E 29 20 20 54 68 65 20  73 79 73 74 65 6D 20 63  6F 6E 66 69 67 75 72 61  entation.)  The system configura
0000ECA0  74 69 6F 6E 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 69  tion◙                         fi
0000ECC0  6C 65 20 69 6E 63 6C 75  64 65 73 20 61 20 6C 69  73 74 20 6F 66 20 63 6F  6D 6D 6F 6E 20 73 74 72  le includes a list of common str
0000ECE0  75 63 74 75 72 65 64 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  uctured◙                        
0000ED00  20 66 75 6E 63 74 69 6F  6E 73 20 73 6F 20 74 68  61 74 20 5F 08 70 5F 08  32 5F 08 63 27 73 20 6F   functions so that _◘p_◘2_◘c's o
0000ED20  70 74 69 6D 69 7A 65 72  20 77 69 6C 6C 20 6B 6E  6F 77 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  ptimizer will know◙             
0000ED40  20 20 20 20 20 20 20 20  20 20 20 20 68 6F 77 20  74 6F 20 6D 61 6E 69 70  75 6C 61 74 65 20 74 68              how to manipulate th
0000ED60  65 6D 2E 0A 0A 0A 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  em.◙◙◙◙                         
0000ED80  20 20 20 20 20 20 20 20  20 2D 20 31 36 20 2D 20  46 6F 72 6D 61 74 74 65  64 3A 20 20 46 65 62 72           - 16 - Formatted:  Febr
0000EDA0  75 61 72 79 20 32 38 2C  20 31 39 39 31 0A 0A 0A  0A 0A 0A 0A 20 20 20 20  20 50 08 50 08 50 08 50  uary 28, 1991◙◙◙◙◙◙◙     P◘P◘P◘P
0000EDC0  32 08 32 08 32 08 32 43  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘
0000EDE0  29 08 29 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 28 08 28 08 28  )◘)                        (◘(◘(
0000EE00  08 28 6C 08 6C 08 6C 08  6C 6F 08 6F 08 6F 08 6F  63 08 63 08 63 08 63 61  08 61 08 61 08 61 6C 08  ◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘
0000EE20  6C 08 6C 08 6C 29 08 29  08 29 08 29 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  l◘l◘l)◘)◘)◘)                    
0000EE40  20 20 50 08 50 08 50 08  50 32 08 32 08 32 08 32  43 08 43 08 43 08 43 28  08 28 08 28 08 28 31 08    P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘
0000EE60  31 08 31 08 31 29 08 29  08 29 08 29 0A 0A 0A 0A  20 20 20 20 20 20 20 20  20 20 53 08 53 08 53 08  1◘1◘1)◘)◘)◘)◙◙◙◙          S◘S◘S◘
0000EE80  53 74 08 74 08 74 08 74  72 08 72 08 72 08 72 6C  08 6C 08 6C 08 6C 61 08  61 08 61 08 61 70 08 70  St◘t◘t◘tr◘r◘r◘rl◘l◘l◘la◘a◘a◘ap◘p
0000EEA0  08 70 08 70 46 08 46 08  46 08 46 75 08 75 08 75  08 75 6E 08 6E 08 6E 08  6E 63 08 63 08 63 08 63  ◘p◘pF◘F◘F◘Fu◘u◘u◘un◘n◘n◘nc◘c◘c◘c
0000EEC0  74 08 74 08 74 08 74 69  08 69 08 69 08 69 6F 08  6F 08 6F 08 6F 6E 08 6E  08 6E 08 6E 20 46 75 6E  t◘t◘t◘ti◘i◘i◘io◘o◘o◘on◘n◘n◘n Fun
0000EEE0  63 74 69 6F 6E 73 20 6F  6E 20 74 68 69 73 20 6C  69 73 74 20 61 72 65 20  73 74 72 75 63 74 75 72  ctions on this list are structur
0000EF00  65 64 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 66 75 6E 63  ed◙                         func
0000EF20  74 69 6F 6E 73 20 61 73  20 61 62 6F 76 65 2C 20  62 75 74 20 77 69 74 68  20 74 68 65 20 61 62 69  tions as above, but with the abi
0000EF40  6C 69 74 79 20 74 6F 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  lity to◙                        
0000EF60  20 77 6F 72 6B 20 69 6E  2D 70 6C 61 63 65 3B 20  74 68 61 74 20 69 73 2C  20 74 68 65 20 73 61 6D   work in-place; that is, the sam
0000EF80  65 20 70 6F 69 6E 74 65  72 20 6D 61 79 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e pointer may◙                  
0000EFA0  20 20 20 20 20 20 20 62  65 20 70 61 73 73 65 64  20 61 73 20 62 6F 74 68  20 74 68 65 20 72 65 74         be passed as both the ret
0000EFC0  75 72 6E 20 76 61 6C 75  65 20 61 72 65 61 20 61  6E 64 20 61 0A 20 20 20  20 20 20 20 20 20 20 20  urn value area and a◙           
0000EFE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 65  67 75 6C 61 72 20 70 61  72 61 6D 65 74 65 72 2E                regular parameter.
0000F000  0A 0A 20 20 20 20 20 20  20 20 20 20 44 08 44 08  44 08 44 65 08 65 08 65  08 65 74 08 74 08 74 08  ◙◙          D◘D◘D◘De◘e◘e◘et◘t◘t◘
0000F020  74 65 08 65 08 65 08 65  72 08 72 08 72 08 72 6D  08 6D 08 6D 08 6D 69 08  69 08 69 08 69 6E 08 6E  te◘e◘e◘er◘r◘r◘rm◘m◘m◘mi◘i◘i◘in◘n
0000F040  08 6E 08 6E 69 08 69 08  69 08 69 73 08 73 08 73  08 73 74 08 74 08 74 08  74 69 08 69 08 69 08 69  ◘n◘ni◘i◘i◘is◘s◘s◘st◘t◘t◘ti◘i◘i◘i
0000F060  63 08 63 08 63 08 63 20  20 46 75 6E 63 74 69 6F  6E 73 20 6F 6E 20 74 68  69 73 20 6C 69 73 74 20  c◘c◘c◘c  Functions on this list 
0000F080  68 61 76 65 20 6E 6F 20  73 69 64 65 20 65 66 66  65 63 74 73 0A 20 20 20  20 20 20 20 20 20 20 20  have no side effects◙           
0000F0A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6F 72  20 73 69 64 65 20 64 65  70 65 6E 64 65 6E 63 69                or side dependenci
0000F0C0  65 73 2E 20 20 41 6E 20  65 78 61 6D 70 6C 65 20  69 73 20 74 68 65 20 5F  08 73 5F 08 69 5F 08 6E  es.  An example is the _◘s_◘i_◘n
0000F0E0  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 66 75 6E 63 74 69  ◙                         functi
0000F100  6F 6E 20 69 6E 20 74 68  65 20 73 74 61 6E 64 61  72 64 20 6D 61 74 68 20  6C 69 62 72 61 72 79 3B  on in the standard math library;
0000F120  20 74 77 6F 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 63 61   two◙                         ca
0000F140  6C 6C 73 20 77 69 74 68  20 74 68 65 20 73 61 6D  65 20 70 61 72 61 6D 65  74 65 72 20 76 61 6C 75  lls with the same parameter valu
0000F160  65 73 20 70 72 6F 64 75  63 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  es produce◙                     
0000F180  20 20 20 20 74 68 65 20  73 61 6D 65 20 72 65 73  75 6C 74 2C 20 61 6E 64  20 68 61 76 65 20 6E 6F      the same result, and have no
0000F1A0  20 65 66 66 65 63 74 73  20 6F 74 68 65 72 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   effects other◙                 
0000F1C0  20 20 20 20 20 20 20 20  74 68 61 6E 20 72 65 74  75 72 6E 69 6E 67 20 61  20 76 61 6C 75 65 2E 20          than returning a value. 
0000F1E0  20 5F 08 50 5F 08 32 5F  08 63 20 63 61 6E 20 6D  61 6B 65 20 75 73 65 20  6F 66 0A 20 20 20 20 20   _◘P_◘2_◘c can make use of◙     
0000F200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 69 73  20 6B 6E 6F 77 6C 65 64                      this knowled
0000F220  67 65 20 77 68 65 6E 20  6F 70 74 69 6D 69 7A 69  6E 67 20 63 6F 64 65 20  66 6F 72 0A 20 20 20 20  ge when optimizing code for◙    
0000F240  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 65 66 66  69 63 69 65 6E 63 79 20                       efficiency 
0000F260  6F 72 20 72 65 61 64 61  62 69 6C 69 74 79 2E 20  20 46 75 6E 63 74 69 6F  6E 73 20 6F 6E 20 74 68  or readability.  Functions on th
0000F280  69 73 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6C 69 73 74  is◙                         list
0000F2A0  20 61 72 65 20 61 6C 73  6F 20 61 73 73 75 6D 65  64 20 74 6F 20 62 65 20  72 65 6C 61 74 69 76 65   are also assumed to be relative
0000F2C0  6C 79 20 66 61 73 74 2C  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ly fast,◙                       
0000F2E0  20 20 73 6F 20 74 68 61  74 20 69 74 20 69 73 20  61 63 63 65 70 74 61 62  6C 65 20 74 6F 20 64 75    so that it is acceptable to du
0000F300  70 6C 69 63 61 74 65 20  61 20 63 61 6C 6C 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  plicate a call◙                 
0000F320  20 20 20 20 20 20 20 20  74 6F 20 74 68 65 20 66  75 6E 63 74 69 6F 6E 2E  0A 0A 20 20 20 20 20 20          to the function.◙◙      
0000F340  20 20 20 20 4C 08 4C 08  4C 08 4C 65 08 65 08 65  08 65 61 08 61 08 61 08  61 76 08 76 08 76 08 76      L◘L◘L◘Le◘e◘e◘ea◘a◘a◘av◘v◘v◘v
0000F360  65 08 65 08 65 08 65 41  08 41 08 41 08 41 6C 08  6C 08 6C 08 6C 6F 08 6F  08 6F 08 6F 6E 08 6E 08  e◘e◘e◘eA◘A◘A◘Al◘l◘l◘lo◘o◘o◘on◘n◘
0000F380  6E 08 6E 65 08 65 08 65  08 65 20 20 20 20 20 46  75 6E 63 74 69 6F 6E 73  20 6F 6E 20 74 68 69 73  n◘ne◘e◘e◘e     Functions on this
0000F3A0  20 6C 69 73 74 20 61 72  65 20 6E 6F 74 20 73 75  62 6A 65 63 74 65 64 20  74 6F 0A 20 20 20 20 20   list are not subjected to◙     
0000F3C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  6E 6F 72 6D 61 6C 20 62                      the normal b
0000F3E0  75 69 6C 74 2D 69 6E 20  74 72 61 6E 73 6C 61 74  69 6F 6E 20 72 75 6C 65  73 20 74 68 61 74 0A 20  uilt-in translation rules that◙ 
0000F400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  5F 08 70 5F 08 32 5F 08                          _◘p_◘2_◘
0000F420  63 20 77 6F 75 6C 64 20  6F 74 68 65 72 77 69 73  65 20 75 73 65 2E 20 20  46 6F 72 20 65 78 61 6D  c would otherwise use.  For exam
0000F440  70 6C 65 2C 20 61 64 64  69 6E 67 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ple, adding◙                    
0000F460  20 20 20 20 20 5F 08 77  5F 08 72 5F 08 69 5F 08  74 5F 08 65 5F 08 6C 5F  08 6E 20 74 6F 20 74 68       _◘w_◘r_◘i_◘t_◘e_◘l_◘n to th
0000F480  69 73 20 6C 69 73 74 20  77 6F 75 6C 64 20 74 72  61 6E 73 6C 61 74 65 20  5F 08 77 5F 08 72 5F 08  is list would translate _◘w_◘r_◘
0000F4A0  69 5F 08 74 5F 08 65 5F  08 6C 5F 08 6E 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  i_◘t_◘e_◘l_◘n◙                  
0000F4C0  20 20 20 20 20 20 20 73  74 61 74 65 6D 65 6E 74  73 20 62 6C 69 6E 64 6C  79 20 69 6E 74 6F 20 63         statements blindly into c
0000F4E0  61 6C 6C 73 20 74 6F 20  61 20 43 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  alls to a C◙                    
0000F500  20 20 20 20 20 5F 08 77  5F 08 72 5F 08 69 5F 08  74 5F 08 65 5F 08 6C 5F  08 6E 28 29 20 66 75 6E       _◘w_◘r_◘i_◘t_◘e_◘l_◘n() fun
0000F520  63 74 69 6F 6E 2C 20 72  61 74 68 65 72 20 74 68  61 6E 20 62 65 69 6E 67  0A 20 20 20 20 20 20 20  ction, rather than being◙       
0000F540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 74 72 61 6E 73 6C  61 74 65 64 20 69 6E 74                    translated int
0000F560  6F 20 65 71 75 69 76 61  6C 65 6E 74 20 5F 08 70  5F 08 72 5F 08 69 5F 08  6E 5F 08 74 5F 08 66 20  o equivalent _◘p_◘r_◘i_◘n_◘t_◘f 
0000F580  63 61 6C 6C 73 2E 20 20  54 68 65 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  calls.  The◙                    
0000F5A0  20 20 20 20 20 62 75 69  6C 74 2D 69 6E 20 74 72  61 6E 73 6C 61 74 69 6F  6E 20 69 73 20 61 6C 73       built-in translation is als
0000F5C0  6F 20 73 75 70 70 72 65  73 73 65 64 20 69 66 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  o suppressed if◙                
0000F5E0  20 20 20 20 20 20 20 20  20 74 68 65 20 66 75 6E  63 74 69 6F 6E 20 68 61  73 20 61 20 46 08 46 08           the function has a F◘F◘
0000F600  46 08 46 75 08 75 08 75  08 75 6E 08 6E 08 6E 08  6E 63 08 63 08 63 08 63  4D 08 4D 08 4D 08 4D 61  F◘Fu◘u◘u◘un◘n◘n◘nc◘c◘c◘cM◘M◘M◘Ma
0000F620  08 61 08 61 08 61 63 08  63 08 63 08 63 72 08 72  08 72 08 72 6F 08 6F 08  6F 08 6F 2E 0A 0A 20 20  ◘a◘a◘ac◘c◘c◘cr◘r◘r◘ro◘o◘o◘o.◙◙  
0000F640  20 20 20 20 20 20 20 20  42 08 42 08 42 08 42 75  08 75 08 75 08 75 66 08  66 08 66 08 66 66 08 66          B◘B◘B◘Bu◘u◘u◘uf◘f◘f◘ff◘f
0000F660  08 66 08 66 65 08 65 08  65 08 65 72 08 72 08 72  08 72 65 08 65 08 65 08  65 64 08 64 08 64 08 64  ◘f◘fe◘e◘e◘er◘r◘r◘re◘e◘e◘ed◘d◘d◘d
0000F680  46 08 46 08 46 08 46 69  08 69 08 69 08 69 6C 08  6C 08 6C 08 6C 65 08 65  08 65 08 65 20 20 20 5F  F◘F◘F◘Fi◘i◘i◘il◘l◘l◘le◘e◘e◘e   _
0000F6A0  08 50 5F 08 32 5F 08 63  20 6E 6F 72 6D 61 6C 6C  79 20 61 73 73 75 6D 65  73 20 62 69 6E 61 72 79  ◘P_◘2_◘c normally assumes binary
0000F6C0  20 66 69 6C 65 73 20 77  69 6C 6C 20 75 73 65 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   files will use◙                
0000F6E0  20 20 20 20 20 20 20 20  20 5F 08 72 5F 08 65 5F  08 61 5F 08 64 2F 5F 08  77 5F 08 72 5F 08 69 5F           _◘r_◘e_◘a_◘d/_◘w_◘r_◘i_
0000F700  08 74 5F 08 65 2C 20 6E  6F 74 20 5F 08 67 5F 08  65 5F 08 74 2F 5F 08 70  5F 08 75 5F 08 74 2F 5E  ◘t_◘e, not _◘g_◘e_◘t/_◘p_◘u_◘t/^
0000F720  20 6E 6F 74 61 74 69 6F  6E 2E 20 20 41 20 66 69  6C 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20   notation.  A file◙             
0000F740  20 20 20 20 20 20 20 20  20 20 20 20 62 75 66 66  65 72 20 76 61 72 69 61  62 6C 65 20 77 69 6C 6C              buffer variable will
0000F760  20 6F 6E 6C 79 20 62 65  20 63 72 65 61 74 65 64  20 66 6F 72 20 61 0A 20  20 20 20 20 20 20 20 20   only be created for a◙         
0000F780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  66 69 6C 65 20 69 66 20  62 75 66 66 65 72 20 6E                  file if buffer n
0000F7A0  6F 74 61 74 69 6F 6E 20  69 73 20 75 73 65 64 20  66 6F 72 20 69 74 2E 20  20 46 6F 72 0A 20 20 20  otation is used for it.  For◙   
0000F7C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 67 6C  6F 62 61 6C 20 66 69 6C                        global fil
0000F7E0  65 20 76 61 72 69 61 62  6C 65 73 20 74 68 69 73  20 6D 61 79 20 62 65 20  64 65 74 65 63 74 65 64  e variables this may be detected
0000F800  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 74 6F 6F 20 6C 61  ◙                         too la
0000F820  74 65 20 28 61 20 64 65  63 6C 61 72 61 74 69 6F  6E 20 77 69 74 68 6F 75  74 20 62 75 66 66 65 72  te (a declaration without buffer
0000F840  73 20 6D 61 79 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  s may◙                         a
0000F860  6C 72 65 61 64 79 20 68  61 76 65 20 62 65 65 6E  20 77 72 69 74 74 65 6E  29 2E 20 20 53 75 63 68  lready have been written).  Such
0000F880  20 66 69 6C 65 73 20 63  61 6E 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   files can◙                     
0000F8A0  20 20 20 20 62 65 20 6C  69 73 74 65 64 20 69 6E  20 42 08 42 08 42 08 42  75 08 75 08 75 08 75 66      be listed in B◘B◘B◘Bu◘u◘u◘uf
0000F8C0  08 66 08 66 08 66 66 08  66 08 66 08 66 65 08 65  08 65 08 65 72 08 72 08  72 08 72 65 08 65 08 65  ◘f◘f◘ff◘f◘f◘fe◘e◘e◘er◘r◘r◘re◘e◘e
0000F8E0  08 65 64 08 64 08 64 08  64 46 08 46 08 46 08 46  69 08 69 08 69 08 69 6C  08 6C 08 6C 08 6C 65 08  ◘ed◘d◘d◘dF◘F◘F◘Fi◘i◘i◘il◘l◘l◘le◘
0000F900  65 08 65 08 65 20 74 6F  20 66 6F 72 63 65 20 5F  08 70 5F 08 32 5F 08 63  20 74 6F 0A 20 20 20 20  e◘e◘e to force _◘p_◘2_◘c to◙    
0000F920  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 61 6C 6C  6F 63 61 74 65 20 62 75                       allocate bu
0000F940  66 66 65 72 73 20 66 6F  72 20 74 68 65 6D 3B 20  64 6F 20 74 68 69 73 20  69 66 20 79 6F 75 20 67  ffers for them; do this if you g
0000F960  65 74 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 61 20 77 61  et◙                         a wa
0000F980  72 6E 69 6E 67 20 6D 65  73 73 61 67 65 20 74 68  61 74 20 73 61 79 73 20  69 74 20 69 73 20 6E 65  rning message that says it is ne
0000F9A0  63 65 73 73 61 72 79 2E  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  cessary.◙                       
0000F9C0  20 20 53 65 74 20 42 08  42 08 42 08 42 75 08 75  08 75 08 75 66 08 66 08  66 08 66 66 08 66 08 66    Set B◘B◘B◘Bu◘u◘u◘uf◘f◘f◘ff◘f◘f
0000F9E0  08 66 65 08 65 08 65 08  65 72 08 72 08 72 08 72  65 08 65 08 65 08 65 64  08 64 08 64 08 64 46 08  ◘fe◘e◘e◘er◘r◘r◘re◘e◘e◘ed◘d◘d◘dF◘
0000FA00  46 08 46 08 46 69 08 69  08 69 08 69 6C 08 6C 08  6C 08 6C 65 08 65 08 65  08 65 3D 31 20 74 6F 20  F◘F◘Fi◘i◘i◘il◘l◘l◘le◘e◘e◘e=1 to 
0000FA20  62 75 66 66 65 72 20 61  6C 6C 20 66 69 6C 65 73  2C 20 69 6E 0A 20 20 20  20 20 20 20 20 20 20 20  buffer all files, in◙           
0000FA40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 77 68  69 63 68 20 63 61 73 65  20 55 08 55 08 55 08 55                which case U◘U◘U◘U
0000FA60  6E 08 6E 08 6E 08 6E 42  08 42 08 42 08 42 75 08  75 08 75 08 75 66 08 66  08 66 08 66 66 08 66 08  n◘n◘n◘nB◘B◘B◘Bu◘u◘u◘uf◘f◘f◘ff◘f◘
0000FA80  66 08 66 65 08 65 08 65  08 65 72 08 72 08 72 08  72 65 08 65 08 65 08 65  64 08 64 08 64 08 64 46  f◘fe◘e◘e◘er◘r◘r◘re◘e◘e◘ed◘d◘d◘dF
0000FAA0  08 46 08 46 08 46 69 08  69 08 69 08 69 6C 08 6C  08 6C 08 6C 65 08 65 08  65 08 65 20 61 6C 6C 6F  ◘F◘F◘Fi◘i◘i◘il◘l◘l◘le◘e◘e◘e allo
0000FAC0  77 73 20 79 6F 75 20 74  6F 20 66 6F 72 63 65 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ws you to force◙                
0000FAE0  20 20 20 20 20 20 20 20  20 63 65 72 74 61 69 6E  20 66 69 6C 65 73 20 5F  08 6E 5F 08 6F 5F 08 74           certain files _◘n_◘o_◘t
0000FB00  20 74 6F 20 68 61 76 65  20 62 75 66 66 65 72 73  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 53 08 53   to have buffers.◙◙          S◘S
0000FB20  08 53 08 53 74 08 74 08  74 08 74 72 08 72 08 72  08 72 75 08 75 08 75 08  75 63 08 63 08 63 08 63  ◘S◘St◘t◘t◘tr◘r◘r◘ru◘u◘u◘uc◘c◘c◘c
0000FB40  74 08 74 08 74 08 74 46  08 46 08 46 08 46 69 08  69 08 69 08 69 6C 08 6C  08 6C 08 6C 65 08 65 08  t◘t◘t◘tF◘F◘F◘Fi◘i◘i◘il◘l◘l◘le◘e◘
0000FB60  65 08 65 73 08 73 08 73  08 73 20 20 20 20 49 66  20 5F 08 70 5F 08 32 5F  08 63 20 73 74 69 6C 6C  e◘es◘s◘s◘s    If _◘p_◘2_◘c still
0000FB80  20 63 61 6E 27 74 20 74  72 61 6E 73 6C 61 74 65  20 79 6F 75 72 20 66 69  6C 65 0A 20 20 20 20 20   can't translate your file◙     
0000FBA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 6F 70 65 72  61 74 69 6F 6E 73 20 63                      operations c
0000FBC0  6F 72 72 65 63 74 6C 79  2C 20 79 6F 75 20 63 61  6E 20 73 65 74 0A 20 20  20 20 20 20 20 20 20 20  orrectly, you can set◙          
0000FBE0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 53  08 53 08 53 08 53 74 08  74 08 74 08 74 72 08 72                 S◘S◘S◘St◘t◘t◘tr◘r
0000FC00  08 72 08 72 75 08 75 08  75 08 75 63 08 63 08 63  08 63 74 08 74 08 74 08  74 46 08 46 08 46 08 46  ◘r◘ru◘u◘u◘uc◘c◘c◘ct◘t◘t◘tF◘F◘F◘F
0000FC20  69 08 69 08 69 08 69 6C  08 6C 08 6C 08 6C 65 08  65 08 65 08 65 73 08 73  08 73 08 73 3D 31 20 74  i◘i◘i◘il◘l◘l◘le◘e◘e◘es◘s◘s◘s=1 t
0000FC40  6F 20 63 61 75 73 65 20  50 61 73 63 61 6C 20 66  69 6C 65 73 20 74 6F 0A  20 20 20 20 20 20 20 20  o cause Pascal files to◙        
0000FC60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 74 72 61 6E 73 6C 61  74 65 20 69 6E 74 6F 20                   translate into 
0000FC80  73 74 72 75 63 74 73 20  77 68 69 63 68 20 69 6E  63 6C 75 64 65 20 74 68  65 0A 20 20 20 20 20 20  structs which include the◙      
0000FCA0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 75 73 75 61 6C  20 43 20 5F 08 46 5F 08                     usual C _◘F_◘
0000FCC0  49 5F 08 4C 5F 08 45 20  70 6F 69 6E 74 65 72 2C  20 61 73 20 77 65 6C 6C  20 61 73 20 66 69 6C 65  I_◘L_◘E pointer, as well as file
0000FCE0  20 62 75 66 66 65 72 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   buffer◙                        
0000FD00  20 61 6E 64 20 66 69 6C  65 20 6E 61 6D 65 20 66  69 65 6C 64 73 2E 20 20  57 68 69 6C 65 20 74 68   and file name fields.  While th
0000FD20  65 20 72 65 73 75 6C 74  69 6E 67 0A 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e resulting◙                    
0000FD40  20 20 20 20 20 63 6F 64  65 20 64 6F 65 73 6E 27  74 20 6C 6F 6F 6B 20 61  73 20 6D 75 63 68 20 6C       code doesn't look as much l
0000FD60  69 6B 65 20 6E 61 74 69  76 65 20 43 2C 20 74 68  65 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ike native C, the◙              
0000FD80  20 20 20 20 20 20 20 20  20 20 20 66 69 6C 65 20  73 74 72 75 63 74 73 20  77 69 6C 6C 20 61 6C 6C             file structs will all
0000FDA0  6F 77 20 5F 08 70 5F 08  32 5F 08 63 20 74 6F 20  64 6F 20 61 20 63 6F 72  72 65 63 74 0A 20 20 20  ow _◘p_◘2_◘c to do a correct◙   
0000FDC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 72  61 6E 73 6C 61 74 69 6F                        translatio
0000FDE0  6E 20 69 6E 20 6D 61 6E  79 20 6D 6F 72 65 20 63  61 73 65 73 2E 0A 0A 0A  0A 0A 20 20 20 20 20 20  n in many more cases.◙◙◙◙◙      
0000FE00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 2D 20 31 37                              - 17
0000FE20  20 2D 20 46 6F 72 6D 61  74 74 65 64 3A 20 20 46  65 62 72 75 61 72 79 20  32 38 2C 20 31 39 39 31   - Formatted:  February 28, 1991
0000FE40  0A 0A 0A 0A 0A 0A 0A 20  20 20 20 20 50 08 50 08  50 08 50 32 08 32 08 32  08 32 43 08 43 08 43 08  ◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C◘C◘C◘
0000FE60  43 28 08 28 08 28 08 28  31 08 31 08 31 08 31 29  08 29 08 29 08 29 20 20  20 20 20 20 20 20 20 20  C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)          
0000FE80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 28 08  28 08 28 08 28 6C 08 6C  08 6C 08 6C 6F 08 6F 08                (◘(◘(◘(l◘l◘l◘lo◘o◘
0000FEA0  6F 08 6F 63 08 63 08 63  08 63 61 08 61 08 61 08  61 6C 08 6C 08 6C 08 6C  29 08 29 08 29 08 29 20  o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)◘)◘) 
0000FEC0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 50 08 50  08 50 08 50 32 08 32 08                       P◘P◘P◘P2◘2◘
0000FEE0  32 08 32 43 08 43 08 43  08 43 28 08 28 08 28 08  28 31 08 31 08 31 08 31  29 08 29 08 29 08 29 0A  2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙
0000FF00  0A 0A 0A 20 20 20 20 20  20 20 20 20 20 43 08 43  08 43 08 43 68 08 68 08  68 08 68 65 08 65 08 65  ◙◙◙          C◘C◘C◘Ch◘h◘h◘he◘e◘e
0000FF20  08 65 63 08 63 08 63 08  63 6B 08 6B 08 6B 08 6B  46 08 46 08 46 08 46 69  08 69 08 69 08 69 6C 08  ◘ec◘c◘c◘ck◘k◘k◘kF◘F◘F◘Fi◘i◘i◘il◘
0000FF40  6C 08 6C 08 6C 65 08 65  08 65 08 65 45 08 45 08  45 08 45 4F 08 4F 08 4F  08 4F 46 08 46 08 46 08  l◘l◘le◘e◘e◘eE◘E◘E◘EO◘O◘O◘OF◘F◘F◘
0000FF60  46 20 20 20 4E 6F 72 6D  61 6C 6C 79 20 6F 6E 6C  79 20 66 69 6C 65 2D 6F  70 65 6E 20 6F 70 65 72  F   Normally only file-open oper
0000FF80  61 74 69 6F 6E 73 20 61  72 65 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ations are◙                     
0000FFA0  20 20 20 20 63 68 65 63  6B 65 64 20 66 6F 72 20  65 72 72 6F 72 73 2E 20  20 41 64 64 69 74 69 6F      checked for errors.  Additio
0000FFC0  6E 61 6C 20 65 72 72 6F  72 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nal error◙                      
0000FFE0  20 20 20 63 68 65 63 6B  69 6E 67 2C 20 73 75 63  68 20 61 73 20 72 65 61  64 2D 70 61 73 74 2D 65     checking, such as read-past-e
00010000  6E 64 2D 6F 66 2D 66 69  6C 65 2C 20 63 61 6E 0A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  nd-of-file, can◙                
00010020  20 20 20 20 20 20 20 20  20 62 65 20 65 6E 61 62  6C 65 64 20 77 69 74 68  20 70 61 72 61 6D 65 74           be enabled with paramet
00010040  65 72 73 20 6C 69 6B 65  20 43 08 43 08 43 08 43  68 08 68 08 68 08 68 65  08 65 08 65 08 65 63 08  ers like C◘C◘C◘Ch◘h◘h◘he◘e◘e◘ec◘
00010060  63 08 63 08 63 6B 08 6B  08 6B 08 6B 46 08 46 08  46 08 46 69 08 69 08 69  08 69 6C 08 6C 08 6C 08  c◘c◘ck◘k◘k◘kF◘F◘F◘Fi◘i◘i◘il◘l◘l◘
00010080  6C 65 08 65 08 65 08 65  45 08 45 08 45 08 45 4F  08 4F 08 4F 08 4F 46 08  46 08 46 08 46 2E 0A 20  le◘e◘e◘eE◘E◘E◘EO◘O◘O◘OF◘F◘F◘F.◙ 
000100A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  54 68 65 73 65 20 63 68                          These ch
000100C0  65 63 6B 73 20 63 61 6E  20 6D 61 6B 65 20 74 68  65 20 63 6F 64 65 20 76  65 72 79 20 75 67 6C 79  ecks can make the code very ugly
000100E0  21 20 20 49 66 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 49  !  If◙                         I
00010100  2F 4F 20 63 68 65 63 6B  69 6E 67 20 69 73 20 65  6E 61 62 6C 65 64 20 62  79 20 74 68 65 20 70 72  /O checking is enabled by the pr
00010120  6F 67 72 61 6D 0A 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 28  ogram◙                         (
00010140  24 08 24 08 24 08 24 69  08 69 08 69 08 69 6F 08  6F 08 6F 08 6F 63 08 63  08 63 08 63 68 08 68 08  $◘$◘$◘$i◘i◘i◘io◘o◘o◘oc◘c◘c◘ch◘h◘
00010160  68 08 68 65 08 65 08 65  08 65 63 08 63 08 63 08  63 6B 08 6B 08 6B 08 6B  20 6F 08 6F 08 6F 08 6F  h◘he◘e◘e◘ec◘c◘c◘ck◘k◘k◘k o◘o◘o◘o
00010180  6E 08 6E 08 6E 08 6E 24  08 24 08 24 08 24 20 69  6E 20 48 50 20 50 61 73  63 61 6C 3B 20 7B 08 7B  n◘n◘n◘n$◘$◘$◘$ in HP Pascal; {◘{
000101A0  08 7B 08 7B 24 08 24 08  24 08 24 49 08 49 08 49  08 49 2B 08 2B 08 2B 08  2B 7D 08 7D 08 7D 08 7D  ◘{◘{$◘$◘$◘$I◘I◘I◘I+◘+◘+◘+}◘}◘}◘}
000101C0  20 69 6E 20 54 75 72 62  6F 3B 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   in Turbo;◙                     
000101E0  20 20 20 20 74 68 69 73  20 69 73 20 61 6C 77 61  79 73 20 74 68 65 20 64  65 66 61 75 6C 74 20 73      this is always the default s
00010200  74 61 74 65 29 2C 20 74  68 65 73 65 0A 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  tate), these◙                   
00010220  20 20 20 20 20 20 63 68  65 63 6B 73 20 77 69 6C  6C 20 67 65 6E 65 72 61  74 65 20 66 61 74 61 6C        checks will generate fatal
00010240  20 65 72 72 6F 72 73 20  75 6E 6C 65 73 73 0A 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   errors unless◙                 
00010260  20 20 20 20 20 20 20 20  65 6E 63 6C 6F 73 65 64  20 69 6E 20 61 6E 20 48  50 20 50 61 73 63 61 6C          enclosed in an HP Pascal
00010280  20 74 08 74 08 74 08 74  72 08 72 08 72 08 72 79  08 79 08 79 08 79 2D 72  08 72 08 72 08 72 65 08   t◘t◘t◘tr◘r◘r◘ry◘y◘y◘y-r◘r◘r◘re◘
000102A0  65 08 65 08 65 63 08 63  08 63 08 63 6F 08 6F 08  6F 08 6F 76 08 76 08 76  08 76 65 08 65 08 65 08  e◘e◘ec◘c◘c◘co◘o◘o◘ov◘v◘v◘ve◘e◘e◘
000102C0  65 72 08 72 08 72 08 72  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  er◘r◘r◘r◙                       
000102E0  20 20 63 6F 6E 73 74 72  75 63 74 2E 20 20 49 66  20 49 2F 4F 20 63 68 65  63 6B 69 6E 67 20 69 73    construct.  If I/O checking is
00010300  20 64 69 73 61 62 6C 65  64 2C 0A 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   disabled,◙                     
00010320  20 20 20 20 74 68 65 73  65 20 77 69 6C 6C 20 63  61 75 73 65 20 74 68 65  20 67 6C 6F 62 61 6C 20      these will cause the global 
00010340  76 61 72 69 61 62 6C 65  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  variable◙                       
00010360  20 20 5F 08 50 5F 5F 08  69 5F 08 6F 5F 08 72 5F  08 65 5F 08 73 5F 08 75  5F 08 6C 5F 08 74 20 74    _◘P__◘i_◘o_◘r_◘e_◘s_◘u_◘l_◘t t
00010380  6F 20 62 65 20 73 65 74  20 7A 65 72 6F 20 6F 72  20 6E 6F 6E 7A 65 72 6F  0A 20 20 20 20 20 20 20  o be set zero or nonzero◙       
000103A0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 61 63 63 6F 72 64  69 6E 67 20 74 6F 20 74                    according to t
000103C0  68 65 20 6F 75 74 63 6F  6D 65 2E 20 20 54 68 65  20 64 65 66 61 75 6C 74  20 66 6F 72 0A 20 20 20  he outcome.  The default for◙   
000103E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6D 6F  73 74 20 6F 66 20 74 68                        most of th
00010400  65 73 65 20 6F 70 74 69  6F 6E 73 20 69 73 20 74  6F 20 63 68 65 63 6B 20  6F 6E 6C 79 20 77 68 65  ese options is to check only whe
00010420  6E 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 49 2F 4F 20 63  n◙                         I/O c
00010440  68 65 63 6B 69 6E 67 20  69 73 20 64 69 73 61 62  6C 65 64 2E 0A 0A 20 20  20 20 20 49 08 49 08 49  hecking is disabled.◙◙     I◘I◘I
00010460  08 49 53 08 53 08 53 08  53 53 08 53 08 53 08 53  55 08 55 08 55 08 55 45  08 45 08 45 08 45 53 08  ◘IS◘S◘S◘SS◘S◘S◘SU◘U◘U◘UE◘E◘E◘ES◘
00010480  53 08 53 08 53 0A 20 20  20 20 20 20 20 20 20 20  49 08 49 08 49 08 49 6E  08 6E 08 6E 08 6E 74 08  S◘S◘S◙          I◘I◘I◘In◘n◘n◘nt◘
000104A0  74 08 74 08 74 65 08 65  08 65 08 65 67 08 67 08  67 08 67 65 08 65 08 65  08 65 72 08 72 08 72 08  t◘t◘te◘e◘e◘eg◘g◘g◘ge◘e◘e◘er◘r◘r◘
000104C0  72 20 73 08 73 08 73 08  73 69 08 69 08 69 08 69  7A 08 7A 08 7A 08 7A 65  08 65 08 65 08 65 2E 08  r s◘s◘s◘si◘i◘i◘iz◘z◘z◘ze◘e◘e◘e.◘
000104E0  2E 08 2E 08 2E 20 5F 08  50 5F 08 32 5F 08 63 20  6E 6F 72 6D 61 6C 6C 79  20 67 65 6E 65 72 61 74  .◘.◘. _◘P_◘2_◘c normally generat
00010500  65 73 20 63 6F 64 65 20  74 6F 20 77 6F 72 6B 20  77 69 74 68 0A 20 20 20  20 20 20 20 20 20 20 65  es code to work with◙          e
00010520  69 74 68 65 72 20 31 36  20 6F 72 20 33 32 20 62  69 74 20 69 6E 74 73 2E  20 20 49 66 20 79 6F 75  ither 16 or 32 bit ints.  If you
00010540  20 6B 6E 6F 77 20 79 6F  75 72 20 43 20 69 6E 74  65 67 65 72 73 20 77 69  6C 6C 0A 20 20 20 20 20   know your C integers will◙     
00010560  20 20 20 20 20 62 65 20  31 36 20 6F 72 20 33 32  20 62 69 74 73 2C 20 73  65 74 20 49 08 49 08 49       be 16 or 32 bits, set I◘I◘I
00010580  08 49 6E 08 6E 08 6E 08  6E 74 08 74 08 74 08 74  53 08 53 08 53 08 53 69  08 69 08 69 08 69 7A 08  ◘In◘n◘n◘nt◘t◘t◘tS◘S◘S◘Si◘i◘i◘iz◘
000105A0  7A 08 7A 08 7A 65 08 65  08 65 08 65 20 61 70 70  72 6F 70 72 69 61 74 65  6C 79 2E 20 20 49 6E 20  z◘z◘ze◘e◘e◘e appropriately.  In 
000105C0  70 61 72 74 69 63 75 6C  61 72 0A 20 20 20 20 20  20 20 20 20 20 73 65 74  74 69 6E 67 20 49 08 49  particular◙          setting I◘I
000105E0  08 49 08 49 6E 08 6E 08  6E 08 6E 74 08 74 08 74  08 74 53 08 53 08 53 08  53 69 08 69 08 69 08 69  ◘I◘In◘n◘n◘nt◘t◘t◘tS◘S◘S◘Si◘i◘i◘i
00010600  7A 08 7A 08 7A 08 7A 65  08 65 08 65 08 65 3D 33  32 20 77 69 6C 6C 20 67  65 6E 65 72 61 74 65 20  z◘z◘z◘ze◘e◘e◘e=32 will generate 
00010620  6D 75 63 68 20 63 6C 65  61 6E 65 72 20 63 6F 64  65 3A 20 5F 08 70 5F 08  32 5F 08 63 20 6E 6F 0A  much cleaner code: _◘p_◘2_◘c no◙
00010640  20 20 20 20 20 20 20 20  20 20 6C 6F 6E 67 65 72  20 6D 75 73 74 20 63 61  72 65 66 75 6C 6C 79 20            longer must carefully 
00010660  63 61 73 74 20 66 75 6E  63 74 69 6F 6E 20 61 72  67 75 6D 65 6E 74 73 20  62 65 74 77 65 65 6E 20  cast function arguments between 
00010680  69 6E 74 0A 20 20 20 20  20 20 20 20 20 20 61 6E  64 20 6C 6F 6E 67 2E 20  20 54 68 65 73 65 20 63  int◙          and long.  These c
000106A0  61 73 74 73 20 61 6C 73  6F 20 77 69 6C 6C 20 62  65 20 75 6E 6E 65 63 65  73 73 61 72 79 20 69 66  asts also will be unnecessary if
000106C0  20 41 4E 53 49 0A 20 20  20 20 20 20 20 20 20 20  70 72 6F 74 6F 74 79 70  65 73 20 61 72 65 20 61   ANSI◙          prototypes are a
000106E0  76 61 69 6C 61 62 6C 65  2E 20 20 54 6F 20 64 69  73 61 62 6C 65 20 69 6E  74 2F 6C 6F 6E 67 20 63  vailable.  To disable int/long c
00010700  61 73 74 69 6E 67 0A 20  20 20 20 20 20 20 20 20  20 62 65 63 61 75 73 65  20 79 6F 75 20 6B 6E 6F  asting◙          because you kno
00010720  77 20 61 74 20 6C 65 61  73 74 20 6F 6E 65 20 6F  66 20 74 68 65 73 65 20  63 61 73 65 73 20 77 69  w at least one of these cases wi
00010740  6C 6C 20 68 6F 6C 64 2C  20 73 65 74 0A 20 20 20  20 20 20 20 20 20 20 43  08 43 08 43 08 43 61 08  ll hold, set◙          C◘C◘C◘Ca◘
00010760  61 08 61 08 61 73 08 73  08 73 08 73 74 08 74 08  74 08 74 4C 08 4C 08 4C  08 4C 6F 08 6F 08 6F 08  a◘a◘as◘s◘s◘st◘t◘t◘tL◘L◘L◘Lo◘o◘o◘
00010780  6F 6E 08 6E 08 6E 08 6E  67 08 67 08 67 08 67 41  08 41 08 41 08 41 72 08  72 08 72 08 72 67 08 67  on◘n◘n◘ng◘g◘g◘gA◘A◘A◘Ar◘r◘r◘rg◘g
000107A0  08 67 08 67 73 08 73 08  73 08 73 3D 30 2E 20 20  28 54 68 65 20 43 08 43  08 43 08 43 61 08 61 08  ◘g◘gs◘s◘s◘s=0.  (The C◘C◘C◘Ca◘a◘
000107C0  61 08 61 73 08 73 08 73  08 73 74 08 74 08 74 08  74 41 08 41 08 41 08 41  72 08 72 08 72 08 72 67  a◘as◘s◘s◘st◘t◘t◘tA◘A◘A◘Ar◘r◘r◘rg
000107E0  08 67 08 67 08 67 73 08  73 08 73 08 73 20 70 61  72 61 6D 65 74 65 72 20  73 69 6D 69 6C 61 72 6C  ◘g◘g◘gs◘s◘s◘s parameter similarl
00010800  79 20 63 6F 6E 74 72 6F  6C 73 0A 20 20 20 20 20  20 20 20 20 20 6F 74 68  65 72 20 74 79 70 65 73  y controls◙          other types
00010820  20 6F 66 20 63 61 73 74  73 2C 20 73 75 63 68 20  61 73 20 62 65 74 77 65  65 6E 20 69 6E 74 73 20   of casts, such as between ints 
00010840  61 6E 64 20 64 6F 75 62  6C 65 73 2E 29 20 54 68  65 0A 20 20 20 20 20 20  20 20 20 20 49 08 49 08  and doubles.) The◙          I◘I◘
00010860  49 08 49 6E 08 6E 08 6E  08 6E 74 08 74 08 74 08  74 65 08 65 08 65 08 65  67 08 67 08 67 08 67 65  I◘In◘n◘n◘nt◘t◘t◘te◘e◘e◘eg◘g◘g◘ge
00010880  08 65 08 65 08 65 72 08  72 08 72 08 72 31 08 31  08 31 08 31 36 08 36 08  36 08 36 20 70 61 72 61  ◘e◘e◘er◘r◘r◘r1◘1◘1◘16◘6◘6◘6 para
000108A0  6D 65 74 65 72 20 63 6F  6E 74 72 6F 6C 73 20 77  68 65 74 68 65 72 20 50  61 73 63 61 6C 20 69 6E  meter controls whether Pascal in
000108C0  74 65 67 65 72 73 20 61  72 65 0A 20 20 20 20 20  20 20 20 20 20 69 6E 74  65 72 70 72 65 74 65 64  tegers are◙          interpreted
000108E0  20 61 73 20 31 36 20 6F  72 20 33 32 20 62 69 74  73 2C 20 6F 72 20 74 72  61 6E 73 6C 61 74 65 64   as 16 or 32 bits, or translated
00010900  20 61 73 20 6E 61 74 69  76 65 20 43 0A 20 20 20  20 20 20 20 20 20 20 69  6E 74 65 67 65 72 73 2E   as native C◙          integers.
00010920  20 20 54 68 65 20 64 65  66 61 75 6C 74 20 76 61  6C 75 65 20 64 65 70 65  6E 64 73 20 6F 6E 20 74    The default value depends on t
00010940  68 65 20 4C 08 4C 08 4C  08 4C 61 08 61 08 61 08  61 6E 08 6E 08 6E 08 6E  67 08 67 08 67 08 67 75  he L◘L◘L◘La◘a◘a◘an◘n◘n◘ng◘g◘g◘gu
00010960  08 75 08 75 08 75 61 08  61 08 61 08 61 67 08 67  08 67 08 67 65 08 65 08  65 08 65 0A 20 20 20 20  ◘u◘u◘ua◘a◘a◘ag◘g◘g◘ge◘e◘e◘e◙    
00010980  20 20 20 20 20 20 73 65  6C 65 63 74 65 64 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 53 08 53 08 53        selected.◙◙          S◘S◘S
000109A0  08 53 69 08 69 08 69 08  69 67 08 67 08 67 08 67  6E 08 6E 08 6E 08 6E 65  08 65 08 65 08 65 64 08  ◘Si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘e◘e◘ed◘
000109C0  64 08 64 08 64 2F 08 2F  08 2F 08 2F 75 08 75 08  75 08 75 6E 08 6E 08 6E  08 6E 73 08 73 08 73 08  d◘d◘d/◘/◘/◘/u◘u◘u◘un◘n◘n◘ns◘s◘s◘
000109E0  73 69 08 69 08 69 08 69  67 08 67 08 67 08 67 6E  08 6E 08 6E 08 6E 65 08  65 08 65 08 65 64 08 64  si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘e◘e◘ed◘d
00010A00  08 64 08 64 20 63 08 63  08 63 08 63 68 08 68 08  68 08 68 61 08 61 08 61  08 61 72 08 72 08 72 08  ◘d◘d c◘c◘c◘ch◘h◘h◘ha◘a◘a◘ar◘r◘r◘
00010A20  72 73 08 73 08 73 08 73  2E 08 2E 08 2E 08 2E 20  50 61 73 63 61 6C 20 63  68 61 72 61 63 74 65 72  rs◘s◘s◘s.◘.◘.◘. Pascal character
00010A40  73 20 61 72 65 20 6E 6F  72 6D 61 6C 6C 79 0A 20  20 20 20 20 20 20 20 20  20 22 77 65 61 6B 6C 79  s are normally◙          "weakly
00010A60  22 20 69 6E 74 65 72 70  72 65 74 65 64 20 61 73  20 75 6E 73 69 67 6E 65  64 3B 20 74 68 69 73 20  " interpreted as unsigned; this 
00010A80  69 73 20 63 6F 6E 74 72  6F 6C 6C 65 64 20 62 79  0A 20 20 20 20 20 20 20  20 20 20 55 08 55 08 55  is controlled by◙          U◘U◘U
00010AA0  08 55 6E 08 6E 08 6E 08  6E 73 08 73 08 73 08 73  69 08 69 08 69 08 69 67  08 67 08 67 08 67 6E 08  ◘Un◘n◘n◘ns◘s◘s◘si◘i◘i◘ig◘g◘g◘gn◘
00010AC0  6E 08 6E 08 6E 65 08 65  08 65 08 65 64 08 64 08  64 08 64 43 08 43 08 43  08 43 68 08 68 08 68 08  n◘n◘ne◘e◘e◘ed◘d◘d◘dC◘C◘C◘Ch◘h◘h◘
00010AE0  68 61 08 61 08 61 08 61  72 08 72 08 72 08 72 2E  20 20 54 68 65 20 64 65  66 61 75 6C 74 20 69 73  ha◘a◘a◘ar◘r◘r◘r.  The default is
00010B00  20 22 65 69 74 68 65 72  2C 22 20 73 6F 20 74 68  61 74 20 43 27 73 20 6E  61 74 69 76 65 0A 20 20   "either," so that C's native◙  
00010B20  20 20 20 20 20 20 20 20  63 08 63 08 63 08 63 68  08 68 08 68 08 68 61 08  61 08 61 08 61 72 08 72          c◘c◘c◘ch◘h◘h◘ha◘a◘a◘ar◘r
00010B40  08 72 08 72 20 74 79 70  65 20 6D 61 79 20 62 65  20 75 73 65 64 20 65 76  65 6E 20 69 66 20 69 74  ◘r◘r type may be used even if it
00010B60  73 20 73 69 67 6E 65 64  2D 6E 65 73 73 20 69 73  20 75 6E 6B 6E 6F 77 6E  2E 0A 20 20 20 20 20 20  s signed-ness is unknown.◙      
00010B80  20 20 20 20 43 6F 64 65  20 74 68 61 74 20 75 73  65 73 20 63 68 61 72 61  63 74 65 72 73 20 6F 75      Code that uses characters ou
00010BA0  74 73 69 64 65 20 6F 66  20 74 68 65 20 72 61 6E  67 65 20 30 2D 31 32 37  20 6D 61 79 0A 20 20 20  tside of the range 0-127 may◙   
00010BC0  20 20 20 20 20 20 20 6E  65 65 64 20 61 20 64 69  66 66 65 72 65 6E 74 20  73 65 74 74 69 6E 67 2E         need a different setting.
00010BE0  20 20 41 6C 74 65 72 6E  61 74 69 76 65 6C 79 2C  20 79 6F 75 20 63 61 6E  20 75 73 65 20 74 68 65    Alternatively, you can use the
00010C00  0A 20 20 20 20 20 20 20  20 20 20 74 79 70 65 73  20 7B 08 7B 08 7B 08 7B  53 08 53 08 53 08 53 49  ◙          types {◘{◘{◘{S◘S◘S◘SI
00010C20  08 49 08 49 08 49 47 08  47 08 47 08 47 4E 08 4E  08 4E 08 4E 45 08 45 08  45 08 45 44 08 44 08 44  ◘I◘I◘IG◘G◘G◘GN◘N◘N◘NE◘E◘E◘ED◘D◘D
00010C40  08 44 7D 08 7D 08 7D 08  7D 20 63 08 63 08 63 08  63 68 08 68 08 68 08 68  61 08 61 08 61 08 61 72  ◘D}◘}◘}◘} c◘c◘c◘ch◘h◘h◘ha◘a◘a◘ar
00010C60  08 72 08 72 08 72 20 61  6E 64 20 7B 08 7B 08 7B  08 7B 55 08 55 08 55 08  55 4E 08 4E 08 4E 08 4E  ◘r◘r◘r and {◘{◘{◘{U◘U◘U◘UN◘N◘N◘N
00010C80  53 08 53 08 53 08 53 49  08 49 08 49 08 49 47 08  47 08 47 08 47 4E 08 4E  08 4E 08 4E 45 08 45 08  S◘S◘S◘SI◘I◘I◘IG◘G◘G◘GN◘N◘N◘NE◘E◘
00010CA0  45 08 45 44 08 44 08 44  08 44 7D 08 7D 08 7D 08  7D 20 63 08 63 08 63 08  63 68 08 68 08 68 08 68  E◘ED◘D◘D◘D}◘}◘}◘} c◘c◘c◘ch◘h◘h◘h
00010CC0  61 08 61 08 61 08 61 72  08 72 08 72 08 72 20 69  6E 20 74 68 65 20 66 65  77 20 63 61 73 65 73 0A  a◘a◘a◘ar◘r◘r◘r in the few cases◙
00010CE0  20 20 20 20 20 20 20 20  20 20 77 68 65 72 65 20  69 74 20 72 65 61 6C 6C  79 20 6D 61 74 74 65 72            where it really matter
00010D00  73 2E 20 20 54 68 65 73  65 20 63 6F 6D 6D 65 6E  74 73 20 61 72 65 20 63  6F 6E 74 72 6F 6C 6C 65  s.  These comments are controlle
00010D20  64 20 62 79 0A 20 20 20  20 20 20 20 20 20 20 74  68 65 20 53 08 53 08 53  08 53 69 08 69 08 69 08  d by◙          the S◘S◘S◘Si◘i◘i◘
00010D40  69 67 08 67 08 67 08 67  6E 08 6E 08 6E 08 6E 65  08 65 08 65 08 65 64 08  64 08 64 08 64 43 08 43  ig◘g◘g◘gn◘n◘n◘ne◘e◘e◘ed◘d◘d◘dC◘C
00010D60  08 43 08 43 6F 08 6F 08  6F 08 6F 6D 08 6D 08 6D  08 6D 6D 08 6D 08 6D 08  6D 65 08 65 08 65 08 65  ◘C◘Co◘o◘o◘om◘m◘m◘mm◘m◘m◘me◘e◘e◘e
00010D80  6E 08 6E 08 6E 08 6E 74  08 74 08 74 08 74 20 61  6E 64 20 55 08 55 08 55  08 55 6E 08 6E 08 6E 08  n◘n◘n◘nt◘t◘t◘t and U◘U◘U◘Un◘n◘n◘
00010DA0  6E 73 08 73 08 73 08 73  69 08 69 08 69 08 69 67  08 67 08 67 08 67 6E 08  6E 08 6E 08 6E 65 08 65  ns◘s◘s◘si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘e
00010DC0  08 65 08 65 64 08 64 08  64 08 64 43 08 43 08 43  08 43 6F 08 6F 08 6F 08  6F 6D 08 6D 08 6D 08 6D  ◘e◘ed◘d◘d◘dC◘C◘C◘Co◘o◘o◘om◘m◘m◘m
00010DE0  6D 08 6D 08 6D 08 6D 65  08 65 08 65 08 65 6E 08  6E 08 6E 08 6E 74 08 74  08 74 08 74 20 70 61 72  m◘m◘m◘me◘e◘e◘en◘n◘n◘nt◘t◘t◘t par
00010E00  61 6D 65 74 65 72 73 2E  20 20 28 54 68 65 20 74  79 70 65 0A 20 20 20 20  20 20 20 20 20 20 7B 08  ameters.  (The type◙          {◘
00010E20  7B 08 7B 08 7B 55 08 55  08 55 08 55 4E 08 4E 08  4E 08 4E 53 08 53 08 53  08 53 49 08 49 08 49 08  {◘{◘{U◘U◘U◘UN◘N◘N◘NS◘S◘S◘SI◘I◘I◘
00010E40  49 47 08 47 08 47 08 47  4E 08 4E 08 4E 08 4E 45  08 45 08 45 08 45 44 08  44 08 44 08 44 7D 08 7D  IG◘G◘G◘GN◘N◘N◘NE◘E◘E◘ED◘D◘D◘D}◘}
00010E60  08 7D 08 7D 20 69 08 69  08 69 08 69 6E 08 6E 08  6E 08 6E 74 08 74 08 74  08 74 65 08 65 08 65 08  ◘}◘} i◘i◘i◘in◘n◘n◘nt◘t◘t◘te◘e◘e◘
00010E80  65 67 08 67 08 67 08 67  65 08 65 08 65 08 65 72  08 72 08 72 08 72 20 69  73 20 61 6C 73 6F 20 72  eg◘g◘g◘ge◘e◘e◘er◘r◘r◘r is also r
00010EA0  65 63 6F 67 6E 69 7A 65  64 2E 29 20 20 54 68 65  20 53 08 53 08 53 08 53  69 08 69 08 69 08 69 67  ecognized.)  The S◘S◘S◘Si◘i◘i◘ig
00010EC0  08 67 08 67 08 67 6E 08  6E 08 6E 08 6E 65 08 65  08 65 08 65 64 08 64 08  64 08 64 43 08 43 08 43  ◘g◘g◘gn◘n◘n◘ne◘e◘e◘ed◘d◘d◘dC◘C◘C
00010EE0  08 43 68 08 68 08 68 08  68 61 08 61 08 61 08 61  72 08 72 08 72 08 72 0A  20 20 20 20 20 20 20 20  ◘Ch◘h◘h◘ha◘a◘a◘ar◘r◘r◘r◙        
00010F00  20 20 70 61 72 61 6D 65  74 65 72 20 74 65 6C 6C  73 20 77 68 65 74 68 65  72 20 43 20 63 68 61 72    parameter tells whether C char
00010F20  61 63 74 65 72 73 20 61  72 65 20 73 69 67 6E 65  64 20 6F 72 20 75 6E 73  69 67 6E 65 64 0A 20 20  acters are signed or unsigned◙  
00010F40  20 20 20 20 20 20 20 20  28 64 65 66 61 75 6C 74  20 69 73 20 22 75 6E 6B  6E 6F 77 6E 22 29 2E 20          (default is "unknown"). 
00010F60  20 54 68 65 20 48 08 48  08 48 08 48 61 08 61 08  61 08 61 73 08 73 08 73  08 73 53 08 53 08 53 08   The H◘H◘H◘Ha◘a◘a◘as◘s◘s◘sS◘S◘S◘
00010F80  53 69 08 69 08 69 08 69  67 08 67 08 67 08 67 6E  08 6E 08 6E 08 6E 65 08  65 08 65 08 65 64 08 64  Si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘e◘e◘ed◘d
00010FA0  08 64 08 64 43 08 43 08  43 08 43 68 08 68 08 68  08 68 61 08 61 08 61 08  61 72 08 72 08 72 08 72  ◘d◘dC◘C◘C◘Ch◘h◘h◘ha◘a◘a◘ar◘r◘r◘r
00010FC0  20 70 61 72 61 6D 65 74  65 72 20 74 65 6C 6C 73  0A 20 20 20 20 20 20 20  20 20 20 77 68 65 74 68   parameter tells◙          wheth
00010FE0  65 72 20 74 68 65 20 70  68 72 61 73 65 20 22 73  69 67 6E 65 64 20 63 68  61 72 22 20 69 73 20 6C  er the phrase "signed char" is l
00011000  65 67 61 6C 20 69 6E 20  74 68 65 20 6F 75 74 70  75 74 2E 20 20 49 66 0A  20 20 20 20 20 20 20 20  egal in the output.  If◙        
00011020  20 20 69 74 20 69 73 20  6E 6F 74 2C 20 5F 08 70  5F 08 32 5F 08 63 20 6D  61 79 20 68 61 76 65 20    it is not, _◘p_◘2_◘c may have 
00011040  74 6F 20 74 72 61 6E 73  6C 61 74 65 20 50 61 73  63 61 6C 20 73 69 67 6E  65 64 20 62 79 74 65 73  to translate Pascal signed bytes
00011060  0A 20 20 20 20 20 20 20  20 20 20 69 6E 74 6F 20  43 20 73 68 6F 72 74 73  2E 0A 0A 20 20 20 20 20  ◙          into C shorts.◙◙     
00011080  20 20 20 20 20 53 08 53  08 53 08 53 70 08 70 08  70 08 70 65 08 65 08 65  08 65 63 08 63 08 63 08       S◘S◘S◘Sp◘p◘p◘pe◘e◘e◘ec◘c◘c◘
000110A0  63 69 08 69 08 69 08 69  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 20 74  08 74 08 74 08 74 79 08  ci◘i◘i◘ia◘a◘a◘al◘l◘l◘l t◘t◘t◘ty◘
000110C0  79 08 79 08 79 70 08 70  08 70 08 70 65 08 65 08  65 08 65 73 08 73 08 73  08 73 2E 08 2E 08 2E 08  y◘y◘yp◘p◘p◘pe◘e◘e◘es◘s◘s◘s.◘.◘.◘
000110E0  2E 20 5F 08 50 5F 08 32  5F 08 63 20 75 6E 64 65  72 73 74 61 6E 64 73 20  74 68 65 20 66 6F 6C 6C  . _◘P_◘2_◘c understands the foll
00011100  6F 77 69 6E 67 20 70 72  65 64 65 66 69 6E 65 64  0A 20 20 20 20 20 20 20  20 20 20 50 61 73 63 61  owing predefined◙          Pasca
00011120  6C 20 74 79 70 65 20 6E  61 6D 65 73 3A 20 69 08  69 08 69 08 69 6E 08 6E  08 6E 08 6E 74 08 74 08  l type names: i◘i◘i◘in◘n◘n◘nt◘t◘
00011140  74 08 74 65 08 65 08 65  08 65 67 08 67 08 67 08  67 65 08 65 08 65 08 65  72 08 72 08 72 08 72 2C  t◘te◘e◘e◘eg◘g◘g◘ge◘e◘e◘er◘r◘r◘r,
00011160  20 73 69 67 6E 65 64 20  69 6E 74 65 67 65 72 73  20 64 65 70 65 6E 64 69  6E 67 20 6F 6E 0A 20 20   signed integers depending on◙  
00011180  20 20 20 20 20 20 20 20  49 08 49 08 49 08 49 6E  08 6E 08 6E 08 6E 74 08  74 08 74 08 74 65 08 65          I◘I◘I◘In◘n◘n◘nt◘t◘t◘te◘e
000111A0  08 65 08 65 67 08 67 08  67 08 67 65 08 65 08 65  08 65 72 08 72 08 72 08  72 31 08 31 08 31 08 31  ◘e◘eg◘g◘g◘ge◘e◘e◘er◘r◘r◘r1◘1◘1◘1
000111C0  36 08 36 08 36 08 36 3B  20 6C 08 6C 08 6C 08 6C  6F 08 6F 08 6F 08 6F 6E  08 6E 08 6E 08 6E 67 08  6◘6◘6◘6; l◘l◘l◘lo◘o◘o◘on◘n◘n◘ng◘
000111E0  67 08 67 08 67 69 08 69  08 69 08 69 6E 08 6E 08  6E 08 6E 74 08 74 08 74  08 74 2C 20 73 69 67 6E  g◘g◘gi◘i◘i◘in◘n◘n◘nt◘t◘t◘t, sign
00011200  65 64 20 33 32 2D 62 69  74 20 69 6E 74 65 67 65  72 73 3B 20 75 08 75 08  75 08 75 6E 08 6E 08 6E  ed 32-bit integers; u◘u◘u◘un◘n◘n
00011220  08 6E 73 08 73 08 73 08  73 69 08 69 08 69 08 69  67 08 67 08 67 08 67 6E  08 6E 08 6E 08 6E 65 08  ◘ns◘s◘s◘si◘i◘i◘ig◘g◘g◘gn◘n◘n◘ne◘
00011240  65 08 65 08 65 64 08 64  08 64 08 64 2C 0A 0A 0A  0A 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  e◘e◘ed◘d◘d◘d,◙◙◙◙               
00011260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 2D 20 31 38 20  2D 20 46 6F 72 6D 61 74                     - 18 - Format
00011280  74 65 64 3A 20 20 46 65  62 72 75 61 72 79 20 32  38 2C 20 31 39 39 31 0A  0A 0A 0A 0A 0A 0A 20 20  ted:  February 28, 1991◙◙◙◙◙◙◙  
000112A0  20 20 20 50 08 50 08 50  08 50 32 08 32 08 32 08  32 43 08 43 08 43 08 43  28 08 28 08 28 08 28 31     P◘P◘P◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1
000112C0  08 31 08 31 08 31 29 08  29 08 29 08 29 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  ◘1◘1◘1)◘)◘)◘)                   
000112E0  20 20 20 20 20 28 08 28  08 28 08 28 6C 08 6C 08  6C 08 6C 6F 08 6F 08 6F  08 6F 63 08 63 08 63 08       (◘(◘(◘(l◘l◘l◘lo◘o◘o◘oc◘c◘c◘
00011300  63 61 08 61 08 61 08 61  6C 08 6C 08 6C 08 6C 29  08 29 08 29 08 29 20 20  20 20 20 20 20 20 20 20  ca◘a◘a◘al◘l◘l◘l)◘)◘)◘)          
00011320  20 20 20 20 20 20 20 20  20 20 20 20 50 08 50 08  50 08 50 32 08 32 08 32  08 32 43 08 43 08 43 08              P◘P◘P◘P2◘2◘2◘2C◘C◘C◘
00011340  43 28 08 28 08 28 08 28  31 08 31 08 31 08 31 29  08 29 08 29 08 29 0A 0A  0A 0A 20 20 20 20 20 20  C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)◙◙◙◙      
00011360  20 20 20 20 75 6E 73 69  67 6E 65 64 20 33 32 2D  62 69 74 20 69 6E 74 65  67 65 72 73 3B 20 73 08      unsigned 32-bit integers; s◘
00011380  73 08 73 08 73 77 08 77  08 77 08 77 6F 08 6F 08  6F 08 6F 72 08 72 08 72  08 72 64 08 64 08 64 08  s◘s◘sw◘w◘w◘wo◘o◘o◘or◘r◘r◘rd◘d◘d◘
000113A0  64 2C 20 73 69 67 6E 65  64 20 31 36 2D 62 69 74  20 69 6E 74 65 67 65 72  73 3B 0A 20 20 20 20 20  d, signed 16-bit integers;◙     
000113C0  20 20 20 20 20 77 08 77  08 77 08 77 6F 08 6F 08  6F 08 6F 72 08 72 08 72  08 72 64 08 64 08 64 08       w◘w◘w◘wo◘o◘o◘or◘r◘r◘rd◘d◘d◘
000113E0  64 2C 20 75 6E 73 69 67  6E 65 64 20 31 36 2D 62  69 74 20 69 6E 74 65 67  65 72 73 3B 20 63 08 63  d, unsigned 16-bit integers; c◘c
00011400  08 63 08 63 5F 08 5F 08  5F 08 5F 69 08 69 08 69  08 69 6E 08 6E 08 6E 08  6E 74 08 74 08 74 08 74  ◘c◘c_◘_◘_◘_i◘i◘i◘in◘n◘n◘nt◘t◘t◘t
00011420  2C 20 73 69 67 6E 65 64  20 6E 61 74 69 76 65 20  43 0A 20 20 20 20 20 20  20 20 20 20 69 6E 74 65  , signed native C◙          inte
00011440  67 65 72 73 3B 20 63 08  63 08 63 08 63 5F 08 5F  08 5F 08 5F 75 08 75 08  75 08 75 69 08 69 08 69  gers; c◘c◘c◘c_◘_◘_◘_u◘u◘u◘ui◘i◘i
00011460  08 69 6E 08 6E 08 6E 08  6E 74 08 74 08 74 08 74  2C 20 75 6E 73 69 67 6E  65 64 20 6E 61 74 69 76  ◘in◘n◘n◘nt◘t◘t◘t, unsigned nativ
00011480  65 20 43 20 69 6E 74 65  67 65 72 73 3B 20 73 08  73 08 73 08 73 62 08 62  08 62 08 62 79 08 79 08  e C integers; s◘s◘s◘sb◘b◘b◘by◘y◘
000114A0  79 08 79 74 08 74 08 74  08 74 65 08 65 08 65 08  65 2C 20 73 69 67 6E 65  64 0A 20 20 20 20 20 20  y◘yt◘t◘t◘te◘e◘e◘e, signed◙      
000114C0  20 20 20 20 38 2D 62 69  74 20 69 6E 74 65 67 65  72 73 3B 20 62 08 62 08  62 08 62 79 08 79 08 79      8-bit integers; b◘b◘b◘by◘y◘y
000114E0  08 79 74 08 74 08 74 08  74 65 08 65 08 65 08 65  2C 20 75 6E 73 69 67 6E  65 64 20 38 2D 62 69 74  ◘yt◘t◘t◘te◘e◘e◘e, unsigned 8-bit
00011500  20 69 6E 74 65 67 65 72  73 3B 20 72 08 72 08 72  08 72 65 08 65 08 65 08  65 61 08 61 08 61 08 61   integers; r◘r◘r◘re◘e◘e◘ea◘a◘a◘a
00011520  6C 08 6C 08 6C 08 6C 2C  0A 20 20 20 20 20 20 20  20 20 20 66 6C 6F 61 74  69 6E 67 2D 70 6F 69 6E  l◘l◘l◘l,◙          floating-poin
00011540  74 20 6E 75 6D 62 65 72  73 20 64 65 70 65 6E 64  69 6E 67 20 6F 6E 20 44  08 44 08 44 08 44 6F 08  t numbers depending on D◘D◘D◘Do◘
00011560  6F 08 6F 08 6F 75 08 75  08 75 08 75 62 08 62 08  62 08 62 6C 08 6C 08 6C  08 6C 65 08 65 08 65 08  o◘o◘ou◘u◘u◘ub◘b◘b◘bl◘l◘l◘le◘e◘e◘
00011580  65 52 08 52 08 52 08 52  65 08 65 08 65 08 65 61  08 61 08 61 08 61 6C 08  6C 08 6C 08 6C 73 08 73  eR◘R◘R◘Re◘e◘e◘ea◘a◘a◘al◘l◘l◘ls◘s
000115A0  08 73 08 73 3B 20 73 08  73 08 73 08 73 69 08 69  08 69 08 69 6E 08 6E 08  6E 08 6E 67 08 67 08 67  ◘s◘s; s◘s◘s◘si◘i◘i◘in◘n◘n◘ng◘g◘g
000115C0  08 67 6C 08 6C 08 6C 08  6C 65 08 65 08 65 08 65  2C 0A 20 20 20 20 20 20  20 20 20 20 73 69 6E 67  ◘gl◘l◘l◘le◘e◘e◘e,◙          sing
000115E0  6C 65 2D 70 72 65 63 69  73 69 6F 6E 20 66 6C 6F  61 74 73 3B 20 6C 08 6C  08 6C 08 6C 6F 08 6F 08  le-precision floats; l◘l◘l◘lo◘o◘
00011600  6F 08 6F 6E 08 6E 08 6E  08 6E 67 08 67 08 67 08  67 72 08 72 08 72 08 72  65 08 65 08 65 08 65 61  o◘on◘n◘n◘ng◘g◘g◘gr◘r◘r◘re◘e◘e◘ea
00011620  08 61 08 61 08 61 6C 08  6C 08 6C 08 6C 2C 20 64  08 64 08 64 08 64 6F 08  6F 08 6F 08 6F 75 08 75  ◘a◘a◘al◘l◘l◘l, d◘d◘d◘do◘o◘o◘ou◘u
00011640  08 75 08 75 62 08 62 08  62 08 62 6C 08 6C 08 6C  08 6C 65 08 65 08 65 08  65 2C 20 61 6E 64 20 65  ◘u◘ub◘b◘b◘bl◘l◘l◘le◘e◘e◘e, and e
00011660  08 65 08 65 08 65 78 08  78 08 78 08 78 74 08 74  08 74 08 74 65 08 65 08  65 08 65 6E 08 6E 08 6E  ◘e◘e◘ex◘x◘x◘xt◘t◘t◘te◘e◘e◘en◘n◘n
00011680  08 6E 64 08 64 08 64 08  64 65 08 65 08 65 08 65  64 08 64 08 64 08 64 2C  0A 20 20 20 20 20 20 20  ◘nd◘d◘d◘de◘e◘e◘ed◘d◘d◘d,◙       
000116A0  20 20 20 64 6F 75 62 6C  65 2D 70 72 65 63 69 73  69 6F 6E 20 66 6C 6F 61  74 73 3B 20 70 08 70 08     double-precision floats; p◘p◘
000116C0  70 08 70 6F 08 6F 08 6F  08 6F 69 08 69 08 69 08  69 6E 08 6E 08 6E 08 6E  74 08 74 08 74 08 74 65  p◘po◘o◘o◘oi◘i◘i◘in◘n◘n◘nt◘t◘t◘te
000116E0  08 65 08 65 08 65 72 08  72 08 72 08 72 20 61 6E  64 20 61 08 61 08 61 08  61 6E 08 6E 08 6E 08 6E  ◘e◘e◘er◘r◘r◘r and a◘a◘a◘an◘n◘n◘n
00011700  79 08 79 08 79 08 79 70  08 70 08 70 08 70 74 08  74 08 74 08 74 72 08 72  08 72 08 72 2C 20 67 65  y◘y◘y◘yp◘p◘p◘pt◘t◘t◘tr◘r◘r◘r, ge
00011720  6E 65 72 69 63 0A 20 20  20 20 20 20 20 20 20 20  70 6F 69 6E 74 65 72 73  20 28 61 73 73 69 67 6E  neric◙          pointers (assign
00011740  6D 65 6E 74 2D 63 6F 6D  70 61 74 69 62 6C 65 20  77 69 74 68 20 61 6E 79  20 70 6F 69 6E 74 65 72  ment-compatible with any pointer
00011760  20 74 79 70 65 29 3B 0A  20 20 20 20 20 20 20 20  20 20 73 08 73 08 73 08  73 74 08 74 08 74 08 74   type);◙          s◘s◘s◘st◘t◘t◘t
00011780  72 08 72 08 72 08 72 69  08 69 08 69 08 69 6E 08  6E 08 6E 08 6E 67 08 67  08 67 08 67 2C 20 67 65  r◘r◘r◘ri◘i◘i◘in◘n◘n◘ng◘g◘g◘g, ge
000117A0  6E 65 72 69 63 20 73 74  72 69 6E 67 20 6F 66 20  6C 65 6E 67 74 68 20 53  08 53 08 53 08 53 74 08  neric string of length S◘S◘S◘St◘
000117C0  74 08 74 08 74 72 08 72  08 72 08 72 69 08 69 08  69 08 69 6E 08 6E 08 6E  08 6E 67 08 67 08 67 08  t◘t◘tr◘r◘r◘ri◘i◘i◘in◘n◘n◘ng◘g◘g◘
000117E0  67 44 08 44 08 44 08 44  65 08 65 08 65 08 65 66  08 66 08 66 08 66 61 08  61 08 61 08 61 75 08 75  gD◘D◘D◘De◘e◘e◘ef◘f◘f◘fa◘a◘a◘au◘u
00011800  08 75 08 75 6C 08 6C 08  6C 08 6C 74 08 74 08 74  08 74 20 28 6E 6F 72 6D  61 6C 6C 79 0A 20 20 20  ◘u◘ul◘l◘l◘lt◘t◘t◘t (normally◙   
00011820  20 20 20 20 20 20 20 32  35 35 29 3B 20 61 6C 73  6F 2C 20 74 68 65 20 75  73 75 61 6C 20 50 61 73         255); also, the usual Pas
00011840  63 61 6C 20 74 79 70 65  73 20 63 08 63 08 63 08  63 68 08 68 08 68 08 68  61 08 61 08 61 08 61 72  cal types c◘c◘c◘ch◘h◘h◘ha◘a◘a◘ar
00011860  08 72 08 72 08 72 2C 20  62 08 62 08 62 08 62 6F  08 6F 08 6F 08 6F 6F 08  6F 08 6F 08 6F 6C 08 6C  ◘r◘r◘r, b◘b◘b◘bo◘o◘o◘oo◘o◘o◘ol◘l
00011880  08 6C 08 6C 65 08 65 08  65 08 65 61 08 61 08 61  08 61 6E 08 6E 08 6E 08  6E 2C 20 61 6E 64 20 74  ◘l◘le◘e◘e◘ea◘a◘a◘an◘n◘n◘n, and t
000118A0  08 74 08 74 08 74 65 08  65 08 65 08 65 78 08 78  08 78 08 78 74 08 74 08  74 08 74 2E 0A 20 20 20  ◘t◘t◘te◘e◘e◘ex◘x◘x◘xt◘t◘t◘t.◙   
000118C0  20 20 20 20 20 20 20 28  49 66 20 79 6F 75 72 20  50 61 73 63 61 6C 20 75  73 65 73 20 64 69 66 66         (If your Pascal uses diff
000118E0  65 72 65 6E 74 20 6E 61  6D 65 73 20 66 6F 72 20  74 68 65 73 65 20 63 6F  6E 63 65 70 74 73 2C 20  erent names for these concepts, 
00011900  74 68 65 0A 20 20 20 20  20 20 20 20 20 20 53 08  53 08 53 08 53 79 08 79  08 79 08 79 6E 08 6E 08  the◙          S◘S◘S◘Sy◘y◘y◘yn◘n◘
00011920  6E 08 6E 6F 08 6F 08 6F  08 6F 6E 08 6E 08 6E 08  6E 79 08 79 08 79 08 79  6D 08 6D 08 6D 08 6D 20  n◘no◘o◘o◘on◘n◘n◘ny◘y◘y◘ym◘m◘m◘m 
00011940  6F 70 74 69 6F 6E 20 77  69 6C 6C 20 63 6F 6D 65  20 69 6E 20 68 61 6E 64  79 2E 29 0A 0A 20 20 20  option will come in handy.)◙◙   
00011960  20 20 20 20 20 20 20 45  08 45 08 45 08 45 6D 08  6D 08 6D 08 6D 62 08 62  08 62 08 62 65 08 65 08         E◘E◘E◘Em◘m◘m◘mb◘b◘b◘be◘e◘
00011980  65 08 65 64 08 64 08 64  08 64 64 08 64 08 64 08  64 65 08 65 08 65 08 65  64 08 64 08 64 08 64 20  e◘ed◘d◘d◘dd◘d◘d◘de◘e◘e◘ed◘d◘d◘d 
000119A0  63 08 63 08 63 08 63 6F  08 6F 08 6F 08 6F 64 08  64 08 64 08 64 65 08 65  08 65 08 65 2E 08 2E 08  c◘c◘c◘co◘o◘o◘od◘d◘d◘de◘e◘e◘e.◘.◘
000119C0  2E 08 2E 20 49 74 20 69  73 20 70 6F 73 73 69 62  6C 65 20 74 6F 20 77 72  69 74 65 20 61 20 50 61  .◘. It is possible to write a Pa
000119E0  73 63 61 6C 20 63 6F 6D  6D 65 6E 74 0A 20 20 20  20 20 20 20 20 20 20 63  6F 6E 74 61 69 6E 69 6E  scal comment◙          containin
00011A00  67 20 43 20 63 6F 64 65  20 74 6F 20 62 65 20 65  6D 62 65 64 64 65 64 20  69 6E 74 6F 20 74 68 65  g C code to be embedded into the
00011A20  20 6F 75 74 70 75 74 2E  20 20 53 65 65 20 74 68  65 0A 20 20 20 20 20 20  20 20 20 20 64 65 73 63   output.  See the◙          desc
00011A40  72 69 70 74 69 6F 6E 73  20 6F 66 20 45 08 45 08  45 08 45 6D 08 6D 08 6D  08 6D 62 08 62 08 62 08  riptions of E◘E◘E◘Em◘m◘m◘mb◘b◘b◘
00011A60  62 65 08 65 08 65 08 65  64 08 64 08 64 08 64 43  08 43 08 43 08 43 6F 08  6F 08 6F 08 6F 6D 08 6D  be◘e◘e◘ed◘d◘d◘dC◘C◘C◘Co◘o◘o◘om◘m
00011A80  08 6D 08 6D 6D 08 6D 08  6D 08 6D 65 08 65 08 65  08 65 6E 08 6E 08 6E 08  6E 74 08 74 08 74 08 74  ◘m◘mm◘m◘m◘me◘e◘e◘en◘n◘n◘nt◘t◘t◘t
00011AA0  20 61 6E 64 20 69 74 73  20 72 65 6C 61 74 69 76  65 73 20 69 6E 20 74 68  65 20 73 79 73 74 65 6D   and its relatives in the system
00011AC0  0A 20 20 20 20 20 20 20  20 20 20 5F 08 70 5F 08  32 5F 08 63 5F 08 72 5F  08 63 20 66 69 6C 65 2E  ◙          _◘p_◘2_◘c_◘r_◘c file.
00011AE0  20 20 54 68 65 73 65 20  74 65 63 68 6E 69 71 75  65 73 20 61 72 65 20 68  65 6C 70 66 75 6C 20 69    These techniques are helpful i
00011B00  66 20 79 6F 75 20 70 6C  61 6E 20 74 6F 20 64 6F  0A 20 20 20 20 20 20 20  20 20 20 72 65 70 65 61  f you plan to do◙          repea
00011B20  74 65 64 20 74 72 61 6E  73 6C 61 74 69 6F 6E 73  20 6F 66 20 63 6F 64 65  20 74 68 61 74 20 69 73  ted translations of code that is
00011B40  20 73 74 69 6C 6C 20 62  65 69 6E 67 20 6D 61 69  6E 74 61 69 6E 65 64 0A  20 20 20 20 20 20 20 20   still being maintained◙        
00011B60  20 20 69 6E 20 50 61 73  63 61 6C 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  43 08 43 08 43 08 43 6F    in Pascal.◙◙          C◘C◘C◘Co
00011B80  08 6F 08 6F 08 6F 6D 08  6D 08 6D 08 6D 6D 08 6D  08 6D 08 6D 65 08 65 08  65 08 65 6E 08 6E 08 6E  ◘o◘o◘om◘m◘m◘mm◘m◘m◘me◘e◘e◘en◘n◘n
00011BA0  08 6E 74 08 74 08 74 08  74 73 08 73 08 73 08 73  20 61 08 61 08 61 08 61  6E 08 6E 08 6E 08 6E 64  ◘nt◘t◘t◘ts◘s◘s◘s a◘a◘a◘an◘n◘n◘nd
00011BC0  08 64 08 64 08 64 20 62  08 62 08 62 08 62 6C 08  6C 08 6C 08 6C 61 08 61  08 61 08 61 6E 08 6E 08  ◘d◘d◘d b◘b◘b◘bl◘l◘l◘la◘a◘a◘an◘n◘
00011BE0  6E 08 6E 6B 08 6B 08 6B  08 6B 20 6C 08 6C 08 6C  08 6C 69 08 69 08 69 08  69 6E 08 6E 08 6E 08 6E  n◘nk◘k◘k◘k l◘l◘l◘li◘i◘i◘in◘n◘n◘n
00011C00  65 08 65 08 65 08 65 73  08 73 08 73 08 73 2E 08  2E 08 2E 08 2E 20 5F 08  50 5F 08 32 5F 08 63 20  e◘e◘e◘es◘s◘s◘s.◘.◘.◘. _◘P_◘2_◘c 
00011C20  63 6F 6C 6C 65 63 74 73  20 74 68 65 20 63 6F 6D  6D 65 6E 74 73 20 69 6E  20 61 0A 20 20 20 20 20  collects the comments in a◙     
00011C40  20 20 20 20 20 70 72 6F  63 65 64 75 72 65 20 69  6E 74 6F 20 61 20 6C 69  73 74 2E 20 20 41 6C 6C       procedure into a list.  All
00011C60  20 63 6F 6D 6D 65 6E 74  73 20 61 6E 64 20 73 74  61 74 65 6D 65 6E 74 73  20 61 72 65 0A 20 20 20   comments and statements are◙   
00011C80  20 20 20 20 20 20 20 73  74 61 6D 70 65 64 20 77  69 74 68 20 73 65 72 69  61 6C 20 6E 75 6D 62 65         stamped with serial numbe
00011CA0  72 73 20 77 68 69 63 68  20 61 72 65 20 75 73 65  64 20 74 6F 20 72 65 61  74 74 61 63 68 0A 20 20  rs which are used to reattach◙  
00011CC0  20 20 20 20 20 20 20 20  63 6F 6D 6D 65 6E 74 73  20 74 6F 20 73 74 61 74  65 6D 65 6E 74 73 20 65          comments to statements e
00011CE0  76 65 6E 20 61 66 74 65  72 20 63 6F 64 65 20 68  61 73 20 62 65 65 6E 20  61 64 64 65 64 2C 0A 20  ven after code has been added,◙ 
00011D00  20 20 20 20 20 20 20 20  20 72 65 6D 6F 76 65 64  2C 20 6F 72 20 72 65 61  72 72 61 6E 67 65 64 20           removed, or rearranged 
00011D20  64 75 72 69 6E 67 20 74  72 61 6E 73 6C 61 74 69  6F 6E 2E 20 20 22 4F 72  70 68 61 6E 22 0A 20 20  during translation.  "Orphan"◙  
00011D40  20 20 20 20 20 20 20 20  63 6F 6D 6D 65 6E 74 73  20 61 74 74 61 63 68 65  64 20 74 6F 20 73 74 61          comments attached to sta
00011D60  74 65 6D 65 6E 74 73 20  74 68 61 74 20 68 61 76  65 20 62 65 65 6E 20 6C  6F 73 74 20 61 72 65 0A  tements that have been lost are◙
00011D80  20 20 20 20 20 20 20 20  20 20 61 74 74 61 63 68  65 64 20 74 6F 20 6E 65  61 72 62 79 20 73 74 61            attached to nearby sta
00011DA0  74 65 6D 65 6E 74 73 20  6F 72 20 65 6D 69 74 74  65 64 20 61 74 20 74 68  65 20 65 6E 64 20 6F 66  tements or emitted at the end of
00011DC0  20 74 68 65 0A 20 20 20  20 20 20 20 20 20 20 70  72 6F 63 65 64 75 72 65  2E 20 20 42 6C 61 6E 6B   the◙          procedure.  Blank
00011DE0  20 6C 69 6E 65 73 20 61  72 65 20 74 72 65 61 74  65 64 20 61 73 20 61 20  6B 69 6E 64 20 6F 66 20   lines are treated as a kind of 
00011E00  63 6F 6D 6D 65 6E 74 2C  20 73 6F 0A 20 20 20 20  20 20 20 20 20 20 5F 08  70 5F 08 32 5F 08 63 20  comment, so◙          _◘p_◘2_◘c 
00011E20  77 69 6C 6C 20 61 6C 73  6F 20 72 65 70 72 6F 64  75 63 65 20 79 6F 75 72  20 75 73 61 67 65 20 6F  will also reproduce your usage o
00011E40  66 20 62 6C 61 6E 6B 20  6C 69 6E 65 73 2E 20 20  49 66 20 74 68 65 0A 20  20 20 20 20 20 20 20 20  f blank lines.  If the◙         
00011E60  20 63 6F 6D 6D 65 6E 74  20 6D 65 63 68 61 6E 69  73 6D 20 67 6F 65 73 20  61 77 72 79 2C 20 79 6F   comment mechanism goes awry, yo
00011E80  75 20 63 61 6E 20 64 69  73 61 62 6C 65 20 63 6F  6D 6D 65 6E 74 73 20 77  69 74 68 0A 20 20 20 20  u can disable comments with◙    
00011EA0  20 20 20 20 20 20 45 08  45 08 45 08 45 61 08 61  08 61 08 61 74 08 74 08  74 08 74 43 08 43 08 43        E◘E◘E◘Ea◘a◘a◘at◘t◘t◘tC◘C◘C
00011EC0  08 43 6F 08 6F 08 6F 08  6F 6D 08 6D 08 6D 08 6D  6D 08 6D 08 6D 08 6D 65  08 65 08 65 08 65 6E 08  ◘Co◘o◘o◘om◘m◘m◘mm◘m◘m◘me◘e◘e◘en◘
00011EE0  6E 08 6E 08 6E 74 08 74  08 74 08 74 73 08 73 08  73 08 73 20 6F 72 20 64  69 73 61 62 6C 65 20 74  n◘n◘nt◘t◘t◘ts◘s◘s◘s or disable t
00011F00  68 65 69 72 20 62 65 69  6E 67 20 61 74 74 61 63  68 65 64 20 74 6F 20 63  6F 64 65 20 77 69 74 68  heir being attached to code with
00011F20  0A 20 20 20 20 20 20 20  20 20 20 53 08 53 08 53  08 53 70 08 70 08 70 08  70 69 08 69 08 69 08 69  ◙          S◘S◘S◘Sp◘p◘p◘pi◘i◘i◘i
00011F40  74 08 74 08 74 08 74 43  08 43 08 43 08 43 6F 08  6F 08 6F 08 6F 6D 08 6D  08 6D 08 6D 6D 08 6D 08  t◘t◘t◘tC◘C◘C◘Co◘o◘o◘om◘m◘m◘mm◘m◘
00011F60  6D 08 6D 65 08 65 08 65  08 65 6E 08 6E 08 6E 08  6E 74 08 74 08 74 08 74  73 08 73 08 73 08 73 2E  m◘me◘e◘e◘en◘n◘n◘nt◘t◘t◘ts◘s◘s◘s.
00011F80  0A 0A 20 20 20 20 20 20  20 20 20 20 49 08 49 08  49 08 49 6E 08 6E 08 6E  08 6E 64 08 64 08 64 08  ◙◙          I◘I◘I◘In◘n◘n◘nd◘d◘d◘
00011FA0  64 65 08 65 08 65 08 65  6E 08 6E 08 6E 08 6E 74  08 74 08 74 08 74 61 08  61 08 61 08 61 74 08 74  de◘e◘e◘en◘n◘n◘nt◘t◘t◘ta◘a◘a◘at◘t
00011FC0  08 74 08 74 69 08 69 08  69 08 69 6F 08 6F 08 6F  08 6F 6E 08 6E 08 6E 08  6E 2E 08 2E 08 2E 08 2E  ◘t◘ti◘i◘i◘io◘o◘o◘on◘n◘n◘n.◘.◘.◘.
00011FE0  20 5F 08 50 5F 08 32 5F  08 63 20 68 61 73 20 61  20 6E 75 6D 62 65 72 20  6F 66 20 70 61 72 61 6D   _◘P_◘2_◘c has a number of param
00012000  65 74 65 72 73 20 74 6F  20 67 6F 76 65 72 6E 0A  20 20 20 20 20 20 20 20  20 20 69 6E 64 65 6E 74  eters to govern◙          indent
00012020  61 74 69 6F 6E 20 6F 66  20 63 6F 64 65 2E 20 20  54 68 65 20 64 65 66 61  75 6C 74 20 76 61 6C 75  ation of code.  The default valu
00012040  65 73 20 70 72 6F 64 75  63 65 20 74 68 65 20 47  4E 55 0A 20 20 20 20 20  20 20 20 20 20 45 6D 61  es produce the GNU◙          Ema
00012060  63 73 20 73 74 61 6E 64  61 72 64 20 69 6E 64 65  6E 74 61 74 69 6F 6E 20  73 74 79 6C 65 2C 20 61  cs standard indentation style, a
00012080  6C 74 68 6F 75 67 68 20  5F 08 70 5F 08 32 5F 08  63 20 63 61 6E 20 64 6F  20 61 0A 20 20 20 20 20  lthough _◘p_◘2_◘c can do a◙     
000120A0  20 20 20 20 20 62 65 74  74 65 72 20 6A 6F 62 20  73 69 6E 63 65 20 69 74  20 6B 6E 6F 77 73 20 6D       better job since it knows m
000120C0  6F 72 65 20 61 62 6F 75  74 20 74 68 65 20 63 6F  64 65 20 69 74 20 69 73  0A 20 20 20 20 20 20 20  ore about the code it is◙       
000120E0  20 20 20 69 6E 64 65 6E  74 69 6E 67 2E 20 20 49  6E 64 65 6E 74 61 74 69  6F 6E 20 77 6F 72 6B 73     indenting.  Indentation works
00012100  20 62 79 20 61 70 70 6C  79 69 6E 67 20 22 69 6E  64 65 6E 74 61 74 69 6F  6E 0A 20 20 20 20 20 20   by applying "indentation◙      
00012120  20 20 20 20 64 65 6C 74  61 73 2C 22 20 77 68 69  63 68 20 61 72 65 20 65  69 74 68 65 72 20 61 62      deltas," which are either ab
00012140  73 6F 6C 75 74 65 20 6E  75 6D 62 65 72 73 20 28  77 68 69 63 68 20 6F 76  65 72 72 69 64 65 0A 20  solute numbers (which override◙ 
00012160  20 20 20 20 20 20 20 20  20 74 68 65 20 70 72 65  76 69 6F 75 73 20 69 6E  64 65 6E 74 61 74 69 6F           the previous indentatio
00012180  6E 29 2C 20 6F 72 20 73  69 67 6E 65 64 20 72 65  6C 61 74 69 76 65 20 6E  75 6D 62 65 72 73 20 28  n), or signed relative numbers (
000121A0  77 68 69 63 68 0A 20 20  20 20 20 20 20 20 20 20  61 75 67 6D 65 6E 74 20  74 68 65 20 70 72 65 76  which◙          augment the prev
000121C0  69 6F 75 73 20 69 6E 64  65 6E 74 61 74 69 6F 6E  29 2E 20 20 41 20 64 65  6C 74 61 20 6F 66 20 22  ious indentation).  A delta of "
000121E0  2B 30 22 0A 20 20 20 20  20 20 20 20 20 20 73 70  65 63 69 66 69 65 73 20  6E 6F 20 63 68 61 6E 67  +0"◙          specifies no chang
00012200  65 20 69 6E 20 69 6E 64  65 6E 74 61 74 69 6F 6E  2E 20 20 41 6C 6C 20 6F  66 20 74 68 65 20 69 6E  e in indentation.  All of the in
00012220  64 65 6E 74 61 74 69 6F  6E 0A 20 20 20 20 20 20  20 20 20 20 6F 70 74 69  6F 6E 73 20 61 72 65 20  dentation◙          options are 
00012240  64 65 73 63 72 69 62 65  64 20 69 6E 20 74 68 65  20 73 74 61 6E 64 61 72  64 20 5F 08 70 5F 08 32  described in the standard _◘p_◘2
00012260  5F 08 63 5F 08 72 5F 08  63 20 66 69 6C 65 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 4C 08 4C 08 4C  _◘c_◘r_◘c file.◙◙          L◘L◘L
00012280  08 4C 69 08 69 08 69 08  69 6E 08 6E 08 6E 08 6E  65 08 65 08 65 08 65 20  62 08 62 08 62 08 62 72  ◘Li◘i◘i◘in◘n◘n◘ne◘e◘e◘e b◘b◘b◘br
000122A0  08 72 08 72 08 72 65 08  65 08 65 08 65 61 08 61  08 61 08 61 6B 08 6B 08  6B 08 6B 69 08 69 08 69  ◘r◘r◘re◘e◘e◘ea◘a◘a◘ak◘k◘k◘ki◘i◘i
000122C0  08 69 6E 08 6E 08 6E 08  6E 67 08 67 08 67 08 67  2E 08 2E 08 2E 08 2E 20  5F 08 50 5F 08 32 5F 08  ◘in◘n◘n◘ng◘g◘g◘g.◘.◘.◘. _◘P_◘2_◘
000122E0  63 20 75 73 65 73 20 61  6E 20 61 6C 67 6F 72 69  74 68 6D 20 73 69 6D 69  6C 61 72 20 74 6F 20 74  c uses an algorithm similar to t
00012300  68 65 20 54 65 58 0A 20  20 20 20 20 20 20 20 20  20 74 79 70 65 73 65 74  74 65 72 27 73 20 70 61  he TeX◙          typesetter's pa
00012320  72 61 67 72 61 70 68 20  66 6F 72 6D 61 74 74 65  72 20 66 6F 72 20 62 72  65 61 6B 69 6E 67 20 6C  ragraph formatter for breaking l
00012340  6F 6E 67 0A 20 20 20 20  20 20 20 20 20 20 73 74  61 74 65 6D 65 6E 74 73  20 69 6E 74 6F 20 6D 75  ong◙          statements into mu
00012360  6C 74 69 70 6C 65 20 6C  69 6E 65 73 2E 20 20 41  20 22 70 65 6E 61 6C 74  79 22 20 69 73 20 61 73  ltiple lines.  A "penalty" is as
00012380  73 69 67 6E 65 64 20 74  6F 0A 20 20 20 20 20 20  20 20 20 20 76 61 72 69  6F 75 73 20 75 6E 64 65  signed to◙          various unde
000123A0  73 69 72 61 62 6C 65 20  61 73 70 65 63 74 73 20  6F 66 20 61 6C 6C 20 70  6F 73 73 69 62 6C 65 20  sirable aspects of all possible 
000123C0  6C 69 6E 65 20 62 72 65  61 6B 73 3B 20 74 68 65  0A 20 20 20 20 20 20 20  20 20 20 22 62 61 64 6E  line breaks; the◙          "badn
000123E0  65 73 73 22 20 6F 66 20  61 20 73 65 74 20 6F 66  20 6C 69 6E 65 20 62 72  65 61 6B 73 20 69 73 20  ess" of a set of line breaks is 
00012400  61 70 70 72 6F 78 69 6D  61 74 65 6C 79 20 74 68  65 20 73 75 6D 0A 20 20  20 20 20 20 20 20 20 20  approximately the sum◙          
00012420  6F 66 20 61 6C 6C 20 74  68 65 20 70 65 6E 61 6C  74 69 65 73 2E 20 20 43  68 69 65 66 20 61 6D 6F  of all the penalties.  Chief amo
00012440  6E 67 20 74 68 65 73 65  20 61 72 65 20 73 65 72  69 6F 75 73 0A 20 20 20  20 20 20 20 20 20 20 70  ng these are serious◙          p
00012460  65 6E 61 6C 74 69 65 73  20 66 6F 72 20 6F 76 65  72 72 75 6E 6E 69 6E 67  20 74 68 65 20 64 65 73  enalties for overrunning the des
00012480  69 72 65 64 20 6D 61 78  69 6D 75 6D 20 6C 69 6E  65 20 6C 65 6E 67 74 68  0A 20 20 20 20 20 20 20  ired maximum line length◙       
000124A0  20 20 20 28 64 65 66 61  75 6C 74 20 37 38 20 63  6F 6C 75 6D 6E 73 29 2C  20 61 6E 20 69 6E 66 69     (default 78 columns), an infi
000124C0  6E 69 74 65 20 70 65 6E  61 6C 74 79 20 66 6F 72  20 6F 76 65 72 72 75 6E  6E 69 6E 67 0A 0A 0A 0A  nite penalty for overrunning◙◙◙◙
000124E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00012500  20 20 2D 20 31 39 20 2D  20 46 6F 72 6D 61 74 74  65 64 3A 20 20 46 65 62  72 75 61 72 79 20 32 38    - 19 - Formatted:  February 28
00012520  2C 20 31 39 39 31 0A 0A  0A 0A 0A 0A 0A 20 20 20  20 20 50 08 50 08 50 08  50 32 08 32 08 32 08 32  , 1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2
00012540  43 08 43 08 43 08 43 28  08 28 08 28 08 28 31 08  31 08 31 08 31 29 08 29  08 29 08 29 20 20 20 20  C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)    
00012560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 28 08 28 08  28 08 28 6C 08 6C 08 6C                      (◘(◘(◘(l◘l◘l
00012580  08 6C 6F 08 6F 08 6F 08  6F 63 08 63 08 63 08 63  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 29 08  ◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘
000125A0  29 08 29 08 29 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 50 08 50 08 50  )◘)◘)                      P◘P◘P
000125C0  08 50 32 08 32 08 32 08  32 43 08 43 08 43 08 43  28 08 28 08 28 08 28 31  08 31 08 31 08 31 29 08  ◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘
000125E0  29 08 29 08 29 0A 0A 0A  0A 20 20 20 20 20 20 20  20 20 20 74 68 65 20 61  62 73 6F 6C 75 74 65 20  )◘)◘)◙◙◙◙          the absolute 
00012600  6D 61 78 69 6D 75 6D 20  6C 69 6E 65 20 6C 65 6E  67 74 68 20 28 64 65 66  61 75 6C 74 20 39 30 29  maximum line length (default 90)
00012620  2C 20 61 6E 64 0A 20 20  20 20 20 20 20 20 20 20  70 72 6F 67 72 65 73 73  69 76 65 6C 79 20 67 72  , and◙          progressively gr
00012640  65 61 74 65 72 20 70 65  6E 61 6C 74 69 65 73 20  66 6F 72 20 62 72 65 61  6B 69 6E 67 20 61 74 20  eater penalties for breaking at 
00012660  6F 70 65 72 61 74 6F 72  73 0A 20 20 20 20 20 20  20 20 20 20 64 65 65 70  6C 79 20 6E 65 73 74 65  operators◙          deeply neste
00012680  64 20 69 6E 20 65 78 70  72 65 73 73 69 6F 6E 73  2E 20 20 50 61 72 61 6D  65 74 65 72 73 20 73 75  d in expressions.  Parameters su
000126A0  63 68 20 61 73 0A 20 20  20 20 20 20 20 20 20 20  4F 08 4F 08 4F 08 4F 70  08 70 08 70 08 70 42 08  ch as◙          O◘O◘O◘Op◘p◘p◘pB◘
000126C0  42 08 42 08 42 72 08 72  08 72 08 72 65 08 65 08  65 08 65 61 08 61 08 61  08 61 6B 08 6B 08 6B 08  B◘B◘Br◘r◘r◘re◘e◘e◘ea◘a◘a◘ak◘k◘k◘
000126E0  6B 50 08 50 08 50 08 50  65 08 65 08 65 08 65 6E  08 6E 08 6E 08 6E 61 08  61 08 61 08 61 6C 08 6C  kP◘P◘P◘Pe◘e◘e◘en◘n◘n◘na◘a◘a◘al◘l
00012700  08 6C 08 6C 74 08 74 08  74 08 74 79 08 79 08 79  08 79 20 63 6F 6E 74 72  6F 6C 20 74 68 65 20 72  ◘l◘lt◘t◘t◘ty◘y◘y◘y control the r
00012720  65 6C 61 74 69 76 65 20  77 65 69 67 68 74 73 20  6F 66 20 76 61 72 69 6F  75 73 0A 20 20 20 20 20  elative weights of various◙     
00012740  20 20 20 20 20 63 68 6F  69 63 65 73 2E 20 20 42  08 42 08 42 08 42 72 08  72 08 72 08 72 65 08 65       choices.  B◘B◘B◘Br◘r◘r◘re◘e
00012760  08 65 08 65 61 08 61 08  61 08 61 6B 08 6B 08 6B  08 6B 41 08 41 08 41 08  41 72 08 72 08 72 08 72  ◘e◘ea◘a◘a◘ak◘k◘k◘kA◘A◘A◘Ar◘r◘r◘r
00012780  69 08 69 08 69 08 69 74  08 74 08 74 08 74 68 08  68 08 68 08 68 20 61 6E  64 20 69 74 73 20 6E 65  i◘i◘i◘it◘t◘t◘th◘h◘h◘h and its ne
000127A0  69 67 68 62 6F 72 73 20  63 6F 6E 74 72 6F 6C 20  77 68 65 74 68 65 72 20  74 68 65 0A 20 20 20 20  ighbors control whether the◙    
000127C0  20 20 20 20 20 20 6F 70  65 72 61 74 6F 72 20 61  74 20 61 20 6C 69 6E 65  20 62 72 65 61 6B 20 73        operator at a line break s
000127E0  68 6F 75 6C 64 20 62 65  20 70 6C 61 63 65 64 20  61 74 20 74 68 65 20 65  6E 64 20 6F 66 20 74 68  hould be placed at the end of th
00012800  65 0A 20 20 20 20 20 20  20 20 20 20 70 72 65 76  69 6F 75 73 20 6C 69 6E  65 20 6F 72 20 61 74 20  e◙          previous line or at 
00012820  74 68 65 20 62 65 67 69  6E 6E 69 6E 67 20 6F 66  20 74 68 65 20 6E 65 78  74 2E 20 20 49 66 20 79  the beginning of the next.  If y
00012840  6F 75 20 64 6F 6E 27 74  0A 20 20 20 20 20 20 20  20 20 20 77 61 6E 74 20  61 6E 79 20 6F 76 65 72  ou don't◙          want any over
00012860  73 69 7A 65 20 6C 69 6E  65 73 2C 20 64 65 66 69  6E 65 20 4D 08 4D 08 4D  08 4D 61 08 61 08 61 08  size lines, define M◘M◘M◘Ma◘a◘a◘
00012880  61 78 08 78 08 78 08 78  4C 08 4C 08 4C 08 4C 69  08 69 08 69 08 69 6E 08  6E 08 6E 08 6E 65 08 65  ax◘x◘x◘xL◘L◘L◘Li◘i◘i◘in◘n◘n◘ne◘e
000128A0  08 65 08 65 57 08 57 08  57 08 57 69 08 69 08 69  08 69 64 08 64 08 64 08  64 74 08 74 08 74 08 74  ◘e◘eW◘W◘W◘Wi◘i◘i◘id◘d◘d◘dt◘t◘t◘t
000128C0  68 08 68 08 68 08 68 3D  37 38 2E 0A 0A 20 20 20  20 20 20 20 20 20 20 55  6E 6C 69 6B 65 20 54 65  h◘h◘h◘h=78.◙◙          Unlike Te
000128E0  58 2C 20 5F 08 70 5F 08  32 5F 08 63 27 73 20 6C  69 6E 65 20 62 72 65 61  6B 65 72 20 6D 75 73 74  X, _◘p_◘2_◘c's line breaker must
00012900  20 61 63 74 75 61 6C 6C  79 20 74 72 79 20 61 6C  6C 0A 20 20 20 20 20 20  20 20 20 20 70 6F 73 73   actually try all◙          poss
00012920  69 62 6C 65 20 73 65 74  73 20 6F 66 20 62 72 65  61 6B 20 70 6F 69 6E 74  73 2E 20 20 54 6F 20 61  ible sets of break points.  To a
00012940  76 6F 69 64 20 65 78 63  65 73 73 69 76 65 0A 20  20 20 20 20 20 20 20 20  20 63 6F 6D 70 75 74 61  void excessive◙          computa
00012960  74 69 6F 6E 2C 20 74 68  65 20 74 6F 74 61 6C 20  70 65 6E 61 6C 74 79 20  63 6F 6E 74 72 69 62 75  tion, the total penalty contribu
00012980  74 65 64 20 61 74 20 65  61 63 68 20 64 65 63 69  73 69 6F 6E 0A 20 20 20  20 20 20 20 20 20 20 70  ted at each decision◙          p
000129A0  6F 69 6E 74 20 6D 75 73  74 20 73 75 6D 20 74 6F  20 61 20 6E 6F 6E 6E 65  67 61 74 69 76 65 20 76  oint must sum to a nonnegative v
000129C0  61 6C 75 65 3B 20 6E 65  67 61 74 69 76 65 20 76  61 6C 75 65 73 20 61 72  65 0A 20 20 20 20 20 20  alue; negative values are◙      
000129E0  20 20 20 20 63 6C 69 70  70 65 64 20 75 70 20 74  6F 20 7A 65 72 6F 2E 20  20 54 68 69 73 20 61 6C      clipped up to zero.  This al
00012A00  6C 6F 77 73 20 5F 08 70  5F 08 32 5F 08 63 20 74  6F 20 70 72 75 6E 65 20  61 77 61 79 20 6F 62 76  lows _◘p_◘2_◘c to prune away obv
00012A20  69 6F 75 73 6C 79 0A 20  20 20 20 20 20 20 20 20  20 75 6E 64 65 73 69 72  61 62 6C 65 20 61 6C 74  iously◙          undesirable alt
00012A40  65 72 6E 61 74 69 76 65  73 20 69 6E 20 61 64 76  61 6E 63 65 2E 20 20 54  68 65 20 4D 08 4D 08 4D  ernatives in advance.  The M◘M◘M
00012A60  08 4D 61 08 61 08 61 08  61 78 08 78 08 78 08 78  4C 08 4C 08 4C 08 4C 69  08 69 08 69 08 69 6E 08  ◘Ma◘a◘a◘ax◘x◘x◘xL◘L◘L◘Li◘i◘i◘in◘
00012A80  6E 08 6E 08 6E 65 08 65  08 65 08 65 42 08 42 08  42 08 42 72 08 72 08 72  08 72 65 08 65 08 65 08  n◘n◘ne◘e◘e◘eB◘B◘B◘Br◘r◘r◘re◘e◘e◘
00012AA0  65 61 08 61 08 61 08 61  6B 08 6B 08 6B 08 6B 54  08 54 08 54 08 54 72 08  72 08 72 08 72 69 08 69  ea◘a◘a◘ak◘k◘k◘kT◘T◘T◘Tr◘r◘r◘ri◘i
00012AC0  08 69 08 69 65 08 65 08  65 08 65 73 08 73 08 73  08 73 0A 20 20 20 20 20  20 20 20 20 20 70 61 72  ◘i◘ie◘e◘e◘es◘s◘s◘s◙          par
00012AE0  61 6D 65 74 65 72 20 28  64 65 66 61 75 6C 74 20  35 30 30 30 29 20 63 6F  6E 74 72 6F 6C 73 20 68  ameter (default 5000) controls h
00012B00  6F 77 20 6D 61 6E 79 20  61 6C 74 65 72 6E 61 74  69 76 65 73 20 74 6F 0A  20 20 20 20 20 20 20 20  ow many alternatives to◙        
00012B20  20 20 74 72 79 20 62 65  66 6F 72 65 20 67 69 76  69 6E 67 20 75 70 20 61  6E 64 20 75 73 69 6E 67    try before giving up and using
00012B40  20 74 68 65 20 62 65 73  74 20 73 6F 20 66 61 72  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 50 08 50   the best so far.◙◙          P◘P
00012B60  08 50 08 50 41 08 41 08  41 08 41 53 08 53 08 53  08 53 43 08 43 08 43 08  43 41 08 41 08 41 08 41  ◘P◘PA◘A◘A◘AS◘S◘S◘SC◘C◘C◘CA◘A◘A◘A
00012B80  4C 08 4C 08 4C 08 4C 5F  08 5F 08 5F 08 5F 4D 08  4D 08 4D 08 4D 41 08 41  08 41 08 41 49 08 49 08  L◘L◘L◘L_◘_◘_◘_M◘M◘M◘MA◘A◘A◘AI◘I◘
00012BA0  49 08 49 4E 08 4E 08 4E  08 4E 2E 08 2E 08 2E 08  2E 20 5F 08 50 5F 08 32  5F 08 63 20 67 65 6E 65  I◘IN◘N◘N◘N.◘.◘.◘. _◘P_◘2_◘c gene
00012BC0  72 61 74 65 73 20 61 20  63 61 6C 6C 20 74 6F 20  74 68 69 73 20 66 75 6E  63 74 69 6F 6E 20 61 74  rates a call to this function at
00012BE0  20 74 68 65 0A 20 20 20  20 20 20 20 20 20 20 66  72 6F 6E 74 20 6F 66 20  74 68 65 20 6D 61 69 6E   the◙          front of the main
00012C00  20 70 72 6F 67 72 61 6D  2E 20 20 49 6E 20 74 68  65 20 28 75 6E 6D 6F 64  69 66 69 65 64 29 20 72   program.  In the (unmodified) r
00012C20  75 6E 2D 74 69 6D 65 0A  20 20 20 20 20 20 20 20  20 20 6C 69 62 72 61 72  79 20 61 6C 6C 20 74 68  un-time◙          library all th
00012C40  69 73 20 64 6F 65 73 20  69 73 20 73 61 76 65 20  61 72 67 63 20 61 6E 64  20 61 72 67 76 20 61 77  is does is save argc and argv aw
00012C60  61 79 20 62 65 63 61 75  73 65 20 69 6E 0A 20 20  20 20 20 20 20 20 20 20  62 6F 74 68 20 48 50 20  ay because in◙          both HP 
00012C80  61 6E 64 20 54 75 72 62  6F 20 74 68 65 73 65 20  61 72 65 20 61 63 63 65  73 73 65 64 20 61 73 20  and Turbo these are accessed as 
00012CA0  67 6C 6F 62 61 6C 20 76  61 72 69 61 62 6C 65 73  2E 0A 20 20 20 20 20 20  20 20 20 20 49 66 20 79  global variables.◙          If y
00012CC0  6F 75 20 64 6F 20 6E 6F  74 20 77 69 73 68 20 74  6F 20 75 73 65 20 74 68  69 73 20 66 65 61 74 75  ou do not wish to use this featu
00012CE0  72 65 2C 20 64 65 66 69  6E 65 20 41 08 41 08 41  08 41 72 08 72 08 72 08  72 67 08 67 08 67 08 67  re, define A◘A◘A◘Ar◘r◘r◘rg◘g◘g◘g
00012D00  43 08 43 08 43 08 43 4E  08 4E 08 4E 08 4E 61 08  61 08 61 08 61 6D 08 6D  08 6D 08 6D 65 08 65 08  C◘C◘C◘CN◘N◘N◘Na◘a◘a◘am◘m◘m◘me◘e◘
00012D20  65 08 65 20 74 6F 0A 20  20 20 20 20 20 20 20 20  20 62 65 20 5F 08 61 5F  08 72 5F 08 67 5F 08 63  e◘e to◙          be _◘a_◘r_◘g_◘c
00012D40  2C 20 41 08 41 08 41 08  41 72 08 72 08 72 08 72  67 08 67 08 67 08 67 56  08 56 08 56 08 56 4E 08  , A◘A◘A◘Ar◘r◘r◘rg◘g◘g◘gV◘V◘V◘VN◘
00012D60  4E 08 4E 08 4E 61 08 61  08 61 08 61 6D 08 6D 08  6D 08 6D 65 08 65 08 65  08 65 20 74 6F 20 62 65  N◘N◘Na◘a◘a◘am◘m◘m◘me◘e◘e◘e to be
00012D80  20 5F 08 61 5F 08 72 5F  08 67 5F 08 76 2C 20 61  6E 64 20 4D 08 4D 08 4D  08 4D 61 08 61 08 61 08   _◘a_◘r_◘g_◘v, and M◘M◘M◘Ma◘a◘a◘
00012DA0  61 69 08 69 08 69 08 69  6E 08 6E 08 6E 08 6E 4E  08 4E 08 4E 08 4E 61 08  61 08 61 08 61 6D 08 6D  ai◘i◘i◘in◘n◘n◘nN◘N◘N◘Na◘a◘a◘am◘m
00012DC0  08 6D 08 6D 65 08 65 08  65 08 65 20 28 6E 6F 72  6D 61 6C 6C 79 0A 20 20  20 20 20 20 20 20 20 20  ◘m◘me◘e◘e◘e (normally◙          
00012DE0  22 50 41 53 43 41 4C 5F  4D 41 49 4E 22 29 20 74  6F 20 62 65 20 62 6C 61  6E 6B 2E 20 20 54 68 69  "PASCAL_MAIN") to be blank.  Thi
00012E00  73 20 77 69 6C 6C 20 77  6F 72 6B 20 69 66 20 61  72 67 63 20 61 6E 64 20  61 72 67 76 0A 20 20 20  s will work if argc and argv◙   
00012E20  20 20 20 20 20 20 20 61  72 65 20 6E 65 76 65 72  20 61 63 63 65 73 73 65  64 20 6F 75 74 73 69 64         are never accessed outsid
00012E40  65 20 6F 66 20 79 6F 75  72 20 6D 61 69 6E 20 70  72 6F 67 72 61 6D 2E 0A  0A 20 20 20 20 20 42 08  e of your main program.◙◙     B◘
00012E60  42 08 42 08 42 55 08 55  08 55 08 55 47 08 47 08  47 08 47 53 08 53 08 53  08 53 0A 20 20 20 20 20  B◘B◘BU◘U◘U◘UG◘G◘G◘GS◘S◘S◘S◙     
00012E80  20 20 20 20 20 5F 08 50  5F 08 32 5F 08 63 20 77  61 73 20 64 65 73 69 67  6E 65 64 20 77 69 74 68       _◘P_◘2_◘c was designed with
00012EA0  20 74 68 65 20 69 64 65  61 20 74 68 61 74 20 63  6C 65 61 6E 2C 20 72 65  61 64 61 62 6C 65 20 6F   the idea that clean, readable o
00012EC0  75 74 70 75 74 0A 20 20  20 20 20 20 20 20 20 20  69 6E 20 6D 6F 73 74 20  63 61 73 65 73 20 69 73  utput◙          in most cases is
00012EE0  20 77 6F 72 74 68 20 6D  6F 72 65 20 74 68 61 6E  20 67 75 61 72 61 6E 74  65 65 64 20 63 6F 72 72   worth more than guaranteed corr
00012F00  65 63 74 20 6F 75 74 70  75 74 0A 20 20 20 20 20  20 20 20 20 20 69 6E 20  65 78 74 72 65 6D 65 20  ect output◙          in extreme 
00012F20  63 61 73 65 73 2E 20 20  5F 08 50 5F 08 32 5F 08  63 20 69 73 20 5F 08 6E  5F 08 6F 5F 08 74 20 61  cases.  _◘P_◘2_◘c is _◘n_◘o_◘t a
00012F40  20 63 6F 6D 70 69 6C 65  72 21 20 20 48 6F 77 65  76 65 72 2C 20 69 64 65  61 6C 6C 79 0A 20 20 20   compiler!  However, ideally◙   
00012F60  20 20 20 20 20 20 20 74  68 65 20 22 65 78 74 72  65 6D 65 22 20 63 61 73  65 73 20 77 6F 75 6C 64         the "extreme" cases would
00012F80  20 69 6E 63 6C 75 64 65  20 6F 6E 6C 79 20 74 68  6F 73 65 20 77 68 69 63  68 20 6E 65 76 65 72 0A   include only those which never◙
00012FA0  20 20 20 20 20 20 20 20  20 20 61 72 69 73 65 20  69 6E 20 72 65 61 6C 20  6C 69 66 65 2E 20 20 54            arise in real life.  T
00012FC0  68 75 73 20 69 66 20 5F  08 70 5F 08 32 5F 08 63  20 61 63 74 75 61 6C 6C  79 20 67 65 6E 65 72 61  hus if _◘p_◘2_◘c actually genera
00012FE0  74 65 73 0A 20 20 20 20  20 20 20 20 20 20 69 6E  63 6F 72 72 65 63 74 20  63 6F 64 65 20 49 20 77  tes◙          incorrect code I w
00013000  69 6C 6C 20 63 6F 6E 73  69 64 65 72 20 69 74 20  61 20 62 75 67 2C 20 62  75 74 20 49 20 77 69 6C  ill consider it a bug, but I wil
00013020  6C 20 6E 6F 74 0A 20 20  20 20 20 20 20 20 20 20  61 70 6F 6C 6F 67 69 7A  65 20 66 6F 72 20 69 74  l not◙          apologize for it
00013040  2E 20 3A 2D 29 20 20 42  65 6C 6F 77 20 61 72 65  20 74 68 65 20 6D 61 6A  6F 72 20 72 65 6D 61 69  . :-)  Below are the major remai
00013060  6E 69 6E 67 20 63 61 73  65 73 0A 20 20 20 20 20  20 20 20 20 20 77 68 65  72 65 20 74 68 69 73 20  ning cases◙          where this 
00013080  69 73 20 6B 6E 6F 77 6E  20 74 6F 20 6F 63 63 75  72 2E 0A 0A 20 20 20 20  20 20 20 20 20 20 43 65  is known to occur.◙◙          Ce
000130A0  72 74 61 69 6E 20 6B 69  6E 64 73 20 6F 66 20 63  6F 6E 66 6F 72 6D 61 6E  74 20 61 72 72 61 79 20  rtain kinds of conformant array 
000130C0  70 61 72 61 6D 65 74 65  72 73 20 28 69 6E 63 6C  75 64 69 6E 67 0A 20 20  20 20 20 20 20 20 20 20  parameters (including◙          
000130E0  6D 75 6C 74 69 2D 64 69  6D 65 6E 73 69 6F 6E 61  6C 20 63 6F 6E 66 6F 72  6D 61 6E 74 20 61 72 72  multi-dimensional conformant arr
00013100  61 79 73 29 20 70 72 6F  64 75 63 65 20 63 6F 64  65 20 74 68 61 74 0A 20  20 20 20 20 20 20 20 20  ays) produce code that◙         
00013120  20 64 65 63 6C 61 72 65  73 20 76 61 72 69 61 62  6C 65 2D 6C 65 6E 67 74  68 20 61 72 72 61 79 73   declares variable-length arrays
00013140  20 69 6E 20 43 2E 20 20  4F 6E 6C 79 20 61 20 66  65 77 20 43 0A 20 20 20  20 20 20 20 20 20 20 63   in C.  Only a few C◙          c
00013160  6F 6D 70 69 6C 65 72 73  2C 20 73 75 63 68 20 61  73 20 74 68 65 20 47 4E  55 20 43 20 63 6F 6D 70  ompilers, such as the GNU C comp
00013180  69 6C 65 72 2C 20 73 75  70 70 6F 72 74 20 74 68  69 73 20 6C 61 6E 67 75  61 67 65 0A 20 20 20 20  iler, support this language◙    
000131A0  20 20 20 20 20 20 65 78  74 65 6E 73 69 6F 6E 2E  20 20 4F 74 68 65 72 77  69 73 65 20 73 6F 6D 65        extension.  Otherwise some
000131C0  20 68 61 6E 64 20 72 65  2D 63 6F 64 69 6E 67 20  77 69 6C 6C 20 62 65 20  72 65 71 75 69 72 65 64   hand re-coding will be required
000131E0  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 48 50 20  50 61 73 63 61 6C 20 74  08 74 08 74 08 74 72 08  .◙◙          HP Pascal t◘t◘t◘tr◘
00013200  72 08 72 08 72 79 08 79  08 79 08 79 2D 72 08 72  08 72 08 72 65 08 65 08  65 08 65 63 08 63 08 63  r◘r◘ry◘y◘y◘y-r◘r◘r◘re◘e◘e◘ec◘c◘c
00013220  08 63 6F 08 6F 08 6F 08  6F 76 08 76 08 76 08 76  65 08 65 08 65 08 65 72  08 72 08 72 08 72 20 73  ◘co◘o◘o◘ov◘v◘v◘ve◘e◘e◘er◘r◘r◘r s
00013240  74 72 75 63 74 75 72 65  73 20 61 72 65 20 74 72  61 6E 73 6C 61 74 65 64  20 69 6E 74 6F 20 63 61  tructures are translated into ca
00013260  6C 6C 73 0A 20 20 20 20  20 20 20 20 20 20 74 6F  20 5F 08 54 5F 08 52 5F  08 59 20 61 6E 64 20 5F  lls◙          to _◘T_◘R_◘Y and _
00013280  08 52 5F 08 45 5F 08 43  5F 08 4F 5F 08 56 5F 08  45 5F 08 52 20 6D 61 63  72 6F 73 2C 20 77 68 69  ◘R_◘E_◘C_◘O_◘V_◘E_◘R macros, whi
000132A0  63 68 20 61 72 65 20 64  65 66 69 6E 65 64 20 74  6F 20 73 69 6D 75 6C 61  74 65 20 74 68 65 0A 20  ch are defined to simulate the◙ 
000132C0  20 20 20 20 20 20 20 20  20 63 6F 6E 73 74 72 75  63 74 20 75 73 69 6E 67  20 5F 08 73 5F 08 65 5F           construct using _◘s_◘e_
000132E0  08 74 5F 08 6A 5F 08 6D  5F 08 70 20 61 6E 64 20  5F 08 6C 5F 08 6F 5F 08  6E 5F 08 67 5F 08 6A 5F  ◘t_◘j_◘m_◘p and _◘l_◘o_◘n_◘g_◘j_
00013300  08 6D 5F 08 70 2E 20 49  66 20 74 68 69 73 20 65  6D 75 6C 61 74 69 6F 6E  20 64 6F 65 73 0A 20 20  ◘m_◘p. If this emulation does◙  
00013320  20 20 20 20 20 20 20 20  6E 6F 74 20 77 6F 72 6B  2C 20 64 65 66 69 6E 65  20 74 68 65 20 73 79 6D          not work, define the sym
00013340  62 6F 6C 20 46 08 46 08  46 08 46 41 08 41 08 41  08 41 4B 08 4B 08 4B 08  4B 45 08 45 08 45 08 45  bol F◘F◘F◘FA◘A◘A◘AK◘K◘K◘KE◘E◘E◘E
00013360  5F 08 5F 08 5F 08 5F 54  08 54 08 54 08 54 52 08  52 08 52 08 52 59 08 59  08 59 08 59 20 74 6F 20  _◘_◘_◘_T◘T◘T◘TR◘R◘R◘RY◘Y◘Y◘Y to 
00013380  63 61 75 73 65 20 74 68  65 73 65 20 6D 61 63 72  6F 73 0A 20 20 20 20 20  20 20 20 20 20 74 6F 20  cause these macros◙          to 
000133A0  62 65 63 6F 6D 65 20 22  69 6E 65 72 74 2E 22 20  20 28 49 6E 20 63 61 73  65 73 20 77 68 65 72 65  become "inert."  (In cases where
000133C0  20 74 68 65 20 65 72 72  6F 72 20 69 73 20 64 65  74 65 63 74 65 64 20 62  79 0A 20 20 20 20 20 20   the error is detected by◙      
000133E0  20 20 20 20 63 6F 64 65  20 70 68 79 73 69 63 61  6C 6C 79 20 77 69 74 68  69 6E 20 74 68 65 20 62      code physically within the b
00013400  6F 64 79 20 6F 66 20 74  68 65 20 74 08 74 08 74  08 74 72 08 72 08 72 08  72 79 08 79 08 79 08 79  ody of the t◘t◘t◘tr◘r◘r◘ry◘y◘y◘y
00013420  20 73 74 61 74 65 6D 65  6E 74 2C 20 61 20 43 0A  20 20 20 20 20 20 20 20  20 20 67 08 67 08 67 08   statement, a C◙          g◘g◘g◘
00013440  67 6F 08 6F 08 6F 08 6F  74 08 74 08 74 08 74 6F  08 6F 08 6F 08 6F 20 74  6F 20 74 68 65 20 72 08  go◘o◘o◘ot◘t◘t◘to◘o◘o◘o to the r◘
00013460  72 08 72 08 72 65 08 65  08 65 08 65 63 08 63 08  63 08 63 6F 08 6F 08 6F  08 6F 76 08 76 08 76 08  r◘r◘re◘e◘e◘ec◘c◘c◘co◘o◘o◘ov◘v◘v◘
00013480  76 65 08 65 08 65 08 65  72 08 72 08 72 08 72 20  73 65 63 74 69 6F 6E 20  69 73 20 61 6C 77 61 79  ve◘e◘e◘er◘r◘r◘r section is alway
000134A0  73 20 67 65 6E 65 72 61  74 65 64 2E 29 20 20 41  6C 73 6F 2C 0A 20 20 20  20 20 20 20 20 20 20 6C  s generated.)  Also,◙          l
000134C0  6F 63 61 6C 20 66 69 6C  65 20 76 61 72 69 61 62  6C 65 73 20 69 6E 20 73  63 6F 70 65 73 20 77 68  ocal file variables in scopes wh
000134E0  69 63 68 20 61 72 65 20  64 65 73 74 72 6F 79 65  64 20 62 79 20 61 6E 0A  20 20 20 20 20 20 20 20  ich are destroyed by an◙        
00013500  20 20 65 08 65 08 65 08  65 73 08 73 08 73 08 73  63 08 63 08 63 08 63 61  08 61 08 61 08 61 70 08    e◘e◘e◘es◘s◘s◘sc◘c◘c◘ca◘a◘a◘ap◘
00013520  70 08 70 08 70 65 08 65  08 65 08 65 20 61 72 65  20 6E 6F 74 20 63 6C 6F  73 65 64 2E 0A 0A 0A 0A  p◘p◘pe◘e◘e◘e are not closed.◙◙◙◙
00013540  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00013560  20 20 2D 20 32 30 20 2D  20 46 6F 72 6D 61 74 74  65 64 3A 20 20 46 65 62  72 75 61 72 79 20 32 38    - 20 - Formatted:  February 28
00013580  2C 20 31 39 39 31 0A 0A  0A 0A 0A 0A 0A 20 20 20  20 20 50 08 50 08 50 08  50 32 08 32 08 32 08 32  , 1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2
000135A0  43 08 43 08 43 08 43 28  08 28 08 28 08 28 31 08  31 08 31 08 31 29 08 29  08 29 08 29 20 20 20 20  C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)    
000135C0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 28 08 28 08  28 08 28 6C 08 6C 08 6C                      (◘(◘(◘(l◘l◘l
000135E0  08 6C 6F 08 6F 08 6F 08  6F 63 08 63 08 63 08 63  61 08 61 08 61 08 61 6C  08 6C 08 6C 08 6C 29 08  ◘lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘
00013600  29 08 29 08 29 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 50 08 50 08 50  )◘)◘)                      P◘P◘P
00013620  08 50 32 08 32 08 32 08  32 43 08 43 08 43 08 43  28 08 28 08 28 08 28 31  08 31 08 31 08 31 29 08  ◘P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘
00013640  29 08 29 08 29 0A 0A 0A  0A 20 20 20 20 20 20 20  20 20 20 4E 6F 6E 2D 6C  6F 63 61 6C 20 47 4F 54  )◘)◘)◙◙◙◙          Non-local GOT
00013660  4F 27 73 20 61 6E 64 20  74 08 74 08 74 08 74 72  08 72 08 72 08 72 79 08  79 08 79 08 79 2D 72 08  O's and t◘t◘t◘tr◘r◘r◘ry◘y◘y◘y-r◘
00013680  72 08 72 08 72 65 08 65  08 65 08 65 63 08 63 08  63 08 63 6F 08 6F 08 6F  08 6F 76 08 76 08 76 08  r◘r◘re◘e◘e◘ec◘c◘c◘co◘o◘o◘ov◘v◘v◘
000136A0  76 65 08 65 08 65 08 65  72 08 72 08 72 08 72 20  73 74 61 74 65 6D 65 6E  74 73 20 61 72 65 20 65  ve◘e◘e◘er◘r◘r◘r statements are e
000136C0  61 63 68 0A 20 20 20 20  20 20 20 20 20 20 69 6D  70 6C 65 6D 65 6E 74 65  64 2C 20 62 75 74 20 6D  ach◙          implemented, but m
000136E0  61 79 20 63 6F 6E 66 6C  69 63 74 20 69 66 20 62  6F 74 68 20 61 72 65 20  75 73 65 64 20 61 74 20  ay conflict if both are used at 
00013700  6F 6E 63 65 2E 0A 20 20  20 20 20 20 20 20 20 20  4E 6F 6E 2D 6C 6F 63 61  6C 20 47 4F 54 4F 27 73  once.◙          Non-local GOTO's
00013720  20 61 72 65 20 66 61 69  72 6C 79 20 63 61 72 65  66 75 6C 20 61 62 6F 75  74 20 63 6C 6F 73 69 6E   are fairly careful about closin
00013740  67 20 66 69 6C 65 73 20  74 68 61 74 0A 20 20 20  20 20 20 20 20 20 20 67  6F 20 6F 75 74 20 6F 66  g files that◙          go out of
00013760  20 73 63 6F 70 65 20 62  75 74 20 6D 61 79 20 66  61 69 6C 20 74 6F 20 64  6F 20 73 6F 20 69 6E 20   scope but may fail to do so in 
00013780  74 68 65 20 70 72 65 73  65 6E 63 65 20 6F 66 0A  20 20 20 20 20 20 20 20  20 20 72 65 63 75 72 73  the presence of◙          recurs
000137A0  69 6F 6E 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  41 72 72 61 79 73 20 63  6F 6E 74 61 69 6E 69 6E  ion.◙◙          Arrays containin
000137C0  67 20 66 69 6C 65 73 20  61 72 65 20 6E 6F 74 20  69 6E 69 74 69 61 6C 69  7A 65 64 20 74 6F 20 4E  g files are not initialized to N
000137E0  55 4C 4C 20 61 73 20 6F  74 68 65 72 0A 20 20 20  20 20 20 20 20 20 20 66  69 6C 65 73 20 61 72 65  ULL as other◙          files are
00013800  2E 20 20 49 6E 20 73 6F  6D 65 20 63 61 73 65 73  2C 20 73 75 63 68 20 61  73 20 66 69 6C 65 20 76  .  In some cases, such as file v
00013820  61 72 69 61 62 6C 65 73  20 61 6C 6C 6F 63 61 74  65 64 0A 20 20 20 20 20  20 20 20 20 20 62 79 20  ariables allocated◙          by 
00013840  4E 45 57 2C 20 74 68 65  20 66 69 6C 65 20 69 73  20 69 6E 69 74 69 61 6C  69 7A 65 64 20 62 75 74  NEW, the file is initialized but
00013860  20 6E 6F 74 20 61 75 74  6F 6D 61 74 69 63 61 6C  6C 79 20 63 6C 6F 73 65  64 0A 20 20 20 20 20 20   not automatically closed◙      
00013880  20 20 20 20 62 79 20 44  49 53 50 4F 53 45 2E 0A  0A 20 20 20 20 20 20 20  20 20 20 4C 49 4E 4B 20      by DISPOSE.◙◙          LINK 
000138A0  76 61 72 69 61 62 6C 65  73 20 61 6C 6C 6F 77 69  6E 67 20 73 75 62 2D 70  72 6F 63 65 64 75 72 65  variables allowing sub-procedure
000138C0  73 20 61 63 63 65 73 73  20 74 6F 20 74 68 65 69  72 0A 20 20 20 20 20 20  20 20 20 20 70 61 72 65  s access to their◙          pare
000138E0  6E 74 73 27 20 76 61 72  69 61 62 6C 65 73 20 61  72 65 20 6F 63 63 61 73  69 6F 6E 61 6C 6C 79 20  nts' variables are occasionally 
00013900  6F 6D 69 74 74 65 64 20  62 79 20 6D 69 73 74 61  6B 65 2C 20 69 66 0A 20  20 20 20 20 20 20 20 20  omitted by mistake, if◙         
00013920  20 74 68 65 20 61 63 63  65 73 73 20 69 73 20 74  6F 6F 20 69 6E 64 69 72  65 63 74 20 66 6F 72 20   the access is too indirect for 
00013940  5F 08 70 5F 08 32 5F 08  63 20 74 6F 20 6E 6F 74  69 63 65 2E 20 20 49 66  20 74 68 69 73 0A 20 20  _◘p_◘2_◘c to notice.  If this◙  
00013960  20 20 20 20 20 20 20 20  68 61 70 70 65 6E 73 2C  20 79 6F 75 20 63 61 6E  20 61 64 64 20 61 6E 20          happens, you can add an 
00013980  65 78 70 6C 69 63 69 74  20 72 65 66 65 72 65 6E  63 65 20 74 6F 20 61 20  70 61 72 65 6E 74 0A 20  explicit reference to a parent◙ 
000139A0  20 20 20 20 20 20 20 20  20 76 61 72 69 61 62 6C  65 20 69 6E 20 74 68 65  20 73 75 62 2D 70 72 6F           variable in the sub-pro
000139C0  63 65 64 75 72 65 2E 20  20 41 20 73 74 61 74 65  6D 65 6E 74 20 6F 66 20  74 68 65 20 66 6F 72 6D  cedure.  A statement of the form
000139E0  0A 20 20 20 20 20 20 20  20 20 20 22 61 3A 3D 61  22 20 77 69 6C 6C 20 63  6F 75 6E 74 20 61 73 20  ◙          "a:=a" will count as 
00013A00  61 20 72 65 66 65 72 65  6E 63 65 20 62 75 74 20  74 68 65 6E 20 62 65 20  6F 70 74 69 6D 69 7A 65  a reference but then be optimize
00013A20  64 20 61 77 61 79 0A 20  20 20 20 20 20 20 20 20  20 62 79 20 5F 08 70 5F  08 32 5F 08 63 2E 0A 0A  d away◙          by _◘p_◘2_◘c.◙◙
00013A40  20 20 20 20 20 20 20 20  20 20 4D 61 6E 79 20 61  73 70 65 63 74 73 20 6F  66 20 4D 6F 64 75 6C 61            Many aspects of Modula
00013A60  2D 32 20 61 72 65 20 74  72 61 6E 73 6C 61 74 65  64 20 6F 6E 6C 79 20 73  75 70 65 72 66 69 63 69  -2 are translated only superfici
00013A80  61 6C 6C 79 2E 0A 20 20  20 20 20 20 20 20 20 20  46 6F 72 20 65 78 61 6D  70 6C 65 2C 20 74 68 65  ally.◙          For example, the
00013AA0  20 74 79 70 65 2D 63 6F  6D 70 61 74 69 62 69 6C  69 74 79 20 70 72 6F 70  65 72 74 69 65 73 20 6F   type-compatibility properties o
00013AC0  66 20 74 68 65 20 5F 08  57 5F 08 4F 5F 08 52 5F  08 44 0A 20 20 20 20 20  20 20 20 20 20 61 6E 64  f the _◘W_◘O_◘R_◘D◙          and
00013AE0  20 5F 08 41 5F 08 52 5F  08 52 5F 08 41 5F 08 59  20 5F 08 4F 5F 08 46 20  5F 08 57 5F 08 4F 5F 08   _◘A_◘R_◘R_◘A_◘Y _◘O_◘F _◘W_◘O_◘
00013B00  52 5F 08 44 20 74 79 70  65 73 20 61 72 65 20 6F  6E 6C 79 20 72 6F 75 67  68 6C 79 20 6D 6F 64 65  R_◘D types are only roughly mode
00013B20  6C 6C 65 64 2C 20 61 73  20 61 72 65 0A 20 20 20  20 20 20 20 20 20 20 74  68 65 20 73 63 6F 70 65  lled, as are◙          the scope
00013B40  20 72 75 6C 65 73 20 63  6F 6E 63 65 72 6E 69 6E  67 20 6D 6F 64 75 6C 65  73 2E 0A 0A 20 20 20 20   rules concerning modules.◙◙    
00013B60  20 20 20 20 20 20 50 61  72 74 73 20 6F 66 20 56  41 58 20 50 61 73 63 61  6C 20 61 72 65 20 73 74        Parts of VAX Pascal are st
00013B80  69 6C 6C 20 75 6E 74 72  65 61 74 65 64 2E 20 20  49 6E 20 70 61 72 74 69  63 75 6C 61 72 2C 20 74  ill untreated.  In particular, t
00013BA0  68 65 0A 20 20 20 20 20  20 20 20 20 20 5B 5F 08  55 5F 08 4E 5F 08 53 5F  08 41 5F 08 46 5F 08 45  he◙          [_◘U_◘N_◘S_◘A_◘F_◘E
00013BC0  5D 20 61 74 74 72 69 62  75 74 65 20 61 6E 64 20  61 20 66 65 77 20 6F 74  68 65 72 73 20 61 72 65  ] attribute and a few others are
00013BE0  20 6E 6F 74 20 66 75 6C  6C 79 20 73 75 70 70 6F  72 74 65 64 2C 0A 20 20  20 20 20 20 20 20 20 20   not fully supported,◙          
00013C00  6E 6F 72 20 61 72 65 20  74 68 65 20 73 65 6D 61  6E 74 69 63 73 20 6F 66  20 74 68 65 20 5F 08 4F  nor are the semantics of the _◘O
00013C20  5F 08 50 5F 08 45 5F 08  4E 20 70 72 6F 63 65 64  75 72 65 2E 0A 0A 20 20  20 20 20 20 20 20 20 20  _◘P_◘E_◘N procedure.◙◙          
00013C40  54 75 72 62 6F 20 61 6E  64 20 56 41 58 20 50 61  73 63 61 6C 27 73 20 5F  08 64 5F 08 6F 5F 08 75  Turbo and VAX Pascal's _◘d_◘o_◘u
00013C60  5F 08 62 5F 08 6C 5F 08  65 2C 20 5F 08 71 5F 08  75 5F 08 61 5F 08 64 5F  08 72 5F 08 75 5F 08 70  _◘b_◘l_◘e, _◘q_◘u_◘a_◘d_◘r_◘u_◘p
00013C80  5F 08 6C 5F 08 65 2C 20  61 6E 64 20 5F 08 65 5F  08 78 5F 08 74 5F 08 65  5F 08 6E 5F 08 64 5F 08  _◘l_◘e, and _◘e_◘x_◘t_◘e_◘n_◘d_◘
00013CA0  65 5F 08 64 20 72 65 61  6C 0A 20 20 20 20 20 20  20 20 20 20 74 79 70 65  73 20 61 6C 6C 20 74 72  e_◘d real◙          types all tr
00013CC0  61 6E 73 6C 61 74 65 20  74 6F 20 74 68 65 20 43  20 64 08 64 08 64 08 64  6F 08 6F 08 6F 08 6F 75  anslate to the C d◘d◘d◘do◘o◘o◘ou
00013CE0  08 75 08 75 08 75 62 08  62 08 62 08 62 6C 08 6C  08 6C 08 6C 65 08 65 08  65 08 65 20 74 79 70 65  ◘u◘u◘ub◘b◘b◘bl◘l◘l◘le◘e◘e◘e type
00013D00  2E 20 20 54 75 72 62 6F  27 73 0A 20 20 20 20 20  20 20 20 20 20 5F 08 63  5F 08 6F 5F 08 6D 5F 08  .  Turbo's◙          _◘c_◘o_◘m_◘
00013D20  70 5F 08 75 5F 08 74 5F  08 61 5F 08 74 5F 08 69  5F 08 6F 5F 08 6E 5F 08  61 5F 08 6C 20 74 79 70  p_◘u_◘t_◘a_◘t_◘i_◘o_◘n_◘a_◘l typ
00013D40  65 20 69 73 20 6E 6F 74  20 73 75 70 70 6F 72 74  65 64 20 61 74 20 61 6C  6C 2E 0A 0A 20 20 20 20  e is not supported at all.◙◙    
00013D60  20 20 20 20 20 20 42 65  63 61 75 73 65 20 50 61  73 63 61 6C 20 73 74 72  69 6E 67 73 20 28 77 69        Because Pascal strings (wi
00013D80  74 68 20 6C 65 6E 67 74  68 20 62 79 74 65 73 29  20 61 72 65 20 74 72 61  6E 73 6C 61 74 65 64 0A  th length bytes) are translated◙
00013DA0  20 20 20 20 20 20 20 20  20 20 69 6E 74 6F 20 43  20 73 74 72 69 6E 67 73  20 28 77 69 74 68 20 6E            into C strings (with n
00013DC0  75 6C 6C 20 74 65 72 6D  69 6E 61 74 6F 72 73 29  2C 20 63 65 72 74 61 69  6E 20 50 61 73 63 61 6C  ull terminators), certain Pascal
00013DE0  0A 20 20 20 20 20 20 20  20 20 20 73 74 72 69 6E  67 20 74 72 69 63 6B 73  20 77 69 6C 6C 20 6E 6F  ◙          string tricks will no
00013E00  74 20 77 6F 72 6B 20 69  6E 20 74 68 65 20 74 72  61 6E 73 6C 61 74 65 64  20 63 6F 64 65 2E 20 20  t work in the translated code.  
00013E20  46 6F 72 0A 20 20 20 20  20 20 20 20 20 20 65 78  61 6D 70 6C 65 20 74 68  65 20 61 73 73 69 67 6E  For◙          example the assign
00013E40  6D 65 6E 74 20 5F 08 73  5B 5F 08 30 5D 3A 3D 5F  08 63 5F 08 68 5F 08 72  28 5F 08 78 29 20 69 73  ment _◘s[_◘0]:=_◘c_◘h_◘r(_◘x) is
00013E60  20 74 72 61 6E 73 6C 61  74 65 64 20 74 6F 20 5F  08 73 5B 5F 08 78 5D 3D  5F 08 30 0A 20 20 20 20   translated to _◘s[_◘x]=_◘0◙    
00013E80  20 20 20 20 20 20 6F 6E  20 74 68 65 20 61 73 73  75 6D 70 74 69 6F 6E 20  74 68 61 74 20 74 68 65        on the assumption that the
00013EA0  20 73 74 72 69 6E 67 20  69 73 20 62 65 69 6E 67  20 73 68 6F 72 74 65 6E  65 64 2E 20 20 49 66 20   string is being shortened.  If 
00013EC0  5F 08 78 0A 20 20 20 20  20 20 20 20 20 20 69 73  20 61 63 74 75 61 6C 6C  79 20 67 72 65 61 74 65  _◘x◙          is actually greate
00013EE0  72 20 74 68 61 6E 20 74  68 65 20 63 75 72 72 65  6E 74 20 6C 65 6E 67 74  68 2C 20 62 75 74 20 6E  r than the current length, but n
00013F00  6F 74 20 6F 66 20 61 0A  20 20 20 20 20 20 20 20  20 20 72 65 63 6F 67 6E  69 7A 61 62 6C 65 20 66  ot of a◙          recognizable f
00013F20  6F 72 6D 20 6C 69 6B 65  20 5F 08 6F 5F 08 72 5F  08 64 28 5F 08 73 5B 5F  08 30 5D 29 2B 5F 08 6E  orm like _◘o_◘r_◘d(_◘s[_◘0])+_◘n
00013F40  2C 20 74 68 65 6E 20 74  68 65 20 67 65 6E 65 72  61 74 65 64 20 63 6F 64  65 0A 20 20 20 20 20 20  , then the generated code◙      
00013F60  20 20 20 20 77 69 6C 6C  20 6E 6F 74 20 77 6F 72  6B 2E 20 20 49 6E 20 56  41 58 20 50 61 73 63 61      will not work.  In VAX Pasca
00013F80  6C 20 74 68 69 73 20 63  6F 72 72 65 73 70 6F 6E  64 73 20 74 6F 20 70 65  72 66 6F 72 6D 69 6E 67  l this corresponds to performing
00013FA0  0A 20 20 20 20 20 20 20  20 20 20 61 72 69 74 68  6D 65 74 69 63 20 6F 6E  20 74 68 65 20 5F 08 4C  ◙          arithmetic on the _◘L
00013FC0  5F 08 45 5F 08 4E 5F 08  47 5F 08 54 5F 08 48 20  66 69 65 6C 64 20 6F 66  20 61 20 76 61 72 79 69  _◘E_◘N_◘G_◘T_◘H field of a varyi
00013FE0  6E 67 2D 6C 65 6E 67 74  68 20 73 74 72 69 6E 67  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 54 75 72  ng-length string.◙◙          Tur
00014000  62 6F 20 50 61 73 63 61  6C 27 73 20 61 75 74 6F  6D 61 74 69 63 20 63 6C  69 70 70 69 6E 67 20 6F  bo Pascal's automatic clipping o
00014020  66 20 73 74 72 69 6E 67  73 20 69 73 20 6E 6F 74  0A 20 20 20 20 20 20 20  20 20 20 73 75 70 70 6F  f strings is not◙          suppo
00014040  72 74 65 64 2E 20 20 49  6E 20 54 75 72 62 6F 2C  20 69 66 20 61 20 74 65  6E 20 63 68 61 72 61 63  rted.  In Turbo, if a ten charac
00014060  74 65 72 20 73 74 72 69  6E 67 20 69 73 20 61 73  73 69 67 6E 65 64 0A 20  20 20 20 20 20 20 20 20  ter string is assigned◙         
00014080  20 74 6F 20 61 20 5F 08  73 5F 08 74 5F 08 72 5F  08 69 5F 08 6E 5F 08 67  5B 5F 08 38 5D 20 76 61   to a _◘s_◘t_◘r_◘i_◘n_◘g[_◘8] va
000140A0  72 69 61 62 6C 65 2C 20  74 68 65 20 6C 61 73 74  20 74 77 6F 20 63 68 61  72 61 63 74 65 72 73 20  riable, the last two characters 
000140C0  61 72 65 0A 20 20 20 20  20 20 20 20 20 20 73 69  6C 65 6E 74 6C 79 20 72  65 6D 6F 76 65 64 2E 20  are◙          silently removed. 
000140E0  20 54 68 65 20 63 6F 64  65 20 70 72 6F 64 75 63  65 64 20 62 79 20 5F 08  70 5F 08 32 5F 08 63 20   The code produced by _◘p_◘2_◘c 
00014100  67 65 6E 65 72 61 6C 6C  79 20 77 69 6C 6C 0A 20  20 20 20 20 20 20 20 20  20 6F 76 65 72 72 75 6E  generally will◙          overrun
00014120  20 74 68 65 20 74 61 72  67 65 74 20 73 74 72 69  6E 67 20 69 6E 73 74 65  61 64 21 20 20 54 68 65   the target string instead!  The
00014140  20 53 08 53 08 53 08 53  74 08 74 08 74 08 74 72  08 72 08 72 08 72 69 08  69 08 69 08 69 6E 08 6E   S◘S◘S◘St◘t◘t◘tr◘r◘r◘ri◘i◘i◘in◘n
00014160  08 6E 08 6E 67 08 67 08  67 08 67 54 08 54 08 54  08 54 72 08 72 08 72 08  72 75 08 75 08 75 08 75  ◘n◘ng◘g◘g◘gT◘T◘T◘Tr◘r◘r◘ru◘u◘u◘u
00014180  6E 08 6E 08 6E 08 6E 63  08 63 08 63 08 63 4C 08  4C 08 4C 08 4C 69 08 69  08 69 08 69 6D 08 6D 08  n◘n◘n◘nc◘c◘c◘cL◘L◘L◘Li◘i◘i◘im◘m◘
000141A0  6D 08 6D 69 08 69 08 69  08 69 74 08 74 08 74 08  74 0A 20 20 20 20 20 20  20 20 20 20 70 61 72 61  m◘mi◘i◘i◘it◘t◘t◘t◙          para
000141C0  6D 65 74 65 72 20 28 38  30 20 62 79 20 64 65 66  61 75 6C 74 20 69 66 20  4C 08 4C 08 4C 08 4C 61  meter (80 by default if L◘L◘L◘La
000141E0  08 61 08 61 08 61 6E 08  6E 08 6E 08 6E 67 08 67  08 67 08 67 75 08 75 08  75 08 75 61 08 61 08 61  ◘a◘a◘an◘n◘n◘ng◘g◘g◘gu◘u◘u◘ua◘a◘a
00014200  08 61 67 08 67 08 67 08  67 65 08 65 08 65 08 65  3D 54 08 54 08 54 08 54  75 08 75 08 75 08 75 72  ◘ag◘g◘g◘ge◘e◘e◘e=T◘T◘T◘Tu◘u◘u◘ur
00014220  08 72 08 72 08 72 62 08  62 08 62 08 62 6F 08 6F  08 6F 08 6F 29 20 73 70  65 63 69 66 69 65 73 20  ◘r◘r◘rb◘b◘b◘bo◘o◘o◘o) specifies 
00014240  61 0A 20 20 20 20 20 20  20 20 20 20 73 74 72 69  6E 67 20 73 69 7A 65 20  77 68 69 63 68 20 73 68  a◙          string size which sh
00014260  6F 75 6C 64 20 62 65 20  63 6F 6E 73 69 64 65 72  65 64 20 22 73 68 6F 72  74 22 3B 20 61 73 73 69  ould be considered "short"; assi
00014280  67 6E 6D 65 6E 74 73 0A  20 20 20 20 20 20 20 20  20 20 6F 66 20 70 6F 74  65 6E 74 69 61 6C 6C 79  gnments◙          of potentially
000142A0  2D 6C 6F 6E 67 20 73 74  72 69 6E 67 73 20 74 6F  20 73 68 6F 72 74 20 73  74 72 69 6E 67 20 76 61  -long strings to short string va
000142C0  72 69 61 62 6C 65 73 20  77 69 6C 6C 0A 20 20 20  20 20 20 20 20 20 20 63  61 75 73 65 20 61 20 77  riables will◙          cause a w
000142E0  61 72 6E 69 6E 67 20 62  75 74 20 77 69 6C 6C 20  6E 6F 74 20 61 75 74 6F  6D 61 74 69 63 61 6C 6C  arning but will not automaticall
00014300  79 20 74 72 75 6E 63 61  74 65 2E 20 20 54 68 65  0A 20 20 20 20 20 20 20  20 20 20 63 75 72 65 20  y truncate.  The◙          cure 
00014320  69 73 20 74 6F 20 75 73  65 20 5F 08 63 5F 08 6F  5F 08 70 5F 08 79 20 69  6E 20 74 68 65 20 50 61  is to use _◘c_◘o_◘p_◘y in the Pa
00014340  73 63 61 6C 20 73 6F 75  72 63 65 20 74 6F 20 74  72 75 6E 63 61 74 65 20  74 68 65 0A 0A 0A 0A 20  scal source to truncate the◙◙◙◙ 
00014360  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00014380  20 2D 20 32 31 20 2D 20  46 6F 72 6D 61 74 74 65  64 3A 20 20 46 65 62 72  75 61 72 79 20 32 38 2C   - 21 - Formatted:  February 28,
000143A0  20 31 39 39 31 0A 0A 0A  0A 0A 0A 0A 20 20 20 20  20 50 08 50 08 50 08 50  32 08 32 08 32 08 32 43   1991◙◙◙◙◙◙◙     P◘P◘P◘P2◘2◘2◘2C
000143C0  08 43 08 43 08 43 28 08  28 08 28 08 28 31 08 31  08 31 08 31 29 08 29 08  29 08 29 20 20 20 20 20  ◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)◘)◘)     
000143E0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 28 08 28 08 28  08 28 6C 08 6C 08 6C 08                     (◘(◘(◘(l◘l◘l◘
00014400  6C 6F 08 6F 08 6F 08 6F  63 08 63 08 63 08 63 61  08 61 08 61 08 61 6C 08  6C 08 6C 08 6C 29 08 29  lo◘o◘o◘oc◘c◘c◘ca◘a◘a◘al◘l◘l◘l)◘)
00014420  08 29 08 29 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 50 08 50 08 50 08  ◘)◘)                      P◘P◘P◘
00014440  50 32 08 32 08 32 08 32  43 08 43 08 43 08 43 28  08 28 08 28 08 28 31 08  31 08 31 08 31 29 08 29  P2◘2◘2◘2C◘C◘C◘C(◘(◘(◘(1◘1◘1◘1)◘)
00014460  08 29 08 29 0A 0A 0A 0A  20 20 20 20 20 20 20 20  20 20 73 74 72 69 6E 67  73 20 65 78 70 6C 69 63  ◘)◘)◙◙◙◙          strings explic
00014480  69 74 6C 79 2E 0A 0A 20  20 20 20 20 46 08 46 08  46 08 46 49 08 49 08 49  08 49 4C 08 4C 08 4C 08  itly.◙◙     F◘F◘F◘FI◘I◘I◘IL◘L◘L◘
000144A0  4C 45 08 45 08 45 08 45  53 08 53 08 53 08 53 0A  20 20 20 20 20 20 20 20  20 20 66 69 6C 65 2E 5F  LE◘E◘E◘ES◘S◘S◘S◙          file._
000144C0  08 78 5F 08 78 5F 08 78  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 50  61 73 63 61 6C 20 73 6F  ◘x_◘x_◘x               Pascal so
000144E0  75 72 63 65 20 66 69 6C  65 73 0A 20 20 20 20 20  20 20 20 20 20 66 69 6C  65 2E 63 20 20 20 20 20  urce files◙          file.c     
00014500  20 20 20 20 20 20 20 20  20 20 20 20 72 65 73 75  6C 74 69 6E 67 20 43 20  73 6F 75 72 63 65 20 66              resulting C source f
00014520  69 6C 65 0A 20 20 20 20  20 20 20 20 20 20 6D 6F  64 75 6C 65 2E 68 20 20  20 20 20 20 20 20 20 20  ile◙          module.h          
00014540  20 20 20 20 20 72 65 73  75 6C 74 69 6E 67 20 43  20 68 65 61 64 65 72 20  66 69 6C 65 0A 20 20 20       resulting C header file◙   
00014560  20 20 20 20 20 20 20 70  32 63 72 63 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6C 6F         p2crc                  lo
00014580  63 61 6C 20 63 6F 6E 66  69 67 75 72 61 74 69 6F  6E 20 66 69 6C 65 0A 20  20 20 20 20 20 20 20 20  cal configuration file◙         
000145A0  20 2E 70 32 63 72 63 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  61 6C 74 65 72 6E 61 74   .p2crc                 alternat
000145C0  65 20 6C 6F 63 61 6C 20  63 6F 6E 66 69 67 75 72  61 74 69 6F 6E 20 66 69  6C 65 0A 20 20 20 20 20  e local configuration file◙     
000145E0  20 20 20 20 20 2F 75 73  72 2F 6C 69 62 2F 70 32  63 2F 70 32 63 72 63 20  20 20 20 20 73 79 73 74       /usr/lib/p2c/p2crc     syst
00014600  65 6D 2D 77 69 64 65 20  63 6F 6E 66 69 67 75 72  61 74 69 6F 6E 20 66 69  6C 65 0A 20 20 20 20 20  em-wide configuration file◙     
00014620  20 20 20 20 20 2F 75 73  72 2F 6C 69 62 2F 70 32  63 2F 73 79 73 74 65 6D  2E 69 6D 70 64 65 63 6C       /usr/lib/p2c/system.impdecl
00014640  61 72 61 74 69 6F 6E 73  20 66 6F 72 20 70 72 65  64 65 66 69 6E 65 64 20  66 75 6E 63 74 69 6F 6E  arations for predefined function
00014660  73 0A 20 20 20 20 20 20  20 20 20 20 2F 75 73 72  2F 6C 69 62 2F 70 32 63  2F 73 79 73 74 65 6D 2E  s◙          /usr/lib/p2c/system.
00014680  6D 32 20 61 6E 61 6C 6F  67 6F 75 73 20 64 65 63  6C 61 72 61 74 69 6F 6E  73 20 66 6F 72 20 4D 6F  m2 analogous declarations for Mo
000146A0  64 75 6C 61 2D 32 0A 20  20 20 20 20 20 20 20 20  20 2F 75 73 72 2F 6C 69  62 2F 70 32 63 2F 2A 2E  dula-2◙          /usr/lib/p2c/*.
000146C0  69 6D 70 20 20 20 20 20  69 6E 74 65 72 66 61 63  65 20 74 65 78 74 20 66  6F 72 20 73 74 61 6E 64  imp     interface text for stand
000146E0  61 72 64 20 6D 6F 64 75  6C 65 73 0A 20 20 20 20  20 20 20 20 20 20 2F 75  73 72 2F 69 6E 63 6C 75  ard modules◙          /usr/inclu
00014700  64 65 2F 70 32 63 2F 70  32 63 2E 68 20 68 65 61  64 65 72 20 66 69 6C 65  20 66 6F 72 20 74 72 61  de/p2c/p2c.h header file for tra
00014720  6E 73 6C 61 74 65 64 20  70 72 6F 67 72 61 6D 73  0A 20 20 20 20 20 20 20  20 20 20 2F 75 73 72 2F  nslated programs◙          /usr/
00014740  6C 69 62 2F 6C 69 62 70  32 63 2E 61 20 20 20 20  20 20 72 75 6E 2D 74 69  6D 65 20 6C 69 62 72 61  lib/libp2c.a      run-time libra
00014760  72 79 0A 0A 20 20 20 20  20 41 08 41 08 41 08 41  55 08 55 08 55 08 55 54  08 54 08 54 08 54 48 08  ry◙◙     A◘A◘A◘AU◘U◘U◘UT◘T◘T◘TH◘
00014780  48 08 48 08 48 4F 08 4F  08 4F 08 4F 52 08 52 08  52 08 52 0A 20 20 20 20  20 20 20 20 20 20 44 61  H◘H◘HO◘O◘O◘OR◘R◘R◘R◙          Da
000147A0  76 65 20 47 69 6C 6C 65  73 70 69 65 2C 20 64 61  76 65 67 40 63 73 76 61  78 2E 63 73 2E 63 61 6C  ve Gillespie, daveg@csvax.cs.cal
000147C0  74 65 63 68 2E 65 64 75  2E 0A 0A 20 20 20 20 20  20 20 20 20 20 4D 61 6E  79 20 74 68 61 6E 6B 73  tech.edu.◙◙          Many thanks
000147E0  20 74 6F 20 57 69 6C 6C  69 61 6D 20 42 61 64 65  72 2C 20 53 74 65 76 65  6E 20 4C 65 76 69 2C 20   to William Bader, Steven Levi, 
00014800  52 69 63 6B 20 4B 6F 73  68 69 2C 20 45 72 69 63  0A 20 20 20 20 20 20 20  20 20 20 52 61 79 6D 6F  Rick Koshi, Eric◙          Raymo
00014820  6E 64 2C 20 4D 61 67 6E  65 20 48 61 76 65 72 61  61 65 6E 2C 20 44 69 72  6B 20 47 72 75 6E 77 61  nd, Magne Haveraaen, Dirk Grunwa
00014840  6C 64 2C 20 44 61 76 69  64 20 42 61 72 74 6F 2C  20 50 61 75 6C 0A 20 20  20 20 20 20 20 20 20 20  ld, David Barto, Paul◙          
00014860  46 69 73 68 65 72 2C 20  54 6F 6D 20 53 63 68 6E  65 69 64 65 72 2C 20 61  6E 64 20 6F 74 68 65 72  Fisher, Tom Schneider, and other
00014880  73 20 77 68 6F 73 65 20  73 75 67 67 65 73 74 69  6F 6E 73 20 61 6E 64 20  62 75 67 0A 20 20 20 20  s whose suggestions and bug◙    
000148A0  20 20 20 20 20 20 72 65  70 6F 72 74 73 20 68 61  76 65 20 68 65 6C 70 65  64 20 69 6D 70 72 6F 76        reports have helped improv
000148C0  65 20 5F 08 70 5F 08 32  5F 08 63 20 69 6E 20 63  6F 75 6E 74 6C 65 73 73  20 77 61 79 73 2E 0A 0A  e _◘p_◘2_◘c in countless ways.◙◙
000148E0  0A 0A 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0A 0A  0A 0A 0A 0A 0A 0A 0A 0A  ◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙
00014900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                                  
00014920  20 20 2D 20 32 32 20 2D  20 46 6F 72 6D 61 74 74  65 64 3A 20 20 46 65 62  72 75 61 72 79 20 32 38    - 22 - Formatted:  February 28
00014940  2C 20 31 39 39 31 0A 0A  0A 0A                                                                      , 1991◙◙◙◙
[ RETURN TO DIRECTORY ]