diff options
Diffstat (limited to 'src/ilasm/prebuilt/asmparse.c')
-rw-r--r-- | src/ilasm/prebuilt/asmparse.c | 4907 |
1 files changed, 0 insertions, 4907 deletions
diff --git a/src/ilasm/prebuilt/asmparse.c b/src/ilasm/prebuilt/asmparse.c deleted file mode 100644 index 71b31a5ed6..0000000000 --- a/src/ilasm/prebuilt/asmparse.c +++ /dev/null @@ -1,4907 +0,0 @@ -/* - * Created by Microsoft VCBU Internal YACC from "asmparse.y" - */ - -#line 2 "asmparse.y" - - // Licensed to the .NET Foundation under one or more agreements. - // The .NET Foundation licenses this file to you under the MIT license. - // See the LICENSE file in the project root for more information. -// -// File asmparse.y -// -#include "ilasmpch.h" - -#include "grammar_before.cpp" - - -#line 16 "asmparse.y" - -#define UNION 1 -typedef union { - CorRegTypeAttr classAttr; - CorMethodAttr methAttr; - CorFieldAttr fieldAttr; - CorMethodImpl implAttr; - CorEventAttr eventAttr; - CorPropertyAttr propAttr; - CorPinvokeMap pinvAttr; - CorDeclSecurity secAct; - CorFileFlags fileAttr; - CorAssemblyFlags asmAttr; - CorAssemblyFlags asmRefAttr; - CorTypeAttr exptAttr; - CorManifestResourceFlags manresAttr; - double* float64; - __int64* int64; - __int32 int32; - char* string; - BinStr* binstr; - Labels* labels; - Instr* instr; // instruction opcode - NVPair* pair; - pTyParList typarlist; - mdToken token; - TypeDefDescr* tdd; - CustomDescr* cad; - unsigned short opcode; -} YYSTYPE; -# define ERROR_ 257 -# define BAD_COMMENT_ 258 -# define BAD_LITERAL_ 259 -# define ID 260 -# define DOTTEDNAME 261 -# define QSTRING 262 -# define SQSTRING 263 -# define INT32 264 -# define INT64 265 -# define FLOAT64 266 -# define HEXBYTE 267 -# define TYPEDEF_T 268 -# define TYPEDEF_M 269 -# define TYPEDEF_F 270 -# define TYPEDEF_TS 271 -# define TYPEDEF_MR 272 -# define TYPEDEF_CA 273 -# define DCOLON 274 -# define ELIPSIS 275 -# define VOID_ 276 -# define BOOL_ 277 -# define CHAR_ 278 -# define UNSIGNED_ 279 -# define INT_ 280 -# define INT8_ 281 -# define INT16_ 282 -# define INT32_ 283 -# define INT64_ 284 -# define FLOAT_ 285 -# define FLOAT32_ 286 -# define FLOAT64_ 287 -# define BYTEARRAY_ 288 -# define UINT_ 289 -# define UINT8_ 290 -# define UINT16_ 291 -# define UINT32_ 292 -# define UINT64_ 293 -# define FLAGS_ 294 -# define CALLCONV_ 295 -# define MDTOKEN_ 296 -# define OBJECT_ 297 -# define STRING_ 298 -# define NULLREF_ 299 -# define DEFAULT_ 300 -# define CDECL_ 301 -# define VARARG_ 302 -# define STDCALL_ 303 -# define THISCALL_ 304 -# define FASTCALL_ 305 -# define CLASS_ 306 -# define TYPEDREF_ 307 -# define UNMANAGED_ 308 -# define FINALLY_ 309 -# define HANDLER_ 310 -# define CATCH_ 311 -# define FILTER_ 312 -# define FAULT_ 313 -# define EXTENDS_ 314 -# define IMPLEMENTS_ 315 -# define TO_ 316 -# define AT_ 317 -# define TLS_ 318 -# define TRUE_ 319 -# define FALSE_ 320 -# define _INTERFACEIMPL 321 -# define VALUE_ 322 -# define VALUETYPE_ 323 -# define NATIVE_ 324 -# define INSTANCE_ 325 -# define SPECIALNAME_ 326 -# define FORWARDER_ 327 -# define STATIC_ 328 -# define PUBLIC_ 329 -# define PRIVATE_ 330 -# define FAMILY_ 331 -# define FINAL_ 332 -# define SYNCHRONIZED_ 333 -# define INTERFACE_ 334 -# define SEALED_ 335 -# define NESTED_ 336 -# define ABSTRACT_ 337 -# define AUTO_ 338 -# define SEQUENTIAL_ 339 -# define EXPLICIT_ 340 -# define ANSI_ 341 -# define UNICODE_ 342 -# define AUTOCHAR_ 343 -# define IMPORT_ 344 -# define ENUM_ 345 -# define VIRTUAL_ 346 -# define NOINLINING_ 347 -# define AGGRESSIVEINLINING_ 348 -# define NOOPTIMIZATION_ 349 -# define UNMANAGEDEXP_ 350 -# define BEFOREFIELDINIT_ 351 -# define STRICT_ 352 -# define RETARGETABLE_ 353 -# define WINDOWSRUNTIME_ 354 -# define NOPLATFORM_ 355 -# define METHOD_ 356 -# define FIELD_ 357 -# define PINNED_ 358 -# define MODREQ_ 359 -# define MODOPT_ 360 -# define SERIALIZABLE_ 361 -# define PROPERTY_ 362 -# define TYPE_ 363 -# define ASSEMBLY_ 364 -# define FAMANDASSEM_ 365 -# define FAMORASSEM_ 366 -# define PRIVATESCOPE_ 367 -# define HIDEBYSIG_ 368 -# define NEWSLOT_ 369 -# define RTSPECIALNAME_ 370 -# define PINVOKEIMPL_ 371 -# define _CTOR 372 -# define _CCTOR 373 -# define LITERAL_ 374 -# define NOTSERIALIZED_ 375 -# define INITONLY_ 376 -# define REQSECOBJ_ 377 -# define CIL_ 378 -# define OPTIL_ 379 -# define MANAGED_ 380 -# define FORWARDREF_ 381 -# define PRESERVESIG_ 382 -# define RUNTIME_ 383 -# define INTERNALCALL_ 384 -# define _IMPORT 385 -# define NOMANGLE_ 386 -# define LASTERR_ 387 -# define WINAPI_ 388 -# define AS_ 389 -# define BESTFIT_ 390 -# define ON_ 391 -# define OFF_ 392 -# define CHARMAPERROR_ 393 -# define INSTR_NONE 394 -# define INSTR_VAR 395 -# define INSTR_I 396 -# define INSTR_I8 397 -# define INSTR_R 398 -# define INSTR_BRTARGET 399 -# define INSTR_METHOD 400 -# define INSTR_FIELD 401 -# define INSTR_TYPE 402 -# define INSTR_STRING 403 -# define INSTR_SIG 404 -# define INSTR_TOK 405 -# define INSTR_SWITCH 406 -# define _CLASS 407 -# define _NAMESPACE 408 -# define _METHOD 409 -# define _FIELD 410 -# define _DATA 411 -# define _THIS 412 -# define _BASE 413 -# define _NESTER 414 -# define _EMITBYTE 415 -# define _TRY 416 -# define _MAXSTACK 417 -# define _LOCALS 418 -# define _ENTRYPOINT 419 -# define _ZEROINIT 420 -# define _EVENT 421 -# define _ADDON 422 -# define _REMOVEON 423 -# define _FIRE 424 -# define _OTHER 425 -# define _PROPERTY 426 -# define _SET 427 -# define _GET 428 -# define _PERMISSION 429 -# define _PERMISSIONSET 430 -# define REQUEST_ 431 -# define DEMAND_ 432 -# define ASSERT_ 433 -# define DENY_ 434 -# define PERMITONLY_ 435 -# define LINKCHECK_ 436 -# define INHERITCHECK_ 437 -# define REQMIN_ 438 -# define REQOPT_ 439 -# define REQREFUSE_ 440 -# define PREJITGRANT_ 441 -# define PREJITDENY_ 442 -# define NONCASDEMAND_ 443 -# define NONCASLINKDEMAND_ 444 -# define NONCASINHERITANCE_ 445 -# define _LINE 446 -# define P_LINE 447 -# define _LANGUAGE 448 -# define _CUSTOM 449 -# define INIT_ 450 -# define _SIZE 451 -# define _PACK 452 -# define _VTABLE 453 -# define _VTFIXUP 454 -# define FROMUNMANAGED_ 455 -# define CALLMOSTDERIVED_ 456 -# define _VTENTRY 457 -# define RETAINAPPDOMAIN_ 458 -# define _FILE 459 -# define NOMETADATA_ 460 -# define _HASH 461 -# define _ASSEMBLY 462 -# define _PUBLICKEY 463 -# define _PUBLICKEYTOKEN 464 -# define ALGORITHM_ 465 -# define _VER 466 -# define _LOCALE 467 -# define EXTERN_ 468 -# define _MRESOURCE 469 -# define _MODULE 470 -# define _EXPORT 471 -# define LEGACY_ 472 -# define LIBRARY_ 473 -# define X86_ 474 -# define IA64_ 475 -# define AMD64_ 476 -# define ARM_ 477 -# define MARSHAL_ 478 -# define CUSTOM_ 479 -# define SYSSTRING_ 480 -# define FIXED_ 481 -# define VARIANT_ 482 -# define CURRENCY_ 483 -# define SYSCHAR_ 484 -# define DECIMAL_ 485 -# define DATE_ 486 -# define BSTR_ 487 -# define TBSTR_ 488 -# define LPSTR_ 489 -# define LPWSTR_ 490 -# define LPTSTR_ 491 -# define OBJECTREF_ 492 -# define IUNKNOWN_ 493 -# define IDISPATCH_ 494 -# define STRUCT_ 495 -# define SAFEARRAY_ 496 -# define BYVALSTR_ 497 -# define LPVOID_ 498 -# define ANY_ 499 -# define ARRAY_ 500 -# define LPSTRUCT_ 501 -# define IIDPARAM_ 502 -# define IN_ 503 -# define OUT_ 504 -# define OPT_ 505 -# define PARAM_ 506 -# define _OVERRIDE 507 -# define WITH_ 508 -# define NULL_ 509 -# define HRESULT_ 510 -# define CARRAY_ 511 -# define USERDEFINED_ 512 -# define RECORD_ 513 -# define FILETIME_ 514 -# define BLOB_ 515 -# define STREAM_ 516 -# define STORAGE_ 517 -# define STREAMED_OBJECT_ 518 -# define STORED_OBJECT_ 519 -# define BLOB_OBJECT_ 520 -# define CF_ 521 -# define CLSID_ 522 -# define VECTOR_ 523 -# define _SUBSYSTEM 524 -# define _CORFLAGS 525 -# define ALIGNMENT_ 526 -# define _IMAGEBASE 527 -# define _STACKRESERVE 528 -# define _TYPEDEF 529 -# define _TEMPLATE 530 -# define _TYPELIST 531 -# define _MSCORLIB 532 -# define P_DEFINE 533 -# define P_UNDEF 534 -# define P_IFDEF 535 -# define P_IFNDEF 536 -# define P_ELSE 537 -# define P_ENDIF 538 -# define P_INCLUDE 539 -#define yyclearin yychar = -1 -#define yyerrok yyerrflag = 0 -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 150 -#endif -YYSTYPE yylval, yyval; -#ifndef YYFARDATA -#define YYFARDATA /*nothing*/ -#endif -#if ! defined YYSTATIC -#define YYSTATIC /*nothing*/ -#endif -#if ! defined YYCONST -#define YYCONST /*nothing*/ -#endif -#ifndef YYACT -#define YYACT yyact -#endif -#ifndef YYPACT -#define YYPACT yypact -#endif -#ifndef YYPGO -#define YYPGO yypgo -#endif -#ifndef YYR1 -#define YYR1 yyr1 -#endif -#ifndef YYR2 -#define YYR2 yyr2 -#endif -#ifndef YYCHK -#define YYCHK yychk -#endif -#ifndef YYDEF -#define YYDEF yydef -#endif -#ifndef YYV -#define YYV yyv -#endif -#ifndef YYS -#define YYS yys -#endif -#ifndef YYLOCAL -#define YYLOCAL -#endif -#ifndef YYR_T -#define YYR_T int -#endif -typedef YYR_T yyr_t; -#ifndef YYEXIND_T -#define YYEXIND_T unsigned int -#endif -typedef YYEXIND_T yyexind_t; -#ifndef YYOPTTIME -#define YYOPTTIME 0 -#endif -# define YYERRCODE 256 - -#line 2051 "asmparse.y" - - -#include "grammar_after.cpp" -YYSTATIC YYCONST short yyexca[] = { -#if !(YYOPTTIME) --1, 1, -#endif - 0, -1, - -2, 0, -#if !(YYOPTTIME) --1, 452, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 621, -#endif - 274, 549, - 47, 549, - -2, 227, -#if !(YYOPTTIME) --1, 642, -#endif - 40, 307, - 60, 307, - -2, 549, -#if !(YYOPTTIME) --1, 663, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 686, -#endif - 274, 549, - 47, 549, - -2, 510, -#if !(YYOPTTIME) --1, 803, -#endif - 123, 232, - -2, 549, -#if !(YYOPTTIME) --1, 828, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 953, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 986, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 987, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1308, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1309, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1315, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1322, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1447, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1479, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1545, -#endif - 41, 532, - -2, 308, -#if !(YYOPTTIME) --1, 1562, -#endif - 41, 532, - -2, 308, - -}; - -# define YYNPROD 838 -#if YYOPTTIME -YYSTATIC YYCONST yyexind_t yyexcaind[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 42, 46, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 54, - 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, - 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 78 -}; -#endif -# define YYLAST 3904 - -YYSTATIC YYCONST short YYFARDATA YYACT[] = { - 699, 1398, 1121, 1466, 658, 1467, 639, 1024, 1465, 878, - 1464, 963, 784, 753, 964, 221, 775, 26, 698, 725, - 73, 75, 275, 414, 624, 877, 966, 1399, 535, 191, - 477, 1503, 150, 788, 751, 756, 1134, 110, 1065, 107, - 690, 852, 273, 153, 219, 660, 24, 44, 776, 218, - 307, 10, 190, 176, 78, 81, 6, 86, 5, 598, - 673, 262, 204, 515, 3, 188, 217, 983, 17, 301, - 603, 136, 76, 1550, 1194, 1242, 214, 264, 7, 1238, - 1057, 1239, 1113, 1111, 85, 1112, 580, 74, 715, 88, - 87, 137, 89, 300, 115, 56, 139, 712, 672, 113, - 1058, 98, 112, 178, 179, 180, 181, 74, 272, 696, - 322, 519, 1015, 461, 220, 56, 18, 452, 536, 338, - 278, 88, 87, 1021, 89, 268, 216, 269, 1240, 225, - 56, 265, 277, 277, 1228, 1229, 106, 1226, 1227, 590, - 277, 343, 361, 360, 359, 358, 654, 368, 345, 653, - 68, 310, 312, 314, 316, 318, 185, 1554, 460, 1126, - 1127, 1414, 98, 931, 932, 327, 277, 348, 339, 1027, - 342, 778, 1026, 779, 373, 366, 154, 277, 695, 133, - 694, 991, 379, 271, 362, 84, 258, 364, 363, 376, - 614, 192, 387, 105, 1519, 662, 513, 930, 365, 1059, - 369, 202, 203, 371, 370, 1487, 374, 1264, 596, 450, - 661, 451, 763, 372, 416, 469, 186, 467, 471, 470, - 442, 26, 74, 376, 456, 417, 418, 346, 376, 1559, - 352, 472, 474, 599, 353, 305, 483, 388, 88, 87, - 596, 89, 410, 1263, 1478, 500, 492, 1314, 457, 441, - 24, 1200, 357, 491, 435, 10, 825, 797, 787, 56, - 486, 432, 490, 428, 475, 478, 479, 773, 476, 429, - 494, 434, 17, 192, 108, 666, 511, 511, 528, 534, - 375, 433, 7, 351, 267, 321, 480, 481, 473, 485, - 152, 710, 74, 484, 1234, 540, 1345, 116, 1496, 1391, - 56, 1540, 499, 80, 79, 498, 543, 493, 1417, 571, - 959, 268, 1351, 1544, 574, 348, 575, 154, 576, 436, - 18, 266, 548, 1335, 1116, 578, 579, 504, 541, 46, - 420, 544, 421, 422, 423, 933, 934, 570, 935, 88, - 572, 947, 89, 573, 46, 594, 854, 855, 856, 1128, - 640, 641, 600, 135, 198, 88, 87, 962, 89, 199, - 1541, 200, 568, 1510, 192, 487, 1341, 201, 612, 154, - 755, 482, 277, 674, 1543, 510, 510, 527, 533, 74, - 605, 744, 745, 746, 195, 808, 182, 623, 943, 611, - 599, 581, 582, 1141, 497, 1233, 700, 1252, 1142, 196, - 565, 367, 375, 620, 595, 258, 610, 88, 87, 518, - 89, 74, 606, 607, 608, 609, 747, 748, 749, 1542, - 643, 613, 599, 537, 340, 341, 634, 1489, 348, 807, - 459, 618, 619, 621, 780, 1130, 321, 876, 648, 649, - 638, 88, 87, 177, 89, 1231, 88, 87, 847, 89, - 152, 781, 702, 754, 347, 650, 664, 1502, 413, 88, - 87, 670, 946, 1488, 651, 88, 87, 155, 89, 681, - 642, 1518, 1126, 1127, 545, 743, 1118, 177, 993, 994, - 995, 996, 177, 587, 505, 859, 352, 1513, 667, 988, - 353, 678, 80, 79, 479, 177, 647, 692, 646, 1512, - 782, 1511, 61, 62, 47, 63, 536, 1508, 357, 645, - 685, 198, 741, 669, 480, 481, 199, 689, 200, 82, - 63, 74, 701, 479, 201, 711, 680, 453, 72, 679, - 88, 87, 519, 89, 512, 520, 74, 507, 508, 351, - 686, 195, 88, 480, 481, 89, 74, 723, 71, 70, - 354, 355, 356, 538, 691, 216, 196, 1141, 225, 1506, - 1241, 724, 1142, 675, 676, 677, 720, 657, 721, 49, - 50, 51, 52, 53, 54, 55, 671, 709, 74, 644, - 479, 730, 1504, 80, 79, 714, 80, 79, 348, 49, - 50, 51, 52, 53, 54, 55, 719, 74, 1141, 716, - 480, 481, 726, 1142, 49, 50, 51, 52, 53, 54, - 55, 156, 157, 158, 69, 758, 74, 542, 74, 88, - 87, 592, 89, 600, 67, 764, 765, 155, 88, 87, - 688, 89, 74, 783, 98, 638, 729, 1320, 1319, 1318, - 1317, 750, 74, 697, 325, 74, 703, 1172, 1171, 1170, - 1169, 542, 705, 348, 706, 177, 377, 1499, 324, 769, - 770, 771, 1337, 1338, 1339, 642, 815, 789, 813, 819, - 853, 88, 87, 816, 89, 822, 541, 1180, 801, 802, - 80, 79, 798, 823, 88, 812, 806, 89, 74, 66, - 818, 626, 627, 628, 74, 1117, 833, 834, 762, 1450, - 495, 826, 216, 786, 591, 225, 1439, 800, 793, 803, - 74, 809, 796, 636, 846, 824, 382, 383, 384, 385, - 817, 152, 74, 857, 74, 56, 629, 630, 631, 922, - 74, 740, 821, 49, 50, 51, 52, 53, 54, 55, - 1437, 850, 936, 937, 860, 1490, 516, 761, 88, 87, - 375, 89, 832, 1327, 844, 1247, 1243, 1244, 1245, 1246, - 1179, 1435, 769, 600, 949, 192, 845, 942, 1433, 848, - 276, 156, 157, 158, 49, 50, 51, 52, 53, 54, - 55, 97, 74, 924, 111, 925, 926, 927, 928, 929, - 952, 1001, 1416, 1407, 985, 152, 635, 938, 1406, 277, - 1013, 965, 362, 1326, 1011, 74, 354, 355, 356, 442, - 1000, 1009, 528, 605, 1404, 585, 954, 584, 583, 145, - 1390, 1012, 948, 1388, 586, 799, 960, 955, 277, 1017, - 958, 692, 692, 1032, 1378, 1376, 1237, 350, 441, 999, - 1008, 817, 1022, 435, 997, 1007, 851, 1374, 1037, 1014, - 432, 817, 428, 849, 1019, 1035, 1016, 1018, 429, 1039, - 434, 989, 326, 323, 88, 87, 94, 89, 74, 1372, - 433, 1033, 1034, 1045, 352, 772, 828, 277, 353, 1030, - 80, 79, 479, 1050, 277, 56, 1370, 1368, 691, 691, - 88, 87, 348, 89, 74, 954, 357, 337, 155, 348, - 1366, 1364, 480, 481, 668, 1362, 817, 1359, 436, 998, - 1006, 527, 1356, 1123, 1354, 1350, 56, 1334, 1312, 1055, - 152, 1196, 88, 87, 718, 89, 177, 351, 1044, 1053, - 193, 615, 1043, 194, 1051, 348, 1042, 352, 1041, 46, - 352, 353, 1122, 1023, 768, 820, 1067, 814, 1068, 1126, - 1127, 501, 733, 617, 616, 1124, 198, 177, 1132, 357, - 145, 199, 357, 200, 88, 87, 577, 89, 758, 201, - 564, 1300, 155, 1236, 308, 1119, 455, 109, 1054, 1140, - 1129, 92, 529, 1138, 1125, 1394, 195, 1298, 1115, 1185, - 351, 1183, 1184, 351, 88, 87, 1186, 89, 1178, 277, - 177, 196, 1296, 1491, 1064, 1060, 1061, 1062, 1063, 1025, - 1492, 1133, 145, 1182, 1415, 328, 329, 330, 1294, 1181, - 956, 96, 1301, 590, 104, 103, 102, 101, 1219, 99, - 100, 105, 56, 1, 1175, 1332, 1195, 1173, 1299, 1203, - 332, 941, 156, 157, 158, 1167, 1187, 1188, 1189, 1190, - 1230, 766, 1202, 1297, 1165, 1232, 1191, 1192, 1193, 80, - 79, 479, 588, 1131, 1223, 1225, 1224, 1222, 984, 1295, - 1235, 1197, 1400, 88, 87, 1163, 89, 1198, 1161, 1199, - 945, 480, 481, 589, 1218, 1176, 189, 708, 1174, 88, - 87, 1005, 89, 1003, 1004, 1159, 1168, 155, 1010, 46, - 707, 205, 152, 1157, 704, 1166, 633, 1412, 412, 187, - 625, 790, 61, 62, 47, 63, 156, 157, 158, 1248, - 1177, 192, 192, 192, 192, 177, 1164, 277, 1268, 1162, - 46, 192, 192, 192, 331, 1266, 333, 334, 335, 336, - 1155, 625, 1251, 192, 1411, 1265, 1160, 1269, 1410, 1271, - 1273, 1274, 1255, 1277, 1158, 1279, 1280, 1281, 1282, 1283, - 1284, 1285, 1270, 1287, 1288, 1289, 1290, 1291, 1292, 1293, - 1254, 1401, 1259, 56, 1302, 1303, 1153, 1305, 1304, 1151, - 1272, 1149, 1275, 1276, 1147, 1278, 1221, 1048, 1267, 1047, - 836, 1156, 1307, 1286, 354, 355, 356, 1145, 1143, 49, - 50, 51, 52, 53, 54, 55, 742, 1316, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 665, 1313, 352, 317, 1154, 454, 353, - 1152, 315, 1150, 313, 1328, 1148, 378, 1330, 1331, 521, - 1321, 156, 157, 158, 311, 45, 46, 357, 1146, 1144, - 1336, 1340, 309, 1333, 817, 41, 43, 354, 355, 356, - 354, 355, 356, 1135, 1342, 277, 277, 1140, 1552, 526, - 590, 88, 87, 306, 89, 63, 415, 308, 351, 155, - 1315, 1343, 308, 1257, 308, 56, 277, 503, 1452, 512, - 590, 1451, 507, 508, 140, 308, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 308, 944, 1347, 63, 177, 590, 1539, - 590, 1329, 1344, 1392, 1393, 193, 531, 1346, 194, 532, - 1397, 1396, 940, 831, 308, 138, 1379, 1402, 1403, 1031, - 1524, 590, 923, 1408, 590, 590, 1395, 830, 811, 767, - 760, 198, 177, 1405, 717, 566, 199, 349, 200, 258, - 303, 792, 1564, 117, 201, 97, 1555, 1553, 1140, 49, - 50, 51, 52, 53, 54, 55, 1546, 1523, 817, 1486, - 1485, 195, 1484, 1454, 1449, 1446, 1443, 1442, 1438, 56, - 524, 1436, 1434, 1432, 1419, 1413, 196, 46, 1409, 1389, - 49, 50, 51, 52, 53, 54, 55, 134, 1445, 1387, - 1377, 1375, 1373, 1371, 1369, 1367, 1365, 1363, 1361, 1360, - 526, 1455, 1456, 1457, 1358, 1357, 1355, 1453, 1353, 1444, - 1448, 1352, 63, 156, 157, 158, 1349, 1324, 1348, 1325, - 1458, 1323, 523, 1311, 1470, 525, 1310, 1471, 1469, 1468, - 1306, 1256, 1253, 258, 1476, 693, 1220, 88, 87, 1114, - 89, 1052, 1481, 1038, 1480, 1036, 1029, 1028, 1020, 961, - 951, 950, 56, 1498, 939, 1483, 1505, 1507, 1509, 858, - 1505, 1507, 1509, 530, 841, 840, 1495, 1507, 1516, 838, - 1520, 1517, 1515, 1514, 1522, 1521, 88, 835, 829, 89, - 827, 56, 810, 1497, 1500, 1501, 791, 774, 738, 46, - 737, 1538, 736, 1493, 735, 734, 49, 50, 51, 52, - 53, 54, 55, 732, 731, 1529, 1505, 1507, 1509, 684, - 637, 524, 569, 425, 424, 344, 258, 320, 206, 1562, - 1547, 1525, 817, 1545, 1479, 1475, 1474, 1473, 1472, 1447, - 1534, 1441, 1440, 1431, 1430, 354, 355, 356, 1551, 1429, - 1549, 1428, 1427, 1548, 1535, 1536, 1537, 449, 1426, 1425, - 1424, 1423, 1561, 63, 1422, 1421, 1560, 1563, 1420, 1418, - 1300, 1298, 1296, 523, 1294, 1322, 525, 1175, 1173, 1557, - 88, 1558, 1167, 89, 1556, 1526, 1527, 1528, 1530, 1531, - 1532, 1533, 1165, 46, 1163, 96, 1161, 1159, 104, 103, - 102, 101, 56, 99, 100, 105, 1157, 1155, 1153, 1151, - 1149, 1309, 1308, 817, 1250, 1249, 1066, 1056, 1049, 1040, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 987, 986, 953, 843, 59, 842, 839, - 837, 208, 259, 210, 228, 212, 213, 49, 50, 51, - 52, 53, 54, 55, 728, 41, 43, 727, 713, 687, - 683, 682, 663, 88, 632, 602, 89, 601, 593, 567, - 547, 546, 61, 62, 47, 63, 46, 496, 419, 411, - 874, 386, 319, 223, 304, 522, 514, 868, 517, 869, - 870, 871, 509, 506, 56, 502, 302, 222, 36, 184, - 93, 33, 468, 466, 465, 46, 464, 463, 244, 462, - 227, 243, 215, 209, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 863, 864, 865, - 95, 59, 226, 224, 207, 208, 259, 210, 228, 212, - 213, 211, 879, 31, 56, 1002, 992, 439, 795, 41, - 43, 431, 794, 430, 427, 539, 1046, 270, 83, 49, - 50, 51, 52, 53, 54, 55, 61, 62, 47, 63, - 29, 57, 862, 866, 867, 34, 872, 223, 25, 873, - 16, 263, 15, 14, 261, 13, 260, 12, 11, 9, - 8, 222, 1086, 4, 2, 234, 242, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 990, 241, 240, 239, 59, 238, 46, 237, 208, 259, - 210, 228, 212, 213, 236, 235, 226, 224, 233, 232, - 231, 230, 41, 43, 229, 114, 77, 42, 56, 38, - 30, 58, 32, 59, 752, 656, 655, 1482, 299, 61, - 62, 47, 63, 49, 50, 51, 52, 53, 54, 55, - 223, 41, 43, 90, 183, 861, 1139, 757, 785, 1258, - 957, 1137, 1136, 604, 222, 1461, 1460, 1459, 61, 62, - 47, 63, 1477, 1463, 1462, 60, 35, 1201, 1120, 597, - 659, 21, 777, 91, 37, 1069, 739, 65, 64, 197, - 875, 39, 40, 0, 426, 0, 0, 0, 0, 226, - 224, 0, 982, 981, 980, 0, 975, 974, 973, 972, - 0, 970, 971, 105, 0, 979, 978, 977, 976, 0, - 0, 0, 969, 967, 0, 0, 49, 50, 51, 52, - 53, 54, 55, 0, 0, 0, 0, 0, 0, 0, - 38, 30, 58, 32, 59, 0, 19, 20, 46, 22, - 23, 48, 0, 27, 28, 49, 50, 51, 52, 53, - 54, 55, 41, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, - 62, 47, 63, 0, 0, 0, 60, 35, 968, 0, - 0, 0, 21, 0, 0, 37, 444, 1097, 0, 874, - 0, 0, 39, 40, 0, 0, 868, 0, 869, 870, - 871, 0, 0, 0, 0, 0, 1073, 1074, 0, 1081, - 1095, 1075, 1076, 1077, 1078, 0, 1079, 1080, 0, 1096, - 1082, 1083, 1084, 1085, 0, 0, 0, 0, 0, 0, - 0, 0, 46, 0, 0, 0, 863, 864, 865, 0, - 0, 0, 0, 0, 0, 0, 0, 19, 20, 0, - 22, 23, 48, 0, 27, 28, 49, 50, 51, 52, - 53, 54, 55, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 448, 0, 58, 32, 59, 0, 0, 0, - 444, 862, 866, 867, 0, 872, 445, 0, 873, 0, - 0, 446, 0, 0, 41, 43, 0, 146, 874, 0, - 0, 0, 0, 0, 0, 868, 0, 869, 870, 871, - 0, 61, 62, 47, 63, 0, 437, 438, 0, 921, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 863, 864, 865, 49, 50, - 51, 52, 53, 54, 55, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 448, 0, 58, 32, - 59, 443, 440, 0, 0, 0, 0, 0, 0, 0, - 445, 0, 0, 0, 0, 446, 0, 0, 41, 43, - 862, 866, 867, 0, 872, 0, 0, 873, 49, 50, - 51, 52, 53, 54, 55, 61, 62, 47, 63, 1494, - 437, 438, 1071, 1072, 0, 1087, 1088, 1089, 0, 1090, - 1091, 0, 0, 1092, 1093, 0, 1094, 0, 0, 0, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 1070, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, - 1108, 1109, 1110, 893, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 443, 440, 920, 0, 0, - 0, 0, 885, 886, 0, 894, 911, 887, 888, 889, - 890, 0, 891, 892, 0, 912, 895, 896, 897, 898, - 893, 0, 49, 50, 51, 52, 53, 54, 55, 0, - 0, 0, 0, 0, 920, 146, 0, 0, 0, 885, - 886, 0, 894, 911, 887, 888, 889, 890, 0, 891, - 892, 0, 912, 895, 896, 897, 898, 0, 0, 0, - 909, 0, 913, 0, 0, 175, 0, 915, 0, 151, - 148, 163, 161, 170, 0, 164, 165, 166, 167, 0, - 168, 169, 917, 0, 171, 172, 173, 174, 563, 0, - 0, 142, 162, 152, 0, 0, 0, 909, 0, 913, - 141, 147, 0, 0, 915, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 918, 143, 144, 149, 917, - 555, 0, 549, 550, 551, 552, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, - 352, 0, 0, 0, 768, 0, 0, 0, 0, 0, - 160, 0, 918, 0, 0, 0, 0, 0, 557, 558, - 559, 560, 357, 0, 554, 0, 0, 0, 561, 562, - 553, 0, 0, 0, 0, 982, 981, 980, 0, 975, - 974, 973, 972, 0, 970, 971, 105, 0, 979, 978, - 977, 976, 0, 622, 0, 969, 967, 0, 0, 0, - 0, 0, 0, 0, 0, 880, 0, 881, 882, 883, - 884, 899, 900, 901, 916, 902, 903, 904, 905, 906, - 907, 908, 910, 914, 0, 0, 0, 919, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 880, 0, 881, 882, 883, 884, 899, 900, - 901, 916, 902, 903, 904, 905, 906, 907, 908, 910, - 914, 968, 88, 87, 919, 89, 0, 0, 0, 0, - 155, 0, 556, 175, 0, 0, 0, 151, 148, 163, - 161, 170, 0, 164, 165, 166, 167, 0, 168, 169, - 0, 0, 171, 172, 173, 174, 146, 0, 177, 142, - 162, 352, 0, 0, 0, 353, 0, 0, 141, 147, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 357, 143, 144, 149, 0, 0, 175, - 0, 0, 0, 0, 0, 163, 161, 170, 0, 164, - 165, 166, 167, 0, 168, 169, 0, 0, 171, 172, - 173, 174, 0, 0, 622, 1261, 162, 0, 160, 159, - 0, 0, 88, 87, 0, 89, 0, 0, 0, 0, - 155, 0, 0, 175, 0, 0, 0, 151, 148, 163, - 161, 170, 0, 164, 165, 166, 167, 0, 168, 169, - 0, 0, 171, 172, 173, 174, 0, 0, 177, 142, - 162, 0, 0, 1262, 0, 0, 0, 0, 141, 147, - 0, 0, 0, 0, 156, 157, 158, 0, 0, 0, - 0, 1260, 0, 0, 143, 144, 149, 0, 0, 0, - 0, 0, 0, 0, 297, 198, 146, 0, 0, 0, - 199, 352, 200, 0, 0, 353, 0, 0, 201, 0, - 0, 63, 0, 0, 0, 0, 0, 0, 160, 0, - 354, 355, 356, 357, 0, 195, 284, 0, 279, 280, - 281, 282, 283, 0, 640, 641, 0, 287, 0, 0, - 196, 0, 0, 0, 0, 0, 285, 0, 0, 0, - 295, 0, 286, 0, 622, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 288, 289, 290, 291, 292, 293, - 294, 298, 0, 0, 156, 157, 158, 296, 0, 0, - 0, 0, 0, 88, 87, 0, 89, 0, 0, 0, - 146, 155, 0, 0, 175, 0, 0, 0, 151, 148, - 163, 161, 170, 0, 164, 165, 166, 167, 0, 168, - 169, 0, 0, 171, 172, 173, 174, 0, 0, 177, - 142, 162, 0, 0, 0, 0, 0, 0, 0, 141, - 147, 0, 0, 0, 348, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 149, 274, 1217, - 1216, 1211, 0, 1210, 1209, 1208, 1207, 146, 1205, 1206, - 105, 0, 1215, 1214, 1213, 1212, 0, 0, 0, 0, - 0, 1204, 0, 0, 0, 0, 0, 0, 0, 160, - 0, 354, 355, 356, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 641, 982, 981, 980, - 0, 975, 974, 973, 972, 0, 970, 971, 105, 0, - 979, 978, 977, 976, 0, 274, 0, 969, 967, 0, - 0, 0, 0, 88, 87, 0, 89, 0, 0, 0, - 0, 155, 0, 0, 175, 156, 157, 158, 151, 148, - 163, 161, 170, 0, 164, 165, 166, 167, 0, 168, - 169, 0, 0, 171, 172, 173, 174, 146, 0, 177, - 142, 162, 0, 0, 0, 0, 0, 0, 0, 141, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 968, 0, 143, 144, 149, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 274, 0, 88, 87, 160, - 89, 354, 355, 356, 146, 155, 0, 0, 175, 0, - 0, 0, 151, 148, 163, 161, 170, 0, 164, 165, - 166, 167, 0, 168, 169, 0, 0, 171, 172, 173, - 174, 0, 0, 177, 142, 162, 0, 0, 0, 0, - 0, 0, 0, 141, 147, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 157, 158, 0, 143, - 144, 149, 274, 805, 88, 87, 0, 89, 0, 0, - 0, 0, 155, 0, 0, 175, 0, 0, 0, 151, - 148, 163, 161, 170, 0, 164, 165, 166, 167, 0, - 168, 169, 0, 160, 171, 172, 173, 174, 146, 0, - 177, 142, 162, 0, 0, 0, 0, 804, 0, 0, - 141, 147, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 143, 144, 149, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, - 157, 158, 0, 0, 0, 0, 274, 0, 0, 0, - 160, 159, 0, 0, 88, 87, 146, 89, 0, 0, - 0, 0, 155, 0, 0, 175, 0, 0, 0, 151, - 148, 163, 161, 170, 0, 164, 165, 166, 167, 0, - 168, 169, 0, 0, 171, 172, 173, 174, 0, 0, - 177, 142, 162, 0, 0, 0, 0, 0, 0, 0, - 141, 147, 0, 0, 0, 0, 156, 157, 158, 0, - 0, 0, 0, 0, 274, 0, 143, 144, 149, 0, - 0, 88, 87, 0, 89, 0, 0, 0, 0, 155, - 0, 0, 175, 0, 0, 0, 151, 148, 163, 161, - 170, 0, 164, 165, 166, 167, 0, 168, 169, 0, - 160, 171, 172, 173, 174, 0, 0, 177, 142, 162, - 0, 0, 0, 0, 0, 0, 0, 759, 147, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 144, 149, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 146, 0, 0, 0, 0, 156, 157, 158, 0, - 0, 0, 0, 0, 0, 88, 87, 160, 89, 0, - 0, 0, 0, 155, 0, 0, 175, 0, 0, 0, - 151, 148, 163, 161, 170, 0, 164, 165, 166, 167, - 0, 168, 169, 0, 0, 171, 172, 173, 174, 0, - 0, 177, 142, 162, 0, 0, 146, 0, 0, 0, - 0, 141, 147, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 157, 158, 0, 143, 144, 149, - 0, 0, 0, 88, 87, 0, 89, 0, 0, 0, - 0, 155, 0, 0, 175, 0, 0, 0, 151, 148, - 163, 161, 170, 0, 164, 165, 166, 167, 0, 168, - 169, 652, 146, 171, 172, 173, 174, 0, 0, 177, - 142, 162, 88, 87, 0, 89, 0, 0, 0, 141, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 149, 0, 0, - 0, 0, 0, 0, 0, 0, 409, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 156, 157, 158, - 988, 0, 0, 0, 0, 0, 0, 0, 0, 458, - 0, 0, 0, 0, 391, 0, 0, 0, 407, 0, - 0, 389, 390, 0, 0, 0, 393, 394, 405, 395, - 396, 397, 398, 399, 400, 401, 402, 392, 0, 0, - 0, 0, 0, 406, 0, 0, 404, 0, 0, 0, - 146, 0, 0, 403, 722, 0, 0, 0, 0, 0, - 0, 0, 408, 0, 0, 156, 157, 158, 488, 175, - 489, 0, 0, 151, 148, 163, 161, 170, 0, 164, - 165, 166, 167, 0, 168, 169, 0, 0, 171, 172, - 173, 174, 0, 0, 177, 142, 162, 0, 0, 0, - 0, 0, 0, 0, 141, 147, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 143, 144, 149, 380, 175, 381, 0, 0, 151, 148, - 163, 161, 170, 0, 164, 165, 166, 167, 0, 168, - 169, 0, 0, 171, 172, 173, 174, 0, 0, 0, - 142, 162, 0, 0, 160, 0, 0, 0, 0, 141, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 149, 0, 0, - 175, 0, 0, 0, 151, 148, 163, 161, 170, 0, - 164, 165, 166, 167, 0, 168, 169, 0, 0, 171, - 172, 173, 174, 0, 0, 0, 142, 162, 0, 160, - 0, 0, 0, 0, 0, 141, 147, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 143, 144, 149, 175, 0, 0, 0, 151, 148, - 163, 161, 170, 0, 164, 165, 166, 167, 0, 168, - 169, 0, 0, 171, 172, 173, 174, 0, 0, 0, - 142, 162, 0, 0, 0, 160, 0, 0, 0, 141, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 144, 149, 175, 0, - 0, 0, 151, 148, 163, 161, 170, 0, 164, 165, - 166, 167, 0, 168, 169, 0, 0, 171, 172, 173, - 174, 0, 0, 0, 142, 162, 0, 0, 0, 160, - 0, 0, 0, 141, 147, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, - 144, 149, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 160 -}; - -YYSTATIC YYCONST short YYFARDATA YYPACT[] = { --1000, 1543,-1000, 566, 501,-1000,-1000,-1000,-1000,-1000, --1000,-1000, 491, 426, 425, 405,-1000,-1000,-1000, 28, - 28, -454, 39, 39,-1000,-1000,-1000, 396,-1000, -129, - 411,-1000, 890, 743, 7, 886, 28, -366, -369,-1000, - -171, 777, 7, 777,-1000,-1000,-1000, 90, 2292, 411, - 411, 411, 411,-1000,-1000, 124,-1000,-1000,-1000, -162, - 1048,-1000,-1000, 1046, 7, 7,-1000,-1000, 1403,-1000, --1000,-1000,-1000,-1000,-1000,-1000, 28, -139,-1000,-1000, --1000,-1000, 359, -132, 2954, 1220,-1000,-1000,-1000,-1000, - 2430,-1000, 28,-1000, 1317,-1000, 1308, 1644, 7, 1233, - 1212, 1204, 1193, 1191, 1186, 1642, 1486, 18,-1000, 28, - 600, 662,-1000,-1000, 95, 1220, 411, 2954,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000, 1484, 166, 1303, 448, -244, -245, -246, - -247, 359,-1000, -118, 359, 661, 368,-1000,-1000, -76, --1000, 3547, 186, 1189,-1000,-1000,-1000,-1000,-1000, 3383, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, - 435,-1000,-1000,-1000,-1000,-1000, 1220, 1641, 326, 1220, - 1220, 1220,-1000, 3222, 79,-1000,-1000, 1639, 1047, 2854, --1000, 3547,-1000,-1000,-1000, 216, 216,-1000, 1638,-1000, --1000, 29, 1483, 1482, 1779, 1432,-1000,-1000, 28,-1000, - 28, 77,-1000,-1000,-1000,-1000, 1170,-1000,-1000,-1000, --1000,-1000, 885, 28, 3183,-1000, 67, -94,-1000,-1000, - 424, 28, 39, 228, 7, 424, 661, 3328, 2954, -95, - 216, 2854, 1637,-1000, 282,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, - 826, 71, 1114, 857,-1000, 87,-1000, 298, 359,-1000, --1000, 2954,-1000,-1000, 181, 899, 216, 411,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000, 1631, 1630, 2084, - 877, 275, 1301, 1629, 79, 1481, 0,-1000, 28, 0, --1000, 39,-1000, 28,-1000, 28,-1000, 28,-1000,-1000, --1000,-1000, 873,-1000, 28, 28,-1000, 1220,-1000,-1000, --1000, -387,-1000,-1000,-1000,-1000,-1000, 662, 488, 94, --1000,-1000, 1220, 1022,-1000, 1292, 581, 1628,-1000, 82, - 411, 115,-1000,-1000,-1000, 1627, 1625, 3547, 411, 411, - 411, 411,-1000, 359,-1000,-1000, 3547, 604,-1000, 1220, --1000, -90,-1000, 899, 838, 861, 860, 411, 411, 2693, --1000,-1000,-1000,-1000,-1000,-1000, 28, 1292, 1081,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000, 362,-1000,-1000,-1000, 1624, - 1045,-1000, 673, 1479,-1000,-1000, 2553,-1000,-1000, 28, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 386, - 375, 373,-1000,-1000,-1000,-1000,-1000, 28, 28, 332, - 3115,-1000,-1000, -214, -217,-1000,-1000,-1000,-1000,-1000, --1000,-1000, -65, 1622,-1000, 28, 1165, 1, 216, 813, - 28,-1000, -94, 63, 63, 63, 63, 2954, 282,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, - 1621, 1620, 1478,-1000,-1000,-1000, 2693,-1000,-1000,-1000, --1000, 1292, 1619, 7, 3547,-1000, 424, 1320,-1000, -136, - -138,-1000,-1000, -356,-1000,-1000, 7, 354, 391, 7, --1000,-1000, 1043,-1000,-1000, 7,-1000, 7,-1000, 1039, - 1026,-1000,-1000, 411, -177, -371, 1618,-1000,-1000,-1000, --1000, 411, -380,-1000,-1000, -350,-1000,-1000,-1000, 1300, --1000, 831, 411, 3547, 1220, 3493, 28, 53, 1187,-1000, --1000,-1000,-1000,-1000,-1000,-1000, 1617,-1000,-1000,-1000, --1000,-1000,-1000, 1614,-1000,-1000, 1317, 53, 1473,-1000, - 1472, 859, 1464, 1463, 1461, 1459, 1457,-1000, 468, 1148, --1000, 86, 1220,-1000,-1000,-1000, 52, 411, 53, 330, - 108, 3021,-1000,-1000, 1296, 1220,-1000, 654,-1000,-1000, - -63, 2954, 2954, 989, 1295, 899, 1220, 1220, 1220, 1220, --1000, 2392,-1000, 1220,-1000, 411, 411, 411, 782, 1220, - -7, 1220, 147, 1456,-1000, 128,-1000,-1000,-1000,-1000, --1000,-1000, 28,-1000, 1292,-1000,-1000, 661, -16, 1051, --1000,-1000, 1220, 1455, 1226,-1000,-1000,-1000,-1000,-1000, --1000, -17, 216, 734, 2954, 2787, 59, 488, 1451, 1294, --1000,-1000, 3493, -65, 854, 28, -22, 3547, 28, 1220, - 852,-1000,-1000,-1000, 424,-1000,-1000,-1000,-1000,-1000, --1000,-1000, 28, 39,-1000, -18, 1220, 53, 1449, 836, - 1447, 1293, 1279,-1000, 79, 28, 28, 1446, 1132,-1000, --1000, 1292, 1600, 1438, 1599, 1434, 1433, 1598, 1596, 1220, - 411,-1000, 411, 28, 131, 411, 7, 2954, 411, 753, - 902, 192, -157, 1428, 96, 1824, 120, 2016, 28,-1000, - 1291,-1000, 883,-1000, 883, 883, 883, 883, 883, -120, --1000, 28, 28, 411,-1000,-1000,-1000,-1000,-1000,-1000, - 1220, 1423, 1278, 980,-1000,-1000, 263, 1260, 1019, 199, - 78,-1000, -42, 28, 1420, 1419,-1000, 3547, 1595, 1189, - 1189, 1189, 411, 411,-1000, 958, 270, 128,-1000,-1000, --1000,-1000,-1000, 1418, 232, 1635, 1007, -22, 1594, 1593, - 3439,-1000,-1000, 1685, 56, 666, 973, -22, 3547, 28, - 1220, -337, 411, 1220,-1000,-1000, 3547,-1000,-1000, 1220, --1000, -65, 192, 1417, -266,-1000,-1000, 1220, 2693, 850, - 948, -144, -147, 1416, 1415, 411, 1288,-1000, -65,-1000, - 424, 424,-1000,-1000,-1000,-1000, 354,-1000,-1000,-1000, --1000,-1000,-1000,-1000, 1189, 1220, 1414, 28, 1220, 1412, --1000, 411, -22, 1579, 845, 843, 839, 835,-1000, 53, - 1715,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000, 1131, 1129, 1578, 948, 79, 1410, 887, 7, - 1577, -400, -78,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000, 724,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000, 1576, 1576,-1000, 1576, - 1750,-1000,-1000, -412,-1000, -402,-1000,-1000, -417,-1000, --1000,-1000, 1408,-1000,-1000,-1000,-1000,-1000,-1000,-1000, - 79,-1000,-1000,-1000,-1000,-1000, 61, 432, 1220,-1000, - 53, 630, 224,-1000, 3021, 312, 1002,-1000,-1000,-1000, --1000,-1000, 899, -65, 1189, 1220,-1000, 411, 1219, 2954, --1000,-1000,-1000, 200,-1000,-1000,-1000, 1158, 1157, 1144, - 1141, 1139, 1136, 1100, 1063, 1055, 1038, 1035, 1014, 1005, - 366, 997, 994, 7, 637, 1051, -65, -65, 28, 934, --1000,-1000,-1000, 661, 661, 661, 661,-1000,-1000,-1000, --1000,-1000,-1000, 661, 661, 661,-1000,-1000,-1000,-1000, --1000, -434, 2693, 828,-1000, 661, 1220, 1187,-1000, 79, --1000, 79, -23,-1000,-1000, 2602, 79, 28,-1000,-1000, - 1220,-1000, 1405,-1000,-1000, 1128,-1000,-1000, -301, 1050, - 2016,-1000,-1000,-1000,-1000, 1292,-1000, -254, -257, 28, --1000,-1000,-1000,-1000, 352, 169, 53, 882, 745,-1000, --1000,-1000,-1000,-1000,-1000,-1000, -423,-1000,-1000, 37, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000, 475,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 28,-1000, --1000,-1000,-1000, 1575, 1292, 1574,-1000,-1000,-1000,-1000, --1000, 274, 1401, 1219,-1000, 128, 1400, 1239,-1000, 2348, --1000,-1000,-1000, -56, 28, 829, 28, 2650, 28, 314, - 28, 795, 28, 39, 28, 28, 28, 28, 28, 28, - 28, 39, 28, 28, 28, 28, 28, 28, 28, 978, - 962, 947, 931, 28, 28, -160, 28, 1399, 1292,-1000, --1000, 1572, 1571, 1395, 1392, 825,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000, 216, -27,-1000, 1240,-1000,-1000, - -22,-1000,-1000, 1292,-1000, 1570, 1569, 1568, 1567, 1566, - 1557, 356, 1556, 1554, 1552, 1542, 1538, 1537,-1000,-1000, --1000, 354,-1000, 1535, 1390, 1386,-1000,-1000,-1000,-1000, - 1388,-1000, 710, 28,-1000, 1267, 28, 28, 974, 53, - 824,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 60, 28, - 381, 241,-1000,-1000,-1000,-1000,-1000, 2954, 205,-1000, --1000,-1000, 1011, 1387, 1385, 822, 49, 1380, 1377, 821, - 1375, 819, 1374, 1373, 814, 1368, 1367, 812, 1366, 808, - 1365, 807, 1364, 794, 1363, 793, 1362, 776, 1361, 754, - 1360, 742, 1359, 741, 39, 28, 28, 28, 28, 28, - 28, 28, 1358, 730, 1348, 727,-1000, 174, -65, -65, --1000,-1000, 923, 3547, -22, -65, 1012, 1534, 1532, 1531, - 1530, 1113, -65,-1000,-1000,-1000,-1000, 28, 721, 53, - 705, 700, 28, 1292,-1000,-1000, 1347, 1090, 1086, 1049, - 1344,-1000, 36,-1000, 953, 699, 45,-1000,-1000,-1000, - 1529, 1343,-1000,-1000, 1528,-1000, 1525,-1000,-1000, 1524, --1000,-1000, 1521,-1000, 1520,-1000, 1519,-1000, 1518,-1000, - 1512,-1000, 1511,-1000, 1509,-1000, 1504,-1000, 1503, 1342, - 675, 1341, 668, 1340, 647, 1337, 613,-1000, 1502,-1000, - 1501,-1000, 1336, 1335,-1000, 2693, 1012, 1334, 1499,-1000, - 398, 354, 1333, 606,-1000, 1247,-1000, 2053, 1332,-1000, - 28, 28, 28,-1000,-1000, 2650,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000, 1498,-1000, 1497,-1000, 1496,-1000, 1495, --1000,-1000,-1000,-1000, -30, 1494, 948, -65,-1000,-1000, --1000, 53,-1000, 887,-1000, 1331, 1329, 1328,-1000, 164, - 704, 2188, 257, 616, 416, 541, 518, 466, 322, 460, - 458, 446,-1000,-1000,-1000,-1000, 430, 153, -22, -65, --1000, 1326, 1207, 1265,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000, 38,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000, 319, 378, 333, 272,-1000,-1000, --1000, 1493, 1325,-1000,-1000,-1000,-1000,-1000,-1000,-1000, --1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 1490, 53, --1000,-1000,-1000,-1000,-1000, -65, -435, 28, 1227, 1316, - -199, 1315,-1000,-1000, 216,-1000, 3547, 2693, -45, -22, - 1012, 1489, -65, 1311,-1000 -}; - -YYSTATIC YYCONST short YYFARDATA YYPGO[] = { - 0, 53, 57, 6, 1900, 43, 40, 29, 1899, 0, - 1898, 1897, 1896, 195, 50, 1895, 1893, 2, 1892, 48, - 38, 1, 27, 30, 31, 4, 1890, 45, 22, 59, - 1889, 136, 39, 9, 25, 7, 13, 1888, 41, 1887, - 14, 26, 1884, 1883, 5, 3, 8, 10, 1882, 1877, - 1876, 1875, 32, 33, 70, 1873, 1872, 1871, 1870, 12, - 1869, 1868, 11, 1867, 35, 1866, 18, 36, 16, 24, - 42, 23, 458, 65, 1276, 52, 127, 1864, 1863, 1848, - 1847, 1846, 1845, 19, 34, 1844, 1353, 1837, 1836, 28, - 784, 119, 1835, 47, 1245, 1834, 1831, 1830, 1829, 1828, - 1825, 1824, 1817, 1815, 1813, 1812, 1811, 1796, 1795, 1033, - 1794, 64, 62, 1793, 58, 150, 56, 76, 1790, 1789, - 49, 1788, 1787, 1786, 1785, 1784, 1783, 61, 1782, 1781, - 1780, 66, 114, 44, 1778, 15, 284, 1775, 1771, 1770, - 1758, 1757, 1755, 1754, 1753, 1752, 1751, 1748, 1747, 770, - 1746, 1745, 1743, 1742, 1741, 1734, 1713, 1712, 60, 1711, - 1710, 113, 1709, 1708, 1707, 98, 1706, 1704, 1703, 1702, - 1701, 1700, 1699, 69, 1696, 67, 1698, 63, 1695, 484, - 1693, 1692, 1688, 1686, 1685, 1473 -}; -YYSTATIC YYCONST yyr_t YYFARDATA YYR1[]={ - - 0, 109, 109, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 136, - 136, 36, 36, 133, 133, 133, 2, 2, 1, 1, - 1, 9, 24, 24, 23, 23, 23, 134, 134, 134, - 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 93, 93, 93, 93, 94, 94, 94, 94, 10, - 11, 73, 72, 72, 59, 61, 61, 61, 62, 62, - 62, 65, 65, 132, 132, 132, 60, 60, 60, 60, - 60, 60, 130, 130, 130, 119, 12, 12, 12, 12, - 12, 12, 118, 137, 113, 138, 139, 111, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 140, 140, 141, 141, 112, - 112, 142, 142, 56, 56, 57, 57, 69, 69, 18, - 18, 18, 18, 18, 19, 19, 68, 68, 67, 67, - 58, 21, 21, 22, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 116, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 4, 4, 35, 35, 16, 16, 75, 75, 75, 75, - 75, 75, 75, 7, 7, 7, 7, 8, 8, 8, - 8, 8, 8, 8, 76, 74, 74, 74, 74, 74, - 74, 144, 144, 81, 81, 81, 145, 145, 150, 150, - 150, 150, 150, 150, 150, 150, 146, 82, 82, 82, - 147, 147, 151, 151, 151, 151, 151, 151, 151, 152, - 38, 38, 34, 34, 153, 114, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 3, 3, 3, 13, 13, - 13, 13, 13, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 154, 115, - 115, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 158, 159, 156, 161, 161, - 160, 160, 160, 163, 162, 162, 162, 162, 166, 166, - 166, 169, 164, 167, 168, 165, 165, 165, 117, 170, - 170, 172, 172, 172, 171, 171, 173, 173, 14, 14, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 175, 31, 31, 32, 32, 39, - 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 42, 42, - 42, 43, 43, 43, 47, 47, 46, 46, 45, 45, - 44, 44, 48, 48, 49, 49, 49, 50, 50, 50, - 50, 51, 51, 149, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 6, 6, 6, 6, 6, 53, 53, 54, 54, - 55, 55, 25, 25, 26, 26, 27, 27, 27, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 5, - 5, 71, 71, 71, 71, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 30, 30, 29, 29, 29, 29, 29, - 131, 131, 131, 131, 131, 131, 64, 64, 64, 63, - 63, 87, 87, 84, 84, 85, 17, 17, 37, 37, - 37, 37, 37, 37, 37, 37, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 176, 176, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 121, 121, 88, 88, 89, 89, - 177, 122, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 123, 123, 178, 178, 178, 66, 66, 179, - 179, 179, 179, 179, 179, 180, 182, 181, 124, 124, - 125, 125, 183, 183, 183, 183, 126, 148, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 127, 127, - 184, 184, 184, 184, 184, 184, 184, 128, 128, 92, - 92, 92, 129, 129, 185, 185, 185, 185 }; -YYSTATIC YYCONST yyr_t YYFARDATA YYR2[]={ - - 0, 0, 2, 4, 4, 3, 1, 1, 1, 1, - 1, 1, 4, 4, 4, 4, 1, 1, 1, 2, - 2, 3, 2, 2, 1, 1, 1, 4, 1, 0, - 2, 1, 3, 2, 4, 6, 1, 1, 1, 1, - 3, 1, 1, 1, 1, 4, 4, 4, 4, 4, - 4, 4, 2, 3, 2, 2, 2, 1, 1, 2, - 1, 2, 4, 6, 3, 5, 7, 9, 3, 4, - 7, 1, 1, 1, 2, 0, 2, 2, 0, 6, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 2, 3, 1, 2, 3, 7, 0, 2, 2, 2, - 2, 2, 3, 3, 2, 1, 4, 3, 0, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 5, 0, 2, 0, 2, 0, - 2, 3, 1, 0, 1, 1, 3, 0, 3, 1, - 1, 1, 1, 1, 0, 2, 4, 3, 0, 2, - 3, 0, 1, 5, 3, 4, 4, 4, 1, 1, - 1, 1, 1, 2, 2, 4, 13, 22, 1, 1, - 5, 3, 4, 7, 0, 2, 2, 2, 2, 2, - 2, 2, 5, 2, 2, 2, 2, 2, 2, 5, - 0, 2, 0, 2, 0, 3, 9, 9, 7, 7, - 1, 1, 1, 2, 2, 1, 4, 0, 1, 1, - 2, 2, 2, 2, 4, 2, 5, 3, 2, 2, - 1, 4, 3, 0, 2, 2, 0, 2, 2, 2, - 2, 2, 1, 1, 1, 1, 9, 0, 2, 2, - 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, - 0, 4, 1, 3, 1, 13, 0, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 5, 8, 6, 5, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 4, 4, 4, 4, 5, 1, 1, 1, 0, 4, - 4, 4, 4, 0, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 5, 1, 0, - 2, 2, 1, 2, 4, 5, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 4, 6, 4, 4, - 11, 1, 5, 3, 5, 3, 1, 2, 2, 1, - 2, 4, 4, 1, 2, 2, 2, 2, 2, 2, - 2, 1, 2, 1, 1, 1, 4, 4, 2, 4, - 2, 0, 1, 1, 3, 1, 3, 1, 0, 3, - 5, 4, 3, 5, 5, 5, 5, 5, 5, 2, - 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, - 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, - 4, 4, 4, 3, 2, 0, 1, 1, 2, 1, - 1, 1, 1, 4, 4, 5, 4, 4, 4, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, - 8, 8, 8, 7, 7, 7, 7, 7, 0, 2, - 2, 0, 2, 2, 0, 2, 0, 2, 0, 2, - 0, 2, 0, 2, 0, 2, 2, 0, 2, 3, - 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, - 2, 2, 2, 2, 2, 3, 2, 2, 2, 5, - 3, 2, 2, 2, 2, 2, 5, 4, 6, 2, - 4, 0, 3, 3, 1, 1, 0, 3, 0, 1, - 1, 3, 0, 1, 1, 3, 1, 3, 4, 4, - 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 3, 4, 1, 0, 10, 6, 5, 6, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, - 2, 3, 4, 6, 5, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 1, 2, 2, 4, 1, 2, - 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, - 0, 5, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, - 1, 1, 1, 3, 2, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 3, 2, 3, 4, 2, 2, 2, - 5, 5, 7, 4, 3, 2, 3, 2, 1, 1, - 2, 3, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, - 1, 1, 1, 1, 3, 0, 1, 1, 3, 2, - 6, 7, 3, 3, 3, 6, 0, 1, 3, 5, - 6, 4, 4, 1, 3, 3, 1, 1, 1, 1, - 4, 1, 6, 6, 6, 4, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 5, 4, 7, 6, 7, - 6, 9, 8, 3, 8, 4, 0, 2, 0, 1, - 3, 3, 0, 2, 2, 2, 3, 2, 2, 2, - 2, 2, 0, 2, 3, 1, 1, 1, 1, 3, - 8, 2, 3, 1, 1, 3, 3, 3, 4, 6, - 0, 2, 3, 1, 3, 1, 4, 3, 0, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 0, 2, - 2, 3, 3, 4, 2, 1, 1, 3, 5, 0, - 2, 2, 0, 2, 4, 3, 1, 1 }; -YYSTATIC YYCONST short YYFARDATA YYCHK[]={ - --1000,-109,-110,-111,-113,-114,-116,-117,-118,-119, --120,-121,-122,-124,-126,-128,-130,-131,-132, 524, - 525, 459, 527, 528,-133,-134,-135, 531, 532,-139, - 408,-152, 410,-170,-137, 454,-176, 462, 407, 469, - 470, 429, -87, 430, -93, -94, 273, 448, 529, 533, - 534, 535, 536, 537, 538, 539, 59,-138, 409, 411, - 453, 446, 447, 449, -10, -11, 123, 123,-115, 123, - 123, 123, 123, -9, 264, -9, 526, -88, -24, 265, - 264, -24, 123,-140, 314, -1, -2, 261, 260, 263, - -78, -16, 91,-171, 123,-174, 278, 38,-175, 286, - 287, 284, 283, 282, 281, 288, -31, -32, 267, 91, - -9, -90, 468, 468, -92, -1, 468, -86, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, -31, -86, 263, -28, -70, -74, -93, - -94, 306, 297, 322, 323,-149, 33, 307, 276, 324, - -52, 275, 91, -5, -76, 268, 412, 413, 414, 357, - 356, 278, 298, 277, 281, 282, 283, 284, 286, 287, - 279, 290, 291, 292, 293, 271, -1, 296, -1, -1, - -1, -1, 262, -77,-172, 318, 378, 61, -73, 40, - -75, -7, -76, 269, 272, 325, 340, -8, 295, 300, - 302, 308, -31, -31,-112,-109, 125,-155, 415,-156, - 417,-154, 419, 420,-117,-157, -2,-131,-120,-133, --132,-135, 471, 457, 507,-158, 506,-160, 418, -95, - -96, -97, -98, -99,-108,-100,-101,-102,-103,-104, --105,-106,-107,-159,-163, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 123, 416, --123,-125,-127,-129, -9, -1, 460,-136, -70, -76, --141, 315, -71, -70, 91, -28,-149, 46, -7, 328, - 329, 330, 331, 332, 326, 346, 352, 337, 364, 365, - 366, 367, 368, 369, 370, 350, 377, 294, 371, -79, - -9,-173,-174, 42, 40, -31, 40, -14, 91, 40, - -14, 40, -14, 40, -14, 40, -14, 40, -14, 40, - 41, 267, -9, 263, 58, 44, 262, -1, 353, 354, - 355, 472, 378, 474, 475, 476, 477, -90, -91, -1, - 329, 330, -1, -71, 41, -36, 61, 288, 262, 44, - 389, 91, 38, 42, 358, 359, 360, 60, 389, 389, - 389, 389, -70, 306, -70, -75, -7, 33, -9, -1, - 280, 279, 289, -28, -1, -76, 42, 470, 47, -28, - 270, 272, 281, 282, 283, 284, 40, -36, -1, 329, - 330, 322, 345, 334, 335, 337, 338, 339, 340, 341, - 342, 343, 344, 361, 354, 336, 351, 326, 370, 294, - -2, 40, 61, -72, -71, -74, -28, -7, -7, 40, - 301, 303, 304, 305, 41, 41, 125,-143,-114,-111, --144,-146,-116,-117,-131,-120,-132, 451, 452,-148, - 507,-133,-135, 506, 321, 421, 426, 471, 407, 125, - -9, -9, 40, 450, 58, 91, -9, -71, 356, 363, - 91,-161,-162,-164,-166,-167,-168, 311,-169, 309, - 313, 312, -9, -2, -9, -24, 40, -23, -24, 266, - 286, 287, -31, -9, -2, -75, -28, -76, 270, 272, - -71, -36, 341,-175, -7, -72, 40,-115,-158, -2, - -9, 125,-178, 461,-131,-179,-180, 466, 467,-181, --132,-135, 463, 125,-183,-177,-179,-182, 338, 461, - 464, 125,-184, 459, 407, 462, 296,-132,-135, 125, --185, 459, 462,-132,-135, -89, 419, 125,-136,-142, - -71, -1, 470, -7, -1, -13, 40, 40, -28, 328, - 329, 330, 331, 376, 370, 326, 478, 364, 365, 366, - 367, 374, 375, 294, 93, 125, 44, 40, -2, 41, - -23, -9, -23, -24, -9, -9, -9, 93, -9, -9, - 473, -1, -1, 330, 329, 327, 336, 389, 40, 61, - 43, 123, 40, 40, 263, -1, 93, -30, -29, 275, - -9, 40, 40, -54, -55, -28, -1, -1, -1, -1, - -70, -28, -9, -1, 280, 93, 93, 93, -1, -1, - -71, -1, 91, -9, -69, 60, 329, 330, 331, 364, - 365, 366, 40, 61, -36, 123, 40, 41, -71, -3, - 372, 373, -1, -9,-115, 123, 123, 123, -9, -9, - 123, -71, 356, 363, 363, -81, -82, -91, -25, -26, - -27, 275, -13, 40, -9, 58, 274, -7, 91, -1, - -9,-161,-165,-158, 310,-165,-165,-165, -71,-158, - -2, -9, 40, 40, 41, -71, -1, 40, -31, -28, - -6, -2, -9, 125, 316, 316, 465, -31, -66, -9, - 42, -36, 61, -31, 61, -31, -31, 61, 61, -1, - 468, -9, 468, 40, -1, 468,-177, 44, 93, -1, - -28, -28, 91, -9, -36, -83, -1, 40, 40,-173, - -36, 41, 41, 93, 41, 41, 41, 41, 41, -12, - 263, 44, 58, 389, 329, 330, 331, 364, 365, 366, - -1, -84, -85, -36, 123, 262, -64, -63, -71, 306, - 44, 93, 44, 275, -71, -71, 62, 44, 42, -5, - -5, -5, 93, 274, 41, -68, -19, -18, 43, 45, - 306, 323, 372, -9, -59, -61, -73, 274, -53, -22, - 60, 41, 125,-112,-145,-147,-127, 274, -7, 91, - -1, -71, -71, -1, 370, 326, -7, 370, 326, -1, - 41, 44, -28, -25, 93, -9, -3, -1, -28, -9, - 93, -2, -9, -9, -24, 274, -36, 41, 40, 41, - 44, 44, -2, -9, -9, 41, 58, 40, 41, 40, - 41, 41, 40, 40, -5, -1, -9, 317, -1, -31, - -71, 93, -38, 478, 503, 504, 505, -9, 41, 389, - -83, 41, 386, 341, 342, 343, 387, 388, 301, 303, - 304, 305, 390, 393, 294, -4, 317, -34, -33,-153, - 479, 481, 482, 483, 484, 276, 277, 281, 282, 283, - 284, 286, 287, 257, 279, 290, 291, 292, 293, 485, - 486, 487, 489, 490, 491, 492, 493, 494, 495, 334, - 496, 280, 289, 336, 497, 341, 488, 356, 389, 501, - 271, 123, -9, 41, -14, -14, -14, -14, -14, -14, - 317, 283, 284, 455, 456, 458, -9, -9, -1, 41, - 44, 61, -59, 125, 44, 61, 263, 263, -29, -9, - 41, 41, -28, 40, -5, -1, 62, -58, -1, 40, - -19, 41, 125, -62, -40,-135, -41, 298, 363, 297, - 286, 287, 284, 283, 282, 281, 293, 292, 291, 290, - 279, 278, 277,-175, 61, -3, 40, 40, 91, -54, - 125, 125,-150, 422, 423, 424, 425,-120,-132,-133, --135, 125,-151, 427, 428, 425,-132,-120,-133,-135, - 125, -3, -28, -9, -93, 449, -1, -28, -27, -38, - 41, 389, -71, 93, -35, 61, 316, 316, 41, 41, - -1, 41, -25, -6, -6, -66, 41, -9, 41, -3, - 40, 93, 93, 93, 93, -36, 41, 58, 58, 40, - -35, -2, 41, 42, 91, -32, 40, 480, 500, 277, - 281, 282, 283, 284, 280, -20, 40, -20, -20, -15, - 509, 482, 483, 276, 277, 281, 282, 283, 284, 286, - 287, 279, 290, 291, 292, 293, 42, 485, 486, 487, - 489, 490, 493, 494, 496, 280, 289, 257, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 495, 487, 499, 41, -2, 263, 263, 44, -84, - -37, -17, -9, 283, -36, -70, 319, 320, 125, -64, - 123, 61, -25, -1, -67, 44, -56, -57, -71, -65, --135, 357, 362, 40, 91, 40, 91, 40, 91, 40, - 91, 40, 91, 40, 91, 40, 91, 40, 91, 40, - 91, 40, 91, 40, 91, 40, 91, 40, 91, 284, - 283, 282, 281, 40, 91, 40, 91, -31, -36, 123, - 40, -53, -22, -25, -25, -9, 62, -75, -75, -75, - -75, -75, -75, -75, 508, -71, 93, -1, -2, -2, - 274, -39, -41, -36, 299, 286, 287, 284, 283, 282, - 281, 279, 293, 292, 291, 290, 278, 277, -2, -9, - 41, 58, -89, -69, -34, -83, 391, 392, 391, 392, - -9, 93, -9, 43, 125, -36, 91, 91, 502, 44, - 91, 523, 38, 281, 282, 283, 284, 280, -9, 40, - 40, -62, 123, 41, -67, -68, 41, 44, -60, -52, - 363, 297, 345, 299, 263, -9, 306, -70, 299, -9, - -40, -9, -23, -9, -9, -23, -24, -9, -24, -9, - -9, -9, -9, -9, -9, -9, -24, -9, -9, -9, - -9, -9, -9, -9, 40, 91, 40, 91, 40, 91, - 40, 91, -9, -9, -17, -9, 41, -59, 40, 40, - 41, 41, 93, -7, 274, 40, -3, 284, 283, 282, - 281, -66, 40, 41, 41, 41, 93, 43, -9, 44, - -9, -9, 61, -36, 93, 263, -9, 281, 282, 283, - -9, 125, -62, -71, -1, 91, 306, -70, 41, 41, - 93, 263, 41, 41, 93, 41, 93, 41, 41, 93, - 41, 41, 93, 41, 93, 41, 93, 41, 93, 41, - 93, 41, 93, 41, 93, 41, 93, 41, 93, -24, - -9, -9, -9, -9, -9, -9, -9, 41, 93, 41, - 93, 125, -25, -25, 62, -28, -3, -25, -21, -22, - 60, 58, -25, -9, 93, -36, 93, 93, -9, 41, - 58, 58, 58, 41, 125, 61, 93, 263, 40, 41, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 41, 93, 41, 93, 41, 93, 41, 93, - 40, 40, 41, 41, -71, -21, 41, 40, -66, 41, - 93, 44, 41, -33, 41, -9, -9, -9, -40, -49, - -50, -51, -42, -43, -47, -46, -45, -44, -47, -46, - -45, -44, 40, 40, 40, 40, -45, -48, 274, 40, - -35, -25, -80, -36, 41, 41, 41, 41, 299, 263, - 41, 299, 306, -70, 41, -40, 41, -23, -9, 41, - -23, -24, 41, -24, 41, -9, 41, -9, 41, -9, - 41, 41, 41, 41, -47, -46, -45, -44, 41, 41, - -17, -3, -25, 41, 123, 324, 378, 379, 380, 308, - 381, 382, 383, 384, 333, 347, 348, 349, 294, 44, - 263, 41, 41, 41, 41, 40, 41, 40, -36, -25, - 508, -9, 41, 41, 356, 41, -7, -28, -71, 274, - -3, -21, 40, -25, 41 }; -YYSTATIC YYCONST short YYFARDATA YYDEF[]={ - - 1, -2, 2, 0, 0, 329, 6, 7, 8, 9, - 10, 11, 0, 0, 0, 0, 16, 17, 18, 0, - 0, 766, 0, 0, 24, 25, 26, 0, 28, 135, - 0, 266, 204, 0, 425, 0, 0, 772, 105, 829, - 92, 0, 425, 0, 83, 84, 85, 0, 0, 0, - 0, 0, 0, 57, 58, 0, 60, 108, 259, 381, - 0, 751, 752, 217, 425, 425, 139, 1, 0, 782, - 800, 818, 832, 19, 41, 20, 0, 0, 22, 42, - 43, 23, 29, 137, 0, 104, 38, 39, 36, 37, - 217, 184, 0, 378, 0, 385, 0, 0, 425, 388, - 388, 388, 388, 388, 388, 0, 0, 426, 427, 0, - 754, 0, 772, 808, 0, 93, 0, 0, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 662, 0, 0, 217, 0, 678, 679, 0, - 683, 0, 0, 543, 230, 545, 546, 547, 548, 0, - 483, 685, 686, 687, 688, 689, 690, 691, 692, 693, - 0, 698, 699, 700, 701, 702, 549, 0, 52, 54, - 55, 56, 59, 0, 380, 382, 383, 0, 61, 0, - 71, 0, 210, 211, 212, 217, 217, 215, 0, 218, - 219, 0, 0, 0, 0, 0, 5, 330, 0, 332, - 0, 0, 336, 337, 338, 339, 0, 341, 342, 343, - 344, 345, 0, 0, 0, 351, 0, 0, 328, 498, - 0, 0, 0, 0, 425, 0, 217, 0, 0, 0, - 217, 0, 0, 329, 0, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 356, 363, - 0, 0, 0, 0, 21, 768, 767, 0, 29, 544, - 107, 0, 136, 551, 0, 554, 217, 0, 308, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 399, 0, 0, - 400, 0, 401, 0, 402, 0, 403, 0, 404, 424, - 102, 428, 0, 753, 0, 0, 763, 771, 773, 774, - 775, 0, 777, 778, 779, 780, 781, 0, 0, 827, - 830, 831, 94, 712, 713, 714, 0, 0, 31, 0, - 0, 705, 667, 668, 669, 0, 0, 528, 0, 0, - 0, 0, 661, 0, 664, 225, 0, 0, 675, 677, - 680, 0, 682, 684, 0, 0, 0, 0, 0, 0, - 228, 229, 694, 695, 696, 697, 0, 53, 147, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 0, 131, 132, 133, 0, - 0, 103, 0, 0, 72, 73, 0, 213, 214, 0, - 220, 221, 222, 223, 64, 68, 3, 140, 329, 0, - 0, 0, 168, 169, 170, 171, 172, 0, 0, 0, - 0, 178, 179, 0, 0, 233, 247, 808, 105, 4, - 331, 333, -2, 0, 340, 0, 0, 0, 217, 0, - 0, 357, 359, 0, 0, 0, 0, 0, 0, 373, - 374, 371, 499, 500, 501, 502, 497, 503, 504, 44, - 0, 0, 0, 506, 507, 508, 0, 511, 512, 513, - 514, 515, 0, 425, 0, 519, 521, 0, 360, 0, - 0, 12, 783, 0, 785, 786, 425, 0, 0, 425, - 793, 794, 0, 13, 801, 425, 803, 425, 805, 0, - 0, 14, 819, 0, 0, 0, 0, 825, 826, 15, - 833, 0, 0, 836, 837, 765, 769, 27, 30, 138, - 142, 0, 0, 0, 40, 0, 0, 289, 0, 185, - 186, 187, 188, 189, 190, 191, 0, 193, 194, 195, - 196, 197, 198, 0, 205, 384, 0, 0, 0, 392, - 0, 0, 0, 0, 0, 0, 0, 96, 756, 0, - 776, 798, 806, 809, 810, 811, 0, 0, 0, 0, - 0, 716, 721, 722, 34, 47, 665, 0, 703, 706, - 707, 0, 0, 0, 529, 530, 48, 49, 50, 51, - 663, 0, 674, 676, 681, 0, 0, 0, 0, 550, - 0, -2, 705, 0, 106, 154, 125, 126, 127, 128, - 129, 130, 0, 379, 62, 75, 69, 217, 0, 526, - 305, 306, -2, 0, 0, 139, 236, 250, 173, 174, - 818, 0, 217, 0, 0, 0, 217, 0, 0, 533, - 534, 536, 0, -2, 0, 0, 0, 0, 0, 353, - 0, 358, 364, 375, 0, 365, 366, 367, 372, 368, - 369, 370, 0, 0, 505, 0, -2, 0, 0, 0, - 0, 524, 525, 355, 0, 0, 0, 0, 0, 787, - 788, 791, 0, 0, 0, 0, 0, 0, 0, 820, - 0, 824, 0, 0, 0, 0, 425, 0, 552, 0, - 0, 260, 0, 0, 289, 0, 200, 555, 0, 386, - 0, 391, 388, 389, 388, 388, 388, 388, 388, 0, - 755, 0, 0, 0, 812, 813, 814, 815, 816, 817, - 828, 0, 723, 0, 75, 32, 0, 717, 0, 0, - 0, 666, 705, 709, 0, 0, 673, 0, 668, 539, - 540, 541, 0, 0, 224, 0, 0, 154, 149, 150, - 151, 152, 153, 0, 0, 78, 65, 0, 0, 0, - 528, 216, 164, 0, 0, 0, 0, 0, 0, 0, - 181, 0, 0, -2, 234, 235, 0, 248, 249, 807, - 334, 308, 260, 0, 346, 348, 349, 307, 0, 0, - 202, 0, 0, 0, 0, 0, 0, 517, -2, 520, - 521, 521, 361, 362, 784, 789, 0, 797, 792, 795, - 802, 804, 770, 796, 821, 822, 0, 0, 835, 0, - 141, 553, 0, 0, 0, 0, 0, 0, 285, 0, - 0, 288, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 0, 0, 0, 202, 0, 0, 262, 0, - 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, - 568, 569, 570, 571, 0, 576, 577, 578, 579, 585, - 586, 587, 588, 589, 590, 591, 610, 610, 594, 610, - 612, 598, 600, 0, 602, 0, 604, 606, 0, 608, - 609, 264, 0, 390, 393, 394, 395, 396, 397, 398, - 0, 97, 98, 99, 100, 101, 758, 760, 799, 710, - 0, 0, 0, 715, 716, 0, 37, 35, 704, 708, - 670, 671, 531, -2, 542, 226, 148, 0, 158, 143, - 155, 134, 63, 74, 76, 77, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 425, 0, 526, -2, -2, 0, 0, - 165, 166, 237, 217, 217, 217, 217, 242, 243, 244, - 245, 167, 251, 217, 217, 217, 255, 256, 257, 258, - 175, 0, 0, 0, 182, 217, 231, 0, 535, 537, - 335, 0, 0, 352, 354, 0, 0, 0, 45, 46, - 509, 516, 0, 522, 523, 0, 823, 834, 768, 147, - 555, 309, 310, 311, 312, 289, 287, 0, 0, 0, - 183, 201, 192, 580, 0, 0, 0, 0, 0, 605, - 572, 573, 574, 575, 599, 592, 0, 593, 595, 596, - 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, - 623, 0, 628, 629, 630, 631, 632, 636, 637, 638, - 639, 640, 641, 642, 643, 644, 646, 647, 648, 649, - 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, - 660, 601, 603, 607, 199, 95, 757, 759, 0, 724, - 725, 728, 729, 0, 731, 0, 726, 727, 711, 718, - 78, 0, 0, 158, 157, 154, 0, 144, 145, 0, - 80, 81, 82, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 75, - 70, 0, 0, 0, 0, 0, 527, 238, 239, 240, - 241, 252, 253, 254, 217, 0, 180, 0, 538, 347, - 0, 203, 429, 430, 431, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 376, 377, - 518, 0, 764, 0, 0, 0, 300, 301, 302, 303, - 0, 581, 0, 0, 263, 0, 0, 0, 0, 0, - 0, 634, 635, 624, 625, 626, 627, 645, 762, 0, - 0, 0, 78, 672, 156, 159, 160, 0, 0, 86, - 87, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 423, 0, -2, -2, - 208, 209, 0, 0, 0, -2, 161, 0, 0, 0, - 0, 0, -2, 261, 286, 304, 582, 0, 0, 0, - 0, 0, 0, 597, 633, 761, 0, 0, 0, 0, - 0, 719, 0, 146, 0, 0, 0, 90, 433, 434, - 0, 0, 436, 437, 0, 438, 0, 405, 407, 0, - 406, 408, 0, 409, 0, 410, 0, 411, 0, 412, - 0, 417, 0, 418, 0, 419, 0, 420, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 421, 0, 422, - 0, 67, 0, 0, 163, 0, 161, 0, 0, 162, - 0, 0, 0, 0, 584, 0, 558, 555, 0, 730, - 0, 0, 0, 735, 720, 0, 91, 89, 474, 435, - 477, 481, 458, 461, 464, 466, 468, 470, 464, 466, - 468, 470, 413, 0, 414, 0, 415, 0, 416, 0, - 468, 472, 206, 207, 0, 0, 202, -2, 790, 313, - 583, 0, 557, 559, 611, 0, 0, 0, 79, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 464, 466, 468, 470, 0, 0, 0, -2, - 246, 0, 0, 0, 732, 733, 734, 455, 475, 476, - 456, 478, 0, 480, 457, 482, 439, 459, 460, 440, - 462, 463, 441, 465, 442, 467, 443, 469, 444, 471, - 445, 446, 447, 448, 0, 0, 0, 0, 453, 454, - 473, 0, 0, 350, 265, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 0, 0, - 479, 449, 450, 451, 452, -2, 0, 0, 0, 0, - 0, 0, 556, 176, 217, 327, 0, 0, 0, 0, - 161, 0, -2, 0, 177 }; -#ifdef YYRECOVER -YYSTATIC YYCONST short yyrecover[] = { --1000 -}; -#endif - -/* SCCSWHAT( "@(#)yypars.c 3.1 88/11/16 22:00:49 " ) */ -#line 3 "D:\\ProjectK3\\src\\tools\\devdiv\\x86\\yypars.c" -#if ! defined(YYAPI_PACKAGE) -/* -** YYAPI_TOKENNAME : name used for return value of yylex -** YYAPI_TOKENTYPE : type of the token -** YYAPI_TOKENEME(t) : the value of the token that the parser should see -** YYAPI_TOKENNONE : the representation when there is no token -** YYAPI_VALUENAME : the name of the value of the token -** YYAPI_VALUETYPE : the type of the value of the token (if null, then the value is derivable from the token itself) -** YYAPI_VALUEOF(v) : how to get the value of the token. -*/ -#define YYAPI_TOKENNAME yychar -#define YYAPI_TOKENTYPE int -#define YYAPI_TOKENEME(t) (t) -#define YYAPI_TOKENNONE -1 -#define YYAPI_TOKENSTR(t) (sprintf(yytokbuf, "%d", t), yytokbuf) -#define YYAPI_VALUENAME yylval -#define YYAPI_VALUETYPE YYSTYPE -#define YYAPI_VALUEOF(v) (v) -#endif -#if ! defined(YYAPI_CALLAFTERYYLEX) -#define YYAPI_CALLAFTERYYLEX -#endif - -# define YYFLAG -1000 -# define YYERROR goto yyerrlab -# define YYACCEPT return(0) -# define YYABORT return(1) - -#ifdef YYDEBUG /* RRR - 10/9/85 */ -char yytokbuf[20]; -# ifndef YYDBFLG -# define YYDBFLG (yydebug) -# endif -# define yyprintf(a, b, c, d) if (YYDBFLG) YYPRINT(a, b, c, d) -#else -# define yyprintf(a, b, c, d) -#endif - -#ifndef YYPRINT -#define YYPRINT printf -#endif - -/* parser for yacc output */ - -#ifdef YYDUMP -int yydump = 1; /* 1 for dumping */ -void yydumpinfo(void); -#endif -#ifdef YYDEBUG -YYSTATIC int yydebug = 0; /* 1 for debugging */ -#endif -YYSTATIC YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */ -YYSTATIC short yys[YYMAXDEPTH]; /* the parse stack */ - -#if ! defined(YYRECURSIVE) -YYSTATIC YYAPI_TOKENTYPE YYAPI_TOKENNAME = YYAPI_TOKENNONE; -#if defined(YYAPI_VALUETYPE) -// YYSTATIC YYAPI_VALUETYPE YYAPI_VALUENAME; FIX -#endif -YYSTATIC int yynerrs = 0; /* number of errors */ -YYSTATIC short yyerrflag = 0; /* error recovery flag */ -#endif - -#ifdef YYRECOVER -/* -** yyscpy : copy f onto t and return a ptr to the null terminator at the -** end of t. -*/ -YYSTATIC char *yyscpy(register char*t, register char*f) - { - while(*t = *f++) - t++; - return(t); /* ptr to the null char */ - } -#endif - -#ifndef YYNEAR -#define YYNEAR -#endif -#ifndef YYPASCAL -#define YYPASCAL -#endif -#ifndef YYLOCAL -#define YYLOCAL -#endif -#if ! defined YYPARSER -#define YYPARSER yyparse -#endif -#if ! defined YYLEX -#define YYLEX yylex -#endif - -#if defined(YYRECURSIVE) - - YYSTATIC YYAPI_TOKENTYPE YYAPI_TOKENNAME = YYAPI_TOKENNONE; - #if defined(YYAPI_VALUETYPE) - YYSTATIC YYAPI_VALUETYPE YYAPI_VALUENAME; - #endif - YYSTATIC int yynerrs = 0; /* number of errors */ - YYSTATIC short yyerrflag = 0; /* error recovery flag */ - - YYSTATIC short yyn; - YYSTATIC short yystate = 0; - YYSTATIC short *yyps= &yys[-1]; - YYSTATIC YYSTYPE *yypv= &yyv[-1]; - YYSTATIC short yyj; - YYSTATIC short yym; - -#endif - -#pragma warning(disable:102) -YYLOCAL YYNEAR YYPASCAL YYPARSER() -{ -#if ! defined(YYRECURSIVE) - - register short yyn; - short yystate, *yyps; - YYSTYPE *yypv; - short yyj, yym; - - YYAPI_TOKENNAME = YYAPI_TOKENNONE; - yystate = 0; - yyps= &yys[-1]; - yypv= &yyv[-1]; -#endif - -#ifdef YYDUMP - yydumpinfo(); -#endif - yystack: /* put a state and value onto the stack */ - -#ifdef YYDEBUG - if(YYAPI_TOKENNAME == YYAPI_TOKENNONE) { - yyprintf( "state %d, token # '%d'\n", yystate, -1, 0 ); - } - else { - yyprintf( "state %d, token # '%s'\n", yystate, YYAPI_TOKENSTR(YYAPI_TOKENNAME), 0 ); - } -#endif - if( ++yyps > &yys[YYMAXDEPTH] ) { - yyerror( "yacc stack overflow" ); - return(1); - } - *yyps = yystate; - ++yypv; - - *yypv = yyval; - -yynewstate: - - yyn = YYPACT[yystate]; - - if( yyn <= YYFLAG ) { /* simple state, no lookahead */ - goto yydefault; - } - if( YYAPI_TOKENNAME == YYAPI_TOKENNONE ) { /* need a lookahead */ - YYAPI_TOKENNAME = YYLEX(); - YYAPI_CALLAFTERYYLEX(YYAPI_TOKENNAME); - } - if( ((yyn += YYAPI_TOKENEME(YYAPI_TOKENNAME)) < 0) || (yyn >= YYLAST) ) { - goto yydefault; - } - if( YYCHK[ yyn = YYACT[ yyn ] ] == YYAPI_TOKENEME(YYAPI_TOKENNAME) ) { /* valid shift */ - yyval = YYAPI_VALUEOF(YYAPI_VALUENAME); - yystate = yyn; - yyprintf( "SHIFT: saw token '%s', now in state %4d\n", YYAPI_TOKENSTR(YYAPI_TOKENNAME), yystate, 0 ); - YYAPI_TOKENNAME = YYAPI_TOKENNONE; - if( yyerrflag > 0 ) { - --yyerrflag; - } - goto yystack; - } - - yydefault: - /* default state action */ - - if( (yyn = YYDEF[yystate]) == -2 ) { - register YYCONST short *yyxi; - - if( YYAPI_TOKENNAME == YYAPI_TOKENNONE ) { - YYAPI_TOKENNAME = YYLEX(); - YYAPI_CALLAFTERYYLEX(YYAPI_TOKENNAME); - yyprintf("LOOKAHEAD: token '%s'\n", YYAPI_TOKENSTR(YYAPI_TOKENNAME), 0, 0); - } -/* -** search exception table, we find a -1 followed by the current state. -** if we find one, we'll look through terminal,state pairs. if we find -** a terminal which matches the current one, we have a match. -** the exception table is when we have a reduce on a terminal. -*/ - -#if YYOPTTIME - yyxi = yyexca + yyexcaind[yystate]; - while(( *yyxi != YYAPI_TOKENEME(YYAPI_TOKENNAME) ) && ( *yyxi >= 0 )){ - yyxi += 2; - } -#else - for(yyxi = yyexca; - (*yyxi != (-1)) || (yyxi[1] != yystate); - yyxi += 2 - ) { - ; /* VOID */ - } - - while( *(yyxi += 2) >= 0 ){ - if( *yyxi == YYAPI_TOKENEME(YYAPI_TOKENNAME) ) { - break; - } - } -#endif - if( (yyn = yyxi[1]) < 0 ) { - return(0); /* accept */ - } - } - - if( yyn == 0 ){ /* error */ - /* error ... attempt to resume parsing */ - - switch( yyerrflag ){ - - case 0: /* brand new error */ -#ifdef YYRECOVER - { - register int i,j; - - for(i = 0; - (yyrecover[i] != -1000) && (yystate > yyrecover[i]); - i += 3 - ) { - ; - } - if(yystate == yyrecover[i]) { - yyprintf("recovered, from state %d to state %d on token # %d\n", - yystate,yyrecover[i+2],yyrecover[i+1] - ); - j = yyrecover[i + 1]; - if(j < 0) { - /* - ** here we have one of the injection set, so we're not quite - ** sure that the next valid thing will be a shift. so we'll - ** count it as an error and continue. - ** actually we're not absolutely sure that the next token - ** we were supposed to get is the one when j > 0. for example, - ** for(+) {;} error recovery with yyerrflag always set, stops - ** after inserting one ; before the +. at the point of the +, - ** we're pretty sure the guy wants a 'for' loop. without - ** setting the flag, when we're almost absolutely sure, we'll - ** give him one, since the only thing we can shift on this - ** error is after finding an expression followed by a + - */ - yyerrflag++; - j = -j; - } - if(yyerrflag <= 1) { /* only on first insertion */ - yyrecerr(YYAPI_TOKENNAME, j); /* what was, what should be first */ - } - yyval = yyeval(j); - yystate = yyrecover[i + 2]; - goto yystack; - } - } -#endif - yyerror("syntax error"); - - yyerrlab: - ++yynerrs; - - case 1: - case 2: /* incompletely recovered error ... try again */ - - yyerrflag = 3; - - /* find a state where "error" is a legal shift action */ - - while ( yyps >= yys ) { - yyn = YYPACT[*yyps] + YYERRCODE; - if( yyn>= 0 && yyn < YYLAST && YYCHK[YYACT[yyn]] == YYERRCODE ){ - yystate = YYACT[yyn]; /* simulate a shift of "error" */ - yyprintf( "SHIFT 'error': now in state %4d\n", yystate, 0, 0 ); - goto yystack; - } - yyn = YYPACT[*yyps]; - - /* the current yyps has no shift onn "error", pop stack */ - - yyprintf( "error recovery pops state %4d, uncovers %4d\n", *yyps, yyps[-1], 0 ); - --yyps; - --yypv; - } - - /* there is no state on the stack with an error shift ... abort */ - - yyabort: - return(1); - - - case 3: /* no shift yet; clobber input char */ - - yyprintf( "error recovery discards token '%s'\n", YYAPI_TOKENSTR(YYAPI_TOKENNAME), 0, 0 ); - - if( YYAPI_TOKENEME(YYAPI_TOKENNAME) == 0 ) goto yyabort; /* don't discard EOF, quit */ - YYAPI_TOKENNAME = YYAPI_TOKENNONE; - goto yynewstate; /* try again in the same state */ - } - } - - /* reduction by production yyn */ -yyreduce: - { - register YYSTYPE *yypvt; - yypvt = yypv; - yyps -= YYR2[yyn]; - yypv -= YYR2[yyn]; - yyval = yypv[1]; - yyprintf("REDUCE: rule %4d, popped %2d tokens, uncovered state %4d, ",yyn, YYR2[yyn], *yyps); - yym = yyn; - yyn = YYR1[yyn]; /* consult goto table to find next state */ - yyj = YYPGO[yyn] + *yyps + 1; - if( (yyj >= YYLAST) || (YYCHK[ yystate = YYACT[yyj] ] != -yyn) ) { - yystate = YYACT[YYPGO[yyn]]; - } - yyprintf("goto state %4d\n", yystate, 0, 0); -#ifdef YYDUMP - yydumpinfo(); -#endif - switch(yym){ - -case 3: -#line 189 "asmparse.y" -{ PASM->EndClass(); } break; -case 4: -#line 190 "asmparse.y" -{ PASM->EndNameSpace(); } break; -case 5: -#line 191 "asmparse.y" -{ if(PASM->m_pCurMethod->m_ulLines[1] ==0) - { PASM->m_pCurMethod->m_ulLines[1] = PASM->m_ulCurLine; - PASM->m_pCurMethod->m_ulColumns[1]=PASM->m_ulCurColumn;} - PASM->EndMethod(); } break; -case 12: -#line 201 "asmparse.y" -{ PASMM->EndAssembly(); } break; -case 13: -#line 202 "asmparse.y" -{ PASMM->EndAssembly(); } break; -case 14: -#line 203 "asmparse.y" -{ PASMM->EndComType(); } break; -case 15: -#line 204 "asmparse.y" -{ PASMM->EndManifestRes(); } break; -case 19: -#line 208 "asmparse.y" -{ -#ifdef _PREFAST_ -#pragma warning(push) -#pragma warning(disable:22011) // Suppress PREFast warning about integer overflow/underflow -#endif - PASM->m_dwSubsystem = yypvt[-0].int32; -#ifdef _PREFAST_ -#pragma warning(pop) -#endif - } break; -case 20: -#line 218 "asmparse.y" -{ PASM->m_dwComImageFlags = yypvt[-0].int32; } break; -case 21: -#line 219 "asmparse.y" -{ PASM->m_dwFileAlignment = yypvt[-0].int32; - if((yypvt[-0].int32 & (yypvt[-0].int32 - 1))||(yypvt[-0].int32 < 0x200)||(yypvt[-0].int32 > 0x10000)) - PASM->report->error("Invalid file alignment, must be power of 2 from 0x200 to 0x10000\n");} break; -case 22: -#line 222 "asmparse.y" -{ PASM->m_stBaseAddress = (ULONGLONG)(*(yypvt[-0].int64)); delete yypvt[-0].int64; - if(PASM->m_stBaseAddress & 0xFFFF) - PASM->report->error("Invalid image base, must be 0x10000-aligned\n");} break; -case 23: -#line 225 "asmparse.y" -{ PASM->m_stSizeOfStackReserve = (size_t)(*(yypvt[-0].int64)); delete yypvt[-0].int64; } break; -case 28: -#line 230 "asmparse.y" -{ PASM->m_fIsMscorlib = TRUE; } break; -case 31: -#line 237 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 32: -#line 238 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; } break; -case 33: -#line 241 "asmparse.y" -{ LPCSTRToGuid(yypvt[-0].string,&(PASM->m_guidLang)); } break; -case 34: -#line 242 "asmparse.y" -{ LPCSTRToGuid(yypvt[-2].string,&(PASM->m_guidLang)); - LPCSTRToGuid(yypvt[-0].string,&(PASM->m_guidLangVendor));} break; -case 35: -#line 244 "asmparse.y" -{ LPCSTRToGuid(yypvt[-4].string,&(PASM->m_guidLang)); - LPCSTRToGuid(yypvt[-2].string,&(PASM->m_guidLangVendor)); - LPCSTRToGuid(yypvt[-2].string,&(PASM->m_guidDoc));} break; -case 36: -#line 249 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 37: -#line 250 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 38: -#line 253 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 39: -#line 254 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 40: -#line 255 "asmparse.y" -{ yyval.string = newStringWDel(yypvt[-2].string, '.', yypvt[-0].string); } break; -case 41: -#line 258 "asmparse.y" -{ yyval.int32 = yypvt[-0].int32; } break; -case 42: -#line 261 "asmparse.y" -{ yyval.int64 = yypvt[-0].int64; } break; -case 43: -#line 262 "asmparse.y" -{ yyval.int64 = neg ? new __int64(yypvt[-0].int32) : new __int64((unsigned)yypvt[-0].int32); } break; -case 44: -#line 265 "asmparse.y" -{ yyval.float64 = yypvt[-0].float64; } break; -case 45: -#line 266 "asmparse.y" -{ float f; *((__int32*) (&f)) = yypvt[-1].int32; yyval.float64 = new double(f); } break; -case 46: -#line 267 "asmparse.y" -{ yyval.float64 = (double*) yypvt[-1].int64; } break; -case 47: -#line 271 "asmparse.y" -{ PASM->AddTypeDef(yypvt[-2].binstr,yypvt[-0].string); } break; -case 48: -#line 272 "asmparse.y" -{ PASM->AddTypeDef(yypvt[-2].token,yypvt[-0].string); } break; -case 49: -#line 273 "asmparse.y" -{ PASM->AddTypeDef(yypvt[-2].token,yypvt[-0].string); } break; -case 50: -#line 274 "asmparse.y" -{ yypvt[-2].cad->tkOwner = 0; PASM->AddTypeDef(yypvt[-2].cad,yypvt[-0].string); } break; -case 51: -#line 275 "asmparse.y" -{ PASM->AddTypeDef(yypvt[-2].cad,yypvt[-0].string); } break; -case 52: -#line 280 "asmparse.y" -{ DefineVar(yypvt[-0].string, NULL); } break; -case 53: -#line 281 "asmparse.y" -{ DefineVar(yypvt[-1].string, yypvt[-0].binstr); } break; -case 54: -#line 282 "asmparse.y" -{ UndefVar(yypvt[-0].string); } break; -case 55: -#line 283 "asmparse.y" -{ SkipToken = !IsVarDefined(yypvt[-0].string); - IfEndif++; - } break; -case 56: -#line 286 "asmparse.y" -{ SkipToken = IsVarDefined(yypvt[-0].string); - IfEndif++; - } break; -case 57: -#line 289 "asmparse.y" -{ if(IfEndif == 1) SkipToken = !SkipToken;} break; -case 58: -#line 290 "asmparse.y" -{ if(IfEndif == 0) - PASM->report->error("Unmatched #endif\n"); - else IfEndif--; - } break; -case 59: -#line 294 "asmparse.y" -{ _ASSERTE(!"yylex should have dealt with this"); } break; -case 60: -#line 295 "asmparse.y" -{ } break; -case 61: -#line 299 "asmparse.y" -{ yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yypvt[-0].token, NULL); } break; -case 62: -#line 300 "asmparse.y" -{ yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yypvt[-2].token, yypvt[-0].binstr); } break; -case 63: -#line 301 "asmparse.y" -{ yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yypvt[-4].token, yypvt[-1].binstr); } break; -case 64: -#line 302 "asmparse.y" -{ yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yypvt[-2].int32, yypvt[-1].binstr); } break; -case 65: -#line 305 "asmparse.y" -{ yyval.cad = new CustomDescr(yypvt[-2].token, yypvt[-0].token, NULL); } break; -case 66: -#line 306 "asmparse.y" -{ yyval.cad = new CustomDescr(yypvt[-4].token, yypvt[-2].token, yypvt[-0].binstr); } break; -case 67: -#line 308 "asmparse.y" -{ yyval.cad = new CustomDescr(yypvt[-6].token, yypvt[-4].token, yypvt[-1].binstr); } break; -case 68: -#line 309 "asmparse.y" -{ yyval.cad = new CustomDescr(PASM->m_tkCurrentCVOwner, yypvt[-2].int32, yypvt[-1].binstr); } break; -case 69: -#line 312 "asmparse.y" -{ yyval.int32 = yypvt[-2].token; bParsingByteArray = TRUE; } break; -case 70: -#line 316 "asmparse.y" -{ PASM->m_pCustomDescrList = NULL; - PASM->m_tkCurrentCVOwner = yypvt[-4].token; - yyval.int32 = yypvt[-2].token; bParsingByteArray = TRUE; } break; -case 71: -#line 321 "asmparse.y" -{ yyval.token = yypvt[-0].token; } break; -case 72: -#line 324 "asmparse.y" -{ yyval.token = yypvt[-0].token; } break; -case 73: -#line 325 "asmparse.y" -{ yyval.token = yypvt[-0].token; } break; -case 74: -#line 329 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt16(nCustomBlobNVPairs); - yyval.binstr->append(yypvt[-0].binstr); - nCustomBlobNVPairs = 0; } break; -case 75: -#line 335 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt16(VAL16(0x0001)); } break; -case 76: -#line 336 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendFrom(yypvt[-0].binstr, (*(yypvt[-0].binstr->ptr()) == ELEMENT_TYPE_SZARRAY) ? 2 : 1); } break; -case 77: -#line 338 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 78: -#line 341 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 79: -#line 343 "asmparse.y" -{ yyval.binstr = yypvt[-5].binstr; yyval.binstr->appendInt8(yypvt[-4].int32); - yyval.binstr->append(yypvt[-3].binstr); - AppendStringWithLength(yyval.binstr,yypvt[-2].string); - yyval.binstr->appendFrom(yypvt[-0].binstr, (*(yypvt[-0].binstr->ptr()) == ELEMENT_TYPE_SZARRAY) ? 2 : 1); - nCustomBlobNVPairs++; } break; -case 80: -#line 348 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 81: -#line 351 "asmparse.y" -{ yyval.int32 = SERIALIZATION_TYPE_FIELD; } break; -case 82: -#line 352 "asmparse.y" -{ yyval.int32 = SERIALIZATION_TYPE_PROPERTY; } break; -case 83: -#line 355 "asmparse.y" -{ if(yypvt[-0].cad->tkOwner && !yypvt[-0].cad->tkInterfacePair) - PASM->DefineCV(yypvt[-0].cad); - else if(PASM->m_pCustomDescrList) - PASM->m_pCustomDescrList->PUSH(yypvt[-0].cad); } break; -case 84: -#line 359 "asmparse.y" -{ PASM->DefineCV(yypvt[-0].cad); } break; -case 85: -#line 360 "asmparse.y" -{ CustomDescr* pNew = new CustomDescr(yypvt[-0].tdd->m_pCA); - if(pNew->tkOwner == 0) pNew->tkOwner = PASM->m_tkCurrentCVOwner; - if(pNew->tkOwner) - PASM->DefineCV(pNew); - else if(PASM->m_pCustomDescrList) - PASM->m_pCustomDescrList->PUSH(pNew); } break; -case 86: -#line 368 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 87: -#line 369 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); } break; -case 88: -#line 370 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TAGGED_OBJECT); } break; -case 89: -#line 371 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - AppendStringWithLength(yyval.binstr,yypvt[-0].string); } break; -case 90: -#line 373 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yypvt[-0].token)); } break; -case 91: -#line 375 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 92: -#line 380 "asmparse.y" -{ PASMM->SetModuleName(NULL); PASM->m_tkCurrentCVOwner=1; } break; -case 93: -#line 381 "asmparse.y" -{ PASMM->SetModuleName(yypvt[-0].string); PASM->m_tkCurrentCVOwner=1; } break; -case 94: -#line 382 "asmparse.y" -{ BinStr* pbs = new BinStr(); - unsigned L = (unsigned)strlen(yypvt[-0].string); - memcpy((char*)(pbs->getBuff(L)),yypvt[-0].string,L); - PASM->EmitImport(pbs); delete pbs;} break; -case 95: -#line 389 "asmparse.y" -{ /*PASM->SetDataSection(); PASM->EmitDataLabel($7);*/ - PASM->m_VTFList.PUSH(new VTFEntry((USHORT)yypvt[-4].int32, (USHORT)yypvt[-2].int32, yypvt[-0].string)); } break; -case 96: -#line 393 "asmparse.y" -{ yyval.int32 = 0; } break; -case 97: -#line 394 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | COR_VTABLE_32BIT; } break; -case 98: -#line 395 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | COR_VTABLE_64BIT; } break; -case 99: -#line 396 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | COR_VTABLE_FROM_UNMANAGED; } break; -case 100: -#line 397 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | COR_VTABLE_CALL_MOST_DERIVED; } break; -case 101: -#line 398 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN; } break; -case 102: -#line 401 "asmparse.y" -{ PASM->m_pVTable = yypvt[-1].binstr; } break; -case 103: -#line 404 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 104: -#line 408 "asmparse.y" -{ PASM->StartNameSpace(yypvt[-0].string); } break; -case 105: -#line 411 "asmparse.y" -{ newclass = TRUE; } break; -case 106: -#line 414 "asmparse.y" -{ if(yypvt[-0].typarlist) FixupConstraints(); - PASM->StartClass(yypvt[-1].string, yypvt[-2].classAttr, yypvt[-0].typarlist); - TyParFixupList.RESET(false); - newclass = FALSE; - } break; -case 107: -#line 420 "asmparse.y" -{ PASM->AddClass(); } break; -case 108: -#line 423 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) 0; } break; -case 109: -#line 424 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdVisibilityMask) | tdPublic); } break; -case 110: -#line 425 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdVisibilityMask) | tdNotPublic); } break; -case 111: -#line 426 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | 0x80000000 | tdSealed); } break; -case 112: -#line 427 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | 0x40000000); } break; -case 113: -#line 428 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdInterface | tdAbstract); } break; -case 114: -#line 429 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdSealed); } break; -case 115: -#line 430 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdAbstract); } break; -case 116: -#line 431 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdLayoutMask) | tdAutoLayout); } break; -case 117: -#line 432 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdLayoutMask) | tdSequentialLayout); } break; -case 118: -#line 433 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdLayoutMask) | tdExplicitLayout); } break; -case 119: -#line 434 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdStringFormatMask) | tdAnsiClass); } break; -case 120: -#line 435 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdStringFormatMask) | tdUnicodeClass); } break; -case 121: -#line 436 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-1].classAttr & ~tdStringFormatMask) | tdAutoClass); } break; -case 122: -#line 437 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdImport); } break; -case 123: -#line 438 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdSerializable); } break; -case 124: -#line 439 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdWindowsRuntime); } break; -case 125: -#line 440 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedPublic); } break; -case 126: -#line 441 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedPrivate); } break; -case 127: -#line 442 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedFamily); } break; -case 128: -#line 443 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedAssembly); } break; -case 129: -#line 444 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedFamANDAssem); } break; -case 130: -#line 445 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) ((yypvt[-2].classAttr & ~tdVisibilityMask) | tdNestedFamORAssem); } break; -case 131: -#line 446 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdBeforeFieldInit); } break; -case 132: -#line 447 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr | tdSpecialName); } break; -case 133: -#line 448 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].classAttr); } break; -case 134: -#line 449 "asmparse.y" -{ yyval.classAttr = (CorRegTypeAttr) (yypvt[-1].int32); } break; -case 136: -#line 453 "asmparse.y" -{ PASM->m_crExtends = yypvt[-0].token; } break; -case 141: -#line 464 "asmparse.y" -{ PASM->AddToImplList(yypvt[-0].token); } break; -case 142: -#line 465 "asmparse.y" -{ PASM->AddToImplList(yypvt[-0].token); } break; -case 143: -#line 469 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 144: -#line 470 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 145: -#line 473 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yypvt[-0].token); } break; -case 146: -#line 474 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->appendInt32(yypvt[-0].token); } break; -case 147: -#line 477 "asmparse.y" -{ yyval.typarlist = NULL; PASM->m_TyParList = NULL;} break; -case 148: -#line 478 "asmparse.y" -{ yyval.typarlist = yypvt[-1].typarlist; PASM->m_TyParList = yypvt[-1].typarlist;} break; -case 149: -#line 481 "asmparse.y" -{ yyval.int32 = gpCovariant; } break; -case 150: -#line 482 "asmparse.y" -{ yyval.int32 = gpContravariant; } break; -case 151: -#line 483 "asmparse.y" -{ yyval.int32 = gpReferenceTypeConstraint; } break; -case 152: -#line 484 "asmparse.y" -{ yyval.int32 = gpNotNullableValueTypeConstraint; } break; -case 153: -#line 485 "asmparse.y" -{ yyval.int32 = gpDefaultConstructorConstraint; } break; -case 154: -#line 488 "asmparse.y" -{ yyval.int32 = 0; } break; -case 155: -#line 489 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | yypvt[-0].int32; } break; -case 156: -#line 492 "asmparse.y" -{yyval.typarlist = new TyParList(yypvt[-3].int32, yypvt[-2].binstr, yypvt[-1].string, yypvt[-0].typarlist);} break; -case 157: -#line 493 "asmparse.y" -{yyval.typarlist = new TyParList(yypvt[-2].int32, NULL, yypvt[-1].string, yypvt[-0].typarlist);} break; -case 158: -#line 496 "asmparse.y" -{ yyval.typarlist = NULL; } break; -case 159: -#line 497 "asmparse.y" -{ yyval.typarlist = yypvt[-0].typarlist; } break; -case 160: -#line 500 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 161: -#line 503 "asmparse.y" -{ yyval.int32= 0; } break; -case 162: -#line 504 "asmparse.y" -{ yyval.int32 = yypvt[-0].int32; } break; -case 163: -#line 507 "asmparse.y" -{ yyval.int32 = yypvt[-2].int32; } break; -case 164: -#line 511 "asmparse.y" -{ if(PASM->m_pCurMethod->m_ulLines[1] ==0) - { PASM->m_pCurMethod->m_ulLines[1] = PASM->m_ulCurLine; - PASM->m_pCurMethod->m_ulColumns[1]=PASM->m_ulCurColumn;} - PASM->EndMethod(); } break; -case 165: -#line 515 "asmparse.y" -{ PASM->EndClass(); } break; -case 166: -#line 516 "asmparse.y" -{ PASM->EndEvent(); } break; -case 167: -#line 517 "asmparse.y" -{ PASM->EndProp(); } break; -case 173: -#line 523 "asmparse.y" -{ PASM->m_pCurClass->m_ulSize = yypvt[-0].int32; } break; -case 174: -#line 524 "asmparse.y" -{ PASM->m_pCurClass->m_ulPack = yypvt[-0].int32; } break; -case 175: -#line 525 "asmparse.y" -{ PASMM->EndComType(); } break; -case 176: -#line 527 "asmparse.y" -{ BinStr *sig1 = parser->MakeSig(yypvt[-7].int32, yypvt[-6].binstr, yypvt[-1].binstr); - BinStr *sig2 = new BinStr(); sig2->append(sig1); - PASM->AddMethodImpl(yypvt[-11].token,yypvt[-9].string,sig1,yypvt[-5].token,yypvt[-3].string,sig2); - PASM->ResetArgNameList(); - } break; -case 177: -#line 533 "asmparse.y" -{ PASM->AddMethodImpl(yypvt[-17].token,yypvt[-15].string, - (yypvt[-14].int32==0 ? parser->MakeSig(yypvt[-19].int32,yypvt[-18].binstr,yypvt[-12].binstr) : - parser->MakeSig(yypvt[-19].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yypvt[-18].binstr,yypvt[-12].binstr,yypvt[-14].int32)), - yypvt[-6].token,yypvt[-4].string, - (yypvt[-3].int32==0 ? parser->MakeSig(yypvt[-8].int32,yypvt[-7].binstr,yypvt[-1].binstr) : - parser->MakeSig(yypvt[-8].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yypvt[-7].binstr,yypvt[-1].binstr,yypvt[-3].int32))); - PASM->ResetArgNameList(); - } break; -case 180: -#line 543 "asmparse.y" -{ if((yypvt[-1].int32 > 0) && (yypvt[-1].int32 <= (int)PASM->m_pCurClass->m_NumTyPars)) - PASM->m_pCustomDescrList = PASM->m_pCurClass->m_TyPars[yypvt[-1].int32-1].CAList(); - else - PASM->report->error("Type parameter index out of range\n"); - } break; -case 181: -#line 548 "asmparse.y" -{ int n = PASM->m_pCurClass->FindTyPar(yypvt[-0].string); - if(n >= 0) - PASM->m_pCustomDescrList = PASM->m_pCurClass->m_TyPars[n].CAList(); - else - PASM->report->error("Type parameter '%s' undefined\n",yypvt[-0].string); - } break; -case 182: -#line 554 "asmparse.y" -{ yypvt[-0].cad->tkInterfacePair = yypvt[-1].token; - if(PASM->m_pCustomDescrList) - PASM->m_pCustomDescrList->PUSH(yypvt[-0].cad); - } break; -case 183: -#line 562 "asmparse.y" -{ yypvt[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); - PASM->AddField(yypvt[-2].string, yypvt[-3].binstr, yypvt[-4].fieldAttr, yypvt[-1].string, yypvt[-0].binstr, yypvt[-5].int32); } break; -case 184: -#line 566 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) 0; } break; -case 185: -#line 567 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].fieldAttr | fdStatic); } break; -case 186: -#line 568 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdPublic); } break; -case 187: -#line 569 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivate); } break; -case 188: -#line 570 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdFamily); } break; -case 189: -#line 571 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].fieldAttr | fdInitOnly); } break; -case 190: -#line 572 "asmparse.y" -{ yyval.fieldAttr = yypvt[-1].fieldAttr; } break; -case 191: -#line 573 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].fieldAttr | fdSpecialName); } break; -case 192: -#line 586 "asmparse.y" -{ PASM->m_pMarshal = yypvt[-1].binstr; } break; -case 193: -#line 587 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdAssembly); } break; -case 194: -#line 588 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdFamANDAssem); } break; -case 195: -#line 589 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdFamORAssem); } break; -case 196: -#line 590 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) ((yypvt[-1].fieldAttr & ~mdMemberAccessMask) | fdPrivateScope); } break; -case 197: -#line 591 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].fieldAttr | fdLiteral); } break; -case 198: -#line 592 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].fieldAttr | fdNotSerialized); } break; -case 199: -#line 593 "asmparse.y" -{ yyval.fieldAttr = (CorFieldAttr) (yypvt[-1].int32); } break; -case 200: -#line 596 "asmparse.y" -{ yyval.string = 0; } break; -case 201: -#line 597 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 202: -#line 600 "asmparse.y" -{ yyval.binstr = NULL; } break; -case 203: -#line 601 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 204: -#line 604 "asmparse.y" -{ yyval.int32 = 0xFFFFFFFF; } break; -case 205: -#line 605 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32; } break; -case 206: -#line 610 "asmparse.y" -{ PASM->ResetArgNameList(); - if (yypvt[-3].binstr == NULL) - { - if((iCallConv)&&((yypvt[-8].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - yyval.token = PASM->MakeMemberRef(yypvt[-6].token, yypvt[-4].string, parser->MakeSig(yypvt[-8].int32|iCallConv, yypvt[-7].binstr, yypvt[-1].binstr)); - } - else - { - mdToken mr; - if((iCallConv)&&((yypvt[-8].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - mr = PASM->MakeMemberRef(yypvt[-6].token, yypvt[-4].string, - parser->MakeSig(yypvt[-8].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yypvt[-7].binstr, yypvt[-1].binstr, corCountArgs(yypvt[-3].binstr))); - yyval.token = PASM->MakeMethodSpec(mr, - parser->MakeSig(IMAGE_CEE_CS_CALLCONV_INSTANTIATION, 0, yypvt[-3].binstr)); - } - } break; -case 207: -#line 627 "asmparse.y" -{ PASM->ResetArgNameList(); - if((iCallConv)&&((yypvt[-8].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - yyval.token = PASM->MakeMemberRef(yypvt[-6].token, yypvt[-4].string, - parser->MakeSig(yypvt[-8].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yypvt[-7].binstr, yypvt[-1].binstr, yypvt[-3].int32)); - } break; -case 208: -#line 633 "asmparse.y" -{ PASM->ResetArgNameList(); - if (yypvt[-3].binstr == NULL) - { - if((iCallConv)&&((yypvt[-6].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - yyval.token = PASM->MakeMemberRef(mdTokenNil, yypvt[-4].string, parser->MakeSig(yypvt[-6].int32|iCallConv, yypvt[-5].binstr, yypvt[-1].binstr)); - } - else - { - mdToken mr; - if((iCallConv)&&((yypvt[-6].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - mr = PASM->MakeMemberRef(mdTokenNil, yypvt[-4].string, parser->MakeSig(yypvt[-6].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yypvt[-5].binstr, yypvt[-1].binstr, corCountArgs(yypvt[-3].binstr))); - yyval.token = PASM->MakeMethodSpec(mr, - parser->MakeSig(IMAGE_CEE_CS_CALLCONV_INSTANTIATION, 0, yypvt[-3].binstr)); - } - } break; -case 209: -#line 649 "asmparse.y" -{ PASM->ResetArgNameList(); - if((iCallConv)&&((yypvt[-6].int32 & iCallConv) != iCallConv)) parser->warn("'instance' added to method's calling convention\n"); - yyval.token = PASM->MakeMemberRef(mdTokenNil, yypvt[-4].string, parser->MakeSig(yypvt[-6].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC|iCallConv, yypvt[-5].binstr, yypvt[-1].binstr, yypvt[-3].int32)); - } break; -case 210: -#line 653 "asmparse.y" -{ yyval.token = yypvt[-0].token; } break; -case 211: -#line 654 "asmparse.y" -{ yyval.token = yypvt[-0].tdd->m_tkTypeSpec; } break; -case 212: -#line 655 "asmparse.y" -{ yyval.token = yypvt[-0].tdd->m_tkTypeSpec; } break; -case 213: -#line 658 "asmparse.y" -{ yyval.int32 = (yypvt[-0].int32 | IMAGE_CEE_CS_CALLCONV_HASTHIS); } break; -case 214: -#line 659 "asmparse.y" -{ yyval.int32 = (yypvt[-0].int32 | IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS); } break; -case 215: -#line 660 "asmparse.y" -{ yyval.int32 = yypvt[-0].int32; } break; -case 216: -#line 661 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32; } break; -case 217: -#line 664 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_DEFAULT; } break; -case 218: -#line 665 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_DEFAULT; } break; -case 219: -#line 666 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_VARARG; } break; -case 220: -#line 667 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_C; } break; -case 221: -#line 668 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_STDCALL; } break; -case 222: -#line 669 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_THISCALL; } break; -case 223: -#line 670 "asmparse.y" -{ yyval.int32 = IMAGE_CEE_CS_CALLCONV_FASTCALL; } break; -case 224: -#line 673 "asmparse.y" -{ yyval.token = yypvt[-1].int32; } break; -case 225: -#line 676 "asmparse.y" -{ yyval.token = yypvt[-0].token; - PASM->delArgNameList(PASM->m_firstArgName); - PASM->m_firstArgName = parser->m_ANSFirst.POP(); - PASM->m_lastArgName = parser->m_ANSLast.POP(); - PASM->SetMemberRefFixup(yypvt[-0].token,iOpcodeLen); } break; -case 226: -#line 682 "asmparse.y" -{ yypvt[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); - yyval.token = PASM->MakeMemberRef(yypvt[-2].token, yypvt[-0].string, yypvt[-3].binstr); - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } break; -case 227: -#line 686 "asmparse.y" -{ yypvt[-1].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); - yyval.token = PASM->MakeMemberRef(NULL, yypvt[-0].string, yypvt[-1].binstr); - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } break; -case 228: -#line 689 "asmparse.y" -{ yyval.token = yypvt[-0].tdd->m_tkTypeSpec; - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } break; -case 229: -#line 691 "asmparse.y" -{ yyval.token = yypvt[-0].tdd->m_tkTypeSpec; - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } break; -case 230: -#line 693 "asmparse.y" -{ yyval.token = yypvt[-0].token; - PASM->SetMemberRefFixup(yyval.token,iOpcodeLen); } break; -case 231: -#line 698 "asmparse.y" -{ PASM->ResetEvent(yypvt[-0].string, yypvt[-1].token, yypvt[-2].eventAttr); } break; -case 232: -#line 699 "asmparse.y" -{ PASM->ResetEvent(yypvt[-0].string, mdTypeRefNil, yypvt[-1].eventAttr); } break; -case 233: -#line 703 "asmparse.y" -{ yyval.eventAttr = (CorEventAttr) 0; } break; -case 234: -#line 704 "asmparse.y" -{ yyval.eventAttr = yypvt[-1].eventAttr; } break; -case 235: -#line 705 "asmparse.y" -{ yyval.eventAttr = (CorEventAttr) (yypvt[-1].eventAttr | evSpecialName); } break; -case 238: -#line 712 "asmparse.y" -{ PASM->SetEventMethod(0, yypvt[-0].token); } break; -case 239: -#line 713 "asmparse.y" -{ PASM->SetEventMethod(1, yypvt[-0].token); } break; -case 240: -#line 714 "asmparse.y" -{ PASM->SetEventMethod(2, yypvt[-0].token); } break; -case 241: -#line 715 "asmparse.y" -{ PASM->SetEventMethod(3, yypvt[-0].token); } break; -case 246: -#line 724 "asmparse.y" -{ PASM->ResetProp(yypvt[-4].string, - parser->MakeSig((IMAGE_CEE_CS_CALLCONV_PROPERTY | - (yypvt[-6].int32 & IMAGE_CEE_CS_CALLCONV_HASTHIS)),yypvt[-5].binstr,yypvt[-2].binstr), yypvt[-7].propAttr, yypvt[-0].binstr);} break; -case 247: -#line 729 "asmparse.y" -{ yyval.propAttr = (CorPropertyAttr) 0; } break; -case 248: -#line 730 "asmparse.y" -{ yyval.propAttr = yypvt[-1].propAttr; } break; -case 249: -#line 731 "asmparse.y" -{ yyval.propAttr = (CorPropertyAttr) (yypvt[-1].propAttr | prSpecialName); } break; -case 252: -#line 739 "asmparse.y" -{ PASM->SetPropMethod(0, yypvt[-0].token); } break; -case 253: -#line 740 "asmparse.y" -{ PASM->SetPropMethod(1, yypvt[-0].token); } break; -case 254: -#line 741 "asmparse.y" -{ PASM->SetPropMethod(2, yypvt[-0].token); } break; -case 259: -#line 749 "asmparse.y" -{ PASM->ResetForNextMethod(); - uMethodBeginLine = PASM->m_ulCurLine; - uMethodBeginColumn=PASM->m_ulCurColumn; - } break; -case 260: -#line 755 "asmparse.y" -{ yyval.binstr = NULL; } break; -case 261: -#line 756 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 262: -#line 759 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 263: -#line 760 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 264: -#line 763 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 265: -#line 767 "asmparse.y" -{ BinStr* sig; - if (yypvt[-5].typarlist == NULL) sig = parser->MakeSig(yypvt[-10].int32, yypvt[-8].binstr, yypvt[-3].binstr); - else { - FixupTyPars(yypvt[-8].binstr); - sig = parser->MakeSig(yypvt[-10].int32 | IMAGE_CEE_CS_CALLCONV_GENERIC, yypvt[-8].binstr, yypvt[-3].binstr, yypvt[-5].typarlist->Count()); - FixupConstraints(); - } - PASM->StartMethod(yypvt[-6].string, sig, yypvt[-11].methAttr, yypvt[-7].binstr, yypvt[-9].int32, yypvt[-5].typarlist); - TyParFixupList.RESET(false); - PASM->SetImplAttr((USHORT)yypvt[-1].implAttr); - PASM->m_pCurMethod->m_ulLines[0] = uMethodBeginLine; - PASM->m_pCurMethod->m_ulColumns[0]=uMethodBeginColumn; - } break; -case 266: -#line 782 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) 0; } break; -case 267: -#line 783 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdStatic); } break; -case 268: -#line 784 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdPublic); } break; -case 269: -#line 785 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdPrivate); } break; -case 270: -#line 786 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdFamily); } break; -case 271: -#line 787 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdFinal); } break; -case 272: -#line 788 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdSpecialName); } break; -case 273: -#line 789 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdVirtual); } break; -case 274: -#line 790 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdCheckAccessOnOverride); } break; -case 275: -#line 791 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdAbstract); } break; -case 276: -#line 792 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdAssem); } break; -case 277: -#line 793 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdFamANDAssem); } break; -case 278: -#line 794 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdFamORAssem); } break; -case 279: -#line 795 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) ((yypvt[-1].methAttr & ~mdMemberAccessMask) | mdPrivateScope); } break; -case 280: -#line 796 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdHideBySig); } break; -case 281: -#line 797 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdNewSlot); } break; -case 282: -#line 798 "asmparse.y" -{ yyval.methAttr = yypvt[-1].methAttr; } break; -case 283: -#line 799 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdUnmanagedExport); } break; -case 284: -#line 800 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].methAttr | mdRequireSecObject); } break; -case 285: -#line 801 "asmparse.y" -{ yyval.methAttr = (CorMethodAttr) (yypvt[-1].int32); } break; -case 286: -#line 803 "asmparse.y" -{ PASM->SetPinvoke(yypvt[-4].binstr,0,yypvt[-2].binstr,yypvt[-1].pinvAttr); - yyval.methAttr = (CorMethodAttr) (yypvt[-7].methAttr | mdPinvokeImpl); } break; -case 287: -#line 806 "asmparse.y" -{ PASM->SetPinvoke(yypvt[-2].binstr,0,NULL,yypvt[-1].pinvAttr); - yyval.methAttr = (CorMethodAttr) (yypvt[-5].methAttr | mdPinvokeImpl); } break; -case 288: -#line 809 "asmparse.y" -{ PASM->SetPinvoke(new BinStr(),0,NULL,yypvt[-1].pinvAttr); - yyval.methAttr = (CorMethodAttr) (yypvt[-4].methAttr | mdPinvokeImpl); } break; -case 289: -#line 813 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) 0; } break; -case 290: -#line 814 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmNoMangle); } break; -case 291: -#line 815 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCharSetAnsi); } break; -case 292: -#line 816 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCharSetUnicode); } break; -case 293: -#line 817 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCharSetAuto); } break; -case 294: -#line 818 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmSupportsLastError); } break; -case 295: -#line 819 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCallConvWinapi); } break; -case 296: -#line 820 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCallConvCdecl); } break; -case 297: -#line 821 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCallConvStdcall); } break; -case 298: -#line 822 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCallConvThiscall); } break; -case 299: -#line 823 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].pinvAttr | pmCallConvFastcall); } break; -case 300: -#line 824 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-3].pinvAttr | pmBestFitEnabled); } break; -case 301: -#line 825 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-3].pinvAttr | pmBestFitDisabled); } break; -case 302: -#line 826 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-3].pinvAttr | pmThrowOnUnmappableCharEnabled); } break; -case 303: -#line 827 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-3].pinvAttr | pmThrowOnUnmappableCharDisabled); } break; -case 304: -#line 828 "asmparse.y" -{ yyval.pinvAttr = (CorPinvokeMap) (yypvt[-1].int32); } break; -case 305: -#line 831 "asmparse.y" -{ yyval.string = newString(COR_CTOR_METHOD_NAME); } break; -case 306: -#line 832 "asmparse.y" -{ yyval.string = newString(COR_CCTOR_METHOD_NAME); } break; -case 307: -#line 833 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 308: -#line 836 "asmparse.y" -{ yyval.int32 = 0; } break; -case 309: -#line 837 "asmparse.y" -{ yyval.int32 = yypvt[-3].int32 | pdIn; } break; -case 310: -#line 838 "asmparse.y" -{ yyval.int32 = yypvt[-3].int32 | pdOut; } break; -case 311: -#line 839 "asmparse.y" -{ yyval.int32 = yypvt[-3].int32 | pdOptional; } break; -case 312: -#line 840 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 + 1; } break; -case 313: -#line 843 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (miIL | miManaged); } break; -case 314: -#line 844 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) ((yypvt[-1].implAttr & 0xFFF4) | miNative); } break; -case 315: -#line 845 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) ((yypvt[-1].implAttr & 0xFFF4) | miIL); } break; -case 316: -#line 846 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) ((yypvt[-1].implAttr & 0xFFF4) | miOPTIL); } break; -case 317: -#line 847 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) ((yypvt[-1].implAttr & 0xFFFB) | miManaged); } break; -case 318: -#line 848 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) ((yypvt[-1].implAttr & 0xFFFB) | miUnmanaged); } break; -case 319: -#line 849 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miForwardRef); } break; -case 320: -#line 850 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miPreserveSig); } break; -case 321: -#line 851 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miRuntime); } break; -case 322: -#line 852 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miInternalCall); } break; -case 323: -#line 853 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miSynchronized); } break; -case 324: -#line 854 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miNoInlining); } break; -case 325: -#line 855 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miAggressiveInlining); } break; -case 326: -#line 856 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].implAttr | miNoOptimization); } break; -case 327: -#line 857 "asmparse.y" -{ yyval.implAttr = (CorMethodImpl) (yypvt[-1].int32); } break; -case 328: -#line 860 "asmparse.y" -{ PASM->delArgNameList(PASM->m_firstArgName); PASM->m_firstArgName = NULL;PASM->m_lastArgName = NULL; - } break; -case 331: -#line 868 "asmparse.y" -{ PASM->EmitByte(yypvt[-0].int32); } break; -case 332: -#line 869 "asmparse.y" -{ delete PASM->m_SEHD; PASM->m_SEHD = PASM->m_SEHDstack.POP(); } break; -case 333: -#line 870 "asmparse.y" -{ PASM->EmitMaxStack(yypvt[-0].int32); } break; -case 334: -#line 871 "asmparse.y" -{ PASM->EmitLocals(parser->MakeSig(IMAGE_CEE_CS_CALLCONV_LOCAL_SIG, 0, yypvt[-1].binstr)); - } break; -case 335: -#line 873 "asmparse.y" -{ PASM->EmitZeroInit(); - PASM->EmitLocals(parser->MakeSig(IMAGE_CEE_CS_CALLCONV_LOCAL_SIG, 0, yypvt[-1].binstr)); - } break; -case 336: -#line 876 "asmparse.y" -{ PASM->EmitEntryPoint(); } break; -case 337: -#line 877 "asmparse.y" -{ PASM->EmitZeroInit(); } break; -case 340: -#line 880 "asmparse.y" -{ PASM->AddLabel(PASM->m_CurPC,yypvt[-1].string); /*PASM->EmitLabel($1);*/ } break; -case 346: -#line 886 "asmparse.y" -{ if(PASM->m_pCurMethod->m_dwExportOrdinal == 0xFFFFFFFF) - { - PASM->m_pCurMethod->m_dwExportOrdinal = yypvt[-1].int32; - PASM->m_pCurMethod->m_szExportAlias = NULL; - if(PASM->m_pCurMethod->m_wVTEntry == 0) PASM->m_pCurMethod->m_wVTEntry = 1; - if(PASM->m_pCurMethod->m_wVTSlot == 0) PASM->m_pCurMethod->m_wVTSlot = yypvt[-1].int32 + 0x8000; - } - else - PASM->report->warn("Duplicate .export directive, ignored\n"); - } break; -case 347: -#line 896 "asmparse.y" -{ if(PASM->m_pCurMethod->m_dwExportOrdinal == 0xFFFFFFFF) - { - PASM->m_pCurMethod->m_dwExportOrdinal = yypvt[-3].int32; - PASM->m_pCurMethod->m_szExportAlias = yypvt[-0].string; - if(PASM->m_pCurMethod->m_wVTEntry == 0) PASM->m_pCurMethod->m_wVTEntry = 1; - if(PASM->m_pCurMethod->m_wVTSlot == 0) PASM->m_pCurMethod->m_wVTSlot = yypvt[-3].int32 + 0x8000; - } - else - PASM->report->warn("Duplicate .export directive, ignored\n"); - } break; -case 348: -#line 906 "asmparse.y" -{ PASM->m_pCurMethod->m_wVTEntry = (WORD)yypvt[-2].int32; - PASM->m_pCurMethod->m_wVTSlot = (WORD)yypvt[-0].int32; } break; -case 349: -#line 909 "asmparse.y" -{ PASM->AddMethodImpl(yypvt[-2].token,yypvt[-0].string,NULL,NULL,NULL,NULL); } break; -case 350: -#line 912 "asmparse.y" -{ PASM->AddMethodImpl(yypvt[-6].token,yypvt[-4].string, - (yypvt[-3].int32==0 ? parser->MakeSig(yypvt[-8].int32,yypvt[-7].binstr,yypvt[-1].binstr) : - parser->MakeSig(yypvt[-8].int32| IMAGE_CEE_CS_CALLCONV_GENERIC,yypvt[-7].binstr,yypvt[-1].binstr,yypvt[-3].int32)) - ,NULL,NULL,NULL); - PASM->ResetArgNameList(); - } break; -case 352: -#line 919 "asmparse.y" -{ if((yypvt[-1].int32 > 0) && (yypvt[-1].int32 <= (int)PASM->m_pCurMethod->m_NumTyPars)) - PASM->m_pCustomDescrList = PASM->m_pCurMethod->m_TyPars[yypvt[-1].int32-1].CAList(); - else - PASM->report->error("Type parameter index out of range\n"); - } break; -case 353: -#line 924 "asmparse.y" -{ int n = PASM->m_pCurMethod->FindTyPar(yypvt[-0].string); - if(n >= 0) - PASM->m_pCustomDescrList = PASM->m_pCurMethod->m_TyPars[n].CAList(); - else - PASM->report->error("Type parameter '%s' undefined\n",yypvt[-0].string); - } break; -case 354: -#line 931 "asmparse.y" -{ if( yypvt[-2].int32 ) { - ARG_NAME_LIST* pAN=PASM->findArg(PASM->m_pCurMethod->m_firstArgName, yypvt[-2].int32 - 1); - if(pAN) - { - PASM->m_pCustomDescrList = &(pAN->CustDList); - pAN->pValue = yypvt[-0].binstr; - } - else - { - PASM->m_pCustomDescrList = NULL; - if(yypvt[-0].binstr) delete yypvt[-0].binstr; - } - } else { - PASM->m_pCustomDescrList = &(PASM->m_pCurMethod->m_RetCustDList); - PASM->m_pCurMethod->m_pRetValue = yypvt[-0].binstr; - } - PASM->m_tkCurrentCVOwner = 0; - } break; -case 355: -#line 951 "asmparse.y" -{ PASM->m_pCurMethod->CloseScope(); } break; -case 356: -#line 954 "asmparse.y" -{ PASM->m_pCurMethod->OpenScope(); } break; -case 360: -#line 965 "asmparse.y" -{ PASM->m_SEHD->tryTo = PASM->m_CurPC; } break; -case 361: -#line 966 "asmparse.y" -{ PASM->SetTryLabels(yypvt[-2].string, yypvt[-0].string); } break; -case 362: -#line 967 "asmparse.y" -{ if(PASM->m_SEHD) {PASM->m_SEHD->tryFrom = yypvt[-2].int32; - PASM->m_SEHD->tryTo = yypvt[-0].int32;} } break; -case 363: -#line 971 "asmparse.y" -{ PASM->NewSEHDescriptor(); - PASM->m_SEHD->tryFrom = PASM->m_CurPC; } break; -case 364: -#line 976 "asmparse.y" -{ PASM->EmitTry(); } break; -case 365: -#line 977 "asmparse.y" -{ PASM->EmitTry(); } break; -case 366: -#line 978 "asmparse.y" -{ PASM->EmitTry(); } break; -case 367: -#line 979 "asmparse.y" -{ PASM->EmitTry(); } break; -case 368: -#line 983 "asmparse.y" -{ PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 369: -#line 984 "asmparse.y" -{ PASM->SetFilterLabel(yypvt[-0].string); - PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 370: -#line 986 "asmparse.y" -{ PASM->m_SEHD->sehFilter = yypvt[-0].int32; - PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 371: -#line 990 "asmparse.y" -{ PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FILTER; - PASM->m_SEHD->sehFilter = PASM->m_CurPC; } break; -case 372: -#line 994 "asmparse.y" -{ PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_NONE; - PASM->SetCatchClass(yypvt[-0].token); - PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 373: -#line 999 "asmparse.y" -{ PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FINALLY; - PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 374: -#line 1003 "asmparse.y" -{ PASM->m_SEHD->sehClause = COR_ILEXCEPTION_CLAUSE_FAULT; - PASM->m_SEHD->sehHandler = PASM->m_CurPC; } break; -case 375: -#line 1007 "asmparse.y" -{ PASM->m_SEHD->sehHandlerTo = PASM->m_CurPC; } break; -case 376: -#line 1008 "asmparse.y" -{ PASM->SetHandlerLabels(yypvt[-2].string, yypvt[-0].string); } break; -case 377: -#line 1009 "asmparse.y" -{ PASM->m_SEHD->sehHandler = yypvt[-2].int32; - PASM->m_SEHD->sehHandlerTo = yypvt[-0].int32; } break; -case 379: -#line 1017 "asmparse.y" -{ PASM->EmitDataLabel(yypvt[-1].string); } break; -case 381: -#line 1021 "asmparse.y" -{ PASM->SetDataSection(); } break; -case 382: -#line 1022 "asmparse.y" -{ PASM->SetTLSSection(); } break; -case 383: -#line 1023 "asmparse.y" -{ PASM->SetILSection(); } break; -case 388: -#line 1034 "asmparse.y" -{ yyval.int32 = 1; } break; -case 389: -#line 1035 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32; - if(yypvt[-1].int32 <= 0) { PASM->report->error("Illegal item count: %d\n",yypvt[-1].int32); - if(!PASM->OnErrGo) yyval.int32 = 1; }} break; -case 390: -#line 1040 "asmparse.y" -{ PASM->EmitDataString(yypvt[-1].binstr); } break; -case 391: -#line 1041 "asmparse.y" -{ PASM->EmitDD(yypvt[-1].string); } break; -case 392: -#line 1042 "asmparse.y" -{ PASM->EmitData(yypvt[-1].binstr->ptr(),yypvt[-1].binstr->length()); } break; -case 393: -#line 1044 "asmparse.y" -{ float f = (float) (*yypvt[-2].float64); float* p = new (nothrow) float[yypvt[-0].int32]; - if(p != NULL) { - for(int i=0; i < yypvt[-0].int32; i++) p[i] = f; - PASM->EmitData(p, sizeof(float)*yypvt[-0].int32); delete yypvt[-2].float64; delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(float)*yypvt[-0].int32); } break; -case 394: -#line 1051 "asmparse.y" -{ double* p = new (nothrow) double[yypvt[-0].int32]; - if(p != NULL) { - for(int i=0; i<yypvt[-0].int32; i++) p[i] = *(yypvt[-2].float64); - PASM->EmitData(p, sizeof(double)*yypvt[-0].int32); delete yypvt[-2].float64; delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(double)*yypvt[-0].int32); } break; -case 395: -#line 1058 "asmparse.y" -{ __int64* p = new (nothrow) __int64[yypvt[-0].int32]; - if(p != NULL) { - for(int i=0; i<yypvt[-0].int32; i++) p[i] = *(yypvt[-2].int64); - PASM->EmitData(p, sizeof(__int64)*yypvt[-0].int32); delete yypvt[-2].int64; delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(__int64)*yypvt[-0].int32); } break; -case 396: -#line 1065 "asmparse.y" -{ __int32* p = new (nothrow) __int32[yypvt[-0].int32]; - if(p != NULL) { - for(int i=0; i<yypvt[-0].int32; i++) p[i] = yypvt[-2].int32; - PASM->EmitData(p, sizeof(__int32)*yypvt[-0].int32); delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(__int32)*yypvt[-0].int32); } break; -case 397: -#line 1072 "asmparse.y" -{ __int16 i = (__int16) yypvt[-2].int32; FAIL_UNLESS(i == yypvt[-2].int32, ("Value %d too big\n", yypvt[-2].int32)); - __int16* p = new (nothrow) __int16[yypvt[-0].int32]; - if(p != NULL) { - for(int j=0; j<yypvt[-0].int32; j++) p[j] = i; - PASM->EmitData(p, sizeof(__int16)*yypvt[-0].int32); delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(__int16)*yypvt[-0].int32); } break; -case 398: -#line 1080 "asmparse.y" -{ __int8 i = (__int8) yypvt[-2].int32; FAIL_UNLESS(i == yypvt[-2].int32, ("Value %d too big\n", yypvt[-2].int32)); - __int8* p = new (nothrow) __int8[yypvt[-0].int32]; - if(p != NULL) { - for(int j=0; j<yypvt[-0].int32; j++) p[j] = i; - PASM->EmitData(p, sizeof(__int8)*yypvt[-0].int32); delete [] p; - } else PASM->report->error("Out of memory emitting data block %d bytes\n", - sizeof(__int8)*yypvt[-0].int32); } break; -case 399: -#line 1087 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(float)*yypvt[-0].int32); } break; -case 400: -#line 1088 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(double)*yypvt[-0].int32); } break; -case 401: -#line 1089 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(__int64)*yypvt[-0].int32); } break; -case 402: -#line 1090 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(__int32)*yypvt[-0].int32); } break; -case 403: -#line 1091 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(__int16)*yypvt[-0].int32); } break; -case 404: -#line 1092 "asmparse.y" -{ PASM->EmitData(NULL, sizeof(__int8)*yypvt[-0].int32); } break; -case 405: -#line 1096 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); - float f = (float)(*yypvt[-1].float64); - yyval.binstr->appendInt32(*((__int32*)&f)); delete yypvt[-1].float64; } break; -case 406: -#line 1099 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); - yyval.binstr->appendInt64((__int64 *)yypvt[-1].float64); delete yypvt[-1].float64; } break; -case 407: -#line 1101 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 408: -#line 1103 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); - yyval.binstr->appendInt64((__int64 *)yypvt[-1].int64); delete yypvt[-1].int64; } break; -case 409: -#line 1105 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); - yyval.binstr->appendInt64((__int64 *)yypvt[-1].int64); delete yypvt[-1].int64; } break; -case 410: -#line 1107 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 411: -#line 1109 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); - yyval.binstr->appendInt16(yypvt[-1].int32); } break; -case 412: -#line 1111 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); - yyval.binstr->appendInt8(yypvt[-1].int32); } break; -case 413: -#line 1113 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); - yyval.binstr->appendInt64((__int64 *)yypvt[-1].int64); delete yypvt[-1].int64; } break; -case 414: -#line 1115 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 415: -#line 1117 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); - yyval.binstr->appendInt16(yypvt[-1].int32); } break; -case 416: -#line 1119 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); - yyval.binstr->appendInt8(yypvt[-1].int32); } break; -case 417: -#line 1121 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); - yyval.binstr->appendInt64((__int64 *)yypvt[-1].int64); delete yypvt[-1].int64; } break; -case 418: -#line 1123 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 419: -#line 1125 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); - yyval.binstr->appendInt16(yypvt[-1].int32); } break; -case 420: -#line 1127 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); - yyval.binstr->appendInt8(yypvt[-1].int32); } break; -case 421: -#line 1129 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); - yyval.binstr->appendInt16(yypvt[-1].int32); } break; -case 422: -#line 1131 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); - yyval.binstr->appendInt8(yypvt[-1].int32);} break; -case 423: -#line 1133 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); - yyval.binstr->append(yypvt[-1].binstr); delete yypvt[-1].binstr;} break; -case 424: -#line 1137 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 425: -#line 1140 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 426: -#line 1141 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 427: -#line 1144 "asmparse.y" -{ __int8 i = (__int8) yypvt[-0].int32; yyval.binstr = new BinStr(); yyval.binstr->appendInt8(i); } break; -case 428: -#line 1145 "asmparse.y" -{ __int8 i = (__int8) yypvt[-0].int32; yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt8(i); } break; -case 429: -#line 1149 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 430: -#line 1150 "asmparse.y" -{ yyval.binstr = BinStrToUnicode(yypvt[-0].binstr,true); yyval.binstr->insertInt8(ELEMENT_TYPE_STRING);} break; -case 431: -#line 1151 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CLASS); - yyval.binstr->appendInt32(0); } break; -case 432: -#line 1156 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 433: -#line 1157 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); yyval.binstr->appendInt8(0xFF); } break; -case 434: -#line 1158 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); - AppendStringWithLength(yyval.binstr,yypvt[-1].string); delete [] yypvt[-1].string;} break; -case 435: -#line 1160 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); - AppendStringWithLength(yyval.binstr,yypvt[-1].string); delete [] yypvt[-1].string;} break; -case 436: -#line 1162 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); - AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yypvt[-1].token));} break; -case 437: -#line 1164 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(SERIALIZATION_TYPE_TYPE); yyval.binstr->appendInt8(0xFF); } break; -case 438: -#line 1165 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt8(SERIALIZATION_TYPE_TAGGED_OBJECT);} break; -case 439: -#line 1167 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_R4); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 440: -#line 1171 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_R8); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 441: -#line 1175 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_I8); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 442: -#line 1179 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_I4); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 443: -#line 1183 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_I2); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 444: -#line 1187 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_I1); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 445: -#line 1191 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U8); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 446: -#line 1195 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U4); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 447: -#line 1199 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U2); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 448: -#line 1203 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U1); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 449: -#line 1207 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U8); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 450: -#line 1211 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U4); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 451: -#line 1215 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U2); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 452: -#line 1219 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_U1); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 453: -#line 1223 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_CHAR); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 454: -#line 1227 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_BOOLEAN); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 455: -#line 1231 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(ELEMENT_TYPE_STRING); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 456: -#line 1235 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(SERIALIZATION_TYPE_TYPE); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 457: -#line 1239 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt32(yypvt[-4].int32); - yyval.binstr->insertInt8(SERIALIZATION_TYPE_TAGGED_OBJECT); - yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 458: -#line 1245 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 459: -#line 1246 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - float f = (float) (*yypvt[-0].float64); yyval.binstr->appendInt32(*((__int32*)&f)); delete yypvt[-0].float64; } break; -case 460: -#line 1248 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt32(yypvt[-0].int32); } break; -case 461: -#line 1252 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 462: -#line 1253 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yypvt[-0].float64); delete yypvt[-0].float64; } break; -case 463: -#line 1255 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yypvt[-0].int64); delete yypvt[-0].int64; } break; -case 464: -#line 1259 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 465: -#line 1260 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt64((__int64 *)yypvt[-0].int64); delete yypvt[-0].int64; } break; -case 466: -#line 1264 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 467: -#line 1265 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt32(yypvt[-0].int32);} break; -case 468: -#line 1268 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 469: -#line 1269 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt16(yypvt[-0].int32);} break; -case 470: -#line 1272 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 471: -#line 1273 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt8(yypvt[-0].int32); } break; -case 472: -#line 1276 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 473: -#line 1277 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - yyval.binstr->appendInt8(yypvt[-0].int32);} break; -case 474: -#line 1281 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 475: -#line 1282 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt8(0xFF); } break; -case 476: -#line 1283 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - AppendStringWithLength(yyval.binstr,yypvt[-0].string); delete [] yypvt[-0].string;} break; -case 477: -#line 1287 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 478: -#line 1288 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->appendInt8(0xFF); } break; -case 479: -#line 1289 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; - AppendStringWithLength(yyval.binstr,yypvt[-0].string); delete [] yypvt[-0].string;} break; -case 480: -#line 1291 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; - AppendStringWithLength(yyval.binstr,PASM->ReflectionNotation(yypvt[-0].token));} break; -case 481: -#line 1295 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 482: -#line 1296 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; } break; -case 483: -#line 1300 "asmparse.y" -{ parser->m_ANSFirst.PUSH(PASM->m_firstArgName); - parser->m_ANSLast.PUSH(PASM->m_lastArgName); - PASM->m_firstArgName = NULL; - PASM->m_lastArgName = NULL; } break; -case 484: -#line 1306 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 485: -#line 1309 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 486: -#line 1312 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 487: -#line 1315 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 488: -#line 1318 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 489: -#line 1321 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 490: -#line 1324 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); - if((!PASM->OnErrGo)&& - ((yypvt[-0].opcode == CEE_NEWOBJ)|| - (yypvt[-0].opcode == CEE_CALLVIRT))) - iCallConv = IMAGE_CEE_CS_CALLCONV_HASTHIS; - } break; -case 491: -#line 1332 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 492: -#line 1335 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 493: -#line 1338 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 494: -#line 1341 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 495: -#line 1344 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); iOpcodeLen = PASM->OpcodeLen(yyval.instr); } break; -case 496: -#line 1347 "asmparse.y" -{ yyval.instr = SetupInstr(yypvt[-0].opcode); } break; -case 497: -#line 1350 "asmparse.y" -{ yyval.instr = yypvt[-1].instr; bParsingByteArray = TRUE; } break; -case 498: -#line 1354 "asmparse.y" -{ PASM->EmitOpcode(yypvt[-0].instr); } break; -case 499: -#line 1355 "asmparse.y" -{ PASM->EmitInstrVar(yypvt[-1].instr, yypvt[-0].int32); } break; -case 500: -#line 1356 "asmparse.y" -{ PASM->EmitInstrVarByName(yypvt[-1].instr, yypvt[-0].string); } break; -case 501: -#line 1357 "asmparse.y" -{ PASM->EmitInstrI(yypvt[-1].instr, yypvt[-0].int32); } break; -case 502: -#line 1358 "asmparse.y" -{ PASM->EmitInstrI8(yypvt[-1].instr, yypvt[-0].int64); } break; -case 503: -#line 1359 "asmparse.y" -{ PASM->EmitInstrR(yypvt[-1].instr, yypvt[-0].float64); delete (yypvt[-0].float64);} break; -case 504: -#line 1360 "asmparse.y" -{ double f = (double) (*yypvt[-0].int64); PASM->EmitInstrR(yypvt[-1].instr, &f); } break; -case 505: -#line 1361 "asmparse.y" -{ unsigned L = yypvt[-1].binstr->length(); - FAIL_UNLESS(L >= sizeof(float), ("%d hexbytes, must be at least %d\n", - L,sizeof(float))); - if(L < sizeof(float)) {YYERROR; } - else { - double f = (L >= sizeof(double)) ? *((double *)(yypvt[-1].binstr->ptr())) - : (double)(*(float *)(yypvt[-1].binstr->ptr())); - PASM->EmitInstrR(yypvt[-2].instr,&f); } - delete yypvt[-1].binstr; } break; -case 506: -#line 1370 "asmparse.y" -{ PASM->EmitInstrBrOffset(yypvt[-1].instr, yypvt[-0].int32); } break; -case 507: -#line 1371 "asmparse.y" -{ PASM->EmitInstrBrTarget(yypvt[-1].instr, yypvt[-0].string); } break; -case 508: -#line 1373 "asmparse.y" -{ PASM->SetMemberRefFixup(yypvt[-0].token,PASM->OpcodeLen(yypvt[-1].instr)); - PASM->EmitInstrI(yypvt[-1].instr,yypvt[-0].token); - PASM->m_tkCurrentCVOwner = yypvt[-0].token; - PASM->m_pCustomDescrList = NULL; - iCallConv = 0; - } break; -case 509: -#line 1380 "asmparse.y" -{ yypvt[-3].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); - mdToken mr = PASM->MakeMemberRef(yypvt[-2].token, yypvt[-0].string, yypvt[-3].binstr); - PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yypvt[-4].instr)); - PASM->EmitInstrI(yypvt[-4].instr,mr); - PASM->m_tkCurrentCVOwner = mr; - PASM->m_pCustomDescrList = NULL; - } break; -case 510: -#line 1388 "asmparse.y" -{ yypvt[-1].binstr->insertInt8(IMAGE_CEE_CS_CALLCONV_FIELD); - mdToken mr = PASM->MakeMemberRef(mdTokenNil, yypvt[-0].string, yypvt[-1].binstr); - PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yypvt[-2].instr)); - PASM->EmitInstrI(yypvt[-2].instr,mr); - PASM->m_tkCurrentCVOwner = mr; - PASM->m_pCustomDescrList = NULL; - } break; -case 511: -#line 1395 "asmparse.y" -{ mdToken mr = yypvt[-0].token; - PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yypvt[-1].instr)); - PASM->EmitInstrI(yypvt[-1].instr,mr); - PASM->m_tkCurrentCVOwner = mr; - PASM->m_pCustomDescrList = NULL; - } break; -case 512: -#line 1401 "asmparse.y" -{ mdToken mr = yypvt[-0].tdd->m_tkTypeSpec; - PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yypvt[-1].instr)); - PASM->EmitInstrI(yypvt[-1].instr,mr); - PASM->m_tkCurrentCVOwner = mr; - PASM->m_pCustomDescrList = NULL; - } break; -case 513: -#line 1407 "asmparse.y" -{ mdToken mr = yypvt[-0].tdd->m_tkTypeSpec; - PASM->SetMemberRefFixup(mr, PASM->OpcodeLen(yypvt[-1].instr)); - PASM->EmitInstrI(yypvt[-1].instr,mr); - PASM->m_tkCurrentCVOwner = mr; - PASM->m_pCustomDescrList = NULL; - } break; -case 514: -#line 1413 "asmparse.y" -{ PASM->EmitInstrI(yypvt[-1].instr, yypvt[-0].token); - PASM->m_tkCurrentCVOwner = yypvt[-0].token; - PASM->m_pCustomDescrList = NULL; - } break; -case 515: -#line 1417 "asmparse.y" -{ PASM->EmitInstrStringLiteral(yypvt[-1].instr, yypvt[-0].binstr,TRUE); } break; -case 516: -#line 1419 "asmparse.y" -{ PASM->EmitInstrStringLiteral(yypvt[-4].instr, yypvt[-1].binstr,FALSE); } break; -case 517: -#line 1421 "asmparse.y" -{ PASM->EmitInstrStringLiteral(yypvt[-3].instr, yypvt[-1].binstr,FALSE,TRUE); } break; -case 518: -#line 1423 "asmparse.y" -{ PASM->EmitInstrSig(yypvt[-5].instr, parser->MakeSig(yypvt[-4].int32, yypvt[-3].binstr, yypvt[-1].binstr)); - PASM->ResetArgNameList(); - } break; -case 519: -#line 1427 "asmparse.y" -{ PASM->EmitInstrI(yypvt[-1].instr,yypvt[-0].token); - PASM->m_tkCurrentCVOwner = yypvt[-0].token; - PASM->m_pCustomDescrList = NULL; - iOpcodeLen = 0; - } break; -case 520: -#line 1432 "asmparse.y" -{ PASM->EmitInstrSwitch(yypvt[-3].instr, yypvt[-1].labels); } break; -case 521: -#line 1435 "asmparse.y" -{ yyval.labels = 0; } break; -case 522: -#line 1436 "asmparse.y" -{ yyval.labels = new Labels(yypvt[-2].string, yypvt[-0].labels, TRUE); } break; -case 523: -#line 1437 "asmparse.y" -{ yyval.labels = new Labels((char *)(UINT_PTR)yypvt[-2].int32, yypvt[-0].labels, FALSE); } break; -case 524: -#line 1438 "asmparse.y" -{ yyval.labels = new Labels(yypvt[-0].string, NULL, TRUE); } break; -case 525: -#line 1439 "asmparse.y" -{ yyval.labels = new Labels((char *)(UINT_PTR)yypvt[-0].int32, NULL, FALSE); } break; -case 526: -#line 1443 "asmparse.y" -{ yyval.binstr = NULL; } break; -case 527: -#line 1444 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; } break; -case 528: -#line 1447 "asmparse.y" -{ yyval.binstr = NULL; } break; -case 529: -#line 1448 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 530: -#line 1451 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 531: -#line 1452 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; } break; -case 532: -#line 1456 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 533: -#line 1457 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr;} break; -case 534: -#line 1460 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 535: -#line 1461 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; } break; -case 536: -#line 1464 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_SENTINEL); } break; -case 537: -#line 1465 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->append(yypvt[-1].binstr); PASM->addArgName(NULL, yypvt[-1].binstr, yypvt[-0].binstr, yypvt[-2].int32); } break; -case 538: -#line 1466 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->append(yypvt[-2].binstr); PASM->addArgName(yypvt[-0].string, yypvt[-2].binstr, yypvt[-1].binstr, yypvt[-3].int32);} break; -case 539: -#line 1470 "asmparse.y" -{ yyval.token = PASM->ResolveClassRef(PASM->GetAsmRef(yypvt[-2].string), yypvt[-0].string, NULL); delete[] yypvt[-2].string;} break; -case 540: -#line 1471 "asmparse.y" -{ yyval.token = PASM->ResolveClassRef(yypvt[-2].token, yypvt[-0].string, NULL); } break; -case 541: -#line 1472 "asmparse.y" -{ yyval.token = PASM->ResolveClassRef(mdTokenNil, yypvt[-0].string, NULL); } break; -case 542: -#line 1473 "asmparse.y" -{ yyval.token = PASM->ResolveClassRef(PASM->GetModRef(yypvt[-2].string),yypvt[-0].string, NULL); delete[] yypvt[-2].string;} break; -case 543: -#line 1474 "asmparse.y" -{ yyval.token = PASM->ResolveClassRef(1,yypvt[-0].string,NULL); } break; -case 544: -#line 1475 "asmparse.y" -{ yyval.token = yypvt[-0].token; } break; -case 545: -#line 1476 "asmparse.y" -{ yyval.token = yypvt[-0].tdd->m_tkTypeSpec; } break; -case 546: -#line 1477 "asmparse.y" -{ if(PASM->m_pCurClass != NULL) yyval.token = PASM->m_pCurClass->m_cl; - else { yyval.token = 0; PASM->report->error(".this outside class scope\n"); } - } break; -case 547: -#line 1480 "asmparse.y" -{ if(PASM->m_pCurClass != NULL) { - yyval.token = PASM->m_pCurClass->m_crExtends; - if(RidFromToken(yyval.token) == 0) - PASM->report->error(".base undefined\n"); - } else { yyval.token = 0; PASM->report->error(".base outside class scope\n"); } - } break; -case 548: -#line 1486 "asmparse.y" -{ if(PASM->m_pCurClass != NULL) { - if(PASM->m_pCurClass->m_pEncloser != NULL) yyval.token = PASM->m_pCurClass->m_pEncloser->m_cl; - else { yyval.token = 0; PASM->report->error(".nester undefined\n"); } - } else { yyval.token = 0; PASM->report->error(".nester outside class scope\n"); } - } break; -case 549: -#line 1493 "asmparse.y" -{ yyval.string = yypvt[-0].string; } break; -case 550: -#line 1494 "asmparse.y" -{ yyval.string = newStringWDel(yypvt[-2].string, NESTING_SEP, yypvt[-0].string); } break; -case 551: -#line 1497 "asmparse.y" -{ yyval.token = yypvt[-0].token;} break; -case 552: -#line 1498 "asmparse.y" -{ yyval.token = PASM->GetAsmRef(yypvt[-1].string); delete[] yypvt[-1].string;} break; -case 553: -#line 1499 "asmparse.y" -{ yyval.token = PASM->GetModRef(yypvt[-1].string); delete[] yypvt[-1].string;} break; -case 554: -#line 1500 "asmparse.y" -{ yyval.token = PASM->ResolveTypeSpec(yypvt[-0].binstr); } break; -case 555: -#line 1504 "asmparse.y" -{ yyval.binstr = new BinStr(); } break; -case 556: -#line 1506 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CUSTOMMARSHALER); - corEmitInt(yyval.binstr,yypvt[-7].binstr->length()); yyval.binstr->append(yypvt[-7].binstr); - corEmitInt(yyval.binstr,yypvt[-5].binstr->length()); yyval.binstr->append(yypvt[-5].binstr); - corEmitInt(yyval.binstr,yypvt[-3].binstr->length()); yyval.binstr->append(yypvt[-3].binstr); - corEmitInt(yyval.binstr,yypvt[-1].binstr->length()); yyval.binstr->append(yypvt[-1].binstr); - PASM->report->warn("Deprecated 4-string form of custom marshaler, first two strings ignored\n");} break; -case 557: -#line 1513 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CUSTOMMARSHALER); - corEmitInt(yyval.binstr,0); - corEmitInt(yyval.binstr,0); - corEmitInt(yyval.binstr,yypvt[-3].binstr->length()); yyval.binstr->append(yypvt[-3].binstr); - corEmitInt(yyval.binstr,yypvt[-1].binstr->length()); yyval.binstr->append(yypvt[-1].binstr); } break; -case 558: -#line 1518 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FIXEDSYSSTRING); - corEmitInt(yyval.binstr,yypvt[-1].int32); } break; -case 559: -#line 1521 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FIXEDARRAY); - corEmitInt(yyval.binstr,yypvt[-2].int32); yyval.binstr->append(yypvt[-0].binstr); } break; -case 560: -#line 1523 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VARIANT); - PASM->report->warn("Deprecated native type 'variant'\n"); } break; -case 561: -#line 1525 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_CURRENCY); } break; -case 562: -#line 1526 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SYSCHAR); - PASM->report->warn("Deprecated native type 'syschar'\n"); } break; -case 563: -#line 1528 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VOID); - PASM->report->warn("Deprecated native type 'void'\n"); } break; -case 564: -#line 1530 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BOOLEAN); } break; -case 565: -#line 1531 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I1); } break; -case 566: -#line 1532 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I2); } break; -case 567: -#line 1533 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I4); } break; -case 568: -#line 1534 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_I8); } break; -case 569: -#line 1535 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R4); } break; -case 570: -#line 1536 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_R8); } break; -case 571: -#line 1537 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ERROR); } break; -case 572: -#line 1538 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } break; -case 573: -#line 1539 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } break; -case 574: -#line 1540 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } break; -case 575: -#line 1541 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } break; -case 576: -#line 1542 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U1); } break; -case 577: -#line 1543 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U2); } break; -case 578: -#line 1544 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U4); } break; -case 579: -#line 1545 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_U8); } break; -case 580: -#line 1546 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt8(NATIVE_TYPE_PTR); - PASM->report->warn("Deprecated native type '*'\n"); } break; -case 581: -#line 1548 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); - yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); } break; -case 582: -#line 1550 "asmparse.y" -{ yyval.binstr = yypvt[-3].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); - yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); - corEmitInt(yyval.binstr,0); - corEmitInt(yyval.binstr,yypvt[-1].int32); - corEmitInt(yyval.binstr,0); } break; -case 583: -#line 1555 "asmparse.y" -{ yyval.binstr = yypvt[-5].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); - yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); - corEmitInt(yyval.binstr,yypvt[-1].int32); - corEmitInt(yyval.binstr,yypvt[-3].int32); - corEmitInt(yyval.binstr,ntaSizeParamIndexSpecified); } break; -case 584: -#line 1560 "asmparse.y" -{ yyval.binstr = yypvt[-4].binstr; if(yyval.binstr->length()==0) yyval.binstr->appendInt8(NATIVE_TYPE_MAX); - yyval.binstr->insertInt8(NATIVE_TYPE_ARRAY); - corEmitInt(yyval.binstr,yypvt[-1].int32); } break; -case 585: -#line 1563 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_DECIMAL); - PASM->report->warn("Deprecated native type 'decimal'\n"); } break; -case 586: -#line 1565 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_DATE); - PASM->report->warn("Deprecated native type 'date'\n"); } break; -case 587: -#line 1567 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BSTR); } break; -case 588: -#line 1568 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTR); } break; -case 589: -#line 1569 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPWSTR); } break; -case 590: -#line 1570 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPTSTR); } break; -case 591: -#line 1571 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_OBJECTREF); - PASM->report->warn("Deprecated native type 'objectref'\n"); } break; -case 592: -#line 1573 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_IUNKNOWN); - if(yypvt[-0].int32 != -1) corEmitInt(yyval.binstr,yypvt[-0].int32); } break; -case 593: -#line 1575 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_IDISPATCH); - if(yypvt[-0].int32 != -1) corEmitInt(yyval.binstr,yypvt[-0].int32); } break; -case 594: -#line 1577 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_STRUCT); } break; -case 595: -#line 1578 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_INTF); - if(yypvt[-0].int32 != -1) corEmitInt(yyval.binstr,yypvt[-0].int32); } break; -case 596: -#line 1580 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SAFEARRAY); - corEmitInt(yyval.binstr,yypvt[-0].int32); - corEmitInt(yyval.binstr,0);} break; -case 597: -#line 1583 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_SAFEARRAY); - corEmitInt(yyval.binstr,yypvt[-2].int32); - corEmitInt(yyval.binstr,yypvt[-0].binstr->length()); yyval.binstr->append(yypvt[-0].binstr); } break; -case 598: -#line 1587 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_INT); } break; -case 599: -#line 1588 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_UINT); } break; -case 600: -#line 1589 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_UINT); } break; -case 601: -#line 1590 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_NESTEDSTRUCT); - PASM->report->warn("Deprecated native type 'nested struct'\n"); } break; -case 602: -#line 1592 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_BYVALSTR); } break; -case 603: -#line 1593 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ANSIBSTR); } break; -case 604: -#line 1594 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_TBSTR); } break; -case 605: -#line 1595 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_VARIANTBOOL); } break; -case 606: -#line 1596 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_FUNC); } break; -case 607: -#line 1597 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_ASANY); } break; -case 608: -#line 1598 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(NATIVE_TYPE_LPSTRUCT); } break; -case 609: -#line 1599 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->append(yypvt[-0].tdd->m_pbsTypeSpec); } break; -case 610: -#line 1602 "asmparse.y" -{ yyval.int32 = -1; } break; -case 611: -#line 1603 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32; } break; -case 612: -#line 1606 "asmparse.y" -{ yyval.int32 = VT_EMPTY; } break; -case 613: -#line 1607 "asmparse.y" -{ yyval.int32 = VT_NULL; } break; -case 614: -#line 1608 "asmparse.y" -{ yyval.int32 = VT_VARIANT; } break; -case 615: -#line 1609 "asmparse.y" -{ yyval.int32 = VT_CY; } break; -case 616: -#line 1610 "asmparse.y" -{ yyval.int32 = VT_VOID; } break; -case 617: -#line 1611 "asmparse.y" -{ yyval.int32 = VT_BOOL; } break; -case 618: -#line 1612 "asmparse.y" -{ yyval.int32 = VT_I1; } break; -case 619: -#line 1613 "asmparse.y" -{ yyval.int32 = VT_I2; } break; -case 620: -#line 1614 "asmparse.y" -{ yyval.int32 = VT_I4; } break; -case 621: -#line 1615 "asmparse.y" -{ yyval.int32 = VT_I8; } break; -case 622: -#line 1616 "asmparse.y" -{ yyval.int32 = VT_R4; } break; -case 623: -#line 1617 "asmparse.y" -{ yyval.int32 = VT_R8; } break; -case 624: -#line 1618 "asmparse.y" -{ yyval.int32 = VT_UI1; } break; -case 625: -#line 1619 "asmparse.y" -{ yyval.int32 = VT_UI2; } break; -case 626: -#line 1620 "asmparse.y" -{ yyval.int32 = VT_UI4; } break; -case 627: -#line 1621 "asmparse.y" -{ yyval.int32 = VT_UI8; } break; -case 628: -#line 1622 "asmparse.y" -{ yyval.int32 = VT_UI1; } break; -case 629: -#line 1623 "asmparse.y" -{ yyval.int32 = VT_UI2; } break; -case 630: -#line 1624 "asmparse.y" -{ yyval.int32 = VT_UI4; } break; -case 631: -#line 1625 "asmparse.y" -{ yyval.int32 = VT_UI8; } break; -case 632: -#line 1626 "asmparse.y" -{ yyval.int32 = VT_PTR; } break; -case 633: -#line 1627 "asmparse.y" -{ yyval.int32 = yypvt[-2].int32 | VT_ARRAY; } break; -case 634: -#line 1628 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | VT_VECTOR; } break; -case 635: -#line 1629 "asmparse.y" -{ yyval.int32 = yypvt[-1].int32 | VT_BYREF; } break; -case 636: -#line 1630 "asmparse.y" -{ yyval.int32 = VT_DECIMAL; } break; -case 637: -#line 1631 "asmparse.y" -{ yyval.int32 = VT_DATE; } break; -case 638: -#line 1632 "asmparse.y" -{ yyval.int32 = VT_BSTR; } break; -case 639: -#line 1633 "asmparse.y" -{ yyval.int32 = VT_LPSTR; } break; -case 640: -#line 1634 "asmparse.y" -{ yyval.int32 = VT_LPWSTR; } break; -case 641: -#line 1635 "asmparse.y" -{ yyval.int32 = VT_UNKNOWN; } break; -case 642: -#line 1636 "asmparse.y" -{ yyval.int32 = VT_DISPATCH; } break; -case 643: -#line 1637 "asmparse.y" -{ yyval.int32 = VT_SAFEARRAY; } break; -case 644: -#line 1638 "asmparse.y" -{ yyval.int32 = VT_INT; } break; -case 645: -#line 1639 "asmparse.y" -{ yyval.int32 = VT_UINT; } break; -case 646: -#line 1640 "asmparse.y" -{ yyval.int32 = VT_UINT; } break; -case 647: -#line 1641 "asmparse.y" -{ yyval.int32 = VT_ERROR; } break; -case 648: -#line 1642 "asmparse.y" -{ yyval.int32 = VT_HRESULT; } break; -case 649: -#line 1643 "asmparse.y" -{ yyval.int32 = VT_CARRAY; } break; -case 650: -#line 1644 "asmparse.y" -{ yyval.int32 = VT_USERDEFINED; } break; -case 651: -#line 1645 "asmparse.y" -{ yyval.int32 = VT_RECORD; } break; -case 652: -#line 1646 "asmparse.y" -{ yyval.int32 = VT_FILETIME; } break; -case 653: -#line 1647 "asmparse.y" -{ yyval.int32 = VT_BLOB; } break; -case 654: -#line 1648 "asmparse.y" -{ yyval.int32 = VT_STREAM; } break; -case 655: -#line 1649 "asmparse.y" -{ yyval.int32 = VT_STORAGE; } break; -case 656: -#line 1650 "asmparse.y" -{ yyval.int32 = VT_STREAMED_OBJECT; } break; -case 657: -#line 1651 "asmparse.y" -{ yyval.int32 = VT_STORED_OBJECT; } break; -case 658: -#line 1652 "asmparse.y" -{ yyval.int32 = VT_BLOB_OBJECT; } break; -case 659: -#line 1653 "asmparse.y" -{ yyval.int32 = VT_CF; } break; -case 660: -#line 1654 "asmparse.y" -{ yyval.int32 = VT_CLSID; } break; -case 661: -#line 1658 "asmparse.y" -{ if(yypvt[-0].token == PASM->m_tkSysString) - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); } - else if(yypvt[-0].token == PASM->m_tkSysObject) - { yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_OBJECT); } - else - yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CLASS, yypvt[-0].token); } break; -case 662: -#line 1664 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_OBJECT); } break; -case 663: -#line 1665 "asmparse.y" -{ yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_VALUETYPE, yypvt[-0].token); } break; -case 664: -#line 1666 "asmparse.y" -{ yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_VALUETYPE, yypvt[-0].token); } break; -case 665: -#line 1667 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SZARRAY); } break; -case 666: -#line 1668 "asmparse.y" -{ yyval.binstr = parser->MakeTypeArray(ELEMENT_TYPE_ARRAY, yypvt[-3].binstr, yypvt[-1].binstr); } break; -case 667: -#line 1669 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_BYREF); } break; -case 668: -#line 1670 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PTR); } break; -case 669: -#line 1671 "asmparse.y" -{ yyval.binstr = yypvt[-1].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_PINNED); } break; -case 670: -#line 1672 "asmparse.y" -{ yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CMOD_REQD, yypvt[-1].token); - yyval.binstr->append(yypvt[-4].binstr); } break; -case 671: -#line 1674 "asmparse.y" -{ yyval.binstr = parser->MakeTypeClass(ELEMENT_TYPE_CMOD_OPT, yypvt[-1].token); - yyval.binstr->append(yypvt[-4].binstr); } break; -case 672: -#line 1677 "asmparse.y" -{ yyval.binstr = parser->MakeSig(yypvt[-5].int32, yypvt[-4].binstr, yypvt[-1].binstr); - yyval.binstr->insertInt8(ELEMENT_TYPE_FNPTR); - PASM->delArgNameList(PASM->m_firstArgName); - PASM->m_firstArgName = parser->m_ANSFirst.POP(); - PASM->m_lastArgName = parser->m_ANSLast.POP(); - } break; -case 673: -#line 1683 "asmparse.y" -{ if(yypvt[-1].binstr == NULL) yyval.binstr = yypvt[-3].binstr; - else { - yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(ELEMENT_TYPE_GENERICINST); - yyval.binstr->append(yypvt[-3].binstr); - corEmitInt(yyval.binstr, corCountArgs(yypvt[-1].binstr)); - yyval.binstr->append(yypvt[-1].binstr); delete yypvt[-3].binstr; delete yypvt[-1].binstr; }} break; -case 674: -#line 1690 "asmparse.y" -{ //if(PASM->m_pCurMethod) { - // if(($3 < 0)||((DWORD)$3 >= PASM->m_pCurMethod->m_NumTyPars)) - // PASM->report->error("Invalid method type parameter '%d'\n",$3); - yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_MVAR); corEmitInt(yyval.binstr, yypvt[-0].int32); - //} else PASM->report->error("Method type parameter '%d' outside method scope\n",$3); - } break; -case 675: -#line 1696 "asmparse.y" -{ //if(PASM->m_pCurClass) { - // if(($2 < 0)||((DWORD)$2 >= PASM->m_pCurClass->m_NumTyPars)) - // PASM->report->error("Invalid type parameter '%d'\n",$2); - yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_VAR); corEmitInt(yyval.binstr, yypvt[-0].int32); - //} else PASM->report->error("Type parameter '%d' outside class scope\n",$2); - } break; -case 676: -#line 1702 "asmparse.y" -{ int eltype = ELEMENT_TYPE_MVAR; - int n=-1; - if(PASM->m_pCurMethod) n = PASM->m_pCurMethod->FindTyPar(yypvt[-0].string); - else { - if(PASM->m_TyParList) n = PASM->m_TyParList->IndexOf(yypvt[-0].string); - if(n == -1) - { n = TyParFixupList.COUNT(); - TyParFixupList.PUSH(yypvt[-0].string); - eltype = ELEMENT_TYPE_MVARFIXUP; - } - } - if(n == -1) { PASM->report->error("Invalid method type parameter '%s'\n",yypvt[-0].string); - n = 0x1FFFFFFF; } - yyval.binstr = new BinStr(); yyval.binstr->appendInt8(eltype); corEmitInt(yyval.binstr,n); - } break; -case 677: -#line 1717 "asmparse.y" -{ int eltype = ELEMENT_TYPE_VAR; - int n=-1; - if(PASM->m_pCurClass && !newclass) n = PASM->m_pCurClass->FindTyPar(yypvt[-0].string); - else { - if(PASM->m_TyParList) n = PASM->m_TyParList->IndexOf(yypvt[-0].string); - if(n == -1) - { n = TyParFixupList.COUNT(); - TyParFixupList.PUSH(yypvt[-0].string); - eltype = ELEMENT_TYPE_VARFIXUP; - } - } - if(n == -1) { PASM->report->error("Invalid type parameter '%s'\n",yypvt[-0].string); - n = 0x1FFFFFFF; } - yyval.binstr = new BinStr(); yyval.binstr->appendInt8(eltype); corEmitInt(yyval.binstr,n); - } break; -case 678: -#line 1732 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_TYPEDBYREF); } break; -case 679: -#line 1733 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_VOID); } break; -case 680: -#line 1734 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I); } break; -case 681: -#line 1735 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U); } break; -case 682: -#line 1736 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U); } break; -case 683: -#line 1737 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 684: -#line 1738 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; yyval.binstr->insertInt8(ELEMENT_TYPE_SENTINEL); } break; -case 685: -#line 1741 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_CHAR); } break; -case 686: -#line 1742 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_STRING); } break; -case 687: -#line 1743 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_BOOLEAN); } break; -case 688: -#line 1744 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I1); } break; -case 689: -#line 1745 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I2); } break; -case 690: -#line 1746 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I4); } break; -case 691: -#line 1747 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_I8); } break; -case 692: -#line 1748 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R4); } break; -case 693: -#line 1749 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_R8); } break; -case 694: -#line 1750 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } break; -case 695: -#line 1751 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } break; -case 696: -#line 1752 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } break; -case 697: -#line 1753 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } break; -case 698: -#line 1754 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U1); } break; -case 699: -#line 1755 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U2); } break; -case 700: -#line 1756 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U4); } break; -case 701: -#line 1757 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt8(ELEMENT_TYPE_U8); } break; -case 702: -#line 1758 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->append(yypvt[-0].tdd->m_pbsTypeSpec); } break; -case 703: -#line 1761 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; } break; -case 704: -#line 1762 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yypvt[-2].binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; } break; -case 705: -#line 1765 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0x7FFFFFFF); yyval.binstr->appendInt32(0x7FFFFFFF); } break; -case 706: -#line 1766 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0x7FFFFFFF); yyval.binstr->appendInt32(0x7FFFFFFF); } break; -case 707: -#line 1767 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt32(0); yyval.binstr->appendInt32(yypvt[-0].int32); } break; -case 708: -#line 1768 "asmparse.y" -{ FAIL_UNLESS(yypvt[-2].int32 <= yypvt[-0].int32, ("lower bound %d must be <= upper bound %d\n", yypvt[-2].int32, yypvt[-0].int32)); - if (yypvt[-2].int32 > yypvt[-0].int32) { YYERROR; }; - yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yypvt[-2].int32); yyval.binstr->appendInt32(yypvt[-0].int32-yypvt[-2].int32+1); } break; -case 709: -#line 1771 "asmparse.y" -{ yyval.binstr = new BinStr(); yyval.binstr->appendInt32(yypvt[-1].int32); yyval.binstr->appendInt32(0x7FFFFFFF); } break; -case 710: -#line 1776 "asmparse.y" -{ PASM->AddPermissionDecl(yypvt[-4].secAct, yypvt[-3].token, yypvt[-1].pair); } break; -case 711: -#line 1778 "asmparse.y" -{ PASM->AddPermissionDecl(yypvt[-5].secAct, yypvt[-4].token, yypvt[-1].binstr); } break; -case 712: -#line 1779 "asmparse.y" -{ PASM->AddPermissionDecl(yypvt[-1].secAct, yypvt[-0].token, (NVPair *)NULL); } break; -case 713: -#line 1780 "asmparse.y" -{ PASM->AddPermissionSetDecl(yypvt[-2].secAct, yypvt[-1].binstr); } break; -case 714: -#line 1782 "asmparse.y" -{ PASM->AddPermissionSetDecl(yypvt[-1].secAct,BinStrToUnicode(yypvt[-0].binstr,true));} break; -case 715: -#line 1784 "asmparse.y" -{ BinStr* ret = new BinStr(); - ret->insertInt8('.'); - corEmitInt(ret, nSecAttrBlobs); - ret->append(yypvt[-1].binstr); - PASM->AddPermissionSetDecl(yypvt[-4].secAct,ret); - nSecAttrBlobs = 0; } break; -case 716: -#line 1792 "asmparse.y" -{ yyval.binstr = new BinStr(); nSecAttrBlobs = 0;} break; -case 717: -#line 1793 "asmparse.y" -{ yyval.binstr = yypvt[-0].binstr; nSecAttrBlobs = 1; } break; -case 718: -#line 1794 "asmparse.y" -{ yyval.binstr = yypvt[-2].binstr; yyval.binstr->append(yypvt[-0].binstr); nSecAttrBlobs++; } break; -case 719: -#line 1798 "asmparse.y" -{ yyval.binstr = PASM->EncodeSecAttr(PASM->ReflectionNotation(yypvt[-4].token),yypvt[-1].binstr,nCustomBlobNVPairs); - nCustomBlobNVPairs = 0; } break; -case 720: -#line 1801 "asmparse.y" -{ yyval.binstr = PASM->EncodeSecAttr(yypvt[-4].string,yypvt[-1].binstr,nCustomBlobNVPairs); - nCustomBlobNVPairs = 0; } break; -case 721: -#line 1805 "asmparse.y" -{ yyval.secAct = yypvt[-2].secAct; bParsingByteArray = TRUE; } break; -case 722: -#line 1807 "asmparse.y" -{ yyval.secAct = yypvt[-2].secAct; bParsingByteArray = TRUE; } break; -case 723: -#line 1810 "asmparse.y" -{ yyval.pair = yypvt[-0].pair; } break; -case 724: -#line 1811 "asmparse.y" -{ yyval.pair = yypvt[-2].pair->Concat(yypvt[-0].pair); } break; -case 725: -#line 1814 "asmparse.y" -{ yypvt[-2].binstr->appendInt8(0); yyval.pair = new NVPair(yypvt[-2].binstr, yypvt[-0].binstr); } break; -case 726: -#line 1817 "asmparse.y" -{ yyval.int32 = 1; } break; -case 727: -#line 1818 "asmparse.y" -{ yyval.int32 = 0; } break; -case 728: -#line 1821 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_BOOLEAN); - yyval.binstr->appendInt8(yypvt[-0].int32); } break; -case 729: -#line 1824 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_I4); - yyval.binstr->appendInt32(yypvt[-0].int32); } break; -case 730: -#line 1827 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_I4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 731: -#line 1830 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_STRING); - yyval.binstr->append(yypvt[-0].binstr); delete yypvt[-0].binstr; - yyval.binstr->appendInt8(0); } break; -case 732: -#line 1834 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - char* sz = PASM->ReflectionNotation(yypvt[-5].token); - strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); - yyval.binstr->appendInt8(1); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 733: -#line 1840 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - char* sz = PASM->ReflectionNotation(yypvt[-5].token); - strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); - yyval.binstr->appendInt8(2); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 734: -#line 1846 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - char* sz = PASM->ReflectionNotation(yypvt[-5].token); - strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); - yyval.binstr->appendInt8(4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 735: -#line 1852 "asmparse.y" -{ yyval.binstr = new BinStr(); - yyval.binstr->appendInt8(SERIALIZATION_TYPE_ENUM); - char* sz = PASM->ReflectionNotation(yypvt[-3].token); - strcpy_s((char *)yyval.binstr->getBuff((unsigned)strlen(sz) + 1), strlen(sz) + 1,sz); - yyval.binstr->appendInt8(4); - yyval.binstr->appendInt32(yypvt[-1].int32); } break; -case 736: -#line 1860 "asmparse.y" -{ yyval.secAct = dclRequest; } break; -case 737: -#line 1861 "asmparse.y" -{ yyval.secAct = dclDemand; } break; -case 738: -#line 1862 "asmparse.y" -{ yyval.secAct = dclAssert; } break; -case 739: -#line 1863 "asmparse.y" -{ yyval.secAct = dclDeny; } break; -case 740: -#line 1864 "asmparse.y" -{ yyval.secAct = dclPermitOnly; } break; -case 741: -#line 1865 "asmparse.y" -{ yyval.secAct = dclLinktimeCheck; } break; -case 742: -#line 1866 "asmparse.y" -{ yyval.secAct = dclInheritanceCheck; } break; -case 743: -#line 1867 "asmparse.y" -{ yyval.secAct = dclRequestMinimum; } break; -case 744: -#line 1868 "asmparse.y" -{ yyval.secAct = dclRequestOptional; } break; -case 745: -#line 1869 "asmparse.y" -{ yyval.secAct = dclRequestRefuse; } break; -case 746: -#line 1870 "asmparse.y" -{ yyval.secAct = dclPrejitGrant; } break; -case 747: -#line 1871 "asmparse.y" -{ yyval.secAct = dclPrejitDenied; } break; -case 748: -#line 1872 "asmparse.y" -{ yyval.secAct = dclNonCasDemand; } break; -case 749: -#line 1873 "asmparse.y" -{ yyval.secAct = dclNonCasLinkDemand; } break; -case 750: -#line 1874 "asmparse.y" -{ yyval.secAct = dclNonCasInheritance; } break; -case 751: -#line 1878 "asmparse.y" -{ PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = FALSE; } break; -case 752: -#line 1879 "asmparse.y" -{ PASM->ResetLineNumbers(); nCurrPC = PASM->m_CurPC; PENV->bExternSource = TRUE; PENV->bExternSourceAutoincrement = TRUE; } break; -case 753: -#line 1882 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-1].int32; - PENV->nExtCol = 0; PENV->nExtColEnd = static_cast<unsigned>(-1); - PASM->SetSourceFileName(yypvt[-0].string);} break; -case 754: -#line 1885 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-0].int32; - PENV->nExtCol = 0; PENV->nExtColEnd = static_cast<unsigned>(-1); } break; -case 755: -#line 1887 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-3].int32; - PENV->nExtCol=yypvt[-1].int32; PENV->nExtColEnd = static_cast<unsigned>(-1); - PASM->SetSourceFileName(yypvt[-0].string);} break; -case 756: -#line 1890 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-2].int32; - PENV->nExtCol=yypvt[-0].int32; PENV->nExtColEnd = static_cast<unsigned>(-1);} break; -case 757: -#line 1893 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-5].int32; - PENV->nExtCol=yypvt[-3].int32; PENV->nExtColEnd = yypvt[-1].int32; - PASM->SetSourceFileName(yypvt[-0].string);} break; -case 758: -#line 1897 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-4].int32; - PENV->nExtCol=yypvt[-2].int32; PENV->nExtColEnd = yypvt[-0].int32; } break; -case 759: -#line 1900 "asmparse.y" -{ PENV->nExtLine = yypvt[-5].int32; PENV->nExtLineEnd = yypvt[-3].int32; - PENV->nExtCol=yypvt[-1].int32; PENV->nExtColEnd = static_cast<unsigned>(-1); - PASM->SetSourceFileName(yypvt[-0].string);} break; -case 760: -#line 1904 "asmparse.y" -{ PENV->nExtLine = yypvt[-4].int32; PENV->nExtLineEnd = yypvt[-2].int32; - PENV->nExtCol=yypvt[-0].int32; PENV->nExtColEnd = static_cast<unsigned>(-1); } break; -case 761: -#line 1907 "asmparse.y" -{ PENV->nExtLine = yypvt[-7].int32; PENV->nExtLineEnd = yypvt[-5].int32; - PENV->nExtCol=yypvt[-3].int32; PENV->nExtColEnd = yypvt[-1].int32; - PASM->SetSourceFileName(yypvt[-0].string);} break; -case 762: -#line 1911 "asmparse.y" -{ PENV->nExtLine = yypvt[-6].int32; PENV->nExtLineEnd = yypvt[-4].int32; - PENV->nExtCol=yypvt[-2].int32; PENV->nExtColEnd = yypvt[-0].int32; } break; -case 763: -#line 1913 "asmparse.y" -{ PENV->nExtLine = PENV->nExtLineEnd = yypvt[-1].int32 - 1; - PENV->nExtCol = 0; PENV->nExtColEnd = static_cast<unsigned>(-1); - PASM->SetSourceFileName(yypvt[-0].binstr);} break; -case 764: -#line 1920 "asmparse.y" -{ PASMM->AddFile(yypvt[-5].string, yypvt[-6].fileAttr|yypvt[-4].fileAttr|yypvt[-0].fileAttr, yypvt[-2].binstr); } break; -case 765: -#line 1921 "asmparse.y" -{ PASMM->AddFile(yypvt[-1].string, yypvt[-2].fileAttr|yypvt[-0].fileAttr, NULL); } break; -case 766: -#line 1924 "asmparse.y" -{ yyval.fileAttr = (CorFileFlags) 0; } break; -case 767: -#line 1925 "asmparse.y" -{ yyval.fileAttr = (CorFileFlags) (yypvt[-1].fileAttr | ffContainsNoMetaData); } break; -case 768: -#line 1928 "asmparse.y" -{ yyval.fileAttr = (CorFileFlags) 0; } break; -case 769: -#line 1929 "asmparse.y" -{ yyval.fileAttr = (CorFileFlags) 0x80000000; } break; -case 770: -#line 1932 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 771: -#line 1935 "asmparse.y" -{ PASMM->StartAssembly(yypvt[-0].string, NULL, (DWORD)yypvt[-1].asmAttr, FALSE); } break; -case 772: -#line 1938 "asmparse.y" -{ yyval.asmAttr = (CorAssemblyFlags) 0; } break; -case 773: -#line 1939 "asmparse.y" -{ yyval.asmAttr = (CorAssemblyFlags) (yypvt[-1].asmAttr | afRetargetable); } break; -case 774: -#line 1940 "asmparse.y" -{ yyval.asmAttr = (CorAssemblyFlags) (yypvt[-1].asmAttr | afContentType_WindowsRuntime); } break; -case 775: -#line 1941 "asmparse.y" -{ yyval.asmAttr = (CorAssemblyFlags) (yypvt[-1].asmAttr | afPA_NoPlatform); } break; -case 776: -#line 1942 "asmparse.y" -{ yyval.asmAttr = yypvt[-2].asmAttr; } break; -case 777: -#line 1943 "asmparse.y" -{ SET_PA(yyval.asmAttr,yypvt[-1].asmAttr,afPA_MSIL); } break; -case 778: -#line 1944 "asmparse.y" -{ SET_PA(yyval.asmAttr,yypvt[-1].asmAttr,afPA_x86); } break; -case 779: -#line 1945 "asmparse.y" -{ SET_PA(yyval.asmAttr,yypvt[-1].asmAttr,afPA_IA64); } break; -case 780: -#line 1946 "asmparse.y" -{ SET_PA(yyval.asmAttr,yypvt[-1].asmAttr,afPA_AMD64); } break; -case 781: -#line 1947 "asmparse.y" -{ SET_PA(yyval.asmAttr,yypvt[-1].asmAttr,afPA_ARM); } break; -case 784: -#line 1954 "asmparse.y" -{ PASMM->SetAssemblyHashAlg(yypvt[-0].int32); } break; -case 787: -#line 1959 "asmparse.y" -{ yyval.int32 = yypvt[-0].int32; } break; -case 788: -#line 1960 "asmparse.y" -{ yyval.int32 = 0xFFFF; } break; -case 789: -#line 1963 "asmparse.y" -{ PASMM->SetAssemblyPublicKey(yypvt[-1].binstr); } break; -case 790: -#line 1965 "asmparse.y" -{ PASMM->SetAssemblyVer((USHORT)yypvt[-6].int32, (USHORT)yypvt[-4].int32, (USHORT)yypvt[-2].int32, (USHORT)yypvt[-0].int32); } break; -case 791: -#line 1966 "asmparse.y" -{ yypvt[-0].binstr->appendInt8(0); PASMM->SetAssemblyLocale(yypvt[-0].binstr,TRUE); } break; -case 792: -#line 1967 "asmparse.y" -{ PASMM->SetAssemblyLocale(yypvt[-1].binstr,FALSE); } break; -case 795: -#line 1972 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 796: -#line 1975 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 797: -#line 1978 "asmparse.y" -{ bParsingByteArray = TRUE; } break; -case 798: -#line 1982 "asmparse.y" -{ PASMM->StartAssembly(yypvt[-0].string, NULL, yypvt[-1].asmAttr, TRUE); } break; -case 799: -#line 1984 "asmparse.y" -{ PASMM->StartAssembly(yypvt[-2].string, yypvt[-0].string, yypvt[-3].asmAttr, TRUE); } break; -case 802: -#line 1991 "asmparse.y" -{ PASMM->SetAssemblyHashBlob(yypvt[-1].binstr); } break; -case 804: -#line 1993 "asmparse.y" -{ PASMM->SetAssemblyPublicKeyToken(yypvt[-1].binstr); } break; -case 805: -#line 1994 "asmparse.y" -{ PASMM->SetAssemblyAutodetect(); } break; -case 806: -#line 1997 "asmparse.y" -{ PASMM->StartComType(yypvt[-0].string, yypvt[-1].exptAttr);} break; -case 807: -#line 2000 "asmparse.y" -{ PASMM->StartComType(yypvt[-0].string, yypvt[-1].exptAttr); } break; -case 808: -#line 2003 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) 0; } break; -case 809: -#line 2004 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-1].exptAttr | tdNotPublic); } break; -case 810: -#line 2005 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-1].exptAttr | tdPublic); } break; -case 811: -#line 2006 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-1].exptAttr | tdForwarder); } break; -case 812: -#line 2007 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedPublic); } break; -case 813: -#line 2008 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedPrivate); } break; -case 814: -#line 2009 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedFamily); } break; -case 815: -#line 2010 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedAssembly); } break; -case 816: -#line 2011 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedFamANDAssem); } break; -case 817: -#line 2012 "asmparse.y" -{ yyval.exptAttr = (CorTypeAttr) (yypvt[-2].exptAttr | tdNestedFamORAssem); } break; -case 820: -#line 2019 "asmparse.y" -{ PASMM->SetComTypeFile(yypvt[-0].string); } break; -case 821: -#line 2020 "asmparse.y" -{ PASMM->SetComTypeComType(yypvt[-0].string); } break; -case 822: -#line 2021 "asmparse.y" -{ PASMM->SetComTypeAsmRef(yypvt[-0].string); } break; -case 823: -#line 2022 "asmparse.y" -{ if(!PASMM->SetComTypeImplementationTok(yypvt[-1].int32)) - PASM->report->error("Invalid implementation of exported type\n"); } break; -case 824: -#line 2024 "asmparse.y" -{ if(!PASMM->SetComTypeClassTok(yypvt[-0].int32)) - PASM->report->error("Invalid TypeDefID of exported type\n"); } break; -case 827: -#line 2030 "asmparse.y" -{ PASMM->StartManifestRes(yypvt[-0].string, yypvt[-0].string, yypvt[-1].manresAttr); } break; -case 828: -#line 2032 "asmparse.y" -{ PASMM->StartManifestRes(yypvt[-2].string, yypvt[-0].string, yypvt[-3].manresAttr); } break; -case 829: -#line 2035 "asmparse.y" -{ yyval.manresAttr = (CorManifestResourceFlags) 0; } break; -case 830: -#line 2036 "asmparse.y" -{ yyval.manresAttr = (CorManifestResourceFlags) (yypvt[-1].manresAttr | mrPublic); } break; -case 831: -#line 2037 "asmparse.y" -{ yyval.manresAttr = (CorManifestResourceFlags) (yypvt[-1].manresAttr | mrPrivate); } break; -case 834: -#line 2044 "asmparse.y" -{ PASMM->SetManifestResFile(yypvt[-2].string, (ULONG)yypvt[-0].int32); } break; -case 835: -#line 2045 "asmparse.y" -{ PASMM->SetManifestResAsmRef(yypvt[-0].string); } break;/* End of actions */ -#line 329 "D:\\ProjectK3\\src\\tools\\devdiv\\x86\\yypars.c" - } - } - goto yystack; /* stack new state and value */ - } -#pragma warning(default:102) - - -#ifdef YYDUMP -YYLOCAL void YYNEAR YYPASCAL yydumpinfo(void) -{ - short stackindex; - short valindex; - - //dump yys - printf("short yys[%d] {\n", YYMAXDEPTH); - for (stackindex = 0; stackindex < YYMAXDEPTH; stackindex++){ - if (stackindex) - printf(", %s", stackindex % 10 ? "\0" : "\n"); - printf("%6d", yys[stackindex]); - } - printf("\n};\n"); - - //dump yyv - printf("YYSTYPE yyv[%d] {\n", YYMAXDEPTH); - for (valindex = 0; valindex < YYMAXDEPTH; valindex++){ - if (valindex) - printf(", %s", valindex % 5 ? "\0" : "\n"); - printf("%#*x", 3+sizeof(YYSTYPE), yyv[valindex]); - } - printf("\n};\n"); - } -#endif |