* src/compiler/harbour.y
* src/macro/macro.y
* disabled 4244 and 4702 warnings in MSVC builds - this warnings are
from code generated by bison and they are out of our direct control
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* src/macro/macro.yyc
* src/macro/macro.yyh
* regenerated
215 lines
5.3 KiB
Plaintext
215 lines
5.3 KiB
Plaintext
/* A Bison parser, made by GNU Bison 3.0.2. */
|
|
|
|
/* Bison interface for Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
#ifndef YY_HB_COMP_YY_HARBOURY_H_INCLUDED
|
|
# define YY_HB_COMP_YY_HARBOURY_H_INCLUDED
|
|
/* Debug traces. */
|
|
#ifndef YYDEBUG
|
|
# define YYDEBUG 0
|
|
#endif
|
|
#if YYDEBUG
|
|
extern int hb_comp_yydebug;
|
|
#endif
|
|
|
|
/* Token type. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
enum yytokentype
|
|
{
|
|
FUNCTION = 258,
|
|
PROCEDURE = 259,
|
|
IDENTIFIER = 260,
|
|
RETURN = 261,
|
|
NIL = 262,
|
|
NUM_DOUBLE = 263,
|
|
INASSIGN = 264,
|
|
NUM_LONG = 265,
|
|
LOCAL = 266,
|
|
STATIC = 267,
|
|
IIF = 268,
|
|
IF = 269,
|
|
ELSE = 270,
|
|
ELSEIF = 271,
|
|
END = 272,
|
|
ENDIF = 273,
|
|
LITERAL = 274,
|
|
TRUEVALUE = 275,
|
|
FALSEVALUE = 276,
|
|
ANNOUNCE = 277,
|
|
EXTERN = 278,
|
|
DYNAMIC = 279,
|
|
INIT = 280,
|
|
EXIT = 281,
|
|
AND = 282,
|
|
OR = 283,
|
|
NOT = 284,
|
|
PUBLIC = 285,
|
|
EQ = 286,
|
|
NE1 = 287,
|
|
NE2 = 288,
|
|
INC = 289,
|
|
DEC = 290,
|
|
ALIASOP = 291,
|
|
DOCASE = 292,
|
|
CASE = 293,
|
|
OTHERWISE = 294,
|
|
ENDCASE = 295,
|
|
ENDDO = 296,
|
|
MEMVAR = 297,
|
|
WHILE = 298,
|
|
LOOP = 299,
|
|
FOR = 300,
|
|
NEXT = 301,
|
|
TO = 302,
|
|
STEP = 303,
|
|
LE = 304,
|
|
GE = 305,
|
|
FIELD = 306,
|
|
IN = 307,
|
|
PARAMETERS = 308,
|
|
PLUSEQ = 309,
|
|
MINUSEQ = 310,
|
|
MULTEQ = 311,
|
|
DIVEQ = 312,
|
|
POWER = 313,
|
|
EXPEQ = 314,
|
|
MODEQ = 315,
|
|
PRIVATE = 316,
|
|
BEGINSEQ = 317,
|
|
BREAK = 318,
|
|
RECOVER = 319,
|
|
RECOVERUSING = 320,
|
|
ALWAYS = 321,
|
|
ENDSEQ = 322,
|
|
DO = 323,
|
|
WITH = 324,
|
|
SELF = 325,
|
|
LINE = 326,
|
|
MACROVAR = 327,
|
|
MACROTEXT = 328,
|
|
AS_ARRAY = 329,
|
|
AS_BLOCK = 330,
|
|
AS_CHARACTER = 331,
|
|
AS_CLASS = 332,
|
|
AS_DATE = 333,
|
|
AS_LOGICAL = 334,
|
|
AS_NUMERIC = 335,
|
|
AS_OBJECT = 336,
|
|
AS_VARIANT = 337,
|
|
DECLARE = 338,
|
|
OPTIONAL = 339,
|
|
DECLARE_CLASS = 340,
|
|
DECLARE_MEMBER = 341,
|
|
AS_ARRAY_ARRAY = 342,
|
|
AS_BLOCK_ARRAY = 343,
|
|
AS_CHARACTER_ARRAY = 344,
|
|
AS_CLASS_ARRAY = 345,
|
|
AS_DATE_ARRAY = 346,
|
|
AS_LOGICAL_ARRAY = 347,
|
|
AS_NUMERIC_ARRAY = 348,
|
|
AS_OBJECT_ARRAY = 349,
|
|
PROCREQ = 350,
|
|
CBSTART = 351,
|
|
DOIDENT = 352,
|
|
FOREACH = 353,
|
|
DESCEND = 354,
|
|
DOSWITCH = 355,
|
|
ENDSWITCH = 356,
|
|
WITHOBJECT = 357,
|
|
ENDWITH = 358,
|
|
NUM_DATE = 359,
|
|
TIMESTAMP = 360,
|
|
EPSILON = 361,
|
|
HASHOP = 362,
|
|
THREAD = 363,
|
|
POST = 364,
|
|
UNARY = 365,
|
|
PRE = 366
|
|
};
|
|
#endif
|
|
|
|
/* Value type. */
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
typedef union YYSTYPE YYSTYPE;
|
|
union YYSTYPE
|
|
{
|
|
#line 124 "harbour.y" /* yacc.c:1909 */
|
|
|
|
const char * string; /* to hold a string returned by lex */
|
|
int iNumber; /* to hold a temporary integer number */
|
|
HB_SIZE sNumber; /* to hold a temporary HB_SIZE values */
|
|
HB_MAXINT lNumber; /* to hold a temporary long number */
|
|
HB_BOOL bTrue;
|
|
PHB_EXPR asExpr;
|
|
void * pVoid; /* to hold any memory structure we may need */
|
|
struct
|
|
{
|
|
HB_MAXINT lNumber; /* to hold a long number returned by lex */
|
|
HB_UCHAR bWidth; /* to hold the width of the value */
|
|
} valLong;
|
|
struct
|
|
{
|
|
double dNumber; /* to hold a double number returned by lex */
|
|
HB_UCHAR bWidth; /* to hold the width of the value */
|
|
HB_UCHAR bDec; /* to hold the number of decimal points in the value */
|
|
} valDouble;
|
|
struct
|
|
{
|
|
long date;
|
|
long time;
|
|
} valTimeStamp;
|
|
struct
|
|
{
|
|
char * string;
|
|
HB_SIZE length;
|
|
HB_BOOL dealloc;
|
|
} valChar;
|
|
struct
|
|
{
|
|
char * string;
|
|
HB_SIZE length;
|
|
int flags; /* Flag for early {|| ¯o} (1) or late {|| &(macro)} (2) binding */
|
|
} asCodeblock;
|
|
PHB_VARTYPE asVarType;
|
|
|
|
#line 205 "harboury.h" /* yacc.c:1909 */
|
|
};
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
|
|
int hb_comp_yyparse (PHB_COMP pComp);
|
|
|
|
#endif /* !YY_HB_COMP_YY_HARBOURY_H_INCLUDED */
|