home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / unix_c / languags / icon / bigints.tar next >
Tape Archive  |  1988-11-28  |  280.0 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Tape Archive (archive/tar).

You can browse this item here: bigints.tar

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Tape Archive (archive/tar) magic Supported
100% file tar archive default
99% file tar archive (V7), file ./, mode 775 , uid 16 , gid 24 , size 0 , seconds 4340007623 default
98% file data default
100% TrID Sybase iAnywhere database files default (weak)
100% siegfried x-fmt/265 Tape Archive Format default
100% lsar Tar default
100% gt2 TAR Archiv gefunden (Auflistung ist deaktiviert) default
100% disktype Pre-POSIX tar archive default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 2e 2f 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |./......|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 20 20 20 37 | 37 35 20 00 20 20 20 20 |.... 7|75 . |
|00000070| 31 36 20 00 20 20 20 20 | 32 34 20 00 20 20 20 20 |16 . |24 . |
|00000080| 20 20 20 20 20 20 30 20 | 20 34 33 34 30 30 30 37 | 0 | 4340007|
|00000090| 36 32 33 20 20 20 34 31 | 33 32 00 20 00 00 00 00 |623 41|32. ....|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 2e 2f 68 2f 00 00 00 00 | 00 00 00 00 00 00 00 00 |./h/....|........|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 20 20 20 37 | 37 35 20 00 20 20 20 20 |.... 7|75 . |
|00000270| 31 36 20 00 20 20 20 20 | 32 34 20 00 20 20 20 20 |16 . |24 . |
|00000280| 20 20 20 20 20 20 30 20 | 20 34 33 33 31 30 37 34 | 0 | 4331074|
|00000290| 32 32 37 20 20 20 34 33 | 36 35 00 20 00 00 00 00 |227 43|65. ....|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 2e 2f 68 2f 72 74 2e 68 | 00 00 00 00 00 00 00 00 |./h/rt.h|........|
|00000410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000460| 00 00 00 00 20 20 20 36 | 36 34 20 00 20 20 20 20 |.... 6|64 . |
|00000470| 31 36 20 00 20 20 20 20 | 32 34 20 00 20 20 20 20 |16 . |24 . |
|00000480| 20 20 36 31 30 37 37 20 | 20 34 33 33 31 30 37 34 | 61077 | 4331074|
|00000490| 32 32 37 20 20 20 35 33 | 30 33 00 20 00 00 00 00 |227 53|03. ....|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 2f 2a 0a 20 2a 20 44 65 | 66 69 6e 69 74 69 6f 6e |/*. * De|finition|
|00000610| 73 20 61 6e 64 20 64 65 | 63 6c 61 72 61 74 69 6f |s and de|claratio|
|00000620| 6e 73 20 75 73 65 64 20 | 74 68 72 6f 75 67 68 6f |ns used |througho|
|00000630| 75 74 20 74 68 65 20 72 | 75 6e 2d 74 69 6d 65 20 |ut the r|un-time |
|00000640| 73 79 73 74 65 6d 2e 0a | 20 2a 20 54 68 65 73 65 |system..| * These|
|00000650| 20 61 72 65 20 61 6c 73 | 6f 20 75 73 65 64 20 62 | are als|o used b|
|00000660| 79 20 74 68 65 20 6c 69 | 6e 6b 65 72 20 69 6e 20 |y the li|nker in |
|00000670| 63 6f 6e 73 74 72 75 63 | 74 69 6e 67 20 64 61 74 |construc|ting dat|
|00000680| 61 20 66 6f 72 20 75 73 | 65 20 62 79 0a 20 2a 20 |a for us|e by. * |
|00000690| 74 68 65 20 72 75 6e 2d | 74 69 6d 65 20 73 79 73 |the run-|time sys|
|000006a0| 74 65 6d 2e 0a 20 2a 2f | 0a 0a 23 69 6e 63 6c 75 |tem.. */|..#inclu|
|000006b0| 64 65 20 3c 73 74 64 69 | 6f 2e 68 3e 0a 23 69 6e |de <stdi|o.h>.#in|
|000006c0| 63 6c 75 64 65 20 22 2e | 2e 2f 68 2f 63 6f 6e 66 |clude ".|./h/conf|
|000006d0| 69 67 2e 68 22 0a 23 69 | 6e 63 6c 75 64 65 20 22 |ig.h".#i|nclude "|
|000006e0| 2e 2e 2f 68 2f 63 70 75 | 63 6f 6e 66 2e 68 22 0a |../h/cpu|conf.h".|
|000006f0| 23 69 6e 63 6c 75 64 65 | 20 22 2e 2e 2f 68 2f 6d |#include| "../h/m|
|00000700| 65 6d 73 69 7a 65 2e 68 | 22 0a 0a 2f 2a 0a 20 2a |emsize.h|"../*. *|
|00000710| 20 43 6f 6e 73 74 61 6e | 74 73 20 74 68 61 74 20 | Constan|ts that |
|00000720| 61 72 65 20 6e 6f 74 20 | 6c 69 6b 65 6c 79 20 74 |are not |likely t|
|00000730| 6f 20 76 61 72 79 20 62 | 65 74 77 65 65 6e 20 69 |o vary b|etween i|
|00000740| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 73 2e 0a |mplement|ations..|
|00000750| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 42 69 74 | */..#de|fine Bit|
|00000760| 4f 66 66 4d 61 73 6b 20 | 28 49 6e 74 42 69 74 73 |OffMask |(IntBits|
|00000770| 2d 31 29 0a 23 64 65 66 | 69 6e 65 20 43 73 65 74 |-1).#def|ine Cset|
|00000780| 53 69 7a 65 20 28 32 35 | 36 2f 49 6e 74 42 69 74 |Size (25|6/IntBit|
|00000790| 73 29 09 2f 2a 20 6e 75 | 6d 62 65 72 20 6f 66 20 |s)./* nu|mber of |
|000007a0| 69 6e 74 73 20 74 6f 20 | 68 6f 6c 64 20 32 35 36 |ints to |hold 256|
|000007b0| 20 63 73 65 74 0a 09 09 | 09 09 09 20 62 69 74 73 | cset...|... bits|
|000007c0| 2e 09 55 73 65 20 28 32 | 35 36 2f 49 6e 74 42 69 |..Use (2|56/IntBi|
|000007d0| 74 73 29 2b 31 20 69 66 | 0a 09 09 09 09 09 20 32 |ts)+1 if|...... 2|
|000007e0| 35 36 20 25 20 49 6e 74 | 42 69 74 73 20 21 3d 20 |56 % Int|Bits != |
|000007f0| 30 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 53 6c |0 */.#de|fine SSl|
|00000800| 6f 74 73 09 09 20 20 20 | 33 37 09 2f 2a 20 6e 75 |ots.. |37./* nu|
|00000810| 6d 62 65 72 20 6f 66 20 | 73 6c 6f 74 73 20 69 6e |mber of |slots in|
|00000820| 20 61 20 73 65 74 20 62 | 6c 6f 63 6b 20 2a 2f 0a | a set b|lock */.|
|00000830| 23 64 65 66 69 6e 65 20 | 54 53 6c 6f 74 73 09 09 |#define |TSlots..|
|00000840| 20 20 20 33 37 09 2f 2a | 20 6e 75 6d 62 65 72 20 | 37./*| number |
|00000850| 6f 66 20 73 6c 6f 74 73 | 20 69 6e 20 61 20 74 61 |of slots| in a ta|
|00000860| 62 6c 65 20 62 6c 6f 63 | 6b 20 2a 2f 0a 23 64 65 |ble bloc|k */.#de|
|00000870| 66 69 6e 65 20 4d 69 6e | 4c 69 73 74 53 6c 6f 74 |fine Min|ListSlot|
|00000880| 73 09 20 20 20 20 38 09 | 2f 2a 20 6e 75 6d 62 65 |s. 8.|/* numbe|
|00000890| 72 20 6f 66 20 65 6c 65 | 6d 65 6e 74 73 20 69 6e |r of ele|ments in|
|000008a0| 20 61 6e 20 65 78 70 61 | 6e 73 69 6f 6e 0a 09 09 | an expa|nsion...|
|000008b0| 09 09 20 2a 20 6c 69 73 | 74 20 65 6c 65 6d 65 6e |.. * lis|t elemen|
|000008c0| 74 20 62 6c 6f 63 6b 20 | 20 2a 2f 0a 23 64 65 66 |t block | */.#def|
|000008d0| 69 6e 65 20 4d 61 78 43 | 76 74 4c 65 6e 09 20 20 |ine MaxC|vtLen. |
|000008e0| 20 32 35 37 09 2f 2a 20 | 6c 61 72 67 65 73 74 20 | 257./* |largest |
|000008f0| 73 74 72 69 6e 67 20 69 | 6e 20 63 6f 6e 76 65 72 |string i|n conver|
|00000900| 73 69 6f 6e 73 3b 20 74 | 68 65 20 65 78 74 72 61 |sions; t|he extra|
|00000910| 0a 09 09 09 09 20 20 20 | 6f 6e 65 20 69 73 20 66 |..... |one is f|
|00000920| 6f 72 20 61 20 74 65 72 | 6d 69 6e 61 74 69 6e 67 |or a ter|minating|
|00000930| 20 6e 75 6c 6c 20 2a 2f | 0a 23 64 65 66 69 6e 65 | null */|.#define|
|00000940| 20 4d 61 78 52 65 61 64 | 53 74 72 09 20 20 32 30 | MaxRead|Str. 20|
|00000950| 34 39 09 2f 2a 20 6c 61 | 72 67 65 73 74 20 73 74 |49./* la|rgest st|
|00000960| 72 69 6e 67 20 74 6f 20 | 72 65 61 64 28 29 20 69 |ring to |read() i|
|00000970| 6e 20 6f 6e 65 20 70 69 | 65 63 65 20 2a 2f 0a 23 |n one pi|ece */.#|
|00000980| 64 65 66 69 6e 65 20 4d | 61 78 49 6e 09 09 20 20 |define M|axIn.. |
|00000990| 33 32 37 36 37 09 2f 2a | 20 6c 61 72 67 65 73 74 |32767./*| largest|
|000009a0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 62 79 74 65 73 | number |of bytes|
|000009b0| 20 74 6f 20 72 65 61 64 | 28 29 20 61 74 20 6f 6e | to read|() at on|
|000009c0| 63 65 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 52 61 |ce */.#d|efine Ra|
|000009d0| 6e 64 41 20 20 20 20 20 | 20 20 20 31 31 30 33 35 |ndA | 11035|
|000009e0| 31 35 32 34 35 09 2f 2a | 20 72 61 6e 64 6f 6d 20 |15245./*| random |
|000009f0| 73 65 65 64 20 6d 75 6c | 74 69 70 6c 69 65 72 20 |seed mul|tiplier |
|00000a00| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 52 61 6e 64 43 |*/.#defi|ne RandC|
|00000a10| 09 20 20 20 20 20 20 34 | 35 33 38 31 36 36 39 34 |. 4|53816694|
|00000a20| 09 2f 2a 20 72 61 6e 64 | 6f 6d 20 73 65 65 64 20 |./* rand|om seed |
|00000a30| 61 64 64 69 74 69 76 65 | 20 63 6f 6e 73 74 61 6e |additive| constan|
|00000a40| 74 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 52 61 6e |t */.#de|fine Ran|
|00000a50| 53 63 61 6c 65 20 34 2e | 36 35 36 36 31 32 38 36 |Scale 4.|65661286|
|00000a60| 65 2d 31 30 09 2f 2a 20 | 72 61 6e 64 6f 6d 20 73 |e-10./* |random s|
|00000a70| 63 61 6c 65 20 66 61 63 | 74 6f 72 20 3d 20 31 2f |cale fac|tor = 1/|
|00000a80| 28 32 5e 33 31 2d 31 29 | 29 20 2a 2f 0a 0a 2f 2a |(2^31-1)|) */../*|
|00000a90| 0a 20 2a 20 46 69 6c 65 | 20 73 74 61 74 75 73 20 |. * File| status |
|00000aa0| 66 6c 61 67 73 20 69 6e | 20 73 74 61 74 75 73 20 |flags in| status |
|00000ab0| 66 69 65 6c 64 20 6f 66 | 20 66 69 6c 65 20 62 6c |field of| file bl|
|00000ac0| 6f 63 6b 73 2e 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ocks.. *|/.#defin|
|00000ad0| 65 20 46 73 5f 52 65 61 | 64 09 09 20 30 31 09 2f |e Fs_Rea|d.. 01./|
|00000ae0| 2a 20 72 65 61 64 20 61 | 63 63 65 73 73 20 2a 2f |* read a|ccess */|
|00000af0| 0a 23 64 65 66 69 6e 65 | 20 46 73 5f 57 72 69 74 |.#define| Fs_Writ|
|00000b00| 65 09 20 30 32 09 2f 2a | 20 77 72 69 74 65 20 61 |e. 02./*| write a|
|00000b10| 63 63 65 73 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ccess */|.#define|
|00000b20| 20 46 73 5f 43 72 65 61 | 74 65 09 20 30 34 09 2f | Fs_Crea|te. 04./|
|00000b30| 2a 20 66 69 6c 65 20 63 | 72 65 61 74 65 64 20 6f |* file c|reated o|
|00000b40| 6e 20 6f 70 65 6e 20 2a | 2f 0a 23 64 65 66 69 6e |n open *|/.#defin|
|00000b50| 65 20 46 73 5f 41 70 70 | 65 6e 64 09 30 31 30 09 |e Fs_App|end.010.|
|00000b60| 2f 2a 20 61 70 70 65 6e | 64 20 6d 6f 64 65 20 2a |/* appen|d mode *|
|00000b70| 2f 0a 23 64 65 66 69 6e | 65 20 46 73 5f 50 69 70 |/.#defin|e Fs_Pip|
|00000b80| 65 09 09 30 32 30 09 2f | 2a 20 72 65 61 64 69 6e |e..020./|* readin|
|00000b90| 67 2f 77 72 69 74 69 6e | 67 20 6f 6e 20 61 20 70 |g/writin|g on a p|
|00000ba0| 69 70 65 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 20 44 65 |ipe */..|/*. * De|
|00000bb0| 66 69 6e 69 74 69 6f 6e | 73 20 66 6f 72 20 69 6e |finition|s for in|
|00000bc0| 74 65 72 70 72 65 74 65 | 72 20 61 63 74 69 6f 6e |terprete|r action|
|00000bd0| 73 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 41 |s.. */.#|define A|
|00000be0| 5f 46 61 69 6c 75 72 65 | 09 31 09 09 2f 2a 20 72 |_Failure|.1../* r|
|00000bf0| 6f 75 74 69 6e 65 20 66 | 61 69 6c 65 64 20 2a 2f |outine f|ailed */|
|00000c00| 0a 23 64 65 66 69 6e 65 | 20 41 5f 53 75 73 70 65 |.#define| A_Suspe|
|00000c10| 6e 73 69 6f 6e 09 32 09 | 09 2f 2a 20 72 6f 75 74 |nsion.2.|./* rout|
|00000c20| 69 6e 65 20 73 75 73 70 | 65 6e 64 65 64 20 2a 2f |ine susp|ended */|
|00000c30| 0a 23 64 65 66 69 6e 65 | 20 41 5f 52 65 74 75 72 |.#define| A_Retur|
|00000c40| 6e 09 33 09 09 2f 2a 20 | 72 6f 75 74 69 6e 65 20 |n.3../* |routine |
|00000c50| 72 65 74 75 72 6e 65 64 | 20 2a 2f 0a 23 64 65 66 |returned| */.#def|
|00000c60| 69 6e 65 20 41 5f 50 72 | 65 74 5f 75 77 09 34 09 |ine A_Pr|et_uw.4.|
|00000c70| 09 2f 2a 20 69 6e 74 65 | 72 70 20 75 6e 77 69 6e |./* inte|rp unwin|
|00000c80| 64 20 66 6f 72 20 4f 70 | 5f 50 72 65 74 20 2a 2f |d for Op|_Pret */|
|00000c90| 0a 23 64 65 66 69 6e 65 | 20 41 5f 55 6e 6d 61 72 |.#define| A_Unmar|
|00000ca0| 6b 5f 75 77 09 35 09 09 | 2f 2a 20 69 6e 74 65 72 |k_uw.5..|/* inter|
|00000cb0| 70 20 75 6e 77 69 6e 64 | 20 66 6f 72 20 4f 70 5f |p unwind| for Op_|
|00000cc0| 55 6e 6d 61 72 6b 20 2a | 2f 0a 23 64 65 66 69 6e |Unmark *|/.#defin|
|00000cd0| 65 20 41 5f 52 65 73 75 | 6d 70 74 69 6f 6e 09 36 |e A_Resu|mption.6|
|00000ce0| 09 09 2f 2a 20 72 65 73 | 75 6d 65 20 67 65 6e 65 |../* res|ume gene|
|00000cf0| 72 61 74 6f 72 20 2a 2f | 0a 23 64 65 66 69 6e 65 |rator */|.#define|
|00000d00| 20 41 5f 50 66 61 69 6c | 5f 75 77 09 37 09 09 2f | A_Pfail|_uw.7../|
|00000d10| 2a 20 69 6e 74 65 72 70 | 20 75 6e 77 69 6e 64 20 |* interp| unwind |
|00000d20| 66 6f 72 20 4f 70 5f 50 | 66 61 69 6c 20 2a 2f 0a |for Op_P|fail */.|
|00000d30| 23 64 65 66 69 6e 65 20 | 41 5f 4c 73 75 73 70 5f |#define |A_Lsusp_|
|00000d40| 75 77 09 38 09 09 2f 2a | 20 69 6e 74 65 72 70 20 |uw.8../*| interp |
|00000d50| 75 6e 77 69 6e 64 20 66 | 6f 72 20 4f 70 5f 4c 73 |unwind f|or Op_Ls|
|00000d60| 75 73 70 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 41 |usp */.#|define A|
|00000d70| 5f 45 72 65 74 5f 75 77 | 09 39 09 09 2f 2a 20 69 |_Eret_uw|.9../* i|
|00000d80| 6e 74 65 72 70 20 75 6e | 77 69 6e 64 20 66 6f 72 |nterp un|wind for|
|00000d90| 20 4f 70 5f 45 72 65 74 | 20 2a 2f 0a 23 64 65 66 | Op_Eret| */.#def|
|00000da0| 69 6e 65 20 41 5f 43 6f | 61 63 74 09 09 31 30 09 |ine A_Co|act..10.|
|00000db0| 09 2f 2a 20 63 6f 2d 65 | 78 70 72 65 73 73 69 6f |./* co-e|xpressio|
|00000dc0| 6e 20 61 63 74 69 76 61 | 74 65 64 20 2a 2f 0a 23 |n activa|ted */.#|
|00000dd0| 64 65 66 69 6e 65 20 41 | 5f 43 6f 72 65 74 09 09 |define A|_Coret..|
|00000de0| 31 31 09 09 2f 2a 20 63 | 6f 2d 65 78 70 72 65 73 |11../* c|o-expres|
|00000df0| 73 69 6f 6e 20 72 65 74 | 75 72 6e 65 64 20 2a 2f |sion ret|urned */|
|00000e00| 0a 23 64 65 66 69 6e 65 | 20 41 5f 43 6f 66 61 69 |.#define| A_Cofai|
|00000e10| 6c 09 31 32 09 09 2f 2a | 20 63 6f 2d 65 78 70 72 |l.12../*| co-expr|
|00000e20| 65 73 73 69 6f 6e 20 66 | 61 69 6c 65 64 20 2a 2f |ession f|ailed */|
|00000e30| 0a 0a 2f 2a 0a 20 2a 20 | 43 6f 64 65 73 20 72 65 |../*. * |Codes re|
|00000e40| 74 75 72 6e 65 64 20 62 | 79 20 69 6e 76 6f 6b 65 |turned b|y invoke|
|00000e50| 20 74 6f 20 69 6e 64 69 | 63 61 74 65 20 61 63 74 | to indi|cate act|
|00000e60| 69 6f 6e 2e 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ion.. */|.#define|
|00000e70| 20 49 5f 42 75 69 6c 74 | 69 6e 09 32 30 31 09 2f | I_Built|in.201./|
|00000e80| 2a 20 41 20 62 75 69 6c | 74 2d 69 6e 20 72 6f 75 |* A buil|t-in rou|
|00000e90| 74 69 6e 65 20 69 73 20 | 74 6f 20 62 65 20 69 6e |tine is |to be in|
|00000ea0| 76 6f 6b 65 64 20 2a 2f | 0a 23 64 65 66 69 6e 65 |voked */|.#define|
|00000eb0| 20 49 5f 46 61 69 6c 09 | 09 32 30 32 09 2f 2a 20 | I_Fail.|.202./* |
|00000ec0| 67 6f 61 6c 2d 64 69 72 | 65 63 74 65 64 20 65 76 |goal-dir|ected ev|
|00000ed0| 61 6c 75 61 74 69 6f 6e | 20 66 61 69 6c 65 64 20 |aluation| failed |
|00000ee0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 49 5f 43 6f 6e |*/.#defi|ne I_Con|
|00000ef0| 74 69 6e 75 65 09 32 30 | 33 09 2f 2a 20 43 6f 6e |tinue.20|3./* Con|
|00000f00| 74 69 6e 75 65 20 65 78 | 65 63 75 74 69 6f 6e 20 |tinue ex|ecution |
|00000f10| 69 6e 20 74 68 65 20 69 | 6e 74 65 72 70 20 6c 6f |in the i|nterp lo|
|00000f20| 6f 70 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 49 5f |op */.#d|efine I_|
|00000f30| 56 61 72 61 72 67 09 32 | 30 34 09 2f 2a 20 41 20 |Vararg.2|04./* A |
|00000f40| 66 75 6e 63 74 69 6f 6e | 20 77 69 74 68 20 61 20 |function| with a |
|00000f50| 76 61 72 69 61 62 6c 65 | 20 6e 75 6d 62 65 72 20 |variable| number |
|00000f60| 6f 66 20 61 72 67 73 20 | 2a 2f 0a 0a 2f 2a 0a 20 |of args |*/../*. |
|00000f70| 2a 20 43 6f 64 65 73 20 | 72 65 74 75 72 6e 65 64 |* Codes |returned|
|00000f80| 20 62 79 20 72 75 6e 74 | 69 6d 65 20 73 75 70 70 | by runt|ime supp|
|00000f90| 6f 72 74 20 72 6f 75 74 | 69 6e 65 73 2e 0a 20 2a |ort rout|ines.. *|
|00000fa0| 20 20 4e 6f 74 65 2c 20 | 73 6f 6d 65 20 63 6f 6e | Note, |some con|
|00000fb0| 76 65 72 73 69 6f 6e 20 | 72 6f 75 74 69 6e 65 73 |version |routines|
|00000fc0| 20 61 6c 73 6f 20 72 65 | 74 75 72 6e 20 74 79 70 | also re|turn typ|
|00000fd0| 65 20 63 6f 64 65 73 2e | 20 4f 74 68 65 72 20 72 |e codes.| Other r|
|00000fe0| 6f 75 74 69 6e 65 73 20 | 6d 61 79 0a 20 2a 20 20 |outines |may. * |
|00000ff0| 72 65 74 75 72 6e 20 70 | 6f 73 69 74 69 76 65 20 |return p|ositive |
|00001000| 76 61 6c 75 65 73 20 6f | 74 68 65 72 20 74 68 61 |values o|ther tha|
|00001010| 6e 20 72 65 74 75 72 6e | 20 63 6f 64 65 73 2e 20 |n return| codes. |
|00001020| 73 6f 72 74 28 29 20 70 | 6c 61 63 65 73 20 72 65 |sort() p|laces re|
|00001030| 73 74 72 69 63 74 69 6f | 6e 73 0a 20 2a 20 20 6f |strictio|ns. * o|
|00001040| 6e 20 4c 65 73 73 2c 20 | 45 71 75 61 6c 2c 20 61 |n Less, |Equal, a|
|00001050| 6e 64 20 47 72 65 61 74 | 65 72 2e 0a 20 2a 2f 0a |nd Great|er.. */.|
|00001060| 23 64 65 66 69 6e 65 20 | 4c 65 73 73 09 09 2d 31 |#define |Less..-1|
|00001070| 0a 23 64 65 66 69 6e 65 | 20 45 71 75 61 6c 09 09 |.#define| Equal..|
|00001080| 30 0a 23 64 65 66 69 6e | 65 20 47 72 65 61 74 65 |0.#defin|e Greate|
|00001090| 72 09 09 31 0a 23 64 65 | 66 69 6e 65 20 43 76 74 |r..1.#de|fine Cvt|
|000010a0| 46 61 69 6c 09 09 2d 32 | 0a 23 64 65 66 69 6e 65 |Fail..-2|.#define|
|000010b0| 20 43 76 74 09 09 2d 33 | 0a 23 64 65 66 69 6e 65 | Cvt..-3|.#define|
|000010c0| 20 4e 6f 43 76 74 09 09 | 2d 34 0a 23 64 65 66 69 | NoCvt..|-4.#defi|
|000010d0| 6e 65 20 46 61 69 6c 75 | 72 65 09 09 2d 35 0a 23 |ne Failu|re..-5.#|
|000010e0| 64 65 66 69 6e 65 20 44 | 65 66 61 75 6c 74 65 64 |define D|efaulted|
|000010f0| 09 2d 36 0a 23 64 65 66 | 69 6e 65 20 53 75 63 63 |.-6.#def|ine Succ|
|00001100| 65 73 73 09 09 2d 37 0a | 23 64 65 66 69 6e 65 20 |ess..-7.|#define |
|00001110| 45 72 72 6f 72 09 09 2d | 38 0a 0a 2f 2a 0a 20 2a |Error..-|8../*. *|
|00001120| 20 47 65 6e 65 72 61 74 | 6f 72 20 74 79 70 65 73 | Generat|or types|
|00001130| 2e 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 47 5f |.. */.#d|efine G_|
|00001140| 43 73 75 73 70 09 09 31 | 0a 23 64 65 66 69 6e 65 |Csusp..1|.#define|
|00001150| 20 47 5f 45 73 75 73 70 | 09 09 32 0a 23 64 65 66 | G_Esusp|..2.#def|
|00001160| 69 6e 65 20 47 5f 50 73 | 75 73 70 09 09 33 0a 0a |ine G_Ps|usp..3..|
|00001170| 2f 2a 0a 20 2a 20 54 79 | 70 65 20 63 6f 64 65 73 |/*. * Ty|pe codes|
|00001180| 20 28 64 65 73 63 72 69 | 70 74 6f 72 73 20 61 6e | (descri|ptors an|
|00001190| 64 20 62 6c 6f 63 6b 73 | 29 2e 0a 20 2a 2f 0a 23 |d blocks|).. */.#|
|000011a0| 64 65 66 69 6e 65 20 54 | 5f 4e 75 6c 6c 09 09 20 |define T|_Null.. |
|000011b0| 30 09 2f 2a 20 6e 75 6c | 6c 20 76 61 6c 75 65 20 |0./* nul|l value |
|000011c0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 5f 49 6e 74 |*/.#defi|ne T_Int|
|000011d0| 65 67 65 72 09 20 31 09 | 2f 2a 20 69 6e 74 65 67 |eger. 1.|/* integ|
|000011e0| 65 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f |er */.#d|efine T_|
|000011f0| 42 69 67 6e 75 6d 09 20 | 32 09 2f 2a 20 6c 6f 6e |Bignum. |2./* lon|
|00001200| 67 20 69 6e 74 65 67 65 | 72 20 2a 2f 0a 23 64 65 |g intege|r */.#de|
|00001210| 66 69 6e 65 20 54 5f 52 | 65 61 6c 09 09 20 33 09 |fine T_R|eal.. 3.|
|00001220| 2f 2a 20 72 65 61 6c 20 | 6e 75 6d 62 65 72 20 2a |/* real |number *|
|00001230| 2f 0a 23 64 65 66 69 6e | 65 20 54 5f 43 73 65 74 |/.#defin|e T_Cset|
|00001240| 09 09 20 34 09 2f 2a 20 | 63 73 65 74 20 2a 2f 0a |.. 4./* |cset */.|
|00001250| 23 64 65 66 69 6e 65 20 | 54 5f 46 69 6c 65 09 09 |#define |T_File..|
|00001260| 20 35 09 2f 2a 20 66 69 | 6c 65 20 2a 2f 0a 23 64 | 5./* fi|le */.#d|
|00001270| 65 66 69 6e 65 20 54 5f | 50 72 6f 63 09 09 20 36 |efine T_|Proc.. 6|
|00001280| 09 2f 2a 20 70 72 6f 63 | 65 64 75 72 65 20 2a 2f |./* proc|edure */|
|00001290| 0a 23 64 65 66 69 6e 65 | 20 54 5f 4c 69 73 74 09 |.#define| T_List.|
|000012a0| 09 20 37 09 2f 2a 20 6c | 69 73 74 20 68 65 61 64 |. 7./* l|ist head|
|000012b0| 65 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f |er */.#d|efine T_|
|000012c0| 54 61 62 6c 65 09 09 20 | 38 09 2f 2a 20 74 61 62 |Table.. |8./* tab|
|000012d0| 6c 65 20 68 65 61 64 65 | 72 20 2a 2f 0a 23 64 65 |le heade|r */.#de|
|000012e0| 66 69 6e 65 20 54 5f 52 | 65 63 6f 72 64 09 20 39 |fine T_R|ecord. 9|
|000012f0| 09 2f 2a 20 72 65 63 6f | 72 64 20 2a 2f 0a 23 64 |./* reco|rd */.#d|
|00001300| 65 66 69 6e 65 20 54 5f | 54 65 6c 65 6d 09 09 31 |efine T_|Telem..1|
|00001310| 30 09 2f 2a 20 74 61 62 | 6c 65 20 65 6c 65 6d 65 |0./* tab|le eleme|
|00001320| 6e 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f |nt */.#d|efine T_|
|00001330| 4c 65 6c 65 6d 09 09 31 | 31 09 2f 2a 20 6c 69 73 |Lelem..1|1./* lis|
|00001340| 74 20 65 6c 65 6d 65 6e | 74 20 2a 2f 0a 23 64 65 |t elemen|t */.#de|
|00001350| 66 69 6e 65 20 54 5f 54 | 76 73 75 62 73 09 31 32 |fine T_T|vsubs.12|
|00001360| 09 2f 2a 20 73 75 62 73 | 74 72 69 6e 67 20 74 72 |./* subs|tring tr|
|00001370| 61 70 70 65 64 20 76 61 | 72 69 61 62 6c 65 20 2a |apped va|riable *|
|00001380| 2f 0a 23 64 65 66 69 6e | 65 20 54 5f 54 76 6b 79 |/.#defin|e T_Tvky|
|00001390| 77 64 09 31 33 09 2f 2a | 20 6b 65 79 77 6f 72 64 |wd.13./*| keyword|
|000013a0| 20 74 72 61 70 70 65 64 | 20 76 61 72 69 61 62 6c | trapped| variabl|
|000013b0| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 5f 54 |e */.#de|fine T_T|
|000013c0| 76 74 62 6c 09 09 31 34 | 09 2f 2a 20 74 61 62 6c |vtbl..14|./* tabl|
|000013d0| 65 20 65 6c 65 6d 65 6e | 74 20 74 72 61 70 70 65 |e elemen|t trappe|
|000013e0| 64 20 76 61 72 69 61 62 | 6c 65 20 2a 2f 0a 23 64 |d variab|le */.#d|
|000013f0| 65 66 69 6e 65 20 54 5f | 53 65 74 09 09 31 35 09 |efine T_|Set..15.|
|00001400| 2f 2a 20 73 65 74 20 68 | 65 61 64 65 72 20 2a 2f |/* set h|eader */|
|00001410| 0a 23 64 65 66 69 6e 65 | 20 54 5f 53 65 6c 65 6d |.#define| T_Selem|
|00001420| 09 09 31 36 09 2f 2a 20 | 73 65 74 20 65 6c 65 6d |..16./* |set elem|
|00001430| 65 6e 74 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |ent */.#|define T|
|00001440| 5f 52 65 66 72 65 73 68 | 09 31 37 09 2f 2a 20 72 |_Refresh|.17./* r|
|00001450| 65 66 72 65 73 68 20 62 | 6c 6f 63 6b 20 2a 2f 0a |efresh b|lock */.|
|00001460| 23 64 65 66 69 6e 65 20 | 54 5f 43 6f 65 78 70 72 |#define |T_Coexpr|
|00001470| 09 31 38 09 2f 2a 20 63 | 6f 2d 65 78 70 72 65 73 |.18./* c|o-expres|
|00001480| 73 69 6f 6e 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |sion */.|#define |
|00001490| 54 5f 45 78 74 65 72 6e | 61 6c 09 31 39 09 2f 2a |T_Extern|al.19./*|
|000014a0| 20 65 78 74 65 72 6e 61 | 6c 20 62 6c 6f 63 6b 20 | externa|l block |
|000014b0| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 20 4d 61 78 54 |*/..#def|ine MaxT|
|000014c0| 79 70 65 09 09 31 39 09 | 2f 2a 20 6d 61 78 69 6d |ype..19.|/* maxim|
|000014d0| 75 6d 20 74 79 70 65 20 | 6e 75 6d 62 65 72 20 2a |um type |number *|
|000014e0| 2f 0a 0a 2f 2a 0a 20 2a | 20 44 65 73 63 72 69 70 |/../*. *| Descrip|
|000014f0| 74 6f 72 20 74 79 70 65 | 73 20 61 6e 64 20 66 6c |tor type|s and fl|
|00001500| 61 67 73 2e 0a 20 2a 2f | 0a 0a 23 64 65 66 69 6e |ags.. */|..#defin|
|00001510| 65 20 44 5f 4e 75 6c 6c | 09 09 28 54 5f 4e 75 6c |e D_Null|..(T_Nul|
|00001520| 6c 20 7c 20 46 5f 4e 71 | 75 61 6c 29 0a 23 64 65 |l | F_Nq|ual).#de|
|00001530| 66 69 6e 65 20 44 5f 49 | 6e 74 65 67 65 72 09 28 |fine D_I|nteger.(|
|00001540| 54 5f 49 6e 74 65 67 65 | 72 20 7c 20 46 5f 4e 71 |T_Intege|r | F_Nq|
|00001550| 75 61 6c 29 0a 23 64 65 | 66 69 6e 65 20 44 5f 42 |ual).#de|fine D_B|
|00001560| 69 67 6e 75 6d 09 28 54 | 5f 42 69 67 6e 75 6d 20 |ignum.(T|_Bignum |
|00001570| 7c 20 46 5f 50 74 72 20 | 7c 20 46 5f 4e 71 75 61 || F_Ptr || F_Nqua|
|00001580| 6c 29 0a 23 64 65 66 69 | 6e 65 20 44 5f 52 65 61 |l).#defi|ne D_Rea|
|00001590| 6c 09 09 28 54 5f 52 65 | 61 6c 20 7c 20 46 5f 50 |l..(T_Re|al | F_P|
|000015a0| 74 72 20 7c 20 46 5f 4e | 71 75 61 6c 29 0a 23 64 |tr | F_N|qual).#d|
|000015b0| 65 66 69 6e 65 20 44 5f | 43 73 65 74 09 09 28 54 |efine D_|Cset..(T|
|000015c0| 5f 43 73 65 74 20 7c 20 | 46 5f 50 74 72 20 7c 20 |_Cset | |F_Ptr | |
|000015d0| 46 5f 4e 71 75 61 6c 29 | 0a 23 64 65 66 69 6e 65 |F_Nqual)|.#define|
|000015e0| 20 44 5f 46 69 6c 65 09 | 09 28 54 5f 46 69 6c 65 | D_File.|.(T_File|
|000015f0| 20 7c 20 46 5f 50 74 72 | 20 7c 20 46 5f 4e 71 75 | | F_Ptr| | F_Nqu|
|00001600| 61 6c 29 0a 23 64 65 66 | 69 6e 65 20 44 5f 50 72 |al).#def|ine D_Pr|
|00001610| 6f 63 09 09 28 54 5f 50 | 72 6f 63 20 7c 20 46 5f |oc..(T_P|roc | F_|
|00001620| 50 74 72 20 7c 20 46 5f | 4e 71 75 61 6c 29 0a 23 |Ptr | F_|Nqual).#|
|00001630| 64 65 66 69 6e 65 20 44 | 5f 4c 69 73 74 09 09 28 |define D|_List..(|
|00001640| 54 5f 4c 69 73 74 20 7c | 20 46 5f 50 74 72 20 7c |T_List || F_Ptr ||
|00001650| 20 46 5f 4e 71 75 61 6c | 29 0a 23 64 65 66 69 6e | F_Nqual|).#defin|
|00001660| 65 20 44 5f 54 61 62 6c | 65 09 09 28 54 5f 54 61 |e D_Tabl|e..(T_Ta|
|00001670| 62 6c 65 20 7c 20 46 5f | 50 74 72 20 7c 20 46 5f |ble | F_|Ptr | F_|
|00001680| 4e 71 75 61 6c 29 0a 23 | 64 65 66 69 6e 65 20 44 |Nqual).#|define D|
|00001690| 5f 53 65 74 09 09 28 54 | 5f 53 65 74 20 7c 20 46 |_Set..(T|_Set | F|
|000016a0| 5f 50 74 72 20 7c 20 46 | 5f 4e 71 75 61 6c 29 0a |_Ptr | F|_Nqual).|
|000016b0| 23 64 65 66 69 6e 65 20 | 44 5f 53 65 6c 65 6d 09 |#define |D_Selem.|
|000016c0| 09 28 54 5f 53 65 6c 65 | 6d 20 7c 20 46 5f 50 74 |.(T_Sele|m | F_Pt|
|000016d0| 72 20 7c 20 46 5f 4e 71 | 75 61 6c 29 0a 23 64 65 |r | F_Nq|ual).#de|
|000016e0| 66 69 6e 65 20 44 5f 52 | 65 63 6f 72 64 09 28 54 |fine D_R|ecord.(T|
|000016f0| 5f 52 65 63 6f 72 64 20 | 7c 20 46 5f 50 74 72 20 |_Record || F_Ptr |
|00001700| 7c 20 46 5f 4e 71 75 61 | 6c 29 0a 23 64 65 66 69 || F_Nqua|l).#defi|
|00001710| 6e 65 20 44 5f 54 65 6c | 65 6d 09 09 28 54 5f 54 |ne D_Tel|em..(T_T|
|00001720| 65 6c 65 6d 20 7c 20 46 | 5f 50 74 72 20 7c 20 46 |elem | F|_Ptr | F|
|00001730| 5f 4e 71 75 61 6c 29 0a | 23 64 65 66 69 6e 65 20 |_Nqual).|#define |
|00001740| 44 5f 4c 65 6c 65 6d 09 | 09 28 54 5f 4c 65 6c 65 |D_Lelem.|.(T_Lele|
|00001750| 6d 20 7c 20 46 5f 50 74 | 72 20 7c 20 46 5f 4e 71 |m | F_Pt|r | F_Nq|
|00001760| 75 61 6c 29 0a 23 64 65 | 66 69 6e 65 20 44 5f 54 |ual).#de|fine D_T|
|00001770| 76 73 75 62 73 09 28 54 | 5f 54 76 73 75 62 73 20 |vsubs.(T|_Tvsubs |
|00001780| 7c 20 44 5f 54 76 61 72 | 29 0a 23 64 65 66 69 6e || D_Tvar|).#defin|
|00001790| 65 20 44 5f 54 76 74 62 | 6c 09 09 28 54 5f 54 76 |e D_Tvtb|l..(T_Tv|
|000017a0| 74 62 6c 20 7c 20 44 5f | 54 76 61 72 29 0a 23 64 |tbl | D_|Tvar).#d|
|000017b0| 65 66 69 6e 65 20 44 5f | 54 76 6b 79 77 64 09 28 |efine D_|Tvkywd.(|
|000017c0| 54 5f 54 76 6b 79 77 64 | 20 7c 20 44 5f 54 76 61 |T_Tvkywd| | D_Tva|
|000017d0| 72 29 0a 23 64 65 66 69 | 6e 65 20 44 5f 52 65 66 |r).#defi|ne D_Ref|
|000017e0| 72 65 73 68 09 28 54 5f | 52 65 66 72 65 73 68 20 |resh.(T_|Refresh |
|000017f0| 7c 20 46 5f 50 74 72 20 | 7c 20 46 5f 4e 71 75 61 || F_Ptr || F_Nqua|
|00001800| 6c 29 0a 23 64 65 66 69 | 6e 65 20 44 5f 43 6f 65 |l).#defi|ne D_Coe|
|00001810| 78 70 72 09 28 54 5f 43 | 6f 65 78 70 72 20 7c 20 |xpr.(T_C|oexpr | |
|00001820| 46 5f 50 74 72 20 7c 20 | 46 5f 4e 71 75 61 6c 29 |F_Ptr | |F_Nqual)|
|00001830| 0a 23 64 65 66 69 6e 65 | 20 44 5f 45 78 74 65 72 |.#define| D_Exter|
|00001840| 6e 61 6c 09 28 54 5f 45 | 78 74 65 72 6e 61 6c 20 |nal.(T_E|xternal |
|00001850| 7c 20 46 5f 50 74 72 20 | 7c 20 46 5f 4e 71 75 61 || F_Ptr || F_Nqua|
|00001860| 6c 29 0a 0a 23 64 65 66 | 69 6e 65 20 44 5f 56 61 |l)..#def|ine D_Va|
|00001870| 72 09 09 28 46 5f 56 61 | 72 20 7c 20 46 5f 4e 71 |r..(F_Va|r | F_Nq|
|00001880| 75 61 6c 20 7c 20 46 5f | 50 74 72 29 0a 23 64 65 |ual | F_|Ptr).#de|
|00001890| 66 69 6e 65 20 44 5f 54 | 76 61 72 09 09 28 44 5f |fine D_T|var..(D_|
|000018a0| 56 61 72 20 7c 20 46 5f | 54 76 61 72 29 0a 0a 23 |Var | F_|Tvar)..#|
|000018b0| 64 65 66 69 6e 65 20 54 | 79 70 65 4d 61 73 6b 09 |define T|ypeMask.|
|000018c0| 36 33 09 2f 2a 20 74 79 | 70 65 20 6d 61 73 6b 20 |63./* ty|pe mask |
|000018d0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4f 66 66 73 65 |*/.#defi|ne Offse|
|000018e0| 74 4d 61 73 6b 09 28 7e | 28 44 5f 54 76 61 72 29 |tMask.(~|(D_Tvar)|
|000018f0| 29 20 2f 2a 20 6f 66 66 | 73 65 74 20 6d 61 73 6b |) /* off|set mask|
|00001900| 20 66 6f 72 20 76 61 72 | 69 61 62 6c 65 73 20 2a | for var|iables *|
|00001910| 2f 0a 0c 0a 2f 2a 0a 20 | 2a 20 52 75 6e 2d 74 69 |/.../*. |* Run-ti|
|00001920| 6d 65 20 64 61 74 61 20 | 73 74 72 75 63 74 75 72 |me data |structur|
|00001930| 65 73 2e 0a 20 2a 2f 0a | 0a 74 79 70 65 64 65 66 |es.. */.|.typedef|
|00001940| 20 75 6e 69 6f 6e 20 7b | 0a 20 20 20 69 6e 74 20 | union {|. int |
|00001950| 2a 6f 70 3b 0a 20 20 20 | 77 6f 72 64 20 2a 6f 70 |*op;. |word *op|
|00001960| 6e 64 3b 0a 20 20 20 7d | 20 69 6e 73 74 3b 0a 0a |nd;. }| inst;..|
|00001970| 75 6e 69 6f 6e 20 6e 75 | 6d 65 72 69 63 20 7b 09 |union nu|meric {.|
|00001980| 09 09 2f 2a 20 6c 6f 6e | 67 20 69 6e 74 65 67 65 |../* lon|g intege|
|00001990| 72 73 20 6f 72 20 72 65 | 61 6c 20 6e 75 6d 62 65 |rs or re|al numbe|
|000019a0| 72 73 20 2a 2f 0a 20 20 | 20 6c 6f 6e 67 20 69 6e |rs */. | long in|
|000019b0| 74 65 67 65 72 3b 0a 20 | 20 20 64 6f 75 62 6c 65 |teger;. | double|
|000019c0| 20 72 65 61 6c 3b 0a 20 | 20 20 73 74 72 75 63 74 | real;. | struct|
|000019d0| 20 62 5f 62 69 67 6e 75 | 6d 20 2a 62 70 74 72 3b | b_bignu|m *bptr;|
|000019e0| 0a 20 20 20 7d 3b 0a 0a | 2f 2a 0a 20 2a 20 44 65 |. };..|/*. * De|
|000019f0| 73 63 72 69 70 74 6f 72 | 0a 20 2a 2f 0a 0a 73 74 |scriptor|. */..st|
|00001a00| 72 75 63 74 20 64 65 73 | 63 72 69 70 20 7b 09 09 |ruct des|crip {..|
|00001a10| 2f 2a 20 64 65 73 63 72 | 69 70 74 6f 72 20 2a 2f |/* descr|iptor */|
|00001a20| 0a 20 20 20 77 6f 72 64 | 20 64 77 6f 72 64 3b 09 |. word| dword;.|
|00001a30| 09 09 2f 2a 20 20 20 74 | 79 70 65 20 66 69 65 6c |../* t|ype fiel|
|00001a40| 64 20 2a 2f 0a 20 20 20 | 75 6e 69 6f 6e 20 7b 0a |d */. |union {.|
|00001a50| 20 20 20 20 20 20 77 6f | 72 64 20 69 6e 74 65 67 | wo|rd integ|
|00001a60| 72 3b 09 09 2f 2a 09 20 | 69 6e 74 65 67 65 72 20 |r;../*. |integer |
|00001a70| 76 61 6c 75 65 20 2a 2f | 0a 20 20 20 20 20 20 63 |value */|. c|
|00001a80| 68 61 72 20 2a 73 70 74 | 72 3b 09 09 2f 2a 09 70 |har *spt|r;../*.p|
|00001a90| 6f 69 6e 74 65 72 20 74 | 6f 20 63 68 61 72 61 63 |ointer t|o charac|
|00001aa0| 74 65 72 20 73 74 72 69 | 6e 67 20 2a 2f 0a 20 20 |ter stri|ng */. |
|00001ab0| 20 20 20 20 75 6e 69 6f | 6e 20 62 6c 6f 63 6b 20 | unio|n block |
|00001ac0| 2a 62 70 74 72 3b 09 2f | 2a 20 20 20 70 6f 69 6e |*bptr;./|* poin|
|00001ad0| 74 65 72 20 74 6f 20 61 | 20 62 6c 6f 63 6b 20 2a |ter to a| block *|
|00001ae0| 2f 0a 20 20 20 20 20 20 | 73 74 72 75 63 74 20 64 |/. |struct d|
|00001af0| 65 73 63 72 69 70 20 2a | 64 70 74 72 3b 09 2f 2a |escrip *|dptr;./*|
|00001b00| 09 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 61 20 64 |. pointe|r to a d|
|00001b10| 65 73 63 72 69 70 74 6f | 72 20 2a 2f 0a 20 20 20 |escripto|r */. |
|00001b20| 20 20 20 7d 20 76 77 6f | 72 64 3b 0a 20 20 20 7d | } vwo|rd;. }|
|00001b30| 3b 0a 0a 73 74 72 75 63 | 74 20 73 64 65 73 63 72 |;..struc|t sdescr|
|00001b40| 69 70 20 7b 0a 20 20 20 | 77 6f 72 64 20 6c 65 6e |ip {. |word len|
|00001b50| 67 74 68 3b 09 09 09 2f | 2a 20 20 20 6c 65 6e 67 |gth;.../|* leng|
|00001b60| 74 68 20 6f 66 20 73 74 | 72 69 6e 67 20 2a 2f 0a |th of st|ring */.|
|00001b70| 20 20 20 63 68 61 72 20 | 2a 73 74 72 69 6e 67 3b | char |*string;|
|00001b80| 09 09 2f 2a 20 20 20 70 | 6f 69 6e 74 65 72 20 74 |../* p|ointer t|
|00001b90| 6f 20 73 74 72 69 6e 67 | 20 2a 2f 0a 20 20 20 7d |o string| */. }|
|00001ba0| 3b 0a 0a 2f 2a 0a 20 2a | 20 46 72 61 6d 65 20 6d |;../*. *| Frame m|
|00001bb0| 61 72 6b 65 72 73 0a 20 | 2a 2f 0a 73 74 72 75 63 |arkers. |*/.struc|
|00001bc0| 74 20 65 66 5f 6d 61 72 | 6b 65 72 20 7b 09 09 2f |t ef_mar|ker {../|
|00001bd0| 2a 20 65 78 70 72 65 73 | 73 69 6f 6e 20 66 72 61 |* expres|sion fra|
|00001be0| 6d 65 20 6d 61 72 6b 65 | 72 20 2a 2f 0a 20 20 20 |me marke|r */. |
|00001bf0| 69 6e 73 74 20 65 66 5f | 66 61 69 6c 75 72 65 3b |inst ef_|failure;|
|00001c00| 09 09 2f 2a 20 20 20 66 | 61 69 6c 75 72 65 20 69 |../* f|ailure i|
|00001c10| 70 63 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |pc */. | struct |
|00001c20| 65 66 5f 6d 61 72 6b 65 | 72 20 2a 65 66 5f 65 66 |ef_marke|r *ef_ef|
|00001c30| 70 3b 09 2f 2a 20 20 20 | 65 66 70 20 2a 2f 0a 20 |p;./* |efp */. |
|00001c40| 20 20 73 74 72 75 63 74 | 20 67 66 5f 6d 61 72 6b | struct| gf_mark|
|00001c50| 65 72 20 2a 65 66 5f 67 | 66 70 3b 09 2f 2a 20 20 |er *ef_g|fp;./* |
|00001c60| 20 67 66 70 20 2a 2f 0a | 20 20 20 77 6f 72 64 20 | gfp */.| word |
|00001c70| 65 66 5f 69 6c 65 76 65 | 6c 3b 09 09 2f 2a 09 20 |ef_ileve|l;../*. |
|00001c80| 69 6c 65 76 65 6c 20 2a | 2f 0a 20 20 20 7d 3b 0a |ilevel *|/. };.|
|00001c90| 0a 73 74 72 75 63 74 20 | 70 66 5f 6d 61 72 6b 65 |.struct |pf_marke|
|00001ca0| 72 20 7b 09 09 2f 2a 20 | 70 72 6f 63 65 64 75 72 |r {../* |procedur|
|00001cb0| 65 20 66 72 61 6d 65 20 | 6d 61 72 6b 65 72 20 2a |e frame |marker *|
|00001cc0| 2f 0a 20 20 20 77 6f 72 | 64 20 70 66 5f 6e 61 72 |/. wor|d pf_nar|
|00001cd0| 67 73 3b 09 09 2f 2a 09 | 6e 75 6d 62 65 72 20 6f |gs;../*.|number o|
|00001ce0| 66 20 61 72 67 75 6d 65 | 6e 74 73 20 2a 2f 0a 20 |f argume|nts */. |
|00001cf0| 20 20 73 74 72 75 63 74 | 20 70 66 5f 6d 61 72 6b | struct| pf_mark|
|00001d00| 65 72 20 2a 70 66 5f 70 | 66 70 3b 09 2f 2a 20 20 |er *pf_p|fp;./* |
|00001d10| 20 73 61 76 65 64 20 70 | 66 70 20 2a 2f 0a 20 20 | saved p|fp */. |
|00001d20| 20 73 74 72 75 63 74 20 | 65 66 5f 6d 61 72 6b 65 | struct |ef_marke|
|00001d30| 72 20 2a 70 66 5f 65 66 | 70 3b 09 2f 2a 20 20 20 |r *pf_ef|p;./* |
|00001d40| 73 61 76 65 64 20 65 66 | 70 20 2a 2f 0a 20 20 20 |saved ef|p */. |
|00001d50| 73 74 72 75 63 74 20 67 | 66 5f 6d 61 72 6b 65 72 |struct g|f_marker|
|00001d60| 20 2a 70 66 5f 67 66 70 | 3b 09 2f 2a 20 20 20 73 | *pf_gfp|;./* s|
|00001d70| 61 76 65 64 20 67 66 70 | 20 2a 2f 0a 20 20 20 73 |aved gfp| */. s|
|00001d80| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 2a 70 |truct de|scrip *p|
|00001d90| 66 5f 61 72 67 70 3b 09 | 2f 2a 09 20 73 61 76 65 |f_argp;.|/*. save|
|00001da0| 64 20 61 72 67 70 20 2a | 2f 0a 20 20 20 69 6e 73 |d argp *|/. ins|
|00001db0| 74 20 70 66 5f 69 70 63 | 3b 09 09 09 2f 2a 20 20 |t pf_ipc|;.../* |
|00001dc0| 20 73 61 76 65 64 20 69 | 70 63 20 2a 2f 0a 20 20 | saved i|pc */. |
|00001dd0| 20 77 6f 72 64 20 70 66 | 5f 69 6c 65 76 65 6c 3b | word pf|_ilevel;|
|00001de0| 09 09 2f 2a 09 20 73 61 | 76 65 64 20 69 6c 65 76 |../*. sa|ved ilev|
|00001df0| 65 6c 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |el */. | struct |
|00001e00| 64 65 73 63 72 69 70 20 | 2a 70 66 5f 73 63 61 6e |descrip |*pf_scan|
|00001e10| 3b 09 2f 2a 20 20 20 73 | 61 76 65 64 20 73 63 61 |;./* s|aved sca|
|00001e20| 6e 6e 69 6e 67 20 65 6e | 76 69 72 6f 6e 6d 65 6e |nning en|vironmen|
|00001e30| 74 20 2a 2f 0a 20 20 20 | 73 74 72 75 63 74 20 64 |t */. |struct d|
|00001e40| 65 73 63 72 69 70 20 70 | 66 5f 6c 6f 63 61 6c 73 |escrip p|f_locals|
|00001e50| 5b 31 5d 3b 09 2f 2a 20 | 20 20 64 65 73 63 72 69 |[1];./* | descri|
|00001e60| 70 74 6f 72 73 20 66 6f | 72 20 6c 6f 63 61 6c 73 |ptors fo|r locals|
|00001e70| 20 2a 2f 0a 20 20 20 7d | 3b 0a 0a 73 74 72 75 63 | */. }|;..struc|
|00001e80| 74 20 67 66 5f 6d 61 72 | 6b 65 72 20 7b 09 09 2f |t gf_mar|ker {../|
|00001e90| 2a 20 67 65 6e 65 72 61 | 74 6f 72 20 66 72 61 6d |* genera|tor fram|
|00001ea0| 65 20 6d 61 72 6b 65 72 | 20 2a 2f 0a 20 20 20 77 |e marker| */. w|
|00001eb0| 6f 72 64 20 67 66 5f 67 | 65 6e 74 79 70 65 3b 09 |ord gf_g|entype;.|
|00001ec0| 09 2f 2a 20 20 20 74 79 | 70 65 20 2a 2f 0a 20 20 |./* ty|pe */. |
|00001ed0| 20 73 74 72 75 63 74 20 | 65 66 5f 6d 61 72 6b 65 | struct |ef_marke|
|00001ee0| 72 20 2a 67 66 5f 65 66 | 70 3b 09 2f 2a 20 20 20 |r *gf_ef|p;./* |
|00001ef0| 65 66 70 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |efp */. | struct|
|00001f00| 20 67 66 5f 6d 61 72 6b | 65 72 20 2a 67 66 5f 67 | gf_mark|er *gf_g|
|00001f10| 66 70 3b 09 2f 2a 20 20 | 20 67 66 70 20 2a 2f 0a |fp;./* | gfp */.|
|00001f20| 20 20 20 69 6e 73 74 20 | 67 66 5f 69 70 63 3b 09 | inst |gf_ipc;.|
|00001f30| 09 2f 2a 20 20 20 69 70 | 63 20 2a 2f 0a 20 20 20 |./* ip|c */. |
|00001f40| 73 74 72 75 63 74 20 70 | 66 5f 6d 61 72 6b 65 72 |struct p|f_marker|
|00001f50| 20 2a 67 66 5f 70 66 70 | 3b 09 2f 2a 20 20 20 70 | *gf_pfp|;./* p|
|00001f60| 66 70 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |fp */. | struct |
|00001f70| 64 65 73 63 72 69 70 20 | 2a 67 66 5f 61 72 67 70 |descrip |*gf_argp|
|00001f80| 3b 09 2f 2a 09 20 61 72 | 67 70 20 2a 2f 0a 20 20 |;./*. ar|gp */. |
|00001f90| 20 7d 3b 0a 0a 2f 2a 0a | 20 2a 20 47 65 6e 65 72 | };../*.| * Gener|
|00001fa0| 61 74 6f 72 20 66 72 61 | 6d 65 20 6d 61 72 6b 65 |ator fra|me marke|
|00001fb0| 72 20 64 75 6d 6d 79 20 | 2d 2d 20 75 73 65 64 20 |r dummy |-- used |
|00001fc0| 6f 6e 6c 79 20 66 6f 72 | 20 73 69 7a 69 6e 67 20 |only for| sizing |
|00001fd0| 22 73 6d 61 6c 6c 22 0a | 20 2a 20 20 67 65 6e 65 |"small".| * gene|
|00001fe0| 72 61 74 6f 72 20 66 72 | 61 6d 65 73 20 77 68 65 |rator fr|ames whe|
|00001ff0| 72 65 20 70 72 6f 63 65 | 64 75 72 65 20 69 6e 66 |re proce|dure inf|
|00002000| 6f 6d 61 74 69 6f 6e 20 | 6e 65 65 64 20 6e 6f 74 |omation |need not|
|00002010| 20 62 65 20 73 61 76 65 | 64 2e 0a 20 2a 20 20 54 | be save|d.. * T|
|00002020| 68 65 20 66 69 72 73 74 | 20 66 69 76 65 20 6d 65 |he first| five me|
|00002030| 6d 62 65 72 73 20 68 65 | 72 65 20 2a 6d 75 73 74 |mbers he|re *must|
|00002040| 2a 20 62 65 20 69 64 65 | 6e 74 69 63 61 6c 20 74 |* be ide|ntical t|
|00002050| 6f 20 74 68 6f 73 65 20 | 66 6f 72 0a 20 2a 20 20 |o those |for. * |
|00002060| 67 66 5f 6d 61 72 6b 65 | 72 2e 0a 20 2a 2f 0a 73 |gf_marke|r.. */.s|
|00002070| 74 72 75 63 74 20 67 66 | 5f 73 6d 61 6c 6c 6d 61 |truct gf|_smallma|
|00002080| 72 6b 65 72 20 7b 09 09 | 2f 2a 20 67 65 6e 65 72 |rker {..|/* gener|
|00002090| 61 74 6f 72 20 66 72 61 | 6d 65 20 6d 61 72 6b 65 |ator fra|me marke|
|000020a0| 72 20 2a 2f 0a 20 20 20 | 77 6f 72 64 20 67 66 5f |r */. |word gf_|
|000020b0| 67 65 6e 74 79 70 65 3b | 09 09 2f 2a 20 20 20 74 |gentype;|../* t|
|000020c0| 79 70 65 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |ype */. | struct|
|000020d0| 20 65 66 5f 6d 61 72 6b | 65 72 20 2a 67 66 5f 65 | ef_mark|er *gf_e|
|000020e0| 66 70 3b 09 2f 2a 20 20 | 20 65 66 70 20 2a 2f 0a |fp;./* | efp */.|
|000020f0| 20 20 20 73 74 72 75 63 | 74 20 67 66 5f 6d 61 72 | struc|t gf_mar|
|00002100| 6b 65 72 20 2a 67 66 5f | 67 66 70 3b 09 2f 2a 20 |ker *gf_|gfp;./* |
|00002110| 20 20 67 66 70 20 2a 2f | 0a 20 20 20 69 6e 73 74 | gfp */|. inst|
|00002120| 20 67 66 5f 69 70 63 3b | 09 09 2f 2a 20 20 20 69 | gf_ipc;|../* i|
|00002130| 70 63 20 2a 2f 0a 20 20 | 20 7d 3b 0a 0a 74 79 70 |pc */. | };..typ|
|00002140| 65 64 65 66 20 75 6e 73 | 69 67 6e 65 64 20 73 68 |edef uns|igned sh|
|00002150| 6f 72 74 20 44 49 47 49 | 54 3b 0a 0a 73 74 72 75 |ort DIGI|T;..stru|
|00002160| 63 74 20 62 5f 62 69 67 | 6e 75 6d 20 7b 09 09 2f |ct b_big|num {../|
|00002170| 2a 20 62 69 67 6e 75 6d | 20 62 6c 6f 63 6b 20 2a |* bignum| block *|
|00002180| 2f 0a 20 20 20 20 77 6f | 72 64 20 74 69 74 6c 65 |/. wo|rd title|
|00002190| 3b 09 09 09 2f 2a 20 20 | 54 5f 42 69 67 6e 75 6d |;.../* |T_Bignum|
|000021a0| 20 2a 2f 0a 20 20 20 20 | 77 6f 72 64 20 62 6c 6b | */. |word blk|
|000021b0| 73 69 7a 65 3b 09 09 2f | 2a 20 20 62 6c 6f 63 6b |size;../|* block|
|000021c0| 20 73 69 7a 65 20 2a 2f | 0a 20 20 20 20 73 68 6f | size */|. sho|
|000021d0| 72 74 20 6c 65 66 74 2c | 20 72 69 67 68 74 3b 09 |rt left,| right;.|
|000021e0| 09 2f 2a 20 20 6d 6f 73 | 74 20 26 20 6c 65 61 73 |./* mos|t & leas|
|000021f0| 74 20 73 69 67 6e 69 66 | 69 63 61 6e 74 20 64 69 |t signif|icant di|
|00002200| 67 69 74 73 20 2a 2f 0a | 20 20 20 20 69 6e 74 20 |gits */.| int |
|00002210| 73 69 67 6e 3b 09 09 09 | 2f 2a 20 20 73 69 67 6e |sign;...|/* sign|
|00002220| 3b 20 30 20 70 6f 73 69 | 74 69 76 65 2c 20 31 20 |; 0 posi|tive, 1 |
|00002230| 6e 65 67 61 74 69 76 65 | 20 20 2a 2f 0a 20 20 20 |negative| */. |
|00002240| 20 44 49 47 49 54 20 64 | 69 67 69 74 73 5b 31 5d | DIGIT d|igits[1]|
|00002250| 3b 09 09 2f 2a 20 20 64 | 69 67 69 74 73 20 2a 2f |;../* d|igits */|
|00002260| 0a 20 20 20 20 7d 3b 0a | 0a 73 74 72 75 63 74 20 |. };.|.struct |
|00002270| 62 5f 72 65 61 6c 20 7b | 09 09 09 2f 2a 20 72 65 |b_real {|.../* re|
|00002280| 61 6c 20 62 6c 6f 63 6b | 20 2a 2f 0a 20 20 20 77 |al block| */. w|
|00002290| 6f 72 64 20 74 69 74 6c | 65 3b 09 09 09 2f 2a 20 |ord titl|e;.../* |
|000022a0| 20 20 54 5f 52 65 61 6c | 20 2a 2f 0a 20 20 20 64 | T_Real| */. d|
|000022b0| 6f 75 62 6c 65 20 72 65 | 61 6c 76 61 6c 3b 09 09 |ouble re|alval;..|
|000022c0| 2f 2a 09 20 76 61 6c 75 | 65 20 2a 2f 0a 20 20 20 |/*. valu|e */. |
|000022d0| 7d 3b 0a 0a 73 74 72 75 | 63 74 20 62 5f 63 73 65 |};..stru|ct b_cse|
|000022e0| 74 20 7b 09 09 09 2f 2a | 20 63 73 65 74 20 62 6c |t {.../*| cset bl|
|000022f0| 6f 63 6b 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 74 |ock */. | word t|
|00002300| 69 74 6c 65 3b 09 09 09 | 2f 2a 20 20 20 54 5f 43 |itle;...|/* T_C|
|00002310| 73 65 74 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 73 |set */. | word s|
|00002320| 69 7a 65 3b 09 09 09 2f | 2a 20 20 20 73 69 7a 65 |ize;.../|* size|
|00002330| 20 6f 66 20 63 73 65 74 | 20 2a 2f 0a 20 20 20 69 | of cset| */. i|
|00002340| 6e 74 20 62 69 74 73 5b | 43 73 65 74 53 69 7a 65 |nt bits[|CsetSize|
|00002350| 5d 3b 09 09 2f 2a 20 20 | 20 61 72 72 61 79 20 6f |];../* | array o|
|00002360| 66 20 62 69 74 73 20 2a | 2f 0a 20 20 20 7d 3b 0a |f bits *|/. };.|
|00002370| 0a 73 74 72 75 63 74 20 | 62 5f 66 69 6c 65 20 7b |.struct |b_file {|
|00002380| 09 09 09 2f 2a 20 66 69 | 6c 65 20 62 6c 6f 63 6b |.../* fi|le block|
|00002390| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 74 69 74 6c | */. w|ord titl|
|000023a0| 65 3b 09 09 09 2f 2a 20 | 20 20 54 5f 46 69 6c 65 |e;.../* | T_File|
|000023b0| 20 2a 2f 0a 20 20 20 46 | 49 4c 45 20 2a 66 64 3b | */. F|ILE *fd;|
|000023c0| 09 09 09 2f 2a 20 20 20 | 55 6e 69 78 20 66 69 6c |.../* |Unix fil|
|000023d0| 65 20 64 65 73 63 72 69 | 70 74 6f 72 20 2a 2f 0a |e descri|ptor */.|
|000023e0| 20 20 20 77 6f 72 64 20 | 73 74 61 74 75 73 3b 09 | word |status;.|
|000023f0| 09 09 2f 2a 20 20 20 66 | 69 6c 65 20 73 74 61 74 |../* f|ile stat|
|00002400| 75 73 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |us */. | struct |
|00002410| 64 65 73 63 72 69 70 20 | 66 6e 61 6d 65 3b 09 2f |descrip |fname;./|
|00002420| 2a 20 20 20 66 69 6c 65 | 20 6e 61 6d 65 20 28 73 |* file| name (s|
|00002430| 74 72 69 6e 67 20 71 75 | 61 6c 69 66 69 65 72 29 |tring qu|alifier)|
|00002440| 20 2a 2f 0a 20 20 20 7d | 3b 0a 0a 73 74 72 75 63 | */. }|;..struc|
|00002450| 74 20 62 5f 70 72 6f 63 | 20 7b 09 09 09 2f 2a 20 |t b_proc| {.../* |
|00002460| 70 72 6f 63 65 64 75 72 | 65 20 62 6c 6f 63 6b 20 |procedur|e block |
|00002470| 2a 2f 0a 20 20 20 77 6f | 72 64 20 74 69 74 6c 65 |*/. wo|rd title|
|00002480| 3b 09 09 09 2f 2a 20 20 | 20 54 5f 50 72 6f 63 20 |;.../* | T_Proc |
|00002490| 2a 2f 0a 20 20 20 77 6f | 72 64 20 62 6c 6b 73 69 |*/. wo|rd blksi|
|000024a0| 7a 65 3b 09 09 2f 2a 20 | 20 20 73 69 7a 65 20 6f |ze;../* | size o|
|000024b0| 66 20 62 6c 6f 63 6b 20 | 2a 2f 0a 20 20 20 75 6e |f block |*/. un|
|000024c0| 69 6f 6e 20 7b 09 09 09 | 2f 2a 20 20 20 65 6e 74 |ion {...|/* ent|
|000024d0| 72 79 20 70 6f 69 6e 74 | 73 20 66 6f 72 20 2a 2f |ry point|s for */|
|000024e0| 0a 20 20 20 20 20 20 69 | 6e 74 20 28 2a 63 63 6f |. i|nt (*cco|
|000024f0| 64 65 29 28 29 3b 09 09 | 2f 2a 20 20 20 20 20 43 |de)();..|/* C|
|00002500| 20 72 6f 75 74 69 6e 65 | 73 20 2a 2f 0a 20 20 20 | routine|s */. |
|00002510| 20 20 20 75 77 6f 72 64 | 20 69 6f 66 66 3b 09 09 | uword| ioff;..|
|00002520| 2f 2a 20 20 20 20 20 61 | 6e 64 20 69 63 6f 64 65 |/* a|nd icode|
|00002530| 20 61 73 20 6f 66 66 73 | 65 74 20 2a 2f 0a 20 20 | as offs|et */. |
|00002540| 20 20 20 20 63 68 61 72 | 20 2a 69 63 6f 64 65 3b | char| *icode;|
|00002550| 09 09 2f 2a 20 20 20 20 | 20 61 6e 64 20 69 63 6f |../* | and ico|
|00002560| 64 65 20 61 73 20 61 62 | 73 6f 6c 75 74 65 20 70 |de as ab|solute p|
|00002570| 6f 69 6e 74 65 72 20 2a | 2f 0a 20 20 20 20 20 20 |ointer *|/. |
|00002580| 7d 20 65 6e 74 72 79 70 | 3b 0a 20 20 20 77 6f 72 |} entryp|;. wor|
|00002590| 64 20 6e 70 61 72 61 6d | 3b 09 09 09 2f 2a 20 20 |d nparam|;.../* |
|000025a0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 70 61 72 61 6d | number |of param|
|000025b0| 65 74 65 72 73 20 2a 2f | 0a 20 20 20 77 6f 72 64 |eters */|. word|
|000025c0| 20 6e 64 79 6e 61 6d 3b | 09 09 09 2f 2a 20 20 20 | ndynam;|.../* |
|000025d0| 6e 75 6d 62 65 72 20 6f | 66 20 64 79 6e 61 6d 69 |number o|f dynami|
|000025e0| 63 20 6c 6f 63 61 6c 73 | 20 2a 2f 0a 20 20 20 77 |c locals| */. w|
|000025f0| 6f 72 64 20 6e 73 74 61 | 74 69 63 3b 09 09 2f 2a |ord nsta|tic;../*|
|00002600| 20 20 20 6e 75 6d 62 65 | 72 20 6f 66 20 73 74 61 | numbe|r of sta|
|00002610| 74 69 63 20 6c 6f 63 61 | 6c 73 20 2a 2f 0a 20 20 |tic loca|ls */. |
|00002620| 20 77 6f 72 64 20 66 73 | 74 61 74 69 63 3b 09 09 | word fs|tatic;..|
|00002630| 2f 2a 20 20 20 69 6e 64 | 65 78 20 28 69 6e 20 67 |/* ind|ex (in g|
|00002640| 6c 6f 62 61 6c 20 74 61 | 62 6c 65 29 20 6f 66 20 |lobal ta|ble) of |
|00002650| 66 69 72 73 74 20 73 74 | 61 74 69 63 20 2a 2f 0a |first st|atic */.|
|00002660| 20 20 20 73 74 72 75 63 | 74 20 64 65 73 63 72 69 | struc|t descri|
|00002670| 70 20 70 6e 61 6d 65 3b | 09 2f 2a 20 20 20 70 72 |p pname;|./* pr|
|00002680| 6f 63 65 64 75 72 65 20 | 6e 61 6d 65 20 28 73 74 |ocedure |name (st|
|00002690| 72 69 6e 67 20 71 75 61 | 6c 69 66 69 65 72 29 20 |ring qua|lifier) |
|000026a0| 2a 2f 0a 20 20 20 73 74 | 72 75 63 74 20 64 65 73 |*/. st|ruct des|
|000026b0| 63 72 69 70 20 6c 6e 61 | 6d 65 73 5b 31 5d 3b 09 |crip lna|mes[1];.|
|000026c0| 2f 2a 20 20 20 6c 69 73 | 74 20 6f 66 20 6c 6f 63 |/* lis|t of loc|
|000026d0| 61 6c 20 6e 61 6d 65 73 | 20 28 71 75 61 6c 69 66 |al names| (qualif|
|000026e0| 69 65 72 73 29 20 2a 2f | 0a 20 20 20 7d 3b 0a 0a |iers) */|. };..|
|000026f0| 2f 2a 0a 20 2a 20 62 5f | 69 70 72 6f 63 20 62 6c |/*. * b_|iproc bl|
|00002700| 6f 63 6b 73 20 61 72 65 | 20 75 73 65 64 20 74 6f |ocks are| used to|
|00002710| 20 73 74 61 74 69 63 61 | 6c 6c 79 20 69 6e 69 74 | statica|lly init|
|00002720| 69 61 6c 69 7a 65 20 69 | 6e 66 6f 72 6d 61 74 69 |ialize i|nformati|
|00002730| 6f 6e 20 61 62 6f 75 74 | 0a 20 2a 20 20 66 75 6e |on about|. * fun|
|00002740| 63 74 69 6f 6e 73 2e 09 | 54 68 65 79 20 61 72 65 |ctions..|They are|
|00002750| 20 69 64 65 6e 74 69 63 | 61 6c 20 74 6f 20 62 5f | identic|al to b_|
|00002760| 70 72 6f 63 20 62 6c 6f | 63 6b 73 20 65 78 63 65 |proc blo|cks exce|
|00002770| 70 74 20 66 6f 72 0a 20 | 2a 20 20 74 68 65 20 70 |pt for. |* the p|
|00002780| 6e 61 6d 65 20 66 69 65 | 6c 64 20 77 68 69 63 68 |name fie|ld which|
|00002790| 20 69 73 20 61 20 73 64 | 65 63 72 69 70 20 28 73 | is a sd|ecrip (s|
|000027a0| 69 6d 70 6c 65 2f 73 74 | 72 69 6e 67 20 64 65 73 |imple/st|ring des|
|000027b0| 63 72 69 70 74 6f 72 29 | 20 69 6e 73 74 65 61 64 |criptor)| instead|
|000027c0| 0a 20 2a 20 20 6f 66 20 | 61 20 64 65 73 63 72 69 |. * of |a descri|
|000027d0| 70 2e 20 20 54 68 69 73 | 20 69 73 20 64 6f 6e 65 |p. This| is done|
|000027e0| 20 62 65 63 61 75 73 65 | 20 75 6e 69 6f 6e 73 20 | because| unions |
|000027f0| 63 61 6e 6e 6f 74 20 62 | 65 20 69 6e 69 74 69 61 |cannot b|e initia|
|00002800| 6c 69 7a 65 64 2e 0a 20 | 2a 2f 0a 09 0a 73 74 72 |lized.. |*/...str|
|00002810| 75 63 74 20 62 5f 69 70 | 72 6f 63 20 7b 09 09 2f |uct b_ip|roc {../|
|00002820| 2a 20 70 72 6f 63 65 64 | 75 72 65 20 62 6c 6f 63 |* proced|ure bloc|
|00002830| 6b 20 2a 2f 0a 20 20 20 | 77 6f 72 64 20 69 70 5f |k */. |word ip_|
|00002840| 74 69 74 6c 65 3b 09 09 | 2f 2a 09 54 5f 50 72 6f |title;..|/*.T_Pro|
|00002850| 63 20 2a 2f 0a 20 20 20 | 77 6f 72 64 20 69 70 5f |c */. |word ip_|
|00002860| 62 6c 6b 73 69 7a 65 3b | 09 09 2f 2a 20 20 20 73 |blksize;|../* s|
|00002870| 69 7a 65 09 6f 66 20 62 | 6c 6f 63 6b 20 2a 2f 0a |ize.of b|lock */.|
|00002880| 20 20 20 69 6e 74 20 28 | 2a 69 70 5f 65 6e 74 72 | int (|*ip_entr|
|00002890| 79 70 29 28 29 3b 09 09 | 2f 2a 20 20 20 65 6e 74 |yp)();..|/* ent|
|000028a0| 72 79 20 70 6f 69 6e 74 | 20 28 63 6f 64 65 29 20 |ry point| (code) |
|000028b0| 2a 2f 0a 20 20 20 77 6f | 72 64 20 69 70 5f 6e 70 |*/. wo|rd ip_np|
|000028c0| 61 72 61 6d 3b 09 09 2f | 2a 09 20 6e 75 6d 62 65 |aram;../|*. numbe|
|000028d0| 72 20 6f 66 20 70 61 72 | 61 6d 65 74 65 72 73 20 |r of par|ameters |
|000028e0| 2a 2f 0a 20 20 20 77 6f | 72 64 20 69 70 5f 6e 64 |*/. wo|rd ip_nd|
|000028f0| 79 6e 61 6d 3b 09 09 2f | 2a 09 20 6e 75 6d 62 65 |ynam;../|*. numbe|
|00002900| 72 20 6f 66 20 64 79 6e | 61 6d 69 63 20 6c 6f 63 |r of dyn|amic loc|
|00002910| 61 6c 73 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 69 |als */. | word i|
|00002920| 70 5f 6e 73 74 61 74 69 | 63 3b 09 09 2f 2a 20 20 |p_nstati|c;../* |
|00002930| 20 6e 75 6d 62 65 72 20 | 6f 66 20 73 74 61 74 69 | number |of stati|
|00002940| 63 20 6c 6f 63 61 6c 73 | 20 2a 2f 0a 20 20 20 77 |c locals| */. w|
|00002950| 6f 72 64 20 69 70 5f 66 | 73 74 61 74 69 63 3b 09 |ord ip_f|static;.|
|00002960| 09 2f 2a 20 20 20 69 6e | 64 65 78 20 28 69 6e 20 |./* in|dex (in |
|00002970| 67 6c 6f 62 61 6c 20 74 | 61 62 6c 65 29 20 6f 66 |global t|able) of|
|00002980| 20 66 69 72 73 74 20 73 | 74 61 74 69 63 20 2a 2f | first s|tatic */|
|00002990| 0a 20 20 20 73 74 72 75 | 63 74 20 73 64 65 73 63 |. stru|ct sdesc|
|000029a0| 72 69 70 20 69 70 5f 70 | 6e 61 6d 65 3b 09 2f 2a |rip ip_p|name;./*|
|000029b0| 20 20 20 70 72 6f 63 65 | 64 75 72 65 20 6e 61 6d | proce|dure nam|
|000029c0| 65 20 28 73 74 72 69 6e | 67 20 71 75 61 6c 69 66 |e (strin|g qualif|
|000029d0| 69 65 72 29 20 2a 2f 0a | 20 20 20 73 74 72 75 63 |ier) */.| struc|
|000029e0| 74 20 64 65 73 63 72 69 | 70 20 69 70 5f 6c 6e 61 |t descri|p ip_lna|
|000029f0| 6d 65 73 5b 31 5d 3b 09 | 2f 2a 20 20 20 6c 69 73 |mes[1];.|/* lis|
|00002a00| 74 20 6f 66 20 6c 6f 63 | 61 6c 20 6e 61 6d 65 73 |t of loc|al names|
|00002a10| 20 28 71 75 61 6c 69 66 | 69 65 72 73 29 20 2a 2f | (qualif|iers) */|
|00002a20| 0a 20 20 20 7d 3b 0a 0a | 73 74 72 75 63 74 20 62 |. };..|struct b|
|00002a30| 5f 6c 69 73 74 20 7b 09 | 09 09 2f 2a 20 6c 69 73 |_list {.|../* lis|
|00002a40| 74 2d 68 65 61 64 65 72 | 20 62 6c 6f 63 6b 20 2a |t-header| block *|
|00002a50| 2f 0a 20 20 20 77 6f 72 | 64 20 74 69 74 6c 65 3b |/. wor|d title;|
|00002a60| 09 09 09 2f 2a 20 20 20 | 54 5f 4c 69 73 74 20 2a |.../* |T_List *|
|00002a70| 2f 0a 20 20 20 77 6f 72 | 64 20 73 69 7a 65 3b 09 |/. wor|d size;.|
|00002a80| 09 09 2f 2a 20 20 20 63 | 75 72 72 65 6e 74 20 6c |../* c|urrent l|
|00002a90| 69 73 74 20 73 69 7a 65 | 20 2a 2f 0a 20 20 20 73 |ist size| */. s|
|00002aa0| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 6c 69 |truct de|scrip li|
|00002ab0| 73 74 68 65 61 64 3b 09 | 2f 2a 09 20 70 6f 69 6e |sthead;.|/*. poin|
|00002ac0| 74 65 72 20 74 6f 20 66 | 69 72 73 74 20 6c 69 73 |ter to f|irst lis|
|00002ad0| 74 2d 65 6c 65 6d 65 6e | 74 20 62 6c 6f 63 6b 20 |t-elemen|t block |
|00002ae0| 2a 2f 0a 20 20 20 73 74 | 72 75 63 74 20 64 65 73 |*/. st|ruct des|
|00002af0| 63 72 69 70 20 6c 69 73 | 74 74 61 69 6c 3b 09 2f |crip lis|ttail;./|
|00002b00| 2a 09 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 6c 61 |*. point|er to la|
|00002b10| 73 74 20 6c 69 73 74 2d | 65 6c 65 6d 65 6e 74 20 |st list-|element |
|00002b20| 62 6c 6f 63 6b 20 2a 2f | 0a 20 20 20 7d 3b 0a 0a |block */|. };..|
|00002b30| 73 74 72 75 63 74 20 62 | 5f 6c 65 6c 65 6d 20 7b |struct b|_lelem {|
|00002b40| 09 09 2f 2a 20 6c 69 73 | 74 2d 65 6c 65 6d 65 6e |../* lis|t-elemen|
|00002b50| 74 20 62 6c 6f 63 6b 20 | 2a 2f 0a 20 20 20 77 6f |t block |*/. wo|
|00002b60| 72 64 20 74 69 74 6c 65 | 3b 09 09 09 2f 2a 20 20 |rd title|;.../* |
|00002b70| 20 54 5f 4c 65 6c 65 6d | 20 2a 2f 0a 20 20 20 77 | T_Lelem| */. w|
|00002b80| 6f 72 64 20 62 6c 6b 73 | 69 7a 65 3b 09 09 2f 2a |ord blks|ize;../*|
|00002b90| 20 20 20 73 69 7a 65 20 | 6f 66 20 62 6c 6f 63 6b | size |of block|
|00002ba0| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 6e 73 6c 6f | */. w|ord nslo|
|00002bb0| 74 73 3b 09 09 09 2f 2a | 20 20 20 74 6f 74 61 6c |ts;.../*| total|
|00002bc0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 73 6c 6f 74 73 | number |of slots|
|00002bd0| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 66 69 72 73 | */. w|ord firs|
|00002be0| 74 3b 09 09 09 2f 2a 20 | 20 20 69 6e 64 65 78 20 |t;.../* | index |
|00002bf0| 6f 66 20 66 69 72 73 74 | 20 75 73 65 64 20 73 6c |of first| used sl|
|00002c00| 6f 74 20 2a 2f 0a 20 20 | 20 77 6f 72 64 20 6e 75 |ot */. | word nu|
|00002c10| 73 65 64 3b 09 09 09 2f | 2a 20 20 20 6e 75 6d 62 |sed;.../|* numb|
|00002c20| 65 72 20 6f 66 20 75 73 | 65 64 20 73 6c 6f 74 73 |er of us|ed slots|
|00002c30| 20 2a 2f 0a 20 20 20 73 | 74 72 75 63 74 20 64 65 | */. s|truct de|
|00002c40| 73 63 72 69 70 20 6c 69 | 73 74 70 72 65 76 3b 09 |scrip li|stprev;.|
|00002c50| 2f 2a 09 20 70 72 65 76 | 69 6f 75 73 20 6c 69 73 |/*. prev|ious lis|
|00002c60| 74 2d 65 6c 65 6d 65 6e | 74 20 62 6c 6f 63 6b 20 |t-elemen|t block |
|00002c70| 2a 2f 0a 20 20 20 73 74 | 72 75 63 74 20 64 65 73 |*/. st|ruct des|
|00002c80| 63 72 69 70 20 6c 69 73 | 74 6e 65 78 74 3b 09 2f |crip lis|tnext;./|
|00002c90| 2a 09 20 6e 65 78 74 20 | 6c 69 73 74 2d 65 6c 65 |*. next |list-ele|
|00002ca0| 6d 65 6e 74 20 62 6c 6f | 63 6b 20 2a 2f 0a 20 20 |ment blo|ck */. |
|00002cb0| 20 73 74 72 75 63 74 20 | 64 65 73 63 72 69 70 20 | struct |descrip |
|00002cc0| 6c 73 6c 6f 74 73 5b 31 | 5d 3b 09 2f 2a 20 20 20 |lslots[1|];./* |
|00002cd0| 61 72 72 61 79 20 6f 66 | 20 73 6c 6f 74 73 20 2a |array of| slots *|
|00002ce0| 2f 0a 20 20 20 7d 3b 0a | 0a 73 74 72 75 63 74 20 |/. };.|.struct |
|00002cf0| 62 5f 74 61 62 6c 65 20 | 7b 09 09 2f 2a 20 74 61 |b_table |{../* ta|
|00002d00| 62 6c 65 2d 68 65 61 64 | 65 72 20 62 6c 6f 63 6b |ble-head|er block|
|00002d10| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 74 69 74 6c | */. w|ord titl|
|00002d20| 65 3b 09 09 09 2f 2a 20 | 20 20 54 5f 54 61 62 6c |e;.../* | T_Tabl|
|00002d30| 65 20 2a 2f 0a 20 20 20 | 77 6f 72 64 20 73 69 7a |e */. |word siz|
|00002d40| 65 3b 09 09 09 2f 2a 20 | 20 20 63 75 72 72 65 6e |e;.../* | curren|
|00002d50| 74 20 74 61 62 6c 65 20 | 73 69 7a 65 20 2a 2f 0a |t table |size */.|
|00002d60| 20 20 20 73 74 72 75 63 | 74 20 64 65 73 63 72 69 | struc|t descri|
|00002d70| 70 20 64 65 66 76 61 6c | 75 65 3b 09 2f 2a 09 20 |p defval|ue;./*. |
|00002d80| 64 65 66 61 75 6c 74 20 | 74 61 62 6c 65 20 65 6c |default |table el|
|00002d90| 65 6d 65 6e 74 20 76 61 | 6c 75 65 20 2a 2f 0a 20 |ement va|lue */. |
|00002da0| 20 20 73 74 72 75 63 74 | 20 64 65 73 63 72 69 70 | struct| descrip|
|00002db0| 20 62 75 63 6b 65 74 73 | 5b 54 53 6c 6f 74 73 5d | buckets|[TSlots]|
|00002dc0| 3b 2f 2a 20 68 61 73 68 | 20 62 75 63 6b 65 74 73 |;/* hash| buckets|
|00002dd0| 20 2a 2f 0a 20 20 20 7d | 3b 0a 0a 73 74 72 75 63 | */. }|;..struc|
|00002de0| 74 20 62 5f 74 65 6c 65 | 6d 20 7b 09 09 2f 2a 20 |t b_tele|m {../* |
|00002df0| 74 61 62 6c 65 2d 65 6c | 65 6d 65 6e 74 20 62 6c |table-el|ement bl|
|00002e00| 6f 63 6b 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 74 |ock */. | word t|
|00002e10| 69 74 6c 65 3b 09 09 09 | 2f 2a 20 20 20 54 5f 54 |itle;...|/* T_T|
|00002e20| 65 6c 65 6d 20 2a 2f 0a | 20 20 20 77 6f 72 64 20 |elem */.| word |
|00002e30| 68 61 73 68 6e 75 6d 3b | 09 09 2f 2a 20 20 20 66 |hashnum;|../* f|
|00002e40| 6f 72 20 6f 72 64 65 72 | 69 6e 67 20 63 68 61 69 |or order|ing chai|
|00002e50| 6e 20 2a 2f 0a 20 20 20 | 73 74 72 75 63 74 20 64 |n */. |struct d|
|00002e60| 65 73 63 72 69 70 20 63 | 6c 69 6e 6b 3b 09 2f 2a |escrip c|link;./*|
|00002e70| 20 20 20 68 61 73 68 20 | 63 68 61 69 6e 20 6c 69 | hash |chain li|
|00002e80| 6e 6b 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |nk */. | struct |
|00002e90| 64 65 73 63 72 69 70 20 | 74 72 65 66 3b 09 09 2f |descrip |tref;../|
|00002ea0| 2a 20 20 20 65 6e 74 72 | 79 20 76 61 6c 75 65 20 |* entr|y value |
|00002eb0| 2a 2f 0a 20 20 20 73 74 | 72 75 63 74 20 64 65 73 |*/. st|ruct des|
|00002ec0| 63 72 69 70 20 74 76 61 | 6c 3b 09 09 2f 2a 20 20 |crip tva|l;../* |
|00002ed0| 20 61 73 73 69 67 6e 65 | 64 20 76 61 6c 75 65 20 | assigne|d value |
|00002ee0| 2a 2f 0a 20 20 20 7d 3b | 0a 0a 73 74 72 75 63 74 |*/. };|..struct|
|00002ef0| 20 62 5f 73 65 74 20 7b | 09 09 09 2f 2a 20 73 65 | b_set {|.../* se|
|00002f00| 74 2d 68 65 61 64 65 72 | 20 62 6c 6f 63 6b 20 2a |t-header| block *|
|00002f10| 2f 0a 20 20 20 77 6f 72 | 64 20 74 69 74 6c 65 3b |/. wor|d title;|
|00002f20| 09 09 09 2f 2a 20 20 20 | 54 5f 53 65 74 20 2a 2f |.../* |T_Set */|
|00002f30| 0a 20 20 20 77 6f 72 64 | 20 73 69 7a 65 3b 09 09 |. word| size;..|
|00002f40| 09 2f 2a 20 20 20 73 69 | 7a 65 20 6f 66 20 74 68 |./* si|ze of th|
|00002f50| 65 20 73 65 74 20 2a 2f | 0a 20 20 20 73 74 72 75 |e set */|. stru|
|00002f60| 63 74 20 64 65 73 63 72 | 69 70 20 73 62 75 63 6b |ct descr|ip sbuck|
|00002f70| 73 5b 53 53 6c 6f 74 73 | 5d 3b 2f 2a 20 20 68 61 |s[SSlots|];/* ha|
|00002f80| 73 68 20 62 75 63 6b 65 | 74 73 20 2a 2f 0a 20 20 |sh bucke|ts */. |
|00002f90| 20 7d 3b 0a 0a 73 74 72 | 75 63 74 20 62 5f 73 65 | };..str|uct b_se|
|00002fa0| 6c 65 6d 20 7b 09 09 2f | 2a 20 73 65 74 2d 65 6c |lem {../|* set-el|
|00002fb0| 65 6d 65 6e 74 20 62 6c | 6f 63 6b 20 2a 2f 0a 20 |ement bl|ock */. |
|00002fc0| 20 20 77 6f 72 64 20 74 | 69 74 6c 65 3b 09 09 09 | word t|itle;...|
|00002fd0| 2f 2a 20 20 20 54 5f 53 | 65 6c 65 6d 20 2a 2f 0a |/* T_S|elem */.|
|00002fe0| 20 20 20 77 6f 72 64 20 | 68 61 73 68 6e 75 6d 3b | word |hashnum;|
|00002ff0| 09 09 2f 2a 20 20 20 68 | 61 73 68 20 6e 75 6d 62 |../* h|ash numb|
|00003000| 65 72 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |er */. | struct |
|00003010| 64 65 73 63 72 69 70 20 | 63 6c 69 6e 6b 3b 09 2f |descrip |clink;./|
|00003020| 2a 20 20 20 68 61 73 68 | 20 63 68 61 69 6e 20 6c |* hash| chain l|
|00003030| 69 6e 6b 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |ink */. | struct|
|00003040| 20 64 65 73 63 72 69 70 | 20 73 65 74 6d 65 6d 3b | descrip| setmem;|
|00003050| 09 2f 2a 20 20 20 74 68 | 65 20 65 6c 65 6d 65 6e |./* th|e elemen|
|00003060| 74 20 2a 2f 0a 20 20 20 | 7d 3b 0a 0a 73 74 72 75 |t */. |};..stru|
|00003070| 63 74 20 62 5f 72 65 63 | 6f 72 64 20 7b 09 09 2f |ct b_rec|ord {../|
|00003080| 2a 20 72 65 63 6f 72 64 | 20 62 6c 6f 63 6b 20 2a |* record| block *|
|00003090| 2f 0a 20 20 20 77 6f 72 | 64 20 74 69 74 6c 65 3b |/. wor|d title;|
|000030a0| 09 09 09 2f 2a 20 20 20 | 54 5f 52 65 63 6f 72 64 |.../* |T_Record|
|000030b0| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 62 6c 6b 73 | */. w|ord blks|
|000030c0| 69 7a 65 3b 09 09 2f 2a | 20 20 20 73 69 7a 65 20 |ize;../*| size |
|000030d0| 6f 66 20 62 6c 6f 63 6b | 20 2a 2f 0a 20 20 20 73 |of block| */. s|
|000030e0| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 72 65 |truct de|scrip re|
|000030f0| 63 64 65 73 63 3b 09 2f | 2a 20 20 20 64 65 73 63 |cdesc;./|* desc|
|00003100| 72 69 70 74 6f 72 20 66 | 6f 72 20 72 65 63 6f 72 |riptor f|or recor|
|00003110| 64 20 63 6f 6e 73 74 72 | 75 63 74 6f 72 20 2a 2f |d constr|uctor */|
|00003120| 0a 20 20 20 73 74 72 75 | 63 74 20 64 65 73 63 72 |. stru|ct descr|
|00003130| 69 70 20 66 69 65 6c 64 | 73 5b 31 5d 3b 09 2f 2a |ip field|s[1];./*|
|00003140| 20 20 20 66 69 65 6c 64 | 73 20 2a 2f 0a 20 20 20 | field|s */. |
|00003150| 7d 3b 0a 0a 2f 2a 0a 20 | 2a 20 41 6c 74 65 72 6e |};../*. |* Altern|
|00003160| 61 74 65 20 75 73 65 73 | 20 66 6f 72 20 70 72 6f |ate uses| for pro|
|00003170| 63 65 64 75 72 65 20 62 | 6c 6f 63 6b 20 66 69 65 |cedure b|lock fie|
|00003180| 6c 64 73 2c 20 61 70 70 | 6c 69 65 64 20 74 6f 20 |lds, app|lied to |
|00003190| 72 65 63 6f 72 64 73 2e | 0a 20 2a 2f 0a 23 64 65 |records.|. */.#de|
|000031a0| 66 69 6e 65 20 6e 66 69 | 65 6c 64 73 09 6e 70 61 |fine nfi|elds.npa|
|000031b0| 72 61 6d 09 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |ram../* |number o|
|000031c0| 66 20 66 69 65 6c 64 73 | 20 2a 2f 0a 23 64 65 66 |f fields| */.#def|
|000031d0| 69 6e 65 20 72 65 63 6e | 75 6d 20 6e 73 74 61 74 |ine recn|um nstat|
|000031e0| 69 63 09 09 2f 2a 20 72 | 65 63 6f 72 64 20 6e 75 |ic../* r|ecord nu|
|000031f0| 6d 62 65 72 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |mber */.|#define |
|00003200| 72 65 63 6e 61 6d 65 09 | 70 6e 61 6d 65 09 09 2f |recname.|pname../|
|00003210| 2a 20 72 65 63 6f 72 64 | 20 6e 61 6d 65 20 2a 2f |* record| name */|
|00003220| 0a 0a 73 74 72 75 63 74 | 20 62 5f 74 76 6b 79 77 |..struct| b_tvkyw|
|00003230| 64 20 7b 09 09 2f 2a 20 | 6b 65 79 77 6f 72 64 20 |d {../* |keyword |
|00003240| 74 72 61 70 70 65 64 20 | 76 61 72 69 61 62 6c 65 |trapped |variable|
|00003250| 20 62 6c 6f 63 6b 20 2a | 2f 0a 20 20 20 77 6f 72 | block *|/. wor|
|00003260| 64 20 74 69 74 6c 65 3b | 09 09 09 2f 2a 20 20 20 |d title;|.../* |
|00003270| 54 5f 54 76 6b 79 77 64 | 20 2a 2f 0a 20 20 20 69 |T_Tvkywd| */. i|
|00003280| 6e 74 20 28 2a 70 75 74 | 76 61 6c 29 20 28 29 3b |nt (*put|val) ();|
|00003290| 09 09 2f 2a 20 20 20 61 | 73 73 69 67 6e 6d 65 6e |../* a|ssignmen|
|000032a0| 74 20 66 75 6e 63 74 69 | 6f 6e 20 66 6f 72 20 6b |t functi|on for k|
|000032b0| 65 79 77 6f 72 64 20 2a | 2f 0a 20 20 20 73 74 72 |eyword *|/. str|
|000032c0| 75 63 74 20 64 65 73 63 | 72 69 70 20 6b 79 76 61 |uct desc|rip kyva|
|000032d0| 6c 3b 09 2f 2a 20 20 20 | 6b 65 79 77 6f 72 64 20 |l;./* |keyword |
|000032e0| 76 61 6c 75 65 20 2a 2f | 0a 20 20 20 73 74 72 75 |value */|. stru|
|000032f0| 63 74 20 64 65 73 63 72 | 69 70 20 6b 79 6e 61 6d |ct descr|ip kynam|
|00003300| 65 3b 09 2f 2a 20 20 20 | 6b 65 79 77 6f 72 64 20 |e;./* |keyword |
|00003310| 6e 61 6d 65 20 2a 2f 0a | 20 20 20 7d 3b 0a 0a 73 |name */.| };..s|
|00003320| 74 72 75 63 74 20 62 5f | 74 76 73 75 62 73 20 7b |truct b_|tvsubs {|
|00003330| 09 09 2f 2a 20 73 75 62 | 73 74 72 69 6e 67 20 74 |../* sub|string t|
|00003340| 72 61 70 70 65 64 20 76 | 61 72 69 61 62 6c 65 20 |rapped v|ariable |
|00003350| 62 6c 6f 63 6b 20 2a 2f | 0a 20 20 20 77 6f 72 64 |block */|. word|
|00003360| 20 74 69 74 6c 65 3b 09 | 09 09 2f 2a 20 20 20 54 | title;.|../* T|
|00003370| 5f 54 76 73 75 62 73 20 | 2a 2f 0a 20 20 20 77 6f |_Tvsubs |*/. wo|
|00003380| 72 64 20 73 73 6c 65 6e | 3b 09 09 09 2f 2a 20 20 |rd sslen|;.../* |
|00003390| 20 6c 65 6e 67 74 68 20 | 6f 66 20 73 75 62 73 74 | length |of subst|
|000033a0| 72 69 6e 67 20 2a 2f 0a | 20 20 20 77 6f 72 64 20 |ring */.| word |
|000033b0| 73 73 70 6f 73 3b 09 09 | 09 2f 2a 20 20 20 70 6f |sspos;..|./* po|
|000033c0| 73 69 74 69 6f 6e 20 6f | 66 20 73 75 62 73 74 72 |sition o|f substr|
|000033d0| 69 6e 67 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |ing */. | struct|
|000033e0| 20 64 65 73 63 72 69 70 | 20 73 73 76 61 72 3b 09 | descrip| ssvar;.|
|000033f0| 2f 2a 20 20 20 76 61 72 | 69 61 62 6c 65 20 74 68 |/* var|iable th|
|00003400| 61 74 20 73 75 62 73 74 | 72 69 6e 67 20 69 73 20 |at subst|ring is |
|00003410| 66 72 6f 6d 20 2a 2f 0a | 20 20 20 7d 3b 0a 0a 73 |from */.| };..s|
|00003420| 74 72 75 63 74 20 62 5f | 74 76 74 62 6c 20 7b 09 |truct b_|tvtbl {.|
|00003430| 09 2f 2a 20 74 61 62 6c | 65 20 65 6c 65 6d 65 6e |./* tabl|e elemen|
|00003440| 74 20 74 72 61 70 70 65 | 64 20 76 61 72 69 61 62 |t trappe|d variab|
|00003450| 6c 65 20 62 6c 6f 63 6b | 20 2a 2f 0a 20 20 20 77 |le block| */. w|
|00003460| 6f 72 64 20 74 69 74 6c | 65 3b 09 09 09 2f 2a 20 |ord titl|e;.../* |
|00003470| 20 20 54 5f 54 76 74 62 | 6c 20 2a 2f 0a 20 20 20 | T_Tvtb|l */. |
|00003480| 77 6f 72 64 20 68 61 73 | 68 6e 75 6d 3b 09 09 2f |word has|hnum;../|
|00003490| 2a 20 20 20 68 61 73 68 | 20 6e 75 6d 62 65 72 20 |* hash| number |
|000034a0| 2a 2f 0a 20 20 20 73 74 | 72 75 63 74 20 64 65 73 |*/. st|ruct des|
|000034b0| 63 72 69 70 20 63 6c 69 | 6e 6b 3b 09 2f 2a 20 20 |crip cli|nk;./* |
|000034c0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 74 61 62 6c | pointer| to tabl|
|000034d0| 65 20 68 65 61 64 65 72 | 20 62 6c 6f 63 6b 20 2a |e header| block *|
|000034e0| 2f 0a 20 20 20 73 74 72 | 75 63 74 20 64 65 73 63 |/. str|uct desc|
|000034f0| 72 69 70 20 74 72 65 66 | 3b 09 09 2f 2a 20 20 20 |rip tref|;../* |
|00003500| 65 6e 74 72 79 20 76 61 | 6c 75 65 20 2a 2f 0a 20 |entry va|lue */. |
|00003510| 20 20 73 74 72 75 63 74 | 20 64 65 73 63 72 69 70 | struct| descrip|
|00003520| 20 74 76 61 6c 3b 09 09 | 2f 2a 20 20 20 72 65 73 | tval;..|/* res|
|00003530| 65 72 76 65 64 20 66 6f | 72 20 61 73 73 69 67 6e |erved fo|r assign|
|00003540| 65 64 20 76 61 6c 75 65 | 20 2a 2f 0a 20 20 20 7d |ed value| */. }|
|00003550| 3b 0a 0a 73 74 72 75 63 | 74 20 62 5f 63 6f 65 78 |;..struc|t b_coex|
|00003560| 70 72 20 7b 09 09 2f 2a | 20 63 6f 2d 65 78 70 72 |pr {../*| co-expr|
|00003570| 65 73 73 69 6f 6e 20 73 | 74 61 63 6b 20 62 6c 6f |ession s|tack blo|
|00003580| 63 6b 20 2a 2f 0a 20 20 | 20 77 6f 72 64 20 74 69 |ck */. | word ti|
|00003590| 74 6c 65 3b 09 09 09 2f | 2a 20 20 20 54 5f 43 6f |tle;.../|* T_Co|
|000035a0| 65 78 70 72 20 2a 2f 0a | 20 20 20 77 6f 72 64 20 |expr */.| word |
|000035b0| 73 69 7a 65 3b 09 09 09 | 2f 2a 20 20 20 6e 75 6d |size;...|/* num|
|000035c0| 62 65 72 20 6f 66 20 72 | 65 73 75 6c 74 73 20 70 |ber of r|esults p|
|000035d0| 72 6f 64 75 63 65 64 20 | 2a 2f 0a 20 20 20 77 6f |roduced |*/. wo|
|000035e0| 72 64 20 69 64 3b 09 09 | 09 2f 2a 20 20 20 69 64 |rd id;..|./* id|
|000035f0| 65 6e 74 69 66 69 63 61 | 74 69 6f 6e 20 6e 75 6d |entifica|tion num|
|00003600| 62 65 72 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |ber */. | struct|
|00003610| 20 62 5f 63 6f 65 78 70 | 72 20 2a 6e 65 78 74 73 | b_coexp|r *nexts|
|00003620| 74 6b 3b 09 2f 2a 20 20 | 20 70 6f 69 6e 74 65 72 |tk;./* | pointer|
|00003630| 20 74 6f 20 6e 65 78 74 | 20 61 6c 6c 6f 63 61 74 | to next| allocat|
|00003640| 65 64 20 73 74 61 63 6b | 20 2a 2f 0a 20 20 20 73 |ed stack| */. s|
|00003650| 74 72 75 63 74 20 70 66 | 5f 6d 61 72 6b 65 72 20 |truct pf|_marker |
|00003660| 2a 65 73 5f 70 66 70 3b | 09 2f 2a 20 20 20 63 75 |*es_pfp;|./* cu|
|00003670| 72 72 65 6e 74 20 70 66 | 70 20 2a 2f 0a 20 20 20 |rrent pf|p */. |
|00003680| 73 74 72 75 63 74 20 65 | 66 5f 6d 61 72 6b 65 72 |struct e|f_marker|
|00003690| 20 2a 65 73 5f 65 66 70 | 3b 09 2f 2a 20 20 20 65 | *es_efp|;./* e|
|000036a0| 66 70 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |fp */. | struct |
|000036b0| 67 66 5f 6d 61 72 6b 65 | 72 20 2a 65 73 5f 67 66 |gf_marke|r *es_gf|
|000036c0| 70 3b 09 2f 2a 20 20 20 | 67 66 70 20 2a 2f 0a 20 |p;./* |gfp */. |
|000036d0| 20 20 73 74 72 75 63 74 | 20 64 65 73 63 72 69 70 | struct| descrip|
|000036e0| 20 2a 65 73 5f 61 72 67 | 70 3b 09 2f 2a 20 20 20 | *es_arg|p;./* |
|000036f0| 61 72 67 70 20 2a 2f 0a | 20 20 20 69 6e 73 74 20 |argp */.| inst |
|00003700| 65 73 5f 69 70 63 3b 09 | 09 09 2f 2a 20 20 20 69 |es_ipc;.|../* i|
|00003710| 70 63 20 2a 2f 0a 20 20 | 20 77 6f 72 64 20 65 73 |pc */. | word es|
|00003720| 5f 69 6c 65 76 65 6c 3b | 09 09 2f 2a 20 20 20 69 |_ilevel;|../* i|
|00003730| 6e 74 65 72 70 72 65 74 | 65 72 20 6c 65 76 65 6c |nterpret|er level|
|00003740| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 2a 65 73 5f | */. w|ord *es_|
|00003750| 73 70 3b 09 09 09 2f 2a | 20 20 20 73 70 20 2a 2f |sp;.../*| sp */|
|00003760| 0a 20 20 20 73 74 72 75 | 63 74 20 64 65 73 63 72 |. stru|ct descr|
|00003770| 69 70 20 2a 74 76 61 6c | 6c 6f 63 3b 09 2f 2a 20 |ip *tval|loc;./* |
|00003780| 20 20 77 68 65 72 65 20 | 74 6f 20 70 6c 61 63 65 | where |to place|
|00003790| 20 74 72 61 6e 73 6d 69 | 74 74 65 64 20 76 61 6c | transmi|tted val|
|000037a0| 75 65 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |ue */. | struct |
|000037b0| 64 65 73 63 72 69 70 20 | 66 72 65 73 68 62 6c 6b |descrip |freshblk|
|000037c0| 3b 09 2f 2a 20 20 20 72 | 65 66 72 65 73 68 20 62 |;./* r|efresh b|
|000037d0| 6c 6f 63 6b 20 70 6f 69 | 6e 74 65 72 20 2a 2f 0a |lock poi|nter */.|
|000037e0| 20 20 20 73 74 72 75 63 | 74 20 61 73 74 6b 62 6c | struc|t astkbl|
|000037f0| 6b 20 2a 65 73 5f 61 63 | 74 73 74 6b 3b 09 2f 2a |k *es_ac|tstk;./*|
|00003800| 20 20 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 61 63 | point|er to ac|
|00003810| 74 69 76 61 74 69 6f 6e | 20 73 74 61 63 6b 20 73 |tivation| stack s|
|00003820| 74 72 75 63 74 75 72 65 | 20 2a 2f 0a 20 20 20 77 |tructure| */. w|
|00003830| 6f 72 64 20 63 73 74 61 | 74 65 5b 43 53 74 61 74 |ord csta|te[CStat|
|00003840| 65 53 69 7a 65 5d 3b 09 | 2f 2a 20 20 20 43 20 73 |eSize];.|/* C s|
|00003850| 74 61 74 65 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |tate inf|ormation|
|00003860| 20 2a 2f 0a 20 20 20 7d | 3b 0a 0a 73 74 72 75 63 | */. }|;..struc|
|00003870| 74 20 61 73 74 6b 62 6c | 6b 20 7b 09 09 20 20 2f |t astkbl|k {.. /|
|00003880| 2a 20 63 6f 2d 65 78 70 | 72 65 73 73 69 6f 6e 20 |* co-exp|ression |
|00003890| 61 63 74 69 76 61 74 6f | 72 2d 73 74 61 63 6b 20 |activato|r-stack |
|000038a0| 62 6c 6f 63 6b 20 2a 2f | 0a 20 20 20 69 6e 74 20 |block */|. int |
|000038b0| 6e 61 63 74 69 76 61 74 | 6f 72 73 3b 09 09 20 20 |nactivat|ors;.. |
|000038c0| 2f 2a 20 20 20 6e 75 6d | 62 65 72 20 6f 66 20 76 |/* num|ber of v|
|000038d0| 61 6c 69 64 20 61 63 74 | 69 76 61 74 6f 72 20 65 |alid act|ivator e|
|000038e0| 6e 74 72 69 65 73 20 69 | 6e 0a 09 09 09 09 20 20 |ntries i|n..... |
|000038f0| 20 20 20 20 20 20 74 68 | 69 73 20 62 6c 6f 63 6b | th|is block|
|00003900| 20 2a 2f 0a 20 20 20 73 | 74 72 75 63 74 20 61 73 | */. s|truct as|
|00003910| 74 6b 62 6c 6b 20 2a 61 | 73 74 6b 5f 6e 78 74 3b |tkblk *a|stk_nxt;|
|00003920| 09 20 20 2f 2a 20 20 20 | 6e 65 78 74 20 61 63 74 |. /* |next act|
|00003930| 69 76 61 74 6f 72 20 62 | 6c 6f 63 6b 20 2a 2f 0a |ivator b|lock */.|
|00003940| 20 20 20 73 74 72 75 63 | 74 20 61 63 74 72 65 63 | struc|t actrec|
|00003950| 20 7b 09 09 20 20 2f 2a | 20 20 20 61 63 74 69 76 | {.. /*| activ|
|00003960| 61 74 6f 72 20 72 65 63 | 6f 72 64 20 2a 2f 0a 20 |ator rec|ord */. |
|00003970| 20 20 20 20 20 77 6f 72 | 64 20 61 63 6f 75 6e 74 | wor|d acount|
|00003980| 3b 09 09 20 20 2f 2a 20 | 20 20 20 20 6e 75 6d 62 |;.. /* | numb|
|00003990| 65 72 20 6f 66 20 63 61 | 6c 6c 73 20 62 79 20 74 |er of ca|lls by t|
|000039a0| 68 69 73 20 61 63 74 69 | 76 61 74 6f 72 20 2a 2f |his acti|vator */|
|000039b0| 0a 20 20 20 20 20 20 73 | 74 72 75 63 74 20 62 5f |. s|truct b_|
|000039c0| 63 6f 65 78 70 72 20 2a | 61 63 74 69 76 61 74 6f |coexpr *|activato|
|000039d0| 72 3b 20 2f 2a 20 20 20 | 20 20 74 68 65 20 61 63 |r; /* | the ac|
|000039e0| 74 69 76 61 74 6f 72 20 | 69 74 73 65 6c 66 20 2a |tivator |itself *|
|000039f0| 2f 0a 20 20 20 20 20 20 | 7d 20 61 72 65 63 5b 41 |/. |} arec[A|
|00003a00| 63 74 53 74 6b 42 6c 6b | 45 6e 74 73 5d 3b 0a 20 |ctStkBlk|Ents];. |
|00003a10| 20 20 7d 3b 0a 0a 73 74 | 72 75 63 74 20 62 5f 72 | };..st|ruct b_r|
|00003a20| 65 66 72 65 73 68 20 7b | 09 09 2f 2a 20 63 6f 2d |efresh {|../* co-|
|00003a30| 65 78 70 72 65 73 73 69 | 6f 6e 20 62 6c 6f 63 6b |expressi|on block|
|00003a40| 20 2a 2f 0a 20 20 20 77 | 6f 72 64 20 74 69 74 6c | */. w|ord titl|
|00003a50| 65 3b 09 09 09 2f 2a 20 | 20 20 54 5f 52 65 66 72 |e;.../* | T_Refr|
|00003a60| 65 73 68 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 62 |esh */. | word b|
|00003a70| 6c 6b 73 69 7a 65 3b 09 | 09 2f 2a 20 20 20 73 69 |lksize;.|./* si|
|00003a80| 7a 65 20 6f 66 20 62 6c | 6f 63 6b 20 2a 2f 0a 20 |ze of bl|ock */. |
|00003a90| 20 20 77 6f 72 64 20 2a | 65 70 3b 09 09 09 2f 2a | word *|ep;.../*|
|00003aa0| 20 20 20 65 6e 74 72 79 | 20 70 6f 69 6e 74 20 2a | entry| point *|
|00003ab0| 2f 0a 20 20 20 77 6f 72 | 64 20 6e 75 6d 6c 6f 63 |/. wor|d numloc|
|00003ac0| 61 6c 73 3b 09 09 2f 2a | 20 20 20 6e 75 6d 62 65 |als;../*| numbe|
|00003ad0| 72 20 6f 66 20 6c 6f 63 | 61 6c 73 20 2a 2f 0a 20 |r of loc|als */. |
|00003ae0| 20 20 73 74 72 75 63 74 | 20 70 66 5f 6d 61 72 6b | struct| pf_mark|
|00003af0| 65 72 20 70 66 6d 6b 72 | 3b 09 2f 2a 20 20 20 6d |er pfmkr|;./* m|
|00003b00| 61 72 6b 65 72 20 66 6f | 72 20 65 6e 63 6c 6f 73 |arker fo|r enclos|
|00003b10| 69 6e 67 20 70 72 6f 63 | 65 64 75 72 65 20 2a 2f |ing proc|edure */|
|00003b20| 0a 20 20 20 73 74 72 75 | 63 74 20 64 65 73 63 72 |. stru|ct descr|
|00003b30| 69 70 20 65 6c 65 6d 73 | 5b 31 5d 3b 09 2f 2a 20 |ip elems|[1];./* |
|00003b40| 20 20 61 72 67 75 6d 65 | 6e 74 73 20 61 6e 64 20 | argume|nts and |
|00003b50| 6c 6f 63 61 6c 73 2c 20 | 69 6e 63 6c 75 64 69 6e |locals, |includin|
|00003b60| 67 20 41 72 67 30 20 2a | 2f 0a 20 20 20 7d 3b 0a |g Arg0 *|/. };.|
|00003b70| 0a 73 74 72 75 63 74 20 | 62 5f 65 78 74 65 72 6e |.struct |b_extern|
|00003b80| 61 6c 20 7b 09 09 2f 2a | 20 65 78 74 65 72 6e 61 |al {../*| externa|
|00003b90| 6c 20 62 6c 6f 63 6b 20 | 2a 2f 0a 20 20 20 77 6f |l block |*/. wo|
|00003ba0| 72 64 20 74 69 74 6c 65 | 3b 09 09 09 2f 2a 20 20 |rd title|;.../* |
|00003bb0| 20 54 5f 45 78 74 65 72 | 6e 61 6c 20 2a 2f 0a 20 | T_Exter|nal */. |
|00003bc0| 20 20 77 6f 72 64 20 62 | 6c 6b 73 69 7a 65 3b 09 | word b|lksize;.|
|00003bd0| 09 2f 2a 20 20 20 73 69 | 7a 65 20 6f 66 20 62 6c |./* si|ze of bl|
|00003be0| 6f 63 6b 20 2a 2f 0a 20 | 20 20 77 6f 72 64 20 64 |ock */. | word d|
|00003bf0| 65 73 63 6f 66 66 3b 09 | 09 2f 2a 20 20 20 6f 66 |escoff;.|./* of|
|00003c00| 66 73 65 74 20 74 6f 20 | 66 69 72 73 74 20 64 65 |fset to |first de|
|00003c10| 73 63 72 69 70 74 6f 72 | 20 2a 2f 0a 20 20 20 77 |scriptor| */. w|
|00003c20| 6f 72 64 20 65 78 64 61 | 74 61 5b 31 5d 3b 09 09 |ord exda|ta[1];..|
|00003c30| 2f 2a 20 20 20 77 6f 72 | 64 73 20 6f 66 20 65 78 |/* wor|ds of ex|
|00003c40| 74 65 72 6e 61 6c 20 64 | 61 74 61 20 2a 2f 0a 20 |ternal d|ata */. |
|00003c50| 20 20 7d 3b 0a 0a 75 6e | 69 6f 6e 20 62 6c 6f 63 | };..un|ion bloc|
|00003c60| 6b 20 7b 09 09 09 2f 2a | 20 67 65 6e 65 72 61 6c |k {.../*| general|
|00003c70| 20 62 6c 6f 63 6b 20 2a | 2f 0a 20 20 20 73 74 72 | block *|/. str|
|00003c80| 75 63 74 20 62 5f 72 65 | 61 6c 20 72 65 61 6c 62 |uct b_re|al realb|
|00003c90| 6c 6b 3b 0a 20 20 20 73 | 74 72 75 63 74 20 62 5f |lk;. s|truct b_|
|00003ca0| 62 69 67 6e 75 6d 20 62 | 69 67 6e 75 6d 62 6c 6b |bignum b|ignumblk|
|00003cb0| 3b 0a 20 20 20 73 74 72 | 75 63 74 20 62 5f 63 73 |;. str|uct b_cs|
|00003cc0| 65 74 20 63 73 65 74 3b | 0a 20 20 20 73 74 72 75 |et cset;|. stru|
|00003cd0| 63 74 20 62 5f 66 69 6c | 65 20 66 69 6c 65 3b 0a |ct b_fil|e file;.|
|00003ce0| 20 20 20 73 74 72 75 63 | 74 20 62 5f 70 72 6f 63 | struc|t b_proc|
|00003cf0| 20 70 72 6f 63 3b 0a 20 | 20 20 73 74 72 75 63 74 | proc;. | struct|
|00003d00| 20 62 5f 6c 69 73 74 20 | 6c 69 73 74 3b 0a 20 20 | b_list |list;. |
|00003d10| 20 73 74 72 75 63 74 20 | 62 5f 6c 65 6c 65 6d 20 | struct |b_lelem |
|00003d20| 6c 65 6c 65 6d 3b 0a 20 | 20 20 73 74 72 75 63 74 |lelem;. | struct|
|00003d30| 20 62 5f 74 61 62 6c 65 | 20 74 61 62 6c 65 3b 0a | b_table| table;.|
|00003d40| 20 20 20 73 74 72 75 63 | 74 20 62 5f 74 65 6c 65 | struc|t b_tele|
|00003d50| 6d 20 74 65 6c 65 6d 3b | 0a 20 20 20 73 74 72 75 |m telem;|. stru|
|00003d60| 63 74 20 62 5f 73 65 74 | 20 73 65 74 3b 0a 20 20 |ct b_set| set;. |
|00003d70| 20 73 74 72 75 63 74 20 | 62 5f 73 65 6c 65 6d 20 | struct |b_selem |
|00003d80| 73 65 6c 65 6d 3b 0a 20 | 20 20 73 74 72 75 63 74 |selem;. | struct|
|00003d90| 20 62 5f 72 65 63 6f 72 | 64 20 72 65 63 6f 72 64 | b_recor|d record|
|00003da0| 3b 0a 20 20 20 73 74 72 | 75 63 74 20 62 5f 74 76 |;. str|uct b_tv|
|00003db0| 6b 79 77 64 20 74 76 6b | 79 77 64 3b 0a 20 20 20 |kywd tvk|ywd;. |
|00003dc0| 73 74 72 75 63 74 20 62 | 5f 74 76 73 75 62 73 20 |struct b|_tvsubs |
|00003dd0| 74 76 73 75 62 73 3b 0a | 20 20 20 73 74 72 75 63 |tvsubs;.| struc|
|00003de0| 74 20 62 5f 74 76 74 62 | 6c 20 74 76 74 62 6c 3b |t b_tvtb|l tvtbl;|
|00003df0| 0a 20 20 20 73 74 72 75 | 63 74 20 62 5f 72 65 66 |. stru|ct b_ref|
|00003e00| 72 65 73 68 20 72 65 66 | 72 65 73 68 3b 0a 20 20 |resh ref|resh;. |
|00003e10| 20 73 74 72 75 63 74 20 | 62 5f 63 6f 65 78 70 72 | struct |b_coexpr|
|00003e20| 20 63 6f 65 78 70 72 3b | 0a 20 20 20 73 74 72 75 | coexpr;|. stru|
|00003e30| 63 74 20 62 5f 65 78 74 | 65 72 6e 61 6c 20 65 78 |ct b_ext|ernal ex|
|00003e40| 74 65 72 6e 6c 3b 0a 20 | 20 20 7d 3b 0a 0a 2f 2a |ternl;. | };../*|
|00003e50| 0a 20 2a 20 44 65 63 6c | 61 72 61 74 69 6f 6e 73 |. * Decl|arations|
|00003e60| 20 66 6f 72 20 65 6e 74 | 72 69 65 73 20 69 6e 20 | for ent|ries in |
|00003e70| 74 61 62 6c 65 73 20 61 | 73 73 6f 63 69 61 74 69 |tables a|ssociati|
|00003e80| 6e 67 20 69 63 6f 64 65 | 20 6c 6f 63 61 74 69 6f |ng icode| locatio|
|00003e90| 6e 20 77 69 74 68 0a 20 | 2a 20 20 73 6f 75 72 63 |n with. |* sourc|
|00003ea0| 65 20 70 72 6f 67 72 61 | 6d 20 6c 6f 63 61 74 69 |e progra|m locati|
|00003eb0| 6f 6e 2e 0a 20 2a 2f 0a | 73 74 72 75 63 74 20 69 |on.. */.|struct i|
|00003ec0| 70 63 5f 66 6e 61 6d 65 | 20 7b 0a 20 20 20 77 6f |pc_fname| {. wo|
|00003ed0| 72 64 20 69 70 63 3b 09 | 09 2f 2a 20 6f 66 66 73 |rd ipc;.|./* offs|
|00003ee0| 65 74 20 6f 66 20 69 6e | 73 74 72 75 63 74 69 6f |et of in|structio|
|00003ef0| 6e 20 69 6e 74 6f 20 63 | 6f 64 65 20 72 65 67 69 |n into c|ode regi|
|00003f00| 6f 6e 20 2a 2f 0a 20 20 | 20 77 6f 72 64 20 66 6e |on */. | word fn|
|00003f10| 61 6d 65 3b 09 09 2f 2a | 20 6f 66 66 73 65 74 20 |ame;../*| offset |
|00003f20| 6f 66 20 66 69 6c 65 20 | 6e 61 6d 65 20 69 6e 74 |of file |name int|
|00003f30| 6f 20 73 74 72 69 6e 67 | 20 72 65 67 69 6f 6e 20 |o string| region |
|00003f40| 2a 2f 0a 20 20 20 7d 3b | 0a 0a 73 74 72 75 63 74 |*/. };|..struct|
|00003f50| 20 69 70 63 5f 6c 69 6e | 65 20 7b 0a 20 20 20 77 | ipc_lin|e {. w|
|00003f60| 6f 72 64 20 69 70 63 3b | 09 09 2f 2a 20 6f 66 66 |ord ipc;|../* off|
|00003f70| 73 65 74 20 6f 66 20 69 | 6e 73 74 72 75 63 74 69 |set of i|nstructi|
|00003f80| 6f 6e 20 69 6e 74 6f 20 | 63 6f 64 65 20 72 65 67 |on into |code reg|
|00003f90| 69 6f 6e 20 2a 2f 0a 20 | 20 20 69 6e 74 20 6c 69 |ion */. | int li|
|00003fa0| 6e 65 3b 09 09 2f 2a 20 | 6c 69 6e 65 20 6e 75 6d |ne;../* |line num|
|00003fb0| 62 65 72 20 2a 2f 0a 20 | 20 20 7d 3b 0a 0c 0a 2f |ber */. | };.../|
|00003fc0| 2a 0a 20 2a 20 45 78 74 | 65 72 6e 61 6c 20 64 65 |*. * Ext|ernal de|
|00003fd0| 63 6c 61 72 61 74 69 6f | 6e 73 2e 0a 20 2a 2f 0a |claratio|ns.. */.|
|00003fe0| 0a 65 78 74 65 72 6e 20 | 63 68 61 72 20 2a 63 6f |.extern |char *co|
|00003ff0| 64 65 3b 09 09 2f 2a 20 | 73 74 61 72 74 20 6f 66 |de;../* |start of|
|00004000| 20 69 63 6f 64 65 20 2a | 2f 0a 0a 65 78 74 65 72 | icode *|/..exter|
|00004010| 6e 20 77 6f 72 64 20 73 | 74 6b 73 69 7a 65 3b 09 |n word s|tksize;.|
|00004020| 09 2f 2a 20 73 69 7a 65 | 20 6f 66 20 63 6f 2d 65 |./* size| of co-e|
|00004030| 78 70 72 65 73 73 69 6f | 6e 20 73 74 61 63 6b 73 |xpressio|n stacks|
|00004040| 20 69 6e 20 77 6f 72 64 | 73 20 2a 2f 0a 65 78 74 | in word|s */.ext|
|00004050| 65 72 6e 20 73 74 72 75 | 63 74 20 62 5f 63 6f 65 |ern stru|ct b_coe|
|00004060| 78 70 72 20 2a 73 74 6b | 6c 69 73 74 3b 2f 2a 20 |xpr *stk|list;/* |
|00004070| 62 61 73 65 20 6f 66 20 | 63 6f 2d 65 78 70 72 65 |base of |co-expre|
|00004080| 73 73 69 6f 6e 20 73 74 | 61 63 6b 20 6c 69 73 74 |ssion st|ack list|
|00004090| 20 2a 2f 0a 0a 65 78 74 | 65 72 6e 20 77 6f 72 64 | */..ext|ern word|
|000040a0| 20 6d 73 74 6b 73 69 7a | 65 3b 09 09 2f 2a 20 73 | mstksiz|e;../* s|
|000040b0| 69 7a 65 20 6f 66 20 6d | 61 69 6e 20 73 74 61 63 |ize of m|ain stac|
|000040c0| 6b 20 69 6e 20 77 6f 72 | 64 73 20 2a 2f 0a 0a 65 |k in wor|ds */..e|
|000040d0| 78 74 65 72 6e 20 63 68 | 61 72 20 2a 73 74 61 74 |xtern ch|ar *stat|
|000040e0| 62 61 73 65 3b 09 09 2f | 2a 20 73 74 61 72 74 20 |base;../|* start |
|000040f0| 6f 66 20 73 74 61 74 69 | 63 20 73 70 61 63 65 20 |of stati|c space |
|00004100| 2a 2f 0a 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |*/.exter|n char *|
|00004110| 73 74 61 74 65 6e 64 3b | 09 09 2f 2a 20 65 6e 64 |statend;|../* end|
|00004120| 20 6f 66 20 73 74 61 74 | 69 63 20 73 70 61 63 65 | of stat|ic space|
|00004130| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 63 68 61 72 20 | */.exte|rn char |
|00004140| 2a 73 74 61 74 66 72 65 | 65 3b 09 09 2f 2a 20 73 |*statfre|e;../* s|
|00004150| 74 61 74 69 63 20 73 70 | 61 63 65 20 66 72 65 65 |tatic sp|ace free|
|00004160| 20 6c 69 73 74 20 68 65 | 61 64 65 72 20 2a 2f 0a | list he|ader */.|
|00004170| 65 78 74 65 72 6e 20 77 | 6f 72 64 20 73 74 61 74 |extern w|ord stat|
|00004180| 73 69 7a 65 3b 09 09 2f | 2a 20 73 69 7a 65 20 6f |size;../|* size o|
|00004190| 66 20 73 74 61 74 69 63 | 20 73 70 61 63 65 20 2a |f static| space *|
|000041a0| 2f 0a 65 78 74 65 72 6e | 20 77 6f 72 64 20 73 74 |/.extern| word st|
|000041b0| 61 74 69 6e 63 72 3b 09 | 09 2f 2a 20 73 69 7a 65 |atincr;.|./* size|
|000041c0| 20 6f 66 20 69 6e 63 72 | 65 6d 65 6e 74 20 66 6f | of incr|ement fo|
|000041d0| 72 20 73 74 61 74 69 63 | 20 73 70 61 63 65 20 2a |r static| space *|
|000041e0| 2f 0a 0a 65 78 74 65 72 | 6e 20 77 6f 72 64 20 73 |/..exter|n word s|
|000041f0| 73 69 7a 65 3b 09 09 2f | 2a 20 73 69 7a 65 20 6f |size;../|* size o|
|00004200| 66 20 73 74 72 69 6e 67 | 20 73 70 61 63 65 20 28 |f string| space (|
|00004210| 62 79 74 65 73 29 20 2a | 2f 0a 65 78 74 65 72 6e |bytes) *|/.extern|
|00004220| 20 63 68 61 72 20 2a 73 | 74 72 62 61 73 65 3b 09 | char *s|trbase;.|
|00004230| 09 2f 2a 20 73 74 61 72 | 74 20 6f 66 20 73 74 72 |./* star|t of str|
|00004240| 69 6e 67 20 73 70 61 63 | 65 20 2a 2f 0a 65 78 74 |ing spac|e */.ext|
|00004250| 65 72 6e 20 63 68 61 72 | 20 2a 73 74 72 65 6e 64 |ern char| *strend|
|00004260| 3b 09 09 2f 2a 20 65 6e | 64 20 6f 66 20 73 74 72 |;../* en|d of str|
|00004270| 69 6e 67 20 73 70 61 63 | 65 20 2a 2f 0a 65 78 74 |ing spac|e */.ext|
|00004280| 65 72 6e 20 63 68 61 72 | 20 2a 73 74 72 66 72 65 |ern char| *strfre|
|00004290| 65 3b 09 09 2f 2a 20 73 | 74 72 69 6e 67 20 73 70 |e;../* s|tring sp|
|000042a0| 61 63 65 20 66 72 65 65 | 20 70 6f 69 6e 74 65 72 |ace free| pointer|
|000042b0| 20 2a 2f 0a 0a 65 78 74 | 65 72 6e 20 77 6f 72 64 | */..ext|ern word|
|000042c0| 20 61 62 72 73 69 7a 65 | 3b 09 09 2f 2a 20 73 69 | abrsize|;../* si|
|000042d0| 7a 65 20 6f 66 20 61 6c | 6c 6f 63 61 74 65 64 20 |ze of al|located |
|000042e0| 62 6c 6f 63 6b 20 72 65 | 67 69 6f 6e 20 28 77 6f |block re|gion (wo|
|000042f0| 72 64 73 29 20 2a 2f 0a | 65 78 74 65 72 6e 20 63 |rds) */.|extern c|
|00004300| 68 61 72 20 2a 62 6c 6b | 62 61 73 65 3b 09 09 2f |har *blk|base;../|
|00004310| 2a 20 62 61 73 65 20 6f | 66 20 61 6c 6c 6f 63 61 |* base o|f alloca|
|00004320| 74 65 64 20 62 6c 6f 63 | 6b 20 72 65 67 69 6f 6e |ted bloc|k region|
|00004330| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 63 68 61 72 20 | */.exte|rn char |
|00004340| 2a 62 6c 6b 65 6e 64 3b | 09 09 2f 2a 20 6d 61 78 |*blkend;|../* max|
|00004350| 69 6d 75 6d 20 61 64 64 | 72 65 73 73 20 69 6e 20 |imum add|ress in |
|00004360| 61 6c 6c 6f 63 61 74 65 | 64 20 62 6c 6f 63 6b 20 |allocate|d block |
|00004370| 72 65 67 69 6f 6e 20 2a | 2f 0a 65 78 74 65 72 6e |region *|/.extern|
|00004380| 20 63 68 61 72 20 2a 62 | 6c 6b 66 72 65 65 3b 09 | char *b|lkfree;.|
|00004390| 09 2f 2a 20 66 69 72 73 | 74 20 66 72 65 65 20 6c |./* firs|t free l|
|000043a0| 6f 63 61 74 69 6f 6e 20 | 69 6e 20 61 6c 6c 6f 63 |ocation |in alloc|
|000043b0| 61 74 65 64 20 62 6c 6f | 63 6b 20 72 65 67 69 6f |ated blo|ck regio|
|000043c0| 6e 20 2a 2f 0a 0a 65 78 | 74 65 72 6e 20 69 6e 74 |n */..ex|tern int|
|000043d0| 20 62 73 69 7a 65 73 5b | 5d 3b 09 09 2f 2a 20 73 | bsizes[|];../* s|
|000043e0| 69 7a 65 73 20 6f 66 20 | 62 6c 6f 63 6b 73 20 2a |izes of |blocks *|
|000043f0| 2f 0a 65 78 74 65 72 6e | 20 69 6e 74 20 66 69 72 |/.extern| int fir|
|00004400| 73 74 64 5b 5d 3b 09 09 | 2f 2a 20 6f 66 66 73 65 |std[];..|/* offse|
|00004410| 74 20 28 77 6f 72 64 73 | 29 20 6f 66 20 66 69 72 |t (words|) of fir|
|00004420| 73 74 20 64 65 73 63 72 | 69 70 2e 20 2a 2f 0a 65 |st descr|ip. */.e|
|00004430| 78 74 65 72 6e 20 63 68 | 61 72 20 2a 62 6c 6b 6e |xtern ch|ar *blkn|
|00004440| 61 6d 65 5b 5d 3b 09 09 | 2f 2a 20 70 72 69 6e 74 |ame[];..|/* print|
|00004450| 20 6e 61 6d 65 73 20 66 | 6f 72 20 62 6c 6f 63 6b | names f|or block|
|00004460| 20 74 79 70 65 73 2e 20 | 2a 2f 0a 0a 65 78 74 65 | types. |*/..exte|
|00004470| 72 6e 20 73 74 72 75 63 | 74 20 62 5f 74 76 6b 79 |rn struc|t b_tvky|
|00004480| 77 64 20 74 76 6b 79 5f | 70 6f 73 3b 09 2f 2a 20 |wd tvky_|pos;./* |
|00004490| 74 72 61 70 70 65 64 20 | 76 61 72 69 61 62 6c 65 |trapped |variable|
|000044a0| 20 62 6c 6f 63 6b 20 66 | 6f 72 20 26 70 6f 73 20 | block f|or &pos |
|000044b0| 2a 2f 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |*/.exter|n struct|
|000044c0| 20 62 5f 74 76 6b 79 77 | 64 20 74 76 6b 79 5f 72 | b_tvkyw|d tvky_r|
|000044d0| 61 6e 3b 09 2f 2a 20 74 | 72 61 70 70 65 64 20 76 |an;./* t|rapped v|
|000044e0| 61 72 69 61 62 6c 65 20 | 62 6c 6f 63 6b 20 66 6f |ariable |block fo|
|000044f0| 72 20 26 72 61 6e 64 6f | 6d 20 2a 2f 0a 65 78 74 |r &rando|m */.ext|
|00004500| 65 72 6e 20 73 74 72 75 | 63 74 20 62 5f 74 76 6b |ern stru|ct b_tvk|
|00004510| 79 77 64 20 74 76 6b 79 | 5f 73 75 62 3b 09 2f 2a |ywd tvky|_sub;./*|
|00004520| 20 74 72 61 70 70 65 64 | 20 76 61 72 69 61 62 6c | trapped| variabl|
|00004530| 65 20 62 6c 6f 63 6b 20 | 66 6f 72 20 26 73 75 62 |e block |for &sub|
|00004540| 6a 65 63 74 20 2a 2f 0a | 65 78 74 65 72 6e 20 73 |ject */.|extern s|
|00004550| 74 72 75 63 74 20 62 5f | 74 76 6b 79 77 64 20 74 |truct b_|tvkywd t|
|00004560| 76 6b 79 5f 74 72 63 3b | 09 2f 2a 20 74 72 61 70 |vky_trc;|./* trap|
|00004570| 70 65 64 20 76 61 72 69 | 61 62 6c 65 20 62 6c 6f |ped vari|able blo|
|00004580| 63 6b 20 66 6f 72 20 26 | 74 72 61 63 65 20 2a 2f |ck for &|trace */|
|00004590| 0a 65 78 74 65 72 6e 20 | 73 74 72 75 63 74 20 62 |.extern |struct b|
|000045a0| 5f 74 76 6b 79 77 64 20 | 74 76 6b 79 5f 65 72 72 |_tvkywd |tvky_err|
|000045b0| 3b 09 2f 2a 20 74 72 61 | 70 70 65 64 20 76 61 72 |;./* tra|pped var|
|000045c0| 69 61 62 6c 65 20 62 6c | 6f 63 6b 20 66 6f 72 20 |iable bl|ock for |
|000045d0| 26 65 72 72 6f 72 20 2a | 2f 0a 0a 23 64 65 66 69 |&error *|/..#defi|
|000045e0| 6e 65 20 6b 5f 70 6f 73 | 20 74 76 6b 79 5f 70 6f |ne k_pos| tvky_po|
|000045f0| 73 2e 6b 79 76 61 6c 2e | 76 77 6f 72 64 2e 69 6e |s.kyval.|vword.in|
|00004600| 74 65 67 72 09 2f 2a 20 | 76 61 6c 75 65 20 6f 66 |tegr./* |value of|
|00004610| 20 26 70 6f 73 20 2a 2f | 0a 0a 23 64 65 66 69 6e | &pos */|..#defin|
|00004620| 65 20 6b 5f 72 61 6e 64 | 6f 6d 20 74 76 6b 79 5f |e k_rand|om tvky_|
|00004630| 72 61 6e 2e 6b 79 76 61 | 6c 2e 76 77 6f 72 64 2e |ran.kyva|l.vword.|
|00004640| 69 6e 74 65 67 72 09 2f | 2a 20 76 61 6c 75 65 20 |integr./|* value |
|00004650| 6f 66 20 26 72 61 6e 64 | 6f 6d 20 2a 2f 0a 0a 23 |of &rand|om */..#|
|00004660| 64 65 66 69 6e 65 20 6b | 5f 73 75 62 6a 65 63 74 |define k|_subject|
|00004670| 20 74 76 6b 79 5f 73 75 | 62 2e 6b 79 76 61 6c 09 | tvky_su|b.kyval.|
|00004680| 09 2f 2a 20 76 61 6c 75 | 65 20 6f 66 20 26 73 75 |./* valu|e of &su|
|00004690| 62 6a 65 63 74 20 2a 2f | 0a 23 64 65 66 69 6e 65 |bject */|.#define|
|000046a0| 20 6b 5f 74 72 61 63 65 | 20 74 76 6b 79 5f 74 72 | k_trace| tvky_tr|
|000046b0| 63 2e 6b 79 76 61 6c 2e | 76 77 6f 72 64 2e 69 6e |c.kyval.|vword.in|
|000046c0| 74 65 67 72 09 2f 2a 20 | 76 61 6c 75 65 20 6f 66 |tegr./* |value of|
|000046d0| 20 26 74 72 61 63 65 20 | 2a 2f 0a 23 64 65 66 69 | &trace |*/.#defi|
|000046e0| 6e 65 20 6b 5f 65 72 72 | 6f 72 20 74 76 6b 79 5f |ne k_err|or tvky_|
|000046f0| 65 72 72 2e 6b 79 76 61 | 6c 2e 76 77 6f 72 64 2e |err.kyva|l.vword.|
|00004700| 69 6e 74 65 67 72 09 2f | 2a 20 76 61 6c 75 65 20 |integr./|* value |
|00004710| 6f 66 20 26 65 72 72 6f | 72 20 2a 2f 0a 0a 65 78 |of &erro|r */..ex|
|00004720| 74 65 72 6e 20 73 74 72 | 75 63 74 20 62 5f 63 73 |tern str|uct b_cs|
|00004730| 65 74 20 6b 5f 61 73 63 | 69 69 3b 09 09 2f 2a 20 |et k_asc|ii;../* |
|00004740| 76 61 6c 75 65 20 6f 66 | 20 26 61 73 63 69 69 20 |value of| &ascii |
|00004750| 2a 2f 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |*/.exter|n struct|
|00004760| 20 62 5f 63 73 65 74 20 | 6b 5f 63 73 65 74 3b 09 | b_cset |k_cset;.|
|00004770| 09 2f 2a 20 76 61 6c 75 | 65 20 6f 66 20 26 63 73 |./* valu|e of &cs|
|00004780| 65 74 20 2a 2f 0a 65 78 | 74 65 72 6e 20 73 74 72 |et */.ex|tern str|
|00004790| 75 63 74 20 62 5f 63 73 | 65 74 20 6b 5f 64 69 67 |uct b_cs|et k_dig|
|000047a0| 69 74 73 3b 09 09 2f 2a | 20 76 61 6c 75 65 20 6f |its;../*| value o|
|000047b0| 66 20 26 6c 63 61 73 65 | 20 2a 2f 0a 65 78 74 65 |f &lcase| */.exte|
|000047c0| 72 6e 20 73 74 72 75 63 | 74 20 62 5f 66 69 6c 65 |rn struc|t b_file|
|000047d0| 20 6b 5f 65 72 72 6f 75 | 74 3b 09 09 2f 2a 20 76 | k_errou|t;../* v|
|000047e0| 61 6c 75 65 20 6f 66 20 | 26 65 72 72 6f 75 74 20 |alue of |&errout |
|000047f0| 2a 2f 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |*/.exter|n struct|
|00004800| 20 62 5f 66 69 6c 65 20 | 6b 5f 69 6e 70 75 74 3b | b_file |k_input;|
|00004810| 09 09 2f 2a 20 76 61 6c | 75 65 20 6f 66 20 26 69 |../* val|ue of &i|
|00004820| 6e 70 75 74 20 2a 2f 0a | 65 78 74 65 72 6e 20 73 |nput */.|extern s|
|00004830| 74 72 75 63 74 20 62 5f | 63 73 65 74 20 6b 5f 6c |truct b_|cset k_l|
|00004840| 63 61 73 65 3b 09 09 2f | 2a 20 76 61 6c 75 65 20 |case;../|* value |
|00004850| 6f 66 20 26 6c 63 61 73 | 65 20 2a 2f 0a 65 78 74 |of &lcas|e */.ext|
|00004860| 65 72 6e 20 69 6e 74 20 | 6b 5f 6c 65 76 65 6c 3b |ern int |k_level;|
|00004870| 09 09 09 2f 2a 20 76 61 | 6c 75 65 20 6f 66 20 26 |.../* va|lue of &|
|00004880| 6c 65 76 65 6c 20 2a 2f | 0a 65 78 74 65 72 6e 20 |level */|.extern |
|00004890| 63 68 61 72 20 2a 6b 5f | 65 72 72 6f 72 74 65 78 |char *k_|errortex|
|000048a0| 74 3b 09 09 2f 2a 20 76 | 61 6c 75 65 20 6f 66 20 |t;../* v|alue of |
|000048b0| 26 65 72 72 6f 72 74 65 | 78 74 20 2a 2f 0a 65 78 |&errorte|xt */.ex|
|000048c0| 74 65 72 6e 20 69 6e 74 | 20 6b 5f 65 72 72 6f 72 |tern int| k_error|
|000048d0| 6e 75 6d 62 65 72 3b 09 | 09 2f 2a 20 76 61 6c 75 |number;.|./* valu|
|000048e0| 65 20 6f 66 20 26 65 72 | 72 6f 72 6e 75 6d 62 65 |e of &er|rornumbe|
|000048f0| 72 20 2a 2f 0a 65 78 74 | 65 72 6e 20 73 74 72 75 |r */.ext|ern stru|
|00004900| 63 74 20 64 65 73 63 72 | 69 70 20 6b 5f 65 72 72 |ct descr|ip k_err|
|00004910| 6f 72 76 61 6c 75 65 3b | 09 2f 2a 20 76 61 6c 75 |orvalue;|./* valu|
|00004920| 65 20 6f 66 20 26 65 72 | 72 6f 72 76 61 6c 75 65 |e of &er|rorvalue|
|00004930| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 | */.exte|rn struc|
|00004940| 74 20 64 65 73 63 72 69 | 70 20 6b 5f 6d 61 69 6e |t descri|p k_main|
|00004950| 3b 09 09 2f 2a 20 76 61 | 6c 75 65 20 6f 66 20 26 |;../* va|lue of &|
|00004960| 6d 61 69 6e 20 2a 2f 0a | 65 78 74 65 72 6e 20 73 |main */.|extern s|
|00004970| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 6b 5f |truct de|scrip k_|
|00004980| 63 75 72 72 65 6e 74 3b | 09 2f 2a 20 26 63 75 72 |current;|./* &cur|
|00004990| 72 65 6e 74 20 2a 2f 0a | 65 78 74 65 72 6e 20 73 |rent */.|extern s|
|000049a0| 74 72 75 63 74 20 62 5f | 66 69 6c 65 20 6b 5f 6f |truct b_|file k_o|
|000049b0| 75 74 70 75 74 3b 09 09 | 2f 2a 20 76 61 6c 75 65 |utput;..|/* value|
|000049c0| 20 6f 66 20 26 6f 75 74 | 70 75 74 20 2a 2f 0a 65 | of &out|put */.e|
|000049d0| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 62 5f 63 |xtern st|ruct b_c|
|000049e0| 73 65 74 20 6b 5f 75 63 | 61 73 65 3b 09 09 2f 2a |set k_uc|ase;../*|
|000049f0| 20 76 61 6c 75 65 20 6f | 66 20 26 75 63 61 73 65 | value o|f &ucase|
|00004a00| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 6c 6f 6e 67 20 | */.exte|rn long |
|00004a10| 73 74 61 72 74 74 69 6d | 65 3b 09 09 09 2f 2a 20 |starttim|e;.../* |
|00004a20| 73 74 61 72 74 20 74 69 | 6d 65 20 69 6e 20 6d 69 |start ti|me in mi|
|00004a30| 6c 6c 69 73 65 63 6f 6e | 64 73 20 2a 2f 0a 65 78 |llisecon|ds */.ex|
|00004a40| 74 65 72 6e 20 73 74 72 | 75 63 74 20 64 65 73 63 |tern str|uct desc|
|00004a50| 72 69 70 20 6e 75 6c 6c | 64 65 73 63 3b 09 09 2f |rip null|desc;../|
|00004a60| 2a 20 6e 75 6c 6c 20 76 | 61 6c 75 65 20 2a 2f 0a |* null v|alue */.|
|00004a70| 65 78 74 65 72 6e 20 73 | 74 72 75 63 74 20 64 65 |extern s|truct de|
|00004a80| 73 63 72 69 70 20 7a 65 | 72 6f 64 65 73 63 3b 09 |scrip ze|rodesc;.|
|00004a90| 09 2f 2a 20 7a 65 72 6f | 20 2a 2f 0a 65 78 74 65 |./* zero| */.exte|
|00004aa0| 72 6e 20 73 74 72 75 63 | 74 20 64 65 73 63 72 69 |rn struc|t descri|
|00004ab0| 70 20 6f 6e 65 64 65 73 | 63 3b 09 09 2f 2a 20 6f |p onedes|c;../* o|
|00004ac0| 6e 65 20 2a 2f 0a 65 78 | 74 65 72 6e 20 73 74 72 |ne */.ex|tern str|
|00004ad0| 75 63 74 20 64 65 73 63 | 72 69 70 20 65 6d 70 74 |uct desc|rip empt|
|00004ae0| 79 73 74 72 3b 09 09 2f | 2a 20 65 6d 70 74 79 20 |ystr;../|* empty |
|00004af0| 73 74 72 69 6e 67 20 2a | 2f 0a 65 78 74 65 72 6e |string *|/.extern|
|00004b00| 20 73 74 72 75 63 74 20 | 64 65 73 63 72 69 70 20 | struct |descrip |
|00004b10| 62 6c 61 6e 6b 3b 09 09 | 2f 2a 20 62 6c 61 6e 6b |blank;..|/* blank|
|00004b20| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 | */.exte|rn struc|
|00004b30| 74 20 64 65 73 63 72 69 | 70 20 6c 65 74 72 3b 09 |t descri|p letr;.|
|00004b40| 09 2f 2a 20 6c 65 74 74 | 65 72 20 22 72 22 20 2a |./* lett|er "r" *|
|00004b50| 2f 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |/.extern| struct |
|00004b60| 64 65 73 63 72 69 70 20 | 6d 61 70 73 32 3b 09 09 |descrip |maps2;..|
|00004b70| 2f 2a 20 73 65 63 6f 6e | 64 20 61 72 67 75 6d 65 |/* secon|d argume|
|00004b80| 6e 74 20 74 6f 20 6d 61 | 70 28 29 20 2a 2f 0a 65 |nt to ma|p() */.e|
|00004b90| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 64 65 73 |xtern st|ruct des|
|00004ba0| 63 72 69 70 20 6d 61 70 | 73 33 3b 09 09 2f 2a 20 |crip map|s3;../* |
|00004bb0| 74 68 69 72 64 20 61 72 | 67 75 6d 65 6e 74 20 74 |third ar|gument t|
|00004bc0| 6f 20 6d 61 70 28 29 20 | 2a 2f 0a 65 78 74 65 72 |o map() |*/.exter|
|00004bd0| 6e 20 73 74 72 75 63 74 | 20 64 65 73 63 72 69 70 |n struct| descrip|
|00004be0| 20 69 6e 70 75 74 3b 09 | 09 2f 2a 20 26 69 6e 70 | input;.|./* &inp|
|00004bf0| 75 74 20 2a 2f 0a 65 78 | 74 65 72 6e 20 73 74 72 |ut */.ex|tern str|
|00004c00| 75 63 74 20 64 65 73 63 | 72 69 70 20 65 72 72 6f |uct desc|rip erro|
|00004c10| 75 74 3b 09 09 2f 2a 20 | 26 65 72 72 6f 75 74 20 |ut;../* |&errout |
|00004c20| 2a 2f 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |*/.exter|n struct|
|00004c30| 20 64 65 73 63 72 69 70 | 20 6c 63 61 73 65 3b 09 | descrip| lcase;.|
|00004c40| 09 2f 2a 20 6c 6f 77 65 | 72 63 61 73 65 20 73 74 |./* lowe|rcase st|
|00004c50| 72 69 6e 67 20 2a 2f 0a | 65 78 74 65 72 6e 20 73 |ring */.|extern s|
|00004c60| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 75 63 |truct de|scrip uc|
|00004c70| 61 73 65 3b 09 09 2f 2a | 20 75 70 70 65 72 63 61 |ase;../*| upperca|
|00004c80| 73 65 20 73 74 72 69 6e | 67 20 2a 2f 0a 0a 65 78 |se strin|g */..ex|
|00004c90| 74 65 72 6e 20 69 6e 74 | 20 6e 74 65 6e 64 65 64 |tern int| ntended|
|00004ca0| 3b 09 09 2f 2a 20 6e 75 | 6d 62 65 72 20 6f 66 20 |;../* nu|mber of |
|00004cb0| 61 63 74 69 76 65 20 74 | 65 6e 64 65 64 20 64 65 |active t|ended de|
|00004cc0| 73 63 72 69 70 74 6f 72 | 73 20 2a 2f 0a 65 78 74 |scriptor|s */.ext|
|00004cd0| 65 72 6e 20 73 74 72 75 | 63 74 20 64 65 73 63 72 |ern stru|ct descr|
|00004ce0| 69 70 20 74 65 6e 64 65 | 64 5b 5d 3b 09 2f 2a 20 |ip tende|d[];./* |
|00004cf0| 74 65 6e 64 65 64 20 64 | 65 73 63 72 69 70 74 6f |tended d|escripto|
|00004d00| 72 73 20 2a 2f 0a 0a 65 | 78 74 65 72 6e 20 77 6f |rs */..e|xtern wo|
|00004d10| 72 64 20 2a 73 70 3b 09 | 09 2f 2a 20 69 6e 74 65 |rd *sp;.|./* inte|
|00004d20| 72 70 72 65 74 65 72 20 | 73 74 61 63 6b 20 70 6f |rpreter |stack po|
|00004d30| 69 6e 74 65 72 20 2a 2f | 0a 65 78 74 65 72 6e 20 |inter */|.extern |
|00004d40| 77 6f 72 64 20 2a 73 74 | 61 63 6b 3b 09 09 2f 2a |word *st|ack;../*|
|00004d50| 20 69 6e 74 65 72 70 72 | 65 74 65 72 20 73 74 61 | interpr|eter sta|
|00004d60| 63 6b 20 62 61 73 65 20 | 2a 2f 0a 65 78 74 65 72 |ck base |*/.exter|
|00004d70| 6e 20 73 74 72 75 63 74 | 20 70 66 5f 6d 61 72 6b |n struct| pf_mark|
|00004d80| 65 72 20 2a 70 66 70 3b | 09 2f 2a 20 70 72 6f 63 |er *pfp;|./* proc|
|00004d90| 65 64 75 72 65 20 66 72 | 61 6d 65 20 70 6f 69 6e |edure fr|ame poin|
|00004da0| 74 65 72 20 2a 2f 0a 65 | 78 74 65 72 6e 20 73 74 |ter */.e|xtern st|
|00004db0| 72 75 63 74 20 65 66 5f | 6d 61 72 6b 65 72 20 2a |ruct ef_|marker *|
|00004dc0| 65 66 70 3b 09 2f 2a 20 | 65 78 70 72 65 73 73 69 |efp;./* |expressi|
|00004dd0| 6f 6e 20 66 72 61 6d 65 | 20 70 6f 69 6e 74 65 72 |on frame| pointer|
|00004de0| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 | */.exte|rn struc|
|00004df0| 74 20 67 66 5f 6d 61 72 | 6b 65 72 20 2a 67 66 70 |t gf_mar|ker *gfp|
|00004e00| 3b 09 2f 2a 20 67 65 6e | 65 72 61 74 6f 72 20 66 |;./* gen|erator f|
|00004e10| 72 61 6d 65 20 70 6f 69 | 6e 74 65 72 20 2a 2f 0a |rame poi|nter */.|
|00004e20| 65 78 74 65 72 6e 20 69 | 6e 73 74 20 69 70 63 3b |extern i|nst ipc;|
|00004e30| 09 09 2f 2a 20 69 6e 74 | 65 72 70 72 65 74 65 72 |../* int|erpreter|
|00004e40| 20 70 72 6f 67 72 61 6d | 20 63 6f 75 6e 74 65 72 | program| counter|
|00004e50| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 | */.exte|rn struc|
|00004e60| 74 20 64 65 73 63 72 69 | 70 20 2a 61 72 67 70 3b |t descri|p *argp;|
|00004e70| 09 2f 2a 20 61 72 67 75 | 6d 65 6e 74 20 70 6f 69 |./* argu|ment poi|
|00004e80| 6e 74 65 72 20 2a 2f 0a | 65 78 74 65 72 6e 20 69 |nter */.|extern i|
|00004e90| 6e 74 20 69 6c 65 76 65 | 6c 3b 09 09 2f 2a 20 69 |nt ileve|l;../* i|
|00004ea0| 6e 74 65 72 70 72 65 74 | 65 72 20 6c 65 76 65 6c |nterpret|er level|
|00004eb0| 20 2a 2f 0a 0a 23 69 66 | 64 65 66 20 45 78 65 63 | */..#if|def Exec|
|00004ec0| 49 6d 61 67 65 73 0a 65 | 78 74 65 72 6e 20 69 6e |Images.e|xtern in|
|00004ed0| 74 20 64 75 6d 70 65 64 | 3b 09 09 2f 2a 20 74 68 |t dumped|;../* th|
|00004ee0| 65 20 69 6e 74 65 72 70 | 72 65 74 65 72 20 68 61 |e interp|reter ha|
|00004ef0| 73 20 62 65 65 6e 20 64 | 75 6d 70 65 64 20 2a 2f |s been d|umped */|
|00004f00| 0a 23 65 6e 64 69 66 09 | 09 09 09 09 2f 2a 20 45 |.#endif.|..../* E|
|00004f10| 78 65 63 49 6d 61 67 65 | 73 20 2a 2f 0a 0c 0a 2f |xecImage|s */.../|
|00004f20| 2a 0a 20 2a 20 4d 61 63 | 72 6f 20 64 65 66 69 6e |*. * Mac|ro defin|
|00004f30| 69 74 69 6f 6e 73 20 72 | 65 6c 61 74 65 64 20 74 |itions r|elated t|
|00004f40| 6f 20 64 65 73 63 72 69 | 70 74 6f 72 73 2e 0a 20 |o descri|ptors.. |
|00004f50| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 50 6f 69 6e 74 65 |*/../*. |* Pointe|
|00004f60| 72 20 74 6f 20 62 6c 6f | 63 6b 2e 0a 20 2a 2f 0a |r to blo|ck.. */.|
|00004f70| 23 64 65 66 69 6e 65 20 | 42 6c 6b 4c 6f 63 28 64 |#define |BlkLoc(d|
|00004f80| 29 09 28 28 64 29 2e 76 | 77 6f 72 64 2e 62 70 74 |).((d).v|word.bpt|
|00004f90| 72 29 0a 0a 2f 2a 0a 20 | 2a 20 43 68 65 63 6b 20 |r)../*. |* Check |
|00004fa0| 66 6f 72 20 6e 75 6c 6c | 2d 76 61 6c 75 65 64 20 |for null|-valued |
|00004fb0| 64 65 73 63 72 69 70 74 | 6f 72 2e 0a 20 2a 2f 0a |descript|or.. */.|
|00004fc0| 23 64 65 66 69 6e 65 20 | 43 68 6b 4e 75 6c 6c 28 |#define |ChkNull(|
|00004fd0| 64 29 09 28 28 64 29 2e | 64 77 6f 72 64 3d 3d 44 |d).((d).|dword==D|
|00004fe0| 5f 4e 75 6c 6c 29 0a 0a | 2f 2a 0a 20 2a 20 44 65 |_Null)..|/*. * De|
|00004ff0| 72 65 66 65 72 65 6e 63 | 65 20 64 65 73 63 72 69 |referenc|e descri|
|00005000| 70 74 6f 72 2e 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ptor.. *|/.#defin|
|00005010| 65 20 44 65 52 65 66 28 | 64 29 09 28 56 61 72 28 |e DeRef(|d).(Var(|
|00005020| 64 29 20 3f 20 64 65 72 | 65 66 28 26 64 29 20 3a |d) ? der|ef(&d) :|
|00005030| 20 53 75 63 63 65 73 73 | 29 0a 0a 2f 2a 0a 20 2a | Success|)../*. *|
|00005040| 20 43 68 65 63 6b 20 66 | 6f 72 20 65 71 75 69 76 | Check f|or equiv|
|00005050| 61 6c 65 6e 74 20 64 65 | 73 63 72 69 70 74 6f 72 |alent de|scriptor|
|00005060| 73 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 45 |s.. */.#|define E|
|00005070| 71 6c 44 65 73 63 28 64 | 31 2c 64 32 29 09 28 28 |qlDesc(d|1,d2).((|
|00005080| 64 31 29 2e 64 77 6f 72 | 64 20 3d 3d 20 28 64 32 |d1).dwor|d == (d2|
|00005090| 29 2e 64 77 6f 72 64 20 | 26 26 20 42 6c 6b 4c 6f |).dword |&& BlkLo|
|000050a0| 63 28 64 31 29 20 3d 3d | 20 42 6c 6b 4c 6f 63 28 |c(d1) ==| BlkLoc(|
|000050b0| 64 32 29 29 0a 0a 2f 2a | 0a 20 2a 20 49 6e 74 65 |d2))../*|. * Inte|
|000050c0| 67 65 72 20 76 61 6c 75 | 65 2e 0a 20 2a 2f 0a 23 |ger valu|e.. */.#|
|000050d0| 64 65 66 69 6e 65 20 49 | 6e 74 56 61 6c 28 64 29 |define I|ntVal(d)|
|000050e0| 09 28 28 64 29 2e 76 77 | 6f 72 64 2e 69 6e 74 65 |.((d).vw|ord.inte|
|000050f0| 67 72 29 0a 0a 2f 2a 0a | 20 2a 20 4f 66 66 73 65 |gr)../*.| * Offse|
|00005100| 74 20 66 72 6f 6d 20 74 | 6f 70 20 6f 66 20 62 6c |t from t|op of bl|
|00005110| 6f 63 6b 20 74 6f 20 76 | 61 6c 75 65 20 6f 66 20 |ock to v|alue of |
|00005120| 76 61 72 69 61 62 6c 65 | 2e 0a 20 2a 2f 0a 23 64 |variable|.. */.#d|
|00005130| 65 66 69 6e 65 20 4f 66 | 66 73 65 74 28 64 29 09 |efine Of|fset(d).|
|00005140| 28 28 64 29 2e 64 77 6f | 72 64 20 26 20 4f 66 66 |((d).dwo|rd & Off|
|00005150| 73 65 74 4d 61 73 6b 29 | 0a 0a 2f 2a 0a 20 2a 20 |setMask)|../*. * |
|00005160| 43 68 65 63 6b 20 66 6f | 72 20 70 6f 69 6e 74 65 |Check fo|r pointe|
|00005170| 72 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 50 |r.. */.#|define P|
|00005180| 6f 69 6e 74 65 72 28 64 | 29 09 28 28 64 29 2e 64 |ointer(d|).((d).d|
|00005190| 77 6f 72 64 20 26 20 46 | 5f 50 74 72 29 0a 0a 2f |word & F|_Ptr)../|
|000051a0| 2a 0a 20 2a 20 43 68 65 | 63 6b 20 66 6f 72 20 71 |*. * Che|ck for q|
|000051b0| 75 61 6c 69 66 69 65 72 | 2e 0a 20 2a 2f 0a 23 64 |ualifier|.. */.#d|
|000051c0| 65 66 69 6e 65 20 51 75 | 61 6c 28 64 29 09 09 28 |efine Qu|al(d)..(|
|000051d0| 21 28 28 64 29 2e 64 77 | 6f 72 64 20 26 20 46 5f |!((d).dw|ord & F_|
|000051e0| 4e 71 75 61 6c 29 29 0a | 0a 2f 2a 0a 20 2a 20 4c |Nqual)).|./*. * L|
|000051f0| 65 6e 67 74 68 20 6f 66 | 20 73 74 72 69 6e 67 2e |ength of| string.|
|00005200| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 74 72 |. */.#de|fine Str|
|00005210| 4c 65 6e 28 71 29 09 28 | 28 71 29 2e 64 77 6f 72 |Len(q).(|(q).dwor|
|00005220| 64 29 0a 0a 2f 2a 0a 20 | 2a 20 4c 6f 63 61 74 69 |d)../*. |* Locati|
|00005230| 6f 6e 20 6f 66 20 66 69 | 72 73 74 20 63 68 61 72 |on of fi|rst char|
|00005240| 61 63 74 65 72 20 6f 66 | 20 73 74 72 69 6e 67 2e |acter of| string.|
|00005250| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 74 72 |. */.#de|fine Str|
|00005260| 4c 6f 63 28 71 29 09 28 | 28 71 29 2e 76 77 6f 72 |Loc(q).(|(q).vwor|
|00005270| 64 2e 73 70 74 72 29 0a | 0a 2f 2a 0a 20 2a 20 43 |d.sptr).|./*. * C|
|00005280| 68 65 63 6b 20 66 6f 72 | 20 74 72 61 70 70 65 64 |heck for| trapped|
|00005290| 20 76 61 72 69 61 62 6c | 65 2e 0a 20 2a 2f 0a 23 | variabl|e.. */.#|
|000052a0| 64 65 66 69 6e 65 20 54 | 76 61 72 28 64 29 09 09 |define T|var(d)..|
|000052b0| 28 28 64 29 2e 64 77 6f | 72 64 20 26 20 46 5f 54 |((d).dwo|rd & F_T|
|000052c0| 76 61 72 29 0a 0a 2f 2a | 0a 20 2a 20 4c 6f 63 61 |var)../*|. * Loca|
|000052d0| 74 69 6f 6e 20 6f 66 20 | 74 72 61 70 70 65 64 2d |tion of |trapped-|
|000052e0| 76 61 72 69 61 62 6c 65 | 20 62 6c 6f 63 6b 2e 0a |variable| block..|
|000052f0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 76 61 72 | */.#def|ine Tvar|
|00005300| 4c 6f 63 28 64 29 09 28 | 28 64 29 2e 76 77 6f 72 |Loc(d).(|(d).vwor|
|00005310| 64 2e 62 70 74 72 29 0a | 0a 2f 2a 0a 20 2a 20 54 |d.bptr).|./*. * T|
|00005320| 79 70 65 20 6f 66 20 64 | 65 73 63 72 69 70 74 6f |ype of d|escripto|
|00005330| 72 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |r.. */.#|define T|
|00005340| 79 70 65 28 64 29 09 09 | 28 69 6e 74 29 28 28 64 |ype(d)..|(int)((d|
|00005350| 29 2e 64 77 6f 72 64 20 | 26 20 54 79 70 65 4d 61 |).dword |& TypeMa|
|00005360| 73 6b 29 0a 0a 2f 2a 0a | 20 2a 20 43 68 65 63 6b |sk)../*.| * Check|
|00005370| 20 66 6f 72 20 76 61 72 | 69 61 62 6c 65 2e 0a 20 | for var|iable.. |
|00005380| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 61 72 28 64 |*/.#defi|ne Var(d|
|00005390| 29 09 09 28 28 64 29 2e | 64 77 6f 72 64 20 26 20 |)..((d).|dword & |
|000053a0| 46 5f 56 61 72 29 0a 0a | 2f 2a 0a 20 2a 20 4c 6f |F_Var)..|/*. * Lo|
|000053b0| 63 61 74 69 6f 6e 20 6f | 66 20 74 68 65 20 76 61 |cation o|f the va|
|000053c0| 6c 75 65 20 6f 66 20 61 | 20 76 61 72 69 61 62 6c |lue of a| variabl|
|000053d0| 65 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 |e.. */.#|define V|
|000053e0| 61 72 4c 6f 63 28 64 29 | 09 28 28 64 29 2e 76 77 |arLoc(d)|.((d).vw|
|000053f0| 6f 72 64 2e 64 70 74 72 | 29 0a 0a 2f 2a 0a 20 2a |ord.dptr|)../*. *|
|00005400| 20 4d 61 63 72 6f 73 20 | 66 6f 72 20 70 75 73 68 | Macros |for push|
|00005410| 69 6e 67 20 76 61 6c 75 | 65 73 20 6f 6e 20 74 68 |ing valu|es on th|
|00005420| 65 20 69 6e 74 65 72 70 | 72 65 74 65 72 20 73 74 |e interp|reter st|
|00005430| 61 63 6b 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ack.. */|../*. * |
|00005440| 50 75 73 68 20 64 65 73 | 63 72 69 70 74 6f 72 2e |Push des|criptor.|
|00005450| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 50 75 73 |. */.#de|fine Pus|
|00005460| 68 44 65 73 63 28 64 29 | 09 7b 2a 2b 2b 73 70 20 |hDesc(d)|.{*++sp |
|00005470| 3d 20 28 28 64 29 2e 64 | 77 6f 72 64 29 3b 20 73 |= ((d).d|word); s|
|00005480| 70 2b 2b 3b 2a 73 70 20 | 3d 28 28 64 29 2e 76 77 |p++;*sp |=((d).vw|
|00005490| 6f 72 64 2e 69 6e 74 65 | 67 72 29 3b 7d 0a 0a 2f |ord.inte|gr);}../|
|000054a0| 2a 0a 20 2a 20 50 75 73 | 68 20 6e 75 6c 6c 2d 76 |*. * Pus|h null-v|
|000054b0| 61 6c 75 65 64 20 64 65 | 73 63 72 69 70 74 6f 72 |alued de|scriptor|
|000054c0| 2e 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 50 75 |.. */.#d|efine Pu|
|000054d0| 73 68 4e 75 6c 6c 09 7b | 2a 2b 2b 73 70 20 3d 20 |shNull.{|*++sp = |
|000054e0| 44 5f 4e 75 6c 6c 3b 20 | 73 70 2b 2b 3b 20 2a 73 |D_Null; |sp++; *s|
|000054f0| 70 20 3d 20 30 3b 7d 0a | 0a 2f 2a 0a 20 2a 20 50 |p = 0;}.|./*. * P|
|00005500| 75 73 68 20 77 6f 72 64 | 2e 0a 20 2a 2f 0a 23 64 |ush word|.. */.#d|
|00005510| 65 66 69 6e 65 20 50 75 | 73 68 56 61 6c 28 76 29 |efine Pu|shVal(v)|
|00005520| 09 7b 2a 2b 2b 73 70 20 | 3d 20 28 77 6f 72 64 29 |.{*++sp |= (word)|
|00005530| 28 76 29 3b 7d 0a 0a 2f | 2a 0a 20 2a 20 4d 61 63 |(v);}../|*. * Mac|
|00005540| 72 6f 73 20 72 65 6c 61 | 74 65 64 20 74 6f 20 66 |ros rela|ted to f|
|00005550| 75 6e 63 74 69 6f 6e 20 | 61 6e 64 20 6f 70 65 72 |unction |and oper|
|00005560| 61 74 6f 72 20 64 65 66 | 69 6e 69 74 69 6f 6e 2e |ator def|inition.|
|00005570| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 50 72 6f 63 |. */../*|. * Proc|
|00005580| 65 64 75 72 65 20 62 6c | 6f 63 6b 20 66 6f 72 20 |edure bl|ock for |
|00005590| 61 20 66 75 6e 63 74 69 | 6f 6e 2e 0a 20 2a 2f 0a |a functi|on.. */.|
|000055a0| 23 64 65 66 69 6e 65 20 | 46 6e 63 42 6c 6f 63 6b |#define |FncBlock|
|000055b0| 28 66 2c 6e 61 72 67 73 | 29 5c 0a 09 69 6e 74 20 |(f,nargs|)\..int |
|000055c0| 43 61 74 28 58 2c 66 29 | 28 29 3b 5c 0a 09 73 74 |Cat(X,f)|();\..st|
|000055d0| 72 75 63 74 20 62 5f 69 | 70 72 6f 63 20 43 61 74 |ruct b_i|proc Cat|
|000055e0| 28 42 2c 66 29 20 3d 20 | 7b 5c 0a 09 54 5f 50 72 |(B,f) = |{\..T_Pr|
|000055f0| 6f 63 2c 5c 0a 09 56 73 | 69 7a 65 6f 66 28 73 74 |oc,\..Vs|izeof(st|
|00005600| 72 75 63 74 20 62 5f 70 | 72 6f 63 29 2c 5c 0a 09 |ruct b_p|roc),\..|
|00005610| 43 61 74 28 58 2c 66 29 | 2c 5c 0a 09 6e 61 72 67 |Cat(X,f)|,\..narg|
|00005620| 73 2c 5c 0a 09 2d 31 2c | 5c 0a 09 30 2c 20 30 2c |s,\..-1,|\..0, 0,|
|00005630| 5c 0a 09 7b 73 69 7a 65 | 6f 66 28 4c 69 74 28 66 |\..{size|of(Lit(f|
|00005640| 29 29 2d 31 2c 4c 69 74 | 28 66 29 7d 7d 3b 0a 0a |))-1,Lit|(f)}};..|
|00005650| 2f 2a 0a 20 2a 20 46 75 | 6e 63 74 69 6f 6e 20 64 |/*. * Fu|nction d|
|00005660| 65 63 6c 61 72 61 74 69 | 6f 6e 2e 0a 20 2a 2f 0a |eclarati|on.. */.|
|00005670| 23 64 65 66 69 6e 65 20 | 46 6e 63 44 63 6c 28 6e |#define |FncDcl(n|
|00005680| 6d 2c 6e 29 5c 0a 09 46 | 6e 63 42 6c 6f 63 6b 28 |m,n)\..F|ncBlock(|
|00005690| 6e 6d 2c 6e 29 20 43 61 | 74 28 58 2c 6e 6d 29 28 |nm,n) Ca|t(X,nm)(|
|000056a0| 63 61 72 67 70 29 20 72 | 65 67 69 73 74 65 72 20 |cargp) r|egister |
|000056b0| 73 74 72 75 63 74 20 64 | 65 73 63 72 69 70 20 2a |struct d|escrip *|
|000056c0| 63 61 72 67 70 3b 0a 0a | 2f 2a 0a 20 2a 20 46 75 |cargp;..|/*. * Fu|
|000056d0| 6e 63 74 69 6f 6e 20 64 | 65 63 6c 61 72 61 74 69 |nction d|eclarati|
|000056e0| 6f 6e 20 66 6f 72 20 76 | 61 72 69 61 62 6c 65 20 |on for v|ariable |
|000056f0| 6e 75 6d 62 65 72 20 6f | 66 20 61 72 67 75 6d 65 |number o|f argume|
|00005700| 6e 74 73 2e 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |nts.. */|.#define|
|00005710| 20 46 6e 63 44 63 6c 56 | 28 6e 6d 29 5c 0a 09 46 | FncDclV|(nm)\..F|
|00005720| 6e 63 42 6c 6f 63 6b 28 | 6e 6d 2c 2d 31 29 20 43 |ncBlock(|nm,-1) C|
|00005730| 61 74 28 58 2c 6e 6d 29 | 28 6e 61 72 67 73 2c 63 |at(X,nm)|(nargs,c|
|00005740| 61 72 67 70 29 20 72 65 | 67 69 73 74 65 72 20 73 |argp) re|gister s|
|00005750| 74 72 75 63 74 20 64 65 | 73 63 72 69 70 20 2a 63 |truct de|scrip *c|
|00005760| 61 72 67 70 3b 0a 0a 2f | 2a 0a 20 2a 20 44 65 63 |argp;../|*. * Dec|
|00005770| 6c 61 72 61 74 69 6f 6e | 20 66 6f 72 20 6c 69 62 |laration| for lib|
|00005780| 72 61 72 79 20 72 6f 75 | 74 69 6e 65 2e 0a 20 2a |rary rou|tine.. *|
|00005790| 2f 0a 23 64 65 66 69 6e | 65 20 4c 69 62 44 63 6c |/.#defin|e LibDcl|
|000057a0| 28 6e 6d 2c 6e 2c 70 6e | 29 5c 0a 09 4f 70 42 6c |(nm,n,pn|)\..OpBl|
|000057b0| 6f 63 6b 28 6e 6d 2c 6e | 2c 70 6e 2c 30 29 20 6e |ock(nm,n|,pn,0) n|
|000057c0| 6d 28 6e 61 72 67 73 2c | 63 61 72 67 70 29 20 72 |m(nargs,|cargp) r|
|000057d0| 65 67 69 73 74 65 72 20 | 73 74 72 75 63 74 20 64 |egister |struct d|
|000057e0| 65 73 63 72 69 70 20 2a | 63 61 72 67 70 3b 0a 0a |escrip *|cargp;..|
|000057f0| 2f 2a 0a 20 2a 20 50 72 | 6f 63 65 64 75 72 65 20 |/*. * Pr|ocedure |
|00005800| 62 6c 6f 63 6b 20 66 6f | 72 20 61 6e 20 6f 70 65 |block fo|r an ope|
|00005810| 72 61 74 6f 72 2e 0a 20 | 2a 2f 0a 23 64 65 66 69 |rator.. |*/.#defi|
|00005820| 6e 65 20 4f 70 42 6c 6f | 63 6b 28 66 2c 6e 61 72 |ne OpBlo|ck(f,nar|
|00005830| 67 73 2c 73 6e 61 6d 65 | 2c 72 65 61 6c 61 72 67 |gs,sname|,realarg|
|00005840| 73 29 5c 0a 09 69 6e 74 | 20 66 28 29 3b 5c 0a 09 |s)\..int| f();\..|
|00005850| 73 74 72 75 63 74 20 62 | 5f 69 70 72 6f 63 20 43 |struct b|_iproc C|
|00005860| 61 74 28 42 2c 66 29 20 | 3d 20 7b 5c 0a 09 54 5f |at(B,f) |= {\..T_|
|00005870| 50 72 6f 63 2c 5c 0a 09 | 56 73 69 7a 65 6f 66 28 |Proc,\..|Vsizeof(|
|00005880| 73 74 72 75 63 74 20 62 | 5f 70 72 6f 63 29 2c 5c |struct b|_proc),\|
|00005890| 0a 09 66 2c 5c 0a 09 6e | 61 72 67 73 2c 5c 0a 09 |..f,\..n|args,\..|
|000058a0| 2d 31 2c 5c 0a 09 72 65 | 61 6c 61 72 67 73 2c 5c |-1,\..re|alargs,\|
|000058b0| 0a 09 30 2c 5c 0a 09 7b | 73 69 7a 65 6f 66 28 73 |..0,\..{|sizeof(s|
|000058c0| 6e 61 6d 65 29 2d 31 2c | 73 6e 61 6d 65 7d 7d 3b |name)-1,|sname}};|
|000058d0| 0a 0a 2f 2a 0a 20 2a 20 | 4f 70 65 72 61 74 6f 72 |../*. * |Operator|
|000058e0| 20 64 65 63 6c 61 72 61 | 74 69 6f 6e 2e 0a 20 2a | declara|tion.. *|
|000058f0| 2f 0a 23 64 65 66 69 6e | 65 20 4f 70 44 63 6c 28 |/.#defin|e OpDcl(|
|00005900| 6e 6d 2c 6e 2c 70 6e 29 | 5c 0a 09 4f 70 42 6c 6f |nm,n,pn)|\..OpBlo|
|00005910| 63 6b 28 6e 6d 2c 6e 2c | 70 6e 2c 30 29 20 6e 6d |ck(nm,n,|pn,0) nm|
|00005920| 28 63 61 72 67 70 29 20 | 72 65 67 69 73 74 65 72 |(cargp) |register|
|00005930| 20 73 74 72 75 63 74 20 | 64 65 73 63 72 69 70 20 | struct |descrip |
|00005940| 2a 63 61 72 67 70 3b 0a | 0a 2f 2a 0a 20 2a 20 4f |*cargp;.|./*. * O|
|00005950| 70 65 72 61 74 6f 72 20 | 64 65 66 69 6e 69 74 69 |perator |definiti|
|00005960| 6f 6e 20 66 6f 72 20 6f | 70 65 72 61 74 6f 72 20 |on for o|perator |
|00005970| 72 65 71 75 69 72 69 6e | 67 20 61 6e 20 65 78 74 |requirin|g an ext|
|00005980| 72 61 20 76 61 72 69 61 | 62 6c 65 20 61 72 67 75 |ra varia|ble argu|
|00005990| 6d 65 6e 74 2e 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ment.. *|/.#defin|
|000059a0| 65 20 4f 70 44 63 6c 56 | 28 6e 6d 2c 6e 2c 70 6e |e OpDclV|(nm,n,pn|
|000059b0| 29 5c 0a 09 4f 70 42 6c | 6f 63 6b 28 6e 6d 2c 6e |)\..OpBl|ock(nm,n|
|000059c0| 2b 31 2c 70 6e 2c 2d 6e | 29 20 6e 6d 28 63 61 72 |+1,pn,-n|) nm(car|
|000059d0| 67 70 29 20 72 65 67 69 | 73 74 65 72 20 73 74 72 |gp) regi|ster str|
|000059e0| 75 63 74 20 64 65 73 63 | 72 69 70 20 2a 63 61 72 |uct desc|rip *car|
|000059f0| 67 70 3b 0a 0a 2f 2a 0a | 20 2a 20 4d 61 63 72 6f |gp;../*.| * Macro|
|00005a00| 73 20 74 6f 20 61 63 63 | 65 73 73 20 49 63 6f 6e |s to acc|ess Icon|
|00005a10| 20 61 72 67 75 6d 65 6e | 74 73 20 69 6e 20 43 20 | argumen|ts in C |
|00005a20| 66 75 6e 63 74 69 6f 6e | 73 2e 0a 20 2a 2f 0a 0a |function|s.. */..|
|00005a30| 2f 2a 0a 20 2a 20 6e 2d | 74 68 20 61 72 67 75 6d |/*. * n-|th argum|
|00005a40| 65 6e 74 2e 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ent.. */|.#define|
|00005a50| 20 41 72 67 28 6e 29 09 | 20 09 28 63 61 72 67 70 | Arg(n).| .(cargp|
|00005a60| 5b 6e 5d 29 0a 0a 2f 2a | 0a 20 2a 20 54 79 70 65 |[n])../*|. * Type|
|00005a70| 20 66 69 65 6c 64 20 6f | 66 20 6e 2d 74 68 20 61 | field o|f n-th a|
|00005a80| 72 67 75 6d 65 6e 74 2e | 0a 20 2a 2f 0a 23 64 65 |rgument.|. */.#de|
|00005a90| 66 69 6e 65 20 41 72 67 | 54 79 70 65 28 6e 29 09 |fine Arg|Type(n).|
|00005aa0| 28 63 61 72 67 70 5b 6e | 5d 2e 64 77 6f 72 64 29 |(cargp[n|].dword)|
|00005ab0| 0a 0a 2f 2a 0a 20 2a 20 | 56 61 6c 75 65 20 66 69 |../*. * |Value fi|
|00005ac0| 65 6c 64 20 6f 66 20 6e | 2d 74 68 20 61 72 67 75 |eld of n|-th argu|
|00005ad0| 6d 65 6e 74 2e 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ment.. *|/.#defin|
|00005ae0| 65 20 41 72 67 56 61 6c | 28 6e 29 09 28 63 61 72 |e ArgVal|(n).(car|
|00005af0| 67 70 5b 6e 5d 2e 76 77 | 6f 72 64 2e 69 6e 74 65 |gp[n].vw|ord.inte|
|00005b00| 67 72 29 0a 0a 2f 2a 0a | 20 2a 20 53 70 65 63 69 |gr)../*.| * Speci|
|00005b10| 66 69 63 20 61 72 67 75 | 6d 65 6e 74 73 2e 0a 20 |fic argu|ments.. |
|00005b20| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 41 72 67 30 09 |*/.#defi|ne Arg0.|
|00005b30| 28 63 61 72 67 70 5b 30 | 5d 29 0a 23 64 65 66 69 |(cargp[0|]).#defi|
|00005b40| 6e 65 20 41 72 67 31 09 | 28 63 61 72 67 70 5b 31 |ne Arg1.|(cargp[1|
|00005b50| 5d 29 0a 23 64 65 66 69 | 6e 65 20 41 72 67 32 09 |]).#defi|ne Arg2.|
|00005b60| 28 63 61 72 67 70 5b 32 | 5d 29 0a 23 64 65 66 69 |(cargp[2|]).#defi|
|00005b70| 6e 65 20 41 72 67 33 09 | 28 63 61 72 67 70 5b 33 |ne Arg3.|(cargp[3|
|00005b80| 5d 29 0a 23 64 65 66 69 | 6e 65 20 41 72 67 34 09 |]).#defi|ne Arg4.|
|00005b90| 28 63 61 72 67 70 5b 34 | 5d 29 0a 23 64 65 66 69 |(cargp[4|]).#defi|
|00005ba0| 6e 65 20 41 72 67 35 09 | 28 63 61 72 67 70 5b 35 |ne Arg5.|(cargp[5|
|00005bb0| 5d 29 0a 23 64 65 66 69 | 6e 65 20 41 72 67 36 09 |]).#defi|ne Arg6.|
|00005bc0| 28 63 61 72 67 70 5b 36 | 5d 29 0a 0a 2f 2a 0a 20 |(cargp[6|])../*. |
|00005bd0| 2a 20 43 6f 64 65 20 65 | 78 70 61 6e 73 69 6f 6e |* Code e|xpansion|
|00005be0| 73 20 66 6f 72 20 65 78 | 69 74 73 20 66 72 6f 6d |s for ex|its from|
|00005bf0| 20 43 20 63 6f 64 65 20 | 66 6f 72 20 74 6f 70 2d | C code |for top-|
|00005c00| 6c 65 76 65 6c 20 72 6f | 75 74 69 6e 65 73 2e 0a |level ro|utines..|
|00005c10| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 46 61 69 6c | */.#def|ine Fail|
|00005c20| 09 09 72 65 74 75 72 6e | 20 41 5f 46 61 69 6c 75 |..return| A_Failu|
|00005c30| 72 65 0a 23 64 65 66 69 | 6e 65 20 52 65 74 75 72 |re.#defi|ne Retur|
|00005c40| 6e 09 09 72 65 74 75 72 | 6e 20 41 5f 52 65 74 75 |n..retur|n A_Retu|
|00005c50| 72 6e 0a 23 64 65 66 69 | 6e 65 20 53 75 73 70 65 |rn.#defi|ne Suspe|
|00005c60| 6e 64 20 20 7b 20 5c 0a | 20 20 20 69 6e 74 20 72 |nd { \.| int r|
|00005c70| 63 3b 20 5c 0a 20 20 20 | 69 66 20 28 28 72 63 20 |c; \. |if ((rc |
|00005c80| 3d 20 69 6e 74 65 72 70 | 28 47 5f 43 73 75 73 70 |= interp|(G_Csusp|
|00005c90| 2c 63 61 72 67 70 29 29 | 20 21 3d 20 41 5f 52 65 |,cargp))| != A_Re|
|00005ca0| 73 75 6d 70 74 69 6f 6e | 29 20 5c 0a 20 20 20 20 |sumption|) \. |
|00005cb0| 20 20 72 65 74 75 72 6e | 20 72 63 3b 7d 20 0a 0a | return| rc;} ..|
|00005cc0| 2f 2a 0a 20 2a 20 4d 69 | 73 63 65 6c 6c 61 6e 65 |/*. * Mi|scellane|
|00005cd0| 6f 75 73 20 6d 61 63 72 | 6f 20 64 65 66 69 6e 69 |ous macr|o defini|
|00005ce0| 74 69 6f 6e 73 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |tions.. |*/../*. |
|00005cf0| 2a 20 45 72 72 6f 72 20 | 65 78 69 74 20 66 72 6f |* Error |exit fro|
|00005d00| 6d 20 6e 6f 6e 20 74 6f | 70 2d 6c 65 76 65 6c 20 |m non to|p-level |
|00005d10| 72 6f 75 74 69 6e 65 73 | 2e 0a 20 2a 2f 0a 23 64 |routines|.. */.#d|
|00005d20| 65 66 69 6e 65 20 52 65 | 74 45 72 72 6f 72 28 6e |efine Re|tError(n|
|00005d30| 2c 76 29 20 7b 5c 0a 20 | 20 20 6b 5f 65 72 72 6f |,v) {\. | k_erro|
|00005d40| 72 6e 75 6d 62 65 72 20 | 3d 20 6e 3b 5c 0a 20 20 |rnumber |= n;\. |
|00005d50| 20 6b 5f 65 72 72 6f 72 | 74 65 78 74 20 3d 20 22 | k_error|text = "|
|00005d60| 22 3b 5c 0a 20 20 20 6b | 5f 65 72 72 6f 72 76 61 |";\. k|_errorva|
|00005d70| 6c 75 65 20 3d 20 76 3b | 5c 0a 20 20 20 72 65 74 |lue = v;|\. ret|
|00005d80| 75 72 6e 20 45 72 72 6f | 72 3b 7d 0a 0a 2f 2a 0a |urn Erro|r;}../*.|
|00005d90| 20 2a 20 47 65 74 20 66 | 6c 6f 61 74 69 6e 67 2d | * Get f|loating-|
|00005da0| 70 6f 69 6e 74 20 6e 75 | 6d 62 65 72 20 66 72 6f |point nu|mber fro|
|00005db0| 6d 20 72 65 61 6c 20 62 | 6c 6f 63 6b 2e 0a 20 2a |m real b|lock.. *|
|00005dc0| 2f 0a 23 69 66 64 65 66 | 20 44 6f 75 62 6c 65 0a |/.#ifdef| Double.|
|00005dd0| 23 64 65 66 69 6e 65 20 | 47 65 74 52 65 61 6c 28 |#define |GetReal(|
|00005de0| 64 70 2c 72 65 73 29 09 | 7b 20 5c 0a 20 20 20 20 |dp,res).|{ \. |
|00005df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005e00| 20 20 20 20 20 77 6f 72 | 64 20 2a 72 70 2c 20 2a | wor|d *rp, *|
|00005e10| 72 71 3b 20 5c 0a 20 20 | 20 20 20 20 20 20 20 20 |rq; \. | |
|00005e20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|00005e30| 70 20 3d 20 28 77 6f 72 | 64 20 2a 29 20 26 28 72 |p = (wor|d *) &(r|
|00005e40| 65 73 29 3b 20 5c 0a 20 | 20 20 20 20 20 20 20 20 |es); \. | |
|00005e50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005e60| 72 71 20 3d 20 28 77 6f | 72 64 20 2a 29 20 26 28 |rq = (wo|rd *) &(|
|00005e70| 42 6c 6b 4c 6f 63 28 2a | 64 70 29 2d 3e 72 65 61 |BlkLoc(*|dp)->rea|
|00005e80| 6c 62 6c 6b 2e 72 65 61 | 6c 76 61 6c 29 3b 20 5c |lblk.rea|lval); \|
|00005e90| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00005ea0| 20 20 20 20 20 20 20 20 | 20 20 2a 72 70 2b 2b 20 | | *rp++ |
|00005eb0| 3d 20 2a 72 71 2b 2b 3b | 20 5c 0a 20 20 20 20 20 |= *rq++;| \. |
|00005ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ed0| 20 20 20 20 2a 72 70 20 | 3d 20 2a 72 71 3b 7d 20 | *rp |= *rq;} |
|00005ee0| 0a 23 65 6c 73 65 09 09 | 09 09 09 2f 2a 20 44 6f |.#else..|.../* Do|
|00005ef0| 75 62 6c 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |uble */.|#define |
|00005f00| 47 65 74 52 65 61 6c 28 | 64 70 2c 72 65 73 29 09 |GetReal(|dp,res).|
|00005f10| 72 65 73 20 3d 20 42 6c | 6b 4c 6f 63 28 2a 64 70 |res = Bl|kLoc(*dp|
|00005f20| 29 2d 3e 72 65 61 6c 62 | 6c 6b 2e 72 65 61 6c 76 |)->realb|lk.realv|
|00005f30| 61 6c 0a 23 65 6e 64 69 | 66 09 09 09 09 09 2f 2a |al.#endi|f...../*|
|00005f40| 20 44 6f 75 62 6c 65 20 | 2a 2f 0a 0a 2f 2a 0a 20 | Double |*/../*. |
|00005f50| 2a 20 4d 61 78 69 6d 75 | 6d 20 6f 66 20 78 20 61 |* Maximu|m of x a|
|00005f60| 6e 64 20 79 2e 0a 20 2a | 2f 0a 23 64 65 66 69 6e |nd y.. *|/.#defin|
|00005f70| 65 20 4d 61 78 28 78 2c | 79 29 09 28 28 78 29 3e |e Max(x,|y).((x)>|
|00005f80| 28 79 29 3f 28 78 29 3a | 28 79 29 29 0a 0a 2f 2a |(y)?(x):|(y))../*|
|00005f90| 0a 20 2a 20 4d 69 6e 69 | 6d 75 6d 20 6f 66 20 78 |. * Mini|mum of x|
|00005fa0| 20 61 6e 64 20 79 2e 0a | 20 2a 2f 0a 23 64 65 66 | and y..| */.#def|
|00005fb0| 69 6e 65 20 4d 69 6e 28 | 78 2c 79 29 09 28 28 78 |ine Min(|x,y).((x|
|00005fc0| 29 3c 28 79 29 3f 28 78 | 29 3a 28 79 29 29 20 0a |)<(y)?(x|):(y)) .|
|00005fd0| 0a 2f 2a 0a 20 2a 20 41 | 62 73 6f 6c 75 74 65 20 |./*. * A|bsolute |
|00005fe0| 61 76 6c 75 65 20 6f 66 | 20 78 2e 20 4e 65 65 64 |avlue of| x. Need|
|00005ff0| 65 64 20 66 6f 72 20 4d | 53 2d 44 4f 53 20 4c 61 |ed for M|S-DOS La|
|00006000| 74 74 69 63 65 20 43 20 | 6f 6e 6c 79 20 28 72 65 |ttice C |only (re|
|00006010| 66 3a 20 6d 61 74 68 2e | 68 29 2e 0a 20 2a 2f 0a |f: math.|h).. */.|
|00006020| 0a 23 69 66 20 4d 53 44 | 4f 53 0a 23 69 66 20 4c |.#if MSD|OS.#if L|
|00006030| 41 54 54 49 43 45 0a 23 | 75 6e 64 65 66 20 61 62 |ATTICE.#|undef ab|
|00006040| 73 0a 23 64 65 66 69 6e | 65 20 61 62 73 28 78 29 |s.#defin|e abs(x)|
|00006050| 20 28 28 78 29 3c 30 3f | 2d 28 78 29 3a 28 78 29 | ((x)<0?|-(x):(x)|
|00006060| 29 0a 23 65 6e 64 69 66 | 09 09 09 09 09 2f 2a 20 |).#endif|...../* |
|00006070| 4c 41 54 54 49 43 45 20 | 2a 2f 0a 23 65 6e 64 69 |LATTICE |*/.#endi|
|00006080| 66 09 09 09 09 09 2f 2a | 20 4d 53 44 4f 53 20 2a |f...../*| MSDOS *|
|00006090| 2f 0a 0a 2f 2a 0a 20 2a | 20 43 6f 6e 73 74 72 75 |/../*. *| Constru|
|000060a0| 63 74 20 61 6e 20 69 6e | 74 65 67 65 72 20 64 65 |ct an in|teger de|
|000060b0| 73 63 72 69 70 74 6f 72 | 2e 20 4d 6b 49 6e 74 54 |scriptor|. MkIntT|
|000060c0| 20 69 73 20 75 73 65 64 | 20 69 6e 20 74 6f 70 20 | is used| in top |
|000060d0| 6c 65 76 65 6c 20 72 6f | 75 74 69 6e 65 73 20 61 |level ro|utines a|
|000060e0| 6e 64 0a 20 2a 20 20 4d | 6b 69 6e 74 52 20 69 73 |nd. * M|kintR is|
|000060f0| 20 75 73 65 64 20 69 6e | 20 72 75 6e 2d 74 69 6d | used in| run-tim|
|00006100| 65 20 73 75 70 70 6f 72 | 74 20 72 6f 75 74 69 6e |e suppor|t routin|
|00006110| 65 73 2e 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |es.. */.|#define |
|00006120| 4d 6b 49 6e 74 54 28 69 | 2c 64 70 29 09 7b 20 5c |MkIntT(i|,dp).{ \|
|00006130| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00006140| 20 20 09 20 28 64 70 29 | 2d 3e 64 77 6f 72 64 20 | . (dp)|->dword |
|00006150| 3d 20 44 5f 49 6e 74 65 | 67 65 72 3b 20 5c 0a 20 |= D_Inte|ger; \. |
|00006160| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00006170| 20 20 20 20 20 20 20 20 | 49 6e 74 56 61 6c 28 2a | |IntVal(*|
|00006180| 64 70 29 20 3d 20 28 77 | 6f 72 64 29 20 28 69 29 |dp) = (w|ord) (i)|
|00006190| 3b 7d 20 0a 23 64 65 66 | 69 6e 65 20 4d 6b 49 6e |;} .#def|ine MkIn|
|000061a0| 74 52 28 69 2c 64 70 29 | 09 4d 6b 49 6e 74 54 28 |tR(i,dp)|.MkIntT(|
|000061b0| 69 2c 64 70 29 0a 0a 2f | 2a 0a 20 2a 20 47 65 74 |i,dp)../|*. * Get|
|000061c0| 20 73 6c 6f 74 20 6e 75 | 6d 62 65 72 20 69 6e 20 | slot nu|mber in |
|000061d0| 73 65 74 20 6f 72 20 74 | 61 62 6c 65 2e 0a 20 2a |set or t|able.. *|
|000061e0| 2f 0a 23 69 66 20 49 6e | 74 42 69 74 73 20 3d 3d |/.#if In|tBits ==|
|000061f0| 20 31 36 0a 23 64 65 66 | 69 6e 65 20 53 6c 6f 74 | 16.#def|ine Slot|
|00006200| 4e 75 6d 28 69 2c 6a 29 | 09 28 28 77 6f 72 64 29 |Num(i,j)|.((word)|
|00006210| 28 69 26 7e 28 31 3c 3c | 28 57 6f 72 64 42 69 74 |(i&~(1<<|(WordBit|
|00006220| 73 20 2d 20 31 29 29 29 | 20 25 20 6a 29 0a 23 65 |s - 1)))| % j).#e|
|00006230| 6c 73 65 09 09 09 09 09 | 2f 2a 20 49 6e 74 42 69 |lse.....|/* IntBi|
|00006240| 74 73 20 3d 3d 20 31 36 | 20 2a 2f 0a 23 64 65 66 |ts == 16| */.#def|
|00006250| 69 6e 65 20 53 6c 6f 74 | 4e 75 6d 28 69 2c 6a 29 |ine Slot|Num(i,j)|
|00006260| 09 28 28 69 26 7e 28 31 | 3c 3c 28 57 6f 72 64 42 |.((i&~(1|<<(WordB|
|00006270| 69 74 73 20 2d 20 31 29 | 29 29 20 25 20 6a 29 0a |its - 1)|)) % j).|
|00006280| 23 65 6e 64 69 66 09 09 | 09 09 09 2f 2a 20 49 6e |#endif..|.../* In|
|00006290| 74 42 69 74 73 20 3d 3d | 20 31 36 20 2a 2f 0a 0a |tBits ==| 16 */..|
|000062a0| 2f 2a 0a 20 2a 20 52 75 | 6e 45 72 72 20 65 6e 63 |/*. * Ru|nErr enc|
|000062b0| 61 70 73 75 6c 61 74 65 | 73 20 61 20 63 61 6c 6c |apsulate|s a call|
|000062c0| 20 74 6f 20 74 68 65 20 | 66 75 6e 63 74 69 6f 6e | to the |function|
|000062d0| 20 72 75 6e 65 72 72 2c | 20 66 6f 6c 6c 6f 77 65 | runerr,| followe|
|000062e0| 64 0a 20 2a 20 20 62 79 | 20 46 61 69 6c 2e 20 20 |d. * by| Fail. |
|000062f0| 54 68 65 20 69 64 65 61 | 20 69 73 20 74 6f 20 61 |The idea| is to a|
|00006300| 76 6f 69 64 20 74 68 65 | 20 70 72 6f 62 6c 65 6d |void the| problem|
|00006310| 20 6f 66 20 63 61 6c 6c | 69 6e 67 69 6e 67 0a 20 | of call|inging. |
|00006320| 2a 20 20 72 75 6e 65 72 | 72 20 64 69 72 65 63 74 |* runer|r direct|
|00006330| 6c 79 20 61 6e 64 20 66 | 6f 72 67 65 74 74 69 6e |ly and f|orgettin|
|00006340| 67 20 74 68 61 74 20 69 | 74 20 6d 61 79 20 61 63 |g that i|t may ac|
|00006350| 74 75 61 6c 6c 79 20 72 | 65 74 75 72 6e 2e 0a 20 |tually r|eturn.. |
|00006360| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 20 52 75 6e 45 |*/..#def|ine RunE|
|00006370| 72 72 28 6e 2c 64 70 29 | 20 7b 5c 0a 20 20 20 72 |rr(n,dp)| {\. r|
|00006380| 75 6e 65 72 72 28 6e 2c | 64 70 29 3b 5c 0a 20 20 |unerr(n,|dp);\. |
|00006390| 20 46 61 69 6c 3b 5c 0a | 20 20 20 7d 0a 0a 2f 2a | Fail;\.| }../*|
|000063a0| 0a 20 2a 20 20 56 73 69 | 7a 65 6f 66 20 69 73 20 |. * Vsi|zeof is |
|000063b0| 66 6f 72 20 75 73 65 20 | 77 69 74 68 20 76 61 72 |for use |with var|
|000063c0| 69 61 62 6c 65 2d 73 69 | 7a 65 64 20 28 69 2e 65 |iable-si|zed (i.e|
|000063d0| 2e 2c 20 69 6e 64 65 66 | 69 6e 69 74 65 29 0a 20 |., indef|inite). |
|000063e0| 2a 20 20 20 73 74 72 75 | 63 74 75 72 65 73 20 63 |* stru|ctures c|
|000063f0| 6f 6e 74 61 69 6e 69 6e | 67 20 61 6e 20 61 72 72 |ontainin|g an arr|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.