source: trunk/src/generated/lolfx-parser.h @ 1590

Last change on this file since 1590 was 1590, checked in by sam, 8 years ago

core: start working on a higher level LolFx compiler based on the latest
GLSL grammar and some personal attempts at writing an HLSL grammar.

  • Property svn:keywords set to Id
File size: 18.7 KB
Line 
1/* A Bison parser, made by GNU Bison 2.5.  */
2
3/* Skeleton interface for Bison LALR(1) parsers in C++
4   
5      Copyright (C) 2002-2011 Free Software Foundation, Inc.
6   
7   This program is free software: you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11   
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16   
17   You should have received a copy of the GNU General Public License
18   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20/* As a special exception, you may create a larger work that contains
21   part or all of the Bison parser skeleton and distribute that work
22   under terms of your choice, so long as that work isn't itself a
23   parser generator using the skeleton or a modified version thereof
24   as a parser skeleton.  Alternatively, if you modify or redistribute
25   the parser skeleton itself, you may (at your option) remove this
26   special exception, which will cause the skeleton and the resulting
27   Bison output files to be licensed under the GNU General Public
28   License without this special exception.
29   
30   This special exception was added by the Free Software Foundation in
31   version 2.2 of Bison.  */
32
33/* C++ LALR(1) parser skeleton written by Akim Demaille.  */
34
35#ifndef PARSER_HEADER_H
36# define PARSER_HEADER_H
37
38
39
40#include <string>
41#include <iostream>
42#include "stack.hh"
43#include "location.hh"
44
45/* Enabling traces.  */
46#ifndef YYDEBUG
47# define YYDEBUG 1
48#endif
49
50/* Enabling verbose error messages.  */
51#ifdef YYERROR_VERBOSE
52# undef YYERROR_VERBOSE
53# define YYERROR_VERBOSE 1
54#else
55# define YYERROR_VERBOSE 1
56#endif
57
58/* Enabling the token table.  */
59#ifndef YYTOKEN_TABLE
60# define YYTOKEN_TABLE 0
61#endif
62
63
64namespace lol {
65
66/* Line 35 of lalr1.cc  */
67#line 68 "generated/lolfx-parser.h"
68
69  /// A Bison parser.
70  class LolFxParser
71  {
72  public:
73    /// Symbol semantic values.
74#ifndef YYSTYPE
75    union semantic_type
76    {
77
78/* Line 35 of lalr1.cc  */
79#line 34 "gpu/lolfx-parser.y"
80
81    int ival;
82    unsigned uval;
83    float fval;
84    char *sval;
85
86
87
88/* Line 35 of lalr1.cc  */
89#line 90 "generated/lolfx-parser.h"
90    };
91#else
92    typedef YYSTYPE semantic_type;
93#endif
94    /// Symbol locations.
95    typedef location location_type;
96    /// Tokens.
97    struct token
98    {
99      /* Tokens.  */
100   enum yytokentype {
101     T_END = 0,
102     BOOLCONSTANT = 258,
103     INTCONSTANT = 259,
104     UINTCONSTANT = 260,
105     FLOATCONSTANT = 261,
106     FIELDSELECTION = 262,
107     IDENTIFIER = 263,
108     TYPENAME = 264,
109     GT_SUBROUTINE = 265,
110     GT_PATCH = 266,
111     GT_SAMPLE = 267,
112     GT_FLAT = 268,
113     GT_SMOOTH = 269,
114     GT_LAYOUT = 270,
115     GT_INVARIANT = 271,
116     GT_HIGHP = 272,
117     GT_MEDIUMP = 273,
118     GT_LOWP = 274,
119     GT_PRECISION = 275,
120     GT_ATTRIBUTE = 276,
121     GT_VEC2 = 277,
122     GT_VEC3 = 278,
123     GT_VEC4 = 279,
124     GT_BVEC2 = 280,
125     GT_BVEC3 = 281,
126     GT_BVEC4 = 282,
127     GT_DVEC2 = 283,
128     GT_DVEC3 = 284,
129     GT_DVEC4 = 285,
130     GT_IVEC2 = 286,
131     GT_IVEC3 = 287,
132     GT_IVEC4 = 288,
133     GT_UVEC2 = 289,
134     GT_UVEC3 = 290,
135     GT_UVEC4 = 291,
136     GT_MAT2 = 292,
137     GT_MAT2X2 = 293,
138     GT_MAT2X3 = 294,
139     GT_MAT2X4 = 295,
140     GT_MAT3 = 296,
141     GT_MAT3X2 = 297,
142     GT_MAT3X3 = 298,
143     GT_MAT3X4 = 299,
144     GT_MAT4 = 300,
145     GT_MAT4X2 = 301,
146     GT_MAT4X3 = 302,
147     GT_MAT4X4 = 303,
148     GT_DMAT2 = 304,
149     GT_DMAT2X2 = 305,
150     GT_DMAT2X3 = 306,
151     GT_DMAT2X4 = 307,
152     GT_DMAT3 = 308,
153     GT_DMAT3X2 = 309,
154     GT_DMAT3X3 = 310,
155     GT_DMAT3X4 = 311,
156     GT_DMAT4 = 312,
157     GT_DMAT4X2 = 313,
158     GT_DMAT4X3 = 314,
159     GT_DMAT4X4 = 315,
160     GT_SAMPLER1DSHADOW = 316,
161     GT_SAMPLER1DARRAY = 317,
162     GT_SAMPLER1DARRAYSHADOW = 318,
163     GT_SAMPLER2DSHADOW = 319,
164     GT_SAMPLER2DARRAY = 320,
165     GT_SAMPLER2DARRAYSHADOW = 321,
166     GT_SAMPLER2DRECT = 322,
167     GT_SAMPLER2DRECTSHADOW = 323,
168     GT_SAMPLER2DMS = 324,
169     GT_SAMPLER2DMSARRAY = 325,
170     GT_SAMPLERCUBESHADOW = 326,
171     GT_SAMPLERCUBEARRAY = 327,
172     GT_SAMPLERCUBEARRAYSHADOW = 328,
173     GT_SAMPLERBUFFER = 329,
174     GT_ISAMPLER1D = 330,
175     GT_ISAMPLER1DARRAY = 331,
176     GT_ISAMPLER2D = 332,
177     GT_ISAMPLER2DARRAY = 333,
178     GT_ISAMPLER2DRECT = 334,
179     GT_ISAMPLER2DMS = 335,
180     GT_ISAMPLER2DMSARRAY = 336,
181     GT_ISAMPLER3D = 337,
182     GT_ISAMPLERCUBE = 338,
183     GT_ISAMPLERCUBEARRAY = 339,
184     GT_ISAMPLERBUFFER = 340,
185     GT_USAMPLER1D = 341,
186     GT_USAMPLER1DARRAY = 342,
187     GT_USAMPLER2D = 343,
188     GT_USAMPLER2DARRAY = 344,
189     GT_USAMPLER2DRECT = 345,
190     GT_USAMPLER2DMS = 346,
191     GT_USAMPLER2DMSARRAY = 347,
192     GT_USAMPLER3D = 348,
193     GT_USAMPLERCUBE = 349,
194     GT_USAMPLERCUBEARRAY = 350,
195     GT_USAMPLERBUFFER = 351,
196     GHT_BOOL = 352,
197     GHT_BREAK = 353,
198     GHT_CASE = 354,
199     GHT_CENTROID = 355,
200     GHT_CONST = 356,
201     GHT_CONTINUE = 357,
202     GHT_DEFAULT = 358,
203     GHT_DISCARD = 359,
204     GHT_DO = 360,
205     GHT_DOUBLE = 361,
206     GHT_ELSE = 362,
207     GHT_FLOAT = 363,
208     GHT_FOR = 364,
209     GHT_IF = 365,
210     GHT_IN = 366,
211     GHT_INOUT = 367,
212     GHT_INT = 368,
213     GHT_NOPERSPECTIVE = 369,
214     GHT_OUT = 370,
215     GHT_RETURN = 371,
216     GHT_SAMPLER1D = 372,
217     GHT_SAMPLER2D = 373,
218     GHT_SAMPLER3D = 374,
219     GHT_SAMPLERCUBE = 375,
220     GHT_STRUCT = 376,
221     GHT_SWITCH = 377,
222     GHT_UINT = 378,
223     GHT_UNIFORM = 379,
224     GHT_VOID = 380,
225     GHT_WHILE = 381,
226     HGT_BOOL = 382,
227     HGT_BREAK = 383,
228     HGT_CASE = 384,
229     HGT_CENTROID = 385,
230     HGT_CONST = 386,
231     HGT_CONTINUE = 387,
232     HGT_DEFAULT = 388,
233     HGT_DISCARD = 389,
234     HGT_DO = 390,
235     HGT_DOUBLE = 391,
236     HGT_ELSE = 392,
237     HGT_FLOAT = 393,
238     HGT_FOR = 394,
239     HGT_IF = 395,
240     HGT_IN = 396,
241     HGT_INOUT = 397,
242     HGT_INT = 398,
243     HGT_NOPERSPECTIVE = 399,
244     HGT_OUT = 400,
245     HGT_RETURN = 401,
246     HGT_SAMPLER1D = 402,
247     HGT_SAMPLER2D = 403,
248     HGT_SAMPLER3D = 404,
249     HGT_SAMPLERCUBE = 405,
250     HGT_STRUCT = 406,
251     HGT_SWITCH = 407,
252     HGT_UINT = 408,
253     HGT_UNIFORM = 409,
254     HGT_VOID = 410,
255     HGT_WHILE = 411,
256     HT_APPENDSTRUCTUREDBUFFER = 412,
257     HT_ASM = 413,
258     HT_ASM_FRAGMENT = 414,
259     HT_BLENDSTATE = 415,
260     HT_BUFFER = 416,
261     HT_BYTEADDRESSBUFFER = 417,
262     HT_CBUFFER = 418,
263     HT_COLUMN_MAJOR = 419,
264     HT_COMPILE = 420,
265     HT_COMPILE_FRAGMENT = 421,
266     HT_COMPILESHADER = 422,
267     HT_COMPUTESHADER = 423,
268     HT_CONSUMESTRUCTUREDBUFFER = 424,
269     HT_DEPTHSTENCILSTATE = 425,
270     HT_DEPTHSTENCILVIEW = 426,
271     HT_DOMAINSHADER = 427,
272     HT_DWORD = 428,
273     HT_EXTERN = 429,
274     HT_FALSE = 430,
275     HT_FXGROUP = 431,
276     HT_GEOMETRYSHADER = 432,
277     HT_GROUPSHARED = 433,
278     HT_HALF = 434,
279     HT_HULLSHADER = 435,
280     HT_INLINE = 436,
281     HT_INPUTPATCH = 437,
282     HT_INTERFACE = 438,
283     HT_LINE = 439,
284     HT_LINEADJ = 440,
285     HT_LINEAR = 441,
286     HT_LINESTREAM = 442,
287     HT_MATRIX = 443,
288     HT_NAMESPACE = 444,
289     HT_NOINTERPOLATION = 445,
290     HT_NULL = 446,
291     HT_OUTPUTPATCH = 447,
292     HT_PACKOFFSET = 448,
293     HT_PASS = 449,
294     HT_PIXELFRAGMENT = 450,
295     HT_PIXELSHADER = 451,
296     HT_POINT = 452,
297     HT_POINTSTREAM = 453,
298     HT_PRECISE = 454,
299     HT_RASTERIZERSTATE = 455,
300     HT_RENDERTARGETVIEW = 456,
301     HT_REGISTER = 457,
302     HT_ROW_MAJOR = 458,
303     HT_RWBUFFER = 459,
304     HT_RWBYTEADDRESSBUFFER = 460,
305     HT_RWSTRUCTUREDBUFFER = 461,
306     HT_RWTEXTURE1D = 462,
307     HT_RWTEXTURE1DARRAY = 463,
308     HT_RWTEXTURE2D = 464,
309     HT_RWTEXTURE2DARRAY = 465,
310     HT_RWTEXTURE3D = 466,
311     HT_SAMPLER = 467,
312     HT_SAMPLER_STATE = 468,
313     HT_SAMPLERSTATE = 469,
314     HT_SAMPLERCOMPARISONSTATE = 470,
315     HT_SHARED = 471,
316     HT_SNORM = 472,
317     HT_STATEBLOCK = 473,
318     HT_STATEBLOCK_STATE = 474,
319     HT_STATIC = 475,
320     HT_STRING = 476,
321     HT_STRUCTUREDBUFFER = 477,
322     HT_TBUFFER = 478,
323     HT_TECHNIQUE = 479,
324     HT_TECHNIQUE10 = 480,
325     HT_TECHNIQUE11XZ = 481,
326     HT_TEXTURE = 482,
327     HT_TEXTURE1D = 483,
328     HT_TEXTURE1DARRAY = 484,
329     HT_TEXTURE2D = 485,
330     HT_TEXTURE2DARRAY = 486,
331     HT_TEXTURE2DMS = 487,
332     HT_TEXTURE2DMSARRAY = 488,
333     HT_TEXTURE3D = 489,
334     HT_TEXTURECUBE = 490,
335     HT_TEXTURECUBEARRAY = 491,
336     HT_TRUE = 492,
337     HT_TYPEDEF = 493,
338     HT_TRIANGLE = 494,
339     HT_TRIANGLEADJ = 495,
340     HT_TRIANGLESTREAM = 496,
341     HT_UNORM = 497,
342     HT_VECTOR = 498,
343     HT_VERTEXFRAGMENT = 499,
344     HT_VERTEXSHADER = 500,
345     HT_VOLATILE = 501,
346     HT_BOOL1 = 502,
347     HT_BOOL1x1 = 503,
348     HT_BOOL2x1 = 504,
349     HT_BOOL3x1 = 505,
350     HT_BOOL4x1 = 506,
351     HT_BOOL2 = 507,
352     HT_BOOL1x2 = 508,
353     HT_BOOL2x2 = 509,
354     HT_BOOL3x2 = 510,
355     HT_BOOL4x2 = 511,
356     HT_BOOL3 = 512,
357     HT_BOOL1x3 = 513,
358     HT_BOOL2x3 = 514,
359     HT_BOOL3x3 = 515,
360     HT_BOOL4x3 = 516,
361     HT_BOOL4 = 517,
362     HT_BOOL1x4 = 518,
363     HT_BOOL2x4 = 519,
364     HT_BOOL3x4 = 520,
365     HT_BOOL4x4 = 521,
366     HT_FLOAT1 = 522,
367     HT_FLOAT1x1 = 523,
368     HT_FLOAT2x1 = 524,
369     HT_FLOAT3x1 = 525,
370     HT_FLOAT4x1 = 526,
371     HT_FLOAT2 = 527,
372     HT_FLOAT1x2 = 528,
373     HT_FLOAT2x2 = 529,
374     HT_FLOAT3x2 = 530,
375     HT_FLOAT4x2 = 531,
376     HT_FLOAT3 = 532,
377     HT_FLOAT1x3 = 533,
378     HT_FLOAT2x3 = 534,
379     HT_FLOAT3x3 = 535,
380     HT_FLOAT4x3 = 536,
381     HT_FLOAT4 = 537,
382     HT_FLOAT1x4 = 538,
383     HT_FLOAT2x4 = 539,
384     HT_FLOAT3x4 = 540,
385     HT_FLOAT4x4 = 541,
386     HT_DOUBLE1 = 542,
387     HT_DOUBLE1x1 = 543,
388     HT_DOUBLE2x1 = 544,
389     HT_DOUBLE3x1 = 545,
390     HT_DOUBLE4x1 = 546,
391     HT_DOUBLE2 = 547,
392     HT_DOUBLE1x2 = 548,
393     HT_DOUBLE2x2 = 549,
394     HT_DOUBLE3x2 = 550,
395     HT_DOUBLE4x2 = 551,
396     HT_DOUBLE3 = 552,
397     HT_DOUBLE1x3 = 553,
398     HT_DOUBLE2x3 = 554,
399     HT_DOUBLE3x3 = 555,
400     HT_DOUBLE4x3 = 556,
401     HT_DOUBLE4 = 557,
402     HT_DOUBLE1x4 = 558,
403     HT_DOUBLE2x4 = 559,
404     HT_DOUBLE3x4 = 560,
405     HT_DOUBLE4x4 = 561,
406     HT_DWORD1 = 562,
407     HT_DWORD1x1 = 563,
408     HT_DWORD2x1 = 564,
409     HT_DWORD3x1 = 565,
410     HT_DWORD4x1 = 566,
411     HT_DWORD2 = 567,
412     HT_DWORD1x2 = 568,
413     HT_DWORD2x2 = 569,
414     HT_DWORD3x2 = 570,
415     HT_DWORD4x2 = 571,
416     HT_DWORD3 = 572,
417     HT_DWORD1x3 = 573,
418     HT_DWORD2x3 = 574,
419     HT_DWORD3x3 = 575,
420     HT_DWORD4x3 = 576,
421     HT_DWORD4 = 577,
422     HT_DWORD1x4 = 578,
423     HT_DWORD2x4 = 579,
424     HT_DWORD3x4 = 580,
425     HT_DWORD4x4 = 581,
426     HT_INT1 = 582,
427     HT_INT1x1 = 583,
428     HT_INT2x1 = 584,
429     HT_INT3x1 = 585,
430     HT_INT4x1 = 586,
431     HT_INT2 = 587,
432     HT_INT1x2 = 588,
433     HT_INT2x2 = 589,
434     HT_INT3x2 = 590,
435     HT_INT4x2 = 591,
436     HT_INT3 = 592,
437     HT_INT1x3 = 593,
438     HT_INT2x3 = 594,
439     HT_INT3x3 = 595,
440     HT_INT4x3 = 596,
441     HT_INT4 = 597,
442     HT_INT1x4 = 598,
443     HT_INT2x4 = 599,
444     HT_INT3x4 = 600,
445     HT_INT4x4 = 601,
446     HT_UINT1 = 602,
447     HT_UINT1x1 = 603,
448     HT_UINT2x1 = 604,
449     HT_UINT3x1 = 605,
450     HT_UINT4x1 = 606,
451     HT_UINT2 = 607,
452     HT_UINT1x2 = 608,
453     HT_UINT2x2 = 609,
454     HT_UINT3x2 = 610,
455     HT_UINT4x2 = 611,
456     HT_UINT3 = 612,
457     HT_UINT1x3 = 613,
458     HT_UINT2x3 = 614,
459     HT_UINT3x3 = 615,
460     HT_UINT4x3 = 616,
461     HT_UINT4 = 617,
462     HT_UINT1x4 = 618,
463     HT_UINT2x4 = 619,
464     HT_UINT3x4 = 620,
465     HT_UINT4x4 = 621,
466     PREPROCESSOR_DEFINE = 622,
467     PREPROCESSOR_ELIF = 623,
468     PREPROCESSOR_ELSE = 624,
469     PREPROCESSOR_ENDIF = 625,
470     PREPROCESSOR_ERROR = 626,
471     PREPROCESSOR_IF = 627,
472     PREPROCESSOR_IFDEF = 628,
473     PREPROCESSOR_IFNDEF = 629,
474     PREPROCESSOR_INCLUDE = 630,
475     PREPROCESSOR_LINE = 631,
476     PREPROCESSOR_PRAGMA = 632,
477     PREPROCESSOR_UNDEF = 633,
478     PREPROCESSOR_REGION = 634,
479     PRAGMA_LOLFX = 635,
480     HT_AUTO = 636,
481     HT_CATCH = 637,
482     HT_CHAR = 638,
483     HT_CLASS = 639,
484     HT_CONST_CAST = 640,
485     HT_DELETE = 641,
486     HT_DYNAMIC_CAST = 642,
487     HT_ENUM = 643,
488     HT_EXPLICIT = 644,
489     HT_FRIEND = 645,
490     HT_GOTO = 646,
491     HT_LONG = 647,
492     HT_MUTABLE = 648,
493     HT_NEW = 649,
494     HT_OPERATOR = 650,
495     HT_PRIVATE = 651,
496     HT_PROTECTED = 652,
497     HT_PUBLIC = 653,
498     HT_REINTERPRET_CAST = 654,
499     HT_SHORT = 655,
500     HT_SIGNED = 656,
501     HT_SIZEOF = 657,
502     HT_STATIC_CAST = 658,
503     HT_TEMPLATE = 659,
504     HT_THIS = 660,
505     HT_THROW = 661,
506     HT_TRY = 662,
507     HT_TYPENAME = 663,
508     HT_UNION = 664,
509     HT_UNSIGNED = 665,
510     HT_USING = 666,
511     HT_VIRTUAL = 667,
512     T_INC = 668,
513     T_DEC = 669,
514     T_LE = 670,
515     T_GE = 671,
516     T_EQ = 672,
517     T_NE = 673,
518     T_LEFT = 674,
519     T_RIGHT = 675,
520     T_AND = 676,
521     T_OR = 677,
522     T_XOR = 678,
523     T_MULEQ = 679,
524     T_DIVEQ = 680,
525     T_MODEQ = 681,
526     T_ADDEQ = 682,
527     T_SUBEQ = 683,
528     T_LEFTEQ = 684,
529     T_RIGHTEQ = 685,
530     T_ANDEQ = 686,
531     T_XOREQ = 687,
532     T_OREQ = 688,
533     FLOAT = 689,
534     STRING = 690,
535     NAME = 691,
536     T_ERROR = 692
537   };
538
539    };
540    /// Token type.
541    typedef token::yytokentype token_type;
542
543    /// Build a parser object.
544    LolFxParser (class LolFxCompiler& mc_yyarg);
545    virtual ~LolFxParser ();
546
547    /// Parse.
548    /// \returns  0 iff parsing succeeded.
549    virtual int parse ();
550
551#if YYDEBUG
552    /// The current debugging stream.
553    std::ostream& debug_stream () const;
554    /// Set the current debugging stream.
555    void set_debug_stream (std::ostream &);
556
557    /// Type for debugging levels.
558    typedef int debug_level_type;
559    /// The current debugging level.
560    debug_level_type debug_level () const;
561    /// Set the current debugging level.
562    void set_debug_level (debug_level_type l);
563#endif
564
565  private:
566    /// Report a syntax error.
567    /// \param loc    where the syntax error is found.
568    /// \param msg    a description of the syntax error.
569    virtual void error (const location_type& loc, const std::string& msg);
570
571    /// Generate an error message.
572    /// \param state   the state where the error occurred.
573    /// \param tok     the lookahead token.
574    virtual std::string yysyntax_error_ (int yystate, int tok);
575
576#if YYDEBUG
577    /// \brief Report a symbol value on the debug stream.
578    /// \param yytype       The token type.
579    /// \param yyvaluep     Its semantic value.
580    /// \param yylocationp  Its location.
581    virtual void yy_symbol_value_print_ (int yytype,
582                                         const semantic_type* yyvaluep,
583                                         const location_type* yylocationp);
584    /// \brief Report a symbol on the debug stream.
585    /// \param yytype       The token type.
586    /// \param yyvaluep     Its semantic value.
587    /// \param yylocationp  Its location.
588    virtual void yy_symbol_print_ (int yytype,
589                                   const semantic_type* yyvaluep,
590                                   const location_type* yylocationp);
591#endif
592
593
594    /// State numbers.
595    typedef int state_type;
596    /// State stack type.
597    typedef stack<state_type>    state_stack_type;
598    /// Semantic value stack type.
599    typedef stack<semantic_type> semantic_stack_type;
600    /// location stack type.
601    typedef stack<location_type> location_stack_type;
602
603    /// The state stack.
604    state_stack_type yystate_stack_;
605    /// The semantic value stack.
606    semantic_stack_type yysemantic_stack_;
607    /// The location stack.
608    location_stack_type yylocation_stack_;
609
610    /// Whether the given \c yypact_ value indicates a defaulted state.
611    /// \param yyvalue   the value to check
612    static bool yy_pact_value_is_default_ (int yyvalue);
613
614    /// Whether the given \c yytable_ value indicates a syntax error.
615    /// \param yyvalue   the value to check
616    static bool yy_table_value_is_error_ (int yyvalue);
617
618    /// Internal symbol numbers.
619    typedef unsigned short int token_number_type;
620    /* Tables.  */
621    /// For a state, the index in \a yytable_ of its portion.
622    static const short int yypact_[];
623    static const short int yypact_ninf_;
624
625    /// For a state, default reduction number.
626    /// Unless\a  yytable_ specifies something else to do.
627    /// Zero means the default is an error.
628    static const unsigned short int yydefact_[];
629
630    static const short int yypgoto_[];
631    static const short int yydefgoto_[];
632
633    /// What to do in a state.
634    /// \a yytable_[yypact_[s]]: what to do in state \a s.
635    /// - if positive, shift that token.
636    /// - if negative, reduce the rule which number is the opposite.
637    /// - if zero, do what YYDEFACT says.
638    static const short int yytable_[];
639    static const short int yytable_ninf_;
640
641    static const short int yycheck_[];
642
643    /// For a state, its accessing symbol.
644    static const unsigned short int yystos_[];
645
646    /// For a rule, its LHS.
647    static const unsigned short int yyr1_[];
648    /// For a rule, its RHS length.
649    static const unsigned char yyr2_[];
650
651#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
652    /// For a symbol, its name in clear.
653    static const char* const yytname_[];
654#endif
655
656    /// Convert the symbol name \a n to a form suitable for a diagnostic.
657    static std::string yytnamerr_ (const char *n);
658
659#if YYDEBUG
660    /// A type to store symbol numbers and -1.
661    typedef short int rhs_number_type;
662    /// A `-1'-separated list of the rules' RHS.
663    static const rhs_number_type yyrhs_[];
664    /// For each rule, the index of the first RHS symbol in \a yyrhs_.
665    static const unsigned short int yyprhs_[];
666    /// For each rule, its source line number.
667    static const unsigned short int yyrline_[];
668    /// For each scanner token number, its symbol number.
669    static const unsigned short int yytoken_number_[];
670    /// Report on the debug stream that the rule \a r is going to be reduced.
671    virtual void yy_reduce_print_ (int r);
672    /// Print the state stack on the debug stream.
673    virtual void yystack_print_ ();
674
675    /* Debugging.  */
676    int yydebug_;
677    std::ostream* yycdebug_;
678#endif
679
680    /// Convert a scanner token number \a t to a symbol number.
681    token_number_type yytranslate_ (int t);
682
683    /// \brief Reclaim the memory associated to a symbol.
684    /// \param yymsg        Why this token is reclaimed.
685    /// \param yytype       The symbol type.
686    /// \param yyvaluep     Its semantic value.
687    /// \param yylocationp  Its location.
688    inline void yydestruct_ (const char* yymsg,
689                             int yytype,
690                             semantic_type* yyvaluep,
691                             location_type* yylocationp);
692
693    /// Pop \a n symbols the three stacks.
694    inline void yypop_ (unsigned int n = 1);
695
696    /* Constants.  */
697    static const int yyeof_;
698    /* LAST_ -- Last index in TABLE_.  */
699    static const int yylast_;
700    static const int yynnts_;
701    static const int yyempty_;
702    static const int yyfinal_;
703    static const int yyterror_;
704    static const int yyerrcode_;
705    static const int yyntokens_;
706    static const unsigned int yyuser_token_number_max_;
707    static const token_number_type yyundef_token_;
708
709    /* User arguments.  */
710    class LolFxCompiler& mc;
711  };
712
713} // lol
714
715/* Line 35 of lalr1.cc  */
716#line 717 "generated/lolfx-parser.h"
717
718
719
720#endif /* ! defined PARSER_HEADER_H */
Note: See TracBrowser for help on using the repository browser.