#include "c.h" #define NODEPTR_TYPE Node #define OP_LABEL(p) ((p)->op) #define LEFT_CHILD(p) ((p)->kids[0]) #define RIGHT_CHILD(p) ((p)->kids[1]) #define STATE_LABEL(p) ((p)->x.state) static void address(Symbol, Symbol, long); static void defaddress(Symbol); static void defconst(int, int, Value); static void defstring(int, char *); static void defsymbol(Symbol); static void emit2(Node); static void export(Symbol); static void function(Symbol, Symbol [], Symbol [], int); static void global(Symbol); static void import(Symbol); static void local(Symbol); static void progbeg(int, char **); static void progend(void); static void segment(int); static void space(int); static void blockbeg(Env* env); static void blockend(Env* env); extern void stackemit(Node forest); extern Node stackgen(Node forest); extern void swtch(Symbol label); /* generated at Tue May 13 12:28:23 2014 by $Id: lburg.c,v 2.10 2002/03/08 18:45:21 drh Exp $ */ static void _kids(NODEPTR_TYPE, int, NODEPTR_TYPE[]); static void _label(NODEPTR_TYPE); static int _rule(void*, int); #define _stmt_NT 1 #define _sread_NT 2 #define _stk_NT 3 #define _var_NT 4 #define _cnst1_NT 5 #define _glob_NT 6 #define _local_NT 7 #define _addr_NT 8 static char *_ntname[] = { 0, "stmt", "sread", "stk", "var", "cnst1", "glob", "local", "addr", 0 }; struct _state { short cost[9]; struct { unsigned int _stmt:7; unsigned int _sread:3; unsigned int _stk:8; unsigned int _var:3; unsigned int _cnst1:3; unsigned int _glob:1; unsigned int _local:1; unsigned int _addr:2; } rule; }; static short _nts_0[] = { 0 }; static short _nts_1[] = { _sread_NT, 0 }; static short _nts_2[] = { _stk_NT, 0 }; static short _nts_3[] = { _stk_NT, _var_NT, 0 }; static short _nts_4[] = { _glob_NT, 0 }; static short _nts_5[] = { _stk_NT, _local_NT, 0 }; static short _nts_6[] = { _stk_NT, _stk_NT, 0 }; static short _nts_7[] = { _local_NT, 0 }; static short _nts_8[] = { _stk_NT, _cnst1_NT, 0 }; static short _nts_9[] = { _addr_NT, 0 }; static short _nts_10[] = { _addr_NT, _stk_NT, 0 }; static short *_nts[] = { 0, /* 0 */ _nts_0, /* 1 */ _nts_0, /* 2 */ _nts_0, /* 3 */ _nts_0, /* 4 */ _nts_0, /* 5 */ _nts_0, /* 6 */ _nts_1, /* 7 */ _nts_1, /* 8 */ _nts_1, /* 9 */ _nts_1, /* 10 */ _nts_1, /* 11 */ _nts_1, /* 12 */ _nts_1, /* 13 */ _nts_1, /* 14 */ _nts_2, /* 15 */ _nts_2, /* 16 */ _nts_2, /* 17 */ _nts_2, /* 18 */ _nts_2, /* 19 */ _nts_2, /* 20 */ _nts_2, /* 21 */ _nts_2, /* 22 */ _nts_2, /* 23 */ _nts_2, /* 24 */ _nts_2, /* 25 */ _nts_2, /* 26 */ _nts_2, /* 27 */ _nts_2, /* 28 */ _nts_2, /* 29 */ _nts_2, /* 30 */ _nts_2, /* 31 */ _nts_2, /* 32 */ _nts_2, /* 33 */ _nts_2, /* 34 */ _nts_2, /* 35 */ _nts_2, /* 36 */ _nts_2, /* 37 */ _nts_2, /* 38 */ _nts_2, /* 39 */ _nts_2, /* 40 */ _nts_2, /* 41 */ _nts_2, /* 42 */ _nts_2, /* 43 */ _nts_2, /* 44 */ _nts_2, /* 45 */ _nts_2, /* 46 */ _nts_2, /* 47 */ _nts_2, /* 48 */ _nts_2, /* 49 */ _nts_2, /* 50 */ _nts_2, /* 51 */ _nts_2, /* 52 */ _nts_2, /* 53 */ _nts_2, /* 54 */ _nts_2, /* 55 */ _nts_2, /* 56 */ _nts_2, /* 57 */ _nts_2, /* 58 */ _nts_2, /* 59 */ _nts_2, /* 60 */ _nts_2, /* 61 */ _nts_2, /* 62 */ _nts_2, /* 63 */ _nts_2, /* 64 */ _nts_2, /* 65 */ _nts_2, /* 66 */ _nts_2, /* 67 */ _nts_2, /* 68 */ _nts_2, /* 69 */ _nts_2, /* 70 */ _nts_2, /* 71 */ _nts_2, /* 72 */ _nts_2, /* 73 */ _nts_2, /* 74 */ _nts_2, /* 75 */ _nts_2, /* 76 */ _nts_2, /* 77 */ _nts_2, /* 78 */ _nts_3, /* 79 */ _nts_3, /* 80 */ _nts_3, /* 81 */ _nts_3, /* 82 */ _nts_3, /* 83 */ _nts_3, /* 84 */ _nts_3, /* 85 */ _nts_3, /* 86 */ _nts_0, /* 87 */ _nts_0, /* 88 */ _nts_0, /* 89 */ _nts_0, /* 90 */ _nts_0, /* 91 */ _nts_0, /* 92 */ _nts_0, /* 93 */ _nts_0, /* 94 */ _nts_0, /* 95 */ _nts_0, /* 96 */ _nts_0, /* 97 */ _nts_0, /* 98 */ _nts_0, /* 99 */ _nts_0, /* 100 */ _nts_0, /* 101 */ _nts_0, /* 102 */ _nts_0, /* 103 */ _nts_0, /* 104 */ _nts_0, /* 105 */ _nts_2, /* 106 */ _nts_0, /* 107 */ _nts_0, /* 108 */ _nts_4, /* 109 */ _nts_0, /* 110 */ _nts_5, /* 111 */ _nts_5, /* 112 */ _nts_5, /* 113 */ _nts_5, /* 114 */ _nts_5, /* 115 */ _nts_5, /* 116 */ _nts_5, /* 117 */ _nts_5, /* 118 */ _nts_6, /* 119 */ _nts_6, /* 120 */ _nts_6, /* 121 */ _nts_6, /* 122 */ _nts_6, /* 123 */ _nts_6, /* 124 */ _nts_6, /* 125 */ _nts_6, /* 126 */ _nts_4, /* 127 */ _nts_4, /* 128 */ _nts_4, /* 129 */ _nts_4, /* 130 */ _nts_4, /* 131 */ _nts_4, /* 132 */ _nts_4, /* 133 */ _nts_4, /* 134 */ _nts_7, /* 135 */ _nts_7, /* 136 */ _nts_7, /* 137 */ _nts_7, /* 138 */ _nts_7, /* 139 */ _nts_7, /* 140 */ _nts_7, /* 141 */ _nts_7, /* 142 */ _nts_2, /* 143 */ _nts_2, /* 144 */ _nts_2, /* 145 */ _nts_2, /* 146 */ _nts_2, /* 147 */ _nts_2, /* 148 */ _nts_2, /* 149 */ _nts_2, /* 150 */ _nts_6, /* 151 */ _nts_6, /* 152 */ _nts_6, /* 153 */ _nts_6, /* 154 */ _nts_6, /* 155 */ _nts_6, /* 156 */ _nts_6, /* 157 */ _nts_6, /* 158 */ _nts_6, /* 159 */ _nts_6, /* 160 */ _nts_6, /* 161 */ _nts_6, /* 162 */ _nts_6, /* 163 */ _nts_6, /* 164 */ _nts_6, /* 165 */ _nts_6, /* 166 */ _nts_6, /* 167 */ _nts_6, /* 168 */ _nts_8, /* 169 */ _nts_8, /* 170 */ _nts_6, /* 171 */ _nts_6, /* 172 */ _nts_6, /* 173 */ _nts_6, /* 174 */ _nts_2, /* 175 */ _nts_2, /* 176 */ _nts_2, /* 177 */ _nts_6, /* 178 */ _nts_6, /* 179 */ _nts_6, /* 180 */ _nts_6, /* 181 */ _nts_2, /* 182 */ _nts_2, /* 183 */ _nts_2, /* 184 */ _nts_2, /* 185 */ _nts_2, /* 186 */ _nts_2, /* 187 */ _nts_2, /* 188 */ _nts_2, /* 189 */ _nts_2, /* 190 */ _nts_2, /* 191 */ _nts_2, /* 192 */ _nts_2, /* 193 */ _nts_2, /* 194 */ _nts_2, /* 195 */ _nts_2, /* 196 */ _nts_2, /* 197 */ _nts_2, /* 198 */ _nts_2, /* 199 */ _nts_2, /* 200 */ _nts_2, /* 201 */ _nts_2, /* 202 */ _nts_2, /* 203 */ _nts_2, /* 204 */ _nts_0, /* 205 */ _nts_4, /* 206 */ _nts_2, /* 207 */ _nts_6, /* 208 */ _nts_6, /* 209 */ _nts_6, /* 210 */ _nts_6, /* 211 */ _nts_6, /* 212 */ _nts_6, /* 213 */ _nts_6, /* 214 */ _nts_6, /* 215 */ _nts_6, /* 216 */ _nts_6, /* 217 */ _nts_6, /* 218 */ _nts_6, /* 219 */ _nts_6, /* 220 */ _nts_6, /* 221 */ _nts_6, /* 222 */ _nts_6, /* 223 */ _nts_6, /* 224 */ _nts_6, /* 225 */ _nts_0, /* 226 */ _nts_0, /* 227 */ _nts_9, /* 228 */ _nts_9, /* 229 */ _nts_9, /* 230 */ _nts_9, /* 231 */ _nts_9, /* 232 */ _nts_10, /* 233 */ _nts_2, /* 234 */ _nts_2, /* 235 */ _nts_2, /* 236 */ _nts_2, /* 237 */ _nts_2, /* 238 */ _nts_6, /* 239 */ _nts_2, /* 240 */ _nts_2, /* 241 */ _nts_2, /* 242 */ _nts_2, /* 243 */ _nts_0, /* 244 */ _nts_2, /* 245 */ _nts_2, /* 246 */ _nts_2, /* 247 */ _nts_2, /* 248 */ _nts_2, /* 249 */ _nts_6, /* 250 */ _nts_0, /* 251 */ _nts_2, /* 252 */ _nts_2, /* 253 */ }; static char *_templates[] = { /* 0 */ 0, /* 1 */ "rot1\n", /* sread: STACKP */ /* 2 */ "rot2\n", /* sread: STACKP */ /* 3 */ "rot3\n", /* sread: STACKP */ /* 4 */ "rot4\n", /* sread: STACKP */ /* 5 */ "copy%b\n", /* sread: COPYP */ /* 6 */ "any\n", /* sread: COPYP */ /* 7 */ "\n", /* stk: INDIRI1(sread) */ /* 8 */ "\n", /* stk: INDIRU1(sread) */ /* 9 */ "\n", /* stk: INDIRI2(sread) */ /* 10 */ "\n", /* stk: INDIRU2(sread) */ /* 11 */ "\n", /* stk: INDIRF4(sread) */ /* 12 */ "\n", /* stk: INDIRI4(sread) */ /* 13 */ "\n", /* stk: INDIRP4(sread) */ /* 14 */ "\n", /* stk: INDIRU4(sread) */ /* 15 */ "#\n", /* stk: TUCKI1(stk) */ /* 16 */ "#\n", /* stk: TUCKU1(stk) */ /* 17 */ "#\n", /* stk: TUCKI2(stk) */ /* 18 */ "#\n", /* stk: TUCKU2(stk) */ /* 19 */ "#\n", /* stk: TUCKI4(stk) */ /* 20 */ "#\n", /* stk: TUCKU4(stk) */ /* 21 */ "#\n", /* stk: TUCKF4(stk) */ /* 22 */ "#\n", /* stk: TUCKP4(stk) */ /* 23 */ "#\n", /* stk: TUCKI1(stk) */ /* 24 */ "#\n", /* stk: TUCKU1(stk) */ /* 25 */ "#\n", /* stk: TUCKI2(stk) */ /* 26 */ "#\n", /* stk: TUCKU2(stk) */ /* 27 */ "#\n", /* stk: TUCKI4(stk) */ /* 28 */ "#\n", /* stk: TUCKU4(stk) */ /* 29 */ "#\n", /* stk: TUCKF4(stk) */ /* 30 */ "#\n", /* stk: TUCKP4(stk) */ /* 31 */ "#\n", /* stk: TUCKI1(stk) */ /* 32 */ "#\n", /* stk: TUCKU1(stk) */ /* 33 */ "#\n", /* stk: TUCKI2(stk) */ /* 34 */ "#\n", /* stk: TUCKU2(stk) */ /* 35 */ "#\n", /* stk: TUCKI4(stk) */ /* 36 */ "#\n", /* stk: TUCKU4(stk) */ /* 37 */ "#\n", /* stk: TUCKF4(stk) */ /* 38 */ "#\n", /* stk: TUCKP4(stk) */ /* 39 */ "#\n", /* stk: TUCKI1(stk) */ /* 40 */ "#\n", /* stk: TUCKU1(stk) */ /* 41 */ "#\n", /* stk: TUCKI2(stk) */ /* 42 */ "#\n", /* stk: TUCKU2(stk) */ /* 43 */ "#\n", /* stk: TUCKI4(stk) */ /* 44 */ "#\n", /* stk: TUCKU4(stk) */ /* 45 */ "#\n", /* stk: TUCKF4(stk) */ /* 46 */ "#\n", /* stk: TUCKP4(stk) */ /* 47 */ "rrot1; %a\n", /* stmt: TUCKI1(stk) */ /* 48 */ "rrot1; %a\n", /* stmt: TUCKU1(stk) */ /* 49 */ "rrot1; %a\n", /* stmt: TUCKI2(stk) */ /* 50 */ "rrot1; %a\n", /* stmt: TUCKU2(stk) */ /* 51 */ "rrot1; %a\n", /* stmt: TUCKI4(stk) */ /* 52 */ "rrot1; %a\n", /* stmt: TUCKU4(stk) */ /* 53 */ "rrot1; %a\n", /* stmt: TUCKF4(stk) */ /* 54 */ "rrot1; %a\n", /* stmt: TUCKP4(stk) */ /* 55 */ "rrot2; %a\n", /* stmt: TUCKI1(stk) */ /* 56 */ "rrot2; %a\n", /* stmt: TUCKU1(stk) */ /* 57 */ "rrot2; %a\n", /* stmt: TUCKI2(stk) */ /* 58 */ "rrot2; %a\n", /* stmt: TUCKU2(stk) */ /* 59 */ "rrot2; %a\n", /* stmt: TUCKI4(stk) */ /* 60 */ "rrot2; %a\n", /* stmt: TUCKU4(stk) */ /* 61 */ "rrot2; %a\n", /* stmt: TUCKF4(stk) */ /* 62 */ "rrot2; %a\n", /* stmt: TUCKP4(stk) */ /* 63 */ "rrot3; %a\n", /* stmt: TUCKI1(stk) */ /* 64 */ "rrot3; %a\n", /* stmt: TUCKU1(stk) */ /* 65 */ "rrot3; %a\n", /* stmt: TUCKI2(stk) */ /* 66 */ "rrot3; %a\n", /* stmt: TUCKU2(stk) */ /* 67 */ "rrot3; %a\n", /* stmt: TUCKI4(stk) */ /* 68 */ "rrot3; %a\n", /* stmt: TUCKU4(stk) */ /* 69 */ "rrot3; %a\n", /* stmt: TUCKF4(stk) */ /* 70 */ "rrot3; %a\n", /* stmt: TUCKP4(stk) */ /* 71 */ "rrot4; %a\n", /* stmt: TUCKI1(stk) */ /* 72 */ "rrot4; %a\n", /* stmt: TUCKU1(stk) */ /* 73 */ "rrot4; %a\n", /* stmt: TUCKI2(stk) */ /* 74 */ "rrot4; %a\n", /* stmt: TUCKU2(stk) */ /* 75 */ "rrot4; %a\n", /* stmt: TUCKI4(stk) */ /* 76 */ "rrot4; %a\n", /* stmt: TUCKU4(stk) */ /* 77 */ "rrot4; %a\n", /* stmt: TUCKF4(stk) */ /* 78 */ "rrot4; %a\n", /* stmt: TUCKP4(stk) */ /* 79 */ "\n", /* stmt: ASGNI1(stk,var) */ /* 80 */ "\n", /* stmt: ASGNU1(stk,var) */ /* 81 */ "\n", /* stmt: ASGNI2(stk,var) */ /* 82 */ "\n", /* stmt: ASGNU2(stk,var) */ /* 83 */ "\n", /* stmt: ASGNF4(stk,var) */ /* 84 */ "\n", /* stmt: ASGNI4(stk,var) */ /* 85 */ "\n", /* stmt: ASGNP4(stk,var) */ /* 86 */ "\n", /* stmt: ASGNU4(stk,var) */ /* 87 */ "#\n", /* var: STACKP */ /* 88 */ "#\n", /* var: STACKP */ /* 89 */ "#\n", /* var: STACKP */ /* 90 */ "#\n", /* var: STACKP */ /* 91 */ "", /* cnst1: CNSTI1 */ /* 92 */ "", /* cnst1: CNSTI2 */ /* 93 */ "", /* cnst1: CNSTI4 */ /* 94 */ "", /* cnst1: CNSTU1 */ /* 95 */ "", /* cnst1: CNSTU2 */ /* 96 */ "", /* cnst1: CNSTU4 */ /* 97 */ "", /* cnst1: CNSTP4 */ /* 98 */ "lit %a\n", /* stk: CNSTI1 */ /* 99 */ "lit %a\n", /* stk: CNSTI2 */ /* 100 */ "lit %a\n", /* stk: CNSTI4 */ /* 101 */ "lit %a\n", /* stk: CNSTF4 */ /* 102 */ "lit %a\n", /* stk: CNSTU1 */ /* 103 */ "lit %a\n", /* stk: CNSTU2 */ /* 104 */ "lit %a\n", /* stk: CNSTU4 */ /* 105 */ "lit %a\n", /* stk: CNSTP4 */ /* 106 */ "drop\n", /* stmt: stk */ /* 107 */ "%a", /* glob: ADDRGP4 */ /* 108 */ "#", /* local: ADDRLP4 */ /* 109 */ "lit %0\n", /* stk: glob */ /* 110 */ "lit %a\n@fp\nadd\n", /* stk: ADDRLP4 */ /* 111 */ "!loc %1\n", /* stmt: ASGNI1(stk,local) */ /* 112 */ "!loc %1\n", /* stmt: ASGNU1(stk,local) */ /* 113 */ "!loc %1\n", /* stmt: ASGNI2(stk,local) */ /* 114 */ "!loc %1\n", /* stmt: ASGNU2(stk,local) */ /* 115 */ "!loc %1\n", /* stmt: ASGNI4(stk,local) */ /* 116 */ "!loc %1\n", /* stmt: ASGNU4(stk,local) */ /* 117 */ "!loc %1\n", /* stmt: ASGNF4(stk,local) */ /* 118 */ "!loc %1\n", /* stmt: ASGNP4(stk,local) */ /* 119 */ "!.b\n", /* stmt: ASGNI1(stk,stk) */ /* 120 */ "!.b\n", /* stmt: ASGNU1(stk,stk) */ /* 121 */ "!.w\n", /* stmt: ASGNI2(stk,stk) */ /* 122 */ "!.w\n", /* stmt: ASGNU2(stk,stk) */ /* 123 */ "! \n", /* stmt: ASGNI4(stk,stk) */ /* 124 */ "! \n", /* stmt: ASGNU4(stk,stk) */ /* 125 */ "! \n", /* stmt: ASGNP4(stk,stk) */ /* 126 */ "! \n", /* stmt: ASGNF4(stk,stk) */ /* 127 */ "@%0\n", /* stk: INDIRI1(glob) */ /* 128 */ "@%0\n", /* stk: INDIRU1(glob) */ /* 129 */ "@%0\n", /* stk: INDIRI2(glob) */ /* 130 */ "@%0\n", /* stk: INDIRU2(glob) */ /* 131 */ "@%0\n", /* stk: INDIRP4(glob) */ /* 132 */ "@%0\n", /* stk: INDIRI4(glob) */ /* 133 */ "@%0\n", /* stk: INDIRU4(glob) */ /* 134 */ "@%0\n", /* stk: INDIRF4(glob) */ /* 135 */ "@loc %0\n", /* stk: INDIRI1(local) */ /* 136 */ "@loc %0\n", /* stk: INDIRU1(local) */ /* 137 */ "@loc %0\n", /* stk: INDIRI2(local) */ /* 138 */ "@loc %0\n", /* stk: INDIRU2(local) */ /* 139 */ "@loc %0\n", /* stk: INDIRP4(local) */ /* 140 */ "@loc %0\n", /* stk: INDIRI4(local) */ /* 141 */ "@loc %0\n", /* stk: INDIRU4(local) */ /* 142 */ "@loc %0\n", /* stk: INDIRF4(local) */ /* 143 */ "@.b\n", /* stk: INDIRI1(stk) */ /* 144 */ "@.b\n", /* stk: INDIRU1(stk) */ /* 145 */ "@.w\n", /* stk: INDIRI2(stk) */ /* 146 */ "@.w\n", /* stk: INDIRU2(stk) */ /* 147 */ "@\n", /* stk: INDIRI4(stk) */ /* 148 */ "@\n", /* stk: INDIRU4(stk) */ /* 149 */ "@\n", /* stk: INDIRP4(stk) */ /* 150 */ "@\n", /* stk: INDIRF4(stk) */ /* 151 */ "mod\n", /* stk: MODI4(stk,stk) */ /* 152 */ "modu\n", /* stk: MODU4(stk,stk) */ /* 153 */ "mul\n", /* stk: MULI4(stk,stk) */ /* 154 */ "mul\n", /* stk: MULU4(stk,stk) */ /* 155 */ "div\n", /* stk: DIVI4(stk,stk) */ /* 156 */ "divu\n", /* stk: DIVU4(stk,stk) */ /* 157 */ "add\n", /* stk: ADDI4(stk,stk) */ /* 158 */ "add\n", /* stk: ADDP4(stk,stk) */ /* 159 */ "add\n", /* stk: ADDU4(stk,stk) */ /* 160 */ "and\n", /* stk: BANDI4(stk,stk) */ /* 161 */ "or\n", /* stk: BORI4(stk,stk) */ /* 162 */ "xor\n", /* stk: BXORI4(stk,stk) */ /* 163 */ "and\n", /* stk: BANDU4(stk,stk) */ /* 164 */ "or\n", /* stk: BORU4(stk,stk) */ /* 165 */ "xor\n", /* stk: BXORU4(stk,stk) */ /* 166 */ "sub\n", /* stk: SUBI4(stk,stk) */ /* 167 */ "sub\n", /* stk: SUBP4(stk,stk) */ /* 168 */ "sub\n", /* stk: SUBU4(stk,stk) */ /* 169 */ "shl\n", /* stk: LSHI4(stk,cnst1) */ /* 170 */ "shl\n", /* stk: LSHU4(stk,cnst1) */ /* 171 */ "bshl\n", /* stk: LSHI4(stk,stk) */ /* 172 */ "bshl\n", /* stk: LSHU4(stk,stk) */ /* 173 */ "basr\n", /* stk: RSHI4(stk,stk) */ /* 174 */ "blsr\n", /* stk: RSHU4(stk,stk) */ /* 175 */ "inv\n", /* stk: BCOMI4(stk) */ /* 176 */ "inv\n", /* stk: BCOMU4(stk) */ /* 177 */ "neg\n", /* stk: NEGI4(stk) */ /* 178 */ "fadd\n", /* stk: ADDF4(stk,stk) */ /* 179 */ "fdiv\n", /* stk: DIVF4(stk,stk) */ /* 180 */ "fmul\n", /* stk: MULF4(stk,stk) */ /* 181 */ "fsub\n", /* stk: SUBF4(stk,stk) */ /* 182 */ "fneg\n", /* stk: NEGF4(stk) */ /* 183 */ "\n", /* stk: CVII1(stk) */ /* 184 */ "\n", /* stk: CVII2(stk) */ /* 185 */ "\n", /* stk: CVII4(stk) */ /* 186 */ "\n", /* stk: CVIU1(stk) */ /* 187 */ "\n", /* stk: CVIU2(stk) */ /* 188 */ "lit 0xff\nand\n", /* stk: CVIU4(stk) */ /* 189 */ "lit 0xffff\nand\n", /* stk: CVIU4(stk) */ /* 190 */ "\n", /* stk: CVIU4(stk) */ /* 191 */ "\n", /* stk: CVUI1(stk) */ /* 192 */ "\n", /* stk: CVUI2(stk) */ /* 193 */ "lit 0xff\nand\n", /* stk: CVUI4(stk) */ /* 194 */ "lit 0xffff\nand\n", /* stk: CVUI4(stk) */ /* 195 */ "\n", /* stk: CVUI4(stk) */ /* 196 */ "\n", /* stk: CVUU1(stk) */ /* 197 */ "\n", /* stk: CVUU2(stk) */ /* 198 */ "lit 0xff\nand\n", /* stk: CVUU4(stk) */ /* 199 */ "lit 0xffff\nand\n", /* stk: CVUU4(stk) */ /* 200 */ "\n", /* stk: CVUU4(stk) */ /* 201 */ "call __i2f__\n", /* stk: CVIF4(stk) */ /* 202 */ "call __f2i__\n", /* stk: CVFI4(stk) */ /* 203 */ "\n", /* stk: CVPU4(stk) */ /* 204 */ "\n", /* stk: CVUP4(stk) */ /* 205 */ "%a:\n", /* stmt: LABELV */ /* 206 */ "jump %0\n", /* stmt: JUMPV(glob) */ /* 207 */ "ijump\n", /* stmt: JUMPV(stk) */ /* 208 */ "breq %a\n", /* stmt: EQI4(stk,stk) */ /* 209 */ "breq %a\n", /* stmt: EQU4(stk,stk) */ /* 210 */ "brne %a\n", /* stmt: NEI4(stk,stk) */ /* 211 */ "brne %a\n", /* stmt: NEU4(stk,stk) */ /* 212 */ "brlt %a\n", /* stmt: GEI4(stk,stk) */ /* 213 */ "brgt %a\n", /* stmt: GTI4(stk,stk) */ /* 214 */ "brgt %a\n", /* stmt: LEI4(stk,stk) */ /* 215 */ "brlt %a\n", /* stmt: LTI4(stk,stk) */ /* 216 */ "brltu %a\n", /* stmt: GEU4(stk,stk) */ /* 217 */ "brgtu %a\n", /* stmt: GTU4(stk,stk) */ /* 218 */ "brleu %a\n", /* stmt: LEU4(stk,stk) */ /* 219 */ "brltu %a\n", /* stmt: LTU4(stk,stk) */ /* 220 */ "call __cmpf__\nbrz %a\n", /* stmt: EQF4(stk,stk) */ /* 221 */ "call __cmpf__\ntgz\nbrz %a\n", /* stmt: LEF4(stk,stk) */ /* 222 */ "call __cmpf__\ntlz\nbrnz %a\n", /* stmt: LTF4(stk,stk) */ /* 223 */ "call __cmpf__\ntlz\nbrz %a\n", /* stmt: GEF4(stk,stk) */ /* 224 */ "call __cmpf__\ntgz\nbrnz %a\n", /* stmt: GTF4(stk,stk) */ /* 225 */ "call __cmpf__\nbrnz %a\n", /* stmt: NEF4(stk,stk) */ /* 226 */ "%a", /* addr: ADDRGP4 */ /* 227 */ "%a", /* addr: CNSTP4 */ /* 228 */ "call %0\n", /* stk: CALLF4(addr) */ /* 229 */ "call %0\n", /* stk: CALLI4(addr) */ /* 230 */ "call %0\n", /* stk: CALLP4(addr) */ /* 231 */ "call %0\n", /* stk: CALLU4(addr) */ /* 232 */ "call %0\n", /* stmt: CALLV(addr) */ /* 233 */ "call %0\n", /* stmt: CALLB(addr,stk) */ /* 234 */ "icall\n", /* stk: CALLF4(stk) */ /* 235 */ "icall\n", /* stk: CALLI4(stk) */ /* 236 */ "icall\n", /* stk: CALLP4(stk) */ /* 237 */ "icall\n", /* stk: CALLU4(stk) */ /* 238 */ "icall\n", /* stmt: CALLV(stk) */ /* 239 */ "icall\n", /* stmt: CALLB(stk,stk) */ /* 240 */ "\n", /* stmt: RETF4(stk) */ /* 241 */ "\n", /* stmt: RETI4(stk) */ /* 242 */ "\n", /* stmt: RETU4(stk) */ /* 243 */ "\n", /* stmt: RETP4(stk) */ /* 244 */ "\n", /* stmt: RETV */ /* 245 */ "\n", /* stmt: ARGF4(stk) */ /* 246 */ "\n", /* stmt: ARGI4(stk) */ /* 247 */ "\n", /* stmt: ARGP4(stk) */ /* 248 */ "\n", /* stmt: ARGU4(stk) */ /* 249 */ "INDIRB???\n", /* stmt: ARGB(INDIRB(stk)) */ /* 250 */ "#\n", /* stmt: ASGNB(INDIRB(stk),stk) */ /* 251 */ "#\n", /* stmt: ASGNB(INDIRB(ADDRLP4),ADDRLP4) */ /* 252 */ "#\n", /* stmt: ASGNB(INDIRB(stk),ADDRLP4) */ /* 253 */ "#\n", /* stmt: ASGNB(INDIRB(ADDRLP4),stk) */ }; static char _isinstruction[] = { /* 0 */ 0, /* 1 */ 1, /* rot1\n */ /* 2 */ 1, /* rot2\n */ /* 3 */ 1, /* rot3\n */ /* 4 */ 1, /* rot4\n */ /* 5 */ 1, /* copy%b\n */ /* 6 */ 1, /* any\n */ /* 7 */ 1, /* \n */ /* 8 */ 1, /* \n */ /* 9 */ 1, /* \n */ /* 10 */ 1, /* \n */ /* 11 */ 1, /* \n */ /* 12 */ 1, /* \n */ /* 13 */ 1, /* \n */ /* 14 */ 1, /* \n */ /* 15 */ 1, /* #\n */ /* 16 */ 1, /* #\n */ /* 17 */ 1, /* #\n */ /* 18 */ 1, /* #\n */ /* 19 */ 1, /* #\n */ /* 20 */ 1, /* #\n */ /* 21 */ 1, /* #\n */ /* 22 */ 1, /* #\n */ /* 23 */ 1, /* #\n */ /* 24 */ 1, /* #\n */ /* 25 */ 1, /* #\n */ /* 26 */ 1, /* #\n */ /* 27 */ 1, /* #\n */ /* 28 */ 1, /* #\n */ /* 29 */ 1, /* #\n */ /* 30 */ 1, /* #\n */ /* 31 */ 1, /* #\n */ /* 32 */ 1, /* #\n */ /* 33 */ 1, /* #\n */ /* 34 */ 1, /* #\n */ /* 35 */ 1, /* #\n */ /* 36 */ 1, /* #\n */ /* 37 */ 1, /* #\n */ /* 38 */ 1, /* #\n */ /* 39 */ 1, /* #\n */ /* 40 */ 1, /* #\n */ /* 41 */ 1, /* #\n */ /* 42 */ 1, /* #\n */ /* 43 */ 1, /* #\n */ /* 44 */ 1, /* #\n */ /* 45 */ 1, /* #\n */ /* 46 */ 1, /* #\n */ /* 47 */ 1, /* rrot1; %a\n */ /* 48 */ 1, /* rrot1; %a\n */ /* 49 */ 1, /* rrot1; %a\n */ /* 50 */ 1, /* rrot1; %a\n */ /* 51 */ 1, /* rrot1; %a\n */ /* 52 */ 1, /* rrot1; %a\n */ /* 53 */ 1, /* rrot1; %a\n */ /* 54 */ 1, /* rrot1; %a\n */ /* 55 */ 1, /* rrot2; %a\n */ /* 56 */ 1, /* rrot2; %a\n */ /* 57 */ 1, /* rrot2; %a\n */ /* 58 */ 1, /* rrot2; %a\n */ /* 59 */ 1, /* rrot2; %a\n */ /* 60 */ 1, /* rrot2; %a\n */ /* 61 */ 1, /* rrot2; %a\n */ /* 62 */ 1, /* rrot2; %a\n */ /* 63 */ 1, /* rrot3; %a\n */ /* 64 */ 1, /* rrot3; %a\n */ /* 65 */ 1, /* rrot3; %a\n */ /* 66 */ 1, /* rrot3; %a\n */ /* 67 */ 1, /* rrot3; %a\n */ /* 68 */ 1, /* rrot3; %a\n */ /* 69 */ 1, /* rrot3; %a\n */ /* 70 */ 1, /* rrot3; %a\n */ /* 71 */ 1, /* rrot4; %a\n */ /* 72 */ 1, /* rrot4; %a\n */ /* 73 */ 1, /* rrot4; %a\n */ /* 74 */ 1, /* rrot4; %a\n */ /* 75 */ 1, /* rrot4; %a\n */ /* 76 */ 1, /* rrot4; %a\n */ /* 77 */ 1, /* rrot4; %a\n */ /* 78 */ 1, /* rrot4; %a\n */ /* 79 */ 1, /* \n */ /* 80 */ 1, /* \n */ /* 81 */ 1, /* \n */ /* 82 */ 1, /* \n */ /* 83 */ 1, /* \n */ /* 84 */ 1, /* \n */ /* 85 */ 1, /* \n */ /* 86 */ 1, /* \n */ /* 87 */ 1, /* #\n */ /* 88 */ 1, /* #\n */ /* 89 */ 1, /* #\n */ /* 90 */ 1, /* #\n */ /* 91 */ 0, /* */ /* 92 */ 0, /* */ /* 93 */ 0, /* */ /* 94 */ 0, /* */ /* 95 */ 0, /* */ /* 96 */ 0, /* */ /* 97 */ 0, /* */ /* 98 */ 1, /* lit %a\n */ /* 99 */ 1, /* lit %a\n */ /* 100 */ 1, /* lit %a\n */ /* 101 */ 1, /* lit %a\n */ /* 102 */ 1, /* lit %a\n */ /* 103 */ 1, /* lit %a\n */ /* 104 */ 1, /* lit %a\n */ /* 105 */ 1, /* lit %a\n */ /* 106 */ 1, /* drop\n */ /* 107 */ 0, /* %a */ /* 108 */ 0, /* # */ /* 109 */ 1, /* lit %0\n */ /* 110 */ 1, /* lit %a\n@fp\nadd\n */ /* 111 */ 1, /* !loc %1\n */ /* 112 */ 1, /* !loc %1\n */ /* 113 */ 1, /* !loc %1\n */ /* 114 */ 1, /* !loc %1\n */ /* 115 */ 1, /* !loc %1\n */ /* 116 */ 1, /* !loc %1\n */ /* 117 */ 1, /* !loc %1\n */ /* 118 */ 1, /* !loc %1\n */ /* 119 */ 1, /* !.b\n */ /* 120 */ 1, /* !.b\n */ /* 121 */ 1, /* !.w\n */ /* 122 */ 1, /* !.w\n */ /* 123 */ 1, /* ! \n */ /* 124 */ 1, /* ! \n */ /* 125 */ 1, /* ! \n */ /* 126 */ 1, /* ! \n */ /* 127 */ 1, /* @%0\n */ /* 128 */ 1, /* @%0\n */ /* 129 */ 1, /* @%0\n */ /* 130 */ 1, /* @%0\n */ /* 131 */ 1, /* @%0\n */ /* 132 */ 1, /* @%0\n */ /* 133 */ 1, /* @%0\n */ /* 134 */ 1, /* @%0\n */ /* 135 */ 1, /* @loc %0\n */ /* 136 */ 1, /* @loc %0\n */ /* 137 */ 1, /* @loc %0\n */ /* 138 */ 1, /* @loc %0\n */ /* 139 */ 1, /* @loc %0\n */ /* 140 */ 1, /* @loc %0\n */ /* 141 */ 1, /* @loc %0\n */ /* 142 */ 1, /* @loc %0\n */ /* 143 */ 1, /* @.b\n */ /* 144 */ 1, /* @.b\n */ /* 145 */ 1, /* @.w\n */ /* 146 */ 1, /* @.w\n */ /* 147 */ 1, /* @\n */ /* 148 */ 1, /* @\n */ /* 149 */ 1, /* @\n */ /* 150 */ 1, /* @\n */ /* 151 */ 1, /* mod\n */ /* 152 */ 1, /* modu\n */ /* 153 */ 1, /* mul\n */ /* 154 */ 1, /* mul\n */ /* 155 */ 1, /* div\n */ /* 156 */ 1, /* divu\n */ /* 157 */ 1, /* add\n */ /* 158 */ 1, /* add\n */ /* 159 */ 1, /* add\n */ /* 160 */ 1, /* and\n */ /* 161 */ 1, /* or\n */ /* 162 */ 1, /* xor\n */ /* 163 */ 1, /* and\n */ /* 164 */ 1, /* or\n */ /* 165 */ 1, /* xor\n */ /* 166 */ 1, /* sub\n */ /* 167 */ 1, /* sub\n */ /* 168 */ 1, /* sub\n */ /* 169 */ 1, /* shl\n */ /* 170 */ 1, /* shl\n */ /* 171 */ 1, /* bshl\n */ /* 172 */ 1, /* bshl\n */ /* 173 */ 1, /* basr\n */ /* 174 */ 1, /* blsr\n */ /* 175 */ 1, /* inv\n */ /* 176 */ 1, /* inv\n */ /* 177 */ 1, /* neg\n */ /* 178 */ 1, /* fadd\n */ /* 179 */ 1, /* fdiv\n */ /* 180 */ 1, /* fmul\n */ /* 181 */ 1, /* fsub\n */ /* 182 */ 1, /* fneg\n */ /* 183 */ 1, /* \n */ /* 184 */ 1, /* \n */ /* 185 */ 1, /* \n */ /* 186 */ 1, /* \n */ /* 187 */ 1, /* \n */ /* 188 */ 1, /* lit 0xff\nand\n */ /* 189 */ 1, /* lit 0xffff\nand\n */ /* 190 */ 1, /* \n */ /* 191 */ 1, /* \n */ /* 192 */ 1, /* \n */ /* 193 */ 1, /* lit 0xff\nand\n */ /* 194 */ 1, /* lit 0xffff\nand\n */ /* 195 */ 1, /* \n */ /* 196 */ 1, /* \n */ /* 197 */ 1, /* \n */ /* 198 */ 1, /* lit 0xff\nand\n */ /* 199 */ 1, /* lit 0xffff\nand\n */ /* 200 */ 1, /* \n */ /* 201 */ 1, /* call __i2f__\n */ /* 202 */ 1, /* call __f2i__\n */ /* 203 */ 1, /* \n */ /* 204 */ 1, /* \n */ /* 205 */ 1, /* %a:\n */ /* 206 */ 1, /* jump %0\n */ /* 207 */ 1, /* ijump\n */ /* 208 */ 1, /* breq %a\n */ /* 209 */ 1, /* breq %a\n */ /* 210 */ 1, /* brne %a\n */ /* 211 */ 1, /* brne %a\n */ /* 212 */ 1, /* brlt %a\n */ /* 213 */ 1, /* brgt %a\n */ /* 214 */ 1, /* brgt %a\n */ /* 215 */ 1, /* brlt %a\n */ /* 216 */ 1, /* brltu %a\n */ /* 217 */ 1, /* brgtu %a\n */ /* 218 */ 1, /* brleu %a\n */ /* 219 */ 1, /* brltu %a\n */ /* 220 */ 1, /* call __cmpf__\nbrz %a\n */ /* 221 */ 1, /* call __cmpf__\ntgz\nbrz %a\n */ /* 222 */ 1, /* call __cmpf__\ntlz\nbrnz %a\n */ /* 223 */ 1, /* call __cmpf__\ntlz\nbrz %a\n */ /* 224 */ 1, /* call __cmpf__\ntgz\nbrnz %a\n */ /* 225 */ 1, /* call __cmpf__\nbrnz %a\n */ /* 226 */ 0, /* %a */ /* 227 */ 0, /* %a */ /* 228 */ 1, /* call %0\n */ /* 229 */ 1, /* call %0\n */ /* 230 */ 1, /* call %0\n */ /* 231 */ 1, /* call %0\n */ /* 232 */ 1, /* call %0\n */ /* 233 */ 1, /* call %0\n */ /* 234 */ 1, /* icall\n */ /* 235 */ 1, /* icall\n */ /* 236 */ 1, /* icall\n */ /* 237 */ 1, /* icall\n */ /* 238 */ 1, /* icall\n */ /* 239 */ 1, /* icall\n */ /* 240 */ 1, /* \n */ /* 241 */ 1, /* \n */ /* 242 */ 1, /* \n */ /* 243 */ 1, /* \n */ /* 244 */ 1, /* \n */ /* 245 */ 1, /* \n */ /* 246 */ 1, /* \n */ /* 247 */ 1, /* \n */ /* 248 */ 1, /* \n */ /* 249 */ 1, /* INDIRB???\n */ /* 250 */ 1, /* #\n */ /* 251 */ 1, /* #\n */ /* 252 */ 1, /* #\n */ /* 253 */ 1, /* #\n */ }; static char *_string[] = { /* 0 */ 0, /* 1 */ "sread: STACKP", /* 2 */ "sread: STACKP", /* 3 */ "sread: STACKP", /* 4 */ "sread: STACKP", /* 5 */ "sread: COPYP", /* 6 */ "sread: COPYP", /* 7 */ "stk: INDIRI1(sread)", /* 8 */ "stk: INDIRU1(sread)", /* 9 */ "stk: INDIRI2(sread)", /* 10 */ "stk: INDIRU2(sread)", /* 11 */ "stk: INDIRF4(sread)", /* 12 */ "stk: INDIRI4(sread)", /* 13 */ "stk: INDIRP4(sread)", /* 14 */ "stk: INDIRU4(sread)", /* 15 */ "stk: TUCKI1(stk)", /* 16 */ "stk: TUCKU1(stk)", /* 17 */ "stk: TUCKI2(stk)", /* 18 */ "stk: TUCKU2(stk)", /* 19 */ "stk: TUCKI4(stk)", /* 20 */ "stk: TUCKU4(stk)", /* 21 */ "stk: TUCKF4(stk)", /* 22 */ "stk: TUCKP4(stk)", /* 23 */ "stk: TUCKI1(stk)", /* 24 */ "stk: TUCKU1(stk)", /* 25 */ "stk: TUCKI2(stk)", /* 26 */ "stk: TUCKU2(stk)", /* 27 */ "stk: TUCKI4(stk)", /* 28 */ "stk: TUCKU4(stk)", /* 29 */ "stk: TUCKF4(stk)", /* 30 */ "stk: TUCKP4(stk)", /* 31 */ "stk: TUCKI1(stk)", /* 32 */ "stk: TUCKU1(stk)", /* 33 */ "stk: TUCKI2(stk)", /* 34 */ "stk: TUCKU2(stk)", /* 35 */ "stk: TUCKI4(stk)", /* 36 */ "stk: TUCKU4(stk)", /* 37 */ "stk: TUCKF4(stk)", /* 38 */ "stk: TUCKP4(stk)", /* 39 */ "stk: TUCKI1(stk)", /* 40 */ "stk: TUCKU1(stk)", /* 41 */ "stk: TUCKI2(stk)", /* 42 */ "stk: TUCKU2(stk)", /* 43 */ "stk: TUCKI4(stk)", /* 44 */ "stk: TUCKU4(stk)", /* 45 */ "stk: TUCKF4(stk)", /* 46 */ "stk: TUCKP4(stk)", /* 47 */ "stmt: TUCKI1(stk)", /* 48 */ "stmt: TUCKU1(stk)", /* 49 */ "stmt: TUCKI2(stk)", /* 50 */ "stmt: TUCKU2(stk)", /* 51 */ "stmt: TUCKI4(stk)", /* 52 */ "stmt: TUCKU4(stk)", /* 53 */ "stmt: TUCKF4(stk)", /* 54 */ "stmt: TUCKP4(stk)", /* 55 */ "stmt: TUCKI1(stk)", /* 56 */ "stmt: TUCKU1(stk)", /* 57 */ "stmt: TUCKI2(stk)", /* 58 */ "stmt: TUCKU2(stk)", /* 59 */ "stmt: TUCKI4(stk)", /* 60 */ "stmt: TUCKU4(stk)", /* 61 */ "stmt: TUCKF4(stk)", /* 62 */ "stmt: TUCKP4(stk)", /* 63 */ "stmt: TUCKI1(stk)", /* 64 */ "stmt: TUCKU1(stk)", /* 65 */ "stmt: TUCKI2(stk)", /* 66 */ "stmt: TUCKU2(stk)", /* 67 */ "stmt: TUCKI4(stk)", /* 68 */ "stmt: TUCKU4(stk)", /* 69 */ "stmt: TUCKF4(stk)", /* 70 */ "stmt: TUCKP4(stk)", /* 71 */ "stmt: TUCKI1(stk)", /* 72 */ "stmt: TUCKU1(stk)", /* 73 */ "stmt: TUCKI2(stk)", /* 74 */ "stmt: TUCKU2(stk)", /* 75 */ "stmt: TUCKI4(stk)", /* 76 */ "stmt: TUCKU4(stk)", /* 77 */ "stmt: TUCKF4(stk)", /* 78 */ "stmt: TUCKP4(stk)", /* 79 */ "stmt: ASGNI1(stk,var)", /* 80 */ "stmt: ASGNU1(stk,var)", /* 81 */ "stmt: ASGNI2(stk,var)", /* 82 */ "stmt: ASGNU2(stk,var)", /* 83 */ "stmt: ASGNF4(stk,var)", /* 84 */ "stmt: ASGNI4(stk,var)", /* 85 */ "stmt: ASGNP4(stk,var)", /* 86 */ "stmt: ASGNU4(stk,var)", /* 87 */ "var: STACKP", /* 88 */ "var: STACKP", /* 89 */ "var: STACKP", /* 90 */ "var: STACKP", /* 91 */ "cnst1: CNSTI1", /* 92 */ "cnst1: CNSTI2", /* 93 */ "cnst1: CNSTI4", /* 94 */ "cnst1: CNSTU1", /* 95 */ "cnst1: CNSTU2", /* 96 */ "cnst1: CNSTU4", /* 97 */ "cnst1: CNSTP4", /* 98 */ "stk: CNSTI1", /* 99 */ "stk: CNSTI2", /* 100 */ "stk: CNSTI4", /* 101 */ "stk: CNSTF4", /* 102 */ "stk: CNSTU1", /* 103 */ "stk: CNSTU2", /* 104 */ "stk: CNSTU4", /* 105 */ "stk: CNSTP4", /* 106 */ "stmt: stk", /* 107 */ "glob: ADDRGP4", /* 108 */ "local: ADDRLP4", /* 109 */ "stk: glob", /* 110 */ "stk: ADDRLP4", /* 111 */ "stmt: ASGNI1(stk,local)", /* 112 */ "stmt: ASGNU1(stk,local)", /* 113 */ "stmt: ASGNI2(stk,local)", /* 114 */ "stmt: ASGNU2(stk,local)", /* 115 */ "stmt: ASGNI4(stk,local)", /* 116 */ "stmt: ASGNU4(stk,local)", /* 117 */ "stmt: ASGNF4(stk,local)", /* 118 */ "stmt: ASGNP4(stk,local)", /* 119 */ "stmt: ASGNI1(stk,stk)", /* 120 */ "stmt: ASGNU1(stk,stk)", /* 121 */ "stmt: ASGNI2(stk,stk)", /* 122 */ "stmt: ASGNU2(stk,stk)", /* 123 */ "stmt: ASGNI4(stk,stk)", /* 124 */ "stmt: ASGNU4(stk,stk)", /* 125 */ "stmt: ASGNP4(stk,stk)", /* 126 */ "stmt: ASGNF4(stk,stk)", /* 127 */ "stk: INDIRI1(glob)", /* 128 */ "stk: INDIRU1(glob)", /* 129 */ "stk: INDIRI2(glob)", /* 130 */ "stk: INDIRU2(glob)", /* 131 */ "stk: INDIRP4(glob)", /* 132 */ "stk: INDIRI4(glob)", /* 133 */ "stk: INDIRU4(glob)", /* 134 */ "stk: INDIRF4(glob)", /* 135 */ "stk: INDIRI1(local)", /* 136 */ "stk: INDIRU1(local)", /* 137 */ "stk: INDIRI2(local)", /* 138 */ "stk: INDIRU2(local)", /* 139 */ "stk: INDIRP4(local)", /* 140 */ "stk: INDIRI4(local)", /* 141 */ "stk: INDIRU4(local)", /* 142 */ "stk: INDIRF4(local)", /* 143 */ "stk: INDIRI1(stk)", /* 144 */ "stk: INDIRU1(stk)", /* 145 */ "stk: INDIRI2(stk)", /* 146 */ "stk: INDIRU2(stk)", /* 147 */ "stk: INDIRI4(stk)", /* 148 */ "stk: INDIRU4(stk)", /* 149 */ "stk: INDIRP4(stk)", /* 150 */ "stk: INDIRF4(stk)", /* 151 */ "stk: MODI4(stk,stk)", /* 152 */ "stk: MODU4(stk,stk)", /* 153 */ "stk: MULI4(stk,stk)", /* 154 */ "stk: MULU4(stk,stk)", /* 155 */ "stk: DIVI4(stk,stk)", /* 156 */ "stk: DIVU4(stk,stk)", /* 157 */ "stk: ADDI4(stk,stk)", /* 158 */ "stk: ADDP4(stk,stk)", /* 159 */ "stk: ADDU4(stk,stk)", /* 160 */ "stk: BANDI4(stk,stk)", /* 161 */ "stk: BORI4(stk,stk)", /* 162 */ "stk: BXORI4(stk,stk)", /* 163 */ "stk: BANDU4(stk,stk)", /* 164 */ "stk: BORU4(stk,stk)", /* 165 */ "stk: BXORU4(stk,stk)", /* 166 */ "stk: SUBI4(stk,stk)", /* 167 */ "stk: SUBP4(stk,stk)", /* 168 */ "stk: SUBU4(stk,stk)", /* 169 */ "stk: LSHI4(stk,cnst1)", /* 170 */ "stk: LSHU4(stk,cnst1)", /* 171 */ "stk: LSHI4(stk,stk)", /* 172 */ "stk: LSHU4(stk,stk)", /* 173 */ "stk: RSHI4(stk,stk)", /* 174 */ "stk: RSHU4(stk,stk)", /* 175 */ "stk: BCOMI4(stk)", /* 176 */ "stk: BCOMU4(stk)", /* 177 */ "stk: NEGI4(stk)", /* 178 */ "stk: ADDF4(stk,stk)", /* 179 */ "stk: DIVF4(stk,stk)", /* 180 */ "stk: MULF4(stk,stk)", /* 181 */ "stk: SUBF4(stk,stk)", /* 182 */ "stk: NEGF4(stk)", /* 183 */ "stk: CVII1(stk)", /* 184 */ "stk: CVII2(stk)", /* 185 */ "stk: CVII4(stk)", /* 186 */ "stk: CVIU1(stk)", /* 187 */ "stk: CVIU2(stk)", /* 188 */ "stk: CVIU4(stk)", /* 189 */ "stk: CVIU4(stk)", /* 190 */ "stk: CVIU4(stk)", /* 191 */ "stk: CVUI1(stk)", /* 192 */ "stk: CVUI2(stk)", /* 193 */ "stk: CVUI4(stk)", /* 194 */ "stk: CVUI4(stk)", /* 195 */ "stk: CVUI4(stk)", /* 196 */ "stk: CVUU1(stk)", /* 197 */ "stk: CVUU2(stk)", /* 198 */ "stk: CVUU4(stk)", /* 199 */ "stk: CVUU4(stk)", /* 200 */ "stk: CVUU4(stk)", /* 201 */ "stk: CVIF4(stk)", /* 202 */ "stk: CVFI4(stk)", /* 203 */ "stk: CVPU4(stk)", /* 204 */ "stk: CVUP4(stk)", /* 205 */ "stmt: LABELV", /* 206 */ "stmt: JUMPV(glob)", /* 207 */ "stmt: JUMPV(stk)", /* 208 */ "stmt: EQI4(stk,stk)", /* 209 */ "stmt: EQU4(stk,stk)", /* 210 */ "stmt: NEI4(stk,stk)", /* 211 */ "stmt: NEU4(stk,stk)", /* 212 */ "stmt: GEI4(stk,stk)", /* 213 */ "stmt: GTI4(stk,stk)", /* 214 */ "stmt: LEI4(stk,stk)", /* 215 */ "stmt: LTI4(stk,stk)", /* 216 */ "stmt: GEU4(stk,stk)", /* 217 */ "stmt: GTU4(stk,stk)", /* 218 */ "stmt: LEU4(stk,stk)", /* 219 */ "stmt: LTU4(stk,stk)", /* 220 */ "stmt: EQF4(stk,stk)", /* 221 */ "stmt: LEF4(stk,stk)", /* 222 */ "stmt: LTF4(stk,stk)", /* 223 */ "stmt: GEF4(stk,stk)", /* 224 */ "stmt: GTF4(stk,stk)", /* 225 */ "stmt: NEF4(stk,stk)", /* 226 */ "addr: ADDRGP4", /* 227 */ "addr: CNSTP4", /* 228 */ "stk: CALLF4(addr)", /* 229 */ "stk: CALLI4(addr)", /* 230 */ "stk: CALLP4(addr)", /* 231 */ "stk: CALLU4(addr)", /* 232 */ "stmt: CALLV(addr)", /* 233 */ "stmt: CALLB(addr,stk)", /* 234 */ "stk: CALLF4(stk)", /* 235 */ "stk: CALLI4(stk)", /* 236 */ "stk: CALLP4(stk)", /* 237 */ "stk: CALLU4(stk)", /* 238 */ "stmt: CALLV(stk)", /* 239 */ "stmt: CALLB(stk,stk)", /* 240 */ "stmt: RETF4(stk)", /* 241 */ "stmt: RETI4(stk)", /* 242 */ "stmt: RETU4(stk)", /* 243 */ "stmt: RETP4(stk)", /* 244 */ "stmt: RETV", /* 245 */ "stmt: ARGF4(stk)", /* 246 */ "stmt: ARGI4(stk)", /* 247 */ "stmt: ARGP4(stk)", /* 248 */ "stmt: ARGU4(stk)", /* 249 */ "stmt: ARGB(INDIRB(stk))", /* 250 */ "stmt: ASGNB(INDIRB(stk),stk)", /* 251 */ "stmt: ASGNB(INDIRB(ADDRLP4),ADDRLP4)", /* 252 */ "stmt: ASGNB(INDIRB(stk),ADDRLP4)", /* 253 */ "stmt: ASGNB(INDIRB(ADDRLP4),stk)", }; static short _decode_stmt[] = { 0, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 106, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 232, 233, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, }; static short _decode_sread[] = { 0, 1, 2, 3, 4, 5, 6, }; static short _decode_stk[] = { 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 98, 99, 100, 101, 102, 103, 104, 105, 109, 110, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 228, 229, 230, 231, 234, 235, 236, 237, }; static short _decode_var[] = { 0, 87, 88, 89, 90, }; static short _decode_cnst1[] = { 0, 91, 92, 93, 94, 95, 96, 97, }; static short _decode_glob[] = { 0, 107, }; static short _decode_local[] = { 0, 108, }; static short _decode_addr[] = { 0, 226, 227, }; static int _rule(void *state, int goalnt) { if (goalnt < 1 || goalnt > 8) fatal("_rule", "Bad goal nonterminal %d\n", goalnt); if (!state) return 0; switch (goalnt) { case _stmt_NT: return _decode_stmt[((struct _state *)state)->rule._stmt]; case _sread_NT: return _decode_sread[((struct _state *)state)->rule._sread]; case _stk_NT: return _decode_stk[((struct _state *)state)->rule._stk]; case _var_NT: return _decode_var[((struct _state *)state)->rule._var]; case _cnst1_NT: return _decode_cnst1[((struct _state *)state)->rule._cnst1]; case _glob_NT: return _decode_glob[((struct _state *)state)->rule._glob]; case _local_NT: return _decode_local[((struct _state *)state)->rule._local]; case _addr_NT: return _decode_addr[((struct _state *)state)->rule._addr]; default: fatal("_rule", "Bad goal nonterminal %d\n", goalnt); return 0; } } static void _closure_stk(NODEPTR_TYPE, int); static void _closure_glob(NODEPTR_TYPE, int); static void _closure_stk(NODEPTR_TYPE a, int c) { struct _state *p = STATE_LABEL(a); if (c + 1 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 1; p->rule._stmt = 41; } } static void _closure_glob(NODEPTR_TYPE a, int c) { struct _state *p = STATE_LABEL(a); if (c + 2 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 2; p->rule._stk = 49; _closure_stk(a, c + 2); } } static void _label(NODEPTR_TYPE a) { int c; struct _state *p; if (!a) fatal("_label", "Null tree\n", 0); STATE_LABEL(a) = p = allocate(sizeof *p, FUNC); p->rule._stmt = 0; p->cost[1] = p->cost[2] = p->cost[3] = p->cost[4] = p->cost[5] = p->cost[6] = p->cost[7] = p->cost[8] = 0x7fff; switch (OP_LABEL(a)) { case 41: /* ARGB */ _label(LEFT_CHILD(a)); if ( /* stmt: ARGB(INDIRB(stk)) */ LEFT_CHILD(a)->op == 73 /* INDIRB */ ) { c = ((struct _state *)(LEFT_CHILD(LEFT_CHILD(a))->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 92; } } break; case 57: /* ASGNB */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); if ( /* stmt: ASGNB(INDIRB(stk),stk) */ LEFT_CHILD(a)->op == 73 /* INDIRB */ ) { c = ((struct _state *)(LEFT_CHILD(LEFT_CHILD(a))->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 93; } } if ( /* stmt: ASGNB(INDIRB(ADDRLP4),ADDRLP4) */ LEFT_CHILD(a)->op == 73 && /* INDIRB */ LEFT_CHILD(LEFT_CHILD(a))->op == 4391 && /* ADDRLP4 */ RIGHT_CHILD(a)->op == 4391 /* ADDRLP4 */ ) { c = 10; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 94; } } if ( /* stmt: ASGNB(INDIRB(stk),ADDRLP4) */ LEFT_CHILD(a)->op == 73 && /* INDIRB */ RIGHT_CHILD(a)->op == 4391 /* ADDRLP4 */ ) { c = ((struct _state *)(LEFT_CHILD(LEFT_CHILD(a))->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 95; } } if ( /* stmt: ASGNB(INDIRB(ADDRLP4),stk) */ LEFT_CHILD(a)->op == 73 && /* INDIRB */ LEFT_CHILD(LEFT_CHILD(a))->op == 4391 /* ADDRLP4 */ ) { c = ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 96; } } break; case 73: /* INDIRB */ _label(LEFT_CHILD(a)); break; case 216: /* CALLV */ _label(LEFT_CHILD(a)); /* stmt: CALLV(addr) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + 4; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 79; } /* stmt: CALLV(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 81; } break; case 217: /* CALLB */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: CALLB(addr,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 4; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 80; } /* stmt: CALLB(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 82; } break; case 248: /* RETV */ /* stmt: RETV */ if (1 + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = 1 + 0; p->rule._stmt = 87; } break; case 437: /* ADDRFP4 */ break; case 584: /* JUMPV */ _label(LEFT_CHILD(a)); /* stmt: JUMPV(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 59; } /* stmt: JUMPV(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 60; } break; case 600: /* LABELV */ /* stmt: LABELV */ if (0 + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = 0 + 0; p->rule._stmt = 58; } break; case 727: /* STACKP */ /* sread: STACKP */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 1; } /* sread: STACKP */ c = (range(a, 2, 2)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 2; } /* sread: STACKP */ c = (range(a, 3, 3)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 3; } /* sread: STACKP */ c = (range(a, 4, 4)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 4; } /* var: STACKP */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_var_NT]) { p->cost[_var_NT] = c + 0; p->rule._var = 1; } /* var: STACKP */ c = (range(a, 2, 2)+1); if (c + 0 < p->cost[_var_NT]) { p->cost[_var_NT] = c + 0; p->rule._var = 2; } /* var: STACKP */ c = (range(a, 3, 3)+1); if (c + 0 < p->cost[_var_NT]) { p->cost[_var_NT] = c + 0; p->rule._var = 3; } /* var: STACKP */ c = (range(a, 4, 4)+1); if (c + 0 < p->cost[_var_NT]) { p->cost[_var_NT] = c + 0; p->rule._var = 4; } break; case 759: /* COPYP */ /* sread: COPYP */ c = (range(a, 1, 4)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 5; } /* sread: COPYP */ c = (range(a, 0, 0)); if (c + 0 < p->cost[_sread_NT]) { p->cost[_sread_NT] = c + 0; p->rule._sread = 6; } break; case 1045: /* CNSTI1 */ /* cnst1: CNSTI1 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 1; } /* stk: CNSTI1 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 41; _closure_stk(a, 3 + 0); } break; case 1046: /* CNSTU1 */ /* cnst1: CNSTU1 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 4; } /* stk: CNSTU1 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 45; _closure_stk(a, 3 + 0); } break; case 1077: /* ASGNI1 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNI1(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 33; } /* stmt: ASGNI1(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 42; } /* stmt: ASGNI1(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 50; } break; case 1078: /* ASGNU1 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNU1(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 34; } /* stmt: ASGNU1(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 43; } /* stmt: ASGNU1(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 51; } break; case 1093: /* INDIRI1 */ _label(LEFT_CHILD(a)); /* stk: INDIRI1(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 1; _closure_stk(a, c + 0); } /* stk: INDIRI1(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 51; _closure_stk(a, c + 0); } /* stk: INDIRI1(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 59; _closure_stk(a, c + 0); } /* stk: INDIRI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 67; _closure_stk(a, c + 0); } break; case 1094: /* INDIRU1 */ _label(LEFT_CHILD(a)); /* stk: INDIRU1(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 2; _closure_stk(a, c + 0); } /* stk: INDIRU1(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 52; _closure_stk(a, c + 0); } /* stk: INDIRU1(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 60; _closure_stk(a, c + 0); } /* stk: INDIRU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 68; _closure_stk(a, c + 0); } break; case 1157: /* CVII1 */ _label(LEFT_CHILD(a)); /* stk: CVII1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 107; _closure_stk(a, c + 0); } break; case 1158: /* CVIU1 */ _label(LEFT_CHILD(a)); /* stk: CVIU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 110; _closure_stk(a, c + 0); } break; case 1205: /* CVUI1 */ _label(LEFT_CHILD(a)); /* stk: CVUI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 115; _closure_stk(a, c + 0); } break; case 1206: /* CVUU1 */ _label(LEFT_CHILD(a)); /* stk: CVUU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 120; _closure_stk(a, c + 0); } break; case 1765: /* TUCKI1 */ _label(LEFT_CHILD(a)); /* stk: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 9; _closure_stk(a, c + 0); } /* stk: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 17; _closure_stk(a, c + 0); } /* stk: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 25; _closure_stk(a, c + 0); } /* stk: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 33; _closure_stk(a, c + 0); } /* stmt: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 1; } /* stmt: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 9; } /* stmt: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 17; } /* stmt: TUCKI1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 25; } break; case 1766: /* TUCKU1 */ _label(LEFT_CHILD(a)); /* stk: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 10; _closure_stk(a, c + 0); } /* stk: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 18; _closure_stk(a, c + 0); } /* stk: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 26; _closure_stk(a, c + 0); } /* stk: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 34; _closure_stk(a, c + 0); } /* stmt: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 2; } /* stmt: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 10; } /* stmt: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 18; } /* stmt: TUCKU1(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 26; } break; case 2069: /* CNSTI2 */ /* cnst1: CNSTI2 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 2; } /* stk: CNSTI2 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 42; _closure_stk(a, 3 + 0); } break; case 2070: /* CNSTU2 */ /* cnst1: CNSTU2 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 5; } /* stk: CNSTU2 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 46; _closure_stk(a, 3 + 0); } break; case 2101: /* ASGNI2 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNI2(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 35; } /* stmt: ASGNI2(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 44; } /* stmt: ASGNI2(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 52; } break; case 2102: /* ASGNU2 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNU2(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 36; } /* stmt: ASGNU2(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 45; } /* stmt: ASGNU2(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 53; } break; case 2117: /* INDIRI2 */ _label(LEFT_CHILD(a)); /* stk: INDIRI2(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 3; _closure_stk(a, c + 0); } /* stk: INDIRI2(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 53; _closure_stk(a, c + 0); } /* stk: INDIRI2(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 61; _closure_stk(a, c + 0); } /* stk: INDIRI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 69; _closure_stk(a, c + 0); } break; case 2118: /* INDIRU2 */ _label(LEFT_CHILD(a)); /* stk: INDIRU2(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 4; _closure_stk(a, c + 0); } /* stk: INDIRU2(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 54; _closure_stk(a, c + 0); } /* stk: INDIRU2(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 62; _closure_stk(a, c + 0); } /* stk: INDIRU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 70; _closure_stk(a, c + 0); } break; case 2181: /* CVII2 */ _label(LEFT_CHILD(a)); /* stk: CVII2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 108; _closure_stk(a, c + 0); } break; case 2182: /* CVIU2 */ _label(LEFT_CHILD(a)); /* stk: CVIU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 111; _closure_stk(a, c + 0); } break; case 2229: /* CVUI2 */ _label(LEFT_CHILD(a)); /* stk: CVUI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 116; _closure_stk(a, c + 0); } break; case 2230: /* CVUU2 */ _label(LEFT_CHILD(a)); /* stk: CVUU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 121; _closure_stk(a, c + 0); } break; case 2789: /* TUCKI2 */ _label(LEFT_CHILD(a)); /* stk: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 11; _closure_stk(a, c + 0); } /* stk: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 19; _closure_stk(a, c + 0); } /* stk: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 27; _closure_stk(a, c + 0); } /* stk: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 35; _closure_stk(a, c + 0); } /* stmt: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 3; } /* stmt: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 11; } /* stmt: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 19; } /* stmt: TUCKI2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 27; } break; case 2790: /* TUCKU2 */ _label(LEFT_CHILD(a)); /* stk: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 12; _closure_stk(a, c + 0); } /* stk: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 20; _closure_stk(a, c + 0); } /* stk: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 28; _closure_stk(a, c + 0); } /* stk: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 36; _closure_stk(a, c + 0); } /* stmt: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 4; } /* stmt: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 12; } /* stmt: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 20; } /* stmt: TUCKU2(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 28; } break; case 4113: /* CNSTF4 */ /* stk: CNSTF4 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 44; _closure_stk(a, 3 + 0); } break; case 4117: /* CNSTI4 */ /* cnst1: CNSTI4 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 3; } /* stk: CNSTI4 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 43; _closure_stk(a, 3 + 0); } break; case 4118: /* CNSTU4 */ /* cnst1: CNSTU4 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 6; } /* stk: CNSTU4 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 47; _closure_stk(a, 3 + 0); } break; case 4119: /* CNSTP4 */ /* cnst1: CNSTP4 */ c = (range(a, 1, 1)); if (c + 0 < p->cost[_cnst1_NT]) { p->cost[_cnst1_NT] = c + 0; p->rule._cnst1 = 7; } /* stk: CNSTP4 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 48; _closure_stk(a, 3 + 0); } /* addr: CNSTP4 */ if (0 + 0 < p->cost[_addr_NT]) { p->cost[_addr_NT] = 0 + 0; p->rule._addr = 2; } break; case 4129: /* ARGF4 */ _label(LEFT_CHILD(a)); /* stmt: ARGF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 88; } break; case 4133: /* ARGI4 */ _label(LEFT_CHILD(a)); /* stmt: ARGI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 89; } break; case 4134: /* ARGU4 */ _label(LEFT_CHILD(a)); /* stmt: ARGU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 91; } break; case 4135: /* ARGP4 */ _label(LEFT_CHILD(a)); /* stmt: ARGP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 90; } break; case 4145: /* ASGNF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNF4(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 37; } /* stmt: ASGNF4(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 48; } /* stmt: ASGNF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 57; } break; case 4149: /* ASGNI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNI4(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 38; } /* stmt: ASGNI4(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 46; } /* stmt: ASGNI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 54; } break; case 4150: /* ASGNU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNU4(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 40; } /* stmt: ASGNU4(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 47; } /* stmt: ASGNU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 55; } break; case 4151: /* ASGNP4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: ASGNP4(stk,var) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_var_NT] + 0; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 39; } /* stmt: ASGNP4(stk,local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 49; } /* stmt: ASGNP4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 56; } break; case 4161: /* INDIRF4 */ _label(LEFT_CHILD(a)); /* stk: INDIRF4(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 5; _closure_stk(a, c + 0); } /* stk: INDIRF4(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 58; _closure_stk(a, c + 0); } /* stk: INDIRF4(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 66; _closure_stk(a, c + 0); } /* stk: INDIRF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 74; _closure_stk(a, c + 0); } break; case 4165: /* INDIRI4 */ _label(LEFT_CHILD(a)); /* stk: INDIRI4(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 6; _closure_stk(a, c + 0); } /* stk: INDIRI4(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 56; _closure_stk(a, c + 0); } /* stk: INDIRI4(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 64; _closure_stk(a, c + 0); } /* stk: INDIRI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 71; _closure_stk(a, c + 0); } break; case 4166: /* INDIRU4 */ _label(LEFT_CHILD(a)); /* stk: INDIRU4(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 8; _closure_stk(a, c + 0); } /* stk: INDIRU4(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 57; _closure_stk(a, c + 0); } /* stk: INDIRU4(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 65; _closure_stk(a, c + 0); } /* stk: INDIRU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 72; _closure_stk(a, c + 0); } break; case 4167: /* INDIRP4 */ _label(LEFT_CHILD(a)); /* stk: INDIRP4(sread) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_sread_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 7; _closure_stk(a, c + 0); } /* stk: INDIRP4(glob) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_glob_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 55; _closure_stk(a, c + 0); } /* stk: INDIRP4(local) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_local_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 63; _closure_stk(a, c + 0); } /* stk: INDIRP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 73; _closure_stk(a, c + 0); } break; case 4209: /* CVFF4 */ break; case 4213: /* CVFI4 */ _label(LEFT_CHILD(a)); /* stk: CVFI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 20; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 126; _closure_stk(a, c + 0); } break; case 4225: /* CVIF4 */ _label(LEFT_CHILD(a)); /* stk: CVIF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 125; _closure_stk(a, c + 0); } break; case 4229: /* CVII4 */ _label(LEFT_CHILD(a)); /* stk: CVII4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 109; _closure_stk(a, c + 0); } break; case 4230: /* CVIU4 */ _label(LEFT_CHILD(a)); /* stk: CVIU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==1?4:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 112; _closure_stk(a, c + 0); } /* stk: CVIU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==2?4:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 113; _closure_stk(a, c + 0); } /* stk: CVIU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==4?0:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 114; _closure_stk(a, c + 0); } break; case 4246: /* CVPU4 */ _label(LEFT_CHILD(a)); /* stk: CVPU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 127; _closure_stk(a, c + 0); } break; case 4277: /* CVUI4 */ _label(LEFT_CHILD(a)); /* stk: CVUI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==1?2:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 117; _closure_stk(a, c + 0); } /* stk: CVUI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==2?2:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 118; _closure_stk(a, c + 0); } /* stk: CVUI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==4?0:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 119; _closure_stk(a, c + 0); } break; case 4278: /* CVUU4 */ _label(LEFT_CHILD(a)); /* stk: CVUU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==1?2:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 122; _closure_stk(a, c + 0); } /* stk: CVUU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==2?2:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 123; _closure_stk(a, c + 0); } /* stk: CVUU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((a->syms[0]->u.c.v.i==4?0:LBURG_MAX)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 124; _closure_stk(a, c + 0); } break; case 4279: /* CVUP4 */ _label(LEFT_CHILD(a)); /* stk: CVUP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 0; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 128; _closure_stk(a, c + 0); } break; case 4289: /* NEGF4 */ _label(LEFT_CHILD(a)); /* stk: NEGF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 6; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 106; _closure_stk(a, c + 0); } break; case 4293: /* NEGI4 */ _label(LEFT_CHILD(a)); /* stk: NEGI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 101; _closure_stk(a, c + 0); } break; case 4305: /* CALLF4 */ _label(LEFT_CHILD(a)); /* stk: CALLF4(addr) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + 4; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 129; _closure_stk(a, c + 0); } /* stk: CALLF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 133; _closure_stk(a, c + 0); } break; case 4309: /* CALLI4 */ _label(LEFT_CHILD(a)); /* stk: CALLI4(addr) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + 4; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 130; _closure_stk(a, c + 0); } /* stk: CALLI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 134; _closure_stk(a, c + 0); } break; case 4310: /* CALLU4 */ _label(LEFT_CHILD(a)); /* stk: CALLU4(addr) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + 4; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 132; _closure_stk(a, c + 0); } /* stk: CALLU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 136; _closure_stk(a, c + 0); } break; case 4311: /* CALLP4 */ _label(LEFT_CHILD(a)); /* stk: CALLP4(addr) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_addr_NT] + 4; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 131; _closure_stk(a, c + 0); } /* stk: CALLP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 3; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 135; _closure_stk(a, c + 0); } break; case 4337: /* RETF4 */ _label(LEFT_CHILD(a)); /* stmt: RETF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 83; } break; case 4341: /* RETI4 */ _label(LEFT_CHILD(a)); /* stmt: RETI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 84; } break; case 4342: /* RETU4 */ _label(LEFT_CHILD(a)); /* stmt: RETU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 85; } break; case 4343: /* RETP4 */ _label(LEFT_CHILD(a)); /* stmt: RETP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 86; } break; case 4359: /* ADDRGP4 */ /* glob: ADDRGP4 */ if (0 + 0 < p->cost[_glob_NT]) { p->cost[_glob_NT] = 0 + 0; p->rule._glob = 1; _closure_glob(a, 0 + 0); } /* addr: ADDRGP4 */ if (0 + 0 < p->cost[_addr_NT]) { p->cost[_addr_NT] = 0 + 0; p->rule._addr = 1; } break; case 4391: /* ADDRLP4 */ /* local: ADDRLP4 */ if (0 + 0 < p->cost[_local_NT]) { p->cost[_local_NT] = 0 + 0; p->rule._local = 1; } /* stk: ADDRLP4 */ if (3 + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = 3 + 0; p->rule._stk = 50; _closure_stk(a, 3 + 0); } break; case 4401: /* ADDF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: ADDF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 15; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 102; _closure_stk(a, c + 0); } break; case 4405: /* ADDI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: ADDI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 81; _closure_stk(a, c + 0); } break; case 4406: /* ADDU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: ADDU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 83; _closure_stk(a, c + 0); } break; case 4407: /* ADDP4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: ADDP4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 82; _closure_stk(a, c + 0); } break; case 4417: /* SUBF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: SUBF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 15; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 105; _closure_stk(a, c + 0); } break; case 4421: /* SUBI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: SUBI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 90; _closure_stk(a, c + 0); } break; case 4422: /* SUBU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: SUBU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 92; _closure_stk(a, c + 0); } break; case 4423: /* SUBP4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: SUBP4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 91; _closure_stk(a, c + 0); } break; case 4437: /* LSHI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: LSHI4(stk,cnst1) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_cnst1_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 93; _closure_stk(a, c + 0); } /* stk: LSHI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 95; _closure_stk(a, c + 0); } break; case 4438: /* LSHU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: LSHU4(stk,cnst1) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_cnst1_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 94; _closure_stk(a, c + 0); } /* stk: LSHU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 96; _closure_stk(a, c + 0); } break; case 4453: /* MODI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: MODI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 20; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 75; _closure_stk(a, c + 0); } break; case 4454: /* MODU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: MODU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 76; _closure_stk(a, c + 0); } break; case 4469: /* RSHI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: RSHI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 97; _closure_stk(a, c + 0); } break; case 4470: /* RSHU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: RSHU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 98; _closure_stk(a, c + 0); } break; case 4485: /* BANDI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BANDI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 84; _closure_stk(a, c + 0); } break; case 4486: /* BANDU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BANDU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 87; _closure_stk(a, c + 0); } break; case 4501: /* BCOMI4 */ _label(LEFT_CHILD(a)); /* stk: BCOMI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 99; _closure_stk(a, c + 0); } break; case 4502: /* BCOMU4 */ _label(LEFT_CHILD(a)); /* stk: BCOMU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 100; _closure_stk(a, c + 0); } break; case 4517: /* BORI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BORI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 85; _closure_stk(a, c + 0); } break; case 4518: /* BORU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BORU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 88; _closure_stk(a, c + 0); } break; case 4533: /* BXORI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BXORI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 86; _closure_stk(a, c + 0); } break; case 4534: /* BXORU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: BXORU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 89; _closure_stk(a, c + 0); } break; case 4545: /* DIVF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: DIVF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 60; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 103; _closure_stk(a, c + 0); } break; case 4549: /* DIVI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: DIVI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 20; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 79; _closure_stk(a, c + 0); } break; case 4550: /* DIVU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: DIVU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 20; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 80; _closure_stk(a, c + 0); } break; case 4561: /* MULF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: MULF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 30; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 104; _closure_stk(a, c + 0); } break; case 4565: /* MULI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: MULI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 8; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 77; _closure_stk(a, c + 0); } break; case 4566: /* MULU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stk: MULU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 10; if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 78; _closure_stk(a, c + 0); } break; case 4577: /* EQF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: EQF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 73; } break; case 4581: /* EQI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: EQI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 61; } break; case 4582: /* EQU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: EQU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 62; } break; case 4593: /* GEF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GEF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 76; } break; case 4597: /* GEI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GEI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 65; } break; case 4598: /* GEU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GEU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 69; } break; case 4609: /* GTF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GTF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 77; } break; case 4613: /* GTI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GTI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 66; } break; case 4614: /* GTU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: GTU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 70; } break; case 4625: /* LEF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LEF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 74; } break; case 4629: /* LEI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LEI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 67; } break; case 4630: /* LEU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LEU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 71; } break; case 4641: /* LTF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LTF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 75; } break; case 4645: /* LTI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LTI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 68; } break; case 4646: /* LTU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: LTU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 72; } break; case 4657: /* NEF4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: NEF4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 2; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 78; } break; case 4661: /* NEI4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: NEI4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 63; } break; case 4662: /* NEU4 */ _label(LEFT_CHILD(a)); _label(RIGHT_CHILD(a)); /* stmt: NEU4(stk,stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + ((struct _state *)(RIGHT_CHILD(a)->x.state))->cost[_stk_NT] + 1; if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 64; } break; case 4833: /* TUCKF4 */ _label(LEFT_CHILD(a)); /* stk: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 15; _closure_stk(a, c + 0); } /* stk: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 23; _closure_stk(a, c + 0); } /* stk: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 31; _closure_stk(a, c + 0); } /* stk: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 39; _closure_stk(a, c + 0); } /* stmt: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 7; } /* stmt: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 15; } /* stmt: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 23; } /* stmt: TUCKF4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 31; } break; case 4837: /* TUCKI4 */ _label(LEFT_CHILD(a)); /* stk: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 13; _closure_stk(a, c + 0); } /* stk: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 21; _closure_stk(a, c + 0); } /* stk: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 29; _closure_stk(a, c + 0); } /* stk: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 37; _closure_stk(a, c + 0); } /* stmt: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 5; } /* stmt: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 13; } /* stmt: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 21; } /* stmt: TUCKI4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 29; } break; case 4838: /* TUCKU4 */ _label(LEFT_CHILD(a)); /* stk: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 14; _closure_stk(a, c + 0); } /* stk: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 22; _closure_stk(a, c + 0); } /* stk: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 30; _closure_stk(a, c + 0); } /* stk: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 38; _closure_stk(a, c + 0); } /* stmt: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 6; } /* stmt: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 14; } /* stmt: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 22; } /* stmt: TUCKU4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 30; } break; case 4839: /* TUCKP4 */ _label(LEFT_CHILD(a)); /* stk: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 16; _closure_stk(a, c + 0); } /* stk: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 24; _closure_stk(a, c + 0); } /* stk: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 32; _closure_stk(a, c + 0); } /* stk: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stk_NT]) { p->cost[_stk_NT] = c + 0; p->rule._stk = 40; _closure_stk(a, c + 0); } /* stmt: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 1, 1)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 8; } /* stmt: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 2, 2)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 16; } /* stmt: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 3, 3)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 24; } /* stmt: TUCKP4(stk) */ c = ((struct _state *)(LEFT_CHILD(a)->x.state))->cost[_stk_NT] + (range(a, 4, 4)); if (c + 0 < p->cost[_stmt_NT]) { p->cost[_stmt_NT] = c + 0; p->rule._stmt = 32; } break; case 8209: /* CNSTF8 */ break; case 8213: /* CNSTI8 */ break; case 8214: /* CNSTU8 */ break; case 8225: /* ARGF8 */ break; case 8229: /* ARGI8 */ break; case 8230: /* ARGU8 */ break; case 8241: /* ASGNF8 */ break; case 8245: /* ASGNI8 */ break; case 8246: /* ASGNU8 */ break; case 8257: /* INDIRF8 */ break; case 8261: /* INDIRI8 */ break; case 8262: /* INDIRU8 */ break; case 8305: /* CVFF8 */ break; case 8309: /* CVFI8 */ break; case 8321: /* CVIF8 */ break; case 8325: /* CVII8 */ break; case 8326: /* CVIU8 */ break; case 8373: /* CVUI8 */ break; case 8374: /* CVUU8 */ break; case 8385: /* NEGF8 */ break; case 8389: /* NEGI8 */ break; case 8401: /* CALLF8 */ break; case 8405: /* CALLI8 */ break; case 8406: /* CALLU8 */ break; case 8433: /* RETF8 */ break; case 8437: /* RETI8 */ break; case 8438: /* RETU8 */ break; case 8497: /* ADDF8 */ break; case 8501: /* ADDI8 */ break; case 8502: /* ADDU8 */ break; case 8513: /* SUBF8 */ break; case 8517: /* SUBI8 */ break; case 8518: /* SUBU8 */ break; case 8533: /* LSHI8 */ break; case 8534: /* LSHU8 */ break; case 8549: /* MODI8 */ break; case 8550: /* MODU8 */ break; case 8565: /* RSHI8 */ break; case 8566: /* RSHU8 */ break; case 8581: /* BANDI8 */ break; case 8582: /* BANDU8 */ break; case 8597: /* BCOMI8 */ break; case 8598: /* BCOMU8 */ break; case 8613: /* BORI8 */ break; case 8614: /* BORU8 */ break; case 8629: /* BXORI8 */ break; case 8630: /* BXORU8 */ break; case 8641: /* DIVF8 */ break; case 8645: /* DIVI8 */ break; case 8646: /* DIVU8 */ break; case 8657: /* MULF8 */ break; case 8661: /* MULI8 */ break; case 8662: /* MULU8 */ break; case 8673: /* EQF8 */ break; case 8677: /* EQI8 */ break; case 8678: /* EQU8 */ break; case 8689: /* GEF8 */ break; case 8693: /* GEI8 */ break; case 8694: /* GEU8 */ break; case 8705: /* GTF8 */ break; case 8709: /* GTI8 */ break; case 8710: /* GTU8 */ break; case 8721: /* LEF8 */ break; case 8725: /* LEI8 */ break; case 8726: /* LEU8 */ break; case 8737: /* LTF8 */ break; case 8741: /* LTI8 */ break; case 8742: /* LTU8 */ break; case 8753: /* NEF8 */ break; case 8757: /* NEI8 */ break; case 8758: /* NEU8 */ break; case 8929: /* TUCKF8 */ break; case 8933: /* TUCKI8 */ break; case 8934: /* TUCKU8 */ break; default: fatal("_label", "Bad terminal %d\n", OP_LABEL(a)); } } static void _kids(NODEPTR_TYPE p, int eruleno, NODEPTR_TYPE kids[]) { if (!p) fatal("_kids", "Null tree\n", 0); if (!kids) fatal("_kids", "Null kids\n", 0); switch (eruleno) { case 251: /* stmt: ASGNB(INDIRB(ADDRLP4),ADDRLP4) */ case 244: /* stmt: RETV */ case 227: /* addr: CNSTP4 */ case 226: /* addr: ADDRGP4 */ case 205: /* stmt: LABELV */ case 110: /* stk: ADDRLP4 */ case 108: /* local: ADDRLP4 */ case 107: /* glob: ADDRGP4 */ case 105: /* stk: CNSTP4 */ case 104: /* stk: CNSTU4 */ case 103: /* stk: CNSTU2 */ case 102: /* stk: CNSTU1 */ case 101: /* stk: CNSTF4 */ case 100: /* stk: CNSTI4 */ case 99: /* stk: CNSTI2 */ case 98: /* stk: CNSTI1 */ case 97: /* cnst1: CNSTP4 */ case 96: /* cnst1: CNSTU4 */ case 95: /* cnst1: CNSTU2 */ case 94: /* cnst1: CNSTU1 */ case 93: /* cnst1: CNSTI4 */ case 92: /* cnst1: CNSTI2 */ case 91: /* cnst1: CNSTI1 */ case 90: /* var: STACKP */ case 89: /* var: STACKP */ case 88: /* var: STACKP */ case 87: /* var: STACKP */ case 6: /* sread: COPYP */ case 5: /* sread: COPYP */ case 4: /* sread: STACKP */ case 3: /* sread: STACKP */ case 2: /* sread: STACKP */ case 1: /* sread: STACKP */ break; case 248: /* stmt: ARGU4(stk) */ case 247: /* stmt: ARGP4(stk) */ case 246: /* stmt: ARGI4(stk) */ case 245: /* stmt: ARGF4(stk) */ case 243: /* stmt: RETP4(stk) */ case 242: /* stmt: RETU4(stk) */ case 241: /* stmt: RETI4(stk) */ case 240: /* stmt: RETF4(stk) */ case 238: /* stmt: CALLV(stk) */ case 237: /* stk: CALLU4(stk) */ case 236: /* stk: CALLP4(stk) */ case 235: /* stk: CALLI4(stk) */ case 234: /* stk: CALLF4(stk) */ case 232: /* stmt: CALLV(addr) */ case 231: /* stk: CALLU4(addr) */ case 230: /* stk: CALLP4(addr) */ case 229: /* stk: CALLI4(addr) */ case 228: /* stk: CALLF4(addr) */ case 207: /* stmt: JUMPV(stk) */ case 206: /* stmt: JUMPV(glob) */ case 204: /* stk: CVUP4(stk) */ case 203: /* stk: CVPU4(stk) */ case 202: /* stk: CVFI4(stk) */ case 201: /* stk: CVIF4(stk) */ case 200: /* stk: CVUU4(stk) */ case 199: /* stk: CVUU4(stk) */ case 198: /* stk: CVUU4(stk) */ case 197: /* stk: CVUU2(stk) */ case 196: /* stk: CVUU1(stk) */ case 195: /* stk: CVUI4(stk) */ case 194: /* stk: CVUI4(stk) */ case 193: /* stk: CVUI4(stk) */ case 192: /* stk: CVUI2(stk) */ case 191: /* stk: CVUI1(stk) */ case 190: /* stk: CVIU4(stk) */ case 189: /* stk: CVIU4(stk) */ case 188: /* stk: CVIU4(stk) */ case 187: /* stk: CVIU2(stk) */ case 186: /* stk: CVIU1(stk) */ case 185: /* stk: CVII4(stk) */ case 184: /* stk: CVII2(stk) */ case 183: /* stk: CVII1(stk) */ case 182: /* stk: NEGF4(stk) */ case 177: /* stk: NEGI4(stk) */ case 176: /* stk: BCOMU4(stk) */ case 175: /* stk: BCOMI4(stk) */ case 150: /* stk: INDIRF4(stk) */ case 149: /* stk: INDIRP4(stk) */ case 148: /* stk: INDIRU4(stk) */ case 147: /* stk: INDIRI4(stk) */ case 146: /* stk: INDIRU2(stk) */ case 145: /* stk: INDIRI2(stk) */ case 144: /* stk: INDIRU1(stk) */ case 143: /* stk: INDIRI1(stk) */ case 142: /* stk: INDIRF4(local) */ case 141: /* stk: INDIRU4(local) */ case 140: /* stk: INDIRI4(local) */ case 139: /* stk: INDIRP4(local) */ case 138: /* stk: INDIRU2(local) */ case 137: /* stk: INDIRI2(local) */ case 136: /* stk: INDIRU1(local) */ case 135: /* stk: INDIRI1(local) */ case 134: /* stk: INDIRF4(glob) */ case 133: /* stk: INDIRU4(glob) */ case 132: /* stk: INDIRI4(glob) */ case 131: /* stk: INDIRP4(glob) */ case 130: /* stk: INDIRU2(glob) */ case 129: /* stk: INDIRI2(glob) */ case 128: /* stk: INDIRU1(glob) */ case 127: /* stk: INDIRI1(glob) */ case 78: /* stmt: TUCKP4(stk) */ case 77: /* stmt: TUCKF4(stk) */ case 76: /* stmt: TUCKU4(stk) */ case 75: /* stmt: TUCKI4(stk) */ case 74: /* stmt: TUCKU2(stk) */ case 73: /* stmt: TUCKI2(stk) */ case 72: /* stmt: TUCKU1(stk) */ case 71: /* stmt: TUCKI1(stk) */ case 70: /* stmt: TUCKP4(stk) */ case 69: /* stmt: TUCKF4(stk) */ case 68: /* stmt: TUCKU4(stk) */ case 67: /* stmt: TUCKI4(stk) */ case 66: /* stmt: TUCKU2(stk) */ case 65: /* stmt: TUCKI2(stk) */ case 64: /* stmt: TUCKU1(stk) */ case 63: /* stmt: TUCKI1(stk) */ case 62: /* stmt: TUCKP4(stk) */ case 61: /* stmt: TUCKF4(stk) */ case 60: /* stmt: TUCKU4(stk) */ case 59: /* stmt: TUCKI4(stk) */ case 58: /* stmt: TUCKU2(stk) */ case 57: /* stmt: TUCKI2(stk) */ case 56: /* stmt: TUCKU1(stk) */ case 55: /* stmt: TUCKI1(stk) */ case 54: /* stmt: TUCKP4(stk) */ case 53: /* stmt: TUCKF4(stk) */ case 52: /* stmt: TUCKU4(stk) */ case 51: /* stmt: TUCKI4(stk) */ case 50: /* stmt: TUCKU2(stk) */ case 49: /* stmt: TUCKI2(stk) */ case 48: /* stmt: TUCKU1(stk) */ case 47: /* stmt: TUCKI1(stk) */ case 46: /* stk: TUCKP4(stk) */ case 45: /* stk: TUCKF4(stk) */ case 44: /* stk: TUCKU4(stk) */ case 43: /* stk: TUCKI4(stk) */ case 42: /* stk: TUCKU2(stk) */ case 41: /* stk: TUCKI2(stk) */ case 40: /* stk: TUCKU1(stk) */ case 39: /* stk: TUCKI1(stk) */ case 38: /* stk: TUCKP4(stk) */ case 37: /* stk: TUCKF4(stk) */ case 36: /* stk: TUCKU4(stk) */ case 35: /* stk: TUCKI4(stk) */ case 34: /* stk: TUCKU2(stk) */ case 33: /* stk: TUCKI2(stk) */ case 32: /* stk: TUCKU1(stk) */ case 31: /* stk: TUCKI1(stk) */ case 30: /* stk: TUCKP4(stk) */ case 29: /* stk: TUCKF4(stk) */ case 28: /* stk: TUCKU4(stk) */ case 27: /* stk: TUCKI4(stk) */ case 26: /* stk: TUCKU2(stk) */ case 25: /* stk: TUCKI2(stk) */ case 24: /* stk: TUCKU1(stk) */ case 23: /* stk: TUCKI1(stk) */ case 22: /* stk: TUCKP4(stk) */ case 21: /* stk: TUCKF4(stk) */ case 20: /* stk: TUCKU4(stk) */ case 19: /* stk: TUCKI4(stk) */ case 18: /* stk: TUCKU2(stk) */ case 17: /* stk: TUCKI2(stk) */ case 16: /* stk: TUCKU1(stk) */ case 15: /* stk: TUCKI1(stk) */ case 14: /* stk: INDIRU4(sread) */ case 13: /* stk: INDIRP4(sread) */ case 12: /* stk: INDIRI4(sread) */ case 11: /* stk: INDIRF4(sread) */ case 10: /* stk: INDIRU2(sread) */ case 9: /* stk: INDIRI2(sread) */ case 8: /* stk: INDIRU1(sread) */ case 7: /* stk: INDIRI1(sread) */ kids[0] = LEFT_CHILD(p); break; case 239: /* stmt: CALLB(stk,stk) */ case 233: /* stmt: CALLB(addr,stk) */ case 225: /* stmt: NEF4(stk,stk) */ case 224: /* stmt: GTF4(stk,stk) */ case 223: /* stmt: GEF4(stk,stk) */ case 222: /* stmt: LTF4(stk,stk) */ case 221: /* stmt: LEF4(stk,stk) */ case 220: /* stmt: EQF4(stk,stk) */ case 219: /* stmt: LTU4(stk,stk) */ case 218: /* stmt: LEU4(stk,stk) */ case 217: /* stmt: GTU4(stk,stk) */ case 216: /* stmt: GEU4(stk,stk) */ case 215: /* stmt: LTI4(stk,stk) */ case 214: /* stmt: LEI4(stk,stk) */ case 213: /* stmt: GTI4(stk,stk) */ case 212: /* stmt: GEI4(stk,stk) */ case 211: /* stmt: NEU4(stk,stk) */ case 210: /* stmt: NEI4(stk,stk) */ case 209: /* stmt: EQU4(stk,stk) */ case 208: /* stmt: EQI4(stk,stk) */ case 181: /* stk: SUBF4(stk,stk) */ case 180: /* stk: MULF4(stk,stk) */ case 179: /* stk: DIVF4(stk,stk) */ case 178: /* stk: ADDF4(stk,stk) */ case 174: /* stk: RSHU4(stk,stk) */ case 173: /* stk: RSHI4(stk,stk) */ case 172: /* stk: LSHU4(stk,stk) */ case 171: /* stk: LSHI4(stk,stk) */ case 170: /* stk: LSHU4(stk,cnst1) */ case 169: /* stk: LSHI4(stk,cnst1) */ case 168: /* stk: SUBU4(stk,stk) */ case 167: /* stk: SUBP4(stk,stk) */ case 166: /* stk: SUBI4(stk,stk) */ case 165: /* stk: BXORU4(stk,stk) */ case 164: /* stk: BORU4(stk,stk) */ case 163: /* stk: BANDU4(stk,stk) */ case 162: /* stk: BXORI4(stk,stk) */ case 161: /* stk: BORI4(stk,stk) */ case 160: /* stk: BANDI4(stk,stk) */ case 159: /* stk: ADDU4(stk,stk) */ case 158: /* stk: ADDP4(stk,stk) */ case 157: /* stk: ADDI4(stk,stk) */ case 156: /* stk: DIVU4(stk,stk) */ case 155: /* stk: DIVI4(stk,stk) */ case 154: /* stk: MULU4(stk,stk) */ case 153: /* stk: MULI4(stk,stk) */ case 152: /* stk: MODU4(stk,stk) */ case 151: /* stk: MODI4(stk,stk) */ case 126: /* stmt: ASGNF4(stk,stk) */ case 125: /* stmt: ASGNP4(stk,stk) */ case 124: /* stmt: ASGNU4(stk,stk) */ case 123: /* stmt: ASGNI4(stk,stk) */ case 122: /* stmt: ASGNU2(stk,stk) */ case 121: /* stmt: ASGNI2(stk,stk) */ case 120: /* stmt: ASGNU1(stk,stk) */ case 119: /* stmt: ASGNI1(stk,stk) */ case 118: /* stmt: ASGNP4(stk,local) */ case 117: /* stmt: ASGNF4(stk,local) */ case 116: /* stmt: ASGNU4(stk,local) */ case 115: /* stmt: ASGNI4(stk,local) */ case 114: /* stmt: ASGNU2(stk,local) */ case 113: /* stmt: ASGNI2(stk,local) */ case 112: /* stmt: ASGNU1(stk,local) */ case 111: /* stmt: ASGNI1(stk,local) */ case 86: /* stmt: ASGNU4(stk,var) */ case 85: /* stmt: ASGNP4(stk,var) */ case 84: /* stmt: ASGNI4(stk,var) */ case 83: /* stmt: ASGNF4(stk,var) */ case 82: /* stmt: ASGNU2(stk,var) */ case 81: /* stmt: ASGNI2(stk,var) */ case 80: /* stmt: ASGNU1(stk,var) */ case 79: /* stmt: ASGNI1(stk,var) */ kids[0] = LEFT_CHILD(p); kids[1] = RIGHT_CHILD(p); break; case 109: /* stk: glob */ case 106: /* stmt: stk */ kids[0] = p; break; case 252: /* stmt: ASGNB(INDIRB(stk),ADDRLP4) */ case 249: /* stmt: ARGB(INDIRB(stk)) */ kids[0] = LEFT_CHILD(LEFT_CHILD(p)); break; case 250: /* stmt: ASGNB(INDIRB(stk),stk) */ kids[0] = LEFT_CHILD(LEFT_CHILD(p)); kids[1] = RIGHT_CHILD(p); break; case 253: /* stmt: ASGNB(INDIRB(ADDRLP4),stk) */ kids[0] = RIGHT_CHILD(p); break; default: fatal("_kids", "Bad rule number %d\n", eruleno); } } static void preamble(Symbol f, Symbol caller[], Symbol callee[], int ncalls); static void postamble(Symbol f, Symbol caller[], Symbol callee[], int ncalls); static int makeTemp(Symbol p) { if (!isscalar(p->type) || p->type->size == 8) { p->sclass = AUTO; return 0; } else if (p->sclass == AUTO) { if (p->addressed) { return 0; } else { makeTemporary(p); return 1; } } else if (p->sclass == REGISTER) { makeTemporary(p); return 1; } else { return 0; } } static void local(Symbol p) { if (!makeTemp(p)) { mkauto(p); } } static void function(Symbol f, Symbol caller[], Symbol callee[], int ncalls) { int i, size, varargs; Node params; write_log("Function %s\n", f->x.name); offset = local_variable_count = 0; varargs = variadic(f->type); params = stackParameters(caller, callee); gencode(caller, callee); optimise(); framesize = roundup(offset, 4); preamble(f, caller, callee, ncalls); stackemit(params); emitcode(); postamble(f, caller, callee, ncalls); } static Node recalcNode(Node temp, Node calc) { int op = specific(calc->op); if (op == CNST + I || op == CNST + U || op == CNST + P) { return calc; } else { return temp; } } static int leaf; static char* localReg = "fp"; static int arguments = 0; static void preamble(Symbol f, Symbol caller[], Symbol callee[], int ncalls) { print(";function %s\n", f->x.name); while(*callee) { print("param %s\n", (*callee)->name); callee++; } } static void postamble(Symbol f, Symbol caller[], Symbol callee[], int ncalls) { print("exit\n\n"); } static char* neg(char sign) { return sign == '-' ? "-" : ""; } static void printName(Node p) { if (isdigit(p->syms[0]->name[0])) print("t%s", p->syms[0]->name); else print("%s", p->syms[0]->name); } static void emit2(Node p) { if (generic(p->op) == TUCK) { print("tuck%d;", p->syms[1]->u.c.v.i); printName(p); print("\n"); } else if (generic(p->op) == STACK) { print("rrot%d;", p->syms[1]->u.c.v.i); printName(p); print("\n"); } else { printName(p); } } static void defconst(int suffix, int size, Value v) { if (suffix == F && size == 4) print(".word 0x%x\n", (unsigned)(v.i)); else if (suffix == F && size == 8) print(".word 0x%x\n.word 0x%x\n", (unsigned)v.i, (unsigned)*(&(v.i)+1)); else if (suffix == P) print(".word 0x%x\n", (unsigned)v.p); else if (size == 1) print(".byte 0x%x\n", (unsigned)((unsigned char)(suffix == I ? v.i : v.u))); else if (size == 2) print(".short 0x%x\n", (unsigned)((unsigned short)(suffix == I ? v.i : v.u))); else if (size == 4) print(".word 0x%x\n", (unsigned)(suffix == I ? v.i : v.u)); } static void defaddress(Symbol p) { print(".word %s\n", p->x.name); } static void defstring(int n, char *str) { char *s; for (s = str; s < str + n; s++) print(".byte %d\n", (*s)&0377); } static void export(Symbol p) { // print("\n.export %s\n", p->x.name); } static void import(Symbol p) { if (!isfunc(p->type)) print(".extern %s %d\n", p->name, p->type->size); } static void defsymbol(Symbol p) { if (p->scope == LABELS) { p->x.name = stringf("L%s", p->name); } else if (p->temporary) { p->x.name = stringf("t%s", p->name); } else if (p->generated) { p->x.name = stringf("x%s", p->name); } else { p->x.name = stringf("%s", p->name); } } static void address(Symbol q, Symbol p, long n) { if (n) q->x.name = stringf("%s%s%d", p->name, n >= 0 ? "+" : "", n); else q->x.name = p->name; } static void global(Symbol p) { if (p->type->align != 1) { print(".align %d\n", p->type->align); } print(".global %s\n", p->x.name); } static void segment(int n) { switch (n) { case CODE: print(".text\n"); break; case LIT: print(".text\n"); break; case DATA: print(".data\n"); break; case BSS: print(".bss\n"); break; } } static void space(int n) { print(".skip %d\n", n); } static void stabinit(char *, int, char *[]); static void stabline(Coordinate *); static void stabsym(Symbol); static char *currentfile; /* stabinit - initialize stab output */ static void stabinit(char *file, int argc, char *argv[]) { if (file) { print(".file 2,\"%s\"\n", file); currentfile = file; } } /* stabline - emit stab entry for source coordinate *cp */ static void stabline(Coordinate *cp) { if (cp->file && cp->file != currentfile) { print(".file 2,\"%s\"\n", cp->file); currentfile = cp->file; } print(".loc 2,%d\n", cp->y); } /* stabsym - output a stab entry for symbol p */ static void stabsym(Symbol p) { if (p == cfunc && IR->stabline) (*IR->stabline)(&p->src); } static void progbeg(int argc, char *argv[]) { { union { char c; int i; } u; u.i = 0; u.c = 1; } backendflags(argc, argv); } static void blockbeg(Env* env) { } static void blockend(Env* env) { } static void progend(void){} Interface abstractIR = { { 1, 1, 0 }, /* char_metrics */ { 2, 2, 0 }, /* short_metrics */ { 4, 4, 0 }, /* int_metrics */ { 4, 4, 0 }, /* long_metrics */ { 4, 4, 1 }, /* long_long_metrics */ { 4, 4, 0 }, /* float_metrics */ { 4, 4, 1 }, /* double_metrics */ { 4, 4, 1 }, /* long_double_metrics */ { 4, 4, 0 }, /* word_metrics */ { 0, 4, 0 }, /* struct_metrics */ 0, /* little_endian */ 0, /* mulops_calls */ 0, /* wants_callb */ 0, /* wants_argb */ 1, /* left_to_right */ 0, /* wants_dag */ 0, /* unsigned_char */ address, blockbeg, blockend, defaddress, defconst, defstring, defsymbol, stackemit, export, function, stackgen, global, import, local, progbeg, progend, segment, space, 0, 0, 0, stabinit, stabline, stabsym, 0, swtch, { 1, /* max_unaligned_load */ 4, /* depth */ recalcNode, makeTemp, NULL, _label, _rule, _nts, _kids, _string, _templates, _isinstruction, _ntname, emit2, { 0, // sub 0, // lsh 0, // rsh 0, // mod 0, // div 0, // lt 0, // le 0, // gt 0 // ge } } };