Eneboo - Documentación para desarrolladores
src/qsa/src/engine/grammar.h
Ir a la documentación de este archivo.
00001 
00002 /* A Bison parser, made by GNU Bison 2.4.1.  */
00003 
00004 /* Skeleton interface for Bison's Yacc-like parsers in C
00005    
00006       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
00007    Free Software Foundation, Inc.
00008    
00009    This program is free software: you can redistribute it and/or modify
00010    it under the terms of the GNU General Public License as published by
00011    the Free Software Foundation, either version 3 of the License, or
00012    (at your option) any later version.
00013    
00014    This program is distributed in the hope that it will be useful,
00015    but WITHOUT ANY WARRANTY; without even the implied warranty of
00016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017    GNU General Public License for more details.
00018    
00019    You should have received a copy of the GNU General Public License
00020    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00021 
00022 /* As a special exception, you may create a larger work that contains
00023    part or all of the Bison parser skeleton and distribute that work
00024    under terms of your choice, so long as that work isn't itself a
00025    parser generator using the skeleton or a modified version thereof
00026    as a parser skeleton.  Alternatively, if you modify or redistribute
00027    the parser skeleton itself, you may (at your option) remove this
00028    special exception, which will cause the skeleton and the resulting
00029    Bison output files to be licensed under the GNU General Public
00030    License without this special exception.
00031    
00032    This special exception was added by the Free Software Foundation in
00033    version 2.2 of Bison.  */
00034 
00035 
00036 /* Tokens.  */
00037 #ifndef YYTOKENTYPE
00038 # define YYTOKENTYPE
00039    /* Put the tokens into the symbol table, so that GDB and other debuggers
00040       know about them.  */
00041    enum yytokentype {
00042      NULLTOKEN = 258,
00043      TRUETOKEN = 259,
00044      FALSETOKEN = 260,
00045      BREAK = 261,
00046      CASE = 262,
00047      DEFAULT = 263,
00048      FOR = 264,
00049      NEW = 265,
00050      VAR = 266,
00051      CONTINUE = 267,
00052      FUNCTION = 268,
00053      RETURN = 269,
00054      QS_VOID = 270,
00055      QS_DELETE = 271,
00056      IF = 272,
00057      THIS = 273,
00058      DO = 274,
00059      WHILE = 275,
00060      ELSE = 276,
00061      QS_IN = 277,
00062      INSTANCEOF = 278,
00063      TYPEOF = 279,
00064      IS = 280,
00065      SWITCH = 281,
00066      WITH = 282,
00067      RESERVED = 283,
00068      THROW = 284,
00069      TRY = 285,
00070      CATCH = 286,
00071      FINALLY = 287,
00072      CLASS = 288,
00073      CONSTRUCTOR = 289,
00074      EXTENDS = 290,
00075      ABSTRACT = 291,
00076      FINAL = 292,
00077      PRIVATE = 293,
00078      PUBLIC = 294,
00079      STATIC = 295,
00080      QS_CONST = 296,
00081      PACKAGE = 297,
00082      IMPORT = 298,
00083      IF_WITHOUT_ELSE = 299,
00084      EQEQ = 300,
00085      NE = 301,
00086      STREQ = 302,
00087      STRNEQ = 303,
00088      LE = 304,
00089      GE = 305,
00090      OR = 306,
00091      AND = 307,
00092      PLUSPLUS = 308,
00093      MINUSMINUS = 309,
00094      LSHIFT = 310,
00095      RSHIFT = 311,
00096      URSHIFT = 312,
00097      PLUSEQUAL = 313,
00098      MINUSEQUAL = 314,
00099      MULTEQUAL = 315,
00100      DIVEQUAL = 316,
00101      LSHIFTEQUAL = 317,
00102      RSHIFTEQUAL = 318,
00103      URSHIFTEQUAL = 319,
00104      ANDEQUAL = 320,
00105      MODEQUAL = 321,
00106      XOREQUAL = 322,
00107      OREQUAL = 323,
00108      NUMBER = 324,
00109      STRING = 325,
00110      IDENT = 326
00111    };
00112 #endif
00113 
00114 
00115 
00116 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00117 typedef union YYSTYPE
00118 {
00119 
00120 /* Line 1676 of yacc.c  */
00121 #line 57 "grammar.y"
00122 
00123   int                   ival;
00124   double                dval;
00125   const QString         *ustr;
00126   QSNode                *node;
00127   QSStatementNode       *stat;
00128   QSParameterNode       *param;
00129   QSFunctionBodyNode    *body;
00130   QSFuncDeclNode        *func;
00131   QSClassDefNode        *clss;
00132   QSProgramNode         *prog;
00133   QSAssignExprNode      *init;
00134   QSSourceElementNode   *src;
00135   QSSourceElementsNode  *srcs;
00136   QSStatListNode        *slist;
00137   QSArgumentsNode       *args;
00138   QSArgumentListNode    *alist;
00139   QSCaseBlockNode       *cblk;
00140   QSClauseListNode      *clist;
00141   QSCaseClauseNode      *ccl;
00142   QSElementNode         *elm;
00143   QSElisionNode         *eli;
00144   QSTypeNode            *type;
00145   QSTypedVarNode        *tvar;
00146   QSVarBindingNode      *vbin;
00147   QSVarBindingListNode  *blist;
00148   QSAttributeNode       *attrs;
00149   QSAttribute            attr;
00150   Operator               op;
00151 
00152 
00153 
00154 /* Line 1676 of yacc.c  */
00155 #line 156 "grammar.tab.h"
00156 } YYSTYPE;
00157 # define YYSTYPE_IS_TRIVIAL 1
00158 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
00159 # define YYSTYPE_IS_DECLARED 1
00160 #endif
00161 
00162 extern YYSTYPE qsyylval;
00163 
00164 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
00165 typedef struct YYLTYPE
00166 {
00167   int first_line;
00168   int first_column;
00169   int last_line;
00170   int last_column;
00171 } YYLTYPE;
00172 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
00173 # define YYLTYPE_IS_DECLARED 1
00174 # define YYLTYPE_IS_TRIVIAL 1
00175 #endif
00176 
00177 extern YYLTYPE qsyylloc;
00178 
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'