============================================================================================================================================== 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◙◙◙◙