home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 40 / IOPROG_40.ISO / SOFT / NETFrameworkSDK.exe / comsdk.cab / samples1.exe / smc / macros.i.free < prev    next >
Encoding:
Text File  |  2000-06-23  |  70.6 KB  |  4,919 lines

  1. #line 1 "macros.cpp"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. #line 1 "smcPCH.h"
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. #line 10 "macros.cpp"
  31. #pragma hdrstop
  32.  
  33.  
  34. #line 1 "macros.h"
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. #line 9 "macros.h"
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. #line 20 "macros.h"
  54.  
  55. #line 14 "macros.cpp"
  56.  
  57.  
  58. #line 17 "macros.cpp"
  59.  
  60.  
  61.  
  62.  
  63.  
  64. #line 1 "tokens.h"
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. enum tokens
  75. {
  76.     
  77.  
  78.  
  79.  
  80.  
  81.     
  82.     
  83.     
  84.     #line 1 "keywords.h"
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. #line 9 "keywords.h"
  93.  
  94.  
  95.  
  96.  
  97. #line 14 "keywords.h"
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. tkNone,
  121.  
  122.  
  123.  
  124. tkABSTRACT,
  125. tkAPPDOMAIN,
  126. tkARRAYLEN,
  127. tkASSERT,
  128. tkASYNCH,
  129. tkATTRIBUTE,
  130.  
  131. tkBASECLASS,
  132. tkBOOL,
  133. tkBREAK,
  134. tkBYREF,
  135. tkBYTE,
  136. tkCAPABILITY,
  137. tkCASE,
  138. tkCATCH,
  139. tkCHAR,
  140. tkCLASS,
  141. tkCOMPARE,
  142. tkCONST,
  143. tkCONTEXTFUL,
  144. tkCONTINUE,
  145. tkDEFINED,
  146. tkDEFAULT,
  147. tkDELEGATE,
  148. tkDELETE,
  149. tkDO,
  150. tkDOUBLE,
  151. tkELSE,
  152. tkENUM,
  153. tkEQUALS,
  154. tkEXCEPT,
  155. tkEXCLUSIVE,
  156.  
  157. tkEXPLICIT,
  158. tkEXTERN,
  159. tkFALSE,
  160. tkFINALLY,
  161. tkFLOAT,
  162. tkFOR,
  163. tkGOTO,
  164. tkIF,
  165. tkIMPLEMENTS,
  166. tkIMPLICIT,
  167. tkIN,
  168. tkINCLUDES,
  169. tkINLINE,
  170. tkINOUT,
  171. tkINT,
  172. tkINT8,
  173. tkINT16,
  174. tkINT32,
  175. tkINT64,
  176. tkINTERFACE,
  177. tkISTYPE,
  178. tkLONGINT,
  179. tkMANAGED,
  180. tkMULTICAST,
  181. tkNAMESPACE,
  182. tkNATIVE,
  183. tkNATURALINT,
  184. tkNATURALUINT,
  185. tkNEW,
  186. tkNULL,
  187. tkOUT,
  188. tkOPERATOR,
  189. tkOVERRIDE,
  190. tkOVERLOAD,
  191. tkPERMISSION,
  192. tkPRIVATE,
  193. tkPROPERTY,
  194. tkPROTECTED,
  195. tkPUBLIC,
  196. tkREFADDR,
  197. tkREGISTER,
  198. tkRETURN,
  199. tkSEALED,
  200. tkSERIALIZABLE,
  201. tkSHORT,
  202. tkSIGNED,
  203. tkSIZEOF,
  204. tkSTATIC,
  205. tkSTRUCT,
  206. tkSWITCH,
  207. tkTHIS,
  208. tkTHROW,
  209. tkTRANSIENT,
  210. tkTYPEOF,
  211. tkTYPEDEF,
  212. tkTRUE,
  213. tkTRY,
  214. tkUINT8,
  215. tkUINT16,
  216. tkUINT32,
  217. tkUINT64,
  218. tkUINT,
  219. tkULONGINT,
  220. tkUNION,
  221. tkUNMANAGED,
  222. tkUNSAFE,
  223. tkUNSIGNED,
  224. tkUSHORT,
  225. tkUSING,
  226. tkVOID,
  227. tkVIRTUAL,
  228. tkVOLATILE,
  229. tkWCHAR,
  230. tkWHILE,
  231. tkFILE,
  232. tkLINE,
  233.  
  234.  
  235.  
  236. tkComma, tkFirstOper =tkComma,
  237.  
  238. tkAsg,
  239. tkAsgAdd,
  240. tkAsgSub,
  241. tkAsgMul,
  242. tkAsgDiv,
  243. tkAsgMod,
  244.  
  245. tkAsgAnd,
  246. tkAsgXor,
  247. tkAsgOr,
  248.  
  249. tkAsgLsh,
  250. tkAsgRsh,
  251. tkAsgRsz,
  252.  
  253. tkAsgCnc,
  254.  
  255. tkQMark,
  256. tkColon,
  257.  
  258. tkLogOr,
  259. tkLogAnd,
  260.  
  261. tkOr,
  262.  
  263. tkXor,
  264. tkAnd,
  265.  
  266. tkConcat,
  267.  
  268. tkEQ,
  269. tkNE,
  270.  
  271. tkLT,
  272. tkLE,
  273. tkGE,
  274. tkGT,
  275.  
  276. tkLsh,
  277. tkRsh,
  278. tkRsz,
  279.  
  280. tkAdd,
  281. tkSub,
  282.  
  283. tkMul,
  284. tkDiv,
  285. tkPct,
  286.  
  287. tkTilde,
  288. tkBang,
  289. tkInc,
  290. tkDec,
  291.  
  292. tkLParen,
  293. tkLBrack,
  294. tkDot,
  295. tkArrow,
  296.  
  297. tkSColon,
  298. tkRParen,
  299. tkRBrack,
  300. tkLCurly,
  301. tkRCurly,
  302. tkColon2,
  303. tkDot2,
  304. tkEllipsis,
  305.  
  306.  
  307. tkID, tkKwdCount, tkKwdLast = tkKwdCount-1,
  308. tkQUALID,
  309. tkHACKID,
  310.  
  311.  
  312.  
  313. tkEOL,
  314. tkEOF,
  315.  
  316. tkAtComment,
  317.  
  318. tkIntCon,
  319. tkLngCon,
  320. tkFltCon,
  321. tkDblCon,
  322. tkStrCon,
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329. #line 21 "tokens.h"
  330.  
  331.     tkCount,
  332.  
  333.     
  334.  
  335.     tkPragma,
  336.  
  337.     tkIntConM,
  338.     tkIntCon0,
  339.     tkIntCon1,
  340.     tkIntCon2,
  341.     tkIntConB,
  342.  
  343.     tkLnoAdd1,
  344.     tkLnoAdd2,
  345.     tkLnoAdd3,
  346.     tkLnoAdd4,
  347.     tkLnoAdd5,
  348.     tkLnoAdd6,
  349.     tkLnoAdd7,
  350.     tkLnoAdd8,
  351.     tkLnoAdd9,
  352.     tkLnoAddB,
  353.     tkLnoAddI,
  354.  
  355.     tkBrkSeq,
  356.     tkEndSeq,
  357.  
  358.     tkLastValue,
  359.  
  360.     tkNoToken = 0x12345678          
  361. };
  362.  
  363.  
  364. #line 56 "tokens.h"
  365.  
  366. #line 23 "macros.cpp"
  367. #line 1 "treeops.h"
  368.  
  369.  
  370.  
  371.  
  372.  
  373. enum treeOps
  374. {
  375.     
  376.     #line 1 "toplist.h"
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392. TN_ERROR,
  393. TN_NONE,
  394.  
  395.  
  396.  
  397.  
  398.  
  399. TN_NAME,
  400. TN_THIS,
  401. TN_BASE,
  402. TN_DBGBRK,
  403.  
  404.  
  405.  
  406.  
  407.  
  408. TN_CNS_INT,
  409. TN_CNS_LNG,
  410. TN_CNS_FLT,
  411. TN_CNS_DBL,
  412. TN_CNS_STR,
  413. TN_NULL,
  414.  
  415.  
  416.  
  417.  
  418.  
  419. TN_ADDROF,
  420.  
  421. TN_NOT,
  422. TN_LOG_NOT,
  423. TN_NOP,
  424. TN_NEG,
  425. TN_THROW,
  426.  
  427. TN_INC_POST,
  428. TN_DEC_POST,
  429. TN_INC_PRE,
  430. TN_DEC_PRE,
  431.  
  432. TN_TYPE,
  433. TN_TOKEN,
  434.  
  435. TN_INST_STUB,
  436.  
  437.  
  438.  
  439.  
  440.  
  441. TN_ADD,
  442. TN_SUB,
  443. TN_MUL,
  444. TN_DIV,
  445. TN_MOD,
  446.  
  447. TN_AND,
  448. TN_XOR,
  449. TN_OR,
  450.  
  451. TN_LSH,
  452. TN_RSH,
  453. TN_RSZ,
  454.  
  455. TN_EQ,
  456. TN_NE,
  457. TN_LT,
  458. TN_LE,
  459. TN_GE,
  460. TN_GT,
  461.  
  462.  
  463.  
  464. TN_ASG,
  465. TN_ASG_ADD,
  466. TN_ASG_SUB,
  467. TN_ASG_MUL,
  468. TN_ASG_DIV,
  469. TN_ASG_MOD,
  470.  
  471. TN_ASG_AND,
  472. TN_ASG_XOR,
  473. TN_ASG_OR,
  474.  
  475. TN_ASG_LSH,
  476. TN_ASG_RSH,
  477. TN_ASG_RSZ,
  478.  
  479. TN_ASG_CNC,
  480.  
  481. TN_COMMA,
  482.  
  483. TN_QMARK,
  484. TN_COLON,
  485.  
  486. TN_LOG_OR,
  487. TN_LOG_AND,
  488.  
  489. TN_ISTYPE,
  490.  
  491. TN_INDEX,
  492. TN_CALL,
  493. TN_ARROW,
  494.  
  495. TN_REFADDR,
  496.  
  497.  
  498.  
  499.  
  500.  
  501. TN_IND,   
  502.  
  503. TN_NEW,
  504. TN_DELETE,
  505.  
  506. TN_CONCAT,
  507. TN_CONCAT_ASG,
  508.  
  509. TN_AND_NOSTR,
  510. TN_ANA_NOSTR,
  511.  
  512. TN_LIST,
  513.  
  514. TN_CAST,
  515.  
  516. TN_CLASS,
  517.  
  518. TN_TRY,
  519. TN_CATCH,
  520. TN_EXCEPT,
  521. TN_FINALLY,
  522.  
  523. TN_DOT,
  524. TN_DOT_NAME,
  525.  
  526. TN_GOTO,
  527. TN_LABEL,
  528.  
  529. TN_ARR_INIT,
  530. TN_ARR_LEN,
  531.  
  532. TN_SIZEOF,
  533. TN_TYPEOF,
  534.  
  535. TN_BOX,
  536. TN_UNBOX,
  537.  
  538.  
  539.  
  540.  
  541.  
  542. TN_EXPR_STMT,
  543.  
  544. TN_IF,
  545.  
  546. TN_DO,
  547. TN_FOR,
  548. TN_WHILE,
  549.  
  550. TN_EXCLUDE,
  551.  
  552. TN_BREAK,
  553. TN_CONTINUE,
  554.  
  555. TN_SWITCH,
  556. TN_CASE,
  557.  
  558. TN_RETURN,
  559.  
  560. TN_ASSERT,
  561.  
  562. TN_VARARG_BEG,
  563. TN_VARARG_GET,
  564.  
  565.  
  566.  
  567.  
  568.  
  569. TN_NAMESPACE,
  570. TN_ANY_SYM,
  571. TN_LCL_SYM,
  572. TN_MEM_SYM,
  573. TN_VAR_SYM,
  574. TN_BFM_SYM,
  575. TN_FNC_SYM,
  576. TN_FNC_PTR,
  577. TN_PROPERTY,
  578.  
  579. TN_BLOCK,
  580.  
  581.  
  582.  
  583.  
  584.  
  585. TN_VAR_DECL, 
  586. TN_SLV_INIT,
  587.  
  588.  
  589.  
  590.  
  591.  
  592. TN_DCL_VAR,
  593.  
  594.  
  595.  
  596.  
  597.  
  598. TN_DEFINED,
  599.  
  600.  
  601.  
  602.  
  603. #line 10 "treeops.h"
  604.  
  605.     TN_COUNT
  606. };
  607.  
  608.  
  609. #line 16 "treeops.h"
  610.  
  611. #line 24 "macros.cpp"
  612.  
  613.  
  614.  
  615.  
  616. #line 1 "symsizes.h"
  617.  
  618.  
  619.  
  620.  
  621.  
  622. const   size_t  symDef_size_base    = (((size_t)&(((SymDefRec*)0)->sdBase)));
  623.  
  624. const   size_t  symDef_size_err     = (((size_t)&(((SymDefRec*)0)->sdBase)));
  625. const   size_t  symDef_size_var     = ((((size_t)&(((SymDefRec*)0)->sdVar)) + sizeof(((SymDefRec *)0)->sdVar)));
  626. const   size_t  symDef_size_fnc     = ((((size_t)&(((SymDefRec*)0)->sdFnc)) + sizeof(((SymDefRec *)0)->sdFnc)));
  627. const   size_t  symDef_size_prop    = ((((size_t)&(((SymDefRec*)0)->sdProp)) + sizeof(((SymDefRec *)0)->sdProp)));
  628. const   size_t  symDef_size_label   = ((((size_t)&(((SymDefRec*)0)->sdLabel)) + sizeof(((SymDefRec *)0)->sdLabel)));
  629. const   size_t  symDef_size_using   = ((((size_t)&(((SymDefRec*)0)->sdUsing)) + sizeof(((SymDefRec *)0)->sdUsing)));
  630. const   size_t  symDef_size_genarg  = ((((size_t)&(((SymDefRec*)0)->sdGenArg)) + sizeof(((SymDefRec *)0)->sdGenArg)));
  631. const   size_t  symDef_size_enumval = ((((size_t)&(((SymDefRec*)0)->sdEnumVal)) + sizeof(((SymDefRec *)0)->sdEnumVal)));
  632. const   size_t  symDef_size_typedef = ((((size_t)&(((SymDefRec*)0)->sdTypeDef)) + sizeof(((SymDefRec *)0)->sdTypeDef)));
  633. const   size_t  symDef_size_comp    = ((((size_t)&(((SymDefRec*)0)->sdComp)) + sizeof(((SymDefRec *)0)->sdComp)));
  634.  
  635. const   size_t  symDef_size_enum    = ((((size_t)&(((SymDefRec*)0)->sdEnum)) + sizeof(((SymDefRec *)0)->sdEnum)));
  636. const   size_t  symDef_size_class   = ((((size_t)&(((SymDefRec*)0)->sdClass)) + sizeof(((SymDefRec *)0)->sdClass)));
  637. const   size_t  symDef_size_NS      = ((((size_t)&(((SymDefRec*)0)->sdNS)) + sizeof(((SymDefRec *)0)->sdNS)));
  638. const   size_t  symDef_size_scope   = ((((size_t)&(((SymDefRec*)0)->sdScope)) + sizeof(((SymDefRec *)0)->sdScope)));
  639.  
  640.  
  641. #line 26 "symsizes.h"
  642.  
  643. #line 29 "macros.cpp"
  644. #line 1 "typsizes.h"
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651. const   size_t  typDef_size_base    = (((size_t)&(((TypDefRec*)0)->tdIntrinsic)));
  652.  
  653. const   size_t  typDef_size_array   = ((((size_t)&(((TypDefRec*)0)->tdArr)) + sizeof(((TypDefRec *)0)->tdArr)));
  654. const   size_t  typDef_size_fnc     = ((((size_t)&(((TypDefRec*)0)->tdFnc)) + sizeof(((TypDefRec *)0)->tdFnc)));
  655. const   size_t  typDef_size_ptr     = ((((size_t)&(((TypDefRec*)0)->tdRef)) + sizeof(((TypDefRec *)0)->tdRef)));
  656. const   size_t  typDef_size_ref     = ((((size_t)&(((TypDefRec*)0)->tdRef)) + sizeof(((TypDefRec *)0)->tdRef)));
  657. const   size_t  typDef_size_enum    = ((((size_t)&(((TypDefRec*)0)->tdEnum)) + sizeof(((TypDefRec *)0)->tdEnum)));
  658. const   size_t  typDef_size_undef   = ((((size_t)&(((TypDefRec*)0)->tdUndef)) + sizeof(((TypDefRec *)0)->tdUndef)));
  659. const   size_t  typDef_size_class   = ((((size_t)&(((TypDefRec*)0)->tdClass)) + sizeof(((TypDefRec *)0)->tdClass)));
  660. const   size_t  typDef_size_typedef = ((((size_t)&(((TypDefRec*)0)->tdTypedef)) + sizeof(((TypDefRec *)0)->tdTypedef)));
  661.  
  662.  
  663. #line 20 "typsizes.h"
  664.  
  665. #line 30 "macros.cpp"
  666. #line 31 "macros.cpp"
  667.  
  668.  
  669.  
  670. #line 1 "config.h"
  671.  
  672.  
  673.  
  674.  
  675.  
  676. enum compilerPhases
  677. {
  678.     CPH_NONE,
  679.     CPH_START,
  680.     CPH_PARSING,
  681. };
  682.  
  683. struct  compConfig
  684. {
  685.     compilerPhases  ccCurPhase;     
  686.  
  687.     
  688.     #line 1 "options.h"
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695. bool ccQuiet;
  696. bool ccSafeMode;
  697. bool ccPedantic;
  698. bool ccChkUseDef;
  699.  
  700. const char * ccBaseLibs;
  701. StrList ccSuckList;
  702. StrList ccSuckLast;
  703. StrList ccPathList;
  704. StrList ccPathLast;
  705.  
  706. unsigned ccOutBase;
  707. unsigned ccOutSize;
  708. bool ccOutDLL;
  709.  
  710. unsigned ccSubsystem;
  711.  
  712. bool ccNoDefines;
  713. StrList ccMacList;
  714. StrList ccMacLast;
  715.  
  716. bool ccStrValCmp;
  717.  
  718. bool ccOldStyle;
  719.  
  720. bool ccNewMDnames;
  721.  
  722. unsigned char ccAsserts;
  723.  
  724. unsigned char ccAlignVal;
  725.  
  726. bool ccGenDebug;
  727. bool ccLineNums;
  728. bool ccParamNames;
  729.  
  730. const char * ccOutFileName;
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738. GUID ccOutGUID;
  739. const char * ccOutName;
  740. const char * ccRCfile;
  741. const char * ccMainCls;
  742. bool ccSkipATC;
  743.  
  744. StrList ccModList;
  745. StrList ccModLast;
  746.  
  747. StrList ccMRIlist;
  748. StrList ccMRIlast;
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761. bool ccRecDir;
  762.  
  763. signed char ccWarnLvl;
  764. bool ccWarnErr;
  765.  
  766. unsigned ccMaxErrs;
  767.  
  768. bool ccAssembly;
  769. bool ccAsmNoPubTp;
  770. bool ccAsmNonCLS;
  771.  
  772. bool ccAmbigHack;
  773.  
  774. bool ccAsynchIO;
  775.  
  776. bool ccTgt64bit;
  777. bool ccIntEnums;
  778.  
  779. unsigned ccTestMask;
  780.  
  781.  
  782. #line 19 "config.h"
  783.  
  784.     BYTE            ccWarning[WRNcountWarn];
  785. };
  786.  
  787. enum    enumConfig
  788. {
  789.     
  790.     #line 1 "options.h"
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797. CC_Quiet,
  798. CC_SafeMode,
  799. CC_Pedantic,
  800. CC_ChkUseDef,
  801.  
  802. CC_BaseLibs,
  803. CC_SuckList,
  804. CC_SuckLast,
  805. CC_PathList,
  806. CC_PathLast,
  807.  
  808. CC_OutBase,
  809. CC_OutSize,
  810. CC_OutDLL,
  811.  
  812. CC_Subsystem,
  813.  
  814. CC_NoDefines,
  815. CC_MacList,
  816. CC_MacLast,
  817.  
  818. CC_StrValCmp,
  819.  
  820. CC_OldStyle,
  821.  
  822. CC_NewMDnames,
  823.  
  824. CC_Asserts,
  825.  
  826. CC_AlignVal,
  827.  
  828. CC_GenDebug,
  829. CC_LineNums,
  830. CC_ParamNames,
  831.  
  832. CC_OutFileName,
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840. CC_OutGUID,
  841. CC_OutName,
  842. CC_RCfile,
  843. CC_MainCls,
  844. CC_SkipATC,
  845.  
  846. CC_ModList,
  847. CC_ModLast,
  848.  
  849. CC_MRIlist,
  850. CC_MRIlast,
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863. CC_RecDir,
  864.  
  865. CC_WarnLvl,
  866. CC_WarnErr,
  867.  
  868. CC_MaxErrs,
  869.  
  870. CC_Assembly,
  871. CC_AsmNoPubTp,
  872. CC_AsmNonCLS,
  873.  
  874. CC_AmbigHack,
  875.  
  876. CC_AsynchIO,
  877.  
  878. CC_Tgt64bit,
  879. CC_IntEnums,
  880.  
  881. CC_TestMask,
  882.  
  883.  
  884. #line 27 "config.h"
  885.  
  886.     CC_COUNT
  887. };
  888.  
  889.  
  890.  
  891.  
  892. struct  optionDesc
  893. {
  894.     unsigned            odValueOffs :16;
  895.     unsigned            odValueSize :8;
  896.  
  897.     unsigned            odMaxPhase  :8;
  898.  
  899.     int                 odDefault;
  900. };
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907. #line 50 "config.h"
  908.  
  909. #line 35 "macros.cpp"
  910.  
  911. optionDesc      optionInfo[] =
  912. {
  913.     
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.     #line 1 "options.h"
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. { ((size_t)&(((compConfig*)0)->ccQuiet)), sizeof(bool), CPH_NONE, (int)false },
  929. { ((size_t)&(((compConfig*)0)->ccSafeMode)), sizeof(bool), CPH_NONE, (int)false },
  930. { ((size_t)&(((compConfig*)0)->ccPedantic)), sizeof(bool), CPH_NONE, (int)false },
  931. { ((size_t)&(((compConfig*)0)->ccChkUseDef)), sizeof(bool), CPH_NONE, (int)true },
  932.  
  933. { ((size_t)&(((compConfig*)0)->ccBaseLibs)), sizeof(const char *), CPH_NONE, (int)"" },
  934. { ((size_t)&(((compConfig*)0)->ccSuckList)), sizeof(StrList), CPH_NONE, (int)NULL },
  935. { ((size_t)&(((compConfig*)0)->ccSuckLast)), sizeof(StrList), CPH_NONE, (int)NULL },
  936. { ((size_t)&(((compConfig*)0)->ccPathList)), sizeof(StrList), CPH_NONE, (int)NULL },
  937. { ((size_t)&(((compConfig*)0)->ccPathLast)), sizeof(StrList), CPH_NONE, (int)NULL },
  938.  
  939. { ((size_t)&(((compConfig*)0)->ccOutBase)), sizeof(unsigned), CPH_NONE, (int)0 },
  940. { ((size_t)&(((compConfig*)0)->ccOutSize)), sizeof(unsigned), CPH_NONE, (int)0 },
  941. { ((size_t)&(((compConfig*)0)->ccOutDLL)), sizeof(bool), CPH_NONE, (int)false },
  942.  
  943. { ((size_t)&(((compConfig*)0)->ccSubsystem)), sizeof(unsigned), CPH_NONE, (int)IMAGE_SUBSYSTEM_WINDOWS_CUI },
  944.  
  945. { ((size_t)&(((compConfig*)0)->ccNoDefines)), sizeof(bool), CPH_NONE, (int)false },
  946. { ((size_t)&(((compConfig*)0)->ccMacList)), sizeof(StrList), CPH_NONE, (int)NULL },
  947. { ((size_t)&(((compConfig*)0)->ccMacLast)), sizeof(StrList), CPH_NONE, (int)NULL },
  948.  
  949. { ((size_t)&(((compConfig*)0)->ccStrValCmp)), sizeof(bool), CPH_PARSING, (int)false },
  950.  
  951. { ((size_t)&(((compConfig*)0)->ccOldStyle)), sizeof(bool), CPH_PARSING, (int)false },
  952.  
  953. { ((size_t)&(((compConfig*)0)->ccNewMDnames)), sizeof(bool), CPH_NONE, (int)true },
  954.  
  955. { ((size_t)&(((compConfig*)0)->ccAsserts)), sizeof(unsigned char), CPH_NONE, (int)0 },
  956.  
  957. { ((size_t)&(((compConfig*)0)->ccAlignVal)), sizeof(unsigned char), CPH_NONE, (int)sizeof(int) },
  958.  
  959. { ((size_t)&(((compConfig*)0)->ccGenDebug)), sizeof(bool), CPH_NONE, (int)false },
  960. { ((size_t)&(((compConfig*)0)->ccLineNums)), sizeof(bool), CPH_NONE, (int)false },
  961. { ((size_t)&(((compConfig*)0)->ccParamNames)), sizeof(bool), CPH_NONE, (int)false },
  962.  
  963. { ((size_t)&(((compConfig*)0)->ccOutFileName)), sizeof(const char *), CPH_NONE, (int)NULL },
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971. { ((size_t)&(((compConfig*)0)->ccOutGUID)), sizeof(GUID), CPH_NONE, (int)NULL },
  972. { ((size_t)&(((compConfig*)0)->ccOutName)), sizeof(const char *), CPH_NONE, (int)NULL },
  973. { ((size_t)&(((compConfig*)0)->ccRCfile)), sizeof(const char *), CPH_NONE, (int)NULL },
  974. { ((size_t)&(((compConfig*)0)->ccMainCls)), sizeof(const char *), CPH_NONE, (int)NULL },
  975. { ((size_t)&(((compConfig*)0)->ccSkipATC)), sizeof(bool), CPH_NONE, (int)false },
  976.  
  977. { ((size_t)&(((compConfig*)0)->ccModList)), sizeof(StrList), CPH_NONE, (int)NULL },
  978. { ((size_t)&(((compConfig*)0)->ccModLast)), sizeof(StrList), CPH_NONE, (int)NULL },
  979.  
  980. { ((size_t)&(((compConfig*)0)->ccMRIlist)), sizeof(StrList), CPH_NONE, (int)NULL },
  981. { ((size_t)&(((compConfig*)0)->ccMRIlast)), sizeof(StrList), CPH_NONE, (int)NULL },
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. { ((size_t)&(((compConfig*)0)->ccRecDir)), sizeof(bool), CPH_NONE, (int)false },
  995.  
  996. { ((size_t)&(((compConfig*)0)->ccWarnLvl)), sizeof(signed char), CPH_NONE, (int)1 },
  997. { ((size_t)&(((compConfig*)0)->ccWarnErr)), sizeof(bool), CPH_NONE, (int)false },
  998.  
  999. { ((size_t)&(((compConfig*)0)->ccMaxErrs)), sizeof(unsigned), CPH_NONE, (int)50 },
  1000.  
  1001. { ((size_t)&(((compConfig*)0)->ccAssembly)), sizeof(bool), CPH_NONE, (int)true },
  1002. { ((size_t)&(((compConfig*)0)->ccAsmNoPubTp)), sizeof(bool), CPH_PARSING, (int)false },
  1003. { ((size_t)&(((compConfig*)0)->ccAsmNonCLS)), sizeof(bool), CPH_PARSING, (int)false },
  1004.  
  1005. { ((size_t)&(((compConfig*)0)->ccAmbigHack)), sizeof(bool), CPH_NONE, (int)false },
  1006.  
  1007. { ((size_t)&(((compConfig*)0)->ccAsynchIO)), sizeof(bool), CPH_NONE, (int)false },
  1008.  
  1009. { ((size_t)&(((compConfig*)0)->ccTgt64bit)), sizeof(bool), CPH_NONE, (int)false },
  1010. { ((size_t)&(((compConfig*)0)->ccIntEnums)), sizeof(bool), CPH_NONE, (int)false },
  1011.  
  1012. { ((size_t)&(((compConfig*)0)->ccTestMask)), sizeof(unsigned), CPH_PARSING, (int)0 },
  1013.  
  1014.  
  1015. #line 47 "macros.cpp"
  1016. };
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028. enum    errors
  1029. {
  1030.     #line 1 "errors.h"
  1031.  
  1032.  
  1033. ERRnone,
  1034. ERRinternal,
  1035. ERR2manyErrs,
  1036. ERRnoMemory,
  1037. ERRerrDir,
  1038. ERRbltinNS,
  1039. ERRbltinTp,
  1040. ERRbltinMeth,
  1041.  
  1042. ERRopenRdErr,
  1043. ERRopenWrErr,
  1044. ERRreadErr,
  1045. ERRopenMDerr,
  1046. ERRreadMD,
  1047. ERRopenMDbad,
  1048. ERRwriteErr,
  1049. ERRopenCOR,
  1050. ERRmetadata,
  1051. ERRdebugInfo,
  1052. ERRundefTref,
  1053. ERRbadInputFF,
  1054. ERRnoOutfName,
  1055.  
  1056.  
  1057.  
  1058. ERRidTooLong,
  1059. ERRbadNumber,
  1060. ERRillegalChar,
  1061. ERRbadCharCns,
  1062. ERRbadEscCh,
  1063. ERRnoStrEnd,
  1064. ERRnoCmtEnd,
  1065. ERRnestCmt,
  1066. ERRnoUnicodeEsc,
  1067. ERRbadPPdir,
  1068. ERRnoEOL,
  1069. ERRnoEndif,
  1070.  
  1071. ERRnoClassDef,
  1072. ERRnoEnumDef,
  1073. ERRnoEOF,
  1074. ERRnoColon,
  1075. ERRnoComma,
  1076. ERRnoSemic,
  1077. ERRnoLparen,
  1078. ERRnoRparen,
  1079. ERRnoRbrack,
  1080. ERRnoLcurly,
  1081. ERRnoRcurly,
  1082. ERRnoEqual,
  1083. ERRnoGt,
  1084. ERRnoCmRc,
  1085. ERRnoCmSc,
  1086. ERRnoSmLc,
  1087. ERRnoIN,
  1088.  
  1089. ERRbadLcurly,
  1090. ERRbadElse,
  1091. ERRbadEndif,
  1092. ERRnoEOX,
  1093.  
  1094. ERRnoDecl,
  1095. ERRnoIdent,
  1096. ERRnoString,
  1097. ERRnoType,
  1098. ERRbadQualid,
  1099. ERRbadQualName,
  1100. ERRidNotType,
  1101. ERRundefName,
  1102. ERRnoSuchMem,
  1103. ERRbadMain,
  1104. ERRbadAccSpec,
  1105. ERRdupModifier,
  1106. ERRdupIntfc,
  1107. ERRbadModifier,
  1108. ERRdmModifier,
  1109. ERRfmModifier,
  1110. ERRlvModifier,
  1111. ERRfmModifier2,
  1112. ERRlvAccess,
  1113. ERRnoClassName,
  1114. ERRnotAclass,
  1115. ERRbadIdent,
  1116. ERRbadNSmem,
  1117. ERRredefMem,
  1118. ERRredefName,
  1119. ERRredefBody,
  1120. ERRredefEnum,
  1121. ERRredefClass,
  1122. ERRredefLcl,
  1123. ERRcircDep,
  1124. ERRundefCls,
  1125. ERRnoCnsInit,
  1126. ERRnoVarInit,
  1127. ERRdupMemInit,
  1128. ERRrecClass,
  1129. ERRextCns,
  1130. ERRbadInit,
  1131. ERRnoIntType,
  1132. ERRnoIntExpr,
  1133. ERRnoCnsExpr,
  1134. ERRbadArrSize,
  1135. ERRbadFnBody,
  1136. ERRbadBfld,
  1137.  
  1138. ERRstmBfld,
  1139. ERRbadBFsize,
  1140. ERRbfldAddr,
  1141. ERRbadOvl,
  1142. ERRbadUTag,
  1143. ERRbadUmem,
  1144. ERRmulUmem,
  1145. ERRbadExpTp,
  1146. ERRnoNspMem,
  1147. ERRnoClsMem,
  1148. ERRnoTPmems,
  1149. ERRnoMems,
  1150. ERRnoGlobNm,
  1151. ERRbadCall,
  1152. ERRnoOvlMatch,
  1153. ERRnoDlgMatch,
  1154. ERRhideMatch,
  1155. ERRmisgArg,
  1156. ERRmanyArg,
  1157. ERRbadArgValNam,
  1158. ERRbadArgValNum,
  1159. ERRbadMgdMod,
  1160. ERRmgdGlobVar,
  1161. ERRmgdStatVar,
  1162. ERRbadUnmInt,
  1163. ERRbadGlobInt,
  1164. ERRassgCns,
  1165. ERRassgLit,
  1166. ERRnotLvalue,
  1167. ERRbadIndex,
  1168. ERRnoArrDim,
  1169. ERRbadBrInit,
  1170. ERRbadBrNew,
  1171. ERRnoArrSize,
  1172. ERRbadUndimMem,
  1173. ERRemptyArray,
  1174. ERRbadPtrUse,
  1175. ERRbadMgInit,
  1176. ERRarrInitMany,
  1177. ERRstrInitMany,
  1178. ERRlvInvisible,
  1179. ERRnoNSnm,
  1180. ERRambigUse,
  1181. ERRdiffMethRet,
  1182. ERRdiffVirtRet,
  1183. ERRvirtAccess,
  1184. ERRdiffPropTp,
  1185. ERRdupDefProp,
  1186. ERRnoPropDef,
  1187. ERRpropAccDef,
  1188. ERRnewIntf,
  1189. ERRnewAbstract,
  1190. ERRbadNewTyp,
  1191. ERRnewNoVal,
  1192. ERRnoCtorMatch,
  1193. ERRintfImpl,
  1194. ERRintfBase,
  1195. ERRsealedInh,
  1196. ERRstrInhCls,
  1197. ERRunmIntf,
  1198. ERRinclCls,
  1199. ERRxMgdInh,
  1200. ERRxCtxInh,
  1201. ERRctxAddr,
  1202. ERRbadEHtype,
  1203. ERRbadReThrow,
  1204. ERRtryNoBlk,
  1205. ERRnoHandler,
  1206. ERRfinExit,
  1207. ERRbadFNbody,
  1208. ERRdupProp,
  1209. ERRdupArg,
  1210. ERRnotClass,
  1211. ERRsyntax,
  1212. ERRnoDim,
  1213. ERRbadSizeof,
  1214. ERRoperType,
  1215. ERRoperType2,
  1216. ERRnotAfunc,
  1217. ERRtypedefNm,
  1218. ERRmemWOthis,
  1219. ERRundefNspm,
  1220. ERRbadDotOp,
  1221. ERRbadArrOp,
  1222. ERRnotMember,
  1223. ERRmsgArgs,
  1224. ERRbadArgs,
  1225. ERRambigCall,
  1226. ERRambigConv,
  1227. ERRambigMem,
  1228. ERRbadCastImp,
  1229. ERRbadCastExp,
  1230. ERRbadCastNul,
  1231. ERRdivZero,
  1232. ERRbadMgdTyp,
  1233. ERRbadUnmTyp,
  1234. ERRbadArrowNC,
  1235. ERRbadIndir,
  1236. ERRlabRedef,
  1237. ERRundefLab,
  1238. ERRbadBreak,
  1239. ERRbadCont,
  1240. ERRbadCase,
  1241. ERRbadDefl,
  1242. ERRdupDefl,
  1243. ERRdupCaseVal,
  1244. ERRnoMemName,
  1245. ERRredefAnMem,
  1246. ERRbadThis,
  1247. ERRnoWhile,
  1248. ERRbadVoid,
  1249. ERRbadInitSt,
  1250. ERRinitNotCns,
  1251. ERRnoLinkStr,
  1252. ERRbadLinkStr,
  1253. ERRbadArrLen,
  1254. ERRcantRet,
  1255. ERRmisgRet,
  1256. ERRbadOperNm,
  1257. ERRintfDM,
  1258. ERRintfDup,
  1259. ERRtypeidOp,
  1260. ERRbadConcat,
  1261. ERRchgClsFlv,
  1262. ERRnotClsVal,
  1263. ERRbadOvlOp,
  1264. ERRbadOvlOpC,
  1265. ERRbadOvlOp1,
  1266. ERRbadOvlOp2,
  1267. ERRbadOvlOp12,
  1268. ERRbadOvlOpT,
  1269. ERRbadOvlRet,
  1270. ERRbadOvlAcc,
  1271. ERRbadOvlEq,
  1272. ERRbadOvlCmp,
  1273. ERRdefOvlVal,
  1274. ERRimplAbst,
  1275. ERRabsFNbody,
  1276. ERRabsPFbody,
  1277. ERRabsNotVirt,
  1278. ERRmsgPFbody,
  1279. ERRintfFNacc,
  1280. ERRnoPropSym,
  1281. ERRnoPropOvl,
  1282. ERRbadBaseCall,
  1283. ERRctorRetTP,
  1284. ERRbadAlign,
  1285. ERRnoAccess,
  1286. ERRnotFlx,
  1287. ERRnotHnd,
  1288. ERRumgRef,
  1289. ERRmgdPtr,
  1290. ERRbyref2refany,
  1291. ERRbadRefArr,
  1292. ERRbadTagMem,
  1293. ERRbadStrCase,
  1294. ERRumgFldMgd,
  1295. ERRchgMgmt,
  1296. ERRrecFld,
  1297. ERRsafeInd,
  1298. ERRsafeDel,
  1299. ERRsafeArrX,
  1300. ERRunsafeCast,
  1301. ERRmulEntry,
  1302. ERRnoEntry,
  1303. ERRundefUse,
  1304. ERRbadVarArg,
  1305. ERRnotArgIter,
  1306. ERRnotLastArg,
  1307. ERRbadVAtype,
  1308. ERRbadDelete,
  1309. ERRnoFnDef,
  1310. ERRnoPropGet,
  1311. ERRnoPropSet,
  1312. ERRbadCFNret,
  1313. ERRbadNameUse,
  1314. ERRmanyUmgIxx,
  1315. ERRindexCnt,
  1316. ERRua2manyDims,
  1317. ERRnoDimDcl,
  1318. ERRarrInitCnt,
  1319. ERRbadVAarg,
  1320. ERRbadTypeExpr,
  1321. ERRnoBaseInit,
  1322. ERRbadPrgOpt,
  1323. ERRerrPos,
  1324. ERRunknownMD,
  1325.  
  1326. ERRbadMacDef,
  1327. ERRmacPlace,
  1328. ERRmacRedef,
  1329.  
  1330. ERRdlgNonFn,
  1331. ERRdlgCTarg,
  1332. ERRdlgNoMFN,
  1333. ERRmulDlgRet,
  1334.  
  1335. ERRbadAtCmPlc,
  1336. ERRbadAtCmSubd,
  1337. ERRbadAtCmForm,
  1338. ERRnoDLLname,
  1339. ERRclsImpName,
  1340.  
  1341. ERRbadSecActn,
  1342. ERRnonCnsAA,
  1343. ERRcustAttrPlc,
  1344. ERRcustAttrDup,
  1345. ERRcustAttrMsk,
  1346.  
  1347. ERRnoClsGt,
  1348. ERRnoCmGt,
  1349. ERRumgGenCls,
  1350. ERRmisgGenArg,
  1351. ERRgenArg,
  1352. ERRgenArgBase,
  1353. ERRgenArgIntf,
  1354. ERRgenNested,
  1355.  
  1356. ERRbadAttr,
  1357. ERRplcAttr,
  1358. ERRbadGUID,
  1359.  
  1360.  
  1361.  
  1362. WRNasgNoUse, WRNfirstWarn = WRNasgNoUse,
  1363. WRNbadPragma,
  1364. WRNbadPrep,
  1365. WRNignoreCV,
  1366. WRNenumComp,
  1367. WRNloseBits,
  1368. WRNzeroPtr,
  1369. WRNvoidFnc,
  1370. WRNignoreLnk,
  1371. WRNgeneric,
  1372. WRNunkAttr,
  1373. WRNnoArgName,
  1374. WRNunreach,
  1375. WRNimplAbst,
  1376. WRNbadAtCm,
  1377. WRNignAtCm,
  1378. WRNmgdBF,
  1379. WRNbadMgdStr,
  1380. WRNundefUse,
  1381. WRNnoFnDef,
  1382. WRNignoring,
  1383. WRNnoNSnm,
  1384. WRNdepCall,
  1385. WRNdepCls,
  1386. WRNdepFld,
  1387. WRNdepProp,
  1388. WRNdepEnum,
  1389. WRNmacroArgs,
  1390. WRNconvert,
  1391. WRNbadEsc,
  1392. WRNskipAtCm,
  1393. WRNstmtNoUse,
  1394. WRNpgm2big,
  1395. WRNimplOut,
  1396. WRNenum2str,
  1397. WRNunsConst,
  1398. WRNaddStrings,
  1399. WRNstrRefCmp,
  1400. WRNhideVirt,
  1401. WRNobsoleteStr,
  1402. WRNoperPrec,
  1403. WRNctxFlavor,
  1404. WRNobsolete,
  1405. WRNstrValCmp,
  1406. WRNenumConv,
  1407.  
  1408. #line 62 "macros.cpp"
  1409.  
  1410.     WRNafterWarn
  1411. };
  1412.  
  1413.  
  1414.  
  1415.  
  1416. const
  1417. unsigned    WRNcountWarn = WRNafterWarn - WRNfirstWarn + 1;
  1418.  
  1419. #line 73 "macros.cpp"
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427. const   char *          errorTable[] =
  1428. {
  1429.     #line 1 "errors.h"
  1430.  
  1431.  
  1432. NULL,
  1433. "INTERNAL COMPILER ERROR: %s",
  1434. "Too many error messages",
  1435. "Out of memory",
  1436. "Error directive",
  1437. "Could not locate system namespace '%s'",
  1438. "Could not locate system class '%s'",
  1439. "Could not locate system method '%s'",
  1440.  
  1441. "Could not open source file '%s' for reading",
  1442. "Could not open target file '%s' for writing",
  1443. "Could not read source file '%s'",
  1444. "Could not open '%s' for metadata input (use -s<filename> to specify location)",
  1445. "Could not read metadata",
  1446. "Could not read metadata from file '%s'",
  1447. "Could not write to output file '%s'",
  1448. "Could not initialize COM+ Runtime",
  1449. "Could not create metadata",
  1450. "Could not emit debugging information",
  1451. "Could not resolve metadata reference to type '%s'",
  1452. "Invalid input file format in '%s': expected a %s file",
  1453. "Name of output file not specified, please use -O",
  1454.  
  1455.  
  1456.  
  1457. "Identifier too long",
  1458. "Invalid number",
  1459. "Invalid character",
  1460. "Invalid character constant",
  1461. "Invalid escape character",
  1462. "Unterminated string constant",
  1463. "Unterminated comment",
  1464. "Nested comment",
  1465. "Expected Unicode escape sequence",
  1466. "Malformed '#' directive",
  1467. "End of line expected",
  1468. "Missing 'endif' for directive on line %u",
  1469.  
  1470. "Cannot find definition for class '%s'",
  1471. "Cannot find definition for enum '%s'",
  1472. "Expected end of file",
  1473. "Expected ':'",
  1474. "Expected ','",
  1475. "Expected ';'",
  1476. "Expected '('",
  1477. "Expected ')'",
  1478. "Expected ']'",
  1479. "Expected '{'",
  1480. "Expected '}'",
  1481. "Expected '='",
  1482. "Expected '>'",
  1483. "Expected ',' or '}'",
  1484. "Expected ',' or ';'",
  1485. "Expected ';' or '{'",
  1486. "Expected 'in'",
  1487.  
  1488. "Unexpected '{' found",
  1489. "'else' without a matching 'if'",
  1490. "'endif' without a matching 'if'",
  1491. "Expected operator or end of expression",
  1492.  
  1493. "Expected declaration",
  1494. "Expected identifier",
  1495. "String expected",
  1496. "Expected type specifier",
  1497. "Qualified name not allowed here",
  1498. "Invalid qualified name '%s'",
  1499. "The name '%s' doesn't denote a type",
  1500. "Undefined name '%s'",
  1501. "The class '%s' doesn't contain a member '%s'",
  1502. "Function must be declared as 'int main(String [])'",
  1503. "This access specifier is not allowed here",
  1504. "Duplicate modifier",
  1505. "Duplicate interface include specifier",
  1506. "Illegal type modifier(s)",
  1507. "A data member cannot be declared with '%s'",
  1508. "A method cannot be declared with '%s'",
  1509. "A local variable cannot be declared with '%s'",
  1510. "A method cannot be both '%s' and '%s'",
  1511. "Access specifiers not allowed with local variables",
  1512. "Class name expected",
  1513. "'%s' does not denote a class",
  1514. "Unexpected identifier",
  1515. "Illegal namespace member",
  1516. "The member '%s' has already been declared",
  1517. "The name '%s' has already been declared",
  1518. "Two bodies given for '%s'",
  1519. "The enum type '%s' has already been defined",
  1520. "The class '%s' has already been defined",
  1521. "Local variable '%s' has already been declared",
  1522. "'%s' has a circular dependency",
  1523. "Cannot find definition for class '%s'",
  1524. "Members declared 'const' must be initialized",
  1525. "Initialization not found for '%s'",
  1526. "Member '%s' has already been initialized",
  1527. "Attempt to include a copy of class '%s' in itself",
  1528. "A variable can't be 'const' and 'extern'",
  1529. "Initializer not allowed here",
  1530. "Integer type expected",
  1531. "Integer constant expression expected",
  1532. "Constant expression expected",
  1533. "Array size must be a positive constant",
  1534. "Variable has illegal initializer",
  1535. "A bitfield may not have type '%s'",
  1536.  
  1537. "A bitfield may not be 'static'",
  1538. "Bitfield can't have witdh of %u (underlying type has %u bits)",
  1539. "Cannot take address of bitfield member '%s'",
  1540. "Overloaded '%s' and '%s' differ only in return type",
  1541. "Tag '%s' is not a suitable data member",
  1542. "Expected tagged union member - 'case' or 'default'",
  1543. "A tagged union section may contain only a single member",
  1544. "Expected value of type '%s' not '%s'",
  1545. "The namespace '%s' doesn't contain '%s'",
  1546. "The class '%s' doesn't contain '%s'",
  1547. "'%s' doesn't contain any types",
  1548. "'%s' doesn't contain any members",
  1549. "Undefined global name '%s'",
  1550. "Call of a non-function",
  1551. "No overloaded method matches the call '%s'",
  1552. "The argument '%s' doesn't match delegate '%s'",
  1553. "Matching base class method '%s' is hidden",
  1554. "Missing arguments in call to '%s'",
  1555. "Too many arguments in call to '%s'",
  1556. "Value for argument '%s' of '%s' cannot be converted from '%s'",
  1557. "Value for argument %s of '%s' cannot be converted from '%s'",
  1558. "Only namespaces and classes may be declared '%s'",
  1559. "File-scope variables may not have managed type for now",
  1560. "Local static variables may not have managed type for now",
  1561. "An interface cannot be declared 'unmanaged'",
  1562. "An interface cannot be declared in global scope",
  1563. "Cannot assign to constant '%s'",
  1564. "Cannot assign to a constant",
  1565. "Lvalue required here",
  1566. "A value of type '%s' cannot be indexed with '[]'",
  1567. "Array dimension missing",
  1568. "Variable of type '%s' cannot be initialized via '{}'",
  1569. "A value of type '%s' cannot be initialized with '{}'",
  1570. "Array without a dimension not allowed here",
  1571. "Undimensioned array member must be last in struct",
  1572. "Unmanaged arrays may not have 0 size",
  1573. "The pointer type '%s' cannot be used here",
  1574. "Variables of managed type '%s' cannot be initialized via '{}'",
  1575. "Too many initializers specified for array, %u expected",
  1576. "Initializer string too long, %u characters expected",
  1577. "Cannot use local variable '%s' before its declaration",
  1578. "The name '%s' doesn't denote a namespace",
  1579. "Two symbols in used namespaces match: '%s' and '%s'",
  1580. "Method '%s' was earlier declared with return type '%s'",
  1581. "Return type of virtual method '%s' differs from '%s'",
  1582. "Cannot reduce access level of overridden method '%s'",
  1583. "Type of virtual property '%s' differs from '%s'",
  1584. "Class has already has a default property with another name: '%s'",
  1585. "Expected '{' followed by property accessor method declaration",
  1586. "Method conflicts with property accessor '%s'",
  1587. "Cannot create an instance of an interface type '%s'",
  1588. "Cannot create an instance of an abstract class '%s'",
  1589. "Cannot create an instance of type '%s'",
  1590. "'new' expression for type '%s' requires an initial value",
  1591. "The class doesn't have a constructor that matches '%s'",
  1592. "Cannot create an instance of an interface type '%s'",
  1593. "A class cannot inherit from an interface: '%s'",
  1594. "Cannot inherit from sealed type '%s'",
  1595. "A struct cannot inherit from class '%s'",
  1596. "Unmanaged classes may not include interfaces",
  1597. "Only interfaces may be included: '%s'",
  1598. "Management of base class '%s' doesn't match derived class",
  1599. "Context flavor of base class '%s' doesn't match derived class",
  1600. "Cannot take address of member of a appdomain/contextful class '%s'",
  1601. "Type '%s' is not a class derived from 'Exception'",
  1602. "Argument to 'throw' is required outside of a catch block",
  1603. "'try' block expected, '{' not found",
  1604. "'catch', 'finally', or 'except' expected following 'try' block",
  1605. "Attempt to prematurely exit from a 'finally' block",
  1606. "Function body unexpected for a variable",
  1607. "Duplicate property '%s' declaration",
  1608. "More than one argument named '%s'",
  1609. "Cannot use '%s' here, it doesn't denote a class",
  1610. "Syntax error",
  1611. "Missing array dimension",
  1612. "Illegal operand of 'sizeof'",
  1613. "Can't apply operator '%s' to type '%s'",
  1614. "Can't apply operator '%s' to types '%s' and '%s'",
  1615. "Illegal call: '%s' doesn't denote a function",
  1616. "Typedef name '%s' has to match the tag name '%s'",
  1617. "Reference to non-static member '%s' without an object",
  1618. "The namespace '%s' doesn't have a member '%s'",
  1619. "The '.' operator cannot be applied to a value of type '%s'",
  1620. "The '->' operator cannot be applied to a value of type '%s'",
  1621. "The type '%s' doesn't have a member '%s'",
  1622. "Need argument list for call to member '%s'",
  1623. "The member '%s' is not a function",
  1624. "Call is ambiguous between '%s' and '%s'",
  1625. "Conversion is ambiguous: '%s' and '%s'",
  1626. "The member '%s' is ambiguous: found in '%s' and '%s'",
  1627. "Cannot implicitly convert from type '%s' to '%s'",
  1628. "A value of type '%s' cannot be cast to type '%s'",
  1629. "'null' cannot be converted to type '%s'",
  1630. "Division by constant 0",
  1631. "'managed' not followed by an array in type",
  1632. "'unmanaged' not followed by an array in type",
  1633. "'->' cannot be used after a namespace or class name",
  1634. "The indirection operator cannot be applied to '%s'",
  1635. "A label with the name '%s' has already been defined",
  1636. "The label '%s' has not been defined",
  1637. "'break' is not allowed here, not in a switch or loop",
  1638. "'continue' is not allowed here, not in a loop",
  1639. "'case' only allowed within 'switch' statements",
  1640. "'default' only allowed within 'switch' statements",
  1641. "Duplicate 'default' label in a 'switch' statement",
  1642. "The case label '%s' was specified more than once",
  1643. "A member name was expected",
  1644. "Type containing anonymous union already has a member '%s'",
  1645. "'this' can only be used in non-static methods",
  1646. "A 'do' statement must end with a 'while' condition",
  1647. "Parameters and variables cannot have type 'void'",
  1648. "A variable of type '%s' cannot be initialized this way",
  1649. "A variable initializer must be a constant value",
  1650. "A linkage name string required in import declaration",
  1651. "Linkage string must look like 'DLLname:entrypoint'",
  1652. "The type '%s' is not an acceptable operand for 'arraylen'",
  1653. "Can't return a value from a 'void' method",
  1654. "Expected return value of type '%s'",
  1655. "Operator name not valid",
  1656. "Interfaces may only include methods and constants",
  1657. "Interfaces '%s' has already been specified",
  1658. "The 'typeid' operator cannot be applied to type '%s'",
  1659. "Cannot concatenate a string and a value of type '%s'",
  1660. "Type '%s' was declared elsewhere as '%s'",
  1661. "Cannot use a value of type '%s' here, class expected",
  1662. "Overloaded operator must be a 'static' method",
  1663. "Overloaded operators must have one or two arguments",
  1664. "Overloaded operator '%s' must have one argument",
  1665. "Overloaded operator '%s' must have two arguments",
  1666. "Overloaded operator '%s' must have one or two arguments",
  1667. "Overloaded operator must take an argument of type '%s'",
  1668. "Overloaded operator must return '%s'",
  1669. "Overloaded operator must be declared 'public'        ",
  1670. "Overloaded operator '%s' must return 'bool'",
  1671. "Overloaded operator '%s' must return 'int'",
  1672. "Overloaded operator arguments may not have defaults",
  1673. "Class '%s' is implicitly abstract, it doesn't implement '%s'",
  1674. "Cannot define a body for abstract method '%s'",
  1675. "Cannot define a body for abstract property accessor '%s'",
  1676. "The method '%s' was declared 'abstract' but not 'virtual'",
  1677. "Missing body for property accessor '%s'",
  1678. "Cannot define an interface method to be 'protected' or 'private'",
  1679. "Class '%s' has no '%s' property with the name '%s'",
  1680. "Class '%s' has no '%s' property '%s' that matches the argument list",
  1681. "Use of 'baseclass' is only allowed in a constructor of a class that has a base class",
  1682. "Method name matches that of the class, if you're declaring a constructor please omit the return type",
  1683. "Alignment value must be 1,2,4,8,18 or push/pop",
  1684. "Access to '%s' is not permitted here",
  1685. "The '%s' function can only be used in a filter expression",
  1686. "The '%s' function can only be used in an SEH handler",
  1687. "References are not allowed for now (use 'out' or 'inout' for byref args)",
  1688. "Pointers to managed classes not allowed: '%s'",
  1689. "Typed byref's (void &) may not be passed by reference",
  1690. "Cannot declare an unmanaged array of '%s'",
  1691. "Tagged unions can only contain fields and methods",
  1692. "'case' labels only allowed in tagged union members",
  1693. "Members of unmanaged types may not of be managed type",
  1694. "Management is confused: '%s' was declared earlier as '%s'",
  1695. "A value type cannot contain a member with its own type",
  1696. "Pointer indirection is not allowed in typesafe mode",
  1697. "'delete' is not allowed in typesafe mode",
  1698. "Unmanaged array indexing is not allowed in typesafe mode",
  1699. "Cast from '%s' to '%s' is not allowed in typesafe mode",
  1700. "Image has more than entry point: '%s' and '%s'",
  1701. "Image has no entry point, it should be declared as 'void main(String [] args)'",
  1702. "The value of '%s' may be used before definition",
  1703. "varargs functions cannot be used here",
  1704. "Expected a local variable of type 'va_list'",
  1705. "Expected the last fixed argument of the current function",
  1706. "The type '%s' cannot be used as a vararg type",
  1707. "'delete' requires a pointer to an unmanaged class",
  1708. "No definition was found for method '%s'",
  1709. "No definition was found for 'get' accessor of property '%s'",
  1710. "No definition was found for 'set' accessor of property '%s'",
  1711. "A method marked as '@conditional' must return 'void'",
  1712. "'%s' cannot be used in this context",
  1713. "Multiple index expressions may not be used with unmanaged arrays",
  1714. "Expected %u index expressions",
  1715. "An unmanaged array may only have one dimension",
  1716. "Expected array dimension or '*'",
  1717. "Expected %u sub-array initializers, %u found",
  1718. "va_arg() expects a va_list value and a type argument",
  1719. "Expression, not type '%s', expected here",
  1720. "Base initializer expected after ':': '%s(args)' or 'baseclass(args)'",
  1721. "Invalid #pragma option parameter",
  1722. "Previous diagnostic refers to declaration at %s(%u)",
  1723. "Symbol '%s' references unknown metadata construct(s)",
  1724.  
  1725. "Illegal macro definition for '%s'",
  1726. "#define must precede any use of identifier '%s'",
  1727. "'%s' was referenced before definition as macro",
  1728.  
  1729. "A delegate must be declared as a function",
  1730. "A delegate instance must be created from a bound method",
  1731. "No method in '%s' matches '%s'",
  1732. "A multicast delegate must return 'void'",
  1733.  
  1734. "This '@comment' thing not allowed here",
  1735. "Invalid '%s' comment sub-directive: '%s'",
  1736. "Incorrect '%s' comment syntax",
  1737. "Missing DLL name, must be specified on method or class",
  1738. "Only DLL name may be specified for a class",
  1739.  
  1740. "'%s' is not a recognized security action",
  1741. "Argument %u in attribute arglist is not a constant",
  1742. "Custom atttribute '%s' not allowed here",
  1743. "Custom atttribute '%s' may not be specified more than once",
  1744. "Invalid custom atttribute placement mask",
  1745.  
  1746. "'class' or '>' expected",
  1747. "Expected ',' or '>'",
  1748. "Only managed classes and interfaces may be generic",
  1749. "Expected actual type for generic parameter '%s'",
  1750. "Actual type for parameter '%s' must be a managed class/interface",
  1751. "Actual type for parameter '%s' doesn't have '%s' as a base",
  1752. "Actual type for parameter '%s' doesn't have '%s' as an interface",
  1753. "Nested classes may not be generic",
  1754.  
  1755. "Attribute syntax incorrect (see compiler file parser.cpp for details)",
  1756. "This attribute is not allowed here",
  1757. "Invalid GUID string '%s', should be of the form HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH",
  1758.  
  1759.  
  1760.  
  1761. "Local variable '%s' is initialized but never used",
  1762. "Unrecognized #pragma directive '%s' ignored",
  1763. "Ignoring unrecognized directive '#%s'",
  1764. "Ignoring const/volatile modifier",
  1765. "Comparing values of two different enum types",
  1766. "Conversion from '%s' to '%s' may lose precision",
  1767. "Using '0' instead of 'null' is in poor style",
  1768. "Using '(void)' for parameterless functions is obsolete",
  1769. "C++ external linkage specifier ignored",
  1770. "%s",
  1771. "Ignoring unrecognized attribute '%s'",
  1772. "Argument declaration without a name",
  1773. "Unreachable code",
  1774. "Class '%s' is implicitly abstract, it doesn't implement '%s'",
  1775. "Unrecognized comment directive '%s' ignored",
  1776. "Ignoring comment directive '%s'",
  1777. "Ignoring bitfield declaration in a managed class",
  1778. "Unions should not be declared 'managed', it doesn't really work right now",
  1779. "The value of '%s' may be used before definition",
  1780. "No definition was found for method '%s'",
  1781. "Ignoring %s",
  1782. "Ignoring 'using %s' - it doesn't denote a namespace",
  1783. "Call to deprecated method '%s'",
  1784. "Use of deprecated class '%s'",
  1785. "Use of deprecated field '%s'",
  1786. "Use of deprecated property '%s'",
  1787. "Use of deprecated enum value '%s'",
  1788. "Pre-processor macros with arguments not supported, ignoring #define directive",
  1789. "Converting value of type '%s' to '%s'",
  1790. "Unrecognized escape sequence \\%c",
  1791. "Found '@' gizmo in regular comment, ignoring it",
  1792. "Outermost statement expression has no side effect",
  1793. "Image size exceeds specified maximum: 0x%08X vs. 0x%08X",
  1794. "Argument %u may be modified by the call to '%s'",
  1795. "Converting '%s' to String using its underlying integer type",
  1796. "Implicit conversion of a negative constant to an unsigned type",
  1797. "Using '+' to concatenate strings is deprecated, please use '%%%%'",
  1798. "Comparing String references doesn't compare the string values",
  1799. "Base class member function '%s' hidden, not overloaded",
  1800. "'%s' has been marked as obsolete: '%s'",
  1801. "Comparisons have precedence over bitwise operators, did you forget parens?",
  1802. "Implicit conversion from '%s' to '%s' may cause context grief",
  1803. "Obsolete language feature used: %s",
  1804. "Relational operator compares string values",
  1805. "Mixing values of two different enum types",
  1806.  
  1807. #line 83 "macros.cpp"
  1808. };
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819. BYTE                    warnDefault[] =
  1820. {
  1821.     #line 1 "errors.h"
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153. 0,
  2154. 0,
  2155. 1,
  2156. 0,
  2157. 0,
  2158. 1,
  2159. 1,
  2160. 1,
  2161. 1,
  2162. 1,
  2163. 1,
  2164. 0,
  2165. 1,
  2166. 1,
  2167. 1,
  2168. 1,
  2169. 1,
  2170. 1,
  2171. 1,
  2172. 1,
  2173. 1,
  2174. 1,
  2175. 1,
  2176. 1,
  2177. 1,
  2178. 1,
  2179. 1,
  2180. 1,
  2181. 1,
  2182. 1,
  2183. 1,
  2184. 1,
  2185. 1,
  2186. 1,
  2187. 1,
  2188. 1,
  2189. 0,
  2190. 9,
  2191. 0,
  2192. 1,
  2193. 1,
  2194. 1,
  2195. 9,
  2196. 1,
  2197. 0,
  2198.  
  2199. #line 97 "macros.cpp"
  2200. };
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207. #line 1 "attrs.h"
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213. enum attrKinds
  2214. {
  2215.     
  2216.     #line 1 "attrlist.h"
  2217.  
  2218.  
  2219.  
  2220.  
  2221. ATTR_GUID,
  2222. ATTR_SYS_IMPORT,
  2223. ATTR_NATIVE_TYPE,
  2224. ATTR_SYS_STRUCT,
  2225.  
  2226.  
  2227. #line 10 "attrs.h"
  2228.  
  2229.     ATTR_COUNT
  2230. };
  2231.  
  2232. enum attrMasks
  2233. {
  2234.     
  2235.     #line 1 "attrlist.h"
  2236.  
  2237.  
  2238.  
  2239.  
  2240. ATTR_MASK_GUID = 1 << ATTR_GUID,
  2241. ATTR_MASK_SYS_IMPORT = 1 << ATTR_SYS_IMPORT,
  2242. ATTR_MASK_NATIVE_TYPE = 1 << ATTR_NATIVE_TYPE,
  2243. ATTR_MASK_SYS_STRUCT = 1 << ATTR_SYS_STRUCT,
  2244.  
  2245.  
  2246. #line 18 "attrs.h"
  2247. };
  2248.  
  2249.  
  2250. #line 22 "attrs.h"
  2251.  
  2252. #line 105 "macros.cpp"
  2253.  
  2254. const char    *     attrNames[] =
  2255. {
  2256.     
  2257.     #line 1 "attrlist.h"
  2258.  
  2259.  
  2260.  
  2261.  
  2262. "guid",
  2263. "sysimport",
  2264. "nativetype",
  2265. "sysstruct",
  2266.  
  2267.  
  2268. #line 110 "macros.cpp"
  2269. };
  2270.  
  2271.  
  2272.  
  2273. static
  2274. unsigned char       optokens[] =
  2275. {
  2276.     
  2277.     #line 1 "toplist.h"
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293. tkNone,
  2294. tkNone,
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300. tkNone,
  2301. tkNone,
  2302. tkNone,
  2303. tkNone,
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309. tkNone,
  2310. tkNone,
  2311. tkNone,
  2312. tkNone,
  2313. tkNone,
  2314. tkNone,
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320. tkAnd,
  2321.  
  2322. tkTilde,
  2323. tkBang,
  2324. tkAdd,
  2325. tkSub,
  2326. tkNone,
  2327.  
  2328. tkInc,
  2329. tkDec,
  2330. tkInc,
  2331. tkDec,
  2332.  
  2333. tkNone,
  2334. tkNone,
  2335.  
  2336. tkNone,
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342. tkAdd,
  2343. tkSub,
  2344. tkMul,
  2345. tkDiv,
  2346. tkPct,
  2347.  
  2348. tkAnd,
  2349. tkXor,
  2350. tkOr,
  2351.  
  2352. tkLsh,
  2353. tkRsh,
  2354. tkRsz,
  2355.  
  2356. tkEQ,
  2357. tkNE,
  2358. tkLT,
  2359. tkLE,
  2360. tkGE,
  2361. tkGT,
  2362.  
  2363.  
  2364.  
  2365. tkAsg,
  2366. tkAsgAdd,
  2367. tkAsgSub,
  2368. tkAsgMul,
  2369. tkAsgDiv,
  2370. tkAsgMod,
  2371.  
  2372. tkAsgAnd,
  2373. tkAsgXor,
  2374. tkAsgOr,
  2375.  
  2376. tkAsgLsh,
  2377. tkAsgRsh,
  2378. tkAsgRsz,
  2379.  
  2380. tkAsgCnc,
  2381.  
  2382. tkNone,
  2383.  
  2384. tkQMark,
  2385. tkColon,
  2386.  
  2387. tkLogOr,
  2388. tkLogAnd,
  2389.  
  2390. tkISTYPE,
  2391.  
  2392. tkNone,
  2393. tkNone,
  2394. tkNone,
  2395.  
  2396. tkREFADDR,
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402. tkMul,   
  2403.  
  2404. tkNone,
  2405. tkNone,
  2406.  
  2407. tkNone,
  2408. tkNone,
  2409.  
  2410. tkNone,
  2411. tkNone,
  2412.  
  2413. tkNone,
  2414.  
  2415. tkNone,
  2416.  
  2417. tkNone,
  2418.  
  2419. tkNone,
  2420. tkNone,
  2421. tkNone,
  2422. tkNone,
  2423.  
  2424. tkNone,
  2425. tkNone,
  2426.  
  2427. tkNone,
  2428. tkNone,
  2429.  
  2430. tkNone,
  2431. tkNone,
  2432.  
  2433. tkSIZEOF,
  2434. tkTYPEOF,
  2435.  
  2436. tkNone,
  2437. tkNone,
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443. tkNone,
  2444.  
  2445. tkNone,
  2446.  
  2447. tkNone,
  2448. tkNone,
  2449. tkNone,
  2450.  
  2451. tkNone,
  2452.  
  2453. tkNone,
  2454. tkNone,
  2455.  
  2456. tkNone,
  2457. tkNone,
  2458.  
  2459. tkNone,
  2460.  
  2461. tkNone,
  2462.  
  2463. tkNone,
  2464. tkNone,
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470. tkNone,
  2471. tkNone,
  2472. tkNone,
  2473. tkNone,
  2474. tkNone,
  2475. tkNone,
  2476. tkNone,
  2477. tkNone,
  2478. tkNone,
  2479.  
  2480. tkNone,
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486. tkNone, 
  2487. tkNone,
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493. tkNone,
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499. tkNone,
  2500.  
  2501.  
  2502.  
  2503.  
  2504. #line 119 "macros.cpp"
  2505. };
  2506.  
  2507. tokens              treeOp2token(treeOps oper)
  2508. {
  2509.     assert(oper < (sizeof(optokens)/sizeof(*(optokens))));
  2510.     assert(optokens[oper] != tkNone);
  2511.  
  2512.     return (tokens)optokens[oper];
  2513. }
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537. const
  2538. unsigned char       TreeNode::tnOperKindTable[] =
  2539. {
  2540.     
  2541.     #line 1 "toplist.h"
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557. TNK_NONE,
  2558. TNK_NONE,
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564. TNK_LEAF,
  2565. TNK_LEAF,
  2566. TNK_LEAF,
  2567. TNK_LEAF,
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573. TNK_LEAF|TNK_CONST,
  2574. TNK_LEAF|TNK_CONST,
  2575. TNK_LEAF|TNK_CONST,
  2576. TNK_LEAF|TNK_CONST,
  2577. TNK_LEAF|TNK_CONST,
  2578. TNK_LEAF|TNK_CONST,
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584. TNK_UNOP,
  2585.  
  2586. TNK_UNOP,
  2587. TNK_UNOP,
  2588. TNK_UNOP,
  2589. TNK_UNOP,
  2590. TNK_UNOP,
  2591.  
  2592. TNK_UNOP,
  2593. TNK_UNOP,
  2594. TNK_UNOP,
  2595. TNK_UNOP,
  2596.  
  2597. TNK_UNOP,
  2598. TNK_UNOP,
  2599.  
  2600. TNK_UNOP,
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606. TNK_BINOP,
  2607. TNK_BINOP,
  2608. TNK_BINOP,
  2609. TNK_BINOP,
  2610. TNK_BINOP,
  2611.  
  2612. TNK_BINOP|TNK_LOGOP,
  2613. TNK_BINOP|TNK_LOGOP,
  2614. TNK_BINOP|TNK_LOGOP,
  2615.  
  2616. TNK_BINOP,
  2617. TNK_BINOP,
  2618. TNK_BINOP,
  2619.  
  2620. TNK_BINOP|TNK_RELOP,
  2621. TNK_BINOP|TNK_RELOP,
  2622. TNK_BINOP|TNK_RELOP,
  2623. TNK_BINOP|TNK_RELOP,
  2624. TNK_BINOP|TNK_RELOP,
  2625. TNK_BINOP|TNK_RELOP,
  2626.  
  2627.  
  2628.  
  2629. TNK_BINOP|TNK_ASGOP,
  2630. TNK_BINOP|TNK_ASGOP,
  2631. TNK_BINOP|TNK_ASGOP,
  2632. TNK_BINOP|TNK_ASGOP,
  2633. TNK_BINOP|TNK_ASGOP,
  2634. TNK_BINOP|TNK_ASGOP,
  2635.  
  2636. TNK_BINOP|TNK_ASGOP,
  2637. TNK_BINOP|TNK_ASGOP,
  2638. TNK_BINOP|TNK_ASGOP,
  2639.  
  2640. TNK_BINOP|TNK_ASGOP,
  2641. TNK_BINOP|TNK_ASGOP,
  2642. TNK_BINOP|TNK_ASGOP,
  2643.  
  2644. TNK_BINOP|TNK_ASGOP,
  2645.  
  2646. TNK_BINOP,
  2647.  
  2648. TNK_BINOP,
  2649. TNK_BINOP,
  2650.  
  2651. TNK_BINOP,
  2652. TNK_BINOP,
  2653.  
  2654. TNK_BINOP,
  2655.  
  2656. TNK_BINOP,
  2657. TNK_BINOP,
  2658. TNK_BINOP,
  2659.  
  2660. TNK_BINOP,
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666. TNK_UNOP,   
  2667.  
  2668. TNK_BINOP,
  2669. TNK_UNOP,
  2670.  
  2671. TNK_BINOP,
  2672. TNK_BINOP|TNK_ASGOP,
  2673.  
  2674. TNK_BINOP,
  2675. TNK_BINOP|TNK_ASGOP,
  2676.  
  2677. TNK_BINOP,
  2678.  
  2679. TNK_BINOP,
  2680.  
  2681. TNK_BINOP,
  2682.  
  2683. TNK_BINOP,
  2684. TNK_BINOP,
  2685. TNK_BINOP,
  2686. TNK_UNOP,
  2687.  
  2688. TNK_BINOP,
  2689. TNK_UNOP,
  2690.  
  2691. TNK_UNOP,
  2692. TNK_UNOP,
  2693.  
  2694. TNK_UNOP,
  2695. TNK_UNOP,
  2696.  
  2697. TNK_UNOP,
  2698. TNK_UNOP,
  2699.  
  2700. TNK_UNOP,
  2701. TNK_UNOP,
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707. TNK_UNOP,
  2708.  
  2709. TNK_BINOP,
  2710.  
  2711. TNK_BINOP,
  2712. TNK_BINOP,
  2713. TNK_BINOP,
  2714.  
  2715. TNK_BINOP,
  2716.  
  2717. TNK_UNOP,
  2718. TNK_UNOP,
  2719.  
  2720. TNK_BINOP,
  2721. TNK_UNOP,
  2722.  
  2723. TNK_BINOP,
  2724.  
  2725. TNK_UNOP,
  2726.  
  2727. TNK_BINOP,
  2728. TNK_BINOP,
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734. TNK_NONE,
  2735. TNK_NONE,
  2736. TNK_NONE,
  2737. TNK_NONE,
  2738. TNK_NONE,
  2739. TNK_NONE,
  2740. TNK_NONE,
  2741. TNK_NONE,
  2742. TNK_NONE,
  2743.  
  2744. TNK_NONE,
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750. TNK_NONE, 
  2751. TNK_NONE,
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757. TNK_NONE,
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763. TNK_NONE,
  2764.  
  2765.  
  2766.  
  2767.  
  2768. #line 156 "macros.cpp"
  2769. };
  2770.  
  2771.  
  2772.  
  2773. const
  2774. kwdDsc              hashTab::hashKwdDescs[tkKwdCount] =
  2775. {
  2776.     
  2777.     
  2778.     
  2779.     #line 1 "keywords.h"
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797. #line 19 "keywords.h"
  2798.  
  2799.  
  2800.  
  2801.  
  2802. #line 24 "keywords.h"
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815. { TN_NONE,TN_NONE,0,0,tkNone,0,0 },
  2816.  
  2817.  
  2818.  
  2819. { TN_NONE,TN_NONE,0,0,tkABSTRACT,DB_ABSTRACT,2 },
  2820. { TN_NONE,TN_NONE,0,0,tkAPPDOMAIN,0,2 },
  2821. { TN_NONE,TN_NONE,0,0,tkARRAYLEN,0,0 },
  2822. { TN_NONE,TN_NONE,0,0,tkASSERT,0,0 },
  2823. { TN_NONE,TN_NONE,0,0,tkASYNCH,0,0 },
  2824. { TN_NONE,TN_NONE,0,0,tkATTRIBUTE,0,0 },
  2825.  
  2826. { TN_NONE,TN_NONE,0,0,tkBASECLASS,0,0 },
  2827. { TN_NONE,TN_NONE,0,0,tkBOOL,0,3 },
  2828. { TN_NONE,TN_NONE,0,0,tkBREAK,0,0 },
  2829. { TN_NONE,TN_NONE,0,0,tkBYREF,0,2 },
  2830. { TN_NONE,TN_NONE,0,0,tkBYTE,0,3 },
  2831. { TN_NONE,TN_NONE,0,0,tkCAPABILITY,0,0 },
  2832. { TN_NONE,TN_NONE,0,0,tkCASE,0,0 },
  2833. { TN_NONE,TN_NONE,0,0,tkCATCH,0,0 },
  2834. { TN_NONE,TN_NONE,0,0,tkCHAR,0,3 },
  2835. { TN_NONE,TN_NONE,0,0,tkCLASS,0,2 },
  2836. { TN_NONE,TN_NONE,0,0,tkCOMPARE,0,4 },
  2837. { TN_NONE,TN_NONE,0,0,tkCONST,DB_CONST,2 },
  2838. { TN_NONE,TN_NONE,0,0,tkCONTEXTFUL,0,0 },
  2839. { TN_NONE,TN_NONE,0,0,tkCONTINUE,0,0 },
  2840. { TN_DEFINED,TN_NONE,1,0,tkDEFINED,0,0 },
  2841. { TN_NONE,TN_NONE,0,0,tkDEFAULT,DB_DEFAULT,0 },
  2842. { TN_NONE,TN_NONE,0,0,tkDELEGATE,0,0 },
  2843. { TN_NONE,TN_NONE,0,0,tkDELETE,0,0 },
  2844. { TN_NONE,TN_NONE,0,0,tkDO,0,0 },
  2845. { TN_NONE,TN_NONE,0,0,tkDOUBLE,0,3 },
  2846. { TN_NONE,TN_NONE,0,0,tkELSE,0,0 },
  2847. { TN_NONE,TN_NONE,0,0,tkENUM,0,2 },
  2848. { TN_NONE,TN_NONE,0,0,tkEQUALS,0,4 },
  2849. { TN_NONE,TN_NONE,0,0,tkEXCEPT,0,0 },
  2850. { TN_NONE,TN_NONE,0,0,tkEXCLUSIVE,DB_EXCLUDE,2 },
  2851.  
  2852. { TN_NONE,TN_NONE,0,0,tkEXPLICIT,0,4 },
  2853. { TN_NONE,TN_NONE,0,0,tkEXTERN,DB_EXTERN,2 },
  2854. { TN_NONE,TN_NONE,0,0,tkFALSE,0,0 },
  2855. { TN_NONE,TN_NONE,0,0,tkFINALLY,0,0 },
  2856. { TN_NONE,TN_NONE,0,0,tkFLOAT,0,3 },
  2857. { TN_NONE,TN_NONE,0,0,tkFOR,0,0 },
  2858. { TN_NONE,TN_NONE,0,0,tkGOTO,0,0 },
  2859. { TN_NONE,TN_NONE,0,0,tkIF,0,0 },
  2860. { TN_NONE,TN_NONE,0,0,tkIMPLEMENTS,0,0 },
  2861. { TN_NONE,TN_NONE,0,0,tkIMPLICIT,0,4 },
  2862. { TN_NONE,TN_NONE,0,0,tkIN,0,0 },
  2863. { TN_NONE,TN_NONE,0,0,tkINCLUDES,0,0 },
  2864. { TN_NONE,TN_NONE,0,0,tkINLINE,DB_INLINE,2 },
  2865. { TN_NONE,TN_NONE,0,0,tkINOUT,0,2 },
  2866. { TN_NONE,TN_NONE,0,0,tkINT,0,3 },
  2867. { TN_NONE,TN_NONE,0,0,tkINT8,0,3 },
  2868. { TN_NONE,TN_NONE,0,0,tkINT16,0,3 },
  2869. { TN_NONE,TN_NONE,0,0,tkINT32,0,3 },
  2870. { TN_NONE,TN_NONE,0,0,tkINT64,0,3 },
  2871. { TN_NONE,TN_NONE,0,0,tkINTERFACE,0,0 },
  2872. { TN_NONE,TN_ISTYPE,0,14,tkISTYPE,0,0 },
  2873. { TN_NONE,TN_NONE,0,0,tkLONGINT,0,3 },
  2874. { TN_NONE,TN_NONE,0,0,tkMANAGED,DB_MANAGED,2 },
  2875. { TN_NONE,TN_NONE,0,0,tkMULTICAST,DB_MULTICAST,2 },
  2876. { TN_NONE,TN_NONE,0,0,tkNAMESPACE,0,2 },
  2877. { TN_NONE,TN_NONE,0,0,tkNATIVE,DB_NATIVE,2 },
  2878. { TN_NONE,TN_NONE,0,0,tkNATURALINT,0,3 },
  2879. { TN_NONE,TN_NONE,0,0,tkNATURALUINT,0,3 },
  2880. { TN_NONE,TN_NONE,0,0,tkNEW,0,0 },
  2881. { TN_NONE,TN_NONE,0,0,tkNULL,0,0 },
  2882. { TN_ADDROF,TN_NONE,14,0,tkOUT,0,0 },
  2883. { TN_NONE,TN_NONE,0,0,tkOPERATOR,0,0 },
  2884. { TN_NONE,TN_NONE,0,0,tkOVERRIDE,DB_OVERRIDE,2 },
  2885. { TN_NONE,TN_NONE,0,0,tkOVERLOAD,DB_OVERLOAD,2 },
  2886. { TN_NONE,TN_NONE,0,0,tkPERMISSION,0,0 },
  2887. { TN_NONE,TN_NONE,0,0,tkPRIVATE,0,2 },
  2888. { TN_NONE,TN_NONE,0,0,tkPROPERTY,DB_PROPERTY,2 },
  2889. { TN_NONE,TN_NONE,0,0,tkPROTECTED,0,2 },
  2890. { TN_NONE,TN_NONE,0,0,tkPUBLIC,0,2 },
  2891. { TN_NONE,TN_NONE,0,0,tkREFADDR,0,0 },
  2892. { TN_NONE,TN_NONE,0,0,tkREGISTER,0,2 },
  2893. { TN_NONE,TN_NONE,0,0,tkRETURN,0,0 },
  2894. { TN_NONE,TN_NONE,0,0,tkSEALED,DB_SEALED,2 },
  2895. { TN_NONE,TN_NONE,0,0,tkSERIALIZABLE,DB_SERLZABLE,0 },
  2896. { TN_NONE,TN_NONE,0,0,tkSHORT,0,3 },
  2897. { TN_NONE,TN_NONE,0,0,tkSIGNED,0,3 },
  2898. { TN_SIZEOF,TN_NONE,1,0,tkSIZEOF,0,0 },
  2899. { TN_NONE,TN_NONE,0,0,tkSTATIC,DB_STATIC,2 },
  2900. { TN_NONE,TN_NONE,0,0,tkSTRUCT,0,2 },
  2901. { TN_NONE,TN_NONE,0,0,tkSWITCH,0,0 },
  2902. { TN_NONE,TN_NONE,0,0,tkTHIS,0,0 },
  2903. { TN_NONE,TN_NONE,0,0,tkTHROW,0,0 },
  2904. { TN_NONE,TN_NONE,0,0,tkTRANSIENT,DB_TRANSIENT,0 },
  2905. { TN_TYPEOF,TN_NONE,1,0,tkTYPEOF,0,0 },
  2906. { TN_NONE,TN_NONE,0,0,tkTYPEDEF,DB_TYPEDEF,0 },
  2907. { TN_NONE,TN_NONE,0,0,tkTRUE,0,0 },
  2908. { TN_NONE,TN_NONE,0,0,tkTRY,0,0 },
  2909. { TN_NONE,TN_NONE,0,0,tkUINT8,0,3 },
  2910. { TN_NONE,TN_NONE,0,0,tkUINT16,0,3 },
  2911. { TN_NONE,TN_NONE,0,0,tkUINT32,0,3 },
  2912. { TN_NONE,TN_NONE,0,0,tkUINT64,0,3 },
  2913. { TN_NONE,TN_NONE,0,0,tkUINT,0,3 },
  2914. { TN_NONE,TN_NONE,0,0,tkULONGINT,0,3 },
  2915. { TN_NONE,TN_NONE,0,0,tkUNION,0,2 },
  2916. { TN_NONE,TN_NONE,0,0,tkUNMANAGED,DB_UNMANAGED,2 },
  2917. { TN_NONE,TN_NONE,0,0,tkUNSAFE,DB_UNSAFE,2 },
  2918. { TN_NONE,TN_NONE,0,0,tkUNSIGNED,0,3 },
  2919. { TN_NONE,TN_NONE,0,0,tkUSHORT,0,3 },
  2920. { TN_NONE,TN_NONE,0,0,tkUSING,0,0 },
  2921. { TN_NONE,TN_NONE,0,0,tkVOID,0,3 },
  2922. { TN_NONE,TN_NONE,0,0,tkVIRTUAL,DB_VIRTUAL,0 },
  2923. { TN_NONE,TN_NONE,0,0,tkVOLATILE,DB_VOLATILE,2 },
  2924. { TN_NONE,TN_NONE,0,0,tkWCHAR,0,3 },
  2925. { TN_NONE,TN_NONE,0,0,tkWHILE,0,0 },
  2926. { TN_NONE,TN_NONE,0,0,tkFILE,0,0 },
  2927. { TN_NONE,TN_NONE,0,0,tkLINE,0,0 },
  2928.  
  2929.  
  2930.  
  2931. { TN_NONE,TN_COMMA,0,1,tkComma,0,0 },
  2932.  
  2933. { TN_NONE,TN_ASG,0,2,tkAsg,0,4 },
  2934. { TN_NONE,TN_ASG_ADD,0,2,tkAsgAdd,0,4 },
  2935. { TN_NONE,TN_ASG_SUB,0,2,tkAsgSub,0,4 },
  2936. { TN_NONE,TN_ASG_MUL,0,2,tkAsgMul,0,4 },
  2937. { TN_NONE,TN_ASG_DIV,0,2,tkAsgDiv,0,4 },
  2938. { TN_NONE,TN_ASG_MOD,0,2,tkAsgMod,0,4 },
  2939.  
  2940. { TN_NONE,TN_ASG_AND,0,2,tkAsgAnd,0,4 },
  2941. { TN_NONE,TN_ASG_XOR,0,2,tkAsgXor,0,4 },
  2942. { TN_NONE,TN_ASG_OR,0,2,tkAsgOr,0,4 },
  2943.  
  2944. { TN_NONE,TN_ASG_LSH,0,2,tkAsgLsh,0,4 },
  2945. { TN_NONE,TN_ASG_RSH,0,2,tkAsgRsh,0,4 },
  2946. { TN_NONE,TN_ASG_RSZ,0,2,tkAsgRsz,0,4 },
  2947.  
  2948. { TN_NONE,TN_ASG_CNC,0,2,tkAsgCnc,0,4 },
  2949.  
  2950. { TN_NONE,TN_QMARK,0,3,tkQMark,0,0 },
  2951. { TN_NONE,TN_NONE,0,0,tkColon,0,0 },
  2952.  
  2953. { TN_NONE,TN_LOG_OR,0,4,tkLogOr,0,4 },
  2954. { TN_NONE,TN_LOG_AND,0,5,tkLogAnd,0,4 },
  2955.  
  2956. { TN_NONE,TN_OR,0,6,tkOr,0,4 },
  2957.  
  2958. { TN_NONE,TN_XOR,0,7,tkXor,0,4 },
  2959. { TN_ADDROF,TN_AND,14,7,tkAnd,0,4 },
  2960.  
  2961. { TN_NONE,TN_CONCAT,0,3,tkConcat,0,4 },
  2962.  
  2963. { TN_NONE,TN_EQ,0,9,tkEQ,0,4 },
  2964. { TN_NONE,TN_NE,0,9,tkNE,0,4 },
  2965.  
  2966. { TN_NONE,TN_LT,0,10,tkLT,0,4 },
  2967. { TN_NONE,TN_LE,0,10,tkLE,0,4 },
  2968. { TN_NONE,TN_GE,0,10,tkGE,0,4 },
  2969. { TN_NONE,TN_GT,0,10,tkGT,0,4 },
  2970.  
  2971. { TN_NONE,TN_LSH,0,11,tkLsh,0,4 },
  2972. { TN_NONE,TN_RSH,0,11,tkRsh,0,4 },
  2973. { TN_NONE,TN_RSZ,0,11,tkRsz,0,4 },
  2974.  
  2975. { TN_NOP,TN_ADD,14,12,tkAdd,0,4 },
  2976. { TN_NEG,TN_SUB,14,12,tkSub,0,4 },
  2977.  
  2978. { TN_IND,TN_MUL,12,13,tkMul,0,4 },
  2979. { TN_NONE,TN_DIV,0,13,tkDiv,0,4 },
  2980. { TN_NONE,TN_MOD,0,13,tkPct,0,4 },
  2981.  
  2982. { TN_NOT,TN_NONE,14,0,tkTilde,0,4 },
  2983. { TN_LOG_NOT,TN_NONE,14,0,tkBang,0,4 },
  2984. { TN_INC_PRE,TN_NONE,14,0,tkInc,0,4 },
  2985. { TN_DEC_PRE,TN_NONE,14,0,tkDec,0,4 },
  2986.  
  2987. { TN_NONE,TN_NONE,0,0,tkLParen,0,0 },
  2988. { TN_NONE,TN_NONE,0,0,tkLBrack,0,0 },
  2989. { TN_NONE,TN_NONE,0,0,tkDot,0,4 },
  2990. { TN_NONE,TN_ARROW,0,15,tkArrow,0,4 },
  2991.  
  2992. { TN_NONE,TN_NONE,0,0,tkSColon,0,0 },
  2993. { TN_NONE,TN_NONE,0,0,tkRParen,0,0 },
  2994. { TN_NONE,TN_NONE,0,0,tkRBrack,0,0 },
  2995. { TN_NONE,TN_NONE,0,0,tkLCurly,0,0 },
  2996. { TN_NONE,TN_NONE,0,0,tkRCurly,0,0 },
  2997. { TN_NONE,TN_NONE,0,0,tkColon2,0,3 },
  2998. { TN_NONE,TN_NONE,0,0,tkDot2,0,0 },
  2999. { TN_NONE,TN_NONE,0,0,tkEllipsis,0,0 },
  3000.  
  3001.  
  3002. { TN_NONE,TN_NONE,0,0,tkID,0,2 },
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024. #line 167 "macros.cpp"
  3025. };
  3026.  
  3027. const
  3028. char *              hashTab::hashKwdNtab[tkKwdCount] =
  3029. {
  3030.     
  3031.     
  3032.     
  3033.     #line 1 "keywords.h"
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051. #line 19 "keywords.h"
  3052.  
  3053.  
  3054.  
  3055.  
  3056. #line 24 "keywords.h"
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069. NULL,
  3070.  
  3071.  
  3072.  
  3073. "abstract",
  3074. "appdomain",
  3075. "arraylen",
  3076. "assert",
  3077. "__asynch",
  3078. "__attribute",
  3079.  
  3080. "baseclass",
  3081. "bool",
  3082. "break",
  3083. "byref",
  3084. "byte",
  3085. "__capability",
  3086. "case",
  3087. "catch",
  3088. "char",
  3089. "class",
  3090. "@compare",
  3091. "const",
  3092. "contextful",
  3093. "continue",
  3094. "defined",
  3095. "default",
  3096. "delegate",
  3097. "delete",
  3098. "do",
  3099. "double",
  3100. "else",
  3101. "enum",
  3102. "@equals",
  3103. "except",
  3104. "exclusive",
  3105.  
  3106. "explicit",
  3107. "extern",
  3108. "false",
  3109. "finally",
  3110. "float",
  3111. "for",
  3112. "goto",
  3113. "if",
  3114. "implements",
  3115. "implicit",
  3116. "in",
  3117. "includes",
  3118. "inline",
  3119. "inout",
  3120. "int",
  3121. "__int8",
  3122. "__int16",
  3123. "__int32",
  3124. "__int64",
  3125. "interface",
  3126. "istype",
  3127. "longint",
  3128. "managed",
  3129. "multicast",
  3130. "namespace",
  3131. "native",
  3132. "naturalint",
  3133. "naturaluint",
  3134. "new",
  3135. "null",
  3136. "out",
  3137. "operator",
  3138. "override",
  3139. "overload",
  3140. "__permission",
  3141. "private",
  3142. "property",
  3143. "protected",
  3144. "public",
  3145. "__refaddr",
  3146. "register",
  3147. "return",
  3148. "sealed",
  3149. "serializable",
  3150. "short",
  3151. "signed",
  3152. "sizeof",
  3153. "static",
  3154. "struct",
  3155. "switch",
  3156. "this",
  3157. "throw",
  3158. "transient",
  3159. "typeof",
  3160. "typedef",
  3161. "true",
  3162. "try",
  3163. "__uint8",
  3164. "__uint16",
  3165. "__uint32",
  3166. "__uint64",
  3167. "uint",
  3168. "ulongint",
  3169. "union",
  3170. "unmanaged",
  3171. "unsafe",
  3172. "unsigned",
  3173. "ushort",
  3174. "using",
  3175. "void",
  3176. "virtual",
  3177. "volatile",
  3178. "wchar",
  3179. "while",
  3180. "__FILE__",
  3181. "__LINE__",
  3182.  
  3183.  
  3184.  
  3185. ",",
  3186.  
  3187. "=",
  3188. "+=",
  3189. "-=",
  3190. "*=",
  3191. "/=",
  3192. "%=",
  3193.  
  3194. "&=",
  3195. "^=",
  3196. "|=",
  3197.  
  3198. "<<=",
  3199. ">>=",
  3200. ">>>=",
  3201.  
  3202. "%%=",
  3203.  
  3204. "?",
  3205. ":",
  3206.  
  3207. "||",
  3208. "&&",
  3209.  
  3210. "|",
  3211.  
  3212. "^",
  3213. "&",
  3214.  
  3215. "%%",
  3216.  
  3217. "==",
  3218. "!=",
  3219.  
  3220. "<",
  3221. "<=",
  3222. ">=",
  3223. ">",
  3224.  
  3225. "<<",
  3226. ">>",
  3227. ">>>",
  3228.  
  3229. "+",
  3230. "-",
  3231.  
  3232. "*",
  3233. "/",
  3234. "%",
  3235.  
  3236. "~",
  3237. "!",
  3238. "++",
  3239. "--",
  3240.  
  3241. "(",
  3242. "[",
  3243. ".",
  3244. "->",
  3245.  
  3246. ";",
  3247. ",",
  3248. "]",
  3249. "{",
  3250. "}",
  3251. "::",
  3252. "..",
  3253. "...",
  3254.  
  3255.  
  3256. "id",
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278. #line 176 "macros.cpp"
  3279. };
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297. enum    var_types
  3298. {
  3299.     
  3300.     #line 1 "typelist.h"
  3301. TYP_UNDEF,
  3302. TYP_VOID,
  3303.  
  3304. TYP_BOOL,
  3305. TYP_WCHAR,
  3306.  
  3307. TYP_CHAR,
  3308. TYP_UCHAR,
  3309. TYP_SHORT,
  3310. TYP_USHORT,
  3311. TYP_INT,
  3312. TYP_UINT,
  3313. TYP_NATINT,
  3314. TYP_NATUINT,
  3315. TYP_LONG,
  3316. TYP_ULONG,
  3317.  
  3318. TYP_FLOAT,
  3319. TYP_DOUBLE,
  3320. TYP_LONGDBL,
  3321. TYP_REFANY,
  3322.  
  3323. TYP_ARRAY,
  3324. TYP_CLASS,
  3325. TYP_FNC,
  3326. TYP_REF,
  3327. TYP_PTR,
  3328.  
  3329. TYP_ENUM,
  3330. TYP_TYPEDEF,
  3331.  
  3332. #line 198 "macros.cpp"
  3333.     
  3334.  
  3335.     TYP_COUNT,
  3336.  
  3337.     TYP_lastIntrins = TYP_LONGDBL
  3338. };
  3339.  
  3340. #line 206 "macros.cpp"
  3341.  
  3342.  
  3343.  
  3344. BYTE                symTab::stIntrTypeSizes[] =
  3345. {
  3346.     
  3347.     #line 1 "typelist.h"
  3348. 1,
  3349. 0,
  3350.  
  3351. 1,
  3352. 2,
  3353.  
  3354. 1,
  3355. 1,
  3356. 2,
  3357. 2,
  3358. 4,
  3359. 4,
  3360. 0,
  3361. 0,
  3362. 8,
  3363. 8,
  3364.  
  3365. 4,
  3366. 8,
  3367. 8,
  3368. 0,
  3369.  
  3370. 4,
  3371. 0,
  3372. 0,
  3373. 4,
  3374. 4,
  3375.  
  3376. 0,
  3377. 0,
  3378.  
  3379. #line 213 "macros.cpp"
  3380.     
  3381. };
  3382.  
  3383. BYTE                symTab::stIntrTypeAligns[] =
  3384. {
  3385.     
  3386.     #line 1 "typelist.h"
  3387. 1,
  3388. 0,
  3389.  
  3390. 1,
  3391. 2,
  3392.  
  3393. 1,
  3394. 1,
  3395. 2,
  3396. 2,
  3397. 4,
  3398. 4,
  3399. 8,
  3400. 8,
  3401. 8,
  3402. 8,
  3403.  
  3404. 4,
  3405. 8,
  3406. 8,
  3407. 0,
  3408.  
  3409. 4,
  3410. 0,
  3411. 0,
  3412. 4,
  3413. 4,
  3414.  
  3415. 0,
  3416. 0,
  3417.  
  3418. #line 220 "macros.cpp"
  3419.     
  3420. };
  3421.  
  3422. BYTE                varTypeClassification[] =
  3423. {
  3424.     
  3425.     #line 1 "typelist.h"
  3426. 0,
  3427. 0,
  3428.  
  3429. VTF_SCL|VTF_INT|VTF_UNS,
  3430. VTF_SCL|VTF_INT|VTF_UNS,
  3431.  
  3432. VTF_ARI|VTF_SCL|VTF_INT,
  3433. VTF_ARI|VTF_SCL|VTF_INT|VTF_UNS,
  3434. VTF_ARI|VTF_SCL|VTF_INT,
  3435. VTF_ARI|VTF_SCL|VTF_INT|VTF_UNS,
  3436. VTF_ARI|VTF_SCL|VTF_INT,
  3437. VTF_ARI|VTF_SCL|VTF_INT|VTF_UNS,
  3438. VTF_ARI|VTF_SCL|VTF_INT,
  3439. VTF_ARI|VTF_SCL|VTF_INT|VTF_UNS,
  3440. VTF_ARI|VTF_SCL|VTF_INT,
  3441. VTF_ARI|VTF_SCL|VTF_INT|VTF_UNS,
  3442.  
  3443. VTF_ARI|VTF_SCL|VTF_FLT,
  3444. VTF_ARI|VTF_SCL|VTF_FLT,
  3445. VTF_ARI|VTF_SCL|VTF_FLT,
  3446. 0,
  3447.  
  3448. VTF_SCL |VTF_UNS,
  3449. 0,
  3450. 0,
  3451. VTF_SCL |VTF_UNS,
  3452. VTF_SCL |VTF_UNS,
  3453.  
  3454. VTF_SCL|VTF_IND|VTF_INT,
  3455. VTF_IND,
  3456.  
  3457. #line 227 "macros.cpp"
  3458.     
  3459. };
  3460.  
  3461. normString          symTab::stIntrinsicTypeName(var_types vt)
  3462. {
  3463.     static
  3464.     const   char *      typeNames[] =
  3465.     {
  3466.         
  3467.         #line 1 "typelist.h"
  3468. "<UNDEF>",
  3469. "void",
  3470.  
  3471. "boolean",
  3472. "wchar",
  3473.  
  3474. "char",
  3475. "uchar",
  3476. "short",
  3477. "ushort",
  3478. "int",
  3479. "uint",
  3480. "naturalint",
  3481. "naturaluint",
  3482. "longint",
  3483. "ulongint",
  3484.  
  3485. "float",
  3486. "double",
  3487. "longdbl",
  3488. "void &",
  3489.  
  3490. "array",
  3491. "class",
  3492. "function",
  3493. "ref",
  3494. "pointer",
  3495.  
  3496. "enum",
  3497. "typedef",
  3498.  
  3499. #line 237 "macros.cpp"
  3500.         
  3501.     };
  3502.  
  3503.     assert(vt < sizeof(typeNames)/sizeof(typeNames[0]));
  3504.  
  3505.     return  typeNames[vt];
  3506. }
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512. enum    ILopcodes
  3513. {
  3514.     
  3515.     #line 1 "..\\..\\inc\\opcode.def"
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541. #line 27 "..\\..\\inc\\opcode.def"
  3542.  
  3543.     
  3544.     
  3545.     
  3546.  
  3547.     
  3548.     
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566. #line 52 "..\\..\\inc\\opcode.def"
  3567.  
  3568.  
  3569.  
  3570.  
  3571.  
  3572.  
  3573.  
  3574.  
  3575.  
  3576. CEE_NOP,
  3577. CEE_BREAK,
  3578. CEE_LDARG_0,
  3579. CEE_LDARG_1,
  3580. CEE_LDARG_2,
  3581. CEE_LDARG_3,
  3582. CEE_LDLOC_0,
  3583. CEE_LDLOC_1,
  3584. CEE_LDLOC_2,
  3585. CEE_LDLOC_3,
  3586. CEE_STLOC_0,
  3587. CEE_STLOC_1,
  3588. CEE_STLOC_2,
  3589. CEE_STLOC_3,
  3590. CEE_LDARG_S,
  3591. CEE_LDARGA_S,
  3592. CEE_STARG_S,
  3593. CEE_LDLOC_S,
  3594. CEE_LDLOCA_S,
  3595. CEE_STLOC_S,
  3596. CEE_LDNULL,
  3597. CEE_LDC_I4_M1,
  3598. CEE_LDC_I4_0,
  3599. CEE_LDC_I4_1,
  3600. CEE_LDC_I4_2,
  3601. CEE_LDC_I4_3,
  3602. CEE_LDC_I4_4,
  3603. CEE_LDC_I4_5,
  3604. CEE_LDC_I4_6,
  3605. CEE_LDC_I4_7,
  3606. CEE_LDC_I4_8,
  3607. CEE_LDC_I4_S,
  3608. CEE_LDC_I4,
  3609. CEE_LDC_I8,
  3610. CEE_LDC_R4,
  3611. CEE_LDC_R8,
  3612. CEE_LDPTR,
  3613. CEE_DUP,
  3614. CEE_POP,
  3615. CEE_JMP,
  3616. CEE_CALL,
  3617. CEE_CALLI,
  3618. CEE_RET,
  3619. CEE_BR_S,
  3620. CEE_BRFALSE_S,
  3621. CEE_BRTRUE_S,
  3622. CEE_BEQ_S,
  3623. CEE_BGE_S,
  3624. CEE_BGT_S,
  3625. CEE_BLE_S,
  3626. CEE_BLT_S,
  3627. CEE_BNE_UN_S,
  3628. CEE_BGE_UN_S,
  3629. CEE_BGT_UN_S,
  3630. CEE_BLE_UN_S,
  3631. CEE_BLT_UN_S,
  3632. CEE_BR,
  3633. CEE_BRFALSE,
  3634. CEE_BRTRUE,
  3635. CEE_BEQ,
  3636. CEE_BGE,
  3637. CEE_BGT,
  3638. CEE_BLE,
  3639. CEE_BLT,
  3640. CEE_BNE_UN,
  3641. CEE_BGE_UN,
  3642. CEE_BGT_UN,
  3643. CEE_BLE_UN,
  3644. CEE_BLT_UN,
  3645. CEE_SWITCH,
  3646. CEE_LDIND_I1,
  3647. CEE_LDIND_U1,
  3648. CEE_LDIND_I2,
  3649. CEE_LDIND_U2,
  3650. CEE_LDIND_I4,
  3651. CEE_LDIND_U4,
  3652. CEE_LDIND_I8,
  3653. CEE_LDIND_I,
  3654. CEE_LDIND_R4,
  3655. CEE_LDIND_R8,
  3656. CEE_LDIND_REF,
  3657. CEE_STIND_REF,
  3658. CEE_STIND_I1,
  3659. CEE_STIND_I2,
  3660. CEE_STIND_I4,
  3661. CEE_STIND_I8,
  3662. CEE_STIND_R4,
  3663. CEE_STIND_R8,
  3664. CEE_ADD,
  3665. CEE_SUB,
  3666. CEE_MUL,
  3667. CEE_DIV,
  3668. CEE_DIV_UN,
  3669. CEE_REM,
  3670. CEE_REM_UN,
  3671. CEE_AND,
  3672. CEE_OR,
  3673. CEE_XOR,
  3674. CEE_SHL,
  3675. CEE_SHR,
  3676. CEE_SHR_UN,
  3677. CEE_NEG,
  3678. CEE_NOT,
  3679. CEE_CONV_I1,
  3680. CEE_CONV_I2,
  3681. CEE_CONV_I4,
  3682. CEE_CONV_I8,
  3683. CEE_CONV_R4,
  3684. CEE_CONV_R8,
  3685. CEE_CONV_U4,
  3686. CEE_CONV_U8,
  3687. CEE_CALLVIRT,
  3688. CEE_CPOBJ,
  3689. CEE_LDOBJ,
  3690. CEE_LDSTR,
  3691. CEE_NEWOBJ,
  3692. CEE_CASTCLASS,
  3693. CEE_ISINST,
  3694. CEE_CONV_R_UN,
  3695. CEE_ANN_DATA_S,
  3696. CEE_BOX,
  3697. CEE_UNBOX,
  3698. CEE_THROW,
  3699. CEE_LDFLD,
  3700. CEE_LDFLDA,
  3701. CEE_STFLD,
  3702. CEE_LDSFLD,
  3703. CEE_LDSFLDA,
  3704. CEE_STSFLD,
  3705. CEE_STOBJ,
  3706. CEE_CONV_OVF_I1_UN,
  3707. CEE_CONV_OVF_I2_UN,
  3708. CEE_CONV_OVF_I4_UN,
  3709. CEE_CONV_OVF_I8_UN,
  3710. CEE_CONV_OVF_U1_UN,
  3711. CEE_CONV_OVF_U2_UN,
  3712. CEE_CONV_OVF_U4_UN,
  3713. CEE_CONV_OVF_U8_UN,
  3714. CEE_CONV_OVF_I_UN,
  3715. CEE_CONV_OVF_U_UN,
  3716. CEE_UNUSED49,
  3717. CEE_NEWARR,
  3718. CEE_LDLEN,
  3719. CEE_LDELEMA,
  3720. CEE_LDELEM_I1,
  3721. CEE_LDELEM_U1,
  3722. CEE_LDELEM_I2,
  3723. CEE_LDELEM_U2,
  3724. CEE_LDELEM_I4,
  3725. CEE_LDELEM_U4,
  3726. CEE_LDELEM_I8,
  3727. CEE_LDELEM_I,
  3728. CEE_LDELEM_R4,
  3729. CEE_LDELEM_R8,
  3730. CEE_LDELEM_REF,
  3731. CEE_STELEM_I,
  3732. CEE_STELEM_I1,
  3733. CEE_STELEM_I2,
  3734. CEE_STELEM_I4,
  3735. CEE_STELEM_I8,
  3736. CEE_STELEM_R4,
  3737. CEE_STELEM_R8,
  3738. CEE_STELEM_REF,
  3739. CEE_UNUSED2,
  3740. CEE_UNUSED3,
  3741. CEE_UNUSED4,
  3742. CEE_UNUSED5,
  3743. CEE_UNUSED6,
  3744. CEE_UNUSED7,
  3745. CEE_UNUSED8,
  3746. CEE_UNUSED9,
  3747. CEE_UNUSED10,
  3748. CEE_UNUSED11,
  3749. CEE_UNUSED12,
  3750. CEE_UNUSED13,
  3751. CEE_UNUSED14,
  3752. CEE_UNUSED15,
  3753. CEE_UNUSED16,
  3754. CEE_UNUSED17,
  3755. CEE_CONV_OVF_I1,
  3756. CEE_CONV_OVF_U1,
  3757. CEE_CONV_OVF_I2,
  3758. CEE_CONV_OVF_U2,
  3759. CEE_CONV_OVF_I4,
  3760. CEE_CONV_OVF_U4,
  3761. CEE_CONV_OVF_I8,
  3762. CEE_CONV_OVF_U8,
  3763. CEE_UNUSED50,
  3764. CEE_UNUSED18,
  3765. CEE_UNUSED19,
  3766. CEE_UNUSED20,
  3767. CEE_UNUSED21,
  3768. CEE_UNUSED22,
  3769. CEE_UNUSED23,
  3770. CEE_REFANYVAL,
  3771. CEE_CKFINITE,
  3772. CEE_UNUSED24,
  3773. CEE_UNUSED25,
  3774. CEE_MKREFANY,
  3775. CEE_ANN_CALL,
  3776. CEE_ANN_CATCH,
  3777. CEE_ANN_DEAD,
  3778. CEE_ANN_HOISTED,
  3779. CEE_ANN_HOISTED_CALL,
  3780. CEE_ANN_LAB,
  3781. CEE_ANN_DEF,
  3782. CEE_ANN_REF_S,
  3783. CEE_ANN_PHI,
  3784. CEE_LDTOKEN,
  3785. CEE_CONV_U2,
  3786. CEE_CONV_U1,
  3787. CEE_CONV_I,
  3788. CEE_CONV_OVF_I,
  3789. CEE_CONV_OVF_U,
  3790. CEE_ADD_OVF,
  3791. CEE_ADD_OVF_UN,
  3792. CEE_MUL_OVF,
  3793. CEE_MUL_OVF_UN,
  3794. CEE_SUB_OVF,
  3795. CEE_SUB_OVF_UN,
  3796. CEE_ENDFINALLY,
  3797. CEE_LEAVE,
  3798. CEE_LEAVE_S,
  3799. CEE_STIND_I,
  3800. CEE_CONV_U,
  3801. CEE_UNUSED26,
  3802. CEE_UNUSED27,
  3803. CEE_UNUSED28,
  3804. CEE_UNUSED29,
  3805. CEE_UNUSED30,
  3806. CEE_UNUSED31,
  3807. CEE_UNUSED32,
  3808. CEE_UNUSED33,
  3809. CEE_UNUSED34,
  3810. CEE_UNUSED35,
  3811. CEE_UNUSED36,
  3812. CEE_UNUSED37,
  3813. CEE_UNUSED38,
  3814. CEE_UNUSED39,
  3815. CEE_UNUSED40,
  3816. CEE_UNUSED41,
  3817. CEE_UNUSED42,
  3818. CEE_UNUSED43,
  3819. CEE_UNUSED44,
  3820. CEE_UNUSED45,
  3821. CEE_UNUSED46,
  3822. CEE_UNUSED47,
  3823. CEE_UNUSED48,
  3824. CEE_PREFIX7,
  3825. CEE_PREFIX6,
  3826. CEE_PREFIX5,
  3827. CEE_PREFIX4,
  3828. CEE_PREFIX3,
  3829. CEE_PREFIX2,
  3830. CEE_PREFIX1,
  3831. CEE_PREFIXREF,
  3832.  
  3833. CEE_ARGLIST,
  3834. CEE_CEQ,
  3835. CEE_CGT,
  3836. CEE_CGT_UN,
  3837. CEE_CLT,
  3838. CEE_CLT_UN,
  3839. CEE_LDFTN,
  3840. CEE_LDVIRTFTN,
  3841. CEE_JMPI,
  3842. CEE_LDARG,
  3843. CEE_LDARGA,
  3844. CEE_STARG,
  3845. CEE_LDLOC,
  3846. CEE_LDLOCA,
  3847. CEE_STLOC,
  3848. CEE_LOCALLOC,
  3849. CEE_UNUSED57,
  3850. CEE_ENDFILTER,
  3851. CEE_UNALIGNED,
  3852. CEE_VOLATILE,
  3853. CEE_TAILCALL,
  3854. CEE_INITOBJ,
  3855. CEE_ANN_LIVE,
  3856. CEE_CPBLK,
  3857. CEE_INITBLK,
  3858. CEE_ANN_REF,
  3859. CEE_RETHROW,
  3860. CEE_UNUSED51,
  3861. CEE_SIZEOF,
  3862. CEE_REFANYTYPE,
  3863. CEE_UNUSED52,
  3864. CEE_UNUSED53,
  3865. CEE_UNUSED54,
  3866. CEE_UNUSED55,
  3867. CEE_ANN_DATA,
  3868.  
  3869.  
  3870.  
  3871. CEE_ILLEGAL,
  3872. CEE_MACRO_END,
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879. #line 365 "..\\..\\inc\\opcode.def"
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.  
  3892.  
  3893.  
  3894. #line 380 "..\\..\\inc\\opcode.def"
  3895.  
  3896. #line 253 "macros.cpp"
  3897.     
  3898.  
  3899.     CEE_count,
  3900.  
  3901.     CEE_UNREACHED,                  
  3902. };
  3903.  
  3904. #line 261 "macros.cpp"
  3905.  
  3906.  
  3907.  
  3908. ILencoding          ILopcodeCodes[] =
  3909. {
  3910.     
  3911.     #line 1 "..\\..\\inc\\opcode.def"
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.     
  3940.     
  3941.     
  3942.  
  3943.     
  3944.     
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959.  
  3960.  
  3961.  
  3962. #line 52 "..\\..\\inc\\opcode.def"
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.  
  3972. { 0xFF, 0x00, 1 },
  3973. { 0xFF, 0x01, 1 },
  3974. { 0xFF, 0x02, 1 },
  3975. { 0xFF, 0x03, 1 },
  3976. { 0xFF, 0x04, 1 },
  3977. { 0xFF, 0x05, 1 },
  3978. { 0xFF, 0x06, 1 },
  3979. { 0xFF, 0x07, 1 },
  3980. { 0xFF, 0x08, 1 },
  3981. { 0xFF, 0x09, 1 },
  3982. { 0xFF, 0x0A, 1 },
  3983. { 0xFF, 0x0B, 1 },
  3984. { 0xFF, 0x0C, 1 },
  3985. { 0xFF, 0x0D, 1 },
  3986. { 0xFF, 0x0E, 1 },
  3987. { 0xFF, 0x0F, 1 },
  3988. { 0xFF, 0x10, 1 },
  3989. { 0xFF, 0x11, 1 },
  3990. { 0xFF, 0x12, 1 },
  3991. { 0xFF, 0x13, 1 },
  3992. { 0xFF, 0x14, 1 },
  3993. { 0xFF, 0x15, 1 },
  3994. { 0xFF, 0x16, 1 },
  3995. { 0xFF, 0x17, 1 },
  3996. { 0xFF, 0x18, 1 },
  3997. { 0xFF, 0x19, 1 },
  3998. { 0xFF, 0x1A, 1 },
  3999. { 0xFF, 0x1B, 1 },
  4000. { 0xFF, 0x1C, 1 },
  4001. { 0xFF, 0x1D, 1 },
  4002. { 0xFF, 0x1E, 1 },
  4003. { 0xFF, 0x1F, 1 },
  4004. { 0xFF, 0x20, 1 },
  4005. { 0xFF, 0x21, 1 },
  4006. { 0xFF, 0x22, 1 },
  4007. { 0xFF, 0x23, 1 },
  4008. { 0xFF, 0x24, 1 },
  4009. { 0xFF, 0x25, 1 },
  4010. { 0xFF, 0x26, 1 },
  4011. { 0xFF, 0x27, 1 },
  4012. { 0xFF, 0x28, 1 },
  4013. { 0xFF, 0x29, 1 },
  4014. { 0xFF, 0x2A, 1 },
  4015. { 0xFF, 0x2B, 1 },
  4016. { 0xFF, 0x2C, 1 },
  4017. { 0xFF, 0x2D, 1 },
  4018. { 0xFF, 0x2E, 1 },
  4019. { 0xFF, 0x2F, 1 },
  4020. { 0xFF, 0x30, 1 },
  4021. { 0xFF, 0x31, 1 },
  4022. { 0xFF, 0x32, 1 },
  4023. { 0xFF, 0x33, 1 },
  4024. { 0xFF, 0x34, 1 },
  4025. { 0xFF, 0x35, 1 },
  4026. { 0xFF, 0x36, 1 },
  4027. { 0xFF, 0x37, 1 },
  4028. { 0xFF, 0x38, 1 },
  4029. { 0xFF, 0x39, 1 },
  4030. { 0xFF, 0x3A, 1 },
  4031. { 0xFF, 0x3B, 1 },
  4032. { 0xFF, 0x3C, 1 },
  4033. { 0xFF, 0x3D, 1 },
  4034. { 0xFF, 0x3E, 1 },
  4035. { 0xFF, 0x3F, 1 },
  4036. { 0xFF, 0x40, 1 },
  4037. { 0xFF, 0x41, 1 },
  4038. { 0xFF, 0x42, 1 },
  4039. { 0xFF, 0x43, 1 },
  4040. { 0xFF, 0x44, 1 },
  4041. { 0xFF, 0x45, 1 },
  4042. { 0xFF, 0x46, 1 },
  4043. { 0xFF, 0x47, 1 },
  4044. { 0xFF, 0x48, 1 },
  4045. { 0xFF, 0x49, 1 },
  4046. { 0xFF, 0x4A, 1 },
  4047. { 0xFF, 0x4B, 1 },
  4048. { 0xFF, 0x4C, 1 },
  4049. { 0xFF, 0x4D, 1 },
  4050. { 0xFF, 0x4E, 1 },
  4051. { 0xFF, 0x4F, 1 },
  4052. { 0xFF, 0x50, 1 },
  4053. { 0xFF, 0x51, 1 },
  4054. { 0xFF, 0x52, 1 },
  4055. { 0xFF, 0x53, 1 },
  4056. { 0xFF, 0x54, 1 },
  4057. { 0xFF, 0x55, 1 },
  4058. { 0xFF, 0x56, 1 },
  4059. { 0xFF, 0x57, 1 },
  4060. { 0xFF, 0x58, 1 },
  4061. { 0xFF, 0x59, 1 },
  4062. { 0xFF, 0x5A, 1 },
  4063. { 0xFF, 0x5B, 1 },
  4064. { 0xFF, 0x5C, 1 },
  4065. { 0xFF, 0x5D, 1 },
  4066. { 0xFF, 0x5E, 1 },
  4067. { 0xFF, 0x5F, 1 },
  4068. { 0xFF, 0x60, 1 },
  4069. { 0xFF, 0x61, 1 },
  4070. { 0xFF, 0x62, 1 },
  4071. { 0xFF, 0x63, 1 },
  4072. { 0xFF, 0x64, 1 },
  4073. { 0xFF, 0x65, 1 },
  4074. { 0xFF, 0x66, 1 },
  4075. { 0xFF, 0x67, 1 },
  4076. { 0xFF, 0x68, 1 },
  4077. { 0xFF, 0x69, 1 },
  4078. { 0xFF, 0x6A, 1 },
  4079. { 0xFF, 0x6B, 1 },
  4080. { 0xFF, 0x6C, 1 },
  4081. { 0xFF, 0x6D, 1 },
  4082. { 0xFF, 0x6E, 1 },
  4083. { 0xFF, 0x6F, 1 },
  4084. { 0xFF, 0x70, 1 },
  4085. { 0xFF, 0x71, 1 },
  4086. { 0xFF, 0x72, 1 },
  4087. { 0xFF, 0x73, 1 },
  4088. { 0xFF, 0x74, 1 },
  4089. { 0xFF, 0x75, 1 },
  4090. { 0xFF, 0x76, 1 },
  4091. { 0xFF, 0x77, 1 },
  4092. { 0xFF, 0x78, 1 },
  4093. { 0xFF, 0x79, 1 },
  4094. { 0xFF, 0x7A, 1 },
  4095. { 0xFF, 0x7B, 1 },
  4096. { 0xFF, 0x7C, 1 },
  4097. { 0xFF, 0x7D, 1 },
  4098. { 0xFF, 0x7E, 1 },
  4099. { 0xFF, 0x7F, 1 },
  4100. { 0xFF, 0x80, 1 },
  4101. { 0xFF, 0x81, 1 },
  4102. { 0xFF, 0x82, 1 },
  4103. { 0xFF, 0x83, 1 },
  4104. { 0xFF, 0x84, 1 },
  4105. { 0xFF, 0x85, 1 },
  4106. { 0xFF, 0x86, 1 },
  4107. { 0xFF, 0x87, 1 },
  4108. { 0xFF, 0x88, 1 },
  4109. { 0xFF, 0x89, 1 },
  4110. { 0xFF, 0x8A, 1 },
  4111. { 0xFF, 0x8B, 1 },
  4112. { 0xFF, 0x8C, 1 },
  4113. { 0xFF, 0x8D, 1 },
  4114. { 0xFF, 0x8E, 1 },
  4115. { 0xFF, 0x8F, 1 },
  4116. { 0xFF, 0x90, 1 },
  4117. { 0xFF, 0x91, 1 },
  4118. { 0xFF, 0x92, 1 },
  4119. { 0xFF, 0x93, 1 },
  4120. { 0xFF, 0x94, 1 },
  4121. { 0xFF, 0x95, 1 },
  4122. { 0xFF, 0x96, 1 },
  4123. { 0xFF, 0x97, 1 },
  4124. { 0xFF, 0x98, 1 },
  4125. { 0xFF, 0x99, 1 },
  4126. { 0xFF, 0x9A, 1 },
  4127. { 0xFF, 0x9B, 1 },
  4128. { 0xFF, 0x9C, 1 },
  4129. { 0xFF, 0x9D, 1 },
  4130. { 0xFF, 0x9E, 1 },
  4131. { 0xFF, 0x9F, 1 },
  4132. { 0xFF, 0xA0, 1 },
  4133. { 0xFF, 0xA1, 1 },
  4134. { 0xFF, 0xA2, 1 },
  4135. { 0xFF, 0xA3, 1 },
  4136. { 0xFF, 0xA4, 1 },
  4137. { 0xFF, 0xA5, 1 },
  4138. { 0xFF, 0xA6, 1 },
  4139. { 0xFF, 0xA7, 1 },
  4140. { 0xFF, 0xA8, 1 },
  4141. { 0xFF, 0xA9, 1 },
  4142. { 0xFF, 0xAA, 1 },
  4143. { 0xFF, 0xAB, 1 },
  4144. { 0xFF, 0xAC, 1 },
  4145. { 0xFF, 0xAD, 1 },
  4146. { 0xFF, 0xAE, 1 },
  4147. { 0xFF, 0xAF, 1 },
  4148. { 0xFF, 0xB0, 1 },
  4149. { 0xFF, 0xB1, 1 },
  4150. { 0xFF, 0xB2, 1 },
  4151. { 0xFF, 0xB3, 1 },
  4152. { 0xFF, 0xB4, 1 },
  4153. { 0xFF, 0xB5, 1 },
  4154. { 0xFF, 0xB6, 1 },
  4155. { 0xFF, 0xB7, 1 },
  4156. { 0xFF, 0xB8, 1 },
  4157. { 0xFF, 0xB9, 1 },
  4158. { 0xFF, 0xBA, 1 },
  4159. { 0xFF, 0xBB, 1 },
  4160. { 0xFF, 0xBC, 1 },
  4161. { 0xFF, 0xBD, 1 },
  4162. { 0xFF, 0xBE, 1 },
  4163. { 0xFF, 0xBF, 1 },
  4164. { 0xFF, 0xC0, 1 },
  4165. { 0xFF, 0xC1, 1 },
  4166. { 0xFF, 0xC2, 1 },
  4167. { 0xFF, 0xC3, 1 },
  4168. { 0xFF, 0xC4, 1 },
  4169. { 0xFF, 0xC5, 1 },
  4170. { 0xFF, 0xC6, 1 },
  4171. { 0xFF, 0xC7, 1 },
  4172. { 0xFF, 0xC8, 1 },
  4173. { 0xFF, 0xC9, 1 },
  4174. { 0xFF, 0xCA, 1 },
  4175. { 0xFF, 0xCB, 1 },
  4176. { 0xFF, 0xCC, 1 },
  4177. { 0xFF, 0xCD, 1 },
  4178. { 0xFF, 0xCE, 1 },
  4179. { 0xFF, 0xCF, 1 },
  4180. { 0xFF, 0xD0, 1 },
  4181. { 0xFF, 0xD1, 1 },
  4182. { 0xFF, 0xD2, 1 },
  4183. { 0xFF, 0xD3, 1 },
  4184. { 0xFF, 0xD4, 1 },
  4185. { 0xFF, 0xD5, 1 },
  4186. { 0xFF, 0xD6, 1 },
  4187. { 0xFF, 0xD7, 1 },
  4188. { 0xFF, 0xD8, 1 },
  4189. { 0xFF, 0xD9, 1 },
  4190. { 0xFF, 0xDA, 1 },
  4191. { 0xFF, 0xDB, 1 },
  4192. { 0xFF, 0xDC, 1 },
  4193. { 0xFF, 0xDD, 1 },
  4194. { 0xFF, 0xDE, 1 },
  4195. { 0xFF, 0xDF, 1 },
  4196. { 0xFF, 0xE0, 1 },
  4197. { 0xFF, 0xE1, 1 },
  4198. { 0xFF, 0xE2, 1 },
  4199. { 0xFF, 0xE3, 1 },
  4200. { 0xFF, 0xE4, 1 },
  4201. { 0xFF, 0xE5, 1 },
  4202. { 0xFF, 0xE6, 1 },
  4203. { 0xFF, 0xE7, 1 },
  4204. { 0xFF, 0xE8, 1 },
  4205. { 0xFF, 0xE9, 1 },
  4206. { 0xFF, 0xEA, 1 },
  4207. { 0xFF, 0xEB, 1 },
  4208. { 0xFF, 0xEC, 1 },
  4209. { 0xFF, 0xED, 1 },
  4210. { 0xFF, 0xEE, 1 },
  4211. { 0xFF, 0xEF, 1 },
  4212. { 0xFF, 0xF0, 1 },
  4213. { 0xFF, 0xF1, 1 },
  4214. { 0xFF, 0xF2, 1 },
  4215. { 0xFF, 0xF3, 1 },
  4216. { 0xFF, 0xF4, 1 },
  4217. { 0xFF, 0xF5, 1 },
  4218. { 0xFF, 0xF6, 1 },
  4219. { 0xFF, 0xF7, 1 },
  4220. { 0xFF, 0xF8, 1 },
  4221. { 0xFF, 0xF9, 1 },
  4222. { 0xFF, 0xFA, 1 },
  4223. { 0xFF, 0xFB, 1 },
  4224. { 0xFF, 0xFC, 1 },
  4225. { 0xFF, 0xFD, 1 },
  4226. { 0xFF, 0xFE, 1 },
  4227. { 0xFF, 0xFF, 1 },
  4228.  
  4229. { 0xFE, 0x00, 2 },
  4230. { 0xFE, 0x01, 2 },
  4231. { 0xFE, 0x02, 2 },
  4232. { 0xFE, 0x03, 2 },
  4233. { 0xFE, 0x04, 2 },
  4234. { 0xFE, 0x05, 2 },
  4235. { 0xFE, 0x06, 2 },
  4236. { 0xFE, 0x07, 2 },
  4237. { 0xFE, 0x08, 2 },
  4238. { 0xFE, 0x09, 2 },
  4239. { 0xFE, 0x0A, 2 },
  4240. { 0xFE, 0x0B, 2 },
  4241. { 0xFE, 0x0C, 2 },
  4242. { 0xFE, 0x0D, 2 },
  4243. { 0xFE, 0x0E, 2 },
  4244. { 0xFE, 0x0F, 2 },
  4245. { 0xFE, 0x10, 2 },
  4246. { 0xFE, 0x11, 2 },
  4247. { 0xFE, 0x12, 2 },
  4248. { 0xFE, 0x13, 2 },
  4249. { 0xFE, 0x14, 2 },
  4250. { 0xFE, 0x15, 2 },
  4251. { 0xFE, 0x16, 2 },
  4252. { 0xFE, 0x17, 2 },
  4253. { 0xFE, 0x18, 2 },
  4254. { 0xFE, 0x19, 2 },
  4255. { 0xFE, 0x1A, 2 },
  4256. { 0xFE, 0x1B, 2 },
  4257. { 0xFE, 0x1C, 2 },
  4258. { 0xFE, 0x1D, 2 },
  4259. { 0xFE, 0x1E, 2 },
  4260. { 0xFE, 0x1F, 2 },
  4261. { 0xFE, 0x20, 2 },
  4262. { 0xFE, 0x21, 2 },
  4263. { 0xFE, 0x22, 2 },
  4264.  
  4265.  
  4266.  
  4267. { 0x00, 0x00, 0 },
  4268. { 0x00, 0x00, 0 },
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275. #line 365 "..\\..\\inc\\opcode.def"
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.  
  4290. #line 380 "..\\..\\inc\\opcode.def"
  4291.  
  4292. #line 268 "macros.cpp"
  4293.     
  4294. };
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.  
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316. signed  char        ILopcodeStack[] =
  4317. {
  4318.     
  4319.     #line 1 "..\\..\\inc\\opcode.def"
  4320.  
  4321.  
  4322.  
  4323.  
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.     
  4348.     
  4349.     
  4350.  
  4351.     
  4352.     
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.  
  4368.  
  4369.  
  4370. #line 52 "..\\..\\inc\\opcode.def"
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.  
  4379.  
  4380. ((0)+(0)),
  4381. ((0)+(0)),
  4382. ((1)+(0)),
  4383. ((1)+(0)),
  4384. ((1)+(0)),
  4385. ((1)+(0)),
  4386. ((1)+(0)),
  4387. ((1)+(0)),
  4388. ((1)+(0)),
  4389. ((1)+(0)),
  4390. ((0)+(-1)),
  4391. ((0)+(-1)),
  4392. ((0)+(-1)),
  4393. ((0)+(-1)),
  4394. ((1)+(0)),
  4395. ((1)+(0)),
  4396. ((0)+(-1)),
  4397. ((1)+(0)),
  4398. ((1)+(0)),
  4399. ((0)+(-1)),
  4400. ((1)+(0)),
  4401. ((1)+(0)),
  4402. ((1)+(0)),
  4403. ((1)+(0)),
  4404. ((1)+(0)),
  4405. ((1)+(0)),
  4406. ((1)+(0)),
  4407. ((1)+(0)),
  4408. ((1)+(0)),
  4409. ((1)+(0)),
  4410. ((1)+(0)),
  4411. ((1)+(0)),
  4412. ((1)+(0)),
  4413. ((1)+(0)),
  4414. ((1)+(0)),
  4415. ((1)+(0)),
  4416. ((1)+(0)),
  4417. ((1+1)+(-1)),
  4418. ((0)+(-1)),
  4419. ((0)+(0)),
  4420. ((0)+(0)),
  4421. ((0)+(0)),
  4422. ((0)+(0)),
  4423. ((0)+(0)),
  4424. ((0)+(-1)),
  4425. ((0)+(-1)),
  4426. ((0)+(-1+-1)),
  4427. ((0)+(-1+-1)),
  4428. ((0)+(-1+-1)),
  4429. ((0)+(-1+-1)),
  4430. ((0)+(-1+-1)),
  4431. ((0)+(-1+-1)),
  4432. ((0)+(-1+-1)),
  4433. ((0)+(-1+-1)),
  4434. ((0)+(-1+-1)),
  4435. ((0)+(-1+-1)),
  4436. ((0)+(0)),
  4437. ((0)+(-1)),
  4438. ((0)+(-1)),
  4439. ((0)+(-1+-1)),
  4440. ((0)+(-1+-1)),
  4441. ((0)+(-1+-1)),
  4442. ((0)+(-1+-1)),
  4443. ((0)+(-1+-1)),
  4444. ((0)+(-1+-1)),
  4445. ((0)+(-1+-1)),
  4446. ((0)+(-1+-1)),
  4447. ((0)+(-1+-1)),
  4448. ((0)+(-1+-1)),
  4449. ((0)+(-1)),
  4450. ((1)+(-1)),
  4451. ((1)+(-1)),
  4452. ((1)+(-1)),
  4453. ((1)+(-1)),
  4454. ((1)+(-1)),
  4455. ((1)+(-1)),
  4456. ((1)+(-1)),
  4457. ((1)+(-1)),
  4458. ((1)+(-1)),
  4459. ((1)+(-1)),
  4460. ((1)+(-1)),
  4461. ((0)+(-1+-1)),
  4462. ((0)+(-1+-1)),
  4463. ((0)+(-1+-1)),
  4464. ((0)+(-1+-1)),
  4465. ((0)+(-1+-1)),
  4466. ((0)+(-1+-1)),
  4467. ((0)+(-1+-1)),
  4468. ((1)+(-1+-1)),
  4469. ((1)+(-1+-1)),
  4470. ((1)+(-1+-1)),
  4471. ((1)+(-1+-1)),
  4472. ((1)+(-1+-1)),
  4473. ((1)+(-1+-1)),
  4474. ((1)+(-1+-1)),
  4475. ((1)+(-1+-1)),
  4476. ((1)+(-1+-1)),
  4477. ((1)+(-1+-1)),
  4478. ((1)+(-1+-1)),
  4479. ((1)+(-1+-1)),
  4480. ((1)+(-1+-1)),
  4481. ((1)+(-1)),
  4482. ((1)+(-1)),
  4483. ((1)+(-1)),
  4484. ((1)+(-1)),
  4485. ((1)+(-1)),
  4486. ((1)+(-1)),
  4487. ((1)+(-1)),
  4488. ((1)+(-1)),
  4489. ((1)+(-1)),
  4490. ((1)+(-1)),
  4491. ((0)+(0)),
  4492. ((0)+(-1+-1)),
  4493. ((1)+(-1)),
  4494. ((1)+(0)),
  4495. ((1)+(0)),
  4496. ((1)+(-1)),
  4497. ((1)+(-1)),
  4498. ((1)+(-1)),
  4499. ((0)+(0)),
  4500. ((1)+(-1)),
  4501. ((1)+(-1)),
  4502. ((0)+(-1)),
  4503. ((1)+(-1)),
  4504. ((1)+(-1)),
  4505. ((0)+(-1+-1)),
  4506. ((1)+(0)),
  4507. ((1)+(0)),
  4508. ((0)+(-1)),
  4509. ((0)+(-1+-1)),
  4510. ((1)+(-1)),
  4511. ((1)+(-1)),
  4512. ((1)+(-1)),
  4513. ((1)+(-1)),
  4514. ((1)+(-1)),
  4515. ((1)+(-1)),
  4516. ((1)+(-1)),
  4517. ((1)+(-1)),
  4518. ((1)+(-1)),
  4519. ((1)+(-1)),
  4520. ((0)+(0)),
  4521. ((1)+(-1)),
  4522. ((1)+(-1)),
  4523. ((1)+(-1+-1)),
  4524. ((1)+(-1+-1)),
  4525. ((1)+(-1+-1)),
  4526. ((1)+(-1+-1)),
  4527. ((1)+(-1+-1)),
  4528. ((1)+(-1+-1)),
  4529. ((1)+(-1+-1)),
  4530. ((1)+(-1+-1)),
  4531. ((1)+(-1+-1)),
  4532. ((1)+(-1+-1)),
  4533. ((1)+(-1+-1)),
  4534. ((1)+(-1+-1)),
  4535. ((0)+(-1+-1+-1)),
  4536. ((0)+(-1+-1+-1)),
  4537. ((0)+(-1+-1+-1)),
  4538. ((0)+(-1+-1+-1)),
  4539. ((0)+(-1+-1+-1)),
  4540. ((0)+(-1+-1+-1)),
  4541. ((0)+(-1+-1+-1)),
  4542. ((0)+(-1+-1+-1)),
  4543. ((0)+(0)),
  4544. ((0)+(0)),
  4545. ((0)+(0)),
  4546. ((0)+(0)),
  4547. ((0)+(0)),
  4548. ((0)+(0)),
  4549. ((0)+(0)),
  4550. ((0)+(0)),
  4551. ((0)+(0)),
  4552. ((0)+(0)),
  4553. ((0)+(0)),
  4554. ((0)+(0)),
  4555. ((0)+(0)),
  4556. ((0)+(0)),
  4557. ((0)+(0)),
  4558. ((0)+(0)),
  4559. ((1)+(-1)),
  4560. ((1)+(-1)),
  4561. ((1)+(-1)),
  4562. ((1)+(-1)),
  4563. ((1)+(-1)),
  4564. ((1)+(-1)),
  4565. ((1)+(-1)),
  4566. ((1)+(-1)),
  4567. ((0)+(0)),
  4568. ((0)+(0)),
  4569. ((0)+(0)),
  4570. ((0)+(0)),
  4571. ((0)+(0)),
  4572. ((0)+(0)),
  4573. ((0)+(0)),
  4574. ((1)+(-1)),
  4575. ((1)+(-1)),
  4576. ((0)+(0)),
  4577. ((0)+(0)),
  4578. ((1)+(-1)),
  4579. ((0)+(0)),
  4580. ((0)+(0)),
  4581. ((1)+(-1)),
  4582. ((0)+(0)),
  4583. ((0)+(0)),
  4584. ((0)+(0)),
  4585. ((0)+(0)),
  4586. ((0)+(0)),
  4587. ((0)+(0)),
  4588. ((1)+(0)),
  4589. ((1)+(-1)),
  4590. ((1)+(-1)),
  4591. ((1)+(-1)),
  4592. ((1)+(-1)),
  4593. ((1)+(-1)),
  4594. ((1)+(-1+-1)),
  4595. ((1)+(-1+-1)),
  4596. ((1)+(-1+-1)),
  4597. ((1)+(-1+-1)),
  4598. ((1)+(-1+-1)),
  4599. ((1)+(-1+-1)),
  4600. ((0)+(0)),
  4601. ((0)+(0)),
  4602. ((0)+(0)),
  4603. ((0)+(-1+-1)),
  4604. ((1)+(-1)),
  4605. ((0)+(0)),
  4606. ((0)+(0)),
  4607. ((0)+(0)),
  4608. ((0)+(0)),
  4609. ((0)+(0)),
  4610. ((0)+(0)),
  4611. ((0)+(0)),
  4612. ((0)+(0)),
  4613. ((0)+(0)),
  4614. ((0)+(0)),
  4615. ((0)+(0)),
  4616. ((0)+(0)),
  4617. ((0)+(0)),
  4618. ((0)+(0)),
  4619. ((0)+(0)),
  4620. ((0)+(0)),
  4621. ((0)+(0)),
  4622. ((0)+(0)),
  4623. ((0)+(0)),
  4624. ((0)+(0)),
  4625. ((0)+(0)),
  4626. ((0)+(0)),
  4627. ((0)+(0)),
  4628. ((0)+(0)),
  4629. ((0)+(0)),
  4630. ((0)+(0)),
  4631. ((0)+(0)),
  4632. ((0)+(0)),
  4633. ((0)+(0)),
  4634. ((0)+(0)),
  4635. ((0)+(0)),
  4636.  
  4637. ((1)+(0)),
  4638. ((1)+(-1+-1)),
  4639. ((1)+(-1+-1)),
  4640. ((1)+(-1+-1)),
  4641. ((1)+(-1+-1)),
  4642. ((1)+(-1+-1)),
  4643. ((1)+(0)),
  4644. ((1)+(-1)),
  4645. ((0)+(-1)),
  4646. ((1)+(0)),
  4647. ((1)+(0)),
  4648. ((0)+(-1)),
  4649. ((1)+(0)),
  4650. ((1)+(0)),
  4651. ((0)+(-1)),
  4652. ((1)+(-1)),
  4653. ((0)+(0)),
  4654. ((0)+(-1)),
  4655. ((0)+(0)),
  4656. ((0)+(0)),
  4657. ((0)+(0)),
  4658. ((0)+(-1)),
  4659. ((1)+(-1)),
  4660. ((0)+(-1+-1+-1)),
  4661. ((0)+(-1+-1+-1)),
  4662. ((0)+(0)),
  4663. ((0)+(0)),
  4664. ((0)+(0)),
  4665. ((1)+(0)),
  4666. ((1)+(-1)),
  4667. ((0)+(0)),
  4668. ((0)+(0)),
  4669. ((0)+(0)),
  4670. ((0)+(0)),
  4671. ((0)+(0)),
  4672.  
  4673.  
  4674.  
  4675. ((0)+(0)),
  4676. ((0)+(0)),
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683. #line 365 "..\\..\\inc\\opcode.def"
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698. #line 380 "..\\..\\inc\\opcode.def"
  4699.  
  4700. #line 295 "macros.cpp"
  4701.     
  4702. };
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.  
  4719.  
  4720.  
  4721.  
  4722.  
  4723.  
  4724.  
  4725.  
  4726. const   char *      MDnamesStr[] =
  4727. {
  4728.     
  4729.     #line 1 "MDnames.h"
  4730.  
  4731.  
  4732. NULL,
  4733.  
  4734. "op_Addition",
  4735. "op_Subtraction",
  4736. "op_Multiply",
  4737. "op_Division",
  4738. "op_Modulus",
  4739.  
  4740. "op_BitwiseOr",
  4741. "op_ExclusiveOr",
  4742. "op_BitwiseAnd",
  4743.  
  4744. "op_LeftShift",
  4745. "op_RightShift",
  4746. "op_UnsignedRightShift",
  4747.  
  4748. "op_Concat",
  4749.  
  4750. "op_Equality",
  4751. "op_Inequality",
  4752.  
  4753. "op_LessThan",
  4754. "op_LessThanOrEqual",
  4755. "op_GreaterThanOrEqual",
  4756. "op_GreaterThan",
  4757.  
  4758. "op_LogicalAnd",
  4759. "op_LogicalOr",
  4760.  
  4761. "op_LogicalNot",
  4762. "op_OnesComplement",
  4763.  
  4764. "op_UnaryPlus",
  4765. "op_UnaryNegation",
  4766.  
  4767. "op_Increment",
  4768. "op_Decrement",
  4769.  
  4770. "op_Assignment",
  4771.  
  4772. "op_AdditionAssignment",
  4773. "op_SubtractionAssignment",
  4774. "op_MultiplicationAssignment",
  4775. "op_DivisionAssignment",
  4776. "op_ModulusAssignment",
  4777.  
  4778. "op_BitwiseOrAssignment",
  4779. "op_ExclusiveOrAssignment",
  4780. "op_BitwiseAndAssignment",
  4781.  
  4782. "op_LeftShiftAssignment",
  4783. "op_RightShiftAssignment",
  4784. "op_UnsignedRightShiftAssignment",
  4785.  
  4786. "op_ConcatAssignment",
  4787.  
  4788. ".ctor",
  4789. ".cctor",
  4790.  
  4791. "op_Finalize",      
  4792.  
  4793. "op_Implicit",
  4794. "op_Explicit",
  4795.  
  4796. "op_Equals",
  4797. "op_Compare",
  4798.  
  4799. "get_",
  4800. "set_",
  4801. #line 324 "macros.cpp"
  4802.     
  4803. };
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.  
  4815.  
  4816. #line 1 "MDstrns.h"
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823. #line 1 "MDnames.h"
  4824.  
  4825.  
  4826. const normString OVOP_STR_NONE = NULL;
  4827.  
  4828. const normString OVOP_STR_ADD = "op_Addition";
  4829. const normString OVOP_STR_SUB = "op_Subtraction";
  4830. const normString OVOP_STR_MUL = "op_Multiply";
  4831. const normString OVOP_STR_DIV = "op_Division";
  4832. const normString OVOP_STR_MOD = "op_Modulus";
  4833.  
  4834. const normString OVOP_STR_OR = "op_BitwiseOr";
  4835. const normString OVOP_STR_XOR = "op_ExclusiveOr";
  4836. const normString OVOP_STR_AND = "op_BitwiseAnd";
  4837.  
  4838. const normString OVOP_STR_LSH = "op_LeftShift";
  4839. const normString OVOP_STR_RSH = "op_RightShift";
  4840. const normString OVOP_STR_RSZ = "op_UnsignedRightShift";
  4841.  
  4842. const normString OVOP_STR_CNC = "op_Concat";
  4843.  
  4844. const normString OVOP_STR_EQ = "op_Equality";
  4845. const normString OVOP_STR_NE = "op_Inequality";
  4846.  
  4847. const normString OVOP_STR_LT = "op_LessThan";
  4848. const normString OVOP_STR_LE = "op_LessThanOrEqual";
  4849. const normString OVOP_STR_GE = "op_GreaterThanOrEqual";
  4850. const normString OVOP_STR_GT = "op_GreaterThan";
  4851.  
  4852. const normString OVOP_STR_LOG_AND = "op_LogicalAnd";
  4853. const normString OVOP_STR_LOG_OR = "op_LogicalOr";
  4854.  
  4855. const normString OVOP_STR_LOG_NOT = "op_LogicalNot";
  4856. const normString OVOP_STR_NOT = "op_OnesComplement";
  4857.  
  4858. const normString OVOP_STR_NOP = "op_UnaryPlus";
  4859. const normString OVOP_STR_NEG = "op_UnaryNegation";
  4860.  
  4861. const normString OVOP_STR_INC = "op_Increment";
  4862. const normString OVOP_STR_DEC = "op_Decrement";
  4863.  
  4864. const normString OVOP_STR_ASG = "op_Assignment";
  4865.  
  4866. const normString OVOP_STR_ASG_ADD = "op_AdditionAssignment";
  4867. const normString OVOP_STR_ASG_SUB = "op_SubtractionAssignment";
  4868. const normString OVOP_STR_ASG_MUL = "op_MultiplicationAssignment";
  4869. const normString OVOP_STR_ASG_DIV = "op_DivisionAssignment";
  4870. const normString OVOP_STR_ASG_MOD = "op_ModulusAssignment";
  4871.  
  4872. const normString OVOP_STR_ASG_AND = "op_BitwiseOrAssignment";
  4873. const normString OVOP_STR_ASG_XOR = "op_ExclusiveOrAssignment";
  4874. const normString OVOP_STR_ASG_OR = "op_BitwiseAndAssignment";
  4875.  
  4876. const normString OVOP_STR_ASG_LSH = "op_LeftShiftAssignment";
  4877. const normString OVOP_STR_ASG_RSH = "op_RightShiftAssignment";
  4878. const normString OVOP_STR_ASG_RSZ = "op_UnsignedRightShiftAssignment";
  4879.  
  4880. const normString OVOP_STR_ASG_CNC = "op_ConcatAssignment";
  4881.  
  4882. const normString OVOP_STR_CTOR_INST = ".ctor";
  4883. const normString OVOP_STR_CTOR_STAT = ".cctor";
  4884.  
  4885. const normString OVOP_STR_FINALIZER = "op_Finalize";      
  4886.  
  4887. const normString OVOP_STR_CONV_IMP = "op_Implicit";
  4888. const normString OVOP_STR_CONV_EXP = "op_Explicit";
  4889.  
  4890. const normString OVOP_STR_EQUALS = "op_Equals";
  4891. const normString OVOP_STR_COMPARE = "op_Compare";
  4892.  
  4893. const normString OVOP_STR_PROP_GET = "get_";
  4894. const normString OVOP_STR_PROP_SET = "set_";
  4895. #line 8 "MDstrns.h"
  4896.  
  4897.  
  4898.  
  4899. #line 12 "MDstrns.h"
  4900.  
  4901. #line 339 "macros.cpp"
  4902.  
  4903. ovlOpFlavors        MDfindOvop(const char *name)
  4904. {
  4905.     unsigned        i;
  4906.  
  4907.     
  4908.  
  4909.     for (i = 0; i < (sizeof(MDnamesStr)/sizeof(*(MDnamesStr))); i++)
  4910.     {
  4911.         if  (MDnamesStr[i] && !strcmp(name, MDnamesStr[i]))
  4912.             return  (ovlOpFlavors)i;
  4913.     }
  4914.  
  4915.     return  OVOP_NONE;
  4916. }
  4917.  
  4918.  
  4919.