00001 #ifndef MYACC_H
00002 #define MYACC_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <stdio.h>
00013 #include <stddef.h>
00014 #include <assert.h>
00015
00016
00017 #include <yytdefs.h>
00018
00019
00020 #if defined(YYTUDEFS) || defined(YYUDEFS)
00021 #include <yytudefs.h>
00022 #endif
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 #define YY_AYACC
00029
00030
00031 #ifndef YYCDECL
00032 #define YYCDECL
00033 #endif
00034 #ifndef YYDCDECL
00035 #define YYDCDECL
00036 #endif
00037 #ifndef YYNEAR
00038 #define YYNEAR
00039 #endif
00040 #ifndef YYFAR
00041 #define YYFAR
00042 #endif
00043 #ifndef YYNEARFAR
00044 #define YYNEARFAR
00045 #endif
00046 #ifndef YYBASED_CODE
00047 #define YYBASED_CODE
00048 #endif
00049
00050
00051 #ifndef YYPROTOTYPE
00052 #if defined(__STDC__) || defined(__cplusplus)
00053 #define YYPROTOTYPE
00054 #endif
00055 #endif
00056
00057
00058 #ifndef YYCONST
00059 #if defined(__STDC__) || defined(__cplusplus)
00060 #define YYCONST const
00061 #else
00062 #define YYCONST
00063 #endif
00064 #endif
00065
00066
00067 #ifdef YYNOPROTOTYPE
00068 #undef YYPROTOTYPE
00069 #endif
00070 #ifdef YYNOCONST
00071 #undef YYCONST
00072 #define YYCONST
00073 #endif
00074
00075 typedef short yystack_t;
00076
00077
00078 #define YYEXIT_SUCCESS 0
00079 #define YYEXIT_FAILURE 1
00080
00081
00082 #define YYTK_ALL (-1)
00083 #define YYTK_END 0
00084 #define YYTK_ERROR 256
00085
00086 #ifndef YYCSTATEGOTO_T
00087 #define YYCSTATEGOTO_T
00088 typedef short yycstategoto_t;
00089 #endif
00090
00091 #ifndef YYCNONTERMGOTO_T
00092 #define YYCNONTERMGOTO_T
00093 typedef struct yycnontermgoto {
00094 short nonterm;
00095 short next;
00096 } yycnontermgoto_t;
00097 #endif
00098
00099 #ifndef YYSTATEGOTO_T
00100 #define YYSTATEGOTO_T
00101 typedef struct yystategoto {
00102 short base;
00103 short def;
00104 } yystategoto_t;
00105 #endif
00106
00107 #ifndef YYNONTERMGOTO_T
00108 #define YYNONTERMGOTO_T
00109 typedef struct yynontermgoto {
00110 short check;
00111 short next;
00112 } yynontermgoto_t;
00113 #endif
00114
00115
00116 #define YYAT_SHIFT 0
00117 #define YYAT_REDUCE 1
00118 #define YYAT_ERROR 2
00119 #define YYAT_ACCEPT 3
00120 #define YYAT_DEFAULT 4
00121
00122 #ifndef YYCSTATEACTION_T
00123 #define YYCSTATEACTION_T
00124 typedef short yycstateaction_t;
00125 #endif
00126
00127 #ifndef YYCTOKENACTION_T
00128 #define YYCTOKENACTION_T
00129 typedef struct yyctokenaction {
00130 int token;
00131 unsigned char type;
00132 short sr;
00133 } yyctokenaction_t;
00134 #endif
00135
00136 #ifndef YYSTATEACTION_T
00137 #define YYSTATEACTION_T
00138 typedef struct yystateaction {
00139 short base;
00140 unsigned char lookahead;
00141 unsigned char type;
00142 short sr;
00143 } yystateaction_t;
00144 #endif
00145
00146 #ifndef YYTOKENACTION_T
00147 #define YYTOKENACTION_T
00148 typedef struct yytokenaction {
00149 short check;
00150 unsigned char type;
00151 short sr;
00152 } yytokenaction_t;
00153 #endif
00154
00155
00156 #define YYST_ALL (-1)
00157
00158
00159 #define YYST_ERROR (-1)
00160
00161 #ifndef YYREDUCTION_T
00162 #define YYREDUCTION_T
00163 typedef struct yyreduction {
00164 short nonterm;
00165 short length;
00166 short action;
00167 } yyreduction_t;
00168 #endif
00169
00170 typedef short yydestructor_t;
00171
00172 typedef short yytokendest_t;
00173
00174 #ifndef YYCTOKENDEST_T
00175 #define YYCTOKENDEST_T
00176 typedef struct yyctokendest {
00177 int token;
00178 short action;
00179 } yyctokendest_t;
00180 #endif
00181
00182
00183 #ifdef YYDEBUG
00184 #ifndef YYSYMBOL_T
00185 #define YYSYMBOL_T
00186 typedef struct yysymbol {
00187 YYCONST char *name;
00188 int token;
00189 } yysymbol_t;
00190 #endif
00191 #endif
00192
00193 typedef struct yymparse {
00194
00195 unsigned char yymlookahead;
00196 unsigned char yymstackgrow;
00197 unsigned char yymexitflg;
00198 unsigned char yymretireflg;
00199 unsigned char yymerrorflg;
00200 unsigned char yympopflg;
00201 unsigned char yymwipeflg;
00202
00203 int yymtop;
00204 int yymchar;
00205 int yymskip;
00206 int yymerrorcount;
00207 int yymexitcode;
00208 int yymretirecode;
00209 int yymerrorpop;
00210 FILE YYFAR *yymerr;
00211
00212
00213 yystack_t YYFAR *yymstackptr;
00214 yystack_t YYFAR *yymsstackptr;
00215 int yymstack_size;
00216 int yymsstack_size;
00217
00218 size_t yymattribute_size;
00219
00220 #ifdef YYPROTOTYPE
00221 void YYFAR *yymvalptr;
00222 void YYFAR *yymlvalptr;
00223 void YYFAR *yymattributestackptr;
00224 void YYFAR *yymsattributestackptr;
00225 #else
00226 char YYFAR *yymvalptr;
00227 char YYFAR *yymlvalptr;
00228 char YYFAR *yymattributestackptr;
00229 char YYFAR *yymsattributestackptr;
00230 #endif
00231
00232
00233 #ifdef YYPROTOTYPE
00234 void (YYCDECL *yymstackoverflow)(struct yymparse YYFAR *yy);
00235 void (YYCDECL *yymerror)(struct yymparse YYFAR *yy, YYCONST char YYFAR *text);
00236 void (YYCDECL *yymsyntaxerror)(struct yymparse YYFAR *yy);
00237 void (YYCDECL *yymdiscard)(struct yymparse YYFAR *yy, int token);
00238 int (YYCDECL *yymgettoken)(struct yymparse YYFAR *yy);
00239 void (YYCDECL *yymparseaction)(struct yymparse YYFAR *yy, int action);
00240 #else
00241 void (YYCDECL *yymstackoverflow)();
00242 void (YYCDECL *yymerror)();
00243 void (YYCDECL *yymsyntaxerror)();
00244 void (YYCDECL *yymdiscard)();
00245 int (YYCDECL *yymgettoken)();
00246 void (YYCDECL *yymparseaction)();
00247 #endif
00248
00249
00250
00251 YYCONST yystateaction_t YYNEARFAR *yymstateaction;
00252 YYCONST yytokenaction_t YYNEARFAR *yymtokenaction;
00253 int yymtokenaction_size;
00254 YYCONST yystategoto_t YYNEARFAR *yymstategoto;
00255 YYCONST yynontermgoto_t YYNEARFAR *yymnontermgoto;
00256 int yymnontermgoto_size;
00257 YYCONST yytokendest_t YYNEARFAR *yymtokendestptr;
00258 int yymtokendest_size;
00259 int yymtokendestbase;
00260
00261 YYCONST yycstateaction_t YYNEARFAR *yymcstateaction;
00262 YYCONST yyctokenaction_t YYNEARFAR *yymctokenaction;
00263 YYCONST yycstategoto_t YYNEARFAR *yymcstategoto;
00264 YYCONST yycnontermgoto_t YYNEARFAR *yymcnontermgoto;
00265 YYCONST yyctokendest_t YYNEARFAR *yymctokendestptr;
00266
00267 YYCONST yyreduction_t YYNEARFAR *yymreduction;
00268
00269 YYCONST yydestructor_t YYNEARFAR *yymdestructorptr;
00270
00271 void YYFAR *yymdata;
00272
00273
00274 #ifdef YYDEBUG
00275 int yymdebug;
00276 int yymdebugstack;
00277 int yymdebugflush;
00278 FILE YYFAR *yymdebugout;
00279 YYCONST yysymbol_t YYNEARFAR *yymsymbol;
00280 YYCONST char *YYCONST YYNEARFAR *yymrule;
00281 #endif
00282 } yymparse_t;
00283
00284
00285 #ifdef YYPROTOTYPE
00286 int YYCDECL yymcreateparse(yymparse_t YYFAR *yy, YYCONST yymparse_t YYFAR *src);
00287 void YYCDECL yymdestroyparse(yymparse_t YYFAR *yy);
00288 #else
00289 int YYCDECL yymcreateparse();
00290 void YYCDECL yymdestroyparse();
00291 #endif
00292
00293
00294 #ifdef YYPROTOTYPE
00295 int YYCDECL yymcparse(yymparse_t YYFAR *yy);
00296 void YYCDECL yymcwipe(yymparse_t YYFAR *yy);
00297 int YYCDECL yymcwork(yymparse_t YYFAR *yy);
00298 void YYCDECL yymdestructpop(yymparse_t YYFAR *yy, int num);
00299 int YYCDECL yymparse(yymparse_t YYFAR *yy);
00300 void YYCDECL yymparsecleanup(yymparse_t YYFAR *yy);
00301 void YYCDECL yymparseinit(yymparse_t YYFAR *yy);
00302 int YYCDECL yymsetstacksize(yymparse_t YYFAR *yy, int size);
00303 int YYCDECL yymsetup(yymparse_t YYFAR *yy);
00304 void YYCDECL yymwipe(yymparse_t YYFAR *yy);
00305 int YYCDECL yymwork(yymparse_t YYFAR *yy);
00306 #else
00307 int YYCDECL yymcparse();
00308 void YYCDECL yymcwipe();
00309 int YYCDECL yymcwork();
00310 void YYCDECL yymdestructpop();
00311 int YYCDECL yymparse();
00312 void YYCDECL yymparsecleanup();
00313 void YYCDECL yymparseinit();
00314 int YYCDECL yymsetstacksize();
00315 int YYCDECL yymsetup();
00316 void YYCDECL yymwipe();
00317 int YYCDECL yymwork();
00318 #endif
00319
00320
00321 #ifdef YYPROTOTYPE
00322 void YYCDECL yymdiscard(yymparse_t YYFAR *yy, int token);
00323 void YYCDECL yymerror(yymparse_t YYFAR *yy, YYCONST char YYFAR *text);
00324 int YYCDECL yymgettoken(yymparse_t YYFAR *yy);
00325 void YYCDECL yymstackoverflow(yymparse_t YYFAR *yy);
00326 void YYCDECL yymsyntaxerror(yymparse_t YYFAR *yy);
00327 #else
00328 void YYCDECL yymdiscard();
00329 void YYCDECL yymerror();
00330 int YYCDECL yymgettoken();
00331 void YYCDECL yymstackoverflow();
00332 void YYCDECL yymsyntaxerror();
00333 #endif
00334
00335
00336 #ifdef YYPROTOTYPE
00337 void YYCDECL yymcdestructclearin(yymparse_t YYFAR *yy);
00338 void YYCDECL yymdestructclearin(yymparse_t YYFAR *yy);
00339 void YYCDECL yymsetin(yymparse_t YYFAR *yy, int token);
00340 int YYCDECL yymunclearin(yymparse_t YYFAR *yy);
00341 #else
00342 void YYCDECL yymcdestructclearin();
00343 void YYCDECL yymdestructclearin();
00344 void YYCDECL yymsetin();
00345 int YYCDECL yymunclearin();
00346 #endif
00347 #define yymabort(yy) yymexit((yy), 1)
00348 #define yymaccept(yy) yymexit((yy), 0)
00349 #define yymclearin(yy) ((yy)->yymlookahead = 0)
00350 #define yymerrok(yy) yymsetskip((yy), 0)
00351 #define yymexit(yy, exitcode) ((yy)->yymexitflg = 1, (yy)->yymexitcode = (exitcode))
00352 #define yymforceerror(yy) yymthrowerror((yy), 0)
00353 #define yympopping(yy) (yy)->yympopflg
00354 #define yymrecovering(yy) ((yy)->yymskip > 0)
00355 #define yymretire(yy, retirecode) ((yy)->yymretireflg = 1, (yy)->yymretirecode = (retirecode))
00356 #define yymthrowerror(yy, pop) ((yy)->yymerrorflg = 1, (yy)->yymerrorpop = (pop))
00357
00358
00359 #ifdef YYPROTOTYPE
00360 #ifdef YYDEBUG
00361 void YYCDECL yympop(yymparse_t YYFAR *yy, int num);
00362 void YYCDECL yymsetskip(yymparse_t YYFAR *yy, int skip);
00363 #endif
00364 int YYCDECL yympush(yymparse_t YYFAR *yy, yystack_t state);
00365 #else
00366 #ifdef YYDEBUG
00367 void YYCDECL yympop();
00368 void YYCDECL yymsetskip();
00369 #endif
00370 int YYCDECL yympush();
00371 #endif
00372 #ifndef yyassert
00373 #define yyassert(expr) assert(expr)
00374 #endif
00375 #define yympeek(yy) ((yy)->yymstackptr[(yy)->yymtop])
00376 #ifndef YYDEBUG
00377 #define yympop(yy, num) ((yy)->yymtop -= (num))
00378 #define yymsetskip(yy, skip) ((yy)->yymskip = (skip))
00379 #endif
00380
00381
00382 #ifdef YYDEBUG
00383 #ifdef YYPROTOTYPE
00384 YYCONST char *YYCDECL yymtokenstring(yymparse_t YYFAR *yy, int token);
00385 void YYCDECL yymdgettoken(yymparse_t YYFAR *yy, int token);
00386 void YYCDECL yymdshift(yymparse_t YYFAR *yy, int token);
00387 void YYCDECL yymdreduce(yymparse_t YYFAR *yy, int rule);
00388 void YYCDECL yymdsyntaxerror(yymparse_t YYFAR *yy);
00389 void YYCDECL yymdaccept(yymparse_t YYFAR *yy);
00390 void YYCDECL yymdabort(yymparse_t YYFAR *yy);
00391 void YYCDECL yymddiscard(yymparse_t YYFAR *yy, int token);
00392 void YYCDECL yymdexit(yymparse_t YYFAR *yy, int exitcode);
00393 void YYCDECL yymdthrowerror(yymparse_t YYFAR *yy, int errorpop);
00394 void YYCDECL yymdretire(yymparse_t YYFAR *yy, int retirecode);
00395 void YYCDECL yymdattemptrecovery(yymparse_t YYFAR *yy);
00396 void YYCDECL yymparsedebugoutput(yymparse_t YYFAR *yy, YYCONST char *string);
00397 #else
00398 YYCONST char *YYCDECL yymtokenstring();
00399 void YYCDECL yymdgettoken();
00400 void YYCDECL yymdshift();
00401 void YYCDECL yymdreduce();
00402 void YYCDECL yymdsyntaxerror();
00403 void YYCDECL yymdaccept();
00404 void YYCDECL yymdabort();
00405 void YYCDECL yymddiscard();
00406 void YYCDECL yymdexit();
00407 void YYCDECL yymdthrowerror();
00408 void YYCDECL yymdretire();
00409 void YYCDECL yymdattemptrecovery();
00410 void YYCDECL yymparsedebugoutput();
00411 #endif
00412 #endif
00413
00414 #define yymisfastparser(yy) ((yy)->yymstateaction != NULL)
00415 #define yymiscompactparser(yy) ((yy)->yymcstateaction != NULL)
00416
00417
00418 #ifdef YYDEBUG
00419 extern int YYNEAR YYDCDECL yydebug;
00420 extern int YYNEAR YYDCDECL yydebugstack;
00421 extern int YYNEAR YYDCDECL yydebugflush;
00422 #endif
00423
00424 #ifdef __cplusplus
00425 }
00426 #endif
00427
00428
00429 #if defined(YYBUDEFS) || defined(YYUDEFS)
00430 #include <yybudefs.h>
00431 #endif
00432
00433
00434 #include <yybdefs.h>
00435
00436 #endif
00437