Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
2.8 KiB

  1. #ifndef lint
  2. static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
  3. #endif
  4. #define YYBYACC 1
  5. #define YYMAJOR 1
  6. #define YYMINOR 9
  7. #define yyclearin (yychar=(-1))
  8. #define yyerrok (yyerrflag=0)
  9. #define YYRECOVERING (yyerrflag!=0)
  10. #define _OR 257
  11. #define _AND 258
  12. #define _NEAR 259
  13. #define _NEARDIST 260
  14. #define _NOT 261
  15. #define _CONTAINS 262
  16. #define _LT 263
  17. #define _GT 264
  18. #define _LTE 265
  19. #define _GTE 266
  20. #define _EQ 267
  21. #define _NE 268
  22. #define _ALLOF 269
  23. #define _SOMEOF 270
  24. #define _OPEN 271
  25. #define _CLOSE 272
  26. #define _VECTOR_END 273
  27. #define _VE 274
  28. #define _VE_END 275
  29. #define _PROPEND 276
  30. #define _NEAR_END 277
  31. #define _LTSOME 278
  32. #define _GTSOME 279
  33. #define _LTESOME 280
  34. #define _GTESOME 281
  35. #define _EQSOME 282
  36. #define _NESOME 283
  37. #define _ALLOFSOME 284
  38. #define _SOMEOFSOME 285
  39. #define _LTALL 286
  40. #define _GTALL 287
  41. #define _LTEALL 288
  42. #define _GTEALL 289
  43. #define _EQALL 290
  44. #define _NEALL 291
  45. #define _ALLOFALL 292
  46. #define _SOMEOFALL 293
  47. #define _COERCE 294
  48. #define _SHGENPREFIX 295
  49. #define _SHGENINFLECT 296
  50. #define _GENPREFIX 297
  51. #define _GENINFLECT 298
  52. #define _GENNORMAL 299
  53. #define _PHRASE 300
  54. #define _PROPNAME 301
  55. #define _NEARUNIT 302
  56. #define _WEIGHT 303
  57. #define _REGEX 304
  58. #define _FREETEXT 305
  59. #define _VECTORELEMENT 306
  60. #define _VEMETHOD 307
  61. #define _PHRASEORREGEX 308
  62. typedef union
  63. {
  64. WCHAR * pwszChar;
  65. DBCOMMANDOP dbop;
  66. CDbRestriction * pRest;
  67. CStorageVariant * pStorageVar;
  68. CValueParser *pPropValueParser;
  69. int iInt;
  70. int iEmpty;
  71. } YYSTYPE;
  72. extern YYSTYPE triplval;
  73. #ifdef YYSTACKSIZE
  74. #undef YYMAXDEPTH
  75. #define YYMAXDEPTH YYSTACKSIZE
  76. #else
  77. #ifdef YYMAXDEPTH
  78. #define YYSTACKSIZE YYMAXDEPTH
  79. #else
  80. #define YYSTACKSIZE 500
  81. #define YYMAXDEPTH 500
  82. #endif
  83. #endif
  84. #define INITSTACKSIZE 30
  85. class YYPARSER : public CTripYYBase
  86. {
  87. friend class YYLEXER;
  88. public:
  89. YYPARSER(IColumnMapper & ColumnMapper, LCID & locale, YYLEXER & yylex);
  90. ~YYPARSER() {}
  91. int Parse();
  92. #ifdef YYAPI_VALUETYPE
  93. CDbRestriction* GetParseTree() // Get result of parse
  94. {
  95. CDbRestriction* pRst = ((YYAPI_VALUETYPE)yyval).pRest;
  96. _setRst.Remove( pRst );
  97. Win4Assert( 0 == _setRst.Count() );
  98. Win4Assert( 0 == _setStgVar.Count() );
  99. Win4Assert( 0 == _setValueParser.Count() );
  100. return pRst;
  101. };
  102. #endif
  103. void SetDebug() { yydebug = 1; }
  104. void EmptyValueStack(YYAPI_VALUETYPE yylval) {}
  105. void PopVs() { yyvsp--; }
  106. private:
  107. int yydebug;
  108. int yynerrs;
  109. int yyerrflag;
  110. int yychar;
  111. short *yyssp;
  112. YYSTYPE *yyvsp;
  113. YYSTYPE yyval;
  114. YYSTYPE yylval;
  115. XGrowable<short, INITSTACKSIZE> xyyss;
  116. CDynArrayInPlace<YYSTYPE> xyyvs;
  117. };
  118. #define yystacksize YYSTACKSIZE