- Timestamp:
- 12/13/2007 02:05:06 (11 months ago)
- Files:
-
- 1 modified
-
trunk/lib/implicit.c (modified) (45 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/implicit.c
r287 r296 1 /* Generated by re2c 0.1 2.3 on Wed Oct 24 23:08:462007 */1 /* Generated by re2c 0.13.1 on Thu Dec 13 10:41:51 2007 */ 2 2 #line 1 "implicit.re" 3 3 /* … … 52 52 53 53 54 #line 55 " <stdout>"54 #line 55 "implicit.c" 55 55 { 56 56 YYCTYPE yych; 57 static const unsigned char yybm[] = { 58 0, 0, 0, 0, 0, 0, 0, 0, 59 0, 8, 0, 0, 0, 0, 0, 0, 60 0, 0, 0, 0, 0, 0, 0, 0, 61 0, 0, 0, 0, 0, 0, 0, 0, 62 8, 0, 0, 0, 0, 0, 0, 0, 63 0, 0, 0, 0, 193, 0, 4, 0, 64 215, 231, 231, 231, 231, 231, 231, 231, 65 167, 167, 0, 0, 0, 0, 0, 0, 66 0, 128, 128, 128, 128, 128, 128, 0, 67 0, 0, 0, 0, 0, 0, 0, 0, 68 0, 0, 0, 0, 0, 0, 0, 0, 69 0, 0, 0, 0, 0, 0, 0, 0, 70 0, 128, 128, 128, 128, 128, 128, 0, 71 0, 0, 0, 0, 0, 0, 0, 0, 72 0, 0, 0, 0, 0, 0, 0, 0, 73 0, 0, 0, 0, 0, 0, 0, 0, 74 0, 0, 0, 0, 0, 0, 0, 0, 75 0, 0, 0, 0, 0, 0, 0, 0, 76 0, 0, 0, 0, 0, 0, 0, 0, 77 0, 0, 0, 0, 0, 0, 0, 0, 78 0, 0, 0, 0, 0, 0, 0, 0, 79 0, 0, 0, 0, 0, 0, 0, 0, 80 0, 0, 0, 0, 0, 0, 0, 0, 81 0, 0, 0, 0, 0, 0, 0, 0, 82 0, 0, 0, 0, 0, 0, 0, 0, 83 0, 0, 0, 0, 0, 0, 0, 0, 84 0, 0, 0, 0, 0, 0, 0, 0, 85 0, 0, 0, 0, 0, 0, 0, 0, 86 0, 0, 0, 0, 0, 0, 0, 0, 87 0, 0, 0, 0, 0, 0, 0, 0, 88 0, 0, 0, 0, 0, 0, 0, 0, 89 0, 0, 0, 0, 0, 0, 0, 0, 90 }; 57 91 58 92 if((YYLIMIT - YYCURSOR) < 26) YYFILL(26); 59 93 yych = *YYCURSOR; 60 switch(yych) { 61 case 0x00: goto yy6; 62 case '+': goto yy16; 63 case '-': goto yy17; 64 case '.': goto yy20; 65 case '0': goto yy18; 66 case '1': 67 case '2': 68 case '3': 69 case '4': 70 case '5': 71 case '6': 72 case '7': 73 case '8': 74 case '9': goto yy19; 75 case '<': goto yy22; 76 case '=': goto yy21; 77 case 'F': goto yy15; 78 case 'N': goto yy5; 79 case 'O': goto yy13; 80 case 'T': goto yy11; 81 case 'Y': goto yy9; 82 case 'f': goto yy14; 83 case 'n': goto yy4; 84 case 'o': goto yy12; 85 case 't': goto yy10; 86 case 'y': goto yy8; 87 case '~': goto yy2; 88 default: goto yy23; 89 } 90 yy2: 94 if(yych <= 'N') { 95 if(yych <= '0') { 96 if(yych <= ',') { 97 if(yych <= 0x00) goto yy6; 98 if(yych == '+') goto yy16; 99 goto yy23; 100 } else { 101 if(yych <= '-') goto yy17; 102 if(yych <= '.') goto yy20; 103 if(yych <= '/') goto yy23; 104 goto yy18; 105 } 106 } else { 107 if(yych <= '=') { 108 if(yych <= '9') goto yy19; 109 if(yych <= ';') goto yy23; 110 if(yych <= '<') goto yy22; 111 goto yy21; 112 } else { 113 if(yych == 'F') goto yy15; 114 if(yych <= 'M') goto yy23; 115 goto yy5; 116 } 117 } 118 } else { 119 if(yych <= 'm') { 120 if(yych <= 'X') { 121 if(yych <= 'O') goto yy13; 122 if(yych == 'T') goto yy11; 123 goto yy23; 124 } else { 125 if(yych <= 'Y') goto yy9; 126 if(yych == 'f') goto yy14; 127 goto yy23; 128 } 129 } else { 130 if(yych <= 't') { 131 if(yych <= 'n') goto yy4; 132 if(yych <= 'o') goto yy12; 133 if(yych <= 's') goto yy23; 134 goto yy10; 135 } else { 136 if(yych <= 'y') { 137 if(yych <= 'x') goto yy23; 138 goto yy8; 139 } else { 140 if(yych != '~') goto yy23; 141 } 142 } 143 } 144 } 91 145 ++YYCURSOR; 92 146 if((yych = *YYCURSOR) <= 0x00) goto yy6; … … 94 148 #line 123 "implicit.re" 95 149 { return "str"; } 96 #line 97 "<stdout>"150 #line 151 "implicit.c" 97 151 yy4: 98 152 yych = *(YYMARKER = ++YYCURSOR); 99 switch(yych) { 100 case 'o': goto yy172; 101 case 'u': goto yy200; 102 default: goto yy3; 103 } 153 if(yych == 'o') goto yy172; 154 if(yych == 'u') goto yy200; 155 goto yy3; 104 156 yy5: 105 157 yych = *(YYMARKER = ++YYCURSOR); 106 switch(yych) { 107 case 'O': 108 case 'o': goto yy172; 109 case 'U': goto yy195; 110 case 'u': goto yy196; 111 default: goto yy3; 158 if(yych <= 'U') { 159 if(yych == 'O') goto yy172; 160 if(yych <= 'T') goto yy3; 161 goto yy195; 162 } else { 163 if(yych <= 'o') { 164 if(yych <= 'n') goto yy3; 165 goto yy172; 166 } else { 167 if(yych == 'u') goto yy196; 168 goto yy3; 169 } 112 170 } 113 171 yy6: … … 115 173 #line 85 "implicit.re" 116 174 { return "null"; } 117 #line 1 18 "<stdout>"175 #line 176 "implicit.c" 118 176 yy8: 119 177 yych = *(YYMARKER = ++YYCURSOR); 120 switch(yych) { 121 case 'e': goto yy194; 122 default: goto yy3; 123 } 178 if(yych == 'e') goto yy194; 179 goto yy3; 124 180 yy9: 125 181 yych = *(YYMARKER = ++YYCURSOR); 126 switch(yych) { 127 case 'E': goto yy192; 128 case 'e': goto yy193; 129 default: goto yy3; 130 } 182 if(yych == 'E') goto yy192; 183 if(yych == 'e') goto yy193; 184 goto yy3; 131 185 yy10: 132 186 yych = *(YYMARKER = ++YYCURSOR); 133 switch(yych) { 134 case 'r': goto yy190; 135 default: goto yy3; 136 } 187 if(yych == 'r') goto yy190; 188 goto yy3; 137 189 yy11: 138 190 yych = *(YYMARKER = ++YYCURSOR); 139 switch(yych) { 140 case 'R': goto yy186; 141 case 'r': goto yy187; 142 default: goto yy3; 143 } 191 if(yych == 'R') goto yy186; 192 if(yych == 'r') goto yy187; 193 goto yy3; 144 194 yy12: 145 195 yych = *(YYMARKER = ++YYCURSOR); 146 switch(yych) { 147 case 'f': goto yy185; 148 case 'n': goto yy182; 149 default: goto yy3; 150 } 196 if(yych == 'f') goto yy185; 197 if(yych == 'n') goto yy182; 198 goto yy3; 151 199 yy13: 152 200 yych = *(YYMARKER = ++YYCURSOR); 153 switch(yych) { 154 case 'F': goto yy180; 155 case 'N': 156 case 'n': goto yy182; 157 case 'f': goto yy181; 158 default: goto yy3; 201 if(yych <= 'N') { 202 if(yych == 'F') goto yy180; 203 if(yych <= 'M') goto yy3; 204 goto yy182; 205 } else { 206 if(yych <= 'f') { 207 if(yych <= 'e') goto yy3; 208 goto yy181; 209 } else { 210 if(yych == 'n') goto yy182; 211 goto yy3; 212 } 159 213 } 160 214 yy14: 161 215 yych = *(YYMARKER = ++YYCURSOR); 162 switch(yych) { 163 case 'a': goto yy177; 164 default: goto yy3; 165 } 216 if(yych == 'a') goto yy177; 217 goto yy3; 166 218 yy15: 167 219 yych = *(YYMARKER = ++YYCURSOR); 168 switch(yych) { 169 case 'A': goto yy168; 170 case 'a': goto yy169; 171 default: goto yy3; 172 } 220 if(yych == 'A') goto yy168; 221 if(yych == 'a') goto yy169; 222 goto yy3; 173 223 yy16: 174 224 yych = *(YYMARKER = ++YYCURSOR); 175 switch(yych) { 176 case '.': goto yy167; 177 case '0': goto yy158; 178 case '1': 179 case '2': 180 case '3': 181 case '4': 182 case '5': 183 case '6': 184 case '7': 185 case '8': 186 case '9': goto yy47; 187 default: goto yy3; 225 if(yych <= '/') { 226 if(yych == '.') goto yy167; 227 goto yy3; 228 } else { 229 if(yych <= '0') goto yy158; 230 if(yych <= '9') goto yy47; 231 goto yy3; 188 232 } 189 233 yy17: 190 234 yych = *(YYMARKER = ++YYCURSOR); 191 switch(yych) { 192 case '.': goto yy157; 193 case '0': goto yy158; 194 case '1': 195 case '2': 196 case '3': 197 case '4': 198 case '5': 199 case '6': 200 case '7': 201 case '8': 202 case '9': goto yy47; 203 default: goto yy3; 235 if(yych <= '/') { 236 if(yych == '.') goto yy157; 237 goto yy3; 238 } else { 239 if(yych <= '0') goto yy158; 240 if(yych <= '9') goto yy47; 241 goto yy3; 204 242 } 205 243 yy18: 206 244 yych = *(YYMARKER = ++YYCURSOR); 207 switch(yych) { 208 case 0x00: goto yy52; 209 case ',': goto yy142; 210 case '.': goto yy50; 211 case '0': 212 case '1': 213 case '2': 214 case '3': 215 case '4': 216 case '5': 217 case '6': 218 case '7': goto yy140; 219 case '8': 220 case '9': goto yy141; 221 case ':': goto yy49; 222 case 'x': goto yy144; 223 default: goto yy3; 245 if(yych <= '/') { 246 if(yych <= ',') { 247 if(yych <= 0x00) goto yy52; 248 if(yych <= '+') goto yy3; 249 goto yy142; 250 } else { 251 if(yych == '.') goto yy50; 252 goto yy3; 253 } 254 } else { 255 if(yych <= ':') { 256 if(yych <= '7') goto yy140; 257 if(yych <= '9') goto yy141; 258 goto yy49; 259 } else { 260 if(yych == 'x') goto yy144; 261 goto yy3; 262 } 224 263 } 225 264 yy19: 226 265 yych = *(YYMARKER = ++YYCURSOR); 227 switch(yych) { 228 case 0x00: goto yy52; 229 case ',': goto yy47; 230 case '.': goto yy50; 231 case '0': 232 case '1': 233 case '2': 234 case '3': 235 case '4': 236 case '5': 237 case '6': 238 case '7': 239 case '8': 240 case '9': goto yy46; 241 case ':': goto yy49; 242 default: goto yy3; 266 if(yych <= '-') { 267 if(yych <= 0x00) goto yy52; 268 if(yych == ',') goto yy47; 269 goto yy3; 270 } else { 271 if(yych <= '/') { 272 if(yych <= '.') goto yy50; 273 goto yy3; 274 } else { 275 if(yych <= '9') goto yy46; 276 if(yych <= ':') goto yy49; 277 goto yy3; 278 } 243 279 } 244 280 yy20: 245 281 yych = *(YYMARKER = ++YYCURSOR); 246 switch(yych) { 247 case 'I': goto yy33; 248 case 'N': goto yy31; 249 case 'i': goto yy32; 250 case 'n': goto yy30; 251 default: goto yy3; 282 if(yych <= 'N') { 283 if(yych == 'I') goto yy33; 284 if(yych <= 'M') goto yy3; 285 goto yy31; 286 } else { 287 if(yych <= 'i') { 288 if(yych <= 'h') goto yy3; 289 goto yy32; 290 } else { 291 if(yych == 'n') goto yy30; 292 goto yy3; 293 } 252 294 } 253 295 yy21: … … 257 299 yy22: 258 300 yych = *(YYMARKER = ++YYCURSOR); 259 switch(yych) { 260 case '<': goto yy24; 261 default: goto yy3; 262 } 301 if(yych == '<') goto yy24; 302 goto yy3; 263 303 yy23: 264 304 yych = *++YYCURSOR; … … 274 314 #line 121 "implicit.re" 275 315 { return "merge"; } 276 #line 277 "<stdout>"316 #line 317 "implicit.c" 277 317 yy28: 278 318 ++YYCURSOR; 279 319 #line 119 "implicit.re" 280 320 { return "default"; } 281 #line 282 "<stdout>"321 #line 322 "implicit.c" 282 322 yy30: 283 323 yych = *++YYCURSOR; 284 switch(yych) { 285 case 'a': goto yy45; 286 default: goto yy25; 287 } 324 if(yych == 'a') goto yy45; 325 goto yy25; 288 326 yy31: 289 327 yych = *++YYCURSOR; 290 switch(yych) { 291 case 'A': goto yy40; 292 case 'a': goto yy41; 293 default: goto yy25; 294 } 328 if(yych == 'A') goto yy40; 329 if(yych == 'a') goto yy41; 330 goto yy25; 295 331 yy32: 296 332 yych = *++YYCURSOR; 297 switch(yych) { 298 case 'n': goto yy39; 299 default: goto yy25; 300 } 333 if(yych == 'n') goto yy39; 334 goto yy25; 301 335 yy33: 302 336 yych = *++YYCURSOR; 303 switch(yych) { 304 case 'N': goto yy34; 305 case 'n': goto yy35; 306 default: goto yy25; 307 } 337 if(yych == 'N') goto yy34; 338 if(yych == 'n') goto yy35; 339 goto yy25; 308 340 yy34: 309 341 yych = *++YYCURSOR; 310 switch(yych) { 311 case 'F': goto yy36; 312 default: goto yy25; 313 } 342 if(yych == 'F') goto yy36; 343 goto yy25; 314 344 yy35: 315 345 yych = *++YYCURSOR; 316 switch(yych) { 317 case 'f': goto yy36; 318 default: goto yy25; 319 } 346 if(yych != 'f') goto yy25; 320 347 yy36: 321 348 yych = *++YYCURSOR; … … 324 351 #line 105 "implicit.re" 325 352 { return "float#inf"; } 326 #line 3 27 "<stdout>"353 #line 354 "implicit.c" 327 354 yy39: 328 355 yych = *++YYCURSOR; 329 switch(yych) { 330 case 'f': goto yy36; 331 default: goto yy25; 332 } 356 if(yych == 'f') goto yy36; 357 goto yy25; 333 358 yy40: 334 359 yych = *++YYCURSOR; 335 switch(yych) { 336 case 'N': goto yy42; 337 default: goto yy25; 338 } 360 if(yych == 'N') goto yy42; 361 goto yy25; 339 362 yy41: 340 363 yych = *++YYCURSOR; 341 switch(yych) { 342 case 'N': goto yy42; 343 default: goto yy25; 344 } 364 if(yych != 'N') goto yy25; 345 365 yy42: 346 366 yych = *++YYCURSOR; … … 349 369 #line 109 "implicit.re" 350 370 { return "float#nan"; } 351 #line 3 52 "<stdout>"371 #line 372 "implicit.c" 352 372 yy45: 353 373 yych = *++YYCURSOR; 354 switch(yych) { 355 case 'n': goto yy42; 356 default: goto yy25; 357 } 374 if(yych == 'n') goto yy42; 375 goto yy25; 358 376 yy46: 359 377 yych = *++YYCURSOR; 360 switch(yych) { 361 case '0': 362 case '1': 363 case '2': 364 case '3': 365 case '4': 366 case '5': 367 case '6': 368 case '7': 369 case '8': 370 case '9': goto yy74; 371 default: goto yy48; 372 } 378 if(yych <= '/') goto yy48; 379 if(yych <= '9') goto yy74; 380 goto yy48; 373 381 yy47: 374 382 ++YYCURSOR; … … 376 384 yych = *YYCURSOR; 377 385 yy48: 378 switch(yych) { 379 case 0x00: goto yy52; 380 case ',': 381 case '0': 382 case '1': 383 case '2': 384 case '3': 385 case '4': 386 case '5': 387 case '6': 388 case '7': 389 case '8': 390 case '9': goto yy47; 391 case '.': goto yy50; 392 case ':': goto yy49; 393 default: goto yy25; 386 if(yybm[0+yych] & 1) { 387 goto yy47; 388 } 389 if(yych <= '.') { 390 if(yych <= 0x00) goto yy52; 391 if(yych <= '-') goto yy25; 392 goto yy50; 393 } else { 394 if(yych <= '/') goto yy25; 395 if(yych >= ';') goto yy25; 394 396 } 395 397 yy49: … … 397 399 if(YYLIMIT == YYCURSOR) YYFILL(1); 398 400 yych = *YYCURSOR; 399 switch(yych) { 400 case '0': 401 case '1': 402 case '2': 403 case '3': 404 case '4': 405 case '5': goto yy66; 406 case '6': 407 case '7': 408 case '8': 409 case '9': goto yy67; 410 default: goto yy25; 411 } 401 if(yych <= '/') goto yy25; 402 if(yych <= '5') goto yy66; 403 if(yych <= '9') goto yy67; 404 goto yy25; 412 405 yy50: 413 406 ++YYCURSOR; 414 407 if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); 415 408 yych = *YYCURSOR; 416 switch(yych) { 417 case 0x00: goto yy56; 418 case ',': goto yy54; 419 case '.': goto yy58; 420 case '0': 421 case '1': 422 case '2': 423 case '3': 424 case '4': 425 case '5': 426 case '6': 427 case '7': 428 case '8': 429 case '9': goto yy50; 430 case 'E': 431 case 'e': goto yy60; 432 default: goto yy25; 409 if(yybm[0+yych] & 2) { 410 goto yy50; 411 } 412 if(yych <= '.') { 413 if(yych <= '+') { 414 if(yych <= 0x00) goto yy56; 415 goto yy25; 416 } else { 417 if(yych <= ',') goto yy54; 418 if(yych <= '-') goto yy25; 419 goto yy58; 420 } 421 } else { 422 if(yych <= 'E') { 423 if(yych <= 'D') goto yy25; 424 goto yy60; 425 } else { 426 if(yych == 'e') goto yy60; 427 goto yy25; 428 } 433 429 } 434 430 yy52: … … 436 432 #line 97 "implicit.re" 437 433 { return "int"; } 438 #line 43 9 "<stdout>"