home *** CD-ROM | disk | FTP | other *** search
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: adaed-1
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Tape Archive (archive/tar)
| magic
| Supported |
100%
| file
| tar archive
| default
| |
99%
| file
| tar archive (V7), file Adaed-1.11.0a/, mode 775 , uid 10015 , gid 7640 , size 0 , seconds 5144565053
| default
| |
98%
| file
| data
| default
| |
100%
| siegfried
| x-fmt/265 Tape Archive Format
| default
| |
100%
| lsar
| Tar
| default
| |
100%
| gt2
| Kopftext: 'Adaed-1.11.0a/'
| default (weak)
| |
100%
| disktype
| Pre-POSIX tar archive
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 41 64 61 65 64 2d 31 2e | 31 31 2e 30 61 2f 00 00 |Adaed-1.|11.0a/..|
|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 31 30 30 |.... 7|75 . 100|
|00000070| 31 35 20 00 20 20 37 36 | 34 30 20 00 20 20 20 20 |15 . 76|40 . |
|00000080| 20 20 20 20 20 20 30 20 | 20 35 31 34 34 35 36 35 | 0 | 5144565|
|00000090| 30 35 33 20 20 20 36 30 | 31 34 00 20 00 00 00 00 |053 60|14. ....|
|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| 41 64 61 65 64 2d 31 2e | 31 31 2e 30 61 2f 30 61 |Adaed-1.|11.0a/0a|
|00000210| 2e 63 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.c......|........|
|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 36 | 36 34 20 00 20 31 30 30 |.... 6|64 . 100|
|00000270| 31 35 20 00 20 20 37 36 | 34 30 20 00 20 20 20 20 |15 . 76|40 . |
|00000280| 20 31 30 34 31 34 35 20 | 20 35 31 34 34 35 36 34 | 104145 | 5144564|
|00000290| 35 36 34 20 20 20 36 36 | 32 30 00 20 00 00 00 00 |564 66|20. ....|
|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| 2f 2a 0a 20 2a 20 43 6f | 70 79 72 69 67 68 74 20 |/*. * Co|pyright |
|00000410| 28 43 29 20 31 39 38 35 | 2d 31 39 39 32 20 20 4e |(C) 1985|-1992 N|
|00000420| 65 77 20 59 6f 72 6b 20 | 55 6e 69 76 65 72 73 69 |ew York |Universi|
|00000430| 74 79 0a 20 2a 20 0a 20 | 2a 20 54 68 69 73 20 66 |ty. * . |* This f|
|00000440| 69 6c 65 20 69 73 20 70 | 61 72 74 20 6f 66 20 74 |ile is p|art of t|
|00000450| 68 65 20 41 64 61 2f 45 | 64 2d 43 20 73 79 73 74 |he Ada/E|d-C syst|
|00000460| 65 6d 2e 20 20 53 65 65 | 20 74 68 65 20 41 64 61 |em. See| the Ada|
|00000470| 2f 45 64 20 52 45 41 44 | 4d 45 20 66 69 6c 65 20 |/Ed READ|ME file |
|00000480| 66 6f 72 0a 20 2a 20 77 | 61 72 72 61 6e 74 79 20 |for. * w|arranty |
|00000490| 28 6e 6f 6e 65 29 20 61 | 6e 64 20 64 69 73 74 72 |(none) a|nd distr|
|000004a0| 69 62 75 74 69 6f 6e 20 | 69 6e 66 6f 20 61 6e 64 |ibution |info and|
|000004b0| 20 61 6c 73 6f 20 74 68 | 65 20 47 4e 55 20 47 65 | also th|e GNU Ge|
|000004c0| 6e 65 72 61 6c 20 50 75 | 62 6c 69 63 0a 20 2a 20 |neral Pu|blic. * |
|000004d0| 4c 69 63 65 6e 73 65 20 | 66 6f 72 20 6d 6f 72 65 |License |for more|
|000004e0| 20 64 65 74 61 69 6c 73 | 2e 0a 0a 20 2a 2f 0a 2f | details|... */./|
|000004f0| 2a 20 73 65 6d 30 20 2d | 20 70 61 72 74 20 61 20 |* sem0 -| part a |
|00000500| 2d 20 69 6e 69 74 69 61 | 6c 69 7a 61 74 69 6f 6e |- initia|lization|
|00000510| 73 20 2a 2f 0a 0a 2f 2a | 20 54 4f 44 4f 0a 0a 30 |s */../*| TODO..0|
|00000520| 31 2d 6e 6f 76 2d 38 34 | 09 64 73 0a 64 65 6c 65 |1-nov-84|.ds.dele|
|00000530| 74 65 20 72 65 66 73 20 | 74 6f 20 61 73 74 5f 6e |te refs |to ast_n|
|00000540| 6f 64 65 73 2e 0a 4e 6f | 74 65 20 74 68 61 74 20 |odes..No|te that |
|00000550| 6e 65 65 64 20 74 6f 20 | 72 65 76 69 65 77 20 69 |need to |review i|
|00000560| 6e 69 74 69 61 6c 69 7a | 61 74 69 6f 20 6f 66 20 |nitializ|atio of |
|00000570| 73 79 6d 62 6f 6c 5f 73 | 68 6f 72 74 5f 69 6e 74 |symbol_s|hort_int|
|00000580| 65 67 65 72 2e 0a 0a 31 | 39 2d 6f 63 74 2d 38 34 |eger...1|9-oct-84|
|00000590| 09 64 73 0a 52 65 76 69 | 65 77 20 63 6f 70 79 5f |.ds.Revi|ew copy_|
|000005a0| 6e 6f 64 65 20 65 74 63 | 20 74 6f 20 73 65 65 20 |node etc| to see |
|000005b0| 69 66 20 70 72 6f 70 65 | 72 20 66 69 65 6c 64 73 |if prope|r fields|
|000005c0| 20 62 65 69 6e 67 20 63 | 6f 70 69 65 64 2e 0a 4e | being c|opied..N|
|000005d0| 65 65 64 20 74 6f 20 72 | 65 76 69 65 77 20 75 73 |eed to r|eview us|
|000005e0| 65 20 6f 66 20 63 6f 70 | 79 5f 6e 6f 64 65 2c 20 |e of cop|y_node, |
|000005f0| 63 6f 70 79 5f 61 74 74 | 72 69 62 75 74 65 73 2e |copy_att|ributes.|
|00000600| 0a 0a 73 6f 72 74 20 6f | 75 74 20 53 45 51 55 45 |..sort o|ut SEQUE|
|00000610| 4e 43 45 5f 4c 49 53 54 | 20 70 72 6f 62 6c 65 6d |NCE_LIST| problem|
|00000620| 2c 20 69 66 20 69 6e 69 | 74 69 61 6c 20 6c 65 6e |, if ini|tial len|
|00000630| 67 74 68 20 65 76 65 72 | 20 72 65 71 75 69 72 65 |gth ever| require|
|00000640| 73 20 72 65 61 61 6c 6c | 6f 63 0a 63 61 6c 6c 20 |s reaall|oc.call |
|00000650| 74 68 65 6e 20 6d 61 6c | 6c 6f 63 20 69 73 20 27 |then mal|loc is '|
|00000660| 62 6f 74 63 68 65 64 27 | 2e 20 46 6f 72 20 6e 6f |botched'|. For no|
|00000670| 77 20 68 61 76 65 20 6c | 61 72 67 65 20 6c 65 6e |w have l|arge len|
|00000680| 67 74 68 20 69 6e 20 70 | 6c 61 63 65 20 28 61 62 |gth in p|lace (ab|
|00000690| 6f 75 74 0a 36 30 30 20 | 65 6c 65 6d 65 6e 74 73 |out.600 |elements|
|000006a0| 29 20 20 64 73 20 31 35 | 20 6a 75 6c 20 38 34 0a |) ds 15| jul 84.|
|000006b0| 0a 0a 54 68 65 72 65 20 | 69 73 20 64 63 6c 5f 70 |..There |is dcl_p|
|000006c0| 75 74 20 69 6e 20 73 65 | 74 6c 20 74 6f 20 73 74 |ut in se|tl to st|
|000006d0| 61 6e 64 61 72 64 2c 20 | 69 6e 20 63 20 74 6f 20 |andard, |in c to |
|000006e0| 73 74 61 6e 64 61 72 64 | 30 2e 54 68 69 6e 67 73 |standard|0.Things|
|000006f0| 20 77 6f 72 6b 69 6e 67 | 0a 20 6f 6b 20 6e 6f 77 | working|. ok now|
|00000700| 2c 20 62 75 74 20 73 6f | 72 74 20 74 68 69 73 20 |, but so|rt this |
|00000710| 6f 75 74 09 09 64 73 20 | 31 39 20 6a 75 6c 0a 20 |out..ds |19 jul. |
|00000720| 2a 2f 0a 0a 23 69 6e 63 | 6c 75 64 65 20 22 68 64 |*/..#inc|lude "hd|
|00000730| 72 2e 68 22 0a 23 69 6e | 63 6c 75 64 65 20 22 76 |r.h".#in|clude "v|
|00000740| 61 72 73 2e 68 22 0a 23 | 69 6e 63 6c 75 64 65 20 |ars.h".#|include |
|00000750| 22 64 62 78 70 72 6f 74 | 73 2e 68 22 0a 23 69 6e |"dbxprot|s.h".#in|
|00000760| 63 6c 75 64 65 20 22 64 | 63 6c 6d 61 70 70 72 6f |clude "d|clmappro|
|00000770| 74 73 2e 68 22 0a 23 69 | 6e 63 6c 75 64 65 20 22 |ts.h".#i|nclude "|
|00000780| 61 72 69 74 68 70 72 6f | 74 73 2e 68 22 0a 23 69 |arithpro|ts.h".#i|
|00000790| 6e 63 6c 75 64 65 20 22 | 6d 69 73 63 70 72 6f 74 |nclude "|miscprot|
|000007a0| 73 2e 68 22 0a 23 69 6e | 63 6c 75 64 65 20 22 73 |s.h".#in|clude "s|
|000007b0| 6d 69 73 63 70 72 6f 74 | 73 2e 68 22 0a 23 69 6e |miscprot|s.h".#in|
|000007c0| 63 6c 75 64 65 20 22 73 | 65 74 70 72 6f 74 73 2e |clude "s|etprots.|
|000007d0| 68 22 0a 23 69 6e 63 6c | 75 64 65 20 22 63 68 61 |h".#incl|ude "cha|
|000007e0| 70 70 72 6f 74 73 2e 68 | 22 0a 2f 2a 20 63 74 79 |pprots.h|"./* cty|
|000007f0| 70 65 2e 68 20 6e 65 65 | 64 65 64 20 66 6f 72 20 |pe.h nee|ded for |
|00000800| 69 73 75 70 70 65 72 2c | 20 74 6f 6c 6f 77 65 72 |isupper,| tolower|
|00000810| 2c 20 65 74 63 20 69 6e | 20 34 2e 32 20 62 73 64 |, etc in| 4.2 bsd|
|00000820| 2a 2f 0a 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 6c |*/..exte|rn int l|
|00000830| 69 73 74 5f 75 6e 69 74 | 5f 30 3b 2f 2a 20 73 65 |ist_unit|_0;/* se|
|00000840| 74 20 62 79 20 6d 61 69 | 6e 2e 63 20 74 6f 20 6c |t by mai|n.c to l|
|00000850| 69 73 74 20 75 6e 69 74 | 20 30 20 73 74 72 75 63 |ist unit| 0 struc|
|00000860| 74 75 72 65 20 2a 2f 0a | 65 78 74 65 72 6e 20 69 |ture */.|extern i|
|00000870| 6e 74 20 41 44 41 5f 4d | 49 4e 5f 49 4e 54 45 47 |nt ADA_M|IN_INTEG|
|00000880| 45 52 2c 20 41 44 41 5f | 4d 41 58 5f 49 4e 54 45 |ER, ADA_|MAX_INTE|
|00000890| 47 45 52 3b 0a 0a 73 74 | 61 74 69 63 20 44 65 63 |GER;..st|atic Dec|
|000008a0| 6c 61 72 65 64 6d 61 70 | 20 64 65 63 6c 61 72 65 |laredmap| declare|
|000008b0| 64 5f 73 74 61 6e 64 61 | 72 64 30 2c 20 64 65 63 |d_standa|rd0, dec|
|000008c0| 6c 61 72 65 64 5f 73 74 | 61 6e 64 61 72 64 2c 20 |lared_st|andard, |
|000008d0| 64 65 63 6c 61 72 65 64 | 5f 61 73 63 69 69 2c 0a |declared|_ascii,.|
|000008e0| 20 20 64 65 63 6c 61 72 | 65 64 5f 75 6e 6d 65 6e | declar|ed_unmen|
|000008f0| 74 69 6f 6e 61 62 6c 65 | 3b 0a 73 74 61 74 69 63 |tionable|;.static|
|00000900| 20 69 6e 74 20 69 6e 69 | 74 5f 6e 6f 64 65 5f 63 | int ini|t_node_c|
|00000910| 6f 75 6e 74 20 3d 20 31 | 3b 20 20 20 2f 2a 20 6e |ount = 1|; /* n|
|00000920| 6f 64 65 20 30 20 69 73 | 20 4f 50 54 5f 4e 4f 44 |ode 0 is| OPT_NOD|
|00000930| 45 20 6a 63 20 32 2f 38 | 2f 38 36 20 2a 2f 0a 2f |E jc 2/8|/86 */./|
|00000940| 2a 20 4e 4f 54 45 3a 20 | 69 66 20 63 68 61 6e 67 |* NOTE: |if chang|
|00000950| 65 20 6f 70 5f 64 65 73 | 69 67 5f 61 72 72 61 79 |e op_des|ig_array|
|00000960| 2c 20 61 6c 73 6f 20 63 | 68 61 6e 67 65 20 64 65 |, also c|hange de|
|00000970| 73 69 67 5f 6f 66 5f 6f | 70 20 28 63 68 61 70 20 |sig_of_o|p (chap |
|00000980| 31 32 29 2a 2f 0a 73 74 | 61 74 69 63 20 63 68 61 |12)*/.st|atic cha|
|00000990| 72 20 2a 6f 70 5f 64 65 | 73 69 67 5f 61 72 72 61 |r *op_de|sig_arra|
|000009a0| 79 5b 5d 20 3d 20 7b 0a | 09 22 61 6e 64 22 2c 20 |y[] = {.|."and", |
|000009b0| 22 6f 72 22 2c 20 22 78 | 6f 72 22 2c 20 22 6e 6f |"or", "x|or", "no|
|000009c0| 74 22 2c 20 22 6d 6f 64 | 22 2c 20 22 72 65 6d 22 |t", "mod|", "rem"|
|000009d0| 2c 20 22 61 62 73 22 2c | 0a 09 22 3d 22 2c 20 22 |, "abs",|.."=", "|
|000009e0| 2f 3d 22 2c 20 22 3c 3d | 22 2c 20 22 3c 22 2c 20 |/=", "<=|", "<", |
|000009f0| 22 3e 3d 22 2c 20 22 3e | 22 2c 0a 09 22 2b 22 2c |">=", ">|",.."+",|
|00000a00| 20 22 2d 22 2c 20 22 26 | 22 2c 20 22 2a 22 2c 20 | "-", "&|", "*", |
|00000a10| 22 2f 22 2c 20 22 2a 2a | 22 2c 20 30 0a 7d 3b 0a |"/", "**|", 0.};.|
|00000a20| 0a 73 74 61 74 69 63 20 | 4e 6f 64 65 20 76 61 6c |.static |Node val|
|00000a30| 5f 6e 6f 64 65 31 28 69 | 6e 74 29 3b 0a 73 74 61 |_node1(i|nt);.sta|
|00000a40| 74 69 63 20 4e 6f 64 65 | 20 76 61 6c 5f 6e 6f 64 |tic Node| val_nod|
|00000a50| 65 61 31 28 69 6e 74 29 | 3b 0a 73 74 61 74 69 63 |ea1(int)|;.static|
|00000a60| 20 4e 6f 64 65 20 76 61 | 6c 5f 6e 6f 64 65 32 28 | Node va|l_node2(|
|00000a70| 64 6f 75 62 6c 65 29 3b | 0a 73 74 61 74 69 63 20 |double);|.static |
|00000a80| 4e 6f 64 65 20 76 61 6c | 5f 6e 6f 64 65 33 28 52 |Node val|_node3(R|
|00000a90| 61 74 69 6f 6e 61 6c 29 | 3b 0a 73 74 61 74 69 63 |ational)|;.static|
|00000aa0| 20 76 6f 69 64 20 69 6e | 69 74 5f 6e 6f 64 65 5f | void in|it_node_|
|00000ab0| 73 61 76 65 28 4e 6f 64 | 65 29 3b 0a 73 74 61 74 |save(Nod|e);.stat|
|00000ac0| 69 63 20 53 79 6d 62 6f | 6c 20 69 6e 69 5f 63 68 |ic Symbo|l ini_ch|
|00000ad0| 61 69 6e 28 63 68 61 72 | 20 2a 2c 20 69 6e 74 2c |ain(char| *, int,|
|00000ae0| 20 53 79 6d 62 6f 6c 29 | 3b 0a 73 74 61 74 69 63 | Symbol)|;.static|
|00000af0| 20 53 79 6d 62 6f 6c 20 | 73 79 6d 62 74 61 62 5f | Symbol |symbtab_|
|00000b00| 65 6e 74 65 72 28 63 68 | 61 72 20 2a 2c 20 53 79 |enter(ch|ar *, Sy|
|00000b10| 6d 62 6f 6c 29 3b 0a 73 | 74 61 74 69 63 20 53 79 |mbol);.s|tatic Sy|
|00000b20| 6d 62 6f 6c 20 6e 65 77 | 5f 61 72 69 74 68 5f 6f |mbol new|_arith_o|
|00000b30| 70 28 63 68 61 72 20 2a | 2c 20 53 79 6d 62 6f 6c |p(char *|, Symbol|
|00000b40| 29 3b 0a 73 74 61 74 69 | 63 20 76 6f 69 64 20 69 |);.stati|c void i|
|00000b50| 6e 69 5f 6e 65 77 5f 61 | 67 67 28 53 79 6d 62 6f |ni_new_a|gg(Symbo|
|00000b60| 6c 29 3b 0a 0a 76 6f 69 | 64 20 69 6e 69 74 5f 73 |l);..voi|d init_s|
|00000b70| 65 6d 28 29 09 09 09 09 | 09 09 09 09 09 09 09 09 |em()....|........|
|00000b80| 09 2f 2a 3b 69 6e 69 74 | 5f 73 65 6d 2a 2f 0a 7b |./*;init|_sem*/.{|
|00000b90| 0a 09 2f 2a 0a 09 20 2a | 20 54 68 69 73 20 69 73 |../*.. *| This is|
|00000ba0| 20 74 68 65 20 70 72 69 | 6d 61 72 79 20 69 6e 69 | the pri|mary ini|
|00000bb0| 74 69 61 6c 69 7a 61 74 | 69 6f 6e 20 70 72 6f 63 |tializat|ion proc|
|00000bc0| 65 64 75 72 65 2e 20 20 | 49 74 20 69 73 20 63 61 |edure. |It is ca|
|00000bd0| 6c 6c 65 64 0a 09 20 2a | 20 77 68 65 6e 20 74 68 |lled.. *| when th|
|00000be0| 65 20 63 6f 6d 70 69 6c | 65 72 20 69 73 20 69 6e |e compil|er is in|
|00000bf0| 69 74 69 61 6c 69 7a 65 | 64 2e 0a 09 20 2a 0a 09 |itialize|d... *..|
|00000c00| 20 2a 2f 0a 0a 09 2f 2a | 56 41 52 44 45 43 4c 2a | */.../*|VARDECL*|
|00000c10| 2f 0a 09 54 75 70 6c 65 | 20 63 6f 6e 73 74 72 5f |/..Tuple| constr_|
|00000c20| 6e 65 77 3b 0a 09 69 6e | 74 09 20 20 20 20 69 3b |new;..in|t. i;|
|00000c30| 0a 09 54 75 70 6c 65 20 | 74 75 70 3b 0a 09 53 79 |..Tuple |tup;..Sy|
|00000c40| 6d 62 6f 6c 20 73 79 6d | 3b 0a 09 63 68 61 72 20 |mbol sym|;..char |
|00000c50| 20 20 2a 69 64 3b 0a 09 | 46 6f 72 64 65 63 6c 61 | *id;..|Fordecla|
|00000c60| 72 65 64 20 66 64 3b 0a | 09 73 74 61 74 69 63 20 |red fd;.|.static |
|00000c70| 63 68 61 72 20 2a 63 68 | 61 72 5f 6e 61 6d 65 73 |char *ch|ar_names|
|00000c80| 5b 5d 20 3d 20 7b 0a 09 | 09 22 4e 55 4c 20 30 22 |[] = {..|."NUL 0"|
|00000c90| 2c 0a 09 09 22 53 4f 48 | 20 31 22 2c 0a 09 09 22 |,..."SOH| 1",..."|
|00000ca0| 53 54 58 20 32 22 2c 0a | 09 09 22 45 54 58 20 33 |STX 2",.|.."ETX 3|
|00000cb0| 22 2c 0a 09 09 22 45 4f | 54 20 34 22 2c 0a 09 09 |",..."EO|T 4",...|
|00000cc0| 22 45 4e 51 20 35 22 2c | 0a 09 09 22 41 43 4b 20 |"ENQ 5",|..."ACK |
|00000cd0| 36 22 2c 0a 09 09 22 42 | 45 4c 20 37 22 2c 0a 09 |6",..."B|EL 7",..|
|00000ce0| 09 22 42 53 20 38 22 2c | 0a 09 09 22 48 54 20 39 |."BS 8",|..."HT 9|
|00000cf0| 22 2c 0a 09 09 22 4c 46 | 20 31 30 22 2c 0a 09 09 |",..."LF| 10",...|
|00000d00| 22 56 54 20 31 31 22 2c | 0a 09 09 22 46 46 20 31 |"VT 11",|..."FF 1|
|00000d10| 32 22 2c 0a 09 09 22 43 | 52 20 31 33 22 2c 0a 09 |2",..."C|R 13",..|
|00000d20| 09 22 53 4f 20 31 34 22 | 2c 0a 09 09 22 53 49 20 |."SO 14"|,..."SI |
|00000d30| 31 35 22 2c 0a 09 09 22 | 44 4c 45 20 31 36 22 2c |15",..."|DLE 16",|
|00000d40| 0a 09 09 22 44 43 31 20 | 31 37 22 2c 0a 09 09 22 |..."DC1 |17",..."|
|00000d50| 44 43 32 20 31 38 22 2c | 0a 09 09 22 44 43 33 20 |DC2 18",|..."DC3 |
|00000d60| 31 39 22 2c 0a 09 09 22 | 44 43 34 20 32 30 22 2c |19",..."|DC4 20",|
|00000d70| 0a 09 09 22 4e 41 4b 20 | 32 31 22 2c 0a 09 09 22 |..."NAK |21",..."|
|00000d80| 53 59 4e 20 32 32 22 2c | 0a 09 09 22 45 54 42 20 |SYN 22",|..."ETB |
|00000d90| 32 33 22 2c 0a 09 09 22 | 43 41 4e 20 32 34 22 2c |23",..."|CAN 24",|
|00000da0| 0a 09 09 22 45 4d 20 32 | 35 22 2c 0a 09 09 22 53 |..."EM 2|5",..."S|
|00000db0| 55 42 20 32 36 22 2c 0a | 09 09 22 45 53 43 20 32 |UB 26",.|.."ESC 2|
|00000dc0| 37 22 2c 0a 09 09 22 46 | 53 20 32 38 22 2c 0a 09 |7",..."F|S 28",..|
|00000dd0| 09 22 47 53 20 32 39 22 | 2c 0a 09 09 22 52 53 20 |."GS 29"|,..."RS |
|00000de0| 33 30 22 2c 0a 09 09 22 | 55 53 20 33 31 22 2c 0a |30",..."|US 31",.|
|00000df0| 09 09 22 45 58 43 4c 41 | 4d 20 33 33 22 2c 0a 09 |.."EXCLA|M 33",..|
|00000e00| 09 22 51 55 4f 54 41 54 | 49 4f 4e 20 33 34 22 2c |."QUOTAT|ION 34",|
|00000e10| 0a 09 09 22 53 48 41 52 | 50 20 33 35 22 2c 0a 09 |..."SHAR|P 35",..|
|00000e20| 09 22 44 4f 4c 4c 41 52 | 20 33 36 22 2c 0a 09 09 |."DOLLAR| 36",...|
|00000e30| 22 50 45 52 43 45 4e 54 | 20 33 37 22 2c 0a 09 09 |"PERCENT| 37",...|
|00000e40| 22 41 4d 50 45 52 53 41 | 4e 44 20 33 38 22 2c 0a |"AMPERSA|ND 38",.|
|00000e50| 09 09 22 43 4f 4c 4f 4e | 20 35 38 22 2c 0a 09 09 |.."COLON| 58",...|
|00000e60| 22 53 45 4d 49 43 4f 4c | 4f 4e 20 35 39 22 2c 0a |"SEMICOL|ON 59",.|
|00000e70| 09 09 22 51 55 45 52 59 | 20 36 33 22 2c 0a 09 09 |.."QUERY| 63",...|
|00000e80| 22 41 54 5f 53 49 47 4e | 20 36 34 22 2c 0a 09 09 |"AT_SIGN| 64",...|
|00000e90| 22 4c 5f 42 52 41 43 4b | 45 54 20 39 31 22 2c 0a |"L_BRACK|ET 91",.|
|00000ea0| 09 09 22 42 41 43 4b 5f | 53 4c 41 53 48 20 39 32 |.."BACK_|SLASH 92|
|00000eb0| 22 2c 0a 09 09 22 52 5f | 42 52 41 43 4b 45 54 20 |",..."R_|BRACKET |
|00000ec0| 39 33 22 2c 0a 09 09 22 | 43 49 52 43 55 4d 46 4c |93",..."|CIRCUMFL|
|00000ed0| 45 58 20 39 34 22 2c 0a | 09 09 22 55 4e 44 45 52 |EX 94",.|.."UNDER|
|00000ee0| 4c 49 4e 45 20 39 35 22 | 2c 0a 09 09 22 47 52 41 |LINE 95"|,..."GRA|
|00000ef0| 56 45 20 39 36 22 2c 0a | 09 09 22 4c 43 5f 41 20 |VE 96",.|.."LC_A |
|00000f00| 39 37 22 2c 0a 09 09 22 | 4c 43 5f 42 20 39 38 22 |97",..."|LC_B 98"|
|00000f10| 2c 0a 09 09 22 4c 43 5f | 43 20 39 39 22 2c 0a 09 |,..."LC_|C 99",..|
|00000f20| 09 22 4c 43 5f 44 20 31 | 30 30 22 2c 0a 09 09 22 |."LC_D 1|00",..."|
|00000f30| 4c 43 5f 45 20 31 30 31 | 22 2c 0a 09 09 22 4c 43 |LC_E 101|",..."LC|
|00000f40| 5f 46 20 31 30 32 22 2c | 0a 09 09 22 4c 43 5f 47 |_F 102",|..."LC_G|
|00000f50| 20 31 30 33 22 2c 0a 09 | 09 22 4c 43 5f 48 20 31 | 103",..|."LC_H 1|
|00000f60| 30 34 22 2c 0a 09 09 22 | 4c 43 5f 49 20 31 30 35 |04",..."|LC_I 105|
|00000f70| 22 2c 0a 09 09 22 4c 43 | 5f 4a 20 31 30 36 22 2c |",..."LC|_J 106",|
|00000f80| 0a 09 09 22 4c 43 5f 4b | 20 31 30 37 22 2c 0a 09 |..."LC_K| 107",..|
|00000f90| 09 22 4c 43 5f 4c 20 31 | 30 38 22 2c 0a 09 09 22 |."LC_L 1|08",..."|
|00000fa0| 4c 43 5f 4d 20 31 30 39 | 22 2c 0a 09 09 22 4c 43 |LC_M 109|",..."LC|
|00000fb0| 5f 4e 20 31 31 30 22 2c | 0a 09 09 22 4c 43 5f 4f |_N 110",|..."LC_O|
|00000fc0| 20 31 31 31 22 2c 0a 09 | 09 22 4c 43 5f 50 20 31 | 111",..|."LC_P 1|
|00000fd0| 31 32 22 2c 0a 09 09 22 | 4c 43 5f 51 20 31 31 33 |12",..."|LC_Q 113|
|00000fe0| 22 2c 0a 09 09 22 4c 43 | 5f 52 20 31 31 34 22 2c |",..."LC|_R 114",|
|00000ff0| 0a 09 09 22 4c 43 5f 53 | 20 31 31 35 22 2c 0a 09 |..."LC_S| 115",..|
|00001000| 09 22 4c 43 5f 54 20 31 | 31 36 22 2c 0a 09 09 22 |."LC_T 1|16",..."|
|00001010| 4c 43 5f 55 20 31 31 37 | 22 2c 0a 09 09 22 4c 43 |LC_U 117|",..."LC|
|00001020| 5f 56 20 31 31 38 22 2c | 0a 09 09 22 4c 43 5f 57 |_V 118",|..."LC_W|
|00001030| 20 31 31 39 22 2c 0a 09 | 09 22 4c 43 5f 58 20 31 | 119",..|."LC_X 1|
|00001040| 32 30 22 2c 0a 09 09 22 | 4c 43 5f 59 20 31 32 31 |20",..."|LC_Y 121|
|00001050| 22 2c 0a 09 09 22 4c 43 | 5f 5a 20 31 32 32 22 2c |",..."LC|_Z 122",|
|00001060| 0a 09 09 22 4c 5f 42 52 | 41 43 45 20 31 32 33 22 |..."L_BR|ACE 123"|
|00001070| 2c 0a 09 09 22 42 41 52 | 20 31 32 34 22 2c 0a 09 |,..."BAR| 124",..|
|00001080| 09 22 52 5f 42 52 41 43 | 45 20 31 32 35 22 2c 0a |."R_BRAC|E 125",.|
|00001090| 09 09 22 54 49 4c 44 45 | 20 31 32 36 22 2c 0a 09 |.."TILDE| 126",..|
|000010a0| 09 22 44 45 4c 20 31 32 | 37 22 2c 0a 09 09 22 20 |."DEL 12|7",..." |
|000010b0| 22 0a 09 7d 3b 0a 0a 09 | 69 66 20 28 63 64 65 62 |"..};...|if (cdeb|
|000010c0| 75 67 32 20 3e 20 33 29 | 20 54 4f 5f 45 52 52 46 |ug2 > 3)| TO_ERRF|
|000010d0| 49 4c 45 28 22 41 54 20 | 50 52 4f 43 20 3a 20 49 |ILE("AT |PROC : I|
|000010e0| 4e 49 54 5f 53 45 4d 3b | 22 29 3b 0a 0a 09 6c 69 |NIT_SEM;|");...li|
|000010f0| 62 5f 73 74 75 62 20 3d | 20 74 75 70 5f 6e 65 77 |b_stub =| tup_new|
|00001100| 28 30 29 3b 0a 0a 09 73 | 65 71 5f 6e 6f 64 65 20 |(0);...s|eq_node |
|00001110| 3d 20 74 75 70 5f 6e 65 | 77 28 34 30 30 29 3b 0a |= tup_ne|w(400);.|
|00001120| 09 73 65 71 5f 6e 6f 64 | 65 5f 6e 20 3d 20 30 3b |.seq_nod|e_n = 0;|
|00001130| 0a 0a 09 73 65 71 5f 73 | 79 6d 62 6f 6c 20 3d 20 |...seq_s|ymbol = |
|00001140| 74 75 70 5f 6e 65 77 28 | 33 30 30 29 3b 0a 09 73 |tup_new(|300);..s|
|00001150| 65 71 5f 73 79 6d 62 6f | 6c 5f 6e 20 3d 20 30 3b |eq_symbo|l_n = 0;|
|00001160| 0a 0a 23 69 66 64 65 66 | 20 54 42 53 4c 0a 09 75 |..#ifdef| TBSL..u|
|00001170| 6e 69 74 5f 6e 6f 64 65 | 73 20 3d 20 74 75 70 5f |nit_node|s = tup_|
|00001180| 6e 65 77 28 33 30 29 3b | 0a 09 75 6e 69 74 5f 6e |new(30);|..unit_n|
|00001190| 6f 64 65 73 5f 6e 20 3d | 20 30 3b 0a 23 65 6e 64 |odes_n =| 0;.#end|
|000011a0| 69 66 0a 0a 09 73 74 75 | 62 5f 69 6e 66 6f 20 3d |if...stu|b_info =|
|000011b0| 20 74 75 70 5f 6e 65 77 | 28 30 29 3b 0a 09 75 6e | tup_new|(0);..un|
|000011c0| 69 74 5f 6e 75 6d 62 65 | 72 5f 6e 6f 77 20 3d 20 |it_numbe|r_now = |
|000011d0| 30 3b 0a 0a 20 20 20 20 | 4e 4f 54 5f 43 48 4f 53 |0;.. |NOT_CHOS|
|000011e0| 45 4e 20 3d 20 74 75 70 | 5f 6e 65 77 28 30 29 3b |EN = tup|_new(0);|
|000011f0| 0a 0a 09 69 6e 69 74 5f | 6e 6f 64 65 73 20 3d 20 |...init_|nodes = |
|00001200| 74 75 70 5f 6e 65 77 28 | 33 30 29 3b 0a 09 69 6e |tup_new(|30);..in|
|00001210| 69 74 5f 73 79 6d 62 6f | 6c 73 20 3d 20 74 75 70 |it_symbo|ls = tup|
|00001220| 5f 6e 65 77 28 30 29 3b | 0a 09 2f 2a 20 6f 70 5f |_new(0);|../* op_|
|00001230| 64 65 73 69 67 6e 61 74 | 6f 72 73 20 6e 6f 20 6c |designat|ors no l|
|00001240| 6f 6e 67 65 72 20 6e 65 | 65 64 65 64 2c 20 6a 75 |onger ne|eded, ju|
|00001250| 73 74 20 75 73 65 20 6f | 70 5f 64 65 73 69 67 5f |st use o|p_desig_|
|00001260| 61 72 72 61 79 20 2a 2f | 0a 0a 23 69 66 64 65 66 |array */|..#ifdef|
|00001270| 20 43 4f 4d 4d 45 4e 54 | 0a 09 2f 2a 20 72 65 74 | COMMENT|../* ret|
|00001280| 61 69 6e 65 64 20 66 6f | 72 20 64 6f 63 75 6d 65 |ained fo|r docume|
|00001290| 6e 74 61 74 69 6f 6e 20 | 70 75 72 70 6f 73 65 73 |ntation |purposes|
|000012a0| 20 28 44 53 20 32 36 20 | 6a 75 6e 20 38 34 29 20 | (DS 26 |jun 84) |
|000012b0| 2a 2f 0a 09 6f 70 0a 09 | 20 20 20 20 6d 69 73 63 |*/..op..| misc|
|000012c0| 5f 61 74 74 72 69 62 75 | 74 65 73 20 3d 20 7b 0a |_attribu|tes = {.|
|000012d0| 09 09 27 41 44 44 52 45 | 53 53 27 2c 20 27 49 4d |..'ADDRE|SS', 'IM|
|000012e0| 41 47 45 27 7d 2c 0a 09 | 09 20 20 20 20 75 5f 69 |AGE'},..|. u_i|
|000012f0| 6e 74 65 67 65 72 5f 61 | 74 74 72 69 62 75 74 65 |nteger_a|ttribute|
|00001300| 73 20 3d 20 7b 0a 09 09 | 09 27 41 46 54 27 2c 09 |s = {...|.'AFT',.|
|00001310| 09 20 27 43 4f 55 4e 54 | 27 2c 09 20 27 44 49 47 |. 'COUNT|',. 'DIG|
|00001320| 49 54 53 27 2c 09 20 27 | 45 4d 41 58 27 2c 0a 09 |ITS',. '|EMAX',..|
|00001330| 09 09 20 20 20 20 27 46 | 49 52 53 54 5f 42 49 54 |.. 'F|IRST_BIT|
|00001340| 27 2c 09 20 27 46 4f 52 | 45 27 2c 09 20 27 4c 41 |',. 'FOR|E',. 'LA|
|00001350| 53 54 5f 42 49 54 27 2c | 09 20 27 4c 45 4e 47 54 |ST_BIT',|. 'LENGT|
|00001360| 48 27 2c 0a 09 09 09 20 | 20 20 20 27 4d 41 43 48 |H',.... | 'MACH|
|00001370| 49 4e 45 5f 45 4d 41 58 | 27 2c 09 20 27 4d 41 43 |INE_EMAX|',. 'MAC|
|00001380| 48 49 4e 45 5f 45 4d 49 | 4e 27 2c 20 27 4d 41 43 |HINE_EMI|N', 'MAC|
|00001390| 48 49 4e 45 5f 4d 41 4e | 54 49 53 53 41 27 2c 0a |HINE_MAN|TISSA',.|
|000013a0| 09 09 09 27 4d 41 43 48 | 49 4e 45 5f 52 41 44 49 |...'MACH|INE_RADI|
|000013b0| 58 27 2c 20 27 4d 41 4e | 54 49 53 53 41 27 2c 09 |X', 'MAN|TISSA',.|
|000013c0| 20 27 50 4f 53 27 2c 09 | 09 20 27 50 4f 53 49 54 | 'POS',.|. 'POSIT|
|000013d0| 49 4f 4e 27 2c 0a 09 09 | 09 20 20 20 20 27 53 41 |ION',...|. 'SA|
|000013e0| 46 45 5f 45 4d 41 58 27 | 2c 09 20 27 53 49 5a 45 |FE_EMAX'|,. 'SIZE|
|000013f0| 27 2c 09 20 27 53 54 4f | 52 41 47 45 5f 53 49 5a |',. 'STO|RAGE_SIZ|
|00001400| 45 27 2c 20 27 57 49 44 | 54 48 27 0a 09 09 09 20 |E', 'WID|TH'.... |
|00001410| 20 20 20 7d 2c 0a 09 09 | 09 3f 3f 61 74 74 72 69 | },...|.??attri|
|00001420| 62 75 74 65 73 20 3a 3d | 20 6d 69 73 63 5f 61 74 |butes :=| misc_at|
|00001430| 74 72 69 62 75 74 65 73 | 20 2b 20 75 5f 69 6e 74 |tributes| + u_int|
|00001440| 65 67 65 72 5f 61 74 74 | 72 69 62 75 74 65 73 20 |eger_att|ributes |
|00001450| 2b 0a 0a 09 09 09 20 20 | 20 20 6f 76 65 72 6c 6f |+..... | overlo|
|00001460| 61 64 65 64 5f 61 74 74 | 72 69 62 75 74 65 73 20 |aded_att|ributes |
|00001470| 3d 20 7b 0a 09 09 09 09 | 27 42 41 53 45 27 2c 09 |= {.....|'BASE',.|
|00001480| 09 20 27 46 49 52 53 54 | 27 2c 09 20 27 4c 41 53 |. 'FIRST|',. 'LAS|
|00001490| 54 27 2c 09 20 20 27 50 | 52 45 44 27 2c 0a 09 09 |T',. 'P|RED',...|
|000014a0| 09 09 20 20 20 20 27 52 | 41 4e 47 45 27 2c 09 20 |.. 'R|ANGE',. |
|000014b0| 27 53 55 43 43 27 2c 09 | 20 27 56 41 4c 27 2c 09 |'SUCC',.| 'VAL',.|
|000014c0| 09 20 20 27 56 41 4c 55 | 45 27 0a 09 09 09 09 20 |. 'VALU|E'..... |
|000014d0| 20 20 20 7d 2c 0a 09 09 | 09 09 20 20 20 20 66 6c | },...|.. fl|
|000014e0| 6f 61 74 5f 61 74 74 72 | 69 62 75 74 65 73 20 3d |oat_attr|ibutes =|
|000014f0| 20 7b 0a 09 09 09 09 09 | 27 44 45 4c 54 41 27 2c | {......|'DELTA',|
|00001500| 09 20 27 45 50 53 49 4c | 4f 4e 27 2c 20 20 20 27 |. 'EPSIL|ON', '|
|00001510| 4c 41 52 47 45 27 2c 09 | 20 27 53 4d 41 4c 4c 27 |LARGE',.| 'SMALL'|
|00001520| 2c 20 27 53 41 46 45 5f | 4c 41 52 47 45 27 2c 0a |, 'SAFE_|LARGE',.|
|00001530| 09 09 09 09 09 20 20 20 | 20 27 53 41 46 45 5f 53 |..... | 'SAFE_S|
|00001540| 4d 41 4c 4c 27 0a 09 09 | 09 09 09 20 20 20 20 7d |MALL'...|... }|
|00001550| 2c 0a 0a 09 09 09 09 09 | 20 20 20 20 62 6f 6f 6c |,.......| bool|
|00001560| 65 61 6e 5f 61 74 74 72 | 69 62 75 74 65 73 20 3d |ean_attr|ibutes =|
|00001570| 20 7b 0a 09 09 09 09 09 | 09 27 43 4f 4e 53 54 52 | {......|.'CONSTR|
|00001580| 41 49 4e 45 44 27 2c 20 | 27 4d 41 43 48 49 4e 45 |AINED', |'MACHINE|
|00001590| 5f 4f 56 45 52 46 4c 4f | 57 53 27 2c 20 27 4d 41 |_OVERFLO|WS', 'MA|
|000015a0| 43 48 49 4e 45 5f 52 4f | 55 4e 44 53 27 2c 0a 09 |CHINE_RO|UNDS',..|
|000015b0| 09 09 09 09 09 20 20 20 | 20 27 43 41 4c 4c 41 42 |..... | 'CALLAB|
|000015c0| 4c 45 27 2c 20 20 20 20 | 27 54 45 52 4d 49 4e 41 |LE', |'TERMINA|
|000015d0| 54 45 44 27 0a 09 09 09 | 09 09 09 20 20 20 20 7d |TED'....|... }|
|000015e0| 2c 0a 0a 23 65 6e 64 69 | 66 0a 0a 09 2f 2a 20 49 |,..#endi|f.../* I|
|000015f0| 6e 69 74 69 61 6c 69 7a | 65 20 67 6c 6f 62 61 6c |nitializ|e global|
|00001600| 20 6d 61 70 70 69 6e 67 | 73 20 66 6f 72 20 61 62 | mapping|s for ab|
|00001610| 73 74 72 61 63 74 20 73 | 79 6e 74 61 78 20 74 72 |stract s|yntax tr|
|00001620| 65 65 20 61 6e 64 20 73 | 79 6d 62 6f 6c 20 74 61 |ee and s|ymbol ta|
|00001630| 62 6c 65 2e 2a 2f 0a 09 | 2f 2a 0a 09 20 2a 20 4e |ble.*/..|/*.. * N|
|00001640| 5f 4b 49 4e 44 20 20 20 | 20 3a 3d 20 7b 5b 4f 50 |_KIND | := {[OP|
|00001650| 54 5f 4e 4f 44 45 2c 20 | 61 73 5f 6f 70 74 5d 7d |T_NODE, |as_opt]}|
|00001660| 3b 0a 09 20 2a 20 4e 5f | 41 53 54 20 20 20 20 20 |;.. * N_|AST |
|00001670| 3a 3d 20 7b 5b 4f 50 54 | 5f 4e 4f 44 45 2c 20 5b |:= {[OPT|_NODE, [|
|00001680| 5d 5d 7d 3b 0a 09 20 2a | 20 4e 5f 56 41 4c 20 20 |]]};.. *| N_VAL |
|00001690| 20 20 20 3a 3d 20 7b 7d | 3b 0a 09 20 2a 20 4e 5f | := {}|;.. * N_|
|000016a0| 4c 49 53 54 20 20 20 20 | 3a 3d 20 7b 5b 4f 50 54 |LIST |:= {[OPT|
|000016b0| 5f 4e 4f 44 45 2c 20 5b | 5d 5d 7d 3b 0a 09 20 2a |_NODE, [|]]};.. *|
|000016c0| 2f 0a 09 4f 50 54 5f 4e | 4f 44 45 20 3d 20 6e 6f |/..OPT_N|ODE = no|
|000016d0| 64 65 5f 6e 65 77 28 61 | 73 5f 6f 70 74 29 3b 0a |de_new(a|s_opt);.|
|000016e0| 09 4e 5f 4c 49 53 54 28 | 4f 50 54 5f 4e 4f 44 45 |.N_LIST(|OPT_NODE|
|000016f0| 29 20 3d 20 74 75 70 5f | 6e 65 77 28 30 29 3b 0a |) = tup_|new(0);.|
|00001700| 09 73 63 6f 70 65 5f 73 | 74 20 3d 20 74 75 70 5f |.scope_s|t = tup_|
|00001710| 6e 65 77 28 30 29 3b 0a | 09 6e 65 77 74 79 70 65 |new(0);.|.newtype|
|00001720| 73 20 3d 20 74 75 70 5f | 6e 65 77 28 30 29 3b 0a |s = tup_|new(0);.|
|00001730| 09 68 61 73 5f 72 65 74 | 75 72 6e 5f 73 74 6b 20 |.has_ret|urn_stk |
|00001740| 3d 20 74 75 70 5f 6e 65 | 77 28 30 29 3b 0a 09 63 |= tup_ne|w(0);..c|
|00001750| 75 72 72 65 6e 74 5f 69 | 6e 73 74 61 6e 63 65 73 |urrent_i|nstances|
|00001760| 20 3d 20 74 75 70 5f 6e | 65 77 28 30 29 3b 0a 09 | = tup_n|ew(0);..|
|00001770| 6c 61 62 5f 73 65 65 6e | 20 3d 20 74 75 70 5f 6e |lab_seen| = tup_n|
|00001780| 65 77 28 30 29 3b 0a 09 | 2f 2a 20 63 75 72 72 65 |ew(0);..|/* curre|
|00001790| 6e 74 5f 6e 6f 64 65 20 | 3d 20 74 75 70 5f 6e 65 |nt_node |= tup_ne|
|000017a0| 77 28 30 29 3b 20 6e 65 | 65 64 20 6e 6f 74 20 69 |w(0); ne|ed not i|
|000017b0| 6e 69 74 69 61 6c 69 7a | 65 20 66 6f 72 20 43 20 |nitializ|e for C |
|000017c0| 2a 2f 0a 09 2f 2a 20 6e | 65 65 64 20 74 6f 20 64 |*/../* n|eed to d|
|000017d0| 65 63 69 64 65 20 72 65 | 70 72 65 73 65 6e 74 61 |ecide re|presenta|
|000017e0| 74 69 6f 6e 20 66 6f 72 | 20 75 6e 69 74 5f 6e 61 |tion for| unit_na|
|000017f0| 6d 65 2a 2f 0a 09 75 6e | 69 74 5f 6e 61 6d 65 20 |me*/..un|it_name |
|00001800| 3d 20 22 22 3b 0a 23 69 | 66 64 65 66 20 49 42 4d |= "";.#i|fdef IBM|
|00001810| 5f 50 43 0a 09 2f 2a 20 | 63 6f 70 79 20 6c 69 74 |_PC../* |copy lit|
|00001820| 65 72 61 6c 73 20 2a 2f | 0a 09 75 6e 69 74 5f 6e |erals */|..unit_n|
|00001830| 61 6d 65 20 3d 20 73 74 | 72 6a 6f 69 6e 28 22 22 |ame = st|rjoin(""|
|00001840| 2c 22 22 29 3b 0a 23 65 | 6e 64 69 66 0a 0a 09 2f |,"");.#e|ndif.../|
|00001850| 2a 20 6e 65 65 64 20 74 | 6f 20 75 73 65 20 73 65 |* need t|o use se|
|00001860| 74 6e 61 6d 65 20 74 6f | 20 65 6e 74 65 72 20 69 |tname to| enter i|
|00001870| 64 65 6e 74 69 66 69 65 | 72 20 6e 61 6d 65 73 20 |dentifie|r names |
|00001880| 66 6f 72 20 69 6e 69 74 | 69 61 6c 20 73 79 6d 62 |for init|ial symb|
|00001890| 6f 6c 73 0a 09 20 2a 20 | 6e 65 65 64 20 74 6f 20 |ols.. * |need to |
|000018a0| 73 65 65 20 69 66 20 68 | 61 6e 64 6c 65 20 43 20 |see if h|andle C |
|000018b0| 73 65 6d 61 6e 74 69 63 | 73 20 77 2e 72 2e 74 2e |semantic|s w.r.t.|
|000018c0| 20 73 74 72 69 6e 67 20 | 63 6f 6e 73 74 61 6e 74 | string |constant|
|000018d0| 73 20 70 72 6f 70 65 72 | 6c 79 0a 09 20 2a 20 68 |s proper|ly.. * h|
|000018e0| 65 72 65 20 61 6c 73 6f | 0a 09 20 2a 2f 0a 09 2f |ere also|.. */../|
|000018f0| 2a 20 6e 65 65 64 20 74 | 6f 20 63 6f 70 79 20 6c |* need t|o copy l|
|00001900| 69 74 65 72 61 6c 73 20 | 6f 6e 20 50 43 20 73 69 |iterals |on PC si|
|00001910| 6e 63 65 20 63 6f 64 65 | 20 6f 76 65 72 6c 61 69 |nce code| overlai|
|00001920| 64 20 2a 2f 0a 23 69 66 | 64 65 66 20 49 42 4d 5f |d */.#if|def IBM_|
|00001930| 50 43 0a 23 64 65 66 69 | 6e 65 20 73 65 74 6e 61 |PC.#defi|ne setna|
|00001940| 6d 65 28 73 79 6d 2c 20 | 73 74 72 29 20 4f 52 49 |me(sym, |str) ORI|
|00001950| 47 5f 4e 41 4d 45 28 73 | 79 6d 29 20 3d 20 73 74 |G_NAME(s|ym) = st|
|00001960| 72 6a 6f 69 6e 28 73 74 | 72 2c 20 22 22 29 3b 0a |rjoin(st|r, "");.|
|00001970| 23 65 6c 73 65 0a 23 64 | 65 66 69 6e 65 20 73 65 |#else.#d|efine se|
|00001980| 74 6e 61 6d 65 28 73 79 | 6d 2c 20 73 74 72 29 20 |tname(sy|m, str) |
|00001990| 4f 52 49 47 5f 4e 41 4d | 45 28 73 79 6d 29 20 3d |ORIG_NAM|E(sym) =|
|000019a0| 20 73 74 72 0a 23 65 6e | 64 69 66 0a 0a 09 4f 50 | str.#en|dif...OP|
|000019b0| 54 5f 4e 41 4d 45 20 3d | 20 73 79 6d 5f 6e 65 77 |T_NAME =| sym_new|
|000019c0| 28 6e 61 5f 6f 62 6a 29 | 3b 0a 09 73 65 74 6e 61 |(na_obj)|;..setna|
|000019d0| 6d 65 28 4f 50 54 5f 4e | 41 4d 45 2c 20 22 6f 70 |me(OPT_N|AME, "op|
|000019e0| 74 5f 6e 61 6d 65 22 29 | 3b 0a 0a 23 64 65 66 69 |t_name")|;..#defi|
|000019f0| 6e 65 20 73 79 6d 69 6e | 69 74 31 28 73 79 6d 2c |ne symin|it1(sym,|
|00001a00| 20 6e 61 2c 20 74 79 70 | 29 20 73 79 6d 20 3d 20 | na, typ|) sym = |
|00001a10| 73 79 6d 5f 6e 65 77 28 | 6e 61 29 3b 20 54 59 50 |sym_new(|na); TYP|
|00001a20| 45 5f 4f 46 28 73 79 6d | 29 20 3d 20 74 79 70 0a |E_OF(sym|) = typ.|
|00001a30| 09 73 79 6d 69 6e 69 74 | 31 28 73 79 6d 62 6f 6c |.syminit|1(symbol|
|00001a40| 5f 69 6e 74 65 67 65 72 | 2c 20 6e 61 5f 74 79 70 |_integer|, na_typ|
|00001a50| 65 2c 20 73 79 6d 62 6f | 6c 5f 69 6e 74 65 67 65 |e, symbo|l_intege|
|00001a60| 72 29 3b 0a 09 73 65 74 | 6e 61 6d 65 28 73 79 6d |r);..set|name(sym|
|00001a70| 62 6f 6c 5f 69 6e 74 65 | 67 65 72 2c 20 22 49 4e |bol_inte|ger, "IN|
|00001a80| 54 45 47 45 52 22 29 3b | 0a 09 73 79 6d 69 6e 69 |TEGER");|..symini|
|00001a90| 74 31 28 73 79 6d 62 6f | 6c 5f 73 68 6f 72 74 5f |t1(symbo|l_short_|
|00001aa0| 69 6e 74 65 67 65 72 5f | 62 61 73 65 2c 20 6e 61 |integer_|base, na|
|00001ab0| 5f 74 79 70 65 2c 20 73 | 79 6d 62 6f 6c 5f 69 6e |_type, s|ymbol_in|
|00001ac0| 74 65 67 65 72 29 3b 0a | 09 73 65 74 6e 61 6d 65 |teger);.|.setname|
|00001ad0| 28 73 79 6d 62 6f 6c 5f | 73 68 6f 72 74 5f 69 6e |(symbol_|short_in|
|00001ae0| 74 65 67 65 72 5f 62 61 | 73 65 2c 20 22 53 48 4f |teger_ba|se, "SHO|
|00001af0| 52 54 5f 49 4e 54 45 47 | 45 52 5c 27 62 61 73 65 |RT_INTEG|ER\'base|
|00001b00| 22 29 3b 0a 09 73 79 6d | 69 6e 69 74 31 28 73 79 |");..sym|init1(sy|
|00001b10| 6d 62 6f 6c 5f 73 68 6f | 72 74 5f 69 6e 74 65 67 |mbol_sho|rt_integ|
|00001b20| 65 72 2c 20 6e 61 5f 74 | 79 70 65 2c 20 73 79 6d |er, na_t|ype, sym|
|00001b30| 62 6f 6c 5f 73 68 6f 72 | 74 5f 69 6e 74 65 67 65 |bol_shor|t_intege|
|00001b40| 72 5f 62 61 73 65 29 3b | 0a 09 73 65 74 6e 61 6d |r_base);|..setnam|
|00001b50| 65 28 73 79 6d 62 6f 6c | 5f 73 68 6f 72 74 5f 69 |e(symbol|_short_i|
|00001b60| 6e 74 65 67 65 72 2c 20 | 22 53 48 4f 52 54 5f 49 |nteger, |"SHORT_I|
|00001b70| 4e 54 45 47 45 52 22 29 | 3b 0a 09 73 79 6d 69 6e |NTEGER")|;..symin|
|00001b80| 69 74 31 28 73 79 6d 62 | 6f 6c 5f 75 6e 69 76 65 |it1(symb|ol_unive|
|00001b90| 72 73 61 6c 5f 69 6e 74 | 65 67 65 72 2c 20 6e 61 |rsal_int|eger, na|
|00001ba0| 5f 74 79 70 65 2c 20 73 | 79 6d 62 6f 6c 5f 69 6e |_type, s|ymbol_in|
|00001bb0| 74 65 67 65 72 29 3b 0a | 09 73 65 74 6e 61 6d 65 |teger);.|.setname|
|00001bc0| 28 73 79 6d 62 6f 6c 5f | 75 6e 69 76 65 72 73 61 |(symbol_|universa|
|00001bd0| 6c 5f 69 6e 74 65 67 65 | 72 2c 20 22 75 6e 69 76 |l_intege|r, "univ|
|00001be0| 65 72 73 61 6c 5f 69 6e | 74 65 67 65 72 22 29 3b |ersal_in|teger");|
|00001bf0| 0a 09 73 79 6d 69 6e 69 | 74 31 28 73 79 6d 62 6f |..symini|t1(symbo|
|00001c00| 6c 5f 66 6c 6f 61 74 2c | 20 6e 61 5f 74 79 70 65 |l_float,| na_type|
|00001c10| 2c 20 73 79 6d 62 6f 6c | 5f 66 6c 6f 61 74 29 3b |, symbol|_float);|
|00001c20| 0a 09 73 65 74 6e 61 6d | 65 28 73 79 6d 62 6f 6c |..setnam|e(symbol|
|00001c30| 5f 66 6c 6f 61 74 2c 20 | 22 46 4c 4f 41 54 22 29 |_float, |"FLOAT")|
|00001c40| 3b 0a 09 73 79 6d 69 6e | 69 74 31 28 73 79 6d 62 |;..symin|it1(symb|
|00001c50| 6f 6c 5f 75 6e 69 76 65 | 72 73 61 6c 5f 72 65 61 |ol_unive|rsal_rea|
|00001c60| 6c 2c 20 6e 61 5f 74 79 | 70 65 2c 20 73 79 6d 62 |l, na_ty|pe, symb|
|00001c70| 6f 6c 5f 66 6c 6f 61 74 | 29 3b 0a 09 73 65 74 6e |ol_float|);..setn|
|00001c80| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 75 6e 69 76 65 |ame(symb|ol_unive|
|00001c90| 72 73 61 6c 5f 72 65 61 | 6c 2c 20 22 75 6e 69 76 |rsal_rea|l, "univ|
|00001ca0| 65 72 73 61 6c 5f 72 65 | 61 6c 22 29 3b 0a 09 73 |ersal_re|al");..s|
|00001cb0| 79 6d 69 6e 69 74 31 28 | 73 79 6d 62 6f 6c 5f 64 |yminit1(|symbol_d|
|00001cc0| 66 69 78 65 64 2c 20 6e | 61 5f 74 79 70 65 2c 20 |fixed, n|a_type, |
|00001cd0| 73 79 6d 62 6f 6c 5f 64 | 66 69 78 65 64 29 3b 0a |symbol_d|fixed);.|
|00001ce0| 09 73 65 74 6e 61 6d 65 | 28 73 79 6d 62 6f 6c 5f |.setname|(symbol_|
|00001cf0| 64 66 69 78 65 64 2c 20 | 22 24 46 49 58 45 44 22 |dfixed, |"$FIXED"|
|00001d00| 29 3b 0a 09 73 79 6d 69 | 6e 69 74 31 28 73 79 6d |);..symi|nit1(sym|
|00001d10| 62 6f 6c 5f 6e 61 74 75 | 72 61 6c 2c 20 6e 61 5f |bol_natu|ral, na_|
|00001d20| 73 75 62 74 79 70 65 2c | 20 73 79 6d 62 6f 6c 5f |subtype,| symbol_|
|00001d30| 69 6e 74 65 67 65 72 29 | 3b 0a 09 73 65 74 6e 61 |integer)|;..setna|
|00001d40| 6d 65 28 73 79 6d 62 6f | 6c 5f 6e 61 74 75 72 61 |me(symbo|l_natura|
|00001d50| 6c 2c 20 22 4e 41 54 55 | 52 41 4c 22 29 3b 0a 09 |l, "NATU|RAL");..|
|00001d60| 73 79 6d 69 6e 69 74 31 | 28 73 79 6d 62 6f 6c 5f |syminit1|(symbol_|
|00001d70| 70 6f 73 69 74 69 76 65 | 2c 20 6e 61 5f 73 75 62 |positive|, na_sub|
|00001d80| 74 79 70 65 2c 20 73 79 | 6d 62 6f 6c 5f 69 6e 74 |type, sy|mbol_int|
|00001d90| 65 67 65 72 29 3b 0a 09 | 73 65 74 6e 61 6d 65 28 |eger);..|setname(|
|00001da0| 73 79 6d 62 6f 6c 5f 70 | 6f 73 69 74 69 76 65 2c |symbol_p|ositive,|
|00001db0| 20 22 50 4f 53 49 54 49 | 56 45 22 29 3b 0a 09 73 | "POSITI|VE");..s|
|00001dc0| 79 6d 69 6e 69 74 31 28 | 73 79 6d 62 6f 6c 5f 64 |yminit1(|symbol_d|
|00001dd0| 75 72 61 74 69 6f 6e 2c | 20 6e 61 5f 74 79 70 65 |uration,| na_type|
|00001de0| 2c 20 73 79 6d 62 6f 6c | 5f 64 75 72 61 74 69 6f |, symbol|_duratio|
|00001df0| 6e 29 3b 0a 09 73 65 74 | 6e 61 6d 65 28 73 79 6d |n);..set|name(sym|
|00001e00| 62 6f 6c 5f 64 75 72 61 | 74 69 6f 6e 2c 20 22 44 |bol_dura|tion, "D|
|00001e10| 55 52 41 54 49 4f 4e 22 | 29 3b 0a 09 73 79 6d 69 |URATION"|);..symi|
|00001e20| 6e 69 74 31 28 73 79 6d | 62 6f 6c 5f 63 68 61 72 |nit1(sym|bol_char|
|00001e30| 61 63 74 65 72 2c 20 6e | 61 5f 65 6e 75 6d 2c 20 |acter, n|a_enum, |
|00001e40| 73 79 6d 62 6f 6c 5f 63 | 68 61 72 61 63 74 65 72 |symbol_c|haracter|
|00001e50| 29 3b 0a 09 73 65 74 6e | 61 6d 65 28 73 79 6d 62 |);..setn|ame(symb|
|00001e60| 6f 6c 5f 63 68 61 72 61 | 63 74 65 72 2c 20 22 43 |ol_chara|cter, "C|
|00001e70| 48 41 52 41 43 54 45 52 | 22 29 3b 0a 09 73 79 6d |HARACTER|");..sym|
|00001e80| 69 6e 69 74 31 28 73 79 | 6d 62 6f 6c 5f 62 6f 6f |init1(sy|mbol_boo|
|00001e90| 6c 65 61 6e 2c 20 6e 61 | 5f 65 6e 75 6d 2c 20 73 |lean, na|_enum, s|
|00001ea0| 79 6d 62 6f 6c 5f 62 6f | 6f 6c 65 61 6e 29 3b 0a |ymbol_bo|olean);.|
|00001eb0| 09 73 65 74 6e 61 6d 65 | 28 73 79 6d 62 6f 6c 5f |.setname|(symbol_|
|00001ec0| 62 6f 6f 6c 65 61 6e 2c | 20 22 42 4f 4f 4c 45 41 |boolean,| "BOOLEA|
|00001ed0| 4e 22 29 3b 0a 09 73 79 | 6d 69 6e 69 74 31 28 73 |N");..sy|minit1(s|
|00001ee0| 79 6d 62 6f 6c 5f 73 74 | 72 69 6e 67 2c 20 6e 61 |ymbol_st|ring, na|
|00001ef0| 5f 61 72 72 61 79 2c 20 | 73 79 6d 62 6f 6c 5f 73 |_array, |symbol_s|
|00001f00| 74 72 69 6e 67 29 3b 0a | 09 73 65 74 6e 61 6d 65 |tring);.|.setname|
|00001f10| 28 73 79 6d 62 6f 6c 5f | 73 74 72 69 6e 67 2c 20 |(symbol_|string, |
|00001f20| 22 53 54 52 49 4e 47 22 | 29 3b 20 2f 2a 20 3f 3f |"STRING"|); /* ??|
|00001f30| 20 2a 2f 0a 09 74 75 70 | 20 3d 20 74 75 70 5f 6e | */..tup| = tup_n|
|00001f40| 65 77 28 32 29 3b 0a 09 | 74 75 70 5b 31 5d 20 3d |ew(2);..|tup[1] =|
|00001f50| 28 63 68 61 72 20 2a 29 | 20 74 75 70 5f 6e 65 77 |(char *)| tup_new|
|00001f60| 31 28 28 63 68 61 72 20 | 2a 29 20 73 79 6d 62 6f |1((char |*) symbo|
|00001f70| 6c 5f 70 6f 73 69 74 69 | 76 65 29 3b 0a 09 74 75 |l_positi|ve);..tu|
|00001f80| 70 5b 32 5d 20 3d 28 63 | 68 61 72 20 2a 29 20 73 |p[2] =(c|har *) s|
|00001f90| 79 6d 62 6f 6c 5f 63 68 | 61 72 61 63 74 65 72 3b |ymbol_ch|aracter;|
|00001fa0| 0a 09 53 49 47 4e 41 54 | 55 52 45 28 73 79 6d 62 |..SIGNAT|URE(symb|
|00001fb0| 6f 6c 5f 73 74 72 69 6e | 67 29 20 3d 20 74 75 70 |ol_strin|g) = tup|
|00001fc0| 3b 0a 09 73 79 6d 62 6f | 6c 5f 63 68 61 72 61 63 |;..symbo|l_charac|
|00001fd0| 74 65 72 5f 74 79 70 65 | 20 3d 20 73 79 6d 5f 6e |ter_type| = sym_n|
|00001fe0| 65 77 28 6e 61 5f 65 6e | 75 6d 29 3b 0a 09 73 65 |ew(na_en|um);..se|
|00001ff0| 74 6e 61 6d 65 28 73 79 | 6d 62 6f 6c 5f 63 68 61 |tname(sy|mbol_cha|
|00002000| 72 61 63 74 65 72 5f 74 | 79 70 65 2c 20 22 63 68 |racter_t|ype, "ch|
|00002010| 61 72 5f 74 79 70 65 22 | 29 3b 0a 09 72 6f 6f 74 |ar_type"|);..root|
|00002020| 5f 74 79 70 65 28 73 79 | 6d 62 6f 6c 5f 63 68 61 |_type(sy|mbol_cha|
|00002030| 72 61 63 74 65 72 5f 74 | 79 70 65 29 20 3d 20 73 |racter_t|ype) = s|
|00002040| 79 6d 62 6f 6c 5f 63 68 | 61 72 61 63 74 65 72 5f |ymbol_ch|aracter_|
|00002050| 74 79 70 65 3b 0a 09 73 | 79 6d 69 6e 69 74 31 28 |type;..s|yminit1(|
|00002060| 73 79 6d 62 6f 6c 5f 73 | 74 72 69 6e 67 5f 74 79 |symbol_s|tring_ty|
|00002070| 70 65 2c 20 6e 61 5f 61 | 72 72 61 79 2c 20 73 79 |pe, na_a|rray, sy|
|00002080| 6d 62 6f 6c 5f 73 74 72 | 69 6e 67 5f 74 79 70 65 |mbol_str|ing_type|
|00002090| 29 3b 0a 09 73 65 74 6e | 61 6d 65 28 73 79 6d 62 |);..setn|ame(symb|
|000020a0| 6f 6c 5f 73 74 72 69 6e | 67 5f 74 79 70 65 2c 20 |ol_strin|g_type, |
|000020b0| 22 73 74 72 69 6e 67 5f | 74 79 70 65 22 29 3b 0a |"string_|type");.|
|000020c0| 09 74 75 70 20 3d 20 74 | 75 70 5f 6e 65 77 28 32 |.tup = t|up_new(2|
|000020d0| 29 3b 0a 09 74 75 70 5b | 31 5d 20 3d 20 28 63 68 |);..tup[|1] = (ch|
|000020e0| 61 72 20 2a 29 20 74 75 | 70 5f 6e 65 77 31 28 28 |ar *) tu|p_new1((|
|000020f0| 63 68 61 72 20 2a 29 20 | 73 79 6d 62 6f 6c 5f 70 |char *) |symbol_p|
|00002100| 6f 73 69 74 69 76 65 29 | 3b 0a 09 74 75 70 5b 32 |ositive)|;..tup[2|
|00002110| 5d 20 3d 20 28 63 68 61 | 72 20 2a 29 20 73 79 6d |] = (cha|r *) sym|
|00002120| 62 6f 6c 5f 63 68 61 72 | 61 63 74 65 72 5f 74 79 |bol_char|acter_ty|
|00002130| 70 65 3b 0a 09 53 49 47 | 4e 41 54 55 52 45 28 73 |pe;..SIG|NATURE(s|
|00002140| 79 6d 62 6f 6c 5f 73 74 | 72 69 6e 67 5f 74 79 70 |ymbol_st|ring_typ|
|00002150| 65 29 20 3d 20 74 75 70 | 3b 0a 09 73 79 6d 69 6e |e) = tup|;..symin|
|00002160| 69 74 31 28 73 79 6d 62 | 6f 6c 5f 64 61 63 63 65 |it1(symb|ol_dacce|
|00002170| 73 73 2c 20 6e 61 5f 61 | 63 63 65 73 73 2c 20 73 |ss, na_a|ccess, s|
|00002180| 79 6d 62 6f 6c 5f 64 61 | 63 63 65 73 73 29 3b 0a |ymbol_da|ccess);.|
|00002190| 09 73 65 74 6e 61 6d 65 | 28 73 79 6d 62 6f 6c 5f |.setname|(symbol_|
|000021a0| 64 61 63 63 65 73 73 2c | 20 22 24 41 43 43 45 53 |daccess,| "$ACCES|
|000021b0| 53 22 29 3b 0a 09 73 79 | 6d 69 6e 69 74 31 28 73 |S");..sy|minit1(s|
|000021c0| 79 6d 62 6f 6c 5f 6e 75 | 6c 6c 2c 20 6e 61 5f 6e |ymbol_nu|ll, na_n|
|000021d0| 75 6c 6c 2c 20 73 79 6d | 62 6f 6c 5f 61 6e 79 29 |ull, sym|bol_any)|
|000021e0| 3b 0a 09 73 65 74 6e 61 | 6d 65 28 73 79 6d 62 6f |;..setna|me(symbo|
|000021f0| 6c 5f 6e 75 6c 6c 2c 20 | 22 6e 75 6c 6c 22 29 3b |l_null, |"null");|
|00002200| 0a 09 73 79 6d 69 6e 69 | 74 31 28 73 79 6d 62 6f |..symini|t1(symbo|
|00002210| 6c 5f 6d 61 69 6e 5f 74 | 61 73 6b 5f 74 79 70 65 |l_main_t|ask_type|
|00002220| 2c 20 6e 61 5f 74 61 73 | 6b 5f 74 79 70 65 2c 20 |, na_tas|k_type, |
|00002230| 73 79 6d 62 6f 6c 5f 6d | 61 69 6e 5f 74 61 73 6b |symbol_m|ain_task|
|00002240| 5f 74 79 70 65 29 3b 0a | 09 73 65 74 6e 61 6d 65 |_type);.|.setname|
|00002250| 28 73 79 6d 62 6f 6c 5f | 6d 61 69 6e 5f 74 61 73 |(symbol_|main_tas|
|00002260| 6b 5f 74 79 70 65 2c 20 | 22 6d 61 69 6e 5f 74 61 |k_type, |"main_ta|
|00002270| 73 6b 5f 74 79 70 65 22 | 29 3b 0a 09 73 79 6d 69 |sk_type"|);..symi|
|00002280| 6e 69 74 31 28 73 79 6d | 62 6f 6c 5f 63 6f 6e 73 |nit1(sym|bol_cons|
|00002290| 74 72 61 69 6e 65 64 2c | 20 6e 61 5f 64 69 73 63 |trained,| na_disc|
|000022a0| 72 69 6d 69 6e 61 6e 74 | 2c 20 73 79 6d 62 6f 6c |riminant|, symbol|
|000022b0| 5f 62 6f 6f 6c 65 61 6e | 29 3b 0a 09 73 65 74 6e |_boolean|);..setn|
|000022c0| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 63 6f 6e 73 74 |ame(symb|ol_const|
|000022d0| 72 61 69 6e 65 64 2c 20 | 22 63 6f 6e 73 74 72 61 |rained, |"constra|
|000022e0| 69 6e 65 64 22 29 3b 0a | 09 73 79 6d 69 6e 69 74 |ined");.|.syminit|
|000022f0| 31 28 73 79 6d 62 6f 6c | 5f 6e 6f 6e 65 2c 20 6e |1(symbol|_none, n|
|00002300| 61 5f 74 79 70 65 2c 20 | 73 79 6d 62 6f 6c 5f 6e |a_type, |symbol_n|
|00002310| 6f 6e 65 29 3b 0a 09 73 | 65 74 6e 61 6d 65 28 73 |one);..s|etname(s|
|00002320| 79 6d 62 6f 6c 5f 6e 6f | 6e 65 2c 20 22 6e 6f 6e |ymbol_no|ne, "non|
|00002330| 65 22 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 73 74 61 |e");..sy|mbol_sta|
|00002340| 6e 64 61 72 64 30 20 3d | 20 73 79 6d 5f 6e 65 77 |ndard0 =| sym_new|
|00002350| 28 6e 61 5f 70 61 63 6b | 61 67 65 29 3b 0a 09 73 |(na_pack|age);..s|
|00002360| 65 74 6e 61 6d 65 28 73 | 79 6d 62 6f 6c 5f 73 74 |etname(s|ymbol_st|
|00002370| 61 6e 64 61 72 64 30 2c | 20 22 53 54 41 4e 44 41 |andard0,| "STANDA|
|00002380| 52 44 23 30 22 29 3b 0a | 0a 09 2f 2a 20 6e 65 77 |RD#0");.|../* new|
|00002390| 20 73 79 6d 62 6f 6c 20 | 64 65 66 69 6e 69 74 69 | symbol |definiti|
|000023a0| 6f 6e 73 20 74 68 61 74 | 20 61 72 65 20 63 6f 6d |ons that| are com|
|000023b0| 6d 6f 6e 20 77 69 74 68 | 20 74 68 65 20 63 6f 64 |mon with| the cod|
|000023c0| 65 20 67 65 6e 65 72 61 | 74 6f 72 20 73 68 6f 75 |e genera|tor shou|
|000023d0| 6c 64 20 2a 2f 0a 09 2f | 2a 20 62 65 20 70 6c 61 |ld */../|* be pla|
|000023e0| 63 65 64 20 62 65 66 6f | 72 65 20 74 68 69 73 20 |ced befo|re this |
|000023f0| 63 6f 6d 6d 65 6e 74 2e | 09 09 09 09 09 20 20 20 |comment.|..... |
|00002400| 20 20 2a 2f 0a 0a 09 73 | 79 6d 62 6f 6c 5f 75 6e | */...s|ymbol_un|
|00002410| 64 65 66 20 3d 20 73 79 | 6d 5f 6e 65 77 28 6e 61 |def = sy|m_new(na|
|00002420| 5f 6f 62 6a 29 3b 20 2f | 2a 20 66 6f 72 20 27 3f |_obj); /|* for '?|
|00002430| 27 20 63 61 73 65 20 2a | 2f 0a 09 73 65 74 6e 61 |' case *|/..setna|
|00002440| 6d 65 28 73 79 6d 62 6f | 6c 5f 75 6e 64 65 66 2c |me(symbo|l_undef,|
|00002450| 20 22 3f 2d 75 6e 64 65 | 66 22 29 3b 0a 0a 09 2f | "?-unde|f");.../|
|00002460| 2a 20 20 49 6e 20 53 45 | 54 4c 2c 20 68 61 76 65 |* In SE|TL, have|
|00002470| 0a 09 20 2a 20 20 20 20 | 73 63 6f 70 65 5f 69 6e |.. * |scope_in|
|00002480| 66 6f 20 3d 20 69 6e 69 | 74 5f 73 63 6f 70 65 5f |fo = ini|t_scope_|
|00002490| 69 6e 66 6f 3b 0a 09 20 | 2a 20 73 63 6f 70 65 5f |info;.. |* scope_|
|000024a0| 69 6e 66 6f 20 69 73 20 | 6d 61 63 72 6f 3a 20 74 |info is |macro: t|
|000024b0| 72 61 6e 73 6c 61 74 65 | 73 20 69 6e 74 6f 0a 09 |ranslate|s into..|
|000024c0| 20 2a 20 20 20 20 73 63 | 6f 70 65 5f 6e 61 6d 65 | * sc|ope_name|
|000024d0| 20 3d 20 27 53 54 41 4e | 44 41 52 44 23 30 27 3b | = 'STAN|DARD#0';|
|000024e0| 0a 09 20 2a 20 20 20 20 | 70 72 65 66 69 78 20 3a |.. * |prefix :|
|000024f0| 3d 20 73 75 66 66 69 78 | 20 3a 3d 20 27 27 3b 0a |= suffix| := '';.|
|00002500| 09 20 2a 20 20 20 20 6f | 70 65 6e 5f 73 63 6f 70 |. * o|pen_scop|
|00002510| 65 73 20 3a 3d 20 5b 27 | 53 54 41 4e 44 41 52 44 |es := ['|STANDARD|
|00002520| 23 30 27 2c 20 27 55 4e | 4d 45 4e 54 49 4f 4e 41 |#0', 'UN|MENTIONA|
|00002530| 42 4c 45 23 30 27 5d 0a | 09 20 2a 20 20 20 20 75 |BLE#0'].|. * u|
|00002540| 73 65 64 5f 6d 6f 64 73 | 20 3a 3d 20 5b 5d 3b 0a |sed_mods| := [];.|
|00002550| 09 20 2a 20 20 20 20 76 | 69 73 5f 6d 6f 64 73 20 |. * v|is_mods |
|00002560| 3a 3d 20 5b 27 41 53 43 | 49 49 27 5d 3b 0a 09 20 |:= ['ASC|II'];.. |
|00002570| 2a 0a 09 20 2a 20 54 42 | 53 4c 20 2d 20 77 68 65 |*.. * TB|SL - whe|
|00002580| 72 65 20 74 6f 20 70 75 | 74 20 73 74 72 69 6e 67 |re to pu|t string|
|00002590| 20 66 6f 72 20 73 74 61 | 6e 64 61 72 64 30 20 65 | for sta|ndard0 e|
|000025a0| 74 63 20 0a 09 20 2a 2f | 0a 09 73 79 6d 62 6f 6c |tc .. */|..symbol|
|000025b0| 5f 73 74 61 6e 64 61 72 | 64 20 3d 20 73 79 6d 5f |_standar|d = sym_|
|000025c0| 6e 65 77 28 6e 61 5f 70 | 61 63 6b 61 67 65 29 3b |new(na_p|ackage);|
|000025d0| 0a 09 73 65 74 6e 61 6d | 65 28 73 79 6d 62 6f 6c |..setnam|e(symbol|
|000025e0| 5f 73 74 61 6e 64 61 72 | 64 2c 20 22 73 74 61 6e |_standar|d, "stan|
|000025f0| 64 61 72 64 22 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |dard");.|.symbol_|
|00002600| 75 6e 6d 65 6e 74 69 6f | 6e 61 62 6c 65 20 3d 20 |unmentio|nable = |
|00002610| 73 79 6d 5f 6e 65 77 28 | 6e 61 5f 70 61 63 6b 61 |sym_new(|na_packa|
|00002620| 67 65 29 3b 0a 09 73 65 | 74 6e 61 6d 65 28 73 79 |ge);..se|tname(sy|
|00002630| 6d 62 6f 6c 5f 75 6e 6d | 65 6e 74 69 6f 6e 61 62 |mbol_unm|entionab|
|00002640| 6c 65 2c 20 22 75 6e 6d | 65 6e 74 69 6f 6e 61 62 |le, "unm|entionab|
|00002650| 6c 65 22 29 3b 0a 09 73 | 79 6d 62 6f 6c 5f 61 73 |le");..s|ymbol_as|
|00002660| 63 69 69 20 3d 20 73 79 | 6d 5f 6e 65 77 28 6e 61 |cii = sy|m_new(na|
|00002670| 5f 70 61 63 6b 61 67 65 | 29 3b 0a 09 73 65 74 6e |_package|);..setn|
|00002680| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 61 73 63 69 69 |ame(symb|ol_ascii|
|00002690| 2c 20 22 41 53 43 49 49 | 22 29 3b 0a 09 73 79 6d |, "ASCII|");..sym|
|000026a0| 62 6f 6c 5f 73 79 73 74 | 65 6d 20 3d 20 28 53 79 |bol_syst|em = (Sy|
|000026b0| 6d 62 6f 6c 29 20 30 3b | 20 2f 2a 20 75 6e 74 69 |mbol) 0;| /* unti|
|000026c0| 6c 20 64 65 66 69 6e 65 | 64 20 2a 2f 0a 09 73 63 |l define|d */..sc|
|000026d0| 6f 70 65 5f 6e 61 6d 65 | 20 3d 20 73 79 6d 62 6f |ope_name| = symbo|
|000026e0| 6c 5f 73 74 61 6e 64 61 | 72 64 30 3b 0a 09 6f 70 |l_standa|rd0;..op|
|000026f0| 65 6e 5f 73 63 6f 70 65 | 73 20 3d 20 74 75 70 5f |en_scope|s = tup_|
|00002700| 6e 65 77 28 32 29 3b 0a | 09 6f 70 65 6e 5f 73 63 |new(2);.|.open_sc|
|00002710| 6f 70 65 73 5b 31 5d 20 | 3d 28 63 68 61 72 20 2a |opes[1] |=(char *|
|00002720| 29 20 73 79 6d 62 6f 6c | 5f 73 74 61 6e 64 61 72 |) symbol|_standar|
|00002730| 64 30 3b 0a 09 6f 70 65 | 6e 5f 73 63 6f 70 65 73 |d0;..ope|n_scopes|
|00002740| 5b 32 5d 20 3d 28 63 68 | 61 72 20 2a 29 20 73 79 |[2] =(ch|ar *) sy|
|00002750| 6d 62 6f 6c 5f 75 6e 6d | 65 6e 74 69 6f 6e 61 62 |mbol_unm|entionab|
|00002760| 6c 65 3b 0a 09 76 69 73 | 5f 6d 6f 64 73 20 3d 20 |le;..vis|_mods = |
|00002770| 74 75 70 5f 6e 65 77 31 | 28 28 63 68 61 72 20 2a |tup_new1|((char *|
|00002780| 29 20 73 79 6d 62 6f 6c | 5f 61 73 63 69 69 29 3b |) symbol|_ascii);|
|00002790| 0a 09 75 73 65 64 5f 6d | 6f 64 73 20 3d 20 74 75 |..used_m|ods = tu|
|000027a0| 70 5f 6e 65 77 28 30 29 | 3b 0a 0a 09 6e 6f 6f 70 |p_new(0)|;...noop|
|000027b0| 5f 65 72 72 6f 72 20 3d | 20 46 41 4c 53 45 3b 0a |_error =| FALSE;.|
|000027c0| 09 6f 75 74 5f 63 6f 6e | 74 65 78 74 20 3d 20 46 |.out_con|text = F|
|000027d0| 41 4c 53 45 3b 0a 0a 09 | 66 75 6c 6c 5f 6f 74 68 |ALSE;...|full_oth|
|000027e0| 65 72 73 20 3d 20 46 41 | 4c 53 45 3b 09 2f 2a 63 |ers = FA|LSE;./*c|
|000027f0| 6f 6d 6d 6f 6e 20 63 61 | 73 65 20 66 6f 72 20 61 |ommon ca|se for a|
|00002800| 73 73 69 67 6e 6d 65 6e | 74 2e 2a 2f 0a 09 66 6f |ssignmen|t.*/..fo|
|00002810| 6c 64 5f 63 6f 6e 74 65 | 78 74 20 3d 20 54 52 55 |ld_conte|xt = TRU|
|00002820| 45 3b 20 2f 2a 20 45 76 | 65 72 79 77 68 65 72 65 |E; /* Ev|erywhere|
|00002830| 20 62 75 74 20 66 6f 72 | 20 63 6f 6e 66 6f 72 6d | but for| conform|
|00002840| 61 6e 63 65 2a 2f 0a 0a | 09 6e 6f 64 65 5f 63 6f |ance*/..|.node_co|
|00002850| 75 6e 74 20 3d 20 31 3b | 0a 0a 09 62 61 73 65 5f |unt = 1;|...base_|
|00002860| 64 65 63 6c 61 72 65 64 | 5f 73 79 6d 62 6f 6c 73 |declared|_symbols|
|00002870| 5b 30 5d 20 3d 20 73 79 | 6d 62 6f 6c 5f 73 74 61 |[0] = sy|mbol_sta|
|00002880| 6e 64 61 72 64 30 3b 0a | 09 62 61 73 65 5f 64 65 |ndard0;.|.base_de|
|00002890| 63 6c 61 72 65 64 5f 73 | 79 6d 62 6f 6c 73 5b 31 |clared_s|ymbols[1|
|000028a0| 5d 20 3d 20 73 79 6d 62 | 6f 6c 5f 75 6e 6d 65 6e |] = symb|ol_unmen|
|000028b0| 74 69 6f 6e 61 62 6c 65 | 3b 0a 09 62 61 73 65 5f |tionable|;..base_|
|000028c0| 64 65 63 6c 61 72 65 64 | 5f 73 79 6d 62 6f 6c 73 |declared|_symbols|
|000028d0| 5b 32 5d 20 3d 20 73 79 | 6d 62 6f 6c 5f 73 74 61 |[2] = sy|mbol_sta|
|000028e0| 6e 64 61 72 64 3b 0a 09 | 62 61 73 65 5f 64 65 63 |ndard;..|base_dec|
|000028f0| 6c 61 72 65 64 5f 73 79 | 6d 62 6f 6c 73 5b 33 5d |lared_sy|mbols[3]|
|00002900| 20 3d 20 73 79 6d 62 6f | 6c 5f 61 73 63 69 69 3b | = symbo|l_ascii;|
|00002910| 0a 0a 09 73 79 6d 69 6e | 69 74 31 28 73 79 6d 62 |...symin|it1(symb|
|00002920| 6f 6c 5f 6c 6f 6e 67 5f | 69 6e 74 65 67 65 72 2c |ol_long_|integer,|
|00002930| 20 6e 61 5f 74 79 70 65 | 2c 20 73 79 6d 62 6f 6c | na_type|, symbol|
|00002940| 5f 69 6e 74 65 67 65 72 | 29 3b 0a 09 73 65 74 6e |_integer|);..setn|
|00002950| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 6c 6f 6e 67 5f |ame(symb|ol_long_|
|00002960| 69 6e 74 65 67 65 72 2c | 20 22 4c 4f 4e 47 5f 49 |integer,| "LONG_I|
|00002970| 4e 54 45 47 45 52 22 29 | 3b 0a 09 73 79 6d 69 6e |NTEGER")|;..symin|
|00002980| 69 74 31 28 73 79 6d 62 | 6f 6c 5f 6c 6f 6e 67 5f |it1(symb|ol_long_|
|00002990| 66 6c 6f 61 74 2c 20 6e | 61 5f 74 79 70 65 2c 20 |float, n|a_type, |
|000029a0| 73 79 6d 62 6f 6c 5f 66 | 6c 6f 61 74 29 3b 0a 09 |symbol_f|loat);..|
|000029b0| 73 65 74 6e 61 6d 65 28 | 73 79 6d 62 6f 6c 5f 6c |setname(|symbol_l|
|000029c0| 6f 6e 67 5f 66 6c 6f 61 | 74 2c 20 22 4c 4f 4e 47 |ong_floa|t, "LONG|
|000029d0| 5f 46 4c 4f 41 54 22 29 | 3b 0a 09 73 79 6d 69 6e |_FLOAT")|;..symin|
|000029e0| 69 74 31 28 73 79 6d 62 | 6f 6c 5f 75 6e 69 76 65 |it1(symb|ol_unive|
|000029f0| 72 73 61 6c 5f 66 69 78 | 65 64 2c 20 6e 61 5f 74 |rsal_fix|ed, na_t|
|00002a00| 79 70 65 2c 20 73 79 6d | 62 6f 6c 5f 75 6e 69 76 |ype, sym|bol_univ|
|00002a10| 65 72 73 61 6c 5f 66 69 | 78 65 64 29 3b 0a 09 73 |ersal_fi|xed);..s|
|00002a20| 65 74 6e 61 6d 65 28 73 | 79 6d 62 6f 6c 5f 75 6e |etname(s|ymbol_un|
|00002a30| 69 76 65 72 73 61 6c 5f | 66 69 78 65 64 2c 20 22 |iversal_|fixed, "|
|00002a40| 75 6e 69 76 65 72 73 61 | 6c 5f 66 69 78 65 64 22 |universa|l_fixed"|
|00002a50| 29 3b 0a 09 73 79 6d 69 | 6e 69 74 31 28 73 79 6d |);..symi|nit1(sym|
|00002a60| 62 6f 6c 5f 61 72 72 61 | 79 5f 74 79 70 65 2c 20 |bol_arra|y_type, |
|00002a70| 6e 61 5f 61 72 72 61 79 | 2c 20 73 79 6d 62 6f 6c |na_array|, symbol|
|00002a80| 5f 61 6e 79 29 3b 0a 09 | 73 65 74 6e 61 6d 65 28 |_any);..|setname(|
|00002a90| 73 79 6d 62 6f 6c 5f 61 | 72 72 61 79 5f 74 79 70 |symbol_a|rray_typ|
|00002aa0| 65 2c 20 22 61 72 72 61 | 79 5f 74 79 70 65 22 29 |e, "arra|y_type")|
|00002ab0| 3b 0a 09 74 75 70 20 3d | 20 74 75 70 5f 6e 65 77 |;..tup =| tup_new|
|00002ac0| 28 32 29 3b 0a 09 74 75 | 70 5b 31 5d 20 3d 28 63 |(2);..tu|p[1] =(c|
|00002ad0| 68 61 72 20 2a 29 20 74 | 75 70 5f 6e 65 77 31 28 |har *) t|up_new1(|
|00002ae0| 28 63 68 61 72 20 2a 29 | 20 73 79 6d 62 6f 6c 5f |(char *)| symbol_|
|00002af0| 61 6e 79 29 3b 0a 09 74 | 75 70 5b 32 5d 20 3d 28 |any);..t|up[2] =(|
|00002b00| 63 68 61 72 20 2a 29 20 | 73 79 6d 62 6f 6c 5f 63 |char *) |symbol_c|
|00002b10| 68 61 72 61 63 74 65 72 | 3b 0a 09 53 49 47 4e 41 |haracter|;..SIGNA|
|00002b20| 54 55 52 45 28 73 79 6d | 62 6f 6c 5f 61 72 72 61 |TURE(sym|bol_arra|
|00002b30| 79 5f 74 79 70 65 29 20 | 3d 20 74 75 70 3b 0a 09 |y_type) |= tup;..|
|00002b40| 73 79 6d 69 6e 69 74 31 | 28 73 79 6d 62 6f 6c 5f |syminit1|(symbol_|
|00002b50| 64 69 73 63 72 65 74 65 | 5f 74 79 70 65 2c 20 6e |discrete|_type, n|
|00002b60| 61 5f 74 79 70 65 2c 20 | 73 79 6d 62 6f 6c 5f 64 |a_type, |symbol_d|
|00002b70| 69 73 63 72 65 74 65 5f | 74 79 70 65 29 3b 0a 09 |iscrete_|type);..|
|00002b80| 73 65 74 6e 61 6d 65 28 | 73 79 6d 62 6f 6c 5f 64 |setname(|symbol_d|
|00002b90| 69 73 63 72 65 74 65 5f | 74 79 70 65 2c 20 22 64 |iscrete_|type, "d|
|00002ba0| 69 73 63 72 65 74 65 5f | 74 79 70 65 22 29 3b 0a |iscrete_|type");.|
|00002bb0| 09 2f 2a 20 27 49 3a 31 | 27 20 69 73 20 73 79 6d |./* 'I:1|' is sym|
|00002bc0| 62 6f 6c 5f 75 6e 69 76 | 65 72 73 61 6c 5f 69 6e |bol_univ|ersal_in|
|00002bd0| 74 65 67 65 72 5f 31 27 | 20 2a 2f 0a 09 73 79 6d |teger_1'| */..sym|
|00002be0| 69 6e 69 74 31 28 73 79 | 6d 62 6f 6c 5f 75 6e 69 |init1(sy|mbol_uni|
|00002bf0| 76 65 72 73 61 6c 5f 69 | 6e 74 65 67 65 72 5f 31 |versal_i|nteger_1|
|00002c00| 2c 20 6e 61 5f 63 6f 6e | 73 74 61 6e 74 2c 20 73 |, na_con|stant, s|
|00002c10| 79 6d 62 6f 6c 5f 75 6e | 69 76 65 72 73 61 6c 5f |ymbol_un|iversal_|
|00002c20| 69 6e 74 65 67 65 72 29 | 3b 0a 09 73 65 74 6e 61 |integer)|;..setna|
|00002c30| 6d 65 28 73 79 6d 62 6f | 6c 5f 75 6e 69 76 65 72 |me(symbo|l_univer|
|00002c40| 73 61 6c 5f 69 6e 74 65 | 67 65 72 5f 31 2c 20 22 |sal_inte|ger_1, "|
|00002c50| 49 3a 31 22 29 3b 0a 09 | 2f 2a 20 69 6e 69 74 69 |I:1");..|/* initi|
|00002c60| 61 6c 69 7a 65 20 73 69 | 67 6e 61 74 75 72 65 20 |alize si|gnature |
|00002c70| 61 74 20 65 6e 64 20 66 | 6f 72 20 63 6f 6d 70 61 |at end f|or compa|
|00002c80| 74 69 62 69 6c 69 74 79 | 20 77 69 74 68 20 67 65 |tibility| with ge|
|00002c90| 6e 20 2a 2f 0a 0a 09 2f | 2a 20 5b 27 49 3a 31 27 |n */.../|* ['I:1'|
|00002ca0| 2c 20 20 5b 6e 61 5f 63 | 6f 6e 73 74 61 6e 74 2c |, [na_c|onstant,|
|00002cb0| 20 27 75 6e 69 76 65 72 | 73 61 6c 5f 69 6e 74 65 | 'univer|sal_inte|
|00002cc0| 67 65 72 27 2c 20 76 61 | 6c 5f 6e 6f 64 65 28 31 |ger', va|l_node(1|
|00002cd0| 29 20 5d 5d 2c 20 2a 2f | 0a 09 2f 2a 20 44 65 66 |) ]], */|../* Def|
|00002ce0| 69 6e 69 74 69 6f 6e 73 | 20 6f 66 20 73 79 6d 62 |initions| of symb|
|00002cf0| 6f 6c 5f 75 6e 6d 65 6e | 74 69 6f 6e 61 62 6c 65 |ol_unmen|tionable|
|00002d00| 2c 20 73 79 6d 62 6f 6c | 5f 73 74 61 6e 64 61 72 |, symbol|_standar|
|00002d10| 64 20 61 6e 64 20 73 79 | 6d 62 6f 6c 5f 61 73 63 |d and sy|mbol_asc|
|00002d20| 69 69 0a 09 20 2a 20 64 | 6f 6e 65 20 61 74 20 74 |ii.. * d|one at t|
|00002d30| 68 69 73 20 70 6f 69 6e | 74 20 69 6e 20 53 45 54 |his poin|t in SET|
|00002d40| 4c 20 76 65 72 73 69 6f | 6e 20 61 72 65 20 64 6f |L versio|n are do|
|00002d50| 6e 65 20 61 74 20 73 74 | 61 72 74 20 6f 66 20 74 |ne at st|art of t|
|00002d60| 68 69 73 20 70 72 6f 63 | 65 64 75 72 65 0a 09 20 |his proc|edure.. |
|00002d70| 2a 20 69 6e 20 43 20 76 | 65 72 73 69 6f 6e 0a 09 |* in C v|ersion..|
|00002d80| 20 2a 2f 0a 0a 09 73 79 | 6d 69 6e 69 74 31 28 73 | */...sy|minit1(s|
|00002d90| 79 6d 62 6f 6c 5f 61 6e | 79 2c 20 6e 61 5f 74 79 |ymbol_an|y, na_ty|
|00002da0| 70 65 2c 20 73 79 6d 62 | 6f 6c 5f 61 6e 79 29 3b |pe, symb|ol_any);|
|00002db0| 0a 09 73 65 74 6e 61 6d | 65 28 73 79 6d 62 6f 6c |..setnam|e(symbol|
|00002dc0| 5f 61 6e 79 2c 20 22 61 | 6e 79 22 29 3b 0a 0a 09 |_any, "a|ny");...|
|00002dd0| 73 79 6d 69 6e 69 74 31 | 28 73 79 6d 62 6f 6c 5f |syminit1|(symbol_|
|00002de0| 61 6e 79 5f 69 64 2c 20 | 6e 61 5f 6f 62 6a 2c 20 |any_id, |na_obj, |
|00002df0| 73 79 6d 62 6f 6c 5f 61 | 6e 79 29 3b 0a 09 53 43 |symbol_a|ny);..SC|
|00002e00| 4f 50 45 5f 4f 46 28 73 | 79 6d 62 6f 6c 5f 61 6e |OPE_OF(s|ymbol_an|
|00002e10| 79 5f 69 64 29 20 3d 20 | 73 79 6d 62 6f 6c 5f 75 |y_id) = |symbol_u|
|00002e20| 6e 6d 65 6e 74 69 6f 6e | 61 62 6c 65 3b 0a 09 72 |nmention|able;..r|
|00002e30| 6f 6f 74 5f 74 79 70 65 | 28 73 79 6d 62 6f 6c 5f |oot_type|(symbol_|
|00002e40| 61 6e 79 5f 69 64 29 20 | 3d 20 73 79 6d 62 6f 6c |any_id) |= symbol|
|00002e50| 5f 61 6e 79 3b 0a 09 73 | 65 74 6e 61 6d 65 28 73 |_any;..s|etname(s|
|00002e60| 79 6d 62 6f 6c 5f 61 6e | 79 5f 69 64 2c 20 22 61 |ymbol_an|y_id, "a|
|00002e70| 6e 79 5f 69 64 22 29 3b | 0a 09 73 79 6d 69 6e 69 |ny_id");|..symini|
|00002e80| 74 31 28 73 79 6d 62 6f | 6c 5f 6c 65 66 74 2c 20 |t1(symbo|l_left, |
|00002e90| 6e 61 5f 69 6e 2c 20 73 | 79 6d 62 6f 6c 5f 61 6e |na_in, s|ymbol_an|
|00002ea0| 79 29 3b 0a 09 73 65 74 | 6e 61 6d 65 28 73 79 6d |y);..set|name(sym|
|00002eb0| 62 6f 6c 5f 6c 65 66 74 | 2c 20 22 4c 45 46 54 22 |bol_left|, "LEFT"|
|00002ec0| 29 3b 0a 09 53 49 47 4e | 41 54 55 52 45 28 73 79 |);..SIGN|ATURE(sy|
|00002ed0| 6d 62 6f 6c 5f 6c 65 66 | 74 29 20 3d 20 28 54 75 |mbol_lef|t) = (Tu|
|00002ee0| 70 6c 65 29 20 4f 50 54 | 5f 4e 4f 44 45 3b 0a 09 |ple) OPT|_NODE;..|
|00002ef0| 73 79 6d 69 6e 69 74 31 | 28 73 79 6d 62 6f 6c 5f |syminit1|(symbol_|
|00002f00| 72 69 67 68 74 2c 20 6e | 61 5f 69 6e 2c 20 73 79 |right, n|a_in, sy|
|00002f10| 6d 62 6f 6c 5f 61 6e 79 | 29 3b 0a 09 73 65 74 6e |mbol_any|);..setn|
|00002f20| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 72 69 67 68 74 |ame(symb|ol_right|
|00002f30| 2c 20 22 52 49 47 48 54 | 22 29 3b 0a 09 53 49 47 |, "RIGHT|");..SIG|
|00002f40| 4e 41 54 55 52 45 28 73 | 79 6d 62 6f 6c 5f 72 69 |NATURE(s|ymbol_ri|
|00002f50| 67 68 74 29 20 3d 20 28 | 54 75 70 6c 65 29 20 4f |ght) = (|Tuple) O|
|00002f60| 50 54 5f 4e 4f 44 45 3b | 0a 0a 09 2f 2a 20 49 6e |PT_NODE;|.../* In|
|00002f70| 69 74 69 61 6c 69 7a 65 | 20 62 6f 75 6e 64 73 20 |itialize| bounds |
|00002f80| 6f 66 20 70 72 65 64 65 | 66 69 6e 65 64 20 74 79 |of prede|fined ty|
|00002f90| 70 65 73 2e 20 2a 2f 0a | 09 2f 2a 20 4e 6f 74 65 |pes. */.|./* Note|
|00002fa0| 20 74 68 61 74 20 76 61 | 6c 5f 6e 6f 64 65 20 69 | that va|l_node i|
|00002fb0| 73 20 6f 6e 6c 79 20 63 | 61 6c 6c 65 64 20 66 72 |s only c|alled fr|
|00002fc0| 6f 6d 20 74 68 69 73 20 | 70 72 6f 63 65 64 75 72 |om this |procedur|
|00002fd0| 65 2c 20 73 6f 20 74 68 | 61 74 0a 09 20 2a 20 63 |e, so th|at.. * c|
|00002fe0| 61 6c 6c 69 6e 67 20 73 | 65 71 75 65 6e 63 65 20 |alling s|equence |
|00002ff0| 63 61 6e 20 62 65 20 63 | 68 61 6e 67 65 64 20 69 |can be c|hanged i|
|00003000| 66 20 6e 65 63 65 73 73 | 61 72 79 3b 20 6d 6f 72 |f necess|ary; mor|
|00003010| 65 6f 76 65 72 20 74 68 | 65 20 63 6f 64 65 0a 09 |eover th|e code..|
|00003020| 20 2a 20 73 68 6f 75 6c | 64 20 62 65 20 70 75 74 | * shoul|d be put|
|00003030| 20 69 6e 20 74 68 69 73 | 20 6d 6f 64 75 6c 65 2c | in this| module,|
|00003040| 20 6e 6f 74 20 69 6e 20 | 75 74 69 6c 69 74 69 65 | not in |utilitie|
|00003050| 73 0a 09 20 2a 2f 0a 0a | 09 63 6f 6e 73 74 72 5f |s.. */..|.constr_|
|00003060| 6e 65 77 20 3d 20 63 6f | 6e 73 74 72 61 69 6e 74 |new = co|nstraint|
|00003070| 5f 6e 65 77 28 43 4f 4e | 53 54 52 41 49 4e 54 5f |_new(CON|STRAINT_|
|00003080| 52 41 4e 47 45 29 3b 0a | 09 6e 75 6d 65 72 69 63 |RANGE);.|.numeric|
|00003090| 5f 63 6f 6e 73 74 72 61 | 69 6e 74 5f 6c 6f 77 28 |_constra|int_low(|
|000030a0| 63 6f 6e 73 74 72 5f 6e | 65 77 29 20 3d 20 28 63 |constr_n|ew) = (c|
|000030b0| 68 61 72 20 2a 29 20 76 | 61 6c 5f 6e 6f 64 65 31 |har *) v|al_node1|
|000030c0| 28 41 44 41 5f 4d 49 4e | 5f 49 4e 54 45 47 45 52 |(ADA_MIN|_INTEGER|
|000030d0| 29 3b 0a 09 6e 75 6d 65 | 72 69 63 5f 63 6f 6e 73 |);..nume|ric_cons|
|000030e0| 74 72 61 69 6e 74 5f 68 | 69 67 68 28 63 6f 6e 73 |traint_h|igh(cons|
|000030f0| 74 72 5f 6e 65 77 29 20 | 3d 20 28 63 68 61 72 20 |tr_new) |= (char |
|00003100| 2a 29 76 61 6c 5f 6e 6f | 64 65 31 28 41 44 41 5f |*)val_no|de1(ADA_|
|00003110| 4d 41 58 5f 49 4e 54 45 | 47 45 52 29 3b 0a 09 53 |MAX_INTE|GER);..S|
|00003120| 49 47 4e 41 54 55 52 45 | 28 73 79 6d 62 6f 6c 5f |IGNATURE|(symbol_|
|00003130| 69 6e 74 65 67 65 72 29 | 20 3d 28 54 75 70 6c 65 |integer)| =(Tuple|
|00003140| 29 20 63 6f 6e 73 74 72 | 5f 6e 65 77 3b 0a 0a 09 |) constr|_new;...|
|00003150| 53 49 47 4e 41 54 55 52 | 45 28 73 79 6d 62 6f 6c |SIGNATUR|E(symbol|
|00003160| 5f 6c 6f 6e 67 5f 69 6e | 74 65 67 65 72 29 20 3d |_long_in|teger) =|
|00003170| 20 53 49 47 4e 41 54 55 | 52 45 28 73 79 6d 62 6f | SIGNATU|RE(symbo|
|00003180| 6c 5f 69 6e 74 65 67 65 | 72 29 3b 0a 0a 09 63 6f |l_intege|r);...co|
|00003190| 6e 73 74 72 5f 6e 65 77 | 20 3d 20 63 6f 6e 73 74 |nstr_new| = const|
|000031a0| 72 61 69 6e 74 5f 6e 65 | 77 28 43 4f 4e 53 54 52 |raint_ne|w(CONSTR|
|000031b0| 41 49 4e 54 5f 52 41 4e | 47 45 29 3b 0a 09 2f 2a |AINT_RAN|GE);../*|
|000031c0| 20 61 76 6f 69 64 20 75 | 73 65 20 6f 66 20 2d 33 | avoid u|se of -3|
|000031d0| 32 37 36 38 20 61 73 20 | 74 68 69 73 20 63 61 75 |2768 as |this cau|
|000031e0| 73 65 73 20 70 72 6f 62 | 6c 65 6d 73 20 6f 6e 20 |ses prob|lems on |
|000031f0| 70 63 20 2a 2f 0a 09 69 | 20 3d 20 2d 33 32 37 36 |pc */..i| = -3276|
|00003200| 37 3b 0a 09 6e 75 6d 65 | 72 69 63 5f 63 6f 6e 73 |7;..nume|ric_cons|
|00003210| 74 72 61 69 6e 74 5f 6c | 6f 77 28 63 6f 6e 73 74 |traint_l|ow(const|
|00003220| 72 5f 6e 65 77 29 20 3d | 20 28 63 68 61 72 20 2a |r_new) =| (char *|
|00003230| 29 20 76 61 6c 5f 6e 6f | 64 65 31 28 69 2d 31 29 |) val_no|de1(i-1)|
|00003240| 3b 0a 09 6e 75 6d 65 72 | 69 63 5f 63 6f 6e 73 74 |;..numer|ic_const|
|00003250| 72 61 69 6e 74 5f 68 69 | 67 68 28 63 6f 6e 73 74 |raint_hi|gh(const|
|00003260| 72 5f 6e 65 77 29 20 3d | 20 28 63 68 61 72 20 2a |r_new) =| (char *|
|00003270| 29 20 76 61 6c 5f 6e 6f | 64 65 31 28 33 32 37 36 |) val_no|de1(3276|
|00003280| 37 29 3b 0a 09 53 49 47 | 4e 41 54 55 52 45 28 73 |7);..SIG|NATURE(s|
|00003290| 79 6d 62 6f 6c 5f 73 68 | 6f 72 74 5f 69 6e 74 65 |ymbol_sh|ort_inte|
|000032a0| 67 65 72 29 20 3d 20 63 | 6f 6e 73 74 72 5f 6e 65 |ger) = c|onstr_ne|
|000032b0| 77 3b 0a 09 53 49 47 4e | 41 54 55 52 45 28 73 79 |w;..SIGN|ATURE(sy|
|000032c0| 6d 62 6f 6c 5f 73 68 6f | 72 74 5f 69 6e 74 65 67 |mbol_sho|rt_integ|
|000032d0| 65 72 5f 62 61 73 65 29 | 20 3d 20 63 6f 6e 73 74 |er_base)| = const|
|000032e0| 72 5f 6e 65 77 3b 0a 0a | 09 63 6f 6e 73 74 72 5f |r_new;..|.constr_|
|000032f0| 6e 65 77 20 3d 20 63 6f | 6e 73 74 72 61 69 6e 74 |new = co|nstraint|
|00003300| 5f 6e 65 77 28 43 4f 4e | 53 54 52 41 49 4e 54 5f |_new(CON|STRAINT_|
|00003310| 44 49 47 49 54 53 29 3b | 0a 09 6e 75 6d 65 72 69 |DIGITS);|..numeri|
|00003320| 63 5f 63 6f 6e 73 74 72 | 61 69 6e 74 5f 6c 6f 77 |c_constr|aint_low|
|00003330| 28 63 6f 6e 73 74 72 5f | 6e 65 77 29 20 3d 20 28 |(constr_|new) = (|
|00003340| 63 68 61 72 20 2a 29 20 | 76 61 6c 5f 6e 6f 64 65 |char *) |val_node|
|00003350| 32 28 41 44 41 5f 4d 49 | 4e 5f 52 45 41 4c 29 3b |2(ADA_MI|N_REAL);|
|00003360| 0a 09 6e 75 6d 65 72 69 | 63 5f 63 6f 6e 73 74 72 |..numeri|c_constr|
|00003370| 61 69 6e 74 5f 68 69 67 | 68 28 63 6f 6e 73 74 72 |aint_hig|h(constr|
|00003380| 5f 6e 65 77 29 20 3d 20 | 28 63 68 61 72 20 2a 29 |_new) = |(char *)|
|00003390| 20 76 61 6c 5f 6e 6f 64 | 65 32 28 41 44 41 5f 4d | val_nod|e2(ADA_M|
|000033a0| 41 58 5f 52 45 41 4c 29 | 3b 0a 09 6e 75 6d 65 72 |AX_REAL)|;..numer|
|000033b0| 69 63 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 64 69 |ic_const|raint_di|
|000033c0| 67 69 74 73 28 63 6f 6e | 73 74 72 5f 6e 65 77 29 |gits(con|str_new)|
|000033d0| 20 3d 0a 09 20 20 20 20 | 28 63 68 61 72 20 2a 29 | =.. |(char *)|
|000033e0| 20 76 61 6c 5f 6e 6f 64 | 65 31 28 41 44 41 5f 52 | val_nod|e1(ADA_R|
|000033f0| 45 41 4c 5f 44 49 47 49 | 54 53 29 3b 0a 09 53 49 |EAL_DIGI|TS);..SI|
|00003400| 47 4e 41 54 55 52 45 28 | 73 79 6d 62 6f 6c 5f 66 |GNATURE(|symbol_f|
|00003410| 6c 6f 61 74 29 20 3d 20 | 63 6f 6e 73 74 72 5f 6e |loat) = |constr_n|
|00003420| 65 77 3b 0a 0a 09 53 49 | 47 4e 41 54 55 52 45 28 |ew;...SI|GNATURE(|
|00003430| 73 79 6d 62 6f 6c 5f 6c | 6f 6e 67 5f 66 6c 6f 61 |symbol_l|ong_floa|
|00003440| 74 29 20 3d 20 53 49 47 | 4e 41 54 55 52 45 28 73 |t) = SIG|NATURE(s|
|00003450| 79 6d 62 6f 6c 5f 66 6c | 6f 61 74 29 3b 0a 0a 09 |ymbol_fl|oat);...|
|00003460| 63 6f 6e 73 74 72 5f 6e | 65 77 20 3d 20 63 6f 6e |constr_n|ew = con|
|00003470| 73 74 72 61 69 6e 74 5f | 6e 65 77 28 43 4f 4e 53 |straint_|new(CONS|
|00003480| 54 52 41 49 4e 54 5f 44 | 45 4c 54 41 29 3b 0a 09 |TRAINT_D|ELTA);..|
|00003490| 6e 75 6d 65 72 69 63 5f | 63 6f 6e 73 74 72 61 69 |numeric_|constrai|
|000034a0| 6e 74 5f 6c 6f 77 28 63 | 6f 6e 73 74 72 5f 6e 65 |nt_low(c|onstr_ne|
|000034b0| 77 29 20 3d 20 28 63 68 | 61 72 20 2a 29 20 76 61 |w) = (ch|ar *) va|
|000034c0| 6c 5f 6e 6f 64 65 33 28 | 72 61 74 5f 66 72 69 28 |l_node3(|rat_fri(|
|000034d0| 69 6e 74 5f 66 72 69 28 | 2d 31 29 2c 0a 09 20 20 |int_fri(|-1),.. |
|000034e0| 69 6e 74 5f 66 72 69 28 | 30 29 29 29 3b 0a 09 6e |int_fri(|0)));..n|
|000034f0| 75 6d 65 72 69 63 5f 63 | 6f 6e 73 74 72 61 69 6e |umeric_c|onstrain|
|00003500| 74 5f 68 69 67 68 28 63 | 6f 6e 73 74 72 5f 6e 65 |t_high(c|onstr_ne|
|00003510| 77 29 20 3d 20 28 63 68 | 61 72 20 2a 29 20 76 61 |w) = (ch|ar *) va|
|00003520| 6c 5f 6e 6f 64 65 33 28 | 72 61 74 5f 66 72 69 28 |l_node3(|rat_fri(|
|00003530| 69 6e 74 5f 66 72 69 28 | 31 29 2c 0a 09 20 20 69 |int_fri(|1),.. i|
|00003540| 6e 74 5f 66 72 69 28 30 | 29 29 29 3b 0a 09 6e 75 |nt_fri(0|)));..nu|
|00003550| 6d 65 72 69 63 5f 63 6f | 6e 73 74 72 61 69 6e 74 |meric_co|nstraint|
|00003560| 5f 64 65 6c 74 61 28 63 | 6f 6e 73 74 72 5f 6e 65 |_delta(c|onstr_ne|
|00003570| 77 29 20 3d 0a 09 20 20 | 20 20 28 63 68 61 72 20 |w) =.. | (char |
|00003580| 2a 29 20 76 61 6c 5f 6e | 6f 64 65 33 28 72 61 74 |*) val_n|ode3(rat|
|00003590| 5f 66 72 69 28 69 6e 74 | 5f 66 72 69 28 30 29 2c |_fri(int|_fri(0),|
|000035a0| 20 69 6e 74 5f 66 72 69 | 28 31 29 29 29 3b 0a 09 | int_fri|(1)));..|
|000035b0| 6e 75 6d 65 72 69 63 5f | 63 6f 6e 73 74 72 61 69 |numeric_|constrai|
|000035c0| 6e 74 5f 73 6d 61 6c 6c | 28 63 6f 6e 73 74 72 5f |nt_small|(constr_|
|000035d0| 6e 65 77 29 20 3d 20 28 | 63 68 61 72 20 2a 29 20 |new) = (|char *) |
|000035e0| 4f 50 54 5f 4e 4f 44 45 | 3b 0a 09 53 49 47 4e 41 |OPT_NODE|;..SIGNA|
|000035f0| 54 55 52 45 28 73 79 6d | 62 6f 6c 5f 64 66 69 78 |TURE(sym|bol_dfix|
|00003600| 65 64 29 20 3d 28 54 75 | 70 6c 65 29 20 63 6f 6e |ed) =(Tu|ple) con|
|00003610| 73 74 72 5f 6e 65 77 3b | 0a 0a 09 63 6f 6e 73 74 |str_new;|...const|
|00003620| 72 5f 6e 65 77 20 3d 20 | 63 6f 6e 73 74 72 61 69 |r_new = |constrai|
|00003630| 6e 74 5f 6e 65 77 28 43 | 4f 4e 53 54 52 41 49 4e |nt_new(C|ONSTRAIN|
|00003640| 54 5f 52 41 4e 47 45 29 | 3b 0a 09 6e 75 6d 65 72 |T_RANGE)|;..numer|
|00003650| 69 63 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 6c 6f |ic_const|raint_lo|
|00003660| 77 28 63 6f 6e 73 74 72 | 5f 6e 65 77 29 20 3d 20 |w(constr|_new) = |
|00003670| 28 63 68 61 72 20 2a 29 | 20 76 61 6c 5f 6e 6f 64 |(char *)| val_nod|
|00003680| 65 31 28 30 29 3b 0a 09 | 6e 75 6d 65 72 69 63 5f |e1(0);..|numeric_|
|00003690| 63 6f 6e 73 74 72 61 69 | 6e 74 5f 68 69 67 68 28 |constrai|nt_high(|
|000036a0| 63 6f 6e 73 74 72 5f 6e | 65 77 29 20 3d 20 28 63 |constr_n|ew) = (c|
|000036b0| 68 61 72 20 2a 29 20 76 | 61 6c 5f 6e 6f 64 65 31 |har *) v|al_node1|
|000036c0| 28 41 44 41 5f 4d 41 58 | 5f 49 4e 54 45 47 45 52 |(ADA_MAX|_INTEGER|
|000036d0| 29 3b 0a 09 53 49 47 4e | 41 54 55 52 45 28 73 79 |);..SIGN|ATURE(sy|
|000036e0| 6d 62 6f 6c 5f 6e 61 74 | 75 72 61 6c 29 20 3d 28 |mbol_nat|ural) =(|
|000036f0| 54 75 70 6c 65 29 20 63 | 6f 6e 73 74 72 5f 6e 65 |Tuple) c|onstr_ne|
|00003700| 77 3b 0a 0a 09 63 6f 6e | 73 74 72 5f 6e 65 77 20 |w;...con|str_new |
|00003710| 3d 20 63 6f 6e 73 74 72 | 61 69 6e 74 5f 6e 65 77 |= constr|aint_new|
|00003720| 28 43 4f 4e 53 54 52 41 | 49 4e 54 5f 52 41 4e 47 |(CONSTRA|INT_RANG|
|00003730| 45 29 3b 0a 09 6e 75 6d | 65 72 69 63 5f 63 6f 6e |E);..num|eric_con|
|00003740| 73 74 72 61 69 6e 74 5f | 6c 6f 77 28 63 6f 6e 73 |straint_|low(cons|
|00003750| 74 72 5f 6e 65 77 29 20 | 3d 20 28 63 68 61 72 20 |tr_new) |= (char |
|00003760| 2a 29 20 76 61 6c 5f 6e | 6f 64 65 31 28 31 29 3b |*) val_n|ode1(1);|
|00003770| 0a 09 6e 75 6d 65 72 69 | 63 5f 63 6f 6e 73 74 72 |..numeri|c_constr|
|00003780| 61 69 6e 74 5f 68 69 67 | 68 28 63 6f 6e 73 74 72 |aint_hig|h(constr|
|00003790| 5f 6e 65 77 29 20 3d 20 | 28 63 68 61 72 20 2a 29 |_new) = |(char *)|
|000037a0| 20 76 61 6c 5f 6e 6f 64 | 65 31 28 41 44 41 5f 4d | val_nod|e1(ADA_M|
|000037b0| 41 58 5f 49 4e 54 45 47 | 45 52 29 3b 0a 09 53 49 |AX_INTEG|ER);..SI|
|000037c0| 47 4e 41 54 55 52 45 28 | 73 79 6d 62 6f 6c 5f 70 |GNATURE(|symbol_p|
|000037d0| 6f 73 69 74 69 76 65 29 | 20 3d 28 54 75 70 6c 65 |ositive)| =(Tuple|
|000037e0| 29 20 63 6f 6e 73 74 72 | 5f 6e 65 77 3b 0a 0a 09 |) constr|_new;...|
|000037f0| 63 6f 6e 73 74 72 5f 6e | 65 77 20 3d 20 63 6f 6e |constr_n|ew = con|
|00003800| 73 74 72 61 69 6e 74 5f | 6e 65 77 28 43 4f 4e 53 |straint_|new(CONS|
|00003810| 54 52 41 49 4e 54 5f 44 | 45 4c 54 41 29 3b 0a 09 |TRAINT_D|ELTA);..|
|00003820| 6e 75 6d 65 72 69 63 5f | 63 6f 6e 73 74 72 61 69 |numeric_|constrai|
|00003830| 6e 74 5f 6c 6f 77 28 63 | 6f 6e 73 74 72 5f 6e 65 |nt_low(c|onstr_ne|
|00003840| 77 29 20 3d 20 28 63 68 | 61 72 20 2a 29 0a 09 20 |w) = (ch|ar *).. |
|00003850| 20 76 61 6c 5f 6e 6f 64 | 65 33 28 72 61 74 5f 66 | val_nod|e3(rat_f|
|00003860| 72 69 28 69 6e 74 5f 66 | 72 73 28 22 2d 38 36 34 |ri(int_f|rs("-864|
|00003870| 30 30 30 30 30 22 29 2c | 20 69 6e 74 5f 66 72 69 |00000"),| int_fri|
|00003880| 28 31 30 30 30 29 29 29 | 3b 0a 09 6e 75 6d 65 72 |(1000)))|;..numer|
|00003890| 69 63 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 68 69 |ic_const|raint_hi|
|000038a0| 67 68 28 63 6f 6e 73 74 | 72 5f 6e 65 77 29 20 3d |gh(const|r_new) =|
|000038b0| 20 20 28 63 68 61 72 20 | 2a 29 0a 09 20 20 76 61 | (char |*).. va|
|000038c0| 6c 5f 6e 6f 64 65 33 28 | 72 61 74 5f 66 72 69 28 |l_node3(|rat_fri(|
|000038d0| 69 6e 74 5f 66 72 73 28 | 22 38 36 34 30 30 30 30 |int_frs(|"8640000|
|000038e0| 30 22 29 2c 20 69 6e 74 | 5f 66 72 69 28 31 30 30 |0"), int|_fri(100|
|000038f0| 30 29 29 29 3b 0a 09 6e | 75 6d 65 72 69 63 5f 63 |0)));..n|umeric_c|
|00003900| 6f 6e 73 74 72 61 69 6e | 74 5f 64 65 6c 74 61 28 |onstrain|t_delta(|
|00003910| 63 6f 6e 73 74 72 5f 6e | 65 77 29 20 3d 20 0a 09 |constr_n|ew) = ..|
|00003920| 20 20 28 63 68 61 72 20 | 2a 29 20 76 61 6c 5f 6e | (char |*) val_n|
|00003930| 6f 64 65 33 28 72 61 74 | 5f 66 72 69 28 69 6e 74 |ode3(rat|_fri(int|
|00003940| 5f 66 72 69 28 31 29 2c | 20 69 6e 74 5f 66 72 69 |_fri(1),| int_fri|
|00003950| 28 31 30 30 30 29 29 29 | 3b 0a 09 6e 75 6d 65 72 |(1000)))|;..numer|
|00003960| 69 63 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 73 6d |ic_const|raint_sm|
|00003970| 61 6c 6c 28 63 6f 6e 73 | 74 72 5f 6e 65 77 29 20 |all(cons|tr_new) |
|00003980| 3d 0a 09 20 20 28 63 68 | 61 72 20 2a 29 76 61 6c |=.. (ch|ar *)val|
|00003990| 5f 6e 6f 64 65 33 28 72 | 61 74 5f 66 72 69 28 69 |_node3(r|at_fri(i|
|000039a0| 6e 74 5f 66 72 69 28 31 | 29 2c 20 69 6e 74 5f 66 |nt_fri(1|), int_f|
|000039b0| 72 69 28 31 30 30 30 29 | 29 29 3b 0a 09 53 49 47 |ri(1000)|));..SIG|
|000039c0| 4e 41 54 55 52 45 28 73 | 79 6d 62 6f 6c 5f 64 75 |NATURE(s|ymbol_du|
|000039d0| 72 61 74 69 6f 6e 29 20 | 3d 28 54 75 70 6c 65 29 |ration) |=(Tuple)|
|000039e0| 20 63 6f 6e 73 74 72 5f | 6e 65 77 3b 0a 0a 09 63 | constr_|new;...c|
|000039f0| 6f 6e 73 74 72 5f 6e 65 | 77 20 3d 20 63 6f 6e 73 |onstr_ne|w = cons|
|00003a00| 74 72 61 69 6e 74 5f 6e | 65 77 28 43 4f 4e 53 54 |traint_n|ew(CONST|
|00003a10| 52 41 49 4e 54 5f 52 41 | 4e 47 45 29 3b 0a 09 6e |RAINT_RA|NGE);..n|
|00003a20| 75 6d 65 72 69 63 5f 63 | 6f 6e 73 74 72 61 69 6e |umeric_c|onstrain|
|00003a30| 74 5f 6c 6f 77 28 63 6f | 6e 73 74 72 5f 6e 65 77 |t_low(co|nstr_new|
|00003a40| 29 20 3d 20 28 63 68 61 | 72 20 2a 29 20 76 61 6c |) = (cha|r *) val|
|00003a50| 5f 6e 6f 64 65 31 28 30 | 29 3b 0a 09 6e 75 6d 65 |_node1(0|);..nume|
|00003a60| 72 69 63 5f 63 6f 6e 73 | 74 72 61 69 6e 74 5f 68 |ric_cons|traint_h|
|00003a70| 69 67 68 28 63 6f 6e 73 | 74 72 5f 6e 65 77 29 20 |igh(cons|tr_new) |
|00003a80| 3d 20 28 63 68 61 72 20 | 2a 29 20 76 61 6c 5f 6e |= (char |*) val_n|
|00003a90| 6f 64 65 31 28 31 32 37 | 29 3b 0a 09 53 49 47 4e |ode1(127|);..SIGN|
|00003aa0| 41 54 55 52 45 28 73 79 | 6d 62 6f 6c 5f 63 68 61 |ATURE(sy|mbol_cha|
|00003ab0| 72 61 63 74 65 72 29 20 | 3d 28 54 75 70 6c 65 29 |racter) |=(Tuple)|
|00003ac0| 20 63 6f 6e 73 74 72 5f | 6e 65 77 3b 0a 0a 09 63 | constr_|new;...c|
|00003ad0| 6f 6e 73 74 72 5f 6e 65 | 77 20 3d 20 63 6f 6e 73 |onstr_ne|w = cons|
|00003ae0| 74 72 61 69 6e 74 5f 6e | 65 77 28 43 4f 4e 53 54 |traint_n|ew(CONST|
|00003af0| 52 41 49 4e 54 5f 52 41 | 4e 47 45 29 3b 0a 09 6e |RAINT_RA|NGE);..n|
|00003b00| 75 6d 65 72 69 63 5f 63 | 6f 6e 73 74 72 61 69 6e |umeric_c|onstrain|
|00003b10| 74 5f 6c 6f 77 28 63 6f | 6e 73 74 72 5f 6e 65 77 |t_low(co|nstr_new|
|00003b20| 29 20 3d 20 28 63 68 61 | 72 20 2a 29 76 61 6c 5f |) = (cha|r *)val_|
|00003b30| 6e 6f 64 65 31 28 30 29 | 3b 0a 09 6e 75 6d 65 72 |node1(0)|;..numer|
|00003b40| 69 63 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 68 69 |ic_const|raint_hi|
|00003b50| 67 68 28 63 6f 6e 73 74 | 72 5f 6e 65 77 29 20 3d |gh(const|r_new) =|
|00003b60| 20 28 63 68 61 72 20 2a | 29 20 76 61 6c 5f 6e 6f | (char *|) val_no|
|00003b70| 64 65 31 28 31 29 3b 0a | 09 53 49 47 4e 41 54 55 |de1(1);.|.SIGNATU|
|00003b80| 52 45 28 73 79 6d 62 6f | 6c 5f 62 6f 6f 6c 65 61 |RE(symbo|l_boolea|
|00003b90| 6e 29 20 3d 28 54 75 70 | 6c 65 29 20 63 6f 6e 73 |n) =(Tup|le) cons|
|00003ba0| 74 72 5f 6e 65 77 3b 0a | 0a 09 2f 2a 20 73 65 74 |tr_new;.|../* set|
|00003bb0| 20 73 69 7a 65 20 6f 66 | 20 69 6e 69 74 5f 6e 6f | size of| init_no|
|00003bc0| 64 65 73 2e 0a 09 20 2a | 20 4e 4f 54 45 2c 20 6d |des... *| NOTE, m|
|00003bd0| 75 73 74 20 4e 4f 54 20 | 6d 61 6b 65 20 61 6e 79 |ust NOT |make any|
|00003be0| 20 6e 65 77 20 65 6e 74 | 72 69 65 73 20 74 6f 20 | new ent|ries to |
|00003bf0| 69 6e 69 74 5f 6e 6f 64 | 65 73 20 61 66 74 65 72 |init_nod|es after|
|00003c00| 0a 09 20 2a 20 64 6f 69 | 6e 67 20 61 73 73 69 67 |.. * doi|ng assig|
|00003c10| 6e 6d 65 6e 74 20 6f 66 | 20 74 75 70 5f 73 69 7a |nment of| tup_siz|
|00003c20| 65 20 62 65 6c 6f 77 09 | 64 73 20 32 34 20 73 65 |e below.|ds 24 se|
|00003c30| 70 20 38 34 0a 09 20 2a | 2f 0a 09 69 6e 69 74 5f |p 84.. *|/..init_|
|00003c40| 6e 6f 64 65 73 5b 30 5d | 20 3d 20 28 63 68 61 72 |nodes[0]| = (char|
|00003c50| 20 2a 29 69 6e 69 74 5f | 6e 6f 64 65 5f 63 6f 75 | *)init_|node_cou|
|00003c60| 6e 74 3b 0a 0a 09 53 49 | 47 4e 41 54 55 52 45 28 |nt;...SI|GNATURE(|
|00003c70| 73 79 6d 62 6f 6c 5f 75 | 6e 69 76 65 72 73 61 6c |symbol_u|niversal|
|00003c80| 5f 69 6e 74 65 67 65 72 | 29 20 3d 20 53 49 47 4e |_integer|) = SIGN|
|00003c90| 41 54 55 52 45 28 73 79 | 6d 62 6f 6c 5f 69 6e 74 |ATURE(sy|mbol_int|
|00003ca0| 65 67 65 72 29 3b 0a 09 | 53 49 47 4e 41 54 55 52 |eger);..|SIGNATUR|
|00003cb0| 45 28 73 79 6d 62 6f 6c | 5f 75 6e 69 76 65 72 73 |E(symbol|_univers|
|00003cc0| 61 6c 5f 72 65 61 6c 29 | 20 3d 20 53 49 47 4e 41 |al_real)| = SIGNA|
|00003cd0| 54 55 52 45 28 73 79 6d | 62 6f 6c 5f 66 6c 6f 61 |TURE(sym|bol_floa|
|00003ce0| 74 29 3b 0a 09 53 49 47 | 4e 41 54 55 52 45 28 73 |t);..SIG|NATURE(s|
|00003cf0| 79 6d 62 6f 6c 5f 75 6e | 69 76 65 72 73 61 6c 5f |ymbol_un|iversal_|
|00003d00| 66 69 78 65 64 29 20 3d | 20 53 49 47 4e 41 54 55 |fixed) =| SIGNATU|
|00003d10| 52 45 28 73 79 6d 62 6f | 6c 5f 64 66 69 78 65 64 |RE(symbo|l_dfixed|
|00003d20| 29 3b 0a 09 2f 2a 20 53 | 6f 20 74 68 61 74 20 74 |);../* S|o that t|
|00003d30| 68 65 20 75 73 75 61 6c | 20 6e 61 6d 69 6e 67 20 |he usual| naming |
|00003d40| 63 6f 6e 76 65 6e 74 69 | 6f 6e 73 20 63 61 6e 20 |conventi|ons can |
|00003d50| 62 65 20 66 6f 6c 6c 6f | 77 65 64 20 66 6f 72 20 |be follo|wed for |
|00003d60| 74 68 65 20 70 61 63 6b | 61 67 65 20 2a 2f 0a 09 |the pack|age */..|
|00003d70| 2f 2a 20 53 54 41 4e 44 | 41 52 44 2c 20 53 54 41 |/* STAND|ARD, STA|
|00003d80| 4e 44 41 52 44 20 69 73 | 20 64 65 63 6c 61 72 65 |NDARD is| declare|
|00003d90| 64 20 77 69 74 68 69 6e | 20 79 65 74 20 61 6e 6f |d within| yet ano|
|00003da0| 74 68 65 72 20 73 63 6f | 70 65 2c 20 55 4e 4d 45 |ther sco|pe, UNME|
|00003db0| 4e 54 49 4f 4e 41 42 4c | 45 2e 2a 2f 0a 09 2f 2a |NTIONABL|E.*/../*|
|00003dc0| 20 44 45 43 4c 41 52 45 | 44 20 3a 3d 20 7b 5b 73 | DECLARE|D := {[s|
|00003dd0| 74 61 6e 64 61 72 64 2c | 20 7b 7d 5d 2c 20 5b 27 |tandard,| {}], ['|
|00003de0| 41 53 43 49 49 27 2c 20 | 7b 7d 5d 2c 0a 09 20 2a |ASCII', |{}],.. *|
|00003df0| 20 20 20 5b 27 55 4e 4d | 45 4e 54 49 4f 4e 41 42 | ['UNM|ENTIONAB|
|00003e00| 4c 45 23 30 27 2c 20 7b | 5b 27 53 54 41 4e 44 41 |LE#0', {|['STANDA|
|00003e10| 52 44 27 2c 20 73 74 61 | 6e 64 61 72 64 5d 7d 5d |RD', sta|ndard]}]|
|00003e20| 20 7d 3b 0a 09 2a 2f 0a | 09 64 65 63 6c 61 72 65 | };..*/.|.declare|
|00003e30| 64 5f 73 74 61 6e 64 61 | 72 64 30 20 3d 20 64 63 |d_standa|rd0 = dc|
|00003e40| 6c 5f 6e 65 77 28 31 39 | 30 29 3b 0a 09 64 65 63 |l_new(19|0);..dec|
|00003e50| 6c 61 72 65 64 5f 61 73 | 63 69 69 20 3d 20 64 63 |lared_as|cii = dc|
|00003e60| 6c 5f 6e 65 77 28 38 30 | 29 3b 0a 09 64 65 63 6c |l_new(80|);..decl|
|00003e70| 61 72 65 64 5f 75 6e 6d | 65 6e 74 69 6f 6e 61 62 |ared_unm|entionab|
|00003e80| 6c 65 20 3d 20 64 63 6c | 5f 6e 65 77 28 31 29 3b |le = dcl|_new(1);|
|00003e90| 0a 09 64 65 63 6c 61 72 | 65 64 5f 73 74 61 6e 64 |..declar|ed_stand|
|00003ea0| 61 72 64 20 3d 20 64 63 | 6c 5f 6e 65 77 28 34 29 |ard = dc|l_new(4)|
|00003eb0| 3b 0a 0a 09 64 65 63 6c | 61 72 65 64 5f 61 6c 6c |;...decl|ared_all|
|00003ec0| 5b 30 5d 20 3d 20 64 65 | 63 6c 61 72 65 64 5f 73 |[0] = de|clared_s|
|00003ed0| 74 61 6e 64 61 72 64 30 | 3b 0a 09 64 65 63 6c 61 |tandard0|;..decla|
|00003ee0| 72 65 64 5f 61 6c 6c 5b | 31 5d 20 3d 20 64 65 63 |red_all[|1] = dec|
|00003ef0| 6c 61 72 65 64 5f 75 6e | 6d 65 6e 74 69 6f 6e 61 |lared_un|mentiona|
|00003f00| 62 6c 65 3b 0a 09 64 65 | 63 6c 61 72 65 64 5f 61 |ble;..de|clared_a|
|00003f10| 6c 6c 5b 32 5d 20 3d 20 | 64 65 63 6c 61 72 65 64 |ll[2] = |declared|
|00003f20| 5f 73 74 61 6e 64 61 72 | 64 3b 0a 09 64 65 63 6c |_standar|d;..decl|
|00003f30| 61 72 65 64 5f 61 6c 6c | 5b 33 5d 20 3d 20 64 65 |ared_all|[3] = de|
|00003f40| 63 6c 61 72 65 64 5f 61 | 73 63 69 69 3b 0a 0a 09 |clared_a|scii;...|
|00003f50| 66 6f 72 20 28 69 20 3d | 20 30 3b 20 69 20 3c 3d |for (i =| 0; i <=|
|00003f60| 20 33 3b 20 69 2b 2b 29 | 20 7b 0a 09 09 53 79 6d | 3; i++)| {...Sym|
|00003f70| 62 6f 6c 20 73 3b 0a 09 | 09 73 20 3d 20 62 61 73 |bol s;..|.s = bas|
|00003f80| 65 5f 64 65 63 6c 61 72 | 65 64 5f 73 79 6d 62 6f |e_declar|ed_symbo|
|00003f90| 6c 73 5b 69 5d 3b 0a 09 | 09 44 45 43 4c 41 52 45 |ls[i];..|.DECLARE|
|00003fa0| 44 28 73 29 20 3d 20 64 | 65 63 6c 61 72 65 64 5f |D(s) = d|eclared_|
|00003fb0| 61 6c 6c 5b 69 5d 3b 0a | 09 7d 0a 0a 09 64 63 6c |all[i];.|.}...dcl|
|00003fc0| 5f 70 75 74 28 64 65 63 | 6c 61 72 65 64 5f 75 6e |_put(dec|lared_un|
|00003fd0| 6d 65 6e 74 69 6f 6e 61 | 62 6c 65 2c 20 22 53 54 |mentiona|ble, "ST|
|00003fe0| 41 4e 44 41 52 44 22 2c | 20 73 79 6d 62 6f 6c 5f |ANDARD",| symbol_|
|00003ff0| 73 74 61 6e 64 61 72 64 | 30 29 3b 0a 0a 09 2f 2a |standard|0);.../*|
|00004000| 20 4f 70 65 72 61 74 6f | 72 73 28 6d 6f 73 74 29 | Operato|rs(most)|
|00004010| 20 65 6e 74 65 72 65 64 | 20 69 6e 74 6f 20 53 59 | entered| into SY|
|00004020| 4d 42 54 41 42 20 61 6e | 64 20 44 45 43 4c 41 52 |MBTAB an|d DECLAR|
|00004030| 45 44 2e 2a 2f 0a 0a 09 | 2f 2a 20 63 6f 6e 63 61 |ED.*/...|/* conca|
|00004040| 74 5f 6f 70 73 09 20 20 | 20 3d 20 7b 27 26 27 7d |t_ops. | = {'&'}|
|00004050| 2c 20 2a 2f 0a 09 2f 2a | 4e 4f 54 45 3a 3a 20 27 |, */../*|NOTE:: '|
|00004060| 62 6f 6f 6c 65 61 6e 5f | 74 79 70 65 27 2c 20 65 |boolean_|type', e|
|00004070| 74 63 20 75 73 65 64 20 | 6f 6e 6c 79 20 68 65 72 |tc used |only her|
|00004080| 65 20 61 6e 64 20 69 6e | 20 63 68 61 70 74 65 72 |e and in| chapter|
|00004090| 20 34 20 2a 2f 0a 0a 09 | 2f 2a 20 62 6f 6f 6c 65 | 4 */...|/* boole|
|000040a0| 61 6e 5f 6f 70 73 09 20 | 20 3d 20 7b 27 6e 6f 74 |an_ops. | = {'not|
|000040b0| 27 2c 20 27 61 6e 64 27 | 2c 20 27 6f 72 27 2c 20 |', 'and'|, 'or', |
|000040c0| 27 78 6f 72 27 7d 2c 20 | 2a 2f 0a 09 73 79 6d 62 |'xor'}, |*/..symb|
|000040d0| 6f 6c 5f 62 6f 6f 6c 65 | 61 6e 5f 74 79 70 65 20 |ol_boole|an_type |
|000040e0| 3d 20 73 79 6d 5f 6e 65 | 77 28 6e 61 5f 74 79 70 |= sym_ne|w(na_typ|
|000040f0| 65 29 3b 0a 09 54 59 50 | 45 5f 4f 46 28 73 79 6d |e);..TYP|E_OF(sym|
|00004100| 62 6f 6c 5f 62 6f 6f 6c | 65 61 6e 5f 74 79 70 65 |bol_bool|ean_type|
|00004110| 29 20 3d 20 73 79 6d 62 | 6f 6c 5f 62 6f 6f 6c 65 |) = symb|ol_boole|
|00004120| 61 6e 5f 74 79 70 65 3b | 0a 09 73 65 74 6e 61 6d |an_type;|..setnam|
|00004130| 65 28 73 79 6d 62 6f 6c | 5f 62 6f 6f 6c 65 61 6e |e(symbol|_boolean|
|00004140| 5f 74 79 70 65 2c 20 22 | 62 6f 6f 6c 65 61 6e 5f |_type, "|boolean_|
|00004150| 74 79 70 65 22 29 3b 0a | 0a 09 73 79 6d 62 6f 6c |type");.|..symbol|
|00004160| 5f 6e 6f 74 20 3d 20 73 | 79 6d 62 74 61 62 5f 65 |_not = s|ymbtab_e|
|00004170| 6e 74 65 72 28 22 6e 6f | 74 22 2c 20 73 79 6d 62 |nter("no|t", symb|
|00004180| 6f 6c 5f 62 6f 6f 6c 65 | 61 6e 5f 74 79 70 65 29 |ol_boole|an_type)|
|00004190| 3b 0a 09 73 79 6d 62 6f | 6c 5f 61 6e 64 20 3d 20 |;..symbo|l_and = |
|000041a0| 73 79 6d 62 74 61 62 5f | 65 6e 74 65 72 28 22 61 |symbtab_|enter("a|
|000041b0| 6e 64 22 2c 20 73 79 6d | 62 6f 6c 5f 62 6f 6f 6c |nd", sym|bol_bool|
|000041c0| 65 61 6e 5f 74 79 70 65 | 29 3b 0a 09 73 79 6d 62 |ean_type|);..symb|
|000041d0| 6f 6c 5f 6f 72 20 3d 20 | 73 79 6d 62 74 61 62 5f |ol_or = |symbtab_|
|000041e0| 65 6e 74 65 72 28 22 6f | 72 22 2c 20 73 79 6d 62 |enter("o|r", symb|
|000041f0| 6f 6c 5f 62 6f 6f 6c 65 | 61 6e 5f 74 79 70 65 29 |ol_boole|an_type)|
|00004200| 3b 0a 09 73 79 6d 62 6f | 6c 5f 78 6f 72 20 3d 20 |;..symbo|l_xor = |
|00004210| 73 79 6d 62 74 61 62 5f | 65 6e 74 65 72 28 22 78 |symbtab_|enter("x|
|00004220| 6f 72 22 2c 20 73 79 6d | 62 6f 6c 5f 62 6f 6f 6c |or", sym|bol_bool|
|00004230| 65 61 6e 5f 74 79 70 65 | 29 3b 0a 0a 09 2f 2a 20 |ean_type|);.../* |
|00004240| 73 68 6f 72 74 5f 63 69 | 72 63 5f 6f 70 73 20 3d |short_ci|rc_ops =|
|00004250| 20 7b 20 27 61 6e 64 74 | 68 65 6e 27 2c 20 27 6f | { 'andt|hen', 'o|
|00004260| 72 65 6c 73 65 27 7d 2c | 20 2a 2f 0a 09 73 79 6d |relse'},| */..sym|
|00004270| 62 6f 6c 5f 61 6e 64 74 | 68 65 6e 20 3d 20 73 79 |bol_andt|hen = sy|
|00004280| 6d 62 74 61 62 5f 65 6e | 74 65 72 28 22 61 6e 64 |mbtab_en|ter("and|
|00004290| 74 68 65 6e 22 2c 20 73 | 79 6d 62 6f 6c 5f 62 6f |then", s|ymbol_bo|
|000042a0| 6f 6c 65 61 6e 5f 74 79 | 70 65 29 3b 0a 09 73 79 |olean_ty|pe);..sy|
|000042b0| 6d 62 6f 6c 5f 6f 72 65 | 6c 73 65 20 3d 20 73 79 |mbol_ore|lse = sy|
|000042c0| 6d 62 74 61 62 5f 65 6e | 74 65 72 28 22 6f 72 65 |mbtab_en|ter("ore|
|000042d0| 6c 73 65 22 2c 20 73 79 | 6d 62 6f 6c 5f 62 6f 6f |lse", sy|mbol_boo|
|000042e0| 6c 65 61 6e 5f 74 79 70 | 65 29 3b 0a 0a 09 2f 2a |lean_typ|e);.../*|
|000042f0| 20 20 20 20 65 71 75 61 | 6c 5f 6f 70 73 09 20 20 | equa|l_ops. |
|00004300| 20 20 20 3d 20 7b 27 3a | 3d 27 2c 20 27 3d 27 2c | = {':|=', '=',|
|00004310| 20 27 2f 3d 27 2c 20 27 | 69 6e 27 2c 20 27 6e 6f | '/=', '|in', 'no|
|00004320| 74 69 6e 27 7d 2c 20 2a | 2f 0a 09 73 79 6d 62 6f |tin'}, *|/..symbo|
|00004330| 6c 5f 61 73 73 69 67 6e | 20 3d 20 73 79 6d 62 74 |l_assign| = symbt|
|00004340| 61 62 5f 65 6e 74 65 72 | 28 22 3a 3d 22 2c 20 73 |ab_enter|(":=", s|
|00004350| 79 6d 62 6f 6c 5f 62 6f | 6f 6c 65 61 6e 29 3b 0a |ymbol_bo|olean);.|
|00004360| 09 73 79 6d 62 6f 6c 5f | 65 71 20 3d 20 73 79 6d |.symbol_|eq = sym|
|00004370| 62 74 61 62 5f 65 6e 74 | 65 72 28 22 3d 22 2c 20 |btab_ent|er("=", |
|00004380| 73 79 6d 62 6f 6c 5f 62 | 6f 6f 6c 65 61 6e 29 3b |symbol_b|oolean);|
|00004390| 0a 09 73 79 6d 62 6f 6c | 5f 6e 65 20 3d 20 73 79 |..symbol|_ne = sy|
|000043a0| 6d 62 74 61 62 5f 65 6e | 74 65 72 28 22 2f 3d 22 |mbtab_en|ter("/="|
|000043b0| 2c 20 73 79 6d 62 6f 6c | 5f 62 6f 6f 6c 65 61 6e |, symbol|_boolean|
|000043c0| 29 3b 0a 09 73 79 6d 62 | 6f 6c 5f 69 6e 20 3d 20 |);..symb|ol_in = |
|000043d0| 73 79 6d 62 74 61 62 5f | 65 6e 74 65 72 28 22 49 |symbtab_|enter("I|
|000043e0| 4e 22 2c 20 73 79 6d 62 | 6f 6c 5f 62 6f 6f 6c 65 |N", symb|ol_boole|
|000043f0| 61 6e 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 6e 6f 74 |an);..sy|mbol_not|
|00004400| 69 6e 20 3d 20 73 79 6d | 62 74 61 62 5f 65 6e 74 |in = sym|btab_ent|
|00004410| 65 72 28 22 4e 4f 54 49 | 4e 22 2c 20 73 79 6d 62 |er("NOTI|N", symb|
|00004420| 6f 6c 5f 62 6f 6f 6c 65 | 61 6e 29 3b 0a 0a 09 73 |ol_boole|an);...s|
|00004430| 79 6d 62 6f 6c 5f 6f 72 | 64 65 72 5f 74 79 70 65 |ymbol_or|der_type|
|00004440| 20 3d 20 73 79 6d 5f 6e | 65 77 28 6e 61 5f 74 79 | = sym_n|ew(na_ty|
|00004450| 70 65 29 3b 0a 09 54 59 | 50 45 5f 4f 46 28 73 79 |pe);..TY|PE_OF(sy|
|00004460| 6d 62 6f 6c 5f 6f 72 64 | 65 72 5f 74 79 70 65 29 |mbol_ord|er_type)|
|00004470| 20 3d 20 73 79 6d 62 6f | 6c 5f 6f 72 64 65 72 5f | = symbo|l_order_|
|00004480| 74 79 70 65 3b 0a 09 73 | 65 74 6e 61 6d 65 28 73 |type;..s|etname(s|
|00004490| 79 6d 62 6f 6c 5f 6f 72 | 64 65 72 5f 74 79 70 65 |ymbol_or|der_type|
|000044a0| 2c 20 22 6f 72 64 65 72 | 5f 74 79 70 65 22 29 3b |, "order|_type");|
|000044b0| 0a 09 73 79 6d 62 6f 6c | 5f 6c 74 20 3d 20 73 79 |..symbol|_lt = sy|
|000044c0| 6d 62 74 61 62 5f 65 6e | 74 65 72 28 22 3c 22 2c |mbtab_en|ter("<",|
|000044d0| 20 73 79 6d 62 6f 6c 5f | 6f 72 64 65 72 5f 74 79 | symbol_|order_ty|
|000044e0| 70 65 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 6c 65 20 |pe);..sy|mbol_le |
|000044f0| 3d 20 73 79 6d 62 74 61 | 62 5f 65 6e 74 65 72 28 |= symbta|b_enter(|
|00004500| 22 3c 3d 22 2c 20 73 79 | 6d 62 6f 6c 5f 6f 72 64 |"<=", sy|mbol_ord|
|00004510| 65 72 5f 74 79 70 65 29 | 3b 0a 09 73 79 6d 62 6f |er_type)|;..symbo|
|00004520| 6c 5f 67 65 20 3d 20 73 | 79 6d 62 74 61 62 5f 65 |l_ge = s|ymbtab_e|
|00004530| 6e 74 65 72 28 22 3e 3d | 22 2c 20 73 79 6d 62 6f |nter(">=|", symbo|
|00004540| 6c 5f 6f 72 64 65 72 5f | 74 79 70 65 29 3b 0a 09 |l_order_|type);..|
|00004550| 73 79 6d 62 6f 6c 5f 67 | 74 20 3d 20 73 79 6d 62 |symbol_g|t = symb|
|00004560| 74 61 62 5f 65 6e 74 65 | 72 28 22 3e 22 2c 20 73 |tab_ente|r(">", s|
|00004570| 79 6d 62 6f 6c 5f 6f 72 | 64 65 72 5f 74 79 70 65 |ymbol_or|der_type|
|00004580| 29 3b 0a 0a 09 2f 2a 20 | 20 20 20 61 72 69 74 68 |);.../* | arith|
|00004590| 5f 6f 70 73 09 20 20 20 | 20 20 3d 20 7b 27 2b 75 |_ops. | = {'+u|
|000045a0| 27 2c 20 27 2d 75 27 2c | 20 27 61 62 73 27 2c 20 |', '-u',| 'abs', |
|000045b0| 27 2b 27 2c 20 27 2d 27 | 2c 20 27 2a 27 2c 20 27 |'+', '-'|, '*', '|
|000045c0| 2f 27 7d 2c 20 2a 2f 0a | 09 2f 2a 20 73 79 6d 62 |/'}, */.|./* symb|
|000045d0| 6f 6c 5f 6e 75 6d 65 72 | 69 63 20 64 65 6e 6f 74 |ol_numer|ic denot|
|000045e0| 65 20 74 79 70 65 20 6f | 66 20 6e 75 6d 65 72 69 |e type o|f numeri|
|000045f0| 63 20 6f 70 65 72 61 74 | 6f 72 73 2c 20 6d 61 6b |c operat|ors, mak|
|00004600| 65 20 76 6f 69 64 20 66 | 6f 72 20 6e 6f 77 20 2a |e void f|or now *|
|00004610| 2f 0a 09 2f 2a 20 73 79 | 6d 62 6f 6c 5f 6e 75 6d |/../* sy|mbol_num|
|00004620| 65 72 69 63 20 69 73 20 | 6e 6f 74 20 65 78 70 6c |eric is |not expl|
|00004630| 69 63 69 74 6c 79 20 63 | 72 65 61 74 65 64 20 61 |icitly c|reated a|
|00004640| 73 20 73 75 63 68 20 69 | 6e 20 73 65 74 6c 20 76 |s such i|n setl v|
|00004650| 65 72 73 69 6f 6e 2c 0a | 09 20 2a 20 72 61 74 68 |ersion,.|. * rath|
|00004660| 65 72 20 74 68 69 73 20 | 69 73 20 74 61 67 20 75 |er this |is tag u|
|00004670| 73 65 64 20 6f 6e 6c 79 | 20 69 6e 20 63 68 61 70 |sed only| in chap|
|00004680| 74 65 72 20 34 20 0a 09 | 20 2a 2f 0a 09 73 79 6d |ter 4 ..| */..sym|
|00004690| 62 6f 6c 5f 6e 75 6d 65 | 72 69 63 20 3d 20 73 79 |bol_nume|ric = sy|
|000046a0| 6d 5f 6e 65 77 28 6e 61 | 5f 76 6f 69 64 29 3b 0a |m_new(na|_void);.|
|000046b0| 09 73 65 74 6e 61 6d 65 | 28 73 79 6d 62 6f 6c 5f |.setname|(symbol_|
|000046c0| 6e 75 6d 65 72 69 63 2c | 20 22 6e 75 6d 65 72 69 |numeric,| "numeri|
|000046d0| 63 22 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 61 64 64 |c");..sy|mbol_add|
|000046e0| 75 20 3d 20 73 79 6d 62 | 74 61 62 5f 65 6e 74 65 |u = symb|tab_ente|
|000046f0| 72 28 22 2b 75 22 2c 20 | 73 79 6d 62 6f 6c 5f 6e |r("+u", |symbol_n|
|00004700| 75 6d 65 72 69 63 29 3b | 0a 09 73 79 6d 62 6f 6c |umeric);|..symbol|
|00004710| 5f 73 75 62 75 20 3d 20 | 73 79 6d 62 74 61 62 5f |_subu = |symbtab_|
|00004720| 65 6e 74 65 72 28 22 2d | 75 22 2c 20 73 79 6d 62 |enter("-|u", symb|
|00004730| 6f 6c 5f 6e 75 6d 65 72 | 69 63 29 3b 0a 09 73 79 |ol_numer|ic);..sy|
|00004740| 6d 62 6f 6c 5f 61 62 73 | 20 3d 20 73 79 6d 62 74 |mbol_abs| = symbt|
|00004750| 61 62 5f 65 6e 74 65 72 | 28 22 61 62 73 22 2c 20 |ab_enter|("abs", |
|00004760| 73 79 6d 62 6f 6c 5f 6e | 75 6d 65 72 69 63 29 3b |symbol_n|umeric);|
|00004770| 0a 09 73 79 6d 62 6f 6c | 5f 61 64 64 20 3d 20 73 |..symbol|_add = s|
|00004780| 79 6d 62 74 61 62 5f 65 | 6e 74 65 72 28 22 2b 22 |ymbtab_e|nter("+"|
|00004790| 2c 20 73 79 6d 62 6f 6c | 5f 6e 75 6d 65 72 69 63 |, symbol|_numeric|
|000047a0| 29 3b 0a 09 73 79 6d 62 | 6f 6c 5f 73 75 62 20 3d |);..symb|ol_sub =|
|000047b0| 20 73 79 6d 62 74 61 62 | 5f 65 6e 74 65 72 28 22 | symbtab|_enter("|
|000047c0| 2d 22 2c 20 73 79 6d 62 | 6f 6c 5f 6e 75 6d 65 72 |-", symb|ol_numer|
|000047d0| 69 63 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 6d 75 6c |ic);..sy|mbol_mul|
|000047e0| 20 3d 20 73 79 6d 62 74 | 61 62 5f 65 6e 74 65 72 | = symbt|ab_enter|
|000047f0| 28 22 2a 22 2c 20 73 79 | 6d 62 6f 6c 5f 6e 75 6d |("*", sy|mbol_num|
|00004800| 65 72 69 63 29 3b 0a 09 | 73 79 6d 62 6f 6c 5f 64 |eric);..|symbol_d|
|00004810| 69 76 20 3d 20 73 79 6d | 62 74 61 62 5f 65 6e 74 |iv = sym|btab_ent|
|00004820| 65 72 28 22 2f 22 2c 20 | 73 79 6d 62 6f 6c 5f 6e |er("/", |symbol_n|
|00004830| 75 6d 65 72 69 63 29 3b | 0a 0a 09 73 79 6d 62 6f |umeric);|...symbo|
|00004840| 6c 5f 6d 6f 64 20 3d 20 | 73 79 6d 62 74 61 62 5f |l_mod = |symbtab_|
|00004850| 65 6e 74 65 72 28 22 6d | 6f 64 22 2c 20 73 79 6d |enter("m|od", sym|
|00004860| 62 6f 6c 5f 6e 75 6d 65 | 72 69 63 29 3b 0a 09 73 |bol_nume|ric);..s|
|00004870| 79 6d 62 6f 6c 5f 72 65 | 6d 20 3d 20 73 79 6d 62 |ymbol_re|m = symb|
|00004880| 74 61 62 5f 65 6e 74 65 | 72 28 22 72 65 6d 22 2c |tab_ente|r("rem",|
|00004890| 20 73 79 6d 62 6f 6c 5f | 6e 75 6d 65 72 69 63 29 | symbol_|numeric)|
|000048a0| 3b 0a 0a 09 73 79 6d 62 | 6f 6c 5f 65 78 70 20 3d |;...symb|ol_exp =|
|000048b0| 20 73 79 6d 62 74 61 62 | 5f 65 6e 74 65 72 28 22 | symbtab|_enter("|
|000048c0| 2a 2a 22 2c 20 73 79 6d | 62 6f 6c 5f 6e 75 6d 65 |**", sym|bol_nume|
|000048d0| 72 69 63 29 3b 0a 0a 09 | 73 79 6d 62 6f 6c 5f 63 |ric);...|symbol_c|
|000048e0| 61 74 20 3d 20 73 79 6d | 62 74 61 62 5f 65 6e 74 |at = sym|btab_ent|
|000048f0| 65 72 28 22 26 22 2c 20 | 73 79 6d 62 6f 6c 5f 61 |er("&", |symbol_a|
|00004900| 72 72 61 79 5f 74 79 70 | 65 29 3b 0a 0a 09 2f 2a |rray_typ|e);.../*|
|00004910| 20 57 65 20 68 61 76 65 | 20 69 6e 74 72 6f 64 75 | We have| introdu|
|00004920| 63 65 64 20 73 6f 6d 65 | 20 6e 65 77 20 73 79 6d |ced some| new sym|
|00004930| 62 6f 6c 73 20 69 6e 20 | 6f 72 64 65 72 20 74 6f |bols in |order to|
|00004940| 20 64 65 61 6c 20 61 72 | 72 61 79 20 63 61 74 65 | deal ar|ray cate|
|00004950| 6e 61 74 69 6f 6e 73 20 | 0a 09 20 2a 20 26 63 63 |nations |.. * &cc|
|00004960| 20 3a 20 63 61 74 65 6e | 61 74 69 6f 6e 20 6f 66 | : caten|ation of|
|00004970| 20 6f 6e 65 20 63 6f 6d | 70 6f 6e 65 6e 74 20 61 | one com|ponent a|
|00004980| 6e 64 20 6f 6e 65 20 63 | 6f 6d 70 6f 6e 65 6e 74 |nd one c|omponent|
|00004990| 0a 09 20 2a 20 26 61 63 | 20 3a 20 63 61 74 65 6e |.. * &ac| : caten|
|000049a0| 61 74 69 6f 6e 20 6f 66 | 20 61 6e 20 61 72 72 61 |ation of| an arra|
|000049b0| 79 20 61 6e 64 20 61 20 | 63 6f 6d 70 6f 6e 65 6e |y and a |componen|
|000049c0| 74 0a 09 20 2a 20 26 63 | 61 20 3a 20 63 61 74 65 |t.. * &c|a : cate|
|000049d0| 6e 61 74 69 6f 6e 20 6f | 66 20 61 20 63 6f 6d 70 |nation o|f a comp|
|000049e0| 6f 6e 65 6e 74 20 61 6e | 64 20 61 6e 20 61 72 72 |onent an|d an arr|
|000049f0| 61 79 0a 09 20 2a 2f 0a | 0a 09 73 79 6d 62 6f 6c |ay.. */.|..symbol|
|00004a00| 5f 63 61 74 5f 63 63 20 | 3d 20 73 79 6d 62 74 61 |_cat_cc |= symbta|
|00004a10| 62 5f 65 6e 74 65 72 20 | 28 22 26 63 63 22 2c 20 |b_enter |("&cc", |
|00004a20| 73 79 6d 62 6f 6c 5f 61 | 72 72 61 79 5f 74 79 70 |symbol_a|rray_typ|
|00004a30| 65 29 3b 0a 09 73 79 6d | 62 6f 6c 5f 63 61 74 5f |e);..sym|bol_cat_|
|00004a40| 61 63 20 3d 20 73 79 6d | 62 74 61 62 5f 65 6e 74 |ac = sym|btab_ent|
|00004a50| 65 72 20 28 22 26 61 63 | 22 2c 20 73 79 6d 62 6f |er ("&ac|", symbo|
|00004a60| 6c 5f 61 72 72 61 79 5f | 74 79 70 65 29 3b 0a 09 |l_array_|type);..|
|00004a70| 73 79 6d 62 6f 6c 5f 63 | 61 74 5f 63 61 20 3d 20 |symbol_c|at_ca = |
|00004a80| 73 79 6d 62 74 61 62 5f | 65 6e 74 65 72 20 28 22 |symbtab_|enter ("|
|00004a90| 26 63 61 22 2c 20 73 79 | 6d 62 6f 6c 5f 61 72 72 |&ca", sy|mbol_arr|
|00004aa0| 61 79 5f 74 79 70 65 29 | 3b 0a 0a 09 73 79 6d 62 |ay_type)|;...symb|
|00004ab0| 74 61 62 5f 65 6e 74 65 | 72 28 22 61 6e 79 5f 6f |tab_ente|r("any_o|
|00004ac0| 70 22 2c 20 73 79 6d 62 | 6f 6c 5f 61 6e 79 29 3b |p", symb|ol_any);|
|00004ad0| 0a 0a 09 2f 2a 20 54 68 | 65 20 41 42 53 20 6f 70 |.../* Th|e ABS op|
|00004ae0| 65 72 61 74 6f 72 20 69 | 73 20 6e 6f 74 20 61 20 |erator i|s not a |
|00004af0| 72 65 73 65 72 76 65 64 | 20 77 6f 72 64 2c 20 61 |reserved| word, a|
|00004b00| 6e 64 20 74 68 65 20 69 | 6e 74 65 72 70 72 65 74 |nd the i|nterpret|
|00004b10| 65 72 0a 09 20 2a 20 20 | 6e 65 76 65 72 74 68 65 |er.. * |neverthe|
|00004b20| 6c 65 73 73 20 65 78 70 | 65 63 74 73 20 69 74 73 |less exp|ects its|
|00004b30| 20 6e 61 6d 65 20 69 6e | 20 6c 6f 77 65 72 20 63 | name in| lower c|
|00004b40| 61 73 65 2e 20 54 68 75 | 73 20 3a 0a 09 20 2a 2f |ase. Thu|s :.. */|
|00004b50| 0a 0a 09 2f 2a 64 65 63 | 6c 61 72 65 64 28 73 74 |.../*dec|lared(st|
|00004b60| 61 6e 64 61 72 64 29 28 | 27 41 42 53 27 29 20 3a |andard)(|'ABS') :|
|00004b70| 3d 20 64 65 63 6c 61 72 | 65 64 28 73 74 61 6e 64 |= declar|ed(stand|
|00004b80| 61 72 64 29 28 27 61 62 | 73 27 29 3b 2a 2f 0a 09 |ard)('ab|s');*/..|
|00004b90| 64 63 6c 5f 70 75 74 28 | 64 65 63 6c 61 72 65 64 |dcl_put(|declared|
|00004ba0| 5f 73 74 61 6e 64 61 72 | 64 30 2c 20 22 41 42 53 |_standar|d0, "ABS|
|00004bb0| 22 2c 20 64 63 6c 5f 67 | 65 74 28 64 65 63 6c 61 |", dcl_g|et(decla|
|00004bc0| 72 65 64 5f 73 74 61 6e | 64 61 72 64 30 2c 20 22 |red_stan|dard0, "|
|00004bd0| 61 62 73 22 29 29 3b 0a | 0a 09 73 79 6d 62 6f 6c |abs"));.|..symbol|
|00004be0| 5f 6d 6f 64 69 20 3d 20 | 6e 65 77 5f 61 72 69 74 |_modi = |new_arit|
|00004bf0| 68 5f 6f 70 28 22 6d 6f | 64 69 22 2c 20 73 79 6d |h_op("mo|di", sym|
|00004c00| 62 6f 6c 5f 75 6e 69 76 | 65 72 73 61 6c 5f 69 6e |bol_univ|ersal_in|
|00004c10| 74 65 67 65 72 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |teger);.|.symbol_|
|00004c20| 72 65 6d 69 20 3d 20 6e | 65 77 5f 61 72 69 74 68 |remi = n|ew_arith|
|00004c30| 5f 6f 70 28 22 72 65 6d | 69 22 2c 20 73 79 6d 62 |_op("rem|i", symb|
|00004c40| 6f 6c 5f 75 6e 69 76 65 | 72 73 61 6c 5f 69 6e 74 |ol_unive|rsal_int|
|00004c50| 65 67 65 72 29 3b 0a 09 | 73 79 6d 62 6f 6c 5f 61 |eger);..|symbol_a|
|00004c60| 64 64 75 69 20 3d 20 6e | 65 77 5f 61 72 69 74 68 |ddui = n|ew_arith|
|00004c70| 5f 6f 70 28 22 2b 75 69 | 22 2c 20 73 79 6d 62 6f |_op("+ui|", symbo|
|00004c80| 6c 5f 75 6e 69 76 65 72 | 73 61 6c 5f 69 6e 74 65 |l_univer|sal_inte|
|00004c90| 67 65 72 29 3b 0a 09 73 | 79 6d 62 6f 6c 5f 73 75 |ger);..s|ymbol_su|
|00004ca0| 62 75 69 20 3d 20 6e 65 | 77 5f 61 72 69 74 68 5f |bui = ne|w_arith_|
|00004cb0| 6f 70 28 22 2d 75 69 22 | 2c 20 73 79 6d 62 6f 6c |op("-ui"|, symbol|
|00004cc0| 5f 75 6e 69 76 65 72 73 | 61 6c 5f 69 6e 74 65 67 |_univers|al_integ|
|00004cd0| 65 72 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 61 62 73 |er);..sy|mbol_abs|
|00004ce0| 69 20 3d 20 6e 65 77 5f | 61 72 69 74 68 5f 6f 70 |i = new_|arith_op|
|00004cf0| 28 22 61 62 73 69 22 2c | 20 73 79 6d 62 6f 6c 5f |("absi",| symbol_|
|00004d00| 75 6e 69 76 65 72 73 61 | 6c 5f 69 6e 74 65 67 65 |universa|l_intege|
|00004d10| 72 29 3b 0a 09 73 79 6d | 62 6f 6c 5f 61 64 64 69 |r);..sym|bol_addi|
|00004d20| 20 3d 20 6e 65 77 5f 61 | 72 69 74 68 5f 6f 70 28 | = new_a|rith_op(|
|00004d30| 22 2b 69 22 2c 20 73 79 | 6d 62 6f 6c 5f 75 6e 69 |"+i", sy|mbol_uni|
|00004d40| 76 65 72 73 61 6c 5f 69 | 6e 74 65 67 65 72 29 3b |versal_i|nteger);|
|00004d50| 0a 09 73 79 6d 62 6f 6c | 5f 73 75 62 69 20 3d 20 |..symbol|_subi = |
|00004d60| 6e 65 77 5f 61 72 69 74 | 68 5f 6f 70 28 22 2d 69 |new_arit|h_op("-i|
|00004d70| 22 2c 20 73 79 6d 62 6f | 6c 5f 75 6e 69 76 65 72 |", symbo|l_univer|
|00004d80| 73 61 6c 5f 69 6e 74 65 | 67 65 72 29 3b 0a 09 73 |sal_inte|ger);..s|
|00004d90| 79 6d 62 6f 6c 5f 6d 75 | 6c 69 20 3d 20 6e 65 77 |ymbol_mu|li = new|
|00004da0| 5f 61 72 69 74 68 5f 6f | 70 28 22 2a 69 22 2c 20 |_arith_o|p("*i", |
|00004db0| 73 79 6d 62 6f 6c 5f 75 | 6e 69 76 65 72 73 61 6c |symbol_u|niversal|
|00004dc0| 5f 69 6e 74 65 67 65 72 | 29 3b 0a 09 73 79 6d 62 |_integer|);..symb|
|00004dd0| 6f 6c 5f 64 69 76 69 20 | 3d 20 6e 65 77 5f 61 72 |ol_divi |= new_ar|
|00004de0| 69 74 68 5f 6f 70 28 22 | 2f 69 22 2c 20 73 79 6d |ith_op("|/i", sym|
|00004df0| 62 6f 6c 5f 75 6e 69 76 | 65 72 73 61 6c 5f 69 6e |bol_univ|ersal_in|
|00004e00| 74 65 67 65 72 29 3b 0a | 0a 09 2f 2a 20 20 20 20 |teger);.|../* |
|00004e10| 61 72 69 74 68 5f 6f 70 | 73 09 20 20 20 20 20 3d |arith_op|s. =|
|00004e20| 20 7b 27 2b 75 27 2c 20 | 27 2d 75 27 2c 20 27 61 | {'+u', |'-u', 'a|
|00004e30| 62 73 27 2c 20 27 2b 27 | 2c 20 27 2d 27 2c 20 27 |bs', '+'|, '-', '|
|00004e40| 2a 27 2c 20 27 2f 27 7d | 2c 20 2a 2f 0a 09 73 79 |*', '/'}|, */..sy|
|00004e50| 6d 62 6f 6c 5f 61 64 64 | 75 66 6c 20 3d 20 6e 65 |mbol_add|ufl = ne|
|00004e60| 77 5f 61 72 69 74 68 5f | 6f 70 28 22 2b 75 66 6c |w_arith_|op("+ufl|
|00004e70| 22 2c 20 73 79 6d 62 6f | 6c 5f 75 6e 69 76 65 72 |", symbo|l_univer|
|00004e80| 73 61 6c 5f 72 65 61 6c | 29 3b 0a 09 73 79 6d 62 |sal_real|);..symb|
|00004e90| 6f 6c 5f 73 75 62 75 66 | 6c 20 3d 20 6e 65 77 5f |ol_subuf|l = new_|
|00004ea0| 61 72 69 74 68 5f 6f 70 | 28 22 2d 75 66 6c 22 2c |arith_op|("-ufl",|
|00004eb0| 20 73 79 6d 62 6f 6c 5f | 75 6e 69 76 65 72 73 61 | symbol_|universa|
|00004ec0| 6c 5f 72 65 61 6c 29 3b | 0a 09 73 79 6d 62 6f 6c |l_real);|..symbol|
|00004ed0| 5f 61 62 73 66 6c 20 3d | 20 6e 65 77 5f 61 72 69 |_absfl =| new_ari|
|00004ee0| 74 68 5f 6f 70 28 22 61 | 62 73 66 6c 22 2c 20 73 |th_op("a|bsfl", s|
|00004ef0| 79 6d 62 6f 6c 5f 75 6e | 69 76 65 72 73 61 6c 5f |ymbol_un|iversal_|
|00004f00| 72 65 61 6c 29 3b 0a 09 | 73 79 6d 62 6f 6c 5f 61 |real);..|symbol_a|
|00004f10| 64 64 66 6c 20 3d 20 6e | 65 77 5f 61 72 69 74 68 |ddfl = n|ew_arith|
|00004f20| 5f 6f 70 28 22 2b 66 6c | 22 2c 20 73 79 6d 62 6f |_op("+fl|", symbo|
|00004f30| 6c 5f 75 6e 69 76 65 72 | 73 61 6c 5f 72 65 61 6c |l_univer|sal_real|
|00004f40| 29 3b 0a 09 73 79 6d 62 | 6f 6c 5f 73 75 62 66 6c |);..symb|ol_subfl|
|00004f50| 20 3d 20 6e 65 77 5f 61 | 72 69 74 68 5f 6f 70 28 | = new_a|rith_op(|
|00004f60| 22 2d 66 6c 22 2c 20 73 | 79 6d 62 6f 6c 5f 75 6e |"-fl", s|ymbol_un|
|00004f70| 69 76 65 72 73 61 6c 5f | 72 65 61 6c 29 3b 0a 09 |iversal_|real);..|
|00004f80| 73 79 6d 62 6f 6c 5f 6d | 75 6c 66 6c 20 3d 20 6e |symbol_m|ulfl = n|
|00004f90| 65 77 5f 61 72 69 74 68 | 5f 6f 70 28 22 2a 66 6c |ew_arith|_op("*fl|
|00004fa0| 22 2c 20 73 79 6d 62 6f | 6c 5f 75 6e 69 76 65 72 |", symbo|l_univer|
|00004fb0| 73 61 6c 5f 72 65 61 6c | 29 3b 0a 09 73 79 6d 62 |sal_real|);..symb|
|00004fc0| 6f 6c 5f 64 69 76 66 6c | 20 3d 20 6e 65 77 5f 61 |ol_divfl| = new_a|
|00004fd0| 72 69 74 68 5f 6f 70 28 | 22 2f 66 6c 22 2c 20 73 |rith_op(|"/fl", s|
|00004fe0| 79 6d 62 6f 6c 5f 75 6e | 69 76 65 72 73 61 6c 5f |ymbol_un|iversal_|
|00004ff0| 72 65 61 6c 29 3b 0a 0a | 09 73 79 6d 62 6f 6c 5f |real);..|.symbol_|
|00005000| 61 64 64 75 66 78 20 3d | 20 6e 65 77 5f 61 72 69 |addufx =| new_ari|
|00005010| 74 68 5f 6f 70 28 22 2b | 75 66 78 22 2c 20 73 79 |th_op("+|ufx", sy|
|00005020| 6d 62 6f 6c 5f 75 6e 69 | 76 65 72 73 61 6c 5f 64 |mbol_uni|versal_d|
|00005030| 66 69 78 65 64 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |fixed);.|.symbol_|
|00005040| 73 75 62 75 66 78 20 3d | 20 6e 65 77 5f 61 72 69 |subufx =| new_ari|
|00005050| 74 68 5f 6f 70 28 22 2d | 75 66 78 22 2c 20 73 79 |th_op("-|ufx", sy|
|00005060| 6d 62 6f 6c 5f 75 6e 69 | 76 65 72 73 61 6c 5f 64 |mbol_uni|versal_d|
|00005070| 66 69 78 65 64 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |fixed);.|.symbol_|
|00005080| 61 62 73 66 78 20 3d 20 | 6e 65 77 5f 61 72 69 74 |absfx = |new_arit|
|00005090| 68 5f 6f 70 28 22 61 62 | 73 66 78 22 2c 20 73 79 |h_op("ab|sfx", sy|
|000050a0| 6d 62 6f 6c 5f 75 6e 69 | 76 65 72 73 61 6c 5f 64 |mbol_uni|versal_d|
|000050b0| 66 69 78 65 64 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |fixed);.|.symbol_|
|000050c0| 61 64 64 66 78 20 3d 20 | 6e 65 77 5f 61 72 69 74 |addfx = |new_arit|
|000050d0| 68 5f 6f 70 28 22 2b 66 | 78 22 2c 20 73 79 6d 62 |h_op("+f|x", symb|
|000050e0| 6f 6c 5f 75 6e 69 76 65 | 72 73 61 6c 5f 64 66 69 |ol_unive|rsal_dfi|
|000050f0| 78 65 64 29 3b 0a 09 73 | 79 6d 62 6f 6c 5f 73 75 |xed);..s|ymbol_su|
|00005100| 62 66 78 20 3d 20 6e 65 | 77 5f 61 72 69 74 68 5f |bfx = ne|w_arith_|
|00005110| 6f 70 28 22 2d 66 78 22 | 2c 20 73 79 6d 62 6f 6c |op("-fx"|, symbol|
|00005120| 5f 75 6e 69 76 65 72 73 | 61 6c 5f 64 66 69 78 65 |_univers|al_dfixe|
|00005130| 64 29 3b 0a 09 73 79 6d | 62 6f 6c 5f 6d 75 6c 66 |d);..sym|bol_mulf|
|00005140| 78 20 3d 20 6e 65 77 5f | 61 72 69 74 68 5f 6f 70 |x = new_|arith_op|
|00005150| 28 22 2a 66 78 22 2c 20 | 73 79 6d 62 6f 6c 5f 75 |("*fx", |symbol_u|
|00005160| 6e 69 76 65 72 73 61 6c | 5f 64 66 69 78 65 64 29 |niversal|_dfixed)|
|00005170| 3b 0a 09 73 79 6d 62 6f | 6c 5f 64 69 76 66 78 20 |;..symbo|l_divfx |
|00005180| 3d 20 6e 65 77 5f 61 72 | 69 74 68 5f 6f 70 28 22 |= new_ar|ith_op("|
|00005190| 2f 66 78 22 2c 20 73 79 | 6d 62 6f 6c 5f 75 6e 69 |/fx", sy|mbol_uni|
|000051a0| 76 65 72 73 61 6c 5f 64 | 66 69 78 65 64 29 3b 0a |versal_d|fixed);.|
|000051b0| 09 2f 2a 20 54 68 65 20 | 66 69 78 65 64 20 6d 75 |./* The |fixed mu|
|000051c0| 6c 74 69 70 6c 69 63 61 | 74 69 6f 6e 20 61 6e 64 |ltiplica|tion and|
|000051d0| 20 64 69 76 69 73 69 6f | 6e 20 6f 70 65 72 61 74 | divisio|n operat|
|000051e0| 6f 72 73 20 72 65 74 75 | 72 6e 20 74 68 65 0a 09 |ors retu|rn the..|
|000051f0| 20 2a 20 73 69 6e 67 75 | 6c 61 72 20 74 79 70 65 | * singu|lar type|
|00005200| 20 75 6e 69 76 65 72 73 | 61 6c 5f 66 69 78 65 64 | univers|al_fixed|
|00005210| 2c 20 77 68 69 63 68 20 | 6d 75 73 74 20 62 65 20 |, which |must be |
|00005220| 65 78 70 6c 69 63 69 74 | 6c 79 20 63 6f 6e 2d 0a |explicit|ly con-.|
|00005230| 09 20 2a 20 76 65 72 74 | 65 64 20 62 65 66 6f 72 |. * vert|ed befor|
|00005240| 65 20 75 73 65 2e 0a 09 | 20 2a 2f 0a 0a 09 54 59 |e use...| */...TY|
|00005250| 50 45 5f 4f 46 28 73 79 | 6d 62 6f 6c 5f 6d 75 6c |PE_OF(sy|mbol_mul|
|00005260| 66 78 29 20 3d 20 73 79 | 6d 62 6f 6c 5f 75 6e 69 |fx) = sy|mbol_uni|
|00005270| 76 65 72 73 61 6c 5f 66 | 69 78 65 64 3b 0a 09 54 |versal_f|ixed;..T|
|00005280| 59 50 45 5f 4f 46 28 73 | 79 6d 62 6f 6c 5f 64 69 |YPE_OF(s|ymbol_di|
|00005290| 76 66 78 29 20 3d 20 73 | 79 6d 62 6f 6c 5f 75 6e |vfx) = s|ymbol_un|
|000052a0| 69 76 65 72 73 61 6c 5f | 66 69 78 65 64 3b 0a 0a |iversal_|fixed;..|
|000052b0| 09 2f 2a 20 54 68 65 72 | 65 20 61 72 65 20 74 77 |./* Ther|e are tw|
|000052c0| 6f 20 74 79 70 65 73 20 | 6f 66 20 6d 69 78 65 64 |o types |of mixed|
|000052d0| 20 6d 6f 64 65 20 61 72 | 69 74 68 6d 65 74 69 63 | mode ar|ithmetic|
|000052e0| 20 6f 70 65 72 61 74 6f | 72 73 3a 20 74 68 65 20 | operato|rs: the |
|000052f0| 6f 6e 65 73 0a 09 20 2a | 20 66 6f 72 20 66 69 78 |ones.. *| for fix|
|00005300| 65 64 2d 69 6e 74 65 67 | 65 72 20 6f 70 65 72 61 |ed-integ|er opera|
|00005310| 74 69 6f 6e 73 2c 20 75 | 73 65 64 20 61 74 20 72 |tions, u|sed at r|
|00005320| 75 6e 2d 74 69 6d 65 2c | 20 61 6e 64 20 74 68 65 |un-time,| and the|
|00005330| 20 6f 6e 65 73 20 66 6f | 72 0a 09 20 2a 20 75 6e | ones fo|r.. * un|
|00005340| 69 76 65 72 73 61 6c 5f | 72 65 61 6c 20 2d 20 75 |iversal_|real - u|
|00005350| 6e 69 76 65 72 73 61 6c | 5f 69 6e 74 65 67 65 72 |niversal|_integer|
|00005360| 20 6f 70 65 72 61 74 69 | 6f 6e 73 2c 20 75 73 65 | operati|ons, use|
|00005370| 64 20 6f 6e 6c 79 20 69 | 6e 20 6c 69 74 65 72 61 |d only i|n litera|
|00005380| 6c 0a 09 20 2a 20 65 73 | 70 72 65 73 73 69 6f 6e |l.. * es|pression|
|00005390| 73 2e 0a 09 20 2a 2f 0a | 09 2f 2a 20 6e 65 77 5f |s... */.|./* new_|
|000053a0| 61 72 69 74 68 5f 6f 70 | 73 28 7b 27 2a 66 78 69 |arith_op|s({'*fxi|
|000053b0| 27 2c 20 27 2a 69 66 78 | 27 2c 20 27 2f 66 78 69 |', '*ifx|', '/fxi|
|000053c0| 27 7d 2c 20 27 24 46 49 | 58 45 44 27 29 3b 20 2a |'}, '$FI|XED'); *|
|000053d0| 2f 0a 09 73 79 6d 62 6f | 6c 5f 6d 75 6c 66 78 69 |/..symbo|l_mulfxi|
|000053e0| 20 3d 20 6e 65 77 5f 61 | 72 69 74 68 5f 6f 70 28 | = new_a|rith_op(|
|000053f0| 22 2a 66 78 69 22 2c 20 | 73 79 6d 62 6f 6c 5f 64 |"*fxi", |symbol_d|
|00005400| 66 69 78 65 64 29 3b 0a | 09 73 79 6d 62 6f 6c 5f |fixed);.|.symbol_|
|00005410| 6d 75 6c 69 66 78 20 3d | 20 6e 65 77 5f 61 72 69 |mulifx =| new_ari|
|00005420| 74 68 5f 6f 70 28 22 2a | 69 66 78 22 2c 20 73 79 |th_op("*|ifx", sy|
|00005430| 6d 62 6f 6c 5f 64 66 69 | 78 65 64 29 3b 0a 09 73 |mbol_dfi|xed);..s|
|00005440| 79 6d 62 6f 6c 5f 64 69 | 76 66 78 69 20 3d 20 6e |ymbol_di|vfxi = n|
|00005450| 65 77 5f 61 72 69 74 68 | 5f 6f 70 28 22 2f 66 78 |ew_arith|_op("/fx|
|00005460| 69 22 2c 20 73 79 6d 62 | 6f 6c 5f 64 66 69 78 65 |i", symb|ol_dfixe|
|00005470| 64 29 3b 0a 0a 09 2f 2a | 20 6e 65 77 5f 61 72 69 |d);.../*| new_ari|
|00005480| 74 68 5f 6f 70 73 28 7b | 27 2a 66 6c 69 27 2c 20 |th_ops({|'*fli', |
|00005490| 27 2a 69 66 6c 27 2c 20 | 27 2f 66 6c 69 27 7d 2c |'*ifl', |'/fli'},|
|000054a0| 20 27 75 6e 69 76 65 72 | 73 61 6c 5f 72 65 61 6c | 'univer|sal_real|
|000054b0| 27 29 3b 20 2a 2f 0a 09 | 73 79 6d 62 6f 6c 5f 6d |'); */..|symbol_m|
|000054c0| 75 6c 66 6c 69 20 3d 20 | 6e 65 77 5f 61 72 69 74 |ulfli = |new_arit|
|000054d0| 68 5f 6f 70 28 22 2a 66 | 6c 69 22 2c 20 73 79 6d |h_op("*f|li", sym|
|000054e0| 62 6f 6c 5f 75 6e 69 76 | 65 72 73 61 6c 5f 72 65 |bol_univ|ersal_re|
|000054f0| 61 6c 29 3b 0a 09 73 79 | 6d 62 6f 6c 5f 6d 75 6c |al);..sy|mbol_mul|
|00005500| 69 66 6c 20 3d 20 6e 65 | 77 5f 61 72 69 74 68 5f |ifl = ne|w_arith_|
|00005510| 6f 70 28 22 2a 69 66 6c | 22 2c 20 73 79 6d 62 6f |op("*ifl|", symbo|
|00005520| 6c 5f 75 6e 69 76 65 72 | 73 61 6c 5f 72 65 61 6c |l_univer|sal_real|
|00005530| 29 3b 0a 09 73 79 6d 62 | 6f 6c 5f 64 69 76 66 6c |);..symb|ol_divfl|
|00005540| 69 20 3d 20 6e 65 77 5f | 61 72 69 74 68 5f 6f 70 |i = new_|arith_op|
|00005550| 28 22 2f 66 6c 69 22 2c | 20 73 79 6d 62 6f 6c 5f |("/fli",| symbol_|
|00005560| 75 6e 69 76 65 72 73 61 | 6c 5f 72 65 61 6c 29 3b |universa|l_real);|
|00005570| 0a 0a 09 73 79 6d 62 6f | 6c 5f 65 78 70 69 20 3d |...symbo|l_expi =|
|00005580| 20 6e 65 77 5f 61 72 69 | 74 68 5f 6f 70 28 22 2a | new_ari|th_op("*|
|00005590| 2a 69 22 2c 20 73 79 6d | 62 6f 6c 5f 75 6e 69 76 |*i", sym|bol_univ|
|000055a0| 65 72 73 61 6c 5f 69 6e | 74 65 67 65 72 29 3b 0a |ersal_in|teger);.|
|000055b0| 09 73 79 6d 62 6f 6c 5f | 65 78 70 66 6c 20 3d 20 |.symbol_|expfl = |
|000055c0| 6e 65 77 5f 61 72 69 74 | 68 5f 6f 70 28 22 2a 2a |new_arit|h_op("**|
|000055d0| 66 6c 22 2c 20 73 79 6d | 62 6f 6c 5f 75 6e 69 76 |fl", sym|bol_univ|
|000055e0| 65 72 73 61 6c 5f 72 65 | 61 6c 29 3b 0a 0a 09 2f |ersal_re|al);.../|
|000055f0| 2a 20 45 78 63 65 70 74 | 69 6f 6e 73 20 65 6e 74 |* Except|ions ent|
|00005600| 65 72 65 64 20 69 6e 74 | 6f 20 53 59 4d 42 54 41 |ered int|o SYMBTA|
|00005610| 42 2e 2a 2f 0a 23 75 6e | 64 65 66 20 73 79 6d 69 |B.*/.#un|def symi|
|00005620| 6e 74 32 0a 23 64 65 66 | 69 6e 65 20 73 79 6d 69 |nt2.#def|ine symi|
|00005630| 6e 74 32 28 6e 61 6d 65 | 29 20 6e 61 6d 65 20 3d |nt2(name|) name =|
|00005640| 20 73 79 6d 5f 6e 65 77 | 28 6e 61 5f 65 78 63 65 | sym_new|(na_exce|
|00005650| 70 74 69 6f 6e 29 3b 20 | 5c 0a 09 54 59 50 45 5f |ption); |\..TYPE_|
|00005660| 4f 46 28 6e 61 6d 65 29 | 20 3d 20 73 79 6d 62 6f |OF(name)| = symbo|
|00005670| 6c 5f 65 78 63 65 70 74 | 69 6f 6e 3b 20 53 49 47 |l_except|ion; SIG|
|00005680| 4e 41 54 55 52 45 28 6e | 61 6d 65 29 20 3d 20 74 |NATURE(n|ame) = t|
|00005690| 75 70 5f 6e 65 77 28 30 | 29 3b 0a 09 73 79 6d 62 |up_new(0|);..symb|
|000056a0| 6f 6c 5f 65 78 63 65 70 | 74 69 6f 6e 20 3d 20 73 |ol_excep|tion = s|
|000056b0| 79 6d 5f 6e 65 77 28 6e | 61 5f 65 78 63 65 70 74 |ym_new(n|a_except|
|000056c0| 69 6f 6e 29 3b 2f 2a 20 | 3f 3f 20 63 68 65 63 6b |ion);/* |?? check|
|000056d0| 20 74 68 69 73 20 2a 2f | 0a 09 73 65 74 6e 61 6d | this */|..setnam|
|000056e0| 65 28 73 79 6d 62 6f 6c | 5f 65 78 63 65 70 74 69 |e(symbol|_excepti|
|000056f0| 6f 6e 2c 20 22 45 58 43 | 45 50 54 49 4f 4e 22 29 |on, "EXC|EPTION")|
|00005700| 3b 0a 0a 09 73 79 6d 69 | 6e 74 32 28 73 79 6d 62 |;...symi|nt2(symb|
|00005710| 6f 6c 5f 63 6f 6e 73 74 | 72 61 69 6e 74 5f 65 72 |ol_const|raint_er|
|00005720| 72 6f 72 29 0a 09 20 20 | 20 20 73 65 74 6e 61 6d |ror).. | setnam|
|00005730| 65 28 73 79 6d 62 6f 6c | 5f 63 6f 6e 73 74 72 61 |e(symbol|_constra|
|00005740| 69 6e 74 5f 65 72 72 6f | 72 2c 20 22 43 4f 4e 53 |int_erro|r, "CONS|
|00005750| 54 52 41 49 4e 54 5f 45 | 52 52 4f 52 22 29 3b 0a |TRAINT_E|RROR");.|
|00005760| 09 73 79 6d 69 6e 74 32 | 28 73 79 6d 62 6f 6c 5f |.symint2|(symbol_|
|00005770| 6e 75 6d 65 72 69 63 5f | 65 72 72 6f 72 29 0a 09 |numeric_|error)..|
|00005780| 20 20 20 20 73 65 74 6e | 61 6d 65 28 73 79 6d 62 | setn|ame(symb|
|00005790| 6f 6c 5f 6e 75 6d 65 72 | 69 63 5f 65 72 72 6f 72 |ol_numer|ic_error|
|000057a0| 2c 20 22 4e 55 4d 45 52 | 49 43 5f 45 52 52 4f 52 |, "NUMER|IC_ERROR|
|000057b0| 22 29 3b 0a 09 73 79 6d | 69 6e 74 32 28 73 79 6d |");..sym|int2(sym|
|000057c0| 62 6f 6c 5f 70 72 6f 67 | 72 61 6d 5f 65 72 72 6f |bol_prog|ram_erro|
|000057d0| 72 29 0a 09 20 20 20 20 | 73 65 74 6e 61 6d 65 28 |r).. |setname(|
|000057e0| 73 79 6d 62 6f 6c 5f 70 | 72 6f 67 72 61 6d 5f 65 |symbol_p|rogram_e|
|000057f0| 72 72 6f 72 2c 20 22 50 | 52 4f 47 52 41 4d 5f 45 |rror, "P|ROGRAM_E|
|00005800| 52 52 4f 52 22 29 3b 0a | 09 73 79 6d 69 6e 74 32 |RROR");.|.symint2|
|00005810| 28 73 79 6d 62 6f 6c 5f | 73 74 6f 72 61 67 65 5f |(symbol_|storage_|
|00005820| 65 72 72 6f 72 29 0a 09 | 20 20 20 20 73 65 74 6e |error)..| setn|
|00005830| 61 6d 65 28 73 79 6d 62 | 6f 6c 5f 73 74 6f 72 61 |ame(symb|ol_stora|
|00005840| 67 65 5f 65 72 72 6f 72 | 2c 20 22 53 54 4f 52 41 |ge_error|, "STORA|
|00005850| 47 45 5f 45 52 52 4f 52 | 22 29 3b 0a 09 73 79 6d |GE_ERROR|");..sym|
|00005860| 69 6e 74 32 28 73 79 6d | 62 6f 6c 5f 74 61 73 6b |int2(sym|bol_task|
|00005870| 69 6e 67 5f 65 72 72 6f | 72 29 0a 09 20 20 20 20 |ing_erro|r).. |
|00005880| 73 65 74 6e 61 6d 65 28 | 73 79 6d 62 6f 6c 5f 74 |setname(|symbol_t|
|00005890| 61 73 6b 69 6e 67 5f 65 | 72 72 6f 72 2c 20 22 54 |asking_e|rror, "T|
|000058a0| 41 53 4b 49 4e 47 5f 45 | 52 52 4f 52 22 29 3b 0a |ASKING_E|RROR");.|
|000058b0| 09 73 79 6d 69 6e 74 32 | 28 73 79 6d 62 6f 6c 5f |.symint2|(symbol_|
|000058c0| 73 79 73 74 65 6d 5f 65 | 72 72 6f 72 29 0a 09 20 |system_e|rror).. |
|000058d0| 20 20 20 73 65 74 6e 61 | 6d 65 28 73 79 6d 62 6f | setna|me(symbo|
|000058e0| 6c 5f 73 74 6f 72 61 67 | 65 5f 65 72 72 6f 72 2c |l_storag|e_error,|
|000058f0| 20 22 53 59 53 54 45 4d | 5f 45 52 52 4f 52 22 29 | "SYSTEM|_ERROR")|
|00005900| 3b 0a 09 2f 2a 20 54 79 | 70 65 73 20 61 6e 64 20 |;../* Ty|pes and |
|00005910| 65 78 63 65 70 74 69 6f | 6e 73 20 65 6e 74 65 72 |exceptio|ns enter|
|00005920| 65 64 20 69 6e 74 6f 20 | 44 45 43 4c 41 52 45 44 |ed into |DECLARED|
|00005930| 2e 20 20 2a 2f 0a 09 2f | 2a 20 4e 4f 54 45 3a 20 |. */../|* NOTE: |
|00005940| 27 4e 55 4c 4c 27 20 6f | 62 73 6f 6c 65 74 65 20 |'NULL' o|bsolete |
|00005950| 61 6e 64 20 68 65 6e 63 | 65 20 6e 6f 74 20 65 6e |and henc|e not en|
|00005960| 74 65 72 65 64 20 68 65 | 72 65 28 44 53 20 32 34 |tered he|re(DS 24|
|00005970| 20 46 65 62 20 38 34 29 | 20 2a 2f 0a 23 64 65 66 | Feb 84)| */.#def|
|00005980| 69 6e 65 20 44 43 4c 45 | 4e 54 28 63 2c 20 73 29 |ine DCLE|NT(c, s)|
|00005990| 20 64 63 6c 5f 70 75 74 | 28 64 65 63 6c 61 72 65 | dcl_put|(declare|
|000059a0| 64 5f 73 74 61 6e 64 61 | 72 64 30 2c 20 63 2c 20 |d_standa|rd0, c, |
|000059b0| 73 29 0a 09 44 43 4c 45 | 4e 54 28 22 41 53 43 49 |s)..DCLE|NT("ASCI|
|000059c0| 49 22 2c 20 73 79 6d 62 | 6f 6c 5f 61 73 63 69 69 |I", symb|ol_ascii|
|000059d0| 29 3b 0a 09 44 43 4c 45 | 4e 54 28 22 42 4f 4f 4c |);..DCLE|NT("BOOL|
|000059e0| 45 41 4e 22 2c 20 73 79 | 6d 62 6f 6c 5f 62 6f 6f |EAN", sy|mbol_boo|
|000059f0| 6c 65 61 6e 29 3b 0a 09 | 44 43 4c 45 4e 54 28 22 |lean);..|DCLENT("|
|00005a00| 43 48 41 52 41 43 54 45 | 52 22 2c 20 73 79 6d 62 |CHARACTE|R", symb|
|00005a10| 6f 6c 5f 63 68 61 72 61 | 63 74 65 72 29 3b 0a 09 |ol_chara|cter);..|
|00005a20| 44 43 4c 45 4e 54 28 22 | 44 55 52 41 54 49 4f 4e |DCLENT("|DURATION|
|00005a30| 22 2c 20 73 79 6d 62 6f | 6c 5f 64 75 72 61 74 69 |", symbo|l_durati|
|00005a40| 6f 6e 29 3b 0a 09 44 43 | 4c 45 4e 54 28 22 46 4c |on);..DC|LENT("FL|
|00005a50| 4f 41 54 22 2c 20 73 79 | 6d 62 6f 6c 5f 66 6c 6f |OAT", sy|mbol_flo|
|00005a60| 61 74 29 3b 0a 09 44 43 | 4c 45 4e 54 28 22 49 4e |at);..DC|LENT("IN|
|00005a70| 54 45 47 45 52 22 2c 20 | 73 79 6d 62 6f 6c 5f 69 |TEGER", |symbol_i|
|00005a80| 6e 74 65 67 65 72 29 3b | 0a 09 44 43 4c 45 4e 54 |nteger);|..DCLENT|
|00005a90| 28 22 24 46 49 58 45 44 | 22 2c 20 73 79 6d 62 6f |("$FIXED|", symbo|
|00005aa0| 6c 5f 64 66 69 78 65 64 | 29 3b 0a 09 44 43 4c 45 |l_dfixed|);..DCLE|
|00005ab0| 4e 54 28 22 4e 41 54 55 | 52 41 4c 22 2c 20 73 79 |NT("NATU|RAL", sy|
|00005ac0| 6d 62 6f 6c 5f 6e 61 74 | 75 72 61 6c 29 3b 0a 09 |mbol_nat|ural);..|
|00005ad0| 44 43 4c 45 4e 54 28 22 | 50 4f 53 49 54 49 56 45 |DCLENT("|POSITIVE|
|00005ae0| 22 2c 20 73 79 6d 62 6f | 6c 5f 70 6f 73 69 74 69 |", symbo|l_positi|
|00005af0| 76 65 29 3b 0a 09 44 43 | 4c 45 4e 54 28 22 53 54 |ve);..DC|LENT("ST|
|00005b00| 52 49 4e 47 22 2c 20 73 | 79 6d 62 6f 6c 5f 73 74 |RING", s|ymbol_st|
|00005b10| 72 69 6e 67 29 3b 0a 09 | 44 43 4c 45 4e 54 28 22 |ring);..|DCLENT("|
|00005b20| 75 6e 69 76 65 72 73 61 | 6c 5f 69 6e 74 65 67 65 |universa|l_intege|
|00005b30| 72 22 2c 20 73 79 6d 62 | 6f 6c 5f 75 6e 69 76 65 |r", symb|ol_unive|
|00005b40| 72 73 61 6c 5f 69 6e 74 | 65 67 65 72 29 3b 0a 09 |rsal_int|eger);..|
|00005b50| 44 43 4c 45 4e 54 28 22 | 75 6e 69 76 65 72 73 61 |DCLENT("|universa|
|00005b60| 6c 5f 72 65 61 6c 22 2c | 20 73 79 6d 62 6f 6c 5f |l_real",| symbol_|
|00005b70| 75 6e 69 76 65 72 73 61 | 6c 5f 72 65 61 6c 29 3b |universa|l_real);|
|00005b80| 0a 09 44 43 4c 45 4e 54 | 28 22 64 69 73 63 72 65 |..DCLENT|("discre|
|00005b90| 74 65 5f 74 79 70 65 22 | 2c 20 73 79 6d 62 6f 6c |te_type"|, symbol|
|00005ba0| 5f 64 69 73 63 72 65 74 | 65 5f 74 79 70 65 29 3b |_discret|e_type);|
|00005bb0| 0a 09 44 43 4c 45 4e 54 | 28 22 75 6e 69 76 65 72 |..DCLENT|("univer|
|00005bc0| 73 61 6c 5f 66 69 78 65 | 64 22 2c 20 73 79 6d 62 |sal_fixe|d", symb|
|00005bd0| 6f 6c 5f 75 6e 69 76 65 | 72 73 61 6c 5f 66 69 78 |ol_unive|rsal_fix|
|00005be0| 65 64 29 3b 0a 09 44 43 | 4c 45 4e 54 28 22 73 74 |ed);..DC|LENT("st|
|00005bf0| 72 69 6e 67 5f 74 79 70 | 65 22 2c 20 73 79 6d 62 |ring_typ|e", symb|
|00005c00| 6f 6c 5f 73 74 72 69 6e | 67 5f 74 79 70 65 29 3b |ol_strin|g_type);|
|00005c10| 0a 09 44 43 4c 45 4e 54 | 28 22 61 72 72 61 79 5f |..DCLENT|("array_|
|00005c20| 74 79 70 65 22 2c 20 73 | 79 6d 62 6f 6c 5f 61 72 |type", s|ymbol_ar|
|00005c30| 72 61 79 5f 74 79 70 65 | 29 3b 0a 09 44 43 4c 45 |ray_type|);..DCLE|
|00005c40| 4e 54 28 22 61 6e 79 22 | 2c 20 73 79 6d 62 6f 6c |NT("any"|, symbol|
|00005c50| 5f 61 6e 79 29 3b 0a 09 | 44 43 4c 45 4e 54 28 22 |_any);..|DCLENT("|
|00005c60| 6e 6f 6e 65 22 2c 20 73 | 79 6d 62 6f 6c 5f 6e 6f |none", s|ymbol_no|
|00005c70| 6e 65 29 3b 0a 09 44 43 | 4c 45 4e 54 28 22 43 4f |ne);..DC|LENT("CO|
|00005c80| 4e 53 54 52 41 49 4e 54 | 5f 45 52 52 4f 52 22 2c |NSTRAINT|_ERROR",|
|00005c90| 20 73 79 6d 62 6f 6c 5f | 63 6f 6e 73 74 72 61 69 | symbol_|constrai|
|00005ca0| 6e 74 5f 65 72 72 6f 72 | 29 3b 0a 09 44 43 4c 45 |nt_error|);..DCLE|
|00005cb0| 4e 54 28 22 4e 55 4d 45 | 52 49 43 5f 45 52 52 4f |NT("NUME|RIC_ERRO|
|00005cc0| 52 22 2c 20 73 79 6d 62 | 6f 6c 5f 6e 75 6d 65 72 |R", symb|ol_numer|
|00005cd0| 69 63 5f 65 72 72 6f 72 | 29 3b 0a 09 44 43 4c 45 |ic_error|);..DCLE|
|00005ce0| 4e 54 28 22 50 52 4f 47 | 52 41 4d 5f 45 52 52 4f |NT("PROG|RAM_ERRO|
|00005cf0| 52 22 2c 20 73 79 6d 62 | 6f 6c 5f 70 72 6f 67 72 |R", symb|ol_progr|
|00005d00| 61 6d 5f 65 72 72 6f 72 | 29 3b 0a 09 44 43 4c 45 |am_error|);..DCLE|
|00005d10| 4e 54 28 22 53 54 4f 52 | 41 47 45 5f 45 52 52 4f |NT("STOR|AGE_ERRO|
|00005d20| 52 22 2c 20 73 79 6d 62 | 6f 6c 5f 73 74 6f 72 61 |R", symb|ol_stora|
|00005d30| 67 65 5f 65 72 72 6f 72 | 29 3b 0a 09 44 43 4c 45 |ge_error|);..DCLE|
|00005d40| 4e 54 28 22 54 41 53 4b | 49 4e 47 5f 45 52 52 4f |NT("TASK|ING_ERRO|
|00005d50| 52 22 2c 20 73 79 6d 62 | 6f 6c 5f 74 61 73 6b 69 |R", symb|ol_taski|
|00005d60| 6e 67 5f 65 72 72 6f 72 | 29 3b 0a 09 44 43 4c 45 |ng_error|);..DCLE|
|00005d70| 4e 54 28 22 53 59 53 54 | 45 4d 5f 45 52 52 4f 52 |NT("SYST|EM_ERROR|
|00005d80| 22 2c 20 73 79 6d 62 6f | 6c 5f 73 79 73 74 65 6d |", symbo|l_system|
|00005d90| 5f 65 72 72 6f 72 29 3b | 0a 23 75 6e 64 65 66 20 |_error);|.#undef |
|00005da0| 44 43 4c 45 4e 54 0a 0a | 09 2f 2a 20 50 72 69 6e |DCLENT..|./* Prin|
|00005db0| 74 61 62 6c 65 20 63 68 | 61 72 61 63 74 65 72 73 |table ch|aracters|
|00005dc0| 20 61 72 65 20 65 6e 74 | 65 72 65 64 20 69 6e 74 | are ent|ered int|
|00005dd0| 6f 20 53 59 4d 42 54 41 | 42 2c 20 61 73 20 6f 76 |o SYMBTA|B, as ov|
|00005de0| 65 72 6c 6f 61 64 65 64 | 0a 09 20 2a 20 6c 69 74 |erloaded|.. * lit|
|00005df0| 65 72 61 6c 73 20 77 68 | 6f 73 65 20 73 6f 75 72 |erals wh|ose sour|
|00005e00| 63 65 20 6e 61 6d 65 20 | 69 73 20 74 68 65 20 63 |ce name |is the c|
|00005e10| 68 61 72 61 63 74 65 72 | 20 62 65 74 77 65 65 6e |haracter| between|
|00005e20| 20 73 69 6e 67 6c 65 20 | 71 75 6f 74 65 73 2e 0a | single |quotes..|
|00005e30| 09 20 2a 2f 0a 09 7b 0a | 09 09 54 75 70 6c 65 20 |. */..{.|..Tuple |
|00005e40| 6c 6d 61 70 3b 0a 09 09 | 69 6e 74 09 69 3b 0a 09 |lmap;...|int.i;..|
|00005e50| 09 63 68 61 72 20 20 20 | 2a 73 3b 0a 0a 09 09 6c |.char |*s;....l|
|00005e60| 6d 61 70 20 3d 20 74 75 | 70 5f 6e 65 77 28 32 20 |map = tu|p_new(2 |
|00005e70| 2a 20 31 32 38 29 3b 0a | 09 09 66 6f 72 20 28 69 |* 128);.|..for (i|
|00005e80| 20 3d 20 30 3b 20 69 20 | 3c 3d 20 31 32 37 3b 20 | = 0; i |<= 127; |
|00005e90| 69 2b 2b 20 29 20 7b 0a | 09 09 09 73 20 3d 20 73 |i++ ) {.|...s = s|
|00005ea0| 6d 61 6c 6c 6f 63 28 34 | 29 3b 0a 09 09 09 73 5b |malloc(4|);....s[|
|00005eb0| 33 5d 20 3d 20 27 5c 30 | 27 3b 0a 09 09 09 73 5b |3] = '\0|';....s[|
|00005ec0| 30 5d 20 3d 20 27 5c 27 | 27 3b 0a 09 09 09 73 5b |0] = '\'|';....s[|
|00005ed0| 31 5d 20 3d 20 28 63 68 | 61 72 29 20 69 3b 0a 09 |1] = (ch|ar) i;..|
|00005ee0| 09 09 73 5b 32 5d 20 3d | 20 27 5c 27 27 3b 0a 09 |..s[2] =| '\'';..|
|00005ef0| 09 09 6c 6d 61 70 5b 32 | 20 2a 20 69 20 2b 20 31 |..lmap[2| * i + 1|
|00005f00| 5d 20 3d 20 73 3b 0a 09 | 09 09 6c 6d 61 70 5b 32 |] = s;..|..lmap[2|
|00005f10| 20 2a 20 69 20 2b 20 32 | 5d 20 3d 28 63 68 61 72 | * i + 2|] =(char|
|00005f20| 20 2a 29 20 69 3b 0a 09 | 09 09 2f 2a 20 69 66 20 | *) i;..|../* if |
|00005f30| 28 69 20 3e 3d 20 33 32 | 20 26 26 20 69 20 3c 3d |(i >= 32| && i <=|
|00005f40| 20 31 32 36 20 29 20 20 | 2d 2d 20 65 6e 74 65 72 | 126 ) |-- enter|
|00005f50| 20 61 6c 6c 20 61 73 63 | 69 69 20 63 68 61 72 73 | all asc|ii chars|
|00005f60| 20 69 6e 20 53 59 4d 42 | 54 41 42 20 2a 2f 0a 09 | in SYMB|TAB */..|
|00005f70| 09 09 69 6e 69 5f 63 68 | 61 69 6e 28 73 2c 20 6e |..ini_ch|ain(s, n|
|00005f80| 61 5f 6c 69 74 65 72 61 | 6c 2c 20 73 79 6d 62 6f |a_litera|l, symbo|
|00005f90| 6c 5f 63 68 61 72 61 63 | 74 65 72 29 3b 0a 09 09 |l_charac|ter);...|
|00005fa0| 7d 0a 09 09 6c 69 74 65 | 72 61 6c 5f 6d 61 70 28 |}...lite|ral_map(|
|00005fb0| 73 79 6d 62 6f 6c 5f 63 | 68 61 72 61 63 74 65 72 |symbol_c|haracter|
|00005fc0| 29 20 3d 28 53 65 74 29 | 20 6c 6d 61 70 3b 0a 09 |) =(Set)| lmap;..|
|00005fd0| 7d 0a 09 2f 2a 20 63 68 | 61 72 61 63 74 65 72 73 |}../* ch|aracters|
|00005fe0| 2e 20 20 2a 2f 0a 09 2f | 2a 20 73 63 6f 70 65 5f |. */../|* scope_|
|00005ff0| 69 6e 66 6f 20 69 73 20 | 6d 61 63 72 6f 20 5b 73 |info is |macro [s|
|00006000| 63 6f 70 65 5f 6e 61 6d | 65 2c 20 70 72 65 66 69 |cope_nam|e, prefi|
|00006010| 78 2c 20 6f 70 65 6e 5f | 73 63 6f 70 65 73 2c 20 |x, open_|scopes, |
|00006020| 75 73 65 64 5f 6d 6f 64 | 73 2c 0a 09 20 2a 20 76 |used_mod|s,.. * v|
|00006030| 69 73 5f 6d 6f 64 73 2c | 20 73 75 66 66 69 78 5d |is_mods,| suffix]|
|00006040| 20 69 6e 20 53 45 54 4c | 2e 20 49 6e 20 43 20 70 | in SETL|. In C p|
|00006050| 72 65 66 69 78 20 61 6e | 64 20 73 75 66 66 69 78 |refix an|d suffix|
|00006060| 20 64 6f 20 6e 6f 74 20 | 61 70 70 6c 79 2c 0a 09 | do not |apply,..|
|00006070| 20 2a 20 61 6e 64 20 77 | 65 20 72 65 70 72 65 73 | * and w|e repres|
|00006080| 65 6e 74 20 61 73 20 74 | 75 70 6c 65 0a 09 20 2a |ent as t|uple.. *|
|00006090| 20 5b 73 63 6f 70 65 5f | 6e 61 6d 65 2c 20 6f 70 | [scope_|name, op|
|000060a0| 65 6e 5f 73 63 6f 70 65 | 73 2c 20 75 73 65 64 5f |en_scope|s, used_|
|000060b0| 6d 6f 64 73 2c 20 76 69 | 73 5f 6d 6f 64 73 5d 0a |mods, vi|s_mods].|
|000060c0| 09 20 2a 2f 0a 09 7b 0a | 09 09 54 75 70 6c 65 20 |. */..{.|..Tuple |
|000060d0| 74 3b 0a 09 09 74 20 3d | 20 74 75 70 5f 6e 65 77 |t;...t =| tup_new|
|000060e0| 28 34 29 3b 0a 09 09 74 | 5b 31 5d 20 3d 28 63 68 |(4);...t|[1] =(ch|
|000060f0| 61 72 20 2a 29 20 73 63 | 6f 70 65 5f 6e 61 6d 65 |ar *) sc|ope_name|
|00006100| 3b 0a 09 09 74 5b 32 5d | 20 3d 28 63 68 61 72 20 |;...t[2]| =(char |
|00006110| 2a 29 20 74 75 70 5f 63 | 6f 70 79 28 6f 70 65 6e |*) tup_c|opy(open|
|00006120| 5f 73 63 6f 70 65 73 29 | 3b 0a 09 09 74 5b 33 5d |_scopes)|;...t[3]|
|00006130| 20 3d 28 63 68 61 72 20 | 2a 29 20 74 75 70 5f 63 | =(char |*) tup_c|
|00006140| 6f 70 79 28 75 73 65 64 | 5f 6d 6f 64 73 29 3b 0a |opy(used|_mods);.|
|00006150| 09 09 74 5b 34 5d 20 3d | 28 63 68 61 72 20 2a 29 |..t[4] =|(char *)|
|00006160| 20 74 75 70 5f 63 6f 70 | 79 28 76 69 73 5f 6d 6f | tup_cop|y(vis_mo|
|00006170| 64 73 29 3b 0a 09 09 73 | 63 6f 70 65 5f 73 74 20 |ds);...s|cope_st |
|00006180| 3d 20 74 75 70 5f 77 69 | 74 68 28 73 63 6f 70 65 |= tup_wi|th(scope|
|00006190| 5f 73 74 2c 20 28 63 68 | 61 72 20 2a 29 20 74 29 |_st, (ch|ar *) t)|
|000061a0| 3b 0a 09 7d 0a 09 2f 2a | 20 73 63 6f 70 65 5f 69 |;..}../*| scope_i|
|000061b0| 6e 66 6f 20 3d 0a 09 20 | 2a 20 5b 27 41 53 43 49 |nfo =.. |* ['ASCI|
|000061c0| 49 27 2c 20 27 27 2c 20 | 5b 27 41 53 43 49 49 27 |I', '', |['ASCII'|
|000061d0| 2c 20 27 53 54 41 4e 44 | 41 52 44 23 30 27 2c 20 |, 'STAND|ARD#0', |
|000061e0| 27 55 4e 4d 45 4e 54 49 | 4f 4e 41 42 4c 45 23 30 |'UNMENTI|ONABLE#0|
|000061f0| 27 5d 2c 20 5b 5d 2c 20 | 5b 5d 2c 20 27 27 5d 3b |'], [], |[], ''];|
|00006200| 20 5d 3b 0a 09 20 2a 2f | 0a 0a 09 73 63 6f 70 65 | ];.. */|...scope|
|00006210| 5f 6e 61 6d 65 20 3d 20 | 73 79 6d 62 6f 6c 5f 61 |_name = |symbol_a|
|00006220| 73 63 69 69 3b 0a 09 6f | 70 65 6e 5f 73 63 6f 70 |scii;..o|pen_scop|
|00006230| 65 73 20 3d 20 74 75 70 | 5f 6e 65 77 28 33 29 3b |es = tup|_new(3);|
|00006240| 0a 09 6f 70 65 6e 5f 73 | 63 6f 70 65 73 5b 31 5d |..open_s|copes[1]|
|00006250| 20 3d 28 63 68 61 72 20 | 2a 29 20 73 79 6d 62 6f | =(char |*) symbo|
|00006260| 6c 5f 61 73 63 69 69 3b | 0a 09 6f 70 65 6e 5f 73 |l_ascii;|..open_s|
|00006270| 63 6f 70 65 73 5b 32 5d | 20 3d 28 63 68 61 72 20 |copes[2]| =(char |
|00006280| 2a 29 20 73 79 6d 62 6f | 6c 5f 73 74 61 6e 64 61 |*) symbo|l_standa|
|00006290| 72 64 30 3b 0a 09 6f 70 | 65 6e 5f 73 63 6f 70 65 |rd0;..op|en_scope|
|000062a0| 73 5b 33 5d 20 3d 28 63 | 68 61 72 20 2a 29 20 73 |s[3] =(c|har *) s|
|000062b0| 79 6d 62 6f 6c 5f 75 6e | 6d 65 6e 74 69 6f 6e 61 |ymbol_un|mentiona|
|000062c0| 62 6c 65 3b 0a 09 76 69 | 73 5f 6d 6f 64 73 20 3d |ble;..vi|s_mods =|
|000062d0| 20 74 75 70 5f 6e 65 77 | 28 30 29 3b 0a 09 75 73 | tup_new|(0);..us|
|000062e0| 65 64 5f 6d 6f 64 73 20 | 3d 20 74 75 70 5f 6e 65 |ed_mods |= tup_ne|
|000062f0| 77 28 30 29 3b 0a 09 7b | 0a 09 09 69 6e 74 09 69 |w(0);..{|...int.i|
|00006300| 3b 0a 09 09 63 68 61 72 | 20 20 20 2a 70 2c 20 2a |;...char| *p, *|
|00006310| 70 31 3b 0a 09 09 53 79 | 6d 62 6f 6c 20 73 79 6d |p1;...Sy|mbol sym|
|00006320| 3b 0a 09 09 63 68 61 72 | 09 6e 61 6d 65 5b 32 30 |;...char|.name[20|
|00006330| 5d 3b 0a 0a 09 09 66 6f | 72 20 28 69 20 3d 20 30 |];....fo|r (i = 0|
|00006340| 3b 20 70 20 3d 20 63 68 | 61 72 5f 6e 61 6d 65 73 |; p = ch|ar_names|
|00006350| 5b 69 5d 3b 20 69 2b 2b | 29 20 7b 0a 09 09 09 69 |[i]; i++|) {....i|
|00006360| 66 20 28 70 5b 30 5d 20 | 3d 3d 20 27 20 27 29 0a |f (p[0] |== ' ').|
|00006370| 09 09 09 09 2f 2a 20 63 | 6f 64 65 20 66 6f 6c 64 |..../* c|ode fold|
|00006380| 65 64 20 66 72 6f 6d 20 | 68 65 72 65 20 2a 2f 0a |ed from |here */.|
|00006390| 09 09 09 09 62 72 65 61 | 6b 3b 0a 09 09 09 2f 2a |....brea|k;..../*|
|000063a0| 20 75 6e 66 6f 6c 64 69 | 6e 67 20 2a 2f 0a 09 09 | unfoldi|ng */...|
|000063b0| 09 70 31 20 3d 20 73 74 | 72 63 68 72 28 70 2c 20 |.p1 = st|rchr(p, |
|000063c0| 27 20 27 29 3b 0a 09 09 | 09 69 66 20 28 70 31 20 |' ');...|.if (p1 |
|000063d0| 3d 3d 20 70 29 0a 09 09 | 09 09 2f 2a 20 63 6f 64 |== p)...|../* cod|
|000063e0| 65 20 66 6f 6c 64 65 64 | 20 66 72 6f 6d 20 68 65 |e folded| from he|
|000063f0| 72 65 20 2a 2f 0a 09 09 | 09 09 09 62 72 65 61 6b |re */...|...break|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.