* contrib/gtalleg/gtallegd.c
* contrib/hbamf/amfdec.c
* contrib/hbamf/amfenc.c
* contrib/hbbz2/core.c
* contrib/hbbz2io/bz2io.c
* contrib/hbct/atrepl.c
* contrib/hbct/charrepl.c
* contrib/hbct/envparam.c
* contrib/hbct/pack.c
* contrib/hbct/token2.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbgs/core.c
* contrib/hbgzio/gzio.c
* contrib/hbhpdf/core.c
* contrib/hbhpdf/image.c
* contrib/hbmlzo/core.c
* contrib/hbmxml/core.c
* contrib/hbodbc/odbc.c
* contrib/hbsqlit3/core.c
* contrib/hbssl/bio.c
* contrib/hbssl/ssl.c
* contrib/rddads/ads1.c
* contrib/rddads/adsfunc.c
* contrib/rddads/adsmgmnt.c
* contrib/rddads/adsx.c
* contrib/rddads/rddads.h
* contrib/sddodbc/core.c
* contrib/xhb/cstructc.c
* include/hbapi.h
* include/hbdefs.h
* src/common/expropt1.c
* src/common/expropt2.c
* src/common/hbmem.c
* src/compiler/complex.c
* src/compiler/harbour.y
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* src/compiler/hbident.c
* src/macro/macrolex.c
* src/nortl/nortl.c
* src/pp/ppcore.c
* src/rdd/hbsix/sxcompr.c
* src/rdd/hbsix/sxfname.c
* src/rdd/usrrdd/usrrdd.c
* src/rtl/cdpapi.c
* src/rtl/filebuf.c
* src/rtl/filesys.c
* src/rtl/fslink.c
* src/rtl/gtcrs/gtcrs.c
* src/rtl/gtsln/gtsln.c
* src/rtl/gtsln/mousesln.c
* src/rtl/gtxwc/gtxwc.c
* src/rtl/hbbfsock.c
* src/rtl/hbgtcore.c
* src/rtl/hbsocket.c
* src/rtl/hbzlib.c
* src/rtl/hbznet.c
* src/rtl/hbzsock.c
* src/rtl/iousr.c
* src/rtl/langapi.c
* src/vm/cmdarg.c
* src/vm/codebloc.c
* src/vm/hvm.c
* src/vm/itemapi.c
* src/vm/macro.c
* src/vm/set.c
* src/vm/strapi.c
* cleaned const qualifier dropping
! fixed few bugs I found analyzing related code
; I left untouched two places in HBSSL which IMO should be fixed yet
8012 lines
352 KiB
Plaintext
8012 lines
352 KiB
Plaintext
/* A Bison parser, made by GNU Bison 3.0.2. */
|
|
|
|
/* Bison implementation 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. */
|
|
|
|
/* C LALR(1) parser skeleton written by Richard Stallman, by
|
|
simplifying the original so-called "semantic" parser. */
|
|
|
|
/* All symbols defined below should begin with yy or YY, to avoid
|
|
infringing on user name space. This should be done even for local
|
|
variables, as they might otherwise be expanded by user macros.
|
|
There are some unavoidable exceptions within include files to
|
|
define necessary library symbols; they are noted "INFRINGES ON
|
|
USER NAME SPACE" below. */
|
|
|
|
/* Identify Bison output. */
|
|
#define YYBISON 1
|
|
|
|
/* Bison version. */
|
|
#define YYBISON_VERSION "3.0.2"
|
|
|
|
/* Skeleton name. */
|
|
#define YYSKELETON_NAME "yacc.c"
|
|
|
|
/* Pure parsers. */
|
|
#define YYPURE 1
|
|
|
|
/* Push parsers. */
|
|
#define YYPUSH 0
|
|
|
|
/* Pull parsers. */
|
|
#define YYPULL 1
|
|
|
|
|
|
/* Substitute the variable and function names. */
|
|
#define yyparse hb_comp_yyparse
|
|
#define yylex hb_comp_yylex
|
|
#define yyerror hb_comp_yyerror
|
|
#define yydebug hb_comp_yydebug
|
|
#define yynerrs hb_comp_yynerrs
|
|
|
|
|
|
/* Copy the first part of user declarations. */
|
|
#line 5 "harbour.y" /* yacc.c:339 */
|
|
|
|
/*
|
|
* Compiler YACC rules and actions
|
|
*
|
|
* Copyright 1999 Antonio Linares <alinares@fivetech.com>
|
|
*
|
|
* 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 2 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, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
|
|
* their web site at http://www.gnu.org/).
|
|
*
|
|
*/
|
|
|
|
/* TODO list
|
|
* 1) Change the pcode generated by ::cVar from Self:cVar to QSELF():cVar
|
|
* The major problem to solve is how to support QSELF() inside a codeblock.
|
|
*/
|
|
|
|
|
|
#include "hbcomp.h"
|
|
|
|
/* Compile using: bison -d -v harbour.y */
|
|
|
|
/* to pacify some meaningless warnings */
|
|
#if defined( __BORLANDC__ )
|
|
# if ! defined( __STDC__ )
|
|
# define __STDC__
|
|
# endif
|
|
# pragma warn -aus
|
|
# pragma warn -ccc
|
|
# pragma warn -rch
|
|
#elif defined( __WATCOMC__ )
|
|
# pragma warning 13 9
|
|
# pragma warning 368 9
|
|
#elif defined( _MSC_VER )
|
|
# pragma warning( disable : 4244 )
|
|
# pragma warning( disable : 4702 )
|
|
#endif
|
|
|
|
#undef alloca
|
|
#define alloca hb_xgrab
|
|
#undef malloc
|
|
#define malloc hb_xgrab
|
|
#undef realloc
|
|
#define realloc hb_xrealloc
|
|
#undef free
|
|
#define free hb_xfree
|
|
|
|
/* NOTE: these symbols are used internally in bison.simple
|
|
*/
|
|
#undef YYFREE
|
|
#define YYFREE hb_xfree
|
|
#undef YYMALLOC
|
|
#define YYMALLOC hb_xgrab
|
|
|
|
#define NO_YYERROR
|
|
|
|
/* NOTE: these symbols are defined explicitly to pacify warnings */
|
|
#define YYENABLE_NLS 0
|
|
#define YYLTYPE_IS_TRIVIAL 0
|
|
|
|
/* NOTE: increase the maximum size of bison stack size */
|
|
#define YYMAXDEPTH 100000
|
|
|
|
static void hb_compLoopStart( HB_COMP_DECL, HB_BOOL );
|
|
static void hb_compLoopEnd( HB_COMP_DECL );
|
|
static void hb_compLoopLoop( HB_COMP_DECL );
|
|
static void hb_compLoopExit( HB_COMP_DECL );
|
|
static void hb_compLoopHere( HB_COMP_DECL );
|
|
static long hb_compLoopCount( HB_COMP_DECL );
|
|
|
|
static void * hb_compElseIfGen( HB_COMP_DECL, void * pFirstElseIf, HB_SIZE nOffset ); /* generates a support structure for elseifs pcode fixups */
|
|
static void hb_compElseIfFix( HB_COMP_DECL, void * pIfElseIfs ); /* implements the ElseIfs pcode fixups */
|
|
|
|
static void hb_compRTVariableAdd( HB_COMP_DECL, PHB_EXPR, HB_BOOL );
|
|
static void hb_compRTVariableGen( HB_COMP_DECL, const char * );
|
|
|
|
static PHB_EXPR hb_compArrayDimPush( PHB_EXPR pInitValue, HB_COMP_DECL );
|
|
static void hb_compVariableDim( const char *, PHB_EXPR, HB_COMP_DECL );
|
|
|
|
static void hb_compForStart( HB_COMP_DECL, const char *szVarName, int iForEachDir );
|
|
static void hb_compForEnd( HB_COMP_DECL, const char *szVarName );
|
|
static void hb_compEnumStart( HB_COMP_DECL, PHB_EXPR pVars, PHB_EXPR pExprs, int descend );
|
|
static void hb_compEnumNext( HB_COMP_DECL, PHB_EXPR pExpr, int descend );
|
|
static void hb_compEnumEnd( HB_COMP_DECL, PHB_EXPR pExpr );
|
|
|
|
static void hb_compSwitchStart( HB_COMP_DECL, PHB_EXPR );
|
|
static void hb_compSwitchAdd( HB_COMP_DECL, PHB_EXPR );
|
|
static void hb_compSwitchEnd( HB_COMP_DECL );
|
|
|
|
static PHB_EXPR hb_compCheckMethod( HB_COMP_DECL, PHB_EXPR pExpr );
|
|
static PHB_EXPR hb_compCheckPassByRef( HB_COMP_DECL, PHB_EXPR pExpr );
|
|
|
|
#ifdef HB_YYDEBUG
|
|
#define YYDEBUG 1 /* Parser debug information support */
|
|
#endif
|
|
|
|
/* Controls if passing by reference '@' is allowed */
|
|
#define HB_PASSBYREF_OFF 0
|
|
#define HB_PASSBYREF_FUNCALL 1
|
|
#define HB_PASSBYREF_ARRAY 2
|
|
|
|
static void hb_compDebugStart( void ) { }
|
|
|
|
|
|
#line 188 "harboury.c" /* yacc.c:339 */
|
|
|
|
# ifndef YY_NULLPTR
|
|
# if defined __cplusplus && 201103L <= __cplusplus
|
|
# define YY_NULLPTR nullptr
|
|
# else
|
|
# define YY_NULLPTR 0
|
|
# endif
|
|
# endif
|
|
|
|
/* Enabling verbose error messages. */
|
|
#ifdef YYERROR_VERBOSE
|
|
# undef YYERROR_VERBOSE
|
|
# define YYERROR_VERBOSE 1
|
|
#else
|
|
# define YYERROR_VERBOSE 0
|
|
#endif
|
|
|
|
/* In a future release of Bison, this section will be replaced
|
|
by #include "harboury.h". */
|
|
#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 122 "harbour.y" /* yacc.c:355 */
|
|
|
|
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 379 "harboury.c" /* yacc.c:355 */
|
|
};
|
|
# 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 */
|
|
|
|
/* Copy the second part of user declarations. */
|
|
#line 161 "harbour.y" /* yacc.c:358 */
|
|
|
|
/* This must be placed after the above union - the union is
|
|
* typedef-ined to YYSTYPE
|
|
*/
|
|
extern int yylex( YYSTYPE *, HB_COMP_DECL ); /* main lex token function, called by yyparse() */
|
|
extern void yyerror( HB_COMP_DECL, const char * ); /* parsing error management function */
|
|
|
|
#line 400 "harboury.c" /* yacc.c:358 */
|
|
|
|
#ifdef short
|
|
# undef short
|
|
#endif
|
|
|
|
#ifdef YYTYPE_UINT8
|
|
typedef YYTYPE_UINT8 yytype_uint8;
|
|
#else
|
|
typedef unsigned char yytype_uint8;
|
|
#endif
|
|
|
|
#ifdef YYTYPE_INT8
|
|
typedef YYTYPE_INT8 yytype_int8;
|
|
#else
|
|
typedef signed char yytype_int8;
|
|
#endif
|
|
|
|
#ifdef YYTYPE_UINT16
|
|
typedef YYTYPE_UINT16 yytype_uint16;
|
|
#else
|
|
typedef unsigned short int yytype_uint16;
|
|
#endif
|
|
|
|
#ifdef YYTYPE_INT16
|
|
typedef YYTYPE_INT16 yytype_int16;
|
|
#else
|
|
typedef short int yytype_int16;
|
|
#endif
|
|
|
|
#ifndef YYSIZE_T
|
|
# ifdef __SIZE_TYPE__
|
|
# define YYSIZE_T __SIZE_TYPE__
|
|
# elif defined size_t
|
|
# define YYSIZE_T size_t
|
|
# elif ! defined YYSIZE_T
|
|
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YYSIZE_T size_t
|
|
# else
|
|
# define YYSIZE_T unsigned int
|
|
# endif
|
|
#endif
|
|
|
|
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
|
|
|
|
#ifndef YY_
|
|
# if defined YYENABLE_NLS && YYENABLE_NLS
|
|
# if ENABLE_NLS
|
|
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
|
|
# endif
|
|
# endif
|
|
# ifndef YY_
|
|
# define YY_(Msgid) Msgid
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef YY_ATTRIBUTE
|
|
# if (defined __GNUC__ \
|
|
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|
|
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
|
|
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
|
|
# else
|
|
# define YY_ATTRIBUTE(Spec) /* empty */
|
|
# endif
|
|
#endif
|
|
|
|
#ifndef YY_ATTRIBUTE_PURE
|
|
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
|
|
#endif
|
|
|
|
#ifndef YY_ATTRIBUTE_UNUSED
|
|
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
|
|
#endif
|
|
|
|
#if !defined _Noreturn \
|
|
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
|
|
# if defined _MSC_VER && 1200 <= _MSC_VER
|
|
# define _Noreturn __declspec (noreturn)
|
|
# else
|
|
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
|
|
# endif
|
|
#endif
|
|
|
|
/* Suppress unused-variable warnings by "using" E. */
|
|
#if ! defined lint || defined __GNUC__
|
|
# define YYUSE(E) ((void) (E))
|
|
#else
|
|
# define YYUSE(E) /* empty */
|
|
#endif
|
|
|
|
#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
|
|
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
|
|
_Pragma ("GCC diagnostic push") \
|
|
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
|
|
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
|
|
_Pragma ("GCC diagnostic pop")
|
|
#else
|
|
# define YY_INITIAL_VALUE(Value) Value
|
|
#endif
|
|
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
#endif
|
|
#ifndef YY_INITIAL_VALUE
|
|
# define YY_INITIAL_VALUE(Value) /* Nothing. */
|
|
#endif
|
|
|
|
|
|
#if ! defined yyoverflow || YYERROR_VERBOSE
|
|
|
|
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
|
|
|
# ifdef YYSTACK_USE_ALLOCA
|
|
# if YYSTACK_USE_ALLOCA
|
|
# ifdef __GNUC__
|
|
# define YYSTACK_ALLOC __builtin_alloca
|
|
# elif defined __BUILTIN_VA_ARG_INCR
|
|
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
|
|
# elif defined _AIX
|
|
# define YYSTACK_ALLOC __alloca
|
|
# elif defined _MSC_VER
|
|
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define alloca _alloca
|
|
# else
|
|
# define YYSTACK_ALLOC alloca
|
|
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
|
|
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
|
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
|
|
# ifndef EXIT_SUCCESS
|
|
# define EXIT_SUCCESS 0
|
|
# endif
|
|
# endif
|
|
# endif
|
|
# endif
|
|
# endif
|
|
|
|
# ifdef YYSTACK_ALLOC
|
|
/* Pacify GCC's 'empty if-body' warning. */
|
|
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
|
|
# ifndef YYSTACK_ALLOC_MAXIMUM
|
|
/* The OS might guarantee only one guard page at the bottom of the stack,
|
|
and a page size can be as small as 4096 bytes. So we cannot safely
|
|
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
|
|
to allow for a few compiler-allocated temporary stack slots. */
|
|
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
|
|
# endif
|
|
# else
|
|
# define YYSTACK_ALLOC YYMALLOC
|
|
# define YYSTACK_FREE YYFREE
|
|
# ifndef YYSTACK_ALLOC_MAXIMUM
|
|
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
|
|
# endif
|
|
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
|
|
&& ! ((defined YYMALLOC || defined malloc) \
|
|
&& (defined YYFREE || defined free)))
|
|
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
|
# ifndef EXIT_SUCCESS
|
|
# define EXIT_SUCCESS 0
|
|
# endif
|
|
# endif
|
|
# ifndef YYMALLOC
|
|
# define YYMALLOC malloc
|
|
# if ! defined malloc && ! defined EXIT_SUCCESS
|
|
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
|
|
# endif
|
|
# endif
|
|
# ifndef YYFREE
|
|
# define YYFREE free
|
|
# if ! defined free && ! defined EXIT_SUCCESS
|
|
void free (void *); /* INFRINGES ON USER NAME SPACE */
|
|
# endif
|
|
# endif
|
|
# endif
|
|
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
|
|
|
|
|
|
#if (! defined yyoverflow \
|
|
&& (! defined __cplusplus \
|
|
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
|
|
|
|
/* A type that is properly aligned for any stack member. */
|
|
union yyalloc
|
|
{
|
|
yytype_int16 yyss_alloc;
|
|
YYSTYPE yyvs_alloc;
|
|
};
|
|
|
|
/* The size of the maximum gap between one aligned stack and the next. */
|
|
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
|
|
|
|
/* The size of an array large to enough to hold all stacks, each with
|
|
N elements. */
|
|
# define YYSTACK_BYTES(N) \
|
|
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
|
|
+ YYSTACK_GAP_MAXIMUM)
|
|
|
|
# define YYCOPY_NEEDED 1
|
|
|
|
/* Relocate STACK from its old location to the new one. The
|
|
local variables YYSIZE and YYSTACKSIZE give the old and new number of
|
|
elements in the stack, and YYPTR gives the new location of the
|
|
stack. Advance YYPTR to a properly aligned location for the next
|
|
stack. */
|
|
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
|
|
do \
|
|
{ \
|
|
YYSIZE_T yynewbytes; \
|
|
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
|
|
Stack = &yyptr->Stack_alloc; \
|
|
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
|
|
yyptr += yynewbytes / sizeof (*yyptr); \
|
|
} \
|
|
while (0)
|
|
|
|
#endif
|
|
|
|
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
|
|
/* Copy COUNT objects from SRC to DST. The source and destination do
|
|
not overlap. */
|
|
# ifndef YYCOPY
|
|
# if defined __GNUC__ && 1 < __GNUC__
|
|
# define YYCOPY(Dst, Src, Count) \
|
|
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
|
|
# else
|
|
# define YYCOPY(Dst, Src, Count) \
|
|
do \
|
|
{ \
|
|
YYSIZE_T yyi; \
|
|
for (yyi = 0; yyi < (Count); yyi++) \
|
|
(Dst)[yyi] = (Src)[yyi]; \
|
|
} \
|
|
while (0)
|
|
# endif
|
|
# endif
|
|
#endif /* !YYCOPY_NEEDED */
|
|
|
|
/* YYFINAL -- State number of the termination state. */
|
|
#define YYFINAL 280
|
|
/* YYLAST -- Last index in YYTABLE. */
|
|
#define YYLAST 8901
|
|
|
|
/* YYNTOKENS -- Number of terminals. */
|
|
#define YYNTOKENS 134
|
|
/* YYNNTS -- Number of nonterminals. */
|
|
#define YYNNTS 242
|
|
/* YYNRULES -- Number of rules. */
|
|
#define YYNRULES 613
|
|
/* YYNSTATES -- Number of states. */
|
|
#define YYNSTATES 956
|
|
|
|
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
|
|
by yylex, with out-of-bounds checking. */
|
|
#define YYUNDEFTOK 2
|
|
#define YYMAXUTOK 366
|
|
|
|
#define YYTRANSLATE(YYX) \
|
|
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
|
|
|
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
|
|
as returned by yylex, without out-of-bounds checking. */
|
|
static const yytype_uint8 yytranslate[] =
|
|
{
|
|
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
123, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 113, 118, 121, 2,
|
|
126, 127, 116, 114, 125, 115, 2, 117, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 130, 124,
|
|
111, 110, 112, 2, 122, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 132, 2, 131, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 128, 133, 129, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
|
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
|
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
|
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
|
|
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
|
|
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
|
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
|
|
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
|
|
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
|
|
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
|
|
105, 106, 107, 108, 109, 119, 120
|
|
};
|
|
|
|
#if YYDEBUG
|
|
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
|
static const yytype_uint16 yyrline[] =
|
|
{
|
|
0, 288, 288, 289, 292, 293, 294, 295, 296, 297,
|
|
298, 299, 300, 301, 302, 303, 306, 309, 314, 322,
|
|
322, 323, 323, 324, 324, 325, 325, 328, 329, 330,
|
|
331, 334, 335, 336, 337, 340, 341, 344, 345, 348,
|
|
349, 350, 351, 352, 353, 354, 355, 356, 359, 360,
|
|
361, 362, 363, 364, 365, 366, 367, 370, 371, 379,
|
|
380, 381, 382, 383, 384, 390, 391, 392, 393, 394,
|
|
395, 396, 397, 399, 399, 405, 406, 407, 420, 420,
|
|
441, 443, 441, 447, 449, 447, 453, 454, 455, 456,
|
|
457, 458, 458, 464, 467, 475, 494, 494, 497, 498,
|
|
499, 500, 501, 502, 515, 516, 517, 518, 521, 522,
|
|
523, 524, 527, 528, 531, 532, 535, 536, 539, 540,
|
|
543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
|
|
553, 554, 555, 556, 557, 558, 559, 560, 561, 566,
|
|
567, 570, 573, 576, 577, 582, 585, 590, 596, 601,
|
|
606, 607, 610, 615, 618, 629, 632, 637, 640, 643,
|
|
644, 647, 650, 651, 656, 659, 664, 665, 668, 673,
|
|
676, 679, 680, 687, 688, 693, 694, 695, 696, 697,
|
|
698, 699, 700, 701, 702, 703, 704, 705, 706, 709,
|
|
710, 713, 714, 715, 716, 717, 718, 719, 720, 721,
|
|
722, 723, 724, 725, 726, 727, 728, 729, 730, 731,
|
|
732, 741, 742, 743, 744, 745, 746, 751, 752, 753,
|
|
754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
|
|
764, 765, 766, 767, 768, 771, 775, 778, 779, 783,
|
|
786, 789, 790, 793, 794, 797, 798, 799, 800, 801,
|
|
804, 805, 810, 811, 812, 818, 819, 822, 825, 830,
|
|
833, 842, 843, 844, 845, 846, 847, 848, 849, 850,
|
|
851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
|
|
861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
|
|
871, 872, 873, 876, 877, 878, 879, 880, 881, 884,
|
|
885, 888, 889, 892, 893, 894, 895, 896, 897, 898,
|
|
905, 906, 907, 908, 909, 910, 911, 912, 913, 914,
|
|
915, 916, 917, 918, 919, 920, 921, 922, 923, 924,
|
|
925, 931, 932, 935, 938, 939, 942, 943, 944, 947,
|
|
950, 953, 956, 959, 962, 965, 968, 971, 972, 973,
|
|
974, 975, 976, 979, 980, 981, 982, 983, 984, 987,
|
|
988, 991, 992, 993, 994, 995, 996, 997, 998, 999,
|
|
1002, 1008, 1009, 1010, 1013, 1014, 1017, 1017, 1023, 1024,
|
|
1025, 1026, 1029, 1030, 1033, 1034, 1038, 1041, 1037, 1044,
|
|
1043, 1080, 1081, 1083, 1086, 1095, 1099, 1102, 1102, 1104,
|
|
1104, 1106, 1106, 1108, 1108, 1118, 1119, 1122, 1123, 1131,
|
|
1132, 1134, 1138, 1145, 1163, 1163, 1192, 1198, 1201, 1202,
|
|
1203, 1206, 1206, 1213, 1214, 1217, 1218, 1221, 1221, 1224,
|
|
1225, 1228, 1228, 1247, 1247, 1248, 1249, 1250, 1251, 1251,
|
|
1254, 1255, 1258, 1259, 1260, 1261, 1264, 1264, 1283, 1283,
|
|
1338, 1339, 1340, 1341, 1344, 1345, 1346, 1347, 1348, 1349,
|
|
1350, 1353, 1354, 1357, 1360, 1361, 1362, 1363, 1364, 1365,
|
|
1368, 1369, 1370, 1371, 1372, 1373, 1376, 1377, 1378, 1379,
|
|
1380, 1381, 1382, 1383, 1386, 1387, 1388, 1389, 1393, 1395,
|
|
1392, 1400, 1400, 1404, 1406, 1404, 1414, 1416, 1414, 1425,
|
|
1433, 1434, 1437, 1441, 1445, 1448, 1454, 1461, 1462, 1465,
|
|
1465, 1468, 1469, 1477, 1478, 1477, 1489, 1490, 1489, 1502,
|
|
1502, 1502, 1504, 1504, 1509, 1514, 1508, 1528, 1537, 1541,
|
|
1542, 1546, 1559, 1564, 1545, 1612, 1613, 1616, 1617, 1620,
|
|
1628, 1629, 1630, 1631, 1634, 1635, 1638, 1639, 1642, 1643,
|
|
1646, 1647, 1652, 1658, 1668, 1651, 1687, 1688, 1692, 1691,
|
|
1704, 1711, 1719, 1720, 1724, 1723, 1734, 1735, 1744, 1744,
|
|
1747, 1747, 1750, 1752, 1755, 1755, 1755, 1760, 1768, 1779,
|
|
1789, 1759, 1820, 1821, 1824, 1825, 1833, 1834, 1837, 1846,
|
|
1847, 1848, 1851, 1862, 1880, 1884, 1892, 1893, 1896, 1897,
|
|
1898, 1899, 1900, 1903, 1904, 1905, 1906, 1907, 1911, 1910,
|
|
1933, 1934, 1937, 1938
|
|
};
|
|
#endif
|
|
|
|
#if YYDEBUG || YYERROR_VERBOSE || 0
|
|
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
|
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
|
static const char *const yytname[] =
|
|
{
|
|
"$end", "error", "$undefined", "FUNCTION", "PROCEDURE", "IDENTIFIER",
|
|
"RETURN", "NIL", "NUM_DOUBLE", "INASSIGN", "NUM_LONG", "LOCAL", "STATIC",
|
|
"IIF", "IF", "ELSE", "ELSEIF", "END", "ENDIF", "LITERAL", "TRUEVALUE",
|
|
"FALSEVALUE", "ANNOUNCE", "EXTERN", "DYNAMIC", "INIT", "EXIT", "AND",
|
|
"OR", "NOT", "PUBLIC", "EQ", "NE1", "NE2", "INC", "DEC", "ALIASOP",
|
|
"DOCASE", "CASE", "OTHERWISE", "ENDCASE", "ENDDO", "MEMVAR", "WHILE",
|
|
"LOOP", "FOR", "NEXT", "TO", "STEP", "LE", "GE", "FIELD", "IN",
|
|
"PARAMETERS", "PLUSEQ", "MINUSEQ", "MULTEQ", "DIVEQ", "POWER", "EXPEQ",
|
|
"MODEQ", "PRIVATE", "BEGINSEQ", "BREAK", "RECOVER", "RECOVERUSING",
|
|
"ALWAYS", "ENDSEQ", "DO", "WITH", "SELF", "LINE", "MACROVAR",
|
|
"MACROTEXT", "AS_ARRAY", "AS_BLOCK", "AS_CHARACTER", "AS_CLASS",
|
|
"AS_DATE", "AS_LOGICAL", "AS_NUMERIC", "AS_OBJECT", "AS_VARIANT",
|
|
"DECLARE", "OPTIONAL", "DECLARE_CLASS", "DECLARE_MEMBER",
|
|
"AS_ARRAY_ARRAY", "AS_BLOCK_ARRAY", "AS_CHARACTER_ARRAY",
|
|
"AS_CLASS_ARRAY", "AS_DATE_ARRAY", "AS_LOGICAL_ARRAY",
|
|
"AS_NUMERIC_ARRAY", "AS_OBJECT_ARRAY", "PROCREQ", "CBSTART", "DOIDENT",
|
|
"FOREACH", "DESCEND", "DOSWITCH", "ENDSWITCH", "WITHOBJECT", "ENDWITH",
|
|
"NUM_DATE", "TIMESTAMP", "EPSILON", "HASHOP", "THREAD", "POST", "'='",
|
|
"'<'", "'>'", "'$'", "'+'", "'-'", "'*'", "'/'", "'%'", "UNARY", "PRE",
|
|
"'&'", "'@'", "'\\n'", "';'", "','", "'('", "')'", "'{'", "'}'", "':'",
|
|
"']'", "'['", "'|'", "$accept", "Main", "Source", "Line", "Function",
|
|
"$@1", "$@2", "$@3", "$@4", "FunScope", "Params", "AsType",
|
|
"AsArrayType", "StrongType", "AsArray", "ParamList", "Statement", "$@5",
|
|
"$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "CompTimeStr", "CrlfStmnt",
|
|
"$@12", "LineStat", "ControlError", "FunScopeId", "Statements",
|
|
"EmptyStats", "ExtList", "DynList", "IdentName", "NumValue", "DateValue",
|
|
"TimeStampValue", "NumAlias", "NilValue", "NilAlias", "LiteralValue",
|
|
"LiteralAlias", "CodeBlockAlias", "Logical", "LogicalAlias", "SelfValue",
|
|
"SelfAlias", "Array", "ArrayAlias", "ArrayAt", "ArrayAtAlias", "Hash",
|
|
"HashAlias", "HashList", "Variable", "VarAlias", "MacroVar",
|
|
"MacroVarAlias", "MacroExpr", "MacroExprAlias", "MacroAny", "FieldAlias",
|
|
"FieldVarAlias", "AliasId", "AliasVar", "AliasExpr", "VariableAt",
|
|
"VariableAtAlias", "FunIdentCall", "FunCall", "FunRef", "FunCallAlias",
|
|
"ArgList", "Argument", "RefArgument", "ExtArgument", "ObjectData",
|
|
"SendId", "ObjectRef", "ObjectDataAlias", "ObjectMethod",
|
|
"ObjectMethodAlias", "SimpleExpression", "Expression", "ExtExpression",
|
|
"EmptyExpression", "LValue", "LeftExpression", "PostOp", "ExprPostOp",
|
|
"ExprPreOp", "ExprUnary", "ExprEqual", "ExprAssign", "ExprPlusEq",
|
|
"ExprMinusEq", "ExprMultEq", "ExprDivEq", "ExprModEq", "ExprExpEq",
|
|
"ExprOperEq", "ExprMath", "ExprBool", "ExprRelation", "ArrayIndex",
|
|
"IndexList", "ElemList", "BlockHead", "@13", "BlockVars", "BlockVarList",
|
|
"BlockExpList", "CodeBlock", "@14", "$@15", "@16", "ExpList",
|
|
"PareExpList", "PareExpListAlias", "IfInline", "IfInlineAlias",
|
|
"VarDefs", "$@17", "$@18", "$@19", "$@20", "VarList", "ExtVarList",
|
|
"ExtVarDef", "VarDef", "@21", "DimList", "DimIndex", "FieldsDef", "$@22",
|
|
"FieldList", "InAlias", "MemvarDef", "$@23", "MemvarList", "Declaration",
|
|
"$@24", "$@25", "$@26", "DecDataList", "ClassInfo", "DecMethod", "$@27",
|
|
"DecData", "$@28", "DecList", "DecListExt", "DummyArgList",
|
|
"DummyArgument", "FormalList", "OptList", "ExecFlow", "IfEndif",
|
|
"IfBegin", "$@29", "@30", "IfElse", "$@31", "IfElseIf", "$@32", "@33",
|
|
"$@34", "@35", "EndIf", "EndIfID", "DoCase", "EndCase", "EndCaseID",
|
|
"DoCaseStart", "$@36", "DoCaseBegin", "Cases", "$@37", "@38", "$@39",
|
|
"@40", "Otherwise", "$@41", "$@42", "$@43", "DoWhile", "@44", "$@45",
|
|
"WhileBegin", "EndWhile", "EndWhileID", "ForNext", "@46", "@47", "@48",
|
|
"ForAssign", "StepExpr", "ForStatements", "EndForID", "ForVar",
|
|
"ForList", "ForExpr", "ForArgs", "ForEach", "$@49", "@50", "@51",
|
|
"Descend", "DoSwitch", "$@52", "EndSwitch", "EndSwitchID", "SwitchStart",
|
|
"$@53", "SwitchBegin", "SwitchCases", "$@54", "$@55", "SwitchDefault",
|
|
"$@56", "$@57", "BeginSeq", "@58", "@59", "$@60", "$@61", "EndSeqID",
|
|
"BlockSeq", "AlwaysSeq", "Always", "RecoverSeq", "RecoverEmpty",
|
|
"RecoverUsing", "DoProc", "DoArgs", "DoArgList", "DoArgument",
|
|
"WithObject", "@62", "EndWithID", "Crlf", YY_NULLPTR
|
|
};
|
|
#endif
|
|
|
|
# ifdef YYPRINT
|
|
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
|
|
(internal) symbol number NUM (which must be that of a token). */
|
|
static const yytype_uint16 yytoknum[] =
|
|
{
|
|
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
|
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
|
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
|
|
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
|
|
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
|
|
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
|
|
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
|
|
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
|
|
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
|
|
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
|
|
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
|
|
61, 60, 62, 36, 43, 45, 42, 47, 37, 365,
|
|
366, 38, 64, 10, 59, 44, 40, 41, 123, 125,
|
|
58, 93, 91, 124
|
|
};
|
|
# endif
|
|
|
|
#define YYPACT_NINF -659
|
|
|
|
#define yypact_value_is_default(Yystate) \
|
|
(!!((Yystate) == (-659)))
|
|
|
|
#define YYTABLE_NINF -608
|
|
|
|
#define yytable_value_is_error(Yytable_value) \
|
|
0
|
|
|
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
|
STATE-NUM. */
|
|
static const yytype_int16 yypact[] =
|
|
{
|
|
4762, 275, -659, 312, -659, 35, 54, 527, 478, -69,
|
|
7445, -659, -659, -659, 3282, 3282, 3282, -659, 45, 811,
|
|
7445, 7445, -659, 1058, -659, 312, 7941, -659, -659, 77,
|
|
-659, 1142, 1226, -659, 312, 239, -659, 106, -659, -659,
|
|
3282, -659, 3282, 1475, 206, -659, 177, 7941, -659, -659,
|
|
7445, -659, -659, 237, 141, -659, -659, 7569, 3812, 8433,
|
|
276, 4893, -659, -659, 438, -659, 63, 155, 155, 155,
|
|
8211, -4, 8433, 4, 8433, 8433, 18, 8433, 40, 8433,
|
|
44, 8433, 289, 8433, 56, 8433, 155, 8211, 305, 8211,
|
|
333, 8211, 235, 676, 8433, 155, 211, 344, 8433, -659,
|
|
116, 8433, 78, 234, 8433, 131, 8433, 2440, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, 275,
|
|
87, 142, 8211, 162, 8433, -659, -659, -659, -659, -659,
|
|
-659, 415, -659, 5279, 354, -659, 7445, -659, -659, -659,
|
|
5407, 156, -659, -659, -659, -659, -659, 7445, -659, 275,
|
|
-659, -659, 3282, 3282, 7445, -659, -659, -659, -659, -659,
|
|
-659, 7445, -659, -659, -659, 77, -659, -659, -659, -659,
|
|
7445, 7445, 3282, 1186, 2125, 2193, 1720, 1772, 1809, 3707,
|
|
1853, 2509, 1865, 2539, 1512, 1709, -59, 2249, 2375, 2625,
|
|
7998, -659, 4245, 8059, -659, 4445, 293, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, 1956, 247, 8120, 2057, -659,
|
|
110, -659, 294, -659, -659, 8478, -659, -659, 275, 3282,
|
|
-659, 102, 32, 73, -27, 155, 16, 139, 76, 151,
|
|
34, 261, 27, 186, 351, 3282, 3282, 8478, 326, 7445,
|
|
-659, -659, -659, 177, 3, 295, 2704, 8796, 298, 275,
|
|
301, 300, 8522, 4569, -659, 263, -27, 187, -659, -10,
|
|
7445, 3568, -659, 7445, -659, 3282, 283, -659, 323, 7941,
|
|
176, -659, -659, -659, 4435, -659, 217, -659, -659, -659,
|
|
-659, 275, -659, -659, -659, -659, -659, 3282, 3282, -659,
|
|
7197, 7321, -659, 207, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
7197, -659, -659, 35, 54, 423, -659, 430, -659, 453,
|
|
-659, -659, 456, -659, 468, -659, 44, -659, 289, -659,
|
|
473, -659, -659, -659, -659, -659, 484, 495, -659, 510,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, 7197, -659, 8433, -659, -659, -659, -659, -659,
|
|
7445, -659, -659, 7445, 7445, 7445, 7445, 7445, 7445, 7445,
|
|
8433, -659, -659, -659, -659, -659, -659, 7445, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, 275, -659, -659, -659, 536, 431, -659, -659, -659,
|
|
515, -659, 47, -659, -659, -659, -659, 555, 5535, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, 367, 219, 340,
|
|
5663, -659, -659, 526, -659, -659, -659, 3568, -659, 2859,
|
|
378, -659, 378, 3164, 2729, -659, -659, 330, -659, -659,
|
|
-659, -659, 3282, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, 3282, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, 7445, 7445, 7445, 7445, 7445, 7445, 7445, 7445,
|
|
7445, 7445, 7445, 7445, 7445, 7445, 7445, 7445, 7445, 7445,
|
|
275, -659, 275, 3282, -659, 3282, -659, 2859, 443, -659,
|
|
-659, -659, 8796, 383, -659, -659, 7445, -659, 8796, 179,
|
|
383, 443, 7445, 275, 3568, -659, 355, -659, -659, 3282,
|
|
275, -659, -659, -659, -659, -659, 537, 275, -659, 8796,
|
|
446, 448, 7693, 253, 402, -659, 416, 4445, 4358, 455,
|
|
-659, 7817, 7941, 3568, -659, 3282, 440, -659, -659, 138,
|
|
149, -27, 16, 184, 76, 7445, -659, 7445, 7197, -659,
|
|
-659, 459, 465, 328, -659, 4445, -659, 4445, -659, 7321,
|
|
461, 359, 370, -659, 4445, 4445, 4445, 4445, 4445, 4445,
|
|
4445, 4445, -659, 4445, 469, 7071, -659, 7445, -659, -659,
|
|
536, -659, 3282, 3282, -659, 7445, 275, -659, -659, 219,
|
|
-659, -659, -659, 7445, -659, 17, -659, -659, 7445, 587,
|
|
586, 220, 3282, -659, -659, 7693, -659, -659, 4154, 4445,
|
|
2729, 2729, 2729, 925, 925, 539, 2729, 925, 925, 925,
|
|
192, 192, 204, 204, 204, 4445, -659, -659, -659, -659,
|
|
589, 586, 8478, 275, -659, 3282, -659, 4445, -659, 3282,
|
|
3282, 275, -659, 275, 4445, 5151, -659, 580, -659, 8255,
|
|
298, 2704, -659, -659, -659, 3282, 3954, -659, -659, -659,
|
|
-659, 8585, -659, 7693, 3282, 4445, -659, 476, -659, -659,
|
|
6431, 378, -659, 4601, -659, -659, 275, 477, 275, 480,
|
|
7197, -659, -659, 7321, -659, -659, 7445, 482, 5021, 485,
|
|
6559, 340, 7445, -659, 231, 288, 340, -659, 7445, -659,
|
|
275, 6687, 4445, 275, 7445, -659, -659, 4445, 593, -659,
|
|
-659, 7445, 475, -659, 488, 5791, 7445, -659, -659, -659,
|
|
8796, 562, -659, 8796, -659, -659, -659, 275, 8300, 3282,
|
|
8796, 489, 490, 492, 8796, -659, -659, -659, -659, 257,
|
|
-659, -659, 491, 498, 492, -659, 8796, -659, 330, 7817,
|
|
521, 14, -659, 7445, -659, 8629, -659, 8629, -659, -659,
|
|
4445, -659, -659, -659, -659, 340, 8629, -659, 8629, -659,
|
|
-659, 6175, 340, 6175, -659, 275, -659, 4445, 7445, 4445,
|
|
7445, 7693, -659, 4445, -659, 7445, -659, 513, -659, 3282,
|
|
8796, 8680, -659, 8796, 8344, 540, -659, 3282, 275, 8796,
|
|
4062, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
494, 501, 8796, 500, 5791, -659, 503, 505, 5919, -659,
|
|
-659, -659, 28, 6047, 6047, 275, 4445, 4445, 506, -15,
|
|
-659, 3282, -659, 275, 275, 8733, -659, 7445, -659, 275,
|
|
3282, 8796, 492, 8389, -659, -659, -659, -659, 509, 275,
|
|
275, 8692, -659, 275, -659, 5791, 275, 275, -659, 5919,
|
|
-659, -659, -659, -659, -659, -659, 6047, -659, 7445, -659,
|
|
-659, 569, 6303, 6303, 7445, -659, -659, 396, -659, -659,
|
|
8754, -659, 3282, 8796, 167, -659, -659, -659, 8796, -659,
|
|
-659, -659, -659, -659, -659, 247, 275, -659, -659, 275,
|
|
-659, -659, 403, 7445, -659, 7445, -659, 8775, -659, -659,
|
|
6815, -659, -659, 21, 6943, -659, -659, 417, 7445, -659,
|
|
20, -659, 6815, -659, -659, -659, -659, -659, 420, 3282,
|
|
3282, -659, -659, -659, -659, -659
|
|
};
|
|
|
|
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
|
|
Performed when YYTABLE does not specify something else to do. Zero
|
|
means the default is an error. */
|
|
static const yytype_uint16 yydefact[] =
|
|
{
|
|
0, 0, 120, 78, 145, 139, 140, 397, 399, 0,
|
|
0, 147, 150, 151, 129, 127, 128, 29, 124, 80,
|
|
0, 0, 509, 427, 527, 123, 0, 122, 121, 421,
|
|
125, 403, 83, 577, 73, 0, 153, 0, 166, 167,
|
|
0, 126, 0, 0, 136, 376, 596, 0, 137, 564,
|
|
0, 141, 142, 138, 0, 612, 613, 0, 301, 0,
|
|
0, 0, 8, 6, 0, 7, 164, 310, 312, 313,
|
|
0, 311, 0, 314, 0, 0, 316, 0, 317, 0,
|
|
318, 0, 319, 0, 320, 0, 324, 0, 171, 0,
|
|
172, 0, 323, 0, 0, 321, 322, 325, 0, 237,
|
|
327, 0, 329, 0, 0, 330, 0, 0, 96, 96,
|
|
96, 96, 347, 348, 349, 350, 351, 352, 96, 386,
|
|
315, 326, 0, 328, 0, 86, 87, 88, 5, 96,
|
|
476, 0, 477, 0, 0, 478, 0, 479, 481, 482,
|
|
0, 558, 480, 96, 483, 4, 9, 0, 77, 0,
|
|
144, 143, 0, 0, 0, 130, 132, 129, 127, 128,
|
|
124, 0, 134, 131, 123, 0, 135, 133, 136, 138,
|
|
0, 0, 0, 261, 263, 264, 262, 265, 267, 268,
|
|
270, 271, 272, 294, 275, 276, 323, 273, 274, 277,
|
|
278, 298, 281, 283, 293, 391, 0, 287, 288, 289,
|
|
285, 286, 290, 291, 292, 266, 488, 295, 280, 91,
|
|
0, 116, 0, 118, 75, 0, 334, 335, 0, 0,
|
|
76, 164, 171, 172, 304, 322, 308, 327, 307, 330,
|
|
0, 0, 309, 328, 173, 0, 0, 0, 584, 0,
|
|
72, 171, 172, 596, 0, 433, 0, 35, 0, 0,
|
|
94, 0, 378, 0, 595, 164, 545, 326, 546, 0,
|
|
0, 0, 401, 0, 169, 0, 0, 250, 0, 0,
|
|
0, 251, 244, 374, 302, 243, 0, 255, 256, 254,
|
|
1, 0, 14, 12, 13, 11, 10, 0, 0, 165,
|
|
301, 0, 217, 0, 219, 220, 189, 190, 191, 211,
|
|
146, 218, 195, 148, 221, 196, 198, 152, 223, 197,
|
|
154, 225, 200, 156, 157, 201, 158, 202, 161, 224,
|
|
199, 226, 208, 212, 168, 192, 213, 170, 193, 214,
|
|
301, 64, 229, 0, 0, 189, 176, 0, 180, 0,
|
|
181, 183, 0, 182, 0, 184, 0, 185, 0, 186,
|
|
0, 187, 175, 178, 179, 209, 0, 216, 177, 0,
|
|
188, 210, 227, 62, 228, 235, 203, 240, 61, 232,
|
|
205, 258, 301, 230, 0, 206, 260, 63, 231, 207,
|
|
0, 331, 332, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 333, 67, 66, 69, 70, 68, 0, 389, 149,
|
|
222, 394, 65, 234, 194, 215, 396, 60, 233, 204,
|
|
59, 0, 493, 501, 500, 0, 0, 484, 499, 103,
|
|
399, 110, 124, 101, 99, 112, 102, 0, 0, 100,
|
|
98, 508, 513, 519, 507, 504, 506, 0, 0, 0,
|
|
0, 563, 562, 0, 560, 561, 71, 0, 97, 35,
|
|
0, 405, 0, 0, 336, 338, 337, 0, 239, 48,
|
|
43, 40, 0, 41, 42, 39, 44, 46, 53, 54,
|
|
50, 0, 51, 52, 49, 55, 269, 47, 296, 279,
|
|
282, 284, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 297, 0, 0, 89, 0, 90, 35, 81, 407,
|
|
409, 510, 35, 0, 536, 535, 0, 174, 35, 425,
|
|
0, 84, 0, 0, 0, 594, 0, 16, 431, 0,
|
|
0, 435, 438, 36, 446, 437, 0, 0, 379, 35,
|
|
0, 380, 598, 164, 298, 604, 293, 0, 295, 597,
|
|
600, 0, 0, 0, 608, 0, 0, 393, 159, 245,
|
|
246, 247, 249, 239, 248, 0, 160, 301, 301, 155,
|
|
15, 19, 21, 0, 241, 302, 299, 300, 371, 0,
|
|
370, 0, 0, 253, 340, 341, 342, 343, 344, 346,
|
|
345, 339, 252, 384, 387, 0, 491, 0, 485, 496,
|
|
0, 486, 0, 0, 113, 0, 0, 516, 502, 0,
|
|
522, 503, 524, 0, 574, 0, 572, 79, 0, 413,
|
|
37, 0, 0, 398, 400, 301, 45, 56, 359, 360,
|
|
361, 366, 367, 364, 365, 358, 369, 362, 363, 368,
|
|
353, 354, 355, 356, 357, 392, 489, 92, 117, 119,
|
|
410, 37, 0, 0, 429, 0, 428, 531, 423, 0,
|
|
0, 0, 404, 0, 585, 0, 74, 0, 17, 450,
|
|
448, 0, 442, 444, 436, 0, 454, 95, 93, 382,
|
|
377, 0, 599, 601, 0, 549, 550, 552, 547, 565,
|
|
0, 0, 257, 0, 162, 375, 0, 0, 0, 0,
|
|
301, 236, 372, 0, 238, 259, 0, 0, 0, 0,
|
|
0, 0, 0, 487, 0, 0, 0, 520, 0, 505,
|
|
0, 0, 568, 0, 0, 559, 573, 418, 0, 416,
|
|
38, 0, 417, 406, 0, 0, 0, 412, 408, 82,
|
|
35, 0, 426, 35, 422, 85, 578, 0, 126, 0,
|
|
35, 0, 451, 452, 35, 443, 445, 434, 448, 0,
|
|
440, 457, 0, 455, 456, 381, 35, 602, 548, 0,
|
|
556, 0, 402, 301, 20, 31, 22, 31, 242, 373,
|
|
385, 388, 390, 492, 494, 0, 31, 104, 31, 106,
|
|
514, 0, 0, 0, 525, 0, 575, 570, 0, 419,
|
|
0, 301, 490, 411, 430, 0, 424, 589, 18, 0,
|
|
35, 35, 464, 35, 0, 0, 449, 0, 0, 35,
|
|
0, 383, 551, 557, 553, 611, 610, 609, 163, 32,
|
|
0, 33, 35, 0, 0, 497, 0, 0, 0, 521,
|
|
517, 523, 0, 0, 0, 0, 415, 420, 0, 537,
|
|
592, 0, 579, 0, 0, 35, 470, 301, 465, 0,
|
|
0, 35, 453, 0, 441, 439, 447, 458, 459, 0,
|
|
0, 0, 57, 0, 495, 0, 0, 0, 515, 0,
|
|
530, 529, 526, 528, 569, 576, 0, 395, 0, 532,
|
|
593, 586, 0, 0, 301, 471, 463, 0, 461, 432,
|
|
35, 467, 0, 35, 0, 554, 24, 34, 35, 26,
|
|
498, 105, 107, 518, 571, 538, 0, 588, 580, 0,
|
|
590, 591, 0, 301, 466, 301, 468, 35, 473, 460,
|
|
0, 58, 533, 0, 0, 472, 462, 0, 301, 474,
|
|
0, 555, 0, 583, 582, 581, 587, 469, 0, 542,
|
|
540, 539, 534, 475, 543, 541
|
|
};
|
|
|
|
/* YYPGOTO[NTERM-NUM]. */
|
|
static const yytype_int16 yypgoto[] =
|
|
{
|
|
-659, -659, -659, 64, 567, -659, -659, -659, -659, -659,
|
|
-545, -410, -13, -163, -567, -659, 227, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, 362, -659, -415, -659, -659,
|
|
-75, -418, -659, -659, 3345, 1265, 1333, 1453, 546, 230,
|
|
547, 336, 549, 551, 496, 553, 529, 556, 719, 557,
|
|
747, 558, 816, 561, -659, 1483, 563, 0, 568, 60,
|
|
570, 120, 414, -659, 3385, 1580, 1645, 1811, -659, -169,
|
|
1932, -246, -659, -294, -621, -245, -57, 2029, -328, -659,
|
|
-659, 2234, -659, -244, 4022, -555, -557, -659, 2307, -659,
|
|
2210, 2331, -659, -659, 2452, -659, -659, -659, -659, -659,
|
|
-659, 2562, -659, -659, -659, 3469, -659, -659, -659, -659,
|
|
-659, -659, -659, 1004, -659, -659, -659, -5, 191, 571,
|
|
1208, 573, -659, -659, -659, -659, -659, -151, 434, 15,
|
|
-209, -659, 161, -659, -659, -659, -659, -659, -659, -659,
|
|
436, 229, -659, -659, -659, -659, -659, -506, -659, -654,
|
|
-659, -659, -659, -599, -241, 9, -658, -659, -659, -659,
|
|
-659, -659, 277, -659, -659, -659, -659, -659, -659, -404,
|
|
-659, -659, -423, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, 254, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -250, -659,
|
|
152, -659, -68, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, 79, -659, -659, -659, -659, -659, -659, -659, 88,
|
|
-659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
|
|
-659, -659, -659, -659, -659, 462, -659, -523, -659, -659,
|
|
-659, 3511
|
|
};
|
|
|
|
/* YYDEFGOTO[NTERM-NUM]. */
|
|
static const yytype_int16 yydefgoto[] =
|
|
{
|
|
-1, 60, 61, 423, 63, 696, 698, 697, 699, 64,
|
|
830, 532, 729, 533, 477, 831, 424, 239, 147, 215,
|
|
653, 237, 663, 502, 251, 214, 149, 425, 426, 427,
|
|
708, 940, 210, 212, 66, 173, 174, 175, 70, 176,
|
|
72, 177, 74, 75, 178, 77, 179, 79, 180, 81,
|
|
181, 83, 182, 85, 270, 183, 87, 184, 89, 185,
|
|
91, 186, 93, 94, 298, 187, 188, 189, 98, 99,
|
|
190, 191, 101, 573, 271, 272, 574, 192, 279, 103,
|
|
104, 193, 106, 194, 575, 578, 275, 230, 196, 391,
|
|
197, 198, 199, 110, 200, 112, 113, 114, 115, 116,
|
|
117, 201, 202, 203, 204, 362, 293, 276, 119, 252,
|
|
540, 541, 594, 205, 397, 707, 595, 266, 207, 122,
|
|
208, 124, 125, 152, 153, 555, 236, 450, 508, 509,
|
|
451, 728, 620, 621, 126, 235, 519, 661, 127, 219,
|
|
513, 429, 669, 529, 675, 759, 671, 249, 676, 673,
|
|
754, 751, 762, 897, 898, 752, 753, 129, 130, 131,
|
|
500, 735, 415, 710, 416, 597, 834, 712, 875, 417,
|
|
418, 132, 435, 436, 133, 218, 134, 437, 605, 838,
|
|
718, 879, 438, 606, 791, 720, 135, 721, 842, 136,
|
|
882, 883, 137, 741, 916, 942, 516, 889, 941, 951,
|
|
258, 259, 686, 687, 138, 770, 869, 930, 824, 139,
|
|
443, 444, 445, 140, 260, 141, 615, 795, 845, 616,
|
|
723, 844, 142, 238, 807, 891, 933, 945, 523, 918,
|
|
919, 852, 853, 854, 143, 254, 549, 550, 144, 690,
|
|
827, 430
|
|
};
|
|
|
|
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
|
|
positive, shift that token. If negative, reduce the rule whose
|
|
number is the opposite. If YYTABLE_NINF, syntax error. */
|
|
static const yytype_int16 yytable[] =
|
|
{
|
|
88, 273, 452, 458, 734, 206, 510, 544, 545, 546,
|
|
694, 598, 601, 604, 608, 611, 476, 756, 764, 682,
|
|
478, 760, 526, 672, 702, 604, 222, 479, 510, 480,
|
|
481, 825, 300, 888, 441, 241, 581, 949, 943, 619,
|
|
303, -305, 551, 514, 501, 880, 583, 88, -30, -30,
|
|
-111, -111, 365, 730, 307, 724, 614, 154, 428, 241,
|
|
90, 88, 592, 401, 62, 440, 950, 330, 324, 881,
|
|
241, 150, 241, 291, 241, 241, 310, 241, 582, 241,
|
|
313, 241, -306, 241, 730, 241, 223, 241, 944, 241,
|
|
151, 241, 318, 88, 241, 242, 458, 650, 241, 289,
|
|
563, 241, 654, -321, 241, 291, 241, 90, 658, 327,
|
|
499, -303, 371, 234, 371, 552, 244, 826, 442, 242,
|
|
92, 90, 241, 399, 241, 282, 55, 56, 291, 679,
|
|
242, 439, 242, 88, 242, 242, 291, 242, 289, 242,
|
|
88, 242, -305, 242, 515, 242, -325, 242, 779, 242,
|
|
291, 242, 367, 90, 242, 243, 862, -326, 242, 291,
|
|
767, 242, 868, 864, 242, 755, 242, 376, -96, -96,
|
|
-96, -96, 291, 441, 289, 367, 291, 709, 401, 278,
|
|
848, 92, 242, -306, 242, 324, 719, 376, 291, 290,
|
|
297, 121, 297, 90, 297, 297, 713, 297, 406, 297,
|
|
90, 297, 372, 297, 372, 297, -329, 297, 291, 297,
|
|
291, 297, -303, 297, 297, 507, 828, 232, 297, 291,
|
|
-237, 297, 406, 401, 297, 250, 297, 65, 290, 128,
|
|
71, 659, 833, 55, 56, 503, 431, 507, 257, -96,
|
|
-96, 836, 297, 837, 297, 264, 253, 746, 291, 262,
|
|
489, 863, 121, 92, -96, -96, 71, 442, 610, 434,
|
|
92, 299, 489, 291, 290, -96, -96, 263, -164, 560,
|
|
-164, 291, 771, 929, 291, -171, 280, 71, 323, -171,
|
|
326, -171, 329, 291, 357, -96, -96, 291, 284, 289,
|
|
285, 71, 783, 604, 291, 922, 544, 545, 546, 289,
|
|
896, 565, 380, 794, 660, 566, 494, 495, 496, 497,
|
|
498, 38, 39, 405, -237, -544, -237, 802, 291, 291,
|
|
496, 497, 498, 337, 121, 316, 937, 381, 382, 90,
|
|
804, 121, 579, 806, -96, -96, 73, 896, 580, 948,
|
|
812, 324, 568, 291, 816, 731, 569, 383, 384, 385,
|
|
386, 732, 387, 388, 55, 56, 821, 786, -96, -96,
|
|
54, 330, 73, 71, 374, 148, 896, 291, 896, 327,
|
|
71, 431, 499, 839, 241, 841, -603, -603, -603, 290,
|
|
365, 896, 817, 73, 431, 501, 818, 220, -544, 290,
|
|
241, 390, 432, 433, 434, 522, 240, 73, 55, 56,
|
|
856, 858, 165, 859, 691, 607, 433, 434, 499, 866,
|
|
557, 55, 56, 733, 788, 536, 874, 55, 56, 505,
|
|
878, 528, 872, 390, 534, 884, 885, 537, 88, 339,
|
|
411, 412, 413, 414, 242, -96, -96, 544, 545, 546,
|
|
88, 287, 288, 510, 548, 895, 411, 599, 413, 414,
|
|
242, 901, 558, 700, 331, 701, 290, 910, 363, 289,
|
|
257, 913, 368, 55, 56, 499, 300, 377, 914, 73,
|
|
392, 393, 394, 395, 920, 921, 73, 667, 55, 56,
|
|
396, -28, -28, 402, 700, 407, 704, -132, 90, 303,
|
|
926, 410, 307, 928, 278, 700, 76, 705, 931, 71,
|
|
90, 55, 56, 622, 310, 446, 55, 56, 655, 318,
|
|
278, 695, -132, -132, -132, 458, 946, 939, -109, -109,
|
|
399, 923, 76, 924, -132, -605, -605, -605, 923, 78,
|
|
935, 401, -132, -132, -132, -132, -130, -132, -132, -606,
|
|
-606, -606, 923, 76, 947, 923, 406, 953, 92, -132,
|
|
-132, -132, 88, 413, 414, 78, 677, 76, 602, 603,
|
|
92, -130, -130, -130, 613, 614, 290, 692, 652, -132,
|
|
-132, -132, -132, 681, -132, -132, 78, 850, 851, 680,
|
|
683, -130, -130, -130, -130, -23, -130, -130, -132, 342,
|
|
78, -25, 711, 703, 706, 88, -414, 489, 736, 747,
|
|
716, 769, 798, 775, -132, 73, 777, 800, -132, 805,
|
|
-132, 781, 90, 801, 782, 814, 813, 815, 819, 121,
|
|
823, 870, 344, 820, 863, -132, 871, 873, 283, 76,
|
|
876, 121, 877, 887, 904, 917, 76, -130, 737, 336,
|
|
338, -132, 340, 778, 341, -132, 343, -132, 517, 345,
|
|
347, 349, 507, -130, 351, 90, 352, -130, 71, -130,
|
|
459, 353, 78, 354, 358, 88, 360, 738, 651, 78,
|
|
71, 521, 520, 468, 469, 470, 471, 472, 473, 474,
|
|
475, 2, 936, 4, 333, 763, 334, 155, 156, 9,
|
|
88, 609, 952, 600, 725, 11, 12, 13, 157, 158,
|
|
159, 822, 160, 726, 688, 525, 162, 785, 88, 0,
|
|
88, 0, 0, 792, 0, 92, 0, 0, 163, 80,
|
|
164, 88, 0, 27, 28, 90, 0, 0, 30, 166,
|
|
0, 0, 0, 548, 0, 88, 0, 167, 0, 0,
|
|
0, 0, 0, 257, 0, 80, 36, 82, 38, 39,
|
|
90, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
41, 0, 0, 0, 73, 76, 80, 0, 90, 0,
|
|
90, 168, 45, 82, 0, 48, 73, 0, 0, 0,
|
|
80, 90, 71, 0, 169, 92, 121, 0, 0, 0,
|
|
0, 88, 0, 88, 82, 90, 0, 54, 78, 0,
|
|
849, 0, 263, 0, 58, 0, 0, 0, 82, 0,
|
|
92, 0, 346, 0, 0, 0, 84, 0, 0, 0,
|
|
-134, 0, 0, 0, 0, 71, 0, 0, 92, 0,
|
|
92, 0, 0, 0, 88, 0, 0, 0, 88, 0,
|
|
348, 92, 84, 88, 88, -134, -134, -134, 0, 0,
|
|
0, 90, 80, 90, 0, 92, 121, 0, 0, 80,
|
|
0, 0, 0, 84, 0, -134, -134, -134, -134, 0,
|
|
-134, -134, 0, 0, 548, 88, 0, 84, 0, 88,
|
|
82, 121, 0, 915, 0, 0, 88, 82, 73, 0,
|
|
0, 0, 88, 88, 90, 71, 0, 0, 90, 121,
|
|
0, 121, 0, 90, 90, 0, 0, 0, 0, 350,
|
|
0, 92, 121, 92, 0, 0, 0, 0, 0, 0,
|
|
71, -134, 0, 0, 76, 0, 121, 0, 0, 0,
|
|
88, 73, 0, 0, 88, 90, 76, -134, 71, 90,
|
|
71, -134, 88, -134, 0, 0, 90, 0, 0, 84,
|
|
0, 71, 90, 90, 92, 0, 84, 78, 92, 0,
|
|
0, 0, 0, 92, 92, 71, 0, 0, 0, 78,
|
|
0, 0, 0, 0, 487, 488, 0, 0, 0, 0,
|
|
0, 0, 121, 489, 121, 0, 0, 0, 80, 0,
|
|
90, 0, 0, 0, 90, 92, 0, 0, 0, 92,
|
|
0, 73, 90, 0, 120, 0, 92, 0, 0, 0,
|
|
0, 0, 92, 92, 0, 0, 82, 0, 0, 0,
|
|
0, 71, 0, 71, 0, 121, 73, 0, 0, 121,
|
|
120, 0, 0, 0, 121, 121, 491, 492, 493, 494,
|
|
495, 496, 497, 498, 73, 0, 73, 0, 76, 0,
|
|
92, 120, 0, 0, 92, 0, 0, 73, 0, 0,
|
|
0, 0, 92, 0, 71, 120, 121, -131, 71, 0,
|
|
121, 73, 0, 71, 71, 0, 0, 121, 0, 0,
|
|
0, 78, 0, 121, 121, 84, 0, 0, 0, 0,
|
|
0, 76, -131, -131, -131, 0, 0, 356, 0, 0,
|
|
0, 0, 0, 0, 0, 71, 0, 0, 0, 71,
|
|
0, 0, -131, -131, -131, -131, 71, -131, -131, 0,
|
|
0, 121, 71, 71, 78, 121, 0, 73, 0, 73,
|
|
0, 0, 0, 121, 0, 0, 0, 120, 0, 0,
|
|
0, 0, 0, 0, 120, 0, 0, 80, 0, 0,
|
|
0, -135, 0, 0, 0, 0, 0, 0, 0, 80,
|
|
71, 76, 0, 0, 71, 0, 0, 0, -131, 0,
|
|
73, 0, 71, 0, 73, 82, -135, -135, -135, 73,
|
|
73, 0, 0, 0, -131, 0, 76, 82, -131, 0,
|
|
-131, 0, 0, 0, 78, -310, -135, -135, -135, -135,
|
|
0, -135, -135, 0, 76, 0, 76, 0, 123, 0,
|
|
0, 73, 0, 0, 0, 73, 0, 76, 0, 78,
|
|
-310, -310, 73, 0, 0, 0, 0, 0, 73, 73,
|
|
0, 76, 0, 0, 233, -133, 0, 78, 0, 78,
|
|
-310, -310, -310, -310, 84, -310, -310, 0, 0, 0,
|
|
78, 0, -135, 0, 0, 233, 84, 0, 0, 0,
|
|
-133, -133, -133, 0, 78, 67, 73, 0, -135, 123,
|
|
73, 80, -135, 120, -135, 0, 0, 0, 73, 0,
|
|
-133, -133, -133, -133, 0, -133, -133, 76, 0, 76,
|
|
0, 67, 0, 0, 0, 0, 0, 0, 0, 82,
|
|
0, 359, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 67, 0, 80, 0, -310, 0, 291, 0,
|
|
78, 0, 78, 0, 0, 0, 67, 0, 0, 0,
|
|
76, 0, 0, 68, 76, 0, -133, 0, 0, 76,
|
|
76, 123, 82, 0, 0, 0, 0, 0, 123, 0,
|
|
0, 0, -133, 0, 0, 0, -133, 0, -133, 68,
|
|
0, 0, 0, 78, 0, 0, 0, 78, 84, 0,
|
|
0, 76, 78, 78, 0, 76, 0, 0, 0, 0,
|
|
68, 0, 76, 0, 80, 0, 0, 0, 76, 76,
|
|
0, 0, 0, 0, 68, 0, 0, 0, 67, 0,
|
|
0, 0, 0, 0, 78, 67, 0, 0, 78, 80,
|
|
0, 84, 82, 0, 0, 78, 0, 0, 0, 0,
|
|
0, 78, 78, 0, 0, 0, 76, 80, 0, 80,
|
|
76, 0, 120, 0, 0, 0, 0, 82, 76, 0,
|
|
80, 0, 0, 0, 120, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 69, 80, 82, 0, 82, 0, 78,
|
|
0, 0, 0, 78, 0, 0, 68, 0, 82, 0,
|
|
0, 78, 0, 68, 0, 0, 0, 233, 0, 69,
|
|
2, 84, 82, 86, 0, 0, 155, 156, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 157, 158, 159,
|
|
69, 160, 0, 0, 0, 162, 84, 0, 0, 86,
|
|
80, 0, 80, 0, 69, 0, 0, 163, 0, 164,
|
|
0, -171, 27, 28, 84, 0, 84, 30, 166, 0,
|
|
86, 0, 0, 0, 67, 0, 167, 84, 82, 0,
|
|
82, 0, 0, 0, 86, 0, -171, -171, 324, 0,
|
|
0, 84, 0, 80, 0, 0, 120, 80, 0, 41,
|
|
0, 0, 80, 80, 0, 0, -171, -171, -171, -171,
|
|
168, -171, -171, 0, 48, 0, 0, 0, 0, 0,
|
|
95, 82, 0, 169, 0, 82, 69, 0, 0, 0,
|
|
82, 82, 0, 69, 80, 0, 0, 0, 80, 120,
|
|
0, 0, 68, 247, 0, 80, 224, 84, 0, 84,
|
|
0, 80, 80, 0, 0, 0, 86, 0, 0, 0,
|
|
0, 0, 82, 86, 0, 0, 82, 256, 0, 0,
|
|
0, 0, 0, 82, 0, 0, 123, 0, -171, 82,
|
|
82, 95, -171, 0, -171, 96, 0, 0, 123, 80,
|
|
84, 0, 0, 80, 84, 0, 0, 0, 0, 84,
|
|
84, 80, 0, 0, 0, 0, 0, 0, 0, 120,
|
|
0, 225, 0, 0, 0, 0, 0, 82, 0, 0,
|
|
0, 82, 0, 0, 0, 0, 0, 0, 0, 82,
|
|
0, 84, 225, 67, 120, 84, 0, 0, 0, 0,
|
|
0, 0, 84, 0, 0, 67, 96, 0, 84, 84,
|
|
0, 0, 120, 95, 120, 0, 0, 0, -172, 0,
|
|
95, 0, 69, 0, 0, 120, 0, 0, 0, -311,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
|
|
0, 0, 0, -172, -172, 327, 84, 0, 0, 0,
|
|
84, 0, 86, 0, -311, -311, 300, 0, 84, 0,
|
|
233, 68, 0, -172, -172, -172, -172, 0, -172, -172,
|
|
0, 0, 0, 68, -311, -311, -311, -311, 96, -311,
|
|
-311, -314, 0, 0, 0, 96, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 120, 0, 120, 0, 0,
|
|
0, 0, 0, 123, 0, 0, -314, -314, 303, 0,
|
|
0, 97, 0, 0, 0, 0, 0, 67, -316, 0,
|
|
0, 0, 0, 0, 0, 0, -314, -314, -314, -314,
|
|
0, -314, -314, 0, 0, -172, 0, 226, 120, -172,
|
|
0, -172, 120, -316, -316, 307, 0, 120, 120, 561,
|
|
-311, 0, 291, 0, 0, 0, 0, 0, 97, 0,
|
|
67, 0, -318, -316, -316, -316, -316, 0, -316, -316,
|
|
0, 0, 97, 123, -320, 0, 0, 0, 0, 120,
|
|
0, 69, 0, 120, 0, 68, 0, -318, -318, 313,
|
|
120, 0, 0, 69, 0, 0, 120, 120, 123, -320,
|
|
-320, 318, -314, 0, 291, 0, 0, -318, -318, -318,
|
|
-318, 86, -318, -318, 225, 0, 123, 0, 123, -320,
|
|
-320, -320, -320, 86, -320, -320, 0, 0, 68, 123,
|
|
67, 0, 100, 0, 120, 0, 0, 0, 120, -316,
|
|
0, 291, 0, 123, 97, 0, 120, 0, 0, 0,
|
|
0, 97, 0, 0, 0, 67, 0, 0, 227, 0,
|
|
0, 0, 0, 0, 0, -315, 0, 0, 0, 0,
|
|
0, 0, 0, 67, 0, 67, 0, 0, 0, 227,
|
|
0, 0, 0, -318, 0, 291, 67, 0, 0, 0,
|
|
-315, -315, 399, 100, 0, -320, 0, 291, 68, 123,
|
|
67, 123, 0, 0, 0, 69, 0, 0, 95, 0,
|
|
-315, -315, -315, -315, 0, -315, -315, 0, 0, 0,
|
|
95, 0, 0, 68, 0, 0, 0, 0, 0, 102,
|
|
0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
|
|
0, 68, 123, 68, 0, 0, 123, 0, 69, 0,
|
|
0, 123, 123, 0, 68, 228, 67, 0, 67, 0,
|
|
0, 0, 0, 0, 0, 100, -328, 0, 68, 0,
|
|
0, 0, 100, 96, 0, 0, 102, 0, 86, 0,
|
|
562, 0, 0, 123, 0, 96, -315, 123, 291, 0,
|
|
102, -328, -328, 406, 123, 0, 0, 0, 0, 67,
|
|
123, 123, 0, 67, 0, 0, 0, 0, 67, 67,
|
|
0, -328, -328, -328, -328, 0, -328, -328, 69, 0,
|
|
0, 0, 0, 0, 68, 0, 68, 0, 0, 0,
|
|
0, 0, 256, 0, -312, 0, 0, 0, 123, 0,
|
|
67, 0, 123, 69, 67, 0, 0, 0, 86, 0,
|
|
123, 67, 0, 0, 0, 0, 0, 67, 67, -312,
|
|
-312, 69, 102, 69, 0, 0, 0, 68, 0, 102,
|
|
0, 68, 0, 86, 69, 95, 68, 68, 0, -312,
|
|
-312, -312, -312, 0, -312, -312, 0, -328, 69, 291,
|
|
0, 86, 0, 86, 0, 67, 0, 225, 0, 67,
|
|
0, 227, -313, 0, 86, 0, 0, 67, 68, 0,
|
|
108, 0, 68, 0, 0, 0, 0, 0, 86, 68,
|
|
0, 0, 0, 0, 0, 68, 68, -313, -313, 0,
|
|
0, 0, 0, 0, 105, 0, 0, 0, 0, 97,
|
|
96, 0, 0, 0, 69, 95, 69, -313, -313, -313,
|
|
-313, 97, -313, -313, 0, -312, 0, 291, -321, 0,
|
|
229, 0, 0, 68, 0, 0, 0, 68, 0, 0,
|
|
95, 108, 0, 0, 86, 68, 86, 0, 0, 0,
|
|
0, 229, 0, -321, -321, 0, 0, 69, 95, 0,
|
|
95, 69, 0, 0, 0, 105, 69, 69, 564, 0,
|
|
0, 95, 0, -321, -321, -321, -321, 107, -321, -321,
|
|
96, 0, 0, 0, 0, 95, 0, 86, 0, 0,
|
|
0, 86, 0, -313, 0, 291, 86, 86, 69, 0,
|
|
0, 109, 69, 231, 0, 96, 0, 0, 0, 69,
|
|
0, 0, 0, 108, 0, 69, 69, 0, 0, 0,
|
|
108, 0, 0, 96, 231, 96, 0, 0, 86, 0,
|
|
100, 0, 86, 97, 0, 0, 96, 105, 107, 86,
|
|
0, 95, 100, 95, 105, 86, 86, 0, 0, -321,
|
|
96, 291, 0, 69, -322, 0, 0, 69, 0, 0,
|
|
0, 0, 109, 0, 0, 69, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 97, 0, 0, -322,
|
|
-322, 0, 0, 86, 95, 0, 0, 86, 95, 0,
|
|
0, 0, 0, 95, 95, 86, 0, 0, 0, -322,
|
|
-322, -322, -322, 0, -322, -322, 96, 0, 96, 0,
|
|
107, 0, 0, 0, 0, 0, 0, 107, 0, 380,
|
|
0, 0, 111, 0, 0, 95, 0, 102, 0, 95,
|
|
0, 0, 0, 0, 109, 0, 95, 0, 0, 102,
|
|
0, 109, 95, 95, 381, 382, 97, 0, 0, 96,
|
|
0, 0, 0, 96, 227, 0, 0, 0, 96, 96,
|
|
0, 0, 0, 0, 383, 384, 385, 386, 0, 387,
|
|
388, 97, 0, 229, 0, -322, 0, 291, 0, 0,
|
|
95, 0, 0, 111, 95, 0, 0, 0, -319, 97,
|
|
96, 97, 95, 0, 96, 0, 0, 100, 0, 0,
|
|
0, 96, 97, 0, 0, 0, 0, 96, 96, 0,
|
|
0, 0, 0, -319, -319, 316, 97, 0, -324, 0,
|
|
389, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 118, -319, -319, -319, -319, 0, -319, -319,
|
|
390, 0, 0, -324, -324, 96, 231, 0, 0, 96,
|
|
0, 102, 0, 0, 0, 111, 0, 96, 0, 0,
|
|
0, 0, 111, -324, -324, -324, -324, 100, -324, -324,
|
|
0, 0, 97, 0, 97, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 459, 460, 461, 462, 463, 464, 465,
|
|
466, 467, 100, 118, 102, 0, 468, 469, 470, 471,
|
|
472, 473, 474, 475, -325, 0, 0, 0, 108, -319,
|
|
100, 0, 100, 0, 0, 97, 0, 0, 0, 97,
|
|
108, 0, 0, 100, 97, 97, 0, 0, 0, -325,
|
|
-325, 365, 105, 0, 0, 0, 0, 100, 0, -324,
|
|
0, 291, 0, 0, 105, 0, 0, 0, 0, -325,
|
|
-325, -325, -325, 0, -325, -325, 97, 0, 0, 0,
|
|
97, 0, 0, 0, 102, 118, 0, 97, 0, 0,
|
|
0, 0, 118, 97, 97, 0, 0, 0, 0, 2,
|
|
0, 0, 0, 0, 0, 155, 156, 0, 0, 102,
|
|
0, 0, 0, 100, 0, 100, 157, 158, 159, 0,
|
|
160, 0, 0, 0, 162, 107, 0, 102, 0, 102,
|
|
0, 97, 0, 0, 0, 97, 163, 107, 164, 0,
|
|
102, 27, 28, 97, 0, -325, 30, 166, 0, 109,
|
|
484, 485, 486, 0, 102, 167, 100, 0, 0, 0,
|
|
100, 109, 0, 0, 0, 100, 100, 0, 487, 488,
|
|
0, 0, 0, 0, 0, 0, 229, 489, 41, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
|
|
0, 0, 0, 48, 0, 108, 0, 100, 0, 0,
|
|
0, 100, 169, 0, 0, 0, 0, 0, 100, 0,
|
|
102, 0, 102, 0, 100, 100, 0, 55, 56, 105,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 490,
|
|
491, 492, 493, 494, 495, 496, 497, 498, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 231,
|
|
0, 0, 100, 102, 0, 0, 100, 102, 0, 0,
|
|
0, 0, 102, 102, 100, 108, 0, 0, 0, 0,
|
|
111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 111, 0, 0, 0, 0, 0, 0, 105,
|
|
108, 0, 107, 0, 102, 0, 0, 0, 102, 0,
|
|
0, 0, 0, 0, 0, 102, 0, 0, 108, 0,
|
|
108, 102, 102, 0, 105, 0, 109, 0, 0, 0,
|
|
0, 108, 0, 459, 460, 461, 462, 463, 464, 465,
|
|
466, 467, 105, 0, 105, 108, 468, 469, 470, 471,
|
|
472, 473, 474, 475, 0, 105, 0, 0, 0, 102,
|
|
0, 0, 0, 102, 0, 0, 0, 0, 0, 105,
|
|
0, 102, 107, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
118, 618, 0, 0, 0, 0, 109, 107, 0, 0,
|
|
0, 108, 118, 108, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 107, 0, 107, 0, 0,
|
|
0, 109, 0, 0, 0, 105, 0, 105, 107, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
|
|
0, 109, 107, 0, 108, 0, 0, 111, 108, 0,
|
|
0, 0, 109, 108, 108, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 109, 0, 105, 0,
|
|
0, 0, 105, 0, 0, 0, 0, 105, 105, 0,
|
|
0, 0, 0, 0, 0, 108, 0, 0, 0, 108,
|
|
0, 0, 0, 0, 0, 0, 108, 0, 107, 0,
|
|
107, 0, 108, 108, 0, 0, 0, 0, 0, 105,
|
|
0, 0, 0, 105, 0, 0, 0, 111, 0, 0,
|
|
105, 0, 109, 0, 109, 0, 105, 105, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
108, 107, 111, 0, 108, 107, 0, 0, 0, 0,
|
|
107, 107, 108, 0, 0, 0, 0, 118, 0, 0,
|
|
111, 0, 111, 0, 105, 109, 0, 0, 105, 109,
|
|
0, 0, 0, 111, 109, 109, 105, 0, 0, 0,
|
|
0, 0, 107, 0, 0, 0, 107, 111, 0, 0,
|
|
0, 482, 483, 107, 0, 484, 485, 486, 0, 107,
|
|
107, 0, 0, 0, 0, 0, 109, 0, 0, 0,
|
|
109, 0, 0, 487, 488, 0, 0, 109, 0, 0,
|
|
0, 0, 489, 109, 109, 0, 0, 118, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 107, 0, 0,
|
|
0, 107, 0, 111, 0, 111, 0, 0, 0, 107,
|
|
0, 0, 118, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 109, 0, 0, 0, 109, 0, 0, 0, 0,
|
|
118, 0, 118, 109, 490, 491, 492, 493, 494, 495,
|
|
496, 497, 498, 118, 0, 0, 111, 2, 0, 625,
|
|
111, 0, 0, 155, 156, 111, 111, 118, 0, 0,
|
|
0, 0, 0, 0, 157, 158, 159, 0, 160, 0,
|
|
0, 0, 162, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 163, 0, 164, 111, 0, 27,
|
|
28, 111, 0, 0, 30, 166, 0, 0, 111, 0,
|
|
0, 0, 0, 167, 111, 111, 0, 0, 0, 0,
|
|
0, 0, 0, 118, 0, 118, 0, 0, 0, 209,
|
|
211, 213, 0, 0, 0, 0, 41, 0, 0, 0,
|
|
0, 221, 0, 0, 0, 0, 0, 168, 0, 0,
|
|
0, 48, 111, 0, 0, 245, 111, 246, 248, 0,
|
|
169, 0, 255, 0, 111, 0, 118, 0, 0, 0,
|
|
118, 0, 0, 0, 277, 118, 118, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 296, 0, 296, 0, 296,
|
|
296, 0, 296, 0, 296, 0, 296, 0, 296, 0,
|
|
296, 0, 296, 0, 296, 0, 296, 118, 335, 296,
|
|
0, 118, 0, 296, 0, 0, 296, 0, 118, 296,
|
|
0, 296, 0, 0, 118, 118, 0, 302, 0, 305,
|
|
306, 0, 309, 0, 312, 0, 315, 296, 317, 296,
|
|
320, 0, 322, 0, 325, 0, 328, 0, 355, 361,
|
|
0, 0, 0, 366, 0, 0, 370, 0, 0, 375,
|
|
0, 379, 118, 0, 0, 0, 118, 449, 449, 0,
|
|
0, 0, 0, 0, 118, 0, 0, 404, 0, 409,
|
|
0, 145, 146, 0, 0, 0, 0, 457, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 292, 294, 295, 0,
|
|
301, 0, 304, 0, 0, 308, 0, 311, 0, 314,
|
|
0, 0, 0, 319, 0, 321, 0, 0, 0, 0,
|
|
449, 332, 0, 0, 512, 364, 0, 0, 0, 369,
|
|
0, 373, 286, 0, 378, 0, 0, 0, 0, 0,
|
|
518, 512, 449, 0, 0, 0, 0, 0, 0, 400,
|
|
403, 530, 408, 0, 0, 482, 483, 539, 543, 484,
|
|
485, 486, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
556, 0, 0, 0, 559, 0, 0, 487, 488, 0,
|
|
0, 0, 0, 0, 0, 0, 489, 0, 0, 0,
|
|
398, 0, 571, 572, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 292, 294, 295, 301, 304, 308, 311, 314,
|
|
0, 319, 321, 0, 0, 332, 0, 364, 0, 369,
|
|
448, 373, 378, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 400, 0, 403, 408, 490, 491,
|
|
492, 493, 494, 495, 496, 497, 498, 0, 0, 0,
|
|
0, 55, 56, 0, 364, 0, 369, 373, 378, 0,
|
|
0, 403, 408, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, -317, 0, 0, 277,
|
|
0, 504, 0, 506, 0, 0, 403, 0, 0, 511,
|
|
0, 0, 0, 0, 0, 277, 0, 0, 0, 0,
|
|
0, -317, -317, 310, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 527, 0, 531, 0, 0,
|
|
535, -317, -317, -317, -317, 0, -317, -317, 0, 0,
|
|
0, 0, 554, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 459, 460, 461, 462, 463, 464, 465, 466, 467,
|
|
0, 0, 570, 0, 468, 469, 470, 471, 472, 473,
|
|
474, 475, 0, 0, 0, 0, 0, 626, 0, 0,
|
|
0, 0, 0, 0, 0, 314, 627, 2, 0, 4,
|
|
5, 0, 6, 155, 156, 9, 0, 0, 0, 0,
|
|
0, 11, 12, 13, 157, 158, 159, -317, 160, 291,
|
|
0, 161, 162, 0, 0, 0, 20, 21, 648, 0,
|
|
649, 0, 0, 0, 163, 0, 164, 0, 0, 27,
|
|
28, 0, 0, 165, 30, 166, 0, 0, 0, 0,
|
|
0, 0, 0, 167, 670, 0, 0, 0, 0, 0,
|
|
0, 0, 36, 0, 38, 39, 0, 543, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 41, 255, 0, 0,
|
|
449, 0, 0, 0, 0, 0, 0, 168, 45, 0,
|
|
0, 48, 0, 0, 0, 0, 51, 52, 267, 268,
|
|
169, 0, 596, 0, 0, 0, 170, 171, 0, 0,
|
|
0, 0, 0, 54, 269, 0, 0, 0, 57, 0,
|
|
58, 0, 59, 0, 0, 0, 0, 714, 715, 0,
|
|
612, 0, 0, 0, 0, 0, 0, 0, 617, 2,
|
|
0, 623, 0, 624, 0, 155, 156, 449, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 157, 158, 159, 0,
|
|
160, 0, 0, 0, 162, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 163, 449, 164, 0,
|
|
740, 27, 28, 0, 742, 743, 30, 166, 0, 0,
|
|
0, 646, 0, 647, 750, 167, 670, 403, 0, 0,
|
|
758, 750, 0, 0, 656, 0, 766, 0, 543, 768,
|
|
0, 662, 195, 373, 665, 666, 0, 668, 748, 0,
|
|
0, 674, 216, 217, 0, 0, 0, 0, 678, 168,
|
|
0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
|
|
761, 0, 169, 0, 689, 0, 0, 2, 0, 0,
|
|
0, 0, 261, 155, 156, 0, 749, 0, 0, 195,
|
|
274, 0, 0, 0, 157, 158, 159, 0, 160, 0,
|
|
0, 0, 162, 810, 811, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 163, 0, 164, 0, 0, 27,
|
|
28, 0, 0, 0, 30, 166, 0, 717, 0, 0,
|
|
832, 0, 832, 167, 0, 0, 0, 0, 0, 0,
|
|
0, 832, 0, 832, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 748, 0, 0, 0,
|
|
0, 0, 0, 0, 855, 0, 0, 168, 195, 861,
|
|
0, 48, 758, 0, 739, 861, 0, 0, 867, 447,
|
|
169, 0, 744, 0, 745, 0, 453, 0, 0, 0,
|
|
0, 482, 757, 454, 860, 484, 485, 486, 0, 0,
|
|
0, 0, 455, 456, 0, 0, 890, 0, 0, 0,
|
|
0, 0, 772, 487, 488, 900, 0, 774, 903, 776,
|
|
0, 0, 489, 0, 0, 0, 908, 0, 0, 0,
|
|
0, 0, 784, 0, 0, 787, 789, 790, 0, 0,
|
|
0, 793, 0, 0, 796, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 927, 0, 0,
|
|
0, 0, 0, 0, -329, 0, 0, 0, 808, 0,
|
|
0, 524, 0, 0, 490, 491, 492, 493, 494, 495,
|
|
496, 497, 498, 0, 0, 547, 0, 0, 0, -329,
|
|
-329, 371, 553, 0, 0, 195, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 954, 955, 835, 0, 0, -329,
|
|
-329, -329, -329, 840, -329, -329, 843, 0, 0, 0,
|
|
0, 0, 0, 577, 0, 0, 0, 0, 0, 459,
|
|
460, 461, 462, 463, 464, 465, 466, 467, 0, 865,
|
|
0, 0, 468, 469, 470, 471, 472, 473, 474, 475,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 886, 0, 0, 0,
|
|
0, 0, 0, 0, 892, 893, 0, -326, 0, 0,
|
|
899, 372, 0, 0, 0, -329, 0, 291, 0, 0,
|
|
905, 906, 0, 0, 909, 0, 0, 911, 912, 0,
|
|
0, 0, -326, -326, 401, 0, 0, 0, 0, 0,
|
|
0, 0, 584, 0, 0, 585, 586, 587, 588, 589,
|
|
590, 591, -326, -326, -326, -326, 0, -326, -326, 593,
|
|
0, 0, 0, 0, 0, 0, 0, 932, 0, 0,
|
|
934, 0, 459, 460, 461, 462, 463, 464, 465, 466,
|
|
467, 0, 0, 0, 0, 468, 469, 470, 471, 472,
|
|
473, 474, 475, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 482, 483, 0, 0, 484, 485, 486, 0,
|
|
0, 0, 482, 483, 0, 0, 484, 485, 486, 0,
|
|
0, -607, -607, -607, 487, 488, 0, 0, -326, 0,
|
|
291, 0, 0, 489, 487, 488, 0, 0, 0, 0,
|
|
0, 0, 0, 489, 628, 629, 630, 631, 632, 633,
|
|
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
|
|
644, 645, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 657, 0,
|
|
0, 0, 567, 0, 664, 490, 491, 492, 493, 494,
|
|
495, 496, 497, 498, 0, 490, 491, 492, 493, 494,
|
|
495, 496, 497, 498, 547, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 685, 2, 0, 4, 5, 0, 6,
|
|
155, 156, 9, 0, 0, 0, 0, 693, 11, 12,
|
|
13, 157, 158, 159, 0, 160, 0, 0, 161, 162,
|
|
0, 577, 0, 20, 21, 0, 0, 0, 0, 0,
|
|
0, 163, 0, 164, 0, 0, 27, 28, 0, 195,
|
|
165, 30, 166, 0, 0, 0, 0, 195, 482, 483,
|
|
167, 0, 484, 485, 486, 722, 0, 0, 0, 36,
|
|
727, 38, 39, 0, 0, 0, 0, 0, 0, 0,
|
|
487, 488, 0, 41, 0, 0, 0, 0, 0, 489,
|
|
0, 0, 0, 0, 168, 45, 0, 0, 48, 0,
|
|
0, 0, 0, 51, 52, 0, 0, 169, 0, 0,
|
|
0, 0, 0, 170, 171, 0, 0, 0, 0, 0,
|
|
54, 269, 0, 0, 542, 57, 0, 58, 0, 59,
|
|
0, 0, 0, 0, 0, 547, 0, 0, 773, 0,
|
|
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
|
|
0, 0, 0, 0, 0, 577, 0, 0, 780, 0,
|
|
0, 0, 0, 0, 195, 0, 0, 0, 0, 0,
|
|
195, 0, 0, 0, 0, 0, 797, 0, 0, 0,
|
|
0, 0, 0, 799, 0, 0, 0, 0, 803, 0,
|
|
0, 0, -3, 1, 0, -27, -27, 2, 3, 4,
|
|
5, 0, 6, 7, 8, 9, 10, 0, 0, 0,
|
|
0, 11, 12, 13, 14, 15, 16, 17, 18, 0,
|
|
0, 685, 19, 0, 0, 0, 20, 21, 0, 22,
|
|
0, 0, 0, 0, 23, 24, 25, 26, 0, 27,
|
|
28, 0, 0, 29, 30, 31, 0, 0, 0, 0,
|
|
846, 0, 847, 32, 33, 34, 0, 195, 0, 0,
|
|
35, 0, 36, 37, 38, 39, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 40, 41, 42, 43, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 44, 45, 46,
|
|
47, 48, 49, 0, 50, 0, 51, 52, 0, 0,
|
|
53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 54, 0, 55, 56, 0, 57, 0,
|
|
58, 0, 59, -2, 281, 0, -27, -27, 2, 3,
|
|
4, 5, 0, 6, 7, 8, 9, 10, 0, 0,
|
|
195, 0, 11, 12, 13, 14, 15, 16, 17, 18,
|
|
0, 0, 0, 19, 0, 0, 0, 20, 21, 0,
|
|
22, 0, 0, 0, 0, 23, 24, 25, 26, 0,
|
|
27, 28, 0, 0, 29, 30, 31, 0, 0, 0,
|
|
0, 0, 0, 0, 32, 33, 34, 0, 0, 0,
|
|
0, 35, 0, 36, 37, 38, 39, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 40, 41, 42, 43,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 44, 45,
|
|
46, 47, 48, 49, 0, 50, 0, 51, 52, 0,
|
|
0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 54, 0, 55, 56, 0, 57,
|
|
0, 58, 419, 59, -108, -108, 2, 3, 4, 5,
|
|
0, 6, 7, 420, 9, 10, -115, -115, -115, -115,
|
|
11, 12, 13, 14, 15, 16, 421, 422, 0, 0,
|
|
0, 19, 0, 0, 0, 20, 21, 0, 22, -115,
|
|
-115, -115, -115, 23, 24, 25, 26, -115, 27, 28,
|
|
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
|
|
0, 0, 32, 33, 34, -115, -115, -115, -115, 35,
|
|
0, 36, 37, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 40, 41, 42, 43, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 44, 45, 46, 47,
|
|
48, 49, -115, 50, -115, 51, 52, 0, 0, 53,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 54, 0, 55, 56, 0, 57, 0, 58,
|
|
-115, 59, 419, 0, -108, -108, 2, 3, 4, 5,
|
|
0, 6, 7, 420, 9, 10, 0, 0, -114, 0,
|
|
11, 12, 13, 14, 15, 16, 421, 422, 0, 0,
|
|
0, 19, 0, 0, 0, 20, 21, 0, 22, 0,
|
|
0, 0, 0, 23, 24, 25, 26, 0, 27, 28,
|
|
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
|
|
0, 0, 32, 33, 34, -114, -114, -114, -114, 35,
|
|
0, 36, 37, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 40, 41, 42, 43, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 44, 45, 46, 47,
|
|
48, 49, 0, 50, 0, 51, 52, 0, 0, 53,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 54, 0, 55, 56, 0, 57, 0, 58,
|
|
419, 59, -108, -108, 2, 3, 4, 5, 0, 6,
|
|
7, 420, 9, 10, 0, 0, -511, 0, 11, 12,
|
|
13, 14, 15, 16, 421, 422, 0, 0, 0, 19,
|
|
0, 0, 0, 20, 21, 0, 22, -511, -511, -511,
|
|
0, 23, 24, 25, 26, 0, 27, 28, 0, 0,
|
|
29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
|
|
32, 33, 34, 0, 0, 0, 0, 35, 0, 36,
|
|
37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 40, 41, 42, 43, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
|
|
0, 50, 0, 51, 52, 0, 0, 53, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
54, 0, 55, 56, 0, 57, 0, 58, 419, 59,
|
|
-108, -108, 2, 3, 4, 5, 0, 6, 7, 420,
|
|
9, 10, 0, 0, -566, 0, 11, 12, 13, 14,
|
|
15, 16, 421, 422, 0, 0, 0, 19, 0, 0,
|
|
0, 20, 21, 0, 22, -566, -566, 0, 0, 23,
|
|
24, 25, 26, 0, 27, 28, 0, 0, 29, 30,
|
|
31, 0, 0, 0, 0, 0, 0, 0, 32, 33,
|
|
34, 0, 0, 0, 0, 35, 0, 36, 37, 38,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
40, 41, 42, 43, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 44, 45, 46, 47, 48, 49, -566, 50,
|
|
0, 51, 52, 0, 0, 53, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
|
|
55, 56, 0, 57, 0, 58, 419, 59, -108, -108,
|
|
2, 3, 4, 5, 0, 6, 7, 420, 9, 10,
|
|
0, 0, -512, 0, 11, 12, 13, 14, 15, 16,
|
|
421, 422, 0, 0, 0, 19, 0, 0, 0, 20,
|
|
21, 0, 22, -512, -512, -512, 0, 23, 24, 25,
|
|
26, 0, 27, 28, 0, 0, 29, 30, 31, 0,
|
|
0, 0, 0, 0, 0, 0, 32, 33, 34, 0,
|
|
0, 0, 0, 35, 0, 36, 37, 38, 39, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 40, 41,
|
|
42, 43, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
44, 45, 46, 47, 48, 49, 0, 50, 0, 51,
|
|
52, 0, 0, 53, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
|
|
0, 57, 0, 58, 419, 59, -108, -108, 2, 3,
|
|
4, 5, 0, 6, 7, 420, 9, 10, 0, 0,
|
|
-567, 0, 11, 12, 13, 14, 15, 16, 421, 422,
|
|
0, 0, 0, 19, 0, 0, 0, 20, 21, 0,
|
|
22, -567, -567, 0, 0, 23, 24, 25, 26, 0,
|
|
27, 28, 0, 0, 29, 30, 31, 0, 0, 0,
|
|
0, 0, 0, 0, 32, 33, 34, 0, 0, 0,
|
|
0, 35, 0, 36, 37, 38, 39, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 40, 41, 42, 43,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 44, 45,
|
|
46, 47, 48, 49, -567, 50, 0, 51, 52, 0,
|
|
0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 54, 0, 55, 56, 0, 57,
|
|
0, 58, 419, 59, -108, -108, 2, 3, 4, 5,
|
|
0, 6, 7, 420, 9, 10, -114, -114, -114, -114,
|
|
11, 12, 13, 14, 15, 16, 421, 422, 0, 0,
|
|
0, 19, 0, 0, 0, 20, 21, 0, 22, 0,
|
|
0, 0, 0, 23, 24, 25, 26, 0, 27, 28,
|
|
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
|
|
0, 0, 32, 33, 34, 0, 0, 0, 0, 35,
|
|
0, 36, 37, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 40, 41, 42, 43, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 44, 45, 46, 47,
|
|
48, 49, 0, 50, 0, 51, 52, 0, 0, 53,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 54, 0, 55, 56, 0, 57, 0, 58,
|
|
419, 59, -108, -108, 2, 3, 4, 5, 0, 6,
|
|
7, 420, 9, 10, 0, 0, -114, 0, 11, 12,
|
|
13, 14, 15, 16, 421, 422, 0, 0, 0, 19,
|
|
0, 0, 0, 20, 21, 0, 22, -114, -114, -114,
|
|
0, 23, 24, 25, 26, 0, 27, 28, 0, 0,
|
|
29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
|
|
32, 33, 34, 0, 0, 0, 0, 35, 0, 36,
|
|
37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 40, 41, 42, 43, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
|
|
0, 50, 0, 51, 52, 0, 0, 53, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
54, 0, 55, 56, 0, 57, 0, 58, 419, 59,
|
|
-108, -108, 2, 3, 4, 5, 0, 6, 7, 420,
|
|
9, 10, 0, 0, -114, 0, 11, 12, 13, 14,
|
|
15, 16, 421, 422, 0, 0, 0, 19, 0, 0,
|
|
0, 20, 21, 0, 22, -114, -114, 0, 0, 23,
|
|
24, 25, 26, 0, 27, 28, 0, 0, 29, 30,
|
|
31, 0, 0, 0, 0, 0, 0, 0, 32, 33,
|
|
34, 0, 0, 0, 0, 35, 0, 36, 37, 38,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
40, 41, 42, 43, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 44, 45, 46, 47, 48, 49, -114, 50,
|
|
0, 51, 52, 0, 0, 53, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
|
|
55, 56, 0, 57, 0, 58, 419, 59, -108, -108,
|
|
2, 3, 4, 5, 0, 6, 7, 420, 9, 10,
|
|
0, 0, -114, 0, 11, 12, 13, 14, 15, 16,
|
|
421, 422, 0, 0, 0, 19, 0, 0, 0, 20,
|
|
21, 0, 22, 0, -114, -114, 0, 23, 24, 25,
|
|
26, 0, 27, 28, 0, 0, 29, 30, 31, 0,
|
|
0, 0, 0, 0, 0, 0, 32, 33, 34, 0,
|
|
0, 0, 0, 35, 0, 36, 37, 38, 39, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 40, 41,
|
|
42, 43, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
44, 45, 46, 47, 48, 49, 0, 50, 0, 51,
|
|
52, 0, 0, 53, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
|
|
0, 57, 0, 58, 419, 59, -108, -108, 2, 3,
|
|
4, 5, 0, 6, 7, 420, 9, 10, 0, 0,
|
|
-114, 0, 11, 12, 13, 14, 15, 16, 421, 422,
|
|
0, 0, 0, 19, 0, 0, 0, 20, 21, 0,
|
|
22, 0, 0, 0, 0, 23, 24, 25, 26, 0,
|
|
27, 28, 0, 0, 29, 30, 31, 0, 0, 0,
|
|
0, 0, 0, 0, 32, 33, 34, 0, 0, -114,
|
|
-114, 35, 0, 36, 37, 38, 39, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 40, 41, 42, 43,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 44, 45,
|
|
46, 47, 48, 49, 0, 50, 0, 51, 52, 0,
|
|
0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 54, 0, 55, 56, 0, 57,
|
|
0, 58, 419, 59, -108, -108, 2, 3, 4, 5,
|
|
0, 6, 7, 420, 9, 10, 0, 0, -114, 0,
|
|
11, 12, 13, 14, 15, 16, 421, 422, 0, 0,
|
|
0, 19, 0, 0, 0, 20, 21, 0, 22, 0,
|
|
0, 0, 0, 23, 24, 25, 26, 0, 27, 28,
|
|
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
|
|
0, 0, 32, 33, 34, 0, 0, 0, 0, 35,
|
|
0, 36, 37, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 40, 41, 42, 43, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 44, 45, 46, 47,
|
|
48, 49, 0, 50, -114, 51, 52, 0, 0, 53,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 54, 0, 55, 56, 0, 57, 0, 58,
|
|
419, 59, -108, -108, 2, 3, 4, 5, 0, 6,
|
|
7, 420, 9, 10, 0, 0, -114, -114, 11, 12,
|
|
13, 14, 15, 16, 421, 422, 0, 0, 0, 19,
|
|
0, 0, 0, 20, 21, 0, 22, 0, 0, 0,
|
|
0, 23, 24, 25, 26, 0, 27, 28, 0, 0,
|
|
29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
|
|
32, 33, 34, 0, 0, 0, 0, 35, 0, 36,
|
|
37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 40, 41, 42, 43, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
|
|
0, 50, 0, 51, 52, 0, 0, 53, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
54, 0, 55, 56, 0, 57, 0, 58, 419, 59,
|
|
-108, -108, 2, 3, 4, 5, 0, 6, 7, 420,
|
|
9, 10, 0, 0, -114, 0, 11, 12, 13, 14,
|
|
15, 16, 421, 422, 0, 0, 0, 19, 0, 0,
|
|
0, 20, 21, 0, 22, 0, 0, 0, -114, 23,
|
|
24, 25, 26, 0, 27, 28, 0, 0, 29, 30,
|
|
31, 0, 0, 0, 0, 0, 0, 0, 32, 33,
|
|
34, 0, 0, 0, 0, 35, 0, 36, 37, 38,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
40, 41, 42, 43, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 44, 45, 46, 47, 48, 49, 0, 50,
|
|
0, 51, 52, 0, 0, 53, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
|
|
55, 56, 0, 57, 0, 58, 419, 59, -108, -108,
|
|
2, 3, 4, 5, 0, 6, 7, 420, 9, 10,
|
|
0, 0, -114, 0, 11, 12, 13, 14, 15, 16,
|
|
421, 422, 0, 0, 0, 19, 0, 0, 0, 20,
|
|
21, 0, 22, 0, 0, 0, 0, 23, 24, 25,
|
|
26, -114, 27, 28, 0, 0, 29, 30, 31, 0,
|
|
0, 0, 0, 0, 0, 0, 32, 33, 34, 0,
|
|
0, 0, 0, 35, 0, 36, 37, 38, 39, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 40, 41,
|
|
42, 43, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
44, 45, 46, 47, 48, 49, 0, 50, 0, 51,
|
|
52, 0, 0, 53, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
|
|
0, 57, 0, 58, 419, 59, -108, -108, 2, 3,
|
|
4, 5, 0, 6, 7, 420, 9, 10, 0, 0,
|
|
-114, 0, 11, 12, 13, 14, 15, 16, 421, 422,
|
|
0, 0, 0, 19, 0, 0, 0, 20, 21, 0,
|
|
22, 0, 0, 0, 0, 23, 24, 25, 26, 0,
|
|
27, 28, 0, 0, 29, 30, 31, 0, 0, 0,
|
|
0, 0, 0, 0, 32, 33, 34, 0, 0, 0,
|
|
-114, 35, 0, 36, 37, 38, 39, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 40, 41, 42, 43,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 44, 45,
|
|
46, 47, 48, 49, 0, 50, 0, 51, 52, 0,
|
|
0, 53, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 54, 0, 55, 56, 0, 57,
|
|
0, 58, 419, 59, -108, -108, 2, 3, 4, 5,
|
|
0, 6, 7, 420, 9, 10, 0, 0, 0, 0,
|
|
11, 12, 13, 14, 15, 16, 421, 422, 0, 0,
|
|
0, 19, 0, 0, 0, 20, 21, 0, 22, 0,
|
|
0, 0, 0, 23, 24, 25, 26, 0, 27, 28,
|
|
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
|
|
0, 0, 32, 33, 34, 0, 0, 0, 0, 35,
|
|
0, 36, 37, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 40, 41, 42, 43, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 44, 45, 46, 47,
|
|
48, 49, 0, 50, 0, 51, 52, 0, 0, 53,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 54, 0, 55, 56, 0, 57, 0, 58,
|
|
-114, 59, 2, 0, 4, 5, 0, 6, 155, 156,
|
|
9, 0, 0, 0, 0, 0, 11, 12, 13, 157,
|
|
158, 159, 0, 160, 0, 0, 161, 162, 0, 0,
|
|
0, 20, 21, 0, 0, 0, 0, 0, 0, 163,
|
|
0, 164, 0, 0, 27, 28, 0, 0, 165, 30,
|
|
166, 0, 0, 0, 0, 0, 0, 0, 167, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 36, 0, 38,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 168, 45, 0, 0, 48, 0, 0, 0,
|
|
0, 51, 52, 267, 0, 169, 0, 0, 0, 0,
|
|
0, 170, 171, 0, 0, 0, 0, 0, 54, 269,
|
|
0, 0, 0, 57, 0, 58, 2, 59, 4, 5,
|
|
0, 6, 155, 156, 9, 0, 0, 0, 0, 0,
|
|
11, 12, 13, 157, 158, 159, 0, 160, 0, 0,
|
|
161, 162, 0, 0, 0, 20, 21, 0, 0, 0,
|
|
0, 0, 0, 163, 0, 164, 0, 0, 27, 28,
|
|
0, 0, 165, 30, 166, 0, 0, 0, 0, 0,
|
|
0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 36, 0, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 41, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 168, 45, 0, 0,
|
|
48, 0, 0, 0, 0, 51, 52, 576, 0, 169,
|
|
0, 0, 0, 0, 0, 170, 171, 0, 0, 0,
|
|
0, 0, 54, 172, 0, 0, 0, 57, 0, 58,
|
|
2, 59, 4, 5, 0, 6, 155, 156, 9, 0,
|
|
0, 0, 0, 0, 11, 12, 13, 157, 158, 159,
|
|
0, 160, 0, 0, 161, 162, 0, 0, 0, 20,
|
|
21, 0, 0, 0, 0, 0, 0, 163, 0, 164,
|
|
0, 0, 27, 28, 0, 0, 165, 30, 166, 0,
|
|
0, 0, 0, 0, 0, 0, 167, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 36, 0, 38, 39, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
168, 45, 0, 0, 48, 0, 0, 0, 0, 51,
|
|
52, 0, 0, 169, 0, 0, 0, 0, 0, 170,
|
|
171, 0, 0, 0, 0, 0, 54, 172, 0, 0,
|
|
0, 57, 0, 58, 2, 59, 4, 5, 0, 6,
|
|
155, 156, 9, 0, 0, 0, 0, 0, 11, 12,
|
|
13, 157, 158, 159, 0, 160, 0, 0, 161, 162,
|
|
0, 0, 0, 20, 21, 0, 0, 0, 0, 0,
|
|
0, 163, 0, 164, 0, 0, 27, 28, 0, 0,
|
|
165, 30, 166, 0, 0, 0, 0, 0, 0, 0,
|
|
167, 0, 0, 0, 0, 0, 0, 0, 0, 36,
|
|
0, 38, 39, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 168, 45, 0, 0, 48, 0,
|
|
0, 0, 0, 51, 52, 0, 0, 169, 0, 0,
|
|
0, 0, 0, 170, 171, 0, 0, 0, 0, 0,
|
|
54, 265, 0, 0, 0, 57, 0, 58, 2, 59,
|
|
4, 5, 0, 6, 155, 156, 9, 0, 0, 0,
|
|
0, 0, 11, 12, 13, 157, 158, 159, 0, 160,
|
|
0, 0, 161, 162, 0, 0, 0, 20, 21, 0,
|
|
0, 0, 0, 0, 0, 163, 0, 164, 0, 0,
|
|
27, 28, 0, 0, 165, 30, 166, 0, 0, 0,
|
|
0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 36, 0, 38, 39, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 41, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 168, 45,
|
|
0, 0, 48, 0, 0, 0, 0, 51, 52, 0,
|
|
0, 169, 0, 0, 0, 0, 0, 170, 171, 0,
|
|
0, 0, 0, 0, 54, 269, 0, 0, 0, 57,
|
|
0, 58, 2, 59, 4, 5, 0, 6, 155, 156,
|
|
9, 0, 0, 0, 0, 0, 11, 12, 13, 157,
|
|
158, 159, 0, 160, 0, 0, 161, 162, 0, 0,
|
|
0, 20, 21, 0, 0, 0, 0, 0, 0, 163,
|
|
0, 164, 0, 0, 27, 28, 0, 0, 165, 30,
|
|
166, 0, 0, 0, 0, 0, 0, 0, 167, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 36, 0, 38,
|
|
39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 168, 45, 0, 0, 48, 0, 0, 0,
|
|
0, 51, 52, 0, 0, 169, 0, 0, 0, 0,
|
|
0, 170, 171, 0, 0, 0, 0, 0, 54, 684,
|
|
0, 0, 0, 57, 0, 58, 2, 59, 4, 5,
|
|
0, 6, 155, 156, 9, 0, 0, 0, 0, 0,
|
|
11, 12, 13, 157, 158, 159, 0, 160, 0, 0,
|
|
0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 163, 0, 164, 0, 0, 27, 28,
|
|
0, 0, 165, 30, 166, 0, 0, 0, 0, 0,
|
|
0, 0, 167, 0, 0, 0, 0, -327, 0, 0,
|
|
0, 36, 0, 38, 39, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 41, 0, 0, 0, 0,
|
|
0, 0, -327, -327, 367, 0, 168, 45, 0, 0,
|
|
48, 0, 0, 0, 0, 51, 52, 0, 0, 169,
|
|
0, 0, -327, -327, -327, -327, 0, -327, -327, 0,
|
|
0, 0, 54, 0, 0, 0, 0, 57, -330, 58,
|
|
0, 59, 459, 460, 461, 462, 463, 464, 465, 466,
|
|
467, 0, 0, 0, 0, 468, 469, 470, 471, 472,
|
|
473, 474, 475, -330, -330, 376, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, -330, -330, -330, -330, 0, -330, -330,
|
|
0, 0, 0, 0, 0, 0, 0, 0, -327, -326,
|
|
291, 0, 0, 459, 460, 461, 462, 463, 464, 465,
|
|
466, 467, 0, 0, 0, 0, 468, 469, 470, 471,
|
|
472, 473, 474, 475, -326, -326, 401, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, -326, -326, -326, -326, 0, -326,
|
|
-326, 0, 0, 0, 0, 0, 0, 0, 0, -330,
|
|
0, 291, 0, 0, 459, 460, 461, 462, 463, 464,
|
|
465, 466, 467, 0, 0, 0, 0, 468, 469, 470,
|
|
471, 472, 473, 474, 475, 0, 2, 0, 0, 0,
|
|
0, 0, 155, 156, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 157, 158, 159, 0, 160, 0, 0,
|
|
0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
-326, 0, 291, 163, 0, 164, 0, 0, 27, 28,
|
|
2, 0, 0, 30, 166, 0, 155, 156, 0, 0,
|
|
0, 0, 167, 0, 0, 0, 0, 157, 158, 159,
|
|
0, 160, 0, 38, 39, 162, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 41, 0, 163, 0, 164,
|
|
0, 0, 27, 28, 0, 2, 168, 30, 166, 0,
|
|
48, 155, 156, 0, 0, 0, 167, 0, 0, 169,
|
|
0, 0, 157, 158, 159, 0, 160, 0, 0, 0,
|
|
162, 0, 54, 0, 0, 0, 0, 263, 0, 748,
|
|
0, 0, 163, 0, 164, 0, 0, 27, 28, 2,
|
|
168, 0, 30, 166, 48, 155, 156, 0, 0, 0,
|
|
0, 167, 0, 169, 0, 0, 157, 158, 159, 0,
|
|
160, 0, 0, 0, 162, 0, 0, 749, 0, 0,
|
|
0, 0, 0, 0, 41, 0, 163, 0, 164, 0,
|
|
0, 27, 28, 0, 2, 168, 30, 166, 0, 48,
|
|
155, 156, 0, 0, 0, 167, 0, 0, 169, 0,
|
|
0, 157, 158, 159, 0, 160, 0, 0, 0, 162,
|
|
0, 0, 809, 0, 0, 0, 0, 0, 748, 0,
|
|
0, 163, 0, 164, 0, 0, 27, 28, 2, 168,
|
|
0, 30, 166, 48, 155, 156, 0, 0, 0, 0,
|
|
167, 0, 169, 0, 0, 157, 158, 159, 0, 160,
|
|
0, 0, 0, 162, 0, 0, 860, 0, 0, 0,
|
|
0, 0, 0, 41, 0, 163, 0, 164, 0, 0,
|
|
27, 28, 0, 2, 168, 30, 166, 0, 48, 155,
|
|
156, 0, 0, 0, 167, 0, 0, 169, 0, 0,
|
|
157, 158, 159, 0, 160, 38, 39, 0, 162, 0,
|
|
0, 902, 0, 0, 0, 0, 0, 41, 0, 0,
|
|
163, 0, 164, 0, 0, 27, 28, 2, 168, 0,
|
|
30, 166, 48, 155, 156, 0, 0, 0, 0, 167,
|
|
0, 169, 0, 0, 157, 158, 159, 0, 160, 0,
|
|
38, 39, 162, 0, 54, 0, 0, 0, 0, 0,
|
|
0, 0, 41, 0, 163, 0, 164, 0, 0, 27,
|
|
28, 0, 0, 168, 30, 166, 0, 48, 0, 0,
|
|
0, 0, 0, 167, 0, 0, 169, 0, 0, 0,
|
|
2, 0, 0, 0, 0, 0, 155, 156, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 41, 157, 158, 159,
|
|
0, 160, 0, 0, 0, 162, 0, 168, 0, 0,
|
|
0, 48, 0, 0, 0, 0, 0, 163, 538, 164,
|
|
169, 0, 27, 28, 2, 0, 0, 30, 166, 0,
|
|
155, 156, 0, 0, 0, 0, 167, 0, 0, 0,
|
|
0, 157, 158, 159, 0, 160, 0, 0, 0, 162,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
|
|
0, 163, 0, 164, 0, 0, 27, 28, 0, 0,
|
|
168, 30, 166, 0, 48, 0, 0, 0, 0, 0,
|
|
167, 765, 0, 169, 0, 0, 0, 2, 0, 0,
|
|
0, 0, 0, 155, 156, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 41, 157, 158, 159, 0, 160, 0,
|
|
0, 0, 162, 0, 168, 0, 0, 0, 48, 0,
|
|
0, 0, 0, 0, 163, 829, 164, 169, 0, 27,
|
|
28, 0, 0, 0, 30, 166, 0, 0, 0, 0,
|
|
0, 0, 0, 167, 459, 460, 461, 462, 463, 464,
|
|
465, 466, 467, 0, 0, 0, 0, 468, 469, 470,
|
|
471, 472, 473, 474, 475, 0, 41, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 168, 0, 0,
|
|
0, 48, 0, 0, 0, 0, 0, 0, 907, 0,
|
|
169, 0, 0, 0, 0, 0, 857, 459, 460, 461,
|
|
462, 463, 464, 465, 466, 467, 0, 0, 0, 0,
|
|
468, 469, 470, 471, 472, 473, 474, 475, 459, 460,
|
|
461, 462, 463, 464, 465, 466, 467, 0, 0, 0,
|
|
0, 468, 469, 470, 471, 472, 473, 474, 475, 459,
|
|
460, 461, 462, 463, 464, 465, 466, 467, 0, 894,
|
|
0, 0, 468, 469, 470, 471, 472, 473, 474, 475,
|
|
459, 460, 461, 462, 463, 464, 465, 466, 467, 0,
|
|
925, 0, 0, 468, 469, 470, 471, 472, 473, 474,
|
|
475, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 938
|
|
};
|
|
|
|
static const yytype_int16 yycheck[] =
|
|
{
|
|
0, 58, 153, 172, 625, 10, 215, 253, 253, 253,
|
|
567, 415, 416, 428, 437, 438, 179, 671, 676, 542,
|
|
183, 675, 19, 529, 579, 440, 26, 190, 237, 192,
|
|
193, 17, 36, 48, 17, 35, 330, 17, 17, 449,
|
|
36, 9, 52, 9, 207, 17, 374, 47, 3, 4,
|
|
3, 4, 36, 620, 36, 38, 39, 126, 133, 59,
|
|
0, 61, 390, 36, 0, 140, 46, 126, 36, 41,
|
|
70, 36, 72, 132, 74, 75, 36, 77, 372, 79,
|
|
36, 81, 9, 83, 651, 85, 26, 87, 67, 89,
|
|
36, 91, 36, 93, 94, 35, 265, 507, 98, 36,
|
|
269, 101, 512, 130, 104, 132, 106, 47, 518, 36,
|
|
125, 9, 36, 36, 36, 125, 10, 103, 101, 59,
|
|
0, 61, 122, 36, 124, 61, 123, 124, 132, 539,
|
|
70, 136, 72, 133, 74, 75, 132, 77, 36, 79,
|
|
140, 81, 110, 83, 110, 85, 130, 87, 703, 89,
|
|
132, 91, 36, 93, 94, 35, 814, 130, 98, 132,
|
|
683, 101, 820, 817, 104, 671, 106, 36, 123, 124,
|
|
123, 124, 132, 17, 36, 36, 132, 595, 36, 59,
|
|
801, 61, 122, 110, 124, 36, 609, 36, 132, 126,
|
|
70, 0, 72, 133, 74, 75, 600, 77, 36, 79,
|
|
140, 81, 126, 83, 126, 85, 130, 87, 132, 89,
|
|
132, 91, 110, 93, 94, 215, 773, 26, 98, 132,
|
|
36, 101, 36, 36, 104, 19, 106, 0, 126, 0,
|
|
0, 52, 777, 123, 124, 125, 17, 237, 47, 123,
|
|
124, 786, 122, 788, 124, 54, 69, 665, 132, 12,
|
|
58, 84, 61, 133, 123, 124, 26, 101, 39, 40,
|
|
140, 70, 58, 132, 126, 123, 124, 126, 130, 269,
|
|
132, 132, 690, 106, 132, 126, 0, 47, 87, 130,
|
|
89, 132, 91, 132, 93, 123, 124, 132, 61, 36,
|
|
61, 61, 710, 708, 132, 894, 542, 542, 542, 36,
|
|
857, 125, 9, 721, 125, 129, 114, 115, 116, 117,
|
|
118, 72, 73, 122, 130, 52, 132, 735, 132, 132,
|
|
116, 117, 118, 93, 133, 36, 925, 34, 35, 269,
|
|
740, 140, 125, 743, 123, 124, 0, 894, 131, 938,
|
|
750, 36, 125, 132, 754, 125, 129, 54, 55, 56,
|
|
57, 131, 59, 60, 123, 124, 766, 126, 123, 124,
|
|
121, 126, 26, 133, 130, 3, 923, 132, 925, 36,
|
|
140, 17, 125, 791, 374, 793, 123, 124, 125, 126,
|
|
36, 938, 125, 47, 17, 548, 129, 25, 125, 126,
|
|
390, 130, 38, 39, 40, 69, 34, 61, 123, 124,
|
|
810, 811, 51, 813, 555, 38, 39, 40, 125, 819,
|
|
127, 123, 124, 622, 126, 114, 834, 123, 124, 125,
|
|
838, 126, 832, 130, 126, 843, 844, 127, 428, 93,
|
|
15, 16, 17, 18, 374, 123, 124, 683, 683, 683,
|
|
440, 3, 4, 652, 253, 855, 15, 16, 17, 18,
|
|
390, 861, 129, 125, 92, 127, 126, 875, 96, 36,
|
|
269, 879, 100, 123, 124, 125, 36, 105, 886, 133,
|
|
108, 109, 110, 111, 892, 893, 140, 122, 123, 124,
|
|
118, 3, 4, 121, 125, 123, 127, 9, 428, 36,
|
|
900, 129, 36, 903, 374, 125, 0, 127, 908, 269,
|
|
440, 123, 124, 125, 36, 143, 123, 124, 125, 36,
|
|
390, 568, 34, 35, 36, 684, 934, 927, 3, 4,
|
|
36, 125, 26, 127, 9, 123, 124, 125, 125, 0,
|
|
127, 36, 54, 55, 56, 57, 9, 59, 60, 123,
|
|
124, 125, 125, 47, 127, 125, 36, 127, 428, 34,
|
|
35, 36, 552, 17, 18, 26, 19, 61, 3, 4,
|
|
440, 34, 35, 36, 38, 39, 126, 127, 125, 54,
|
|
55, 56, 57, 125, 59, 60, 47, 64, 65, 133,
|
|
125, 54, 55, 56, 57, 126, 59, 60, 110, 93,
|
|
61, 126, 597, 132, 125, 595, 9, 58, 9, 19,
|
|
605, 125, 9, 126, 126, 269, 126, 132, 130, 47,
|
|
132, 129, 552, 125, 129, 125, 127, 125, 127, 428,
|
|
99, 127, 93, 125, 84, 110, 125, 127, 61, 133,
|
|
127, 440, 127, 127, 125, 66, 140, 110, 651, 93,
|
|
93, 126, 93, 700, 93, 130, 93, 132, 234, 93,
|
|
93, 93, 652, 126, 93, 595, 93, 130, 428, 132,
|
|
74, 93, 133, 93, 93, 665, 93, 652, 507, 140,
|
|
440, 237, 236, 87, 88, 89, 90, 91, 92, 93,
|
|
94, 5, 923, 7, 8, 676, 10, 11, 12, 13,
|
|
690, 437, 942, 416, 615, 19, 20, 21, 22, 23,
|
|
24, 769, 26, 615, 552, 243, 30, 712, 708, -1,
|
|
710, -1, -1, 718, -1, 595, -1, -1, 42, 0,
|
|
44, 721, -1, 47, 48, 665, -1, -1, 52, 53,
|
|
-1, -1, -1, 542, -1, 735, -1, 61, -1, -1,
|
|
-1, -1, -1, 552, -1, 26, 70, 0, 72, 73,
|
|
690, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
84, -1, -1, -1, 428, 269, 47, -1, 708, -1,
|
|
710, 95, 96, 26, -1, 99, 440, -1, -1, -1,
|
|
61, 721, 552, -1, 108, 665, 595, -1, -1, -1,
|
|
-1, 791, -1, 793, 47, 735, -1, 121, 269, -1,
|
|
805, -1, 126, -1, 128, -1, -1, -1, 61, -1,
|
|
690, -1, 93, -1, -1, -1, 0, -1, -1, -1,
|
|
9, -1, -1, -1, -1, 595, -1, -1, 708, -1,
|
|
710, -1, -1, -1, 834, -1, -1, -1, 838, -1,
|
|
93, 721, 26, 843, 844, 34, 35, 36, -1, -1,
|
|
-1, 791, 133, 793, -1, 735, 665, -1, -1, 140,
|
|
-1, -1, -1, 47, -1, 54, 55, 56, 57, -1,
|
|
59, 60, -1, -1, 683, 875, -1, 61, -1, 879,
|
|
133, 690, -1, 888, -1, -1, 886, 140, 552, -1,
|
|
-1, -1, 892, 893, 834, 665, -1, -1, 838, 708,
|
|
-1, 710, -1, 843, 844, -1, -1, -1, -1, 93,
|
|
-1, 791, 721, 793, -1, -1, -1, -1, -1, -1,
|
|
690, 110, -1, -1, 428, -1, 735, -1, -1, -1,
|
|
930, 595, -1, -1, 934, 875, 440, 126, 708, 879,
|
|
710, 130, 942, 132, -1, -1, 886, -1, -1, 133,
|
|
-1, 721, 892, 893, 834, -1, 140, 428, 838, -1,
|
|
-1, -1, -1, 843, 844, 735, -1, -1, -1, 440,
|
|
-1, -1, -1, -1, 49, 50, -1, -1, -1, -1,
|
|
-1, -1, 791, 58, 793, -1, -1, -1, 269, -1,
|
|
930, -1, -1, -1, 934, 875, -1, -1, -1, 879,
|
|
-1, 665, 942, -1, 0, -1, 886, -1, -1, -1,
|
|
-1, -1, 892, 893, -1, -1, 269, -1, -1, -1,
|
|
-1, 791, -1, 793, -1, 834, 690, -1, -1, 838,
|
|
26, -1, -1, -1, 843, 844, 111, 112, 113, 114,
|
|
115, 116, 117, 118, 708, -1, 710, -1, 552, -1,
|
|
930, 47, -1, -1, 934, -1, -1, 721, -1, -1,
|
|
-1, -1, 942, -1, 834, 61, 875, 9, 838, -1,
|
|
879, 735, -1, 843, 844, -1, -1, 886, -1, -1,
|
|
-1, 552, -1, 892, 893, 269, -1, -1, -1, -1,
|
|
-1, 595, 34, 35, 36, -1, -1, 93, -1, -1,
|
|
-1, -1, -1, -1, -1, 875, -1, -1, -1, 879,
|
|
-1, -1, 54, 55, 56, 57, 886, 59, 60, -1,
|
|
-1, 930, 892, 893, 595, 934, -1, 791, -1, 793,
|
|
-1, -1, -1, 942, -1, -1, -1, 133, -1, -1,
|
|
-1, -1, -1, -1, 140, -1, -1, 428, -1, -1,
|
|
-1, 9, -1, -1, -1, -1, -1, -1, -1, 440,
|
|
930, 665, -1, -1, 934, -1, -1, -1, 110, -1,
|
|
834, -1, 942, -1, 838, 428, 34, 35, 36, 843,
|
|
844, -1, -1, -1, 126, -1, 690, 440, 130, -1,
|
|
132, -1, -1, -1, 665, 9, 54, 55, 56, 57,
|
|
-1, 59, 60, -1, 708, -1, 710, -1, 0, -1,
|
|
-1, 875, -1, -1, -1, 879, -1, 721, -1, 690,
|
|
34, 35, 886, -1, -1, -1, -1, -1, 892, 893,
|
|
-1, 735, -1, -1, 26, 9, -1, 708, -1, 710,
|
|
54, 55, 56, 57, 428, 59, 60, -1, -1, -1,
|
|
721, -1, 110, -1, -1, 47, 440, -1, -1, -1,
|
|
34, 35, 36, -1, 735, 0, 930, -1, 126, 61,
|
|
934, 552, 130, 269, 132, -1, -1, -1, 942, -1,
|
|
54, 55, 56, 57, -1, 59, 60, 791, -1, 793,
|
|
-1, 26, -1, -1, -1, -1, -1, -1, -1, 552,
|
|
-1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 47, -1, 595, -1, 130, -1, 132, -1,
|
|
791, -1, 793, -1, -1, -1, 61, -1, -1, -1,
|
|
834, -1, -1, 0, 838, -1, 110, -1, -1, 843,
|
|
844, 133, 595, -1, -1, -1, -1, -1, 140, -1,
|
|
-1, -1, 126, -1, -1, -1, 130, -1, 132, 26,
|
|
-1, -1, -1, 834, -1, -1, -1, 838, 552, -1,
|
|
-1, 875, 843, 844, -1, 879, -1, -1, -1, -1,
|
|
47, -1, 886, -1, 665, -1, -1, -1, 892, 893,
|
|
-1, -1, -1, -1, 61, -1, -1, -1, 133, -1,
|
|
-1, -1, -1, -1, 875, 140, -1, -1, 879, 690,
|
|
-1, 595, 665, -1, -1, 886, -1, -1, -1, -1,
|
|
-1, 892, 893, -1, -1, -1, 930, 708, -1, 710,
|
|
934, -1, 428, -1, -1, -1, -1, 690, 942, -1,
|
|
721, -1, -1, -1, 440, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 0, 735, 708, -1, 710, -1, 930,
|
|
-1, -1, -1, 934, -1, -1, 133, -1, 721, -1,
|
|
-1, 942, -1, 140, -1, -1, -1, 269, -1, 26,
|
|
5, 665, 735, 0, -1, -1, 11, 12, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
|
|
47, 26, -1, -1, -1, 30, 690, -1, -1, 26,
|
|
791, -1, 793, -1, 61, -1, -1, 42, -1, 44,
|
|
-1, 9, 47, 48, 708, -1, 710, 52, 53, -1,
|
|
47, -1, -1, -1, 269, -1, 61, 721, 791, -1,
|
|
793, -1, -1, -1, 61, -1, 34, 35, 36, -1,
|
|
-1, 735, -1, 834, -1, -1, 552, 838, -1, 84,
|
|
-1, -1, 843, 844, -1, -1, 54, 55, 56, 57,
|
|
95, 59, 60, -1, 99, -1, -1, -1, -1, -1,
|
|
0, 834, -1, 108, -1, 838, 133, -1, -1, -1,
|
|
843, 844, -1, 140, 875, -1, -1, -1, 879, 595,
|
|
-1, -1, 269, 128, -1, 886, 26, 791, -1, 793,
|
|
-1, 892, 893, -1, -1, -1, 133, -1, -1, -1,
|
|
-1, -1, 875, 140, -1, -1, 879, 47, -1, -1,
|
|
-1, -1, -1, 886, -1, -1, 428, -1, 126, 892,
|
|
893, 61, 130, -1, 132, 0, -1, -1, 440, 930,
|
|
834, -1, -1, 934, 838, -1, -1, -1, -1, 843,
|
|
844, 942, -1, -1, -1, -1, -1, -1, -1, 665,
|
|
-1, 26, -1, -1, -1, -1, -1, 930, -1, -1,
|
|
-1, 934, -1, -1, -1, -1, -1, -1, -1, 942,
|
|
-1, 875, 47, 428, 690, 879, -1, -1, -1, -1,
|
|
-1, -1, 886, -1, -1, 440, 61, -1, 892, 893,
|
|
-1, -1, 708, 133, 710, -1, -1, -1, 9, -1,
|
|
140, -1, 269, -1, -1, 721, -1, -1, -1, 9,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 735,
|
|
-1, -1, -1, 34, 35, 36, 930, -1, -1, -1,
|
|
934, -1, 269, -1, 34, 35, 36, -1, 942, -1,
|
|
552, 428, -1, 54, 55, 56, 57, -1, 59, 60,
|
|
-1, -1, -1, 440, 54, 55, 56, 57, 133, 59,
|
|
60, 9, -1, -1, -1, 140, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 791, -1, 793, -1, -1,
|
|
-1, -1, -1, 595, -1, -1, 34, 35, 36, -1,
|
|
-1, 0, -1, -1, -1, -1, -1, 552, 9, -1,
|
|
-1, -1, -1, -1, -1, -1, 54, 55, 56, 57,
|
|
-1, 59, 60, -1, -1, 126, -1, 26, 834, 130,
|
|
-1, 132, 838, 34, 35, 36, -1, 843, 844, 269,
|
|
130, -1, 132, -1, -1, -1, -1, -1, 47, -1,
|
|
595, -1, 9, 54, 55, 56, 57, -1, 59, 60,
|
|
-1, -1, 61, 665, 9, -1, -1, -1, -1, 875,
|
|
-1, 428, -1, 879, -1, 552, -1, 34, 35, 36,
|
|
886, -1, -1, 440, -1, -1, 892, 893, 690, 34,
|
|
35, 36, 130, -1, 132, -1, -1, 54, 55, 56,
|
|
57, 428, 59, 60, 269, -1, 708, -1, 710, 54,
|
|
55, 56, 57, 440, 59, 60, -1, -1, 595, 721,
|
|
665, -1, 0, -1, 930, -1, -1, -1, 934, 130,
|
|
-1, 132, -1, 735, 133, -1, 942, -1, -1, -1,
|
|
-1, 140, -1, -1, -1, 690, -1, -1, 26, -1,
|
|
-1, -1, -1, -1, -1, 9, -1, -1, -1, -1,
|
|
-1, -1, -1, 708, -1, 710, -1, -1, -1, 47,
|
|
-1, -1, -1, 130, -1, 132, 721, -1, -1, -1,
|
|
34, 35, 36, 61, -1, 130, -1, 132, 665, 791,
|
|
735, 793, -1, -1, -1, 552, -1, -1, 428, -1,
|
|
54, 55, 56, 57, -1, 59, 60, -1, -1, -1,
|
|
440, -1, -1, 690, -1, -1, -1, -1, -1, 0,
|
|
-1, -1, -1, -1, -1, 552, -1, -1, -1, -1,
|
|
-1, 708, 834, 710, -1, -1, 838, -1, 595, -1,
|
|
-1, 843, 844, -1, 721, 26, 791, -1, 793, -1,
|
|
-1, -1, -1, -1, -1, 133, 9, -1, 735, -1,
|
|
-1, -1, 140, 428, -1, -1, 47, -1, 595, -1,
|
|
269, -1, -1, 875, -1, 440, 130, 879, 132, -1,
|
|
61, 34, 35, 36, 886, -1, -1, -1, -1, 834,
|
|
892, 893, -1, 838, -1, -1, -1, -1, 843, 844,
|
|
-1, 54, 55, 56, 57, -1, 59, 60, 665, -1,
|
|
-1, -1, -1, -1, 791, -1, 793, -1, -1, -1,
|
|
-1, -1, 552, -1, 9, -1, -1, -1, 930, -1,
|
|
875, -1, 934, 690, 879, -1, -1, -1, 665, -1,
|
|
942, 886, -1, -1, -1, -1, -1, 892, 893, 34,
|
|
35, 708, 133, 710, -1, -1, -1, 834, -1, 140,
|
|
-1, 838, -1, 690, 721, 595, 843, 844, -1, 54,
|
|
55, 56, 57, -1, 59, 60, -1, 130, 735, 132,
|
|
-1, 708, -1, 710, -1, 930, -1, 552, -1, 934,
|
|
-1, 269, 9, -1, 721, -1, -1, 942, 875, -1,
|
|
0, -1, 879, -1, -1, -1, -1, -1, 735, 886,
|
|
-1, -1, -1, -1, -1, 892, 893, 34, 35, -1,
|
|
-1, -1, -1, -1, 0, -1, -1, -1, -1, 428,
|
|
595, -1, -1, -1, 791, 665, 793, 54, 55, 56,
|
|
57, 440, 59, 60, -1, 130, -1, 132, 9, -1,
|
|
26, -1, -1, 930, -1, -1, -1, 934, -1, -1,
|
|
690, 61, -1, -1, 791, 942, 793, -1, -1, -1,
|
|
-1, 47, -1, 34, 35, -1, -1, 834, 708, -1,
|
|
710, 838, -1, -1, -1, 61, 843, 844, 269, -1,
|
|
-1, 721, -1, 54, 55, 56, 57, 0, 59, 60,
|
|
665, -1, -1, -1, -1, 735, -1, 834, -1, -1,
|
|
-1, 838, -1, 130, -1, 132, 843, 844, 875, -1,
|
|
-1, 0, 879, 26, -1, 690, -1, -1, -1, 886,
|
|
-1, -1, -1, 133, -1, 892, 893, -1, -1, -1,
|
|
140, -1, -1, 708, 47, 710, -1, -1, 875, -1,
|
|
428, -1, 879, 552, -1, -1, 721, 133, 61, 886,
|
|
-1, 791, 440, 793, 140, 892, 893, -1, -1, 130,
|
|
735, 132, -1, 930, 9, -1, -1, 934, -1, -1,
|
|
-1, -1, 61, -1, -1, 942, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 595, -1, -1, 34,
|
|
35, -1, -1, 930, 834, -1, -1, 934, 838, -1,
|
|
-1, -1, -1, 843, 844, 942, -1, -1, -1, 54,
|
|
55, 56, 57, -1, 59, 60, 791, -1, 793, -1,
|
|
133, -1, -1, -1, -1, -1, -1, 140, -1, 9,
|
|
-1, -1, 0, -1, -1, 875, -1, 428, -1, 879,
|
|
-1, -1, -1, -1, 133, -1, 886, -1, -1, 440,
|
|
-1, 140, 892, 893, 34, 35, 665, -1, -1, 834,
|
|
-1, -1, -1, 838, 552, -1, -1, -1, 843, 844,
|
|
-1, -1, -1, -1, 54, 55, 56, 57, -1, 59,
|
|
60, 690, -1, 269, -1, 130, -1, 132, -1, -1,
|
|
930, -1, -1, 61, 934, -1, -1, -1, 9, 708,
|
|
875, 710, 942, -1, 879, -1, -1, 595, -1, -1,
|
|
-1, 886, 721, -1, -1, -1, -1, 892, 893, -1,
|
|
-1, -1, -1, 34, 35, 36, 735, -1, 9, -1,
|
|
110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 0, 54, 55, 56, 57, -1, 59, 60,
|
|
130, -1, -1, 34, 35, 930, 269, -1, -1, 934,
|
|
-1, 552, -1, -1, -1, 133, -1, 942, -1, -1,
|
|
-1, -1, 140, 54, 55, 56, 57, 665, 59, 60,
|
|
-1, -1, 791, -1, 793, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 74, 75, 76, 77, 78, 79, 80,
|
|
81, 82, 690, 61, 595, -1, 87, 88, 89, 90,
|
|
91, 92, 93, 94, 9, -1, -1, -1, 428, 130,
|
|
708, -1, 710, -1, -1, 834, -1, -1, -1, 838,
|
|
440, -1, -1, 721, 843, 844, -1, -1, -1, 34,
|
|
35, 36, 428, -1, -1, -1, -1, 735, -1, 130,
|
|
-1, 132, -1, -1, 440, -1, -1, -1, -1, 54,
|
|
55, 56, 57, -1, 59, 60, 875, -1, -1, -1,
|
|
879, -1, -1, -1, 665, 133, -1, 886, -1, -1,
|
|
-1, -1, 140, 892, 893, -1, -1, -1, -1, 5,
|
|
-1, -1, -1, -1, -1, 11, 12, -1, -1, 690,
|
|
-1, -1, -1, 791, -1, 793, 22, 23, 24, -1,
|
|
26, -1, -1, -1, 30, 428, -1, 708, -1, 710,
|
|
-1, 930, -1, -1, -1, 934, 42, 440, 44, -1,
|
|
721, 47, 48, 942, -1, 130, 52, 53, -1, 428,
|
|
31, 32, 33, -1, 735, 61, 834, -1, -1, -1,
|
|
838, 440, -1, -1, -1, 843, 844, -1, 49, 50,
|
|
-1, -1, -1, -1, -1, -1, 552, 58, 84, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 95,
|
|
-1, -1, -1, 99, -1, 595, -1, 875, -1, -1,
|
|
-1, 879, 108, -1, -1, -1, -1, -1, 886, -1,
|
|
791, -1, 793, -1, 892, 893, -1, 123, 124, 595,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
|
|
111, 112, 113, 114, 115, 116, 117, 118, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 552,
|
|
-1, -1, 930, 834, -1, -1, 934, 838, -1, -1,
|
|
-1, -1, 843, 844, 942, 665, -1, -1, -1, -1,
|
|
428, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 440, -1, -1, -1, -1, -1, -1, 665,
|
|
690, -1, 595, -1, 875, -1, -1, -1, 879, -1,
|
|
-1, -1, -1, -1, -1, 886, -1, -1, 708, -1,
|
|
710, 892, 893, -1, 690, -1, 595, -1, -1, -1,
|
|
-1, 721, -1, 74, 75, 76, 77, 78, 79, 80,
|
|
81, 82, 708, -1, 710, 735, 87, 88, 89, 90,
|
|
91, 92, 93, 94, -1, 721, -1, -1, -1, 930,
|
|
-1, -1, -1, 934, -1, -1, -1, -1, -1, 735,
|
|
-1, 942, 665, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
428, 132, -1, -1, -1, -1, 665, 690, -1, -1,
|
|
-1, 791, 440, 793, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 708, -1, 710, -1, -1,
|
|
-1, 690, -1, -1, -1, 791, -1, 793, 721, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 708,
|
|
-1, 710, 735, -1, 834, -1, -1, 595, 838, -1,
|
|
-1, -1, 721, 843, 844, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 735, -1, 834, -1,
|
|
-1, -1, 838, -1, -1, -1, -1, 843, 844, -1,
|
|
-1, -1, -1, -1, -1, 875, -1, -1, -1, 879,
|
|
-1, -1, -1, -1, -1, -1, 886, -1, 791, -1,
|
|
793, -1, 892, 893, -1, -1, -1, -1, -1, 875,
|
|
-1, -1, -1, 879, -1, -1, -1, 665, -1, -1,
|
|
886, -1, 791, -1, 793, -1, 892, 893, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
930, 834, 690, -1, 934, 838, -1, -1, -1, -1,
|
|
843, 844, 942, -1, -1, -1, -1, 595, -1, -1,
|
|
708, -1, 710, -1, 930, 834, -1, -1, 934, 838,
|
|
-1, -1, -1, 721, 843, 844, 942, -1, -1, -1,
|
|
-1, -1, 875, -1, -1, -1, 879, 735, -1, -1,
|
|
-1, 27, 28, 886, -1, 31, 32, 33, -1, 892,
|
|
893, -1, -1, -1, -1, -1, 875, -1, -1, -1,
|
|
879, -1, -1, 49, 50, -1, -1, 886, -1, -1,
|
|
-1, -1, 58, 892, 893, -1, -1, 665, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 930, -1, -1,
|
|
-1, 934, -1, 791, -1, 793, -1, -1, -1, 942,
|
|
-1, -1, 690, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 930, -1, -1, -1, 934, -1, -1, -1, -1,
|
|
708, -1, 710, 942, 110, 111, 112, 113, 114, 115,
|
|
116, 117, 118, 721, -1, -1, 834, 5, -1, 125,
|
|
838, -1, -1, 11, 12, 843, 844, 735, -1, -1,
|
|
-1, -1, -1, -1, 22, 23, 24, -1, 26, -1,
|
|
-1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 42, -1, 44, 875, -1, 47,
|
|
48, 879, -1, -1, 52, 53, -1, -1, 886, -1,
|
|
-1, -1, -1, 61, 892, 893, -1, -1, -1, -1,
|
|
-1, -1, -1, 791, -1, 793, -1, -1, -1, 14,
|
|
15, 16, -1, -1, -1, -1, 84, -1, -1, -1,
|
|
-1, 26, -1, -1, -1, -1, -1, 95, -1, -1,
|
|
-1, 99, 930, -1, -1, 40, 934, 42, 43, -1,
|
|
108, -1, 47, -1, 942, -1, 834, -1, -1, -1,
|
|
838, -1, -1, -1, 59, 843, 844, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 70, -1, 72, -1, 74,
|
|
75, -1, 77, -1, 79, -1, 81, -1, 83, -1,
|
|
85, -1, 87, -1, 89, -1, 91, 875, 93, 94,
|
|
-1, 879, -1, 98, -1, -1, 101, -1, 886, 104,
|
|
-1, 106, -1, -1, 892, 893, -1, 72, -1, 74,
|
|
75, -1, 77, -1, 79, -1, 81, 122, 83, 124,
|
|
85, -1, 87, -1, 89, -1, 91, -1, 93, 94,
|
|
-1, -1, -1, 98, -1, -1, 101, -1, -1, 104,
|
|
-1, 106, 930, -1, -1, -1, 934, 152, 153, -1,
|
|
-1, -1, -1, -1, 942, -1, -1, 122, -1, 124,
|
|
-1, 0, 1, -1, -1, -1, -1, 172, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 67, 68, 69, -1,
|
|
71, -1, 73, -1, -1, 76, -1, 78, -1, 80,
|
|
-1, -1, -1, 84, -1, 86, -1, -1, -1, -1,
|
|
215, 92, -1, -1, 219, 96, -1, -1, -1, 100,
|
|
-1, 102, 61, -1, 105, -1, -1, -1, -1, -1,
|
|
235, 236, 237, -1, -1, -1, -1, -1, -1, 120,
|
|
121, 246, 123, -1, -1, 27, 28, 252, 253, 31,
|
|
32, 33, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
265, -1, -1, -1, 269, -1, -1, 49, 50, -1,
|
|
-1, -1, -1, -1, -1, -1, 58, -1, -1, -1,
|
|
119, -1, 287, 288, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 173, 174, 175, 176, 177, 178, 179, 180,
|
|
-1, 182, 183, -1, -1, 186, -1, 188, -1, 190,
|
|
149, 192, 193, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 205, -1, 207, 208, 110, 111,
|
|
112, 113, 114, 115, 116, 117, 118, -1, -1, -1,
|
|
-1, 123, 124, -1, 225, -1, 227, 228, 229, -1,
|
|
-1, 232, 233, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 9, -1, -1, 374,
|
|
-1, 210, -1, 212, -1, -1, 257, -1, -1, 218,
|
|
-1, -1, -1, -1, -1, 390, -1, -1, -1, -1,
|
|
-1, 34, 35, 36, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 244, -1, 246, -1, -1,
|
|
249, 54, 55, 56, 57, -1, 59, 60, -1, -1,
|
|
-1, -1, 261, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
|
|
-1, -1, 281, -1, 87, 88, 89, 90, 91, 92,
|
|
93, 94, -1, -1, -1, -1, -1, 462, -1, -1,
|
|
-1, -1, -1, -1, -1, 346, 471, 5, -1, 7,
|
|
8, -1, 10, 11, 12, 13, -1, -1, -1, -1,
|
|
-1, 19, 20, 21, 22, 23, 24, 130, 26, 132,
|
|
-1, 29, 30, -1, -1, -1, 34, 35, 503, -1,
|
|
505, -1, -1, -1, 42, -1, 44, -1, -1, 47,
|
|
48, -1, -1, 51, 52, 53, -1, -1, -1, -1,
|
|
-1, -1, -1, 61, 529, -1, -1, -1, -1, -1,
|
|
-1, -1, 70, -1, 72, 73, -1, 542, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 84, 552, -1, -1,
|
|
555, -1, -1, -1, -1, -1, -1, 95, 96, -1,
|
|
-1, 99, -1, -1, -1, -1, 104, 105, 106, 107,
|
|
108, -1, 411, -1, -1, -1, 114, 115, -1, -1,
|
|
-1, -1, -1, 121, 122, -1, -1, -1, 126, -1,
|
|
128, -1, 130, -1, -1, -1, -1, 602, 603, -1,
|
|
439, -1, -1, -1, -1, -1, -1, -1, 447, 5,
|
|
-1, 450, -1, 452, -1, 11, 12, 622, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 22, 23, 24, -1,
|
|
26, -1, -1, -1, 30, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 42, 652, 44, -1,
|
|
655, 47, 48, -1, 659, 660, 52, 53, -1, -1,
|
|
-1, 500, -1, 502, 669, 61, 671, 548, -1, -1,
|
|
675, 676, -1, -1, 513, -1, 681, -1, 683, 684,
|
|
-1, 520, 10, 564, 523, 524, -1, 526, 84, -1,
|
|
-1, 530, 20, 21, -1, -1, -1, -1, 537, 95,
|
|
-1, -1, -1, 99, -1, -1, -1, -1, -1, -1,
|
|
106, -1, 108, -1, 553, -1, -1, 5, -1, -1,
|
|
-1, -1, 50, 11, 12, -1, 122, -1, -1, 57,
|
|
58, -1, -1, -1, 22, 23, 24, -1, 26, -1,
|
|
-1, -1, 30, 748, 749, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 42, -1, 44, -1, -1, 47,
|
|
48, -1, -1, -1, 52, 53, -1, 606, -1, -1,
|
|
775, -1, 777, 61, -1, -1, -1, -1, -1, -1,
|
|
-1, 786, -1, 788, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 84, -1, -1, -1,
|
|
-1, -1, -1, -1, 809, -1, -1, 95, 136, 814,
|
|
-1, 99, 817, -1, 653, 820, -1, -1, 106, 147,
|
|
108, -1, 661, -1, 663, -1, 154, -1, -1, -1,
|
|
-1, 27, 671, 161, 122, 31, 32, 33, -1, -1,
|
|
-1, -1, 170, 171, -1, -1, 851, -1, -1, -1,
|
|
-1, -1, 691, 49, 50, 860, -1, 696, 863, 698,
|
|
-1, -1, 58, -1, -1, -1, 871, -1, -1, -1,
|
|
-1, -1, 711, -1, -1, 714, 715, 716, -1, -1,
|
|
-1, 720, -1, -1, 723, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 902, -1, -1,
|
|
-1, -1, -1, -1, 9, -1, -1, -1, 747, -1,
|
|
-1, 239, -1, -1, 110, 111, 112, 113, 114, 115,
|
|
116, 117, 118, -1, -1, 253, -1, -1, -1, 34,
|
|
35, 36, 260, -1, -1, 263, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 949, 950, 785, -1, -1, 54,
|
|
55, 56, 57, 792, 59, 60, 795, -1, -1, -1,
|
|
-1, -1, -1, 291, -1, -1, -1, -1, -1, 74,
|
|
75, 76, 77, 78, 79, 80, 81, 82, -1, 818,
|
|
-1, -1, 87, 88, 89, 90, 91, 92, 93, 94,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 845, -1, -1, -1,
|
|
-1, -1, -1, -1, 853, 854, -1, 9, -1, -1,
|
|
859, 126, -1, -1, -1, 130, -1, 132, -1, -1,
|
|
869, 870, -1, -1, 873, -1, -1, 876, 877, -1,
|
|
-1, -1, 34, 35, 36, -1, -1, -1, -1, -1,
|
|
-1, -1, 380, -1, -1, 383, 384, 385, 386, 387,
|
|
388, 389, 54, 55, 56, 57, -1, 59, 60, 397,
|
|
-1, -1, -1, -1, -1, -1, -1, 916, -1, -1,
|
|
919, -1, 74, 75, 76, 77, 78, 79, 80, 81,
|
|
82, -1, -1, -1, -1, 87, 88, 89, 90, 91,
|
|
92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 27, 28, -1, -1, 31, 32, 33, -1,
|
|
-1, -1, 27, 28, -1, -1, 31, 32, 33, -1,
|
|
-1, 123, 124, 125, 49, 50, -1, -1, 130, -1,
|
|
132, -1, -1, 58, 49, 50, -1, -1, -1, -1,
|
|
-1, -1, -1, 58, 482, 483, 484, 485, 486, 487,
|
|
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
|
|
498, 499, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 516, -1,
|
|
-1, -1, 107, -1, 522, 110, 111, 112, 113, 114,
|
|
115, 116, 117, 118, -1, 110, 111, 112, 113, 114,
|
|
115, 116, 117, 118, 542, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 551, 5, -1, 7, 8, -1, 10,
|
|
11, 12, 13, -1, -1, -1, -1, 565, 19, 20,
|
|
21, 22, 23, 24, -1, 26, -1, -1, 29, 30,
|
|
-1, 579, -1, 34, 35, -1, -1, -1, -1, -1,
|
|
-1, 42, -1, 44, -1, -1, 47, 48, -1, 597,
|
|
51, 52, 53, -1, -1, -1, -1, 605, 27, 28,
|
|
61, -1, 31, 32, 33, 613, -1, -1, -1, 70,
|
|
618, 72, 73, -1, -1, -1, -1, -1, -1, -1,
|
|
49, 50, -1, 84, -1, -1, -1, -1, -1, 58,
|
|
-1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
|
|
-1, -1, -1, 104, 105, -1, -1, 108, -1, -1,
|
|
-1, -1, -1, 114, 115, -1, -1, -1, -1, -1,
|
|
121, 122, -1, -1, 125, 126, -1, 128, -1, 130,
|
|
-1, -1, -1, -1, -1, 683, -1, -1, 107, -1,
|
|
-1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
|
|
-1, -1, -1, -1, -1, 703, -1, -1, 706, -1,
|
|
-1, -1, -1, -1, 712, -1, -1, -1, -1, -1,
|
|
718, -1, -1, -1, -1, -1, 724, -1, -1, -1,
|
|
-1, -1, -1, 731, -1, -1, -1, -1, 736, -1,
|
|
-1, -1, 0, 1, -1, 3, 4, 5, 6, 7,
|
|
8, -1, 10, 11, 12, 13, 14, -1, -1, -1,
|
|
-1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
|
|
-1, 769, 30, -1, -1, -1, 34, 35, -1, 37,
|
|
-1, -1, -1, -1, 42, 43, 44, 45, -1, 47,
|
|
48, -1, -1, 51, 52, 53, -1, -1, -1, -1,
|
|
798, -1, 800, 61, 62, 63, -1, 805, -1, -1,
|
|
68, -1, 70, 71, 72, 73, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 83, 84, 85, 86, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 95, 96, 97,
|
|
98, 99, 100, -1, 102, -1, 104, 105, -1, -1,
|
|
108, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 121, -1, 123, 124, -1, 126, -1,
|
|
128, -1, 130, 0, 1, -1, 3, 4, 5, 6,
|
|
7, 8, -1, 10, 11, 12, 13, 14, -1, -1,
|
|
888, -1, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
-1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
|
|
37, -1, -1, -1, -1, 42, 43, 44, 45, -1,
|
|
47, 48, -1, -1, 51, 52, 53, -1, -1, -1,
|
|
-1, -1, -1, -1, 61, 62, 63, -1, -1, -1,
|
|
-1, 68, -1, 70, 71, 72, 73, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
|
|
97, 98, 99, 100, -1, 102, -1, 104, 105, -1,
|
|
-1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 121, -1, 123, 124, -1, 126,
|
|
-1, 128, 1, 130, 3, 4, 5, 6, 7, 8,
|
|
-1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
|
19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, 34, 35, -1, 37, 38,
|
|
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, 62, 63, 64, 65, 66, 67, 68,
|
|
-1, 70, 71, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 83, 84, 85, 86, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
|
|
99, 100, 101, 102, 103, 104, 105, -1, -1, 108,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 121, -1, 123, 124, -1, 126, -1, 128,
|
|
129, 130, 1, -1, 3, 4, 5, 6, 7, 8,
|
|
-1, 10, 11, 12, 13, 14, -1, -1, 17, -1,
|
|
19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
|
|
-1, -1, -1, 42, 43, 44, 45, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, 62, 63, 64, 65, 66, 67, 68,
|
|
-1, 70, 71, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 83, 84, 85, 86, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
|
|
99, 100, -1, 102, -1, 104, 105, -1, -1, 108,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 121, -1, 123, 124, -1, 126, -1, 128,
|
|
1, 130, 3, 4, 5, 6, 7, 8, -1, 10,
|
|
11, 12, 13, 14, -1, -1, 17, -1, 19, 20,
|
|
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
|
|
-1, -1, -1, 34, 35, -1, 37, 38, 39, 40,
|
|
-1, 42, 43, 44, 45, -1, 47, 48, -1, -1,
|
|
51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
|
|
61, 62, 63, -1, -1, -1, -1, 68, -1, 70,
|
|
71, 72, 73, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 83, 84, 85, 86, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 95, 96, 97, 98, 99, 100,
|
|
-1, 102, -1, 104, 105, -1, -1, 108, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
121, -1, 123, 124, -1, 126, -1, 128, 1, 130,
|
|
3, 4, 5, 6, 7, 8, -1, 10, 11, 12,
|
|
13, 14, -1, -1, 17, -1, 19, 20, 21, 22,
|
|
23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
|
|
-1, 34, 35, -1, 37, 38, 39, -1, -1, 42,
|
|
43, 44, 45, -1, 47, 48, -1, -1, 51, 52,
|
|
53, -1, -1, -1, -1, -1, -1, -1, 61, 62,
|
|
63, -1, -1, -1, -1, 68, -1, 70, 71, 72,
|
|
73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
83, 84, 85, 86, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 95, 96, 97, 98, 99, 100, 101, 102,
|
|
-1, 104, 105, -1, -1, 108, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 121, -1,
|
|
123, 124, -1, 126, -1, 128, 1, 130, 3, 4,
|
|
5, 6, 7, 8, -1, 10, 11, 12, 13, 14,
|
|
-1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
|
|
25, 26, -1, -1, -1, 30, -1, -1, -1, 34,
|
|
35, -1, 37, 38, 39, 40, -1, 42, 43, 44,
|
|
45, -1, 47, 48, -1, -1, 51, 52, 53, -1,
|
|
-1, -1, -1, -1, -1, -1, 61, 62, 63, -1,
|
|
-1, -1, -1, 68, -1, 70, 71, 72, 73, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 83, 84,
|
|
85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
95, 96, 97, 98, 99, 100, -1, 102, -1, 104,
|
|
105, -1, -1, 108, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 121, -1, 123, 124,
|
|
-1, 126, -1, 128, 1, 130, 3, 4, 5, 6,
|
|
7, 8, -1, 10, 11, 12, 13, 14, -1, -1,
|
|
17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
-1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
|
|
37, 38, 39, -1, -1, 42, 43, 44, 45, -1,
|
|
47, 48, -1, -1, 51, 52, 53, -1, -1, -1,
|
|
-1, -1, -1, -1, 61, 62, 63, -1, -1, -1,
|
|
-1, 68, -1, 70, 71, 72, 73, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
|
|
97, 98, 99, 100, 101, 102, -1, 104, 105, -1,
|
|
-1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 121, -1, 123, 124, -1, 126,
|
|
-1, 128, 1, 130, 3, 4, 5, 6, 7, 8,
|
|
-1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
|
19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
|
|
-1, -1, -1, 42, 43, 44, 45, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, 62, 63, -1, -1, -1, -1, 68,
|
|
-1, 70, 71, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 83, 84, 85, 86, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
|
|
99, 100, -1, 102, -1, 104, 105, -1, -1, 108,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 121, -1, 123, 124, -1, 126, -1, 128,
|
|
1, 130, 3, 4, 5, 6, 7, 8, -1, 10,
|
|
11, 12, 13, 14, -1, -1, 17, -1, 19, 20,
|
|
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
|
|
-1, -1, -1, 34, 35, -1, 37, 38, 39, 40,
|
|
-1, 42, 43, 44, 45, -1, 47, 48, -1, -1,
|
|
51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
|
|
61, 62, 63, -1, -1, -1, -1, 68, -1, 70,
|
|
71, 72, 73, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 83, 84, 85, 86, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 95, 96, 97, 98, 99, 100,
|
|
-1, 102, -1, 104, 105, -1, -1, 108, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
121, -1, 123, 124, -1, 126, -1, 128, 1, 130,
|
|
3, 4, 5, 6, 7, 8, -1, 10, 11, 12,
|
|
13, 14, -1, -1, 17, -1, 19, 20, 21, 22,
|
|
23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
|
|
-1, 34, 35, -1, 37, 38, 39, -1, -1, 42,
|
|
43, 44, 45, -1, 47, 48, -1, -1, 51, 52,
|
|
53, -1, -1, -1, -1, -1, -1, -1, 61, 62,
|
|
63, -1, -1, -1, -1, 68, -1, 70, 71, 72,
|
|
73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
83, 84, 85, 86, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 95, 96, 97, 98, 99, 100, 101, 102,
|
|
-1, 104, 105, -1, -1, 108, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 121, -1,
|
|
123, 124, -1, 126, -1, 128, 1, 130, 3, 4,
|
|
5, 6, 7, 8, -1, 10, 11, 12, 13, 14,
|
|
-1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
|
|
25, 26, -1, -1, -1, 30, -1, -1, -1, 34,
|
|
35, -1, 37, -1, 39, 40, -1, 42, 43, 44,
|
|
45, -1, 47, 48, -1, -1, 51, 52, 53, -1,
|
|
-1, -1, -1, -1, -1, -1, 61, 62, 63, -1,
|
|
-1, -1, -1, 68, -1, 70, 71, 72, 73, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 83, 84,
|
|
85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
95, 96, 97, 98, 99, 100, -1, 102, -1, 104,
|
|
105, -1, -1, 108, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 121, -1, 123, 124,
|
|
-1, 126, -1, 128, 1, 130, 3, 4, 5, 6,
|
|
7, 8, -1, 10, 11, 12, 13, 14, -1, -1,
|
|
17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
-1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
|
|
37, -1, -1, -1, -1, 42, 43, 44, 45, -1,
|
|
47, 48, -1, -1, 51, 52, 53, -1, -1, -1,
|
|
-1, -1, -1, -1, 61, 62, 63, -1, -1, 66,
|
|
67, 68, -1, 70, 71, 72, 73, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
|
|
97, 98, 99, 100, -1, 102, -1, 104, 105, -1,
|
|
-1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 121, -1, 123, 124, -1, 126,
|
|
-1, 128, 1, 130, 3, 4, 5, 6, 7, 8,
|
|
-1, 10, 11, 12, 13, 14, -1, -1, 17, -1,
|
|
19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
|
|
-1, -1, -1, 42, 43, 44, 45, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, 62, 63, -1, -1, -1, -1, 68,
|
|
-1, 70, 71, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 83, 84, 85, 86, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
|
|
99, 100, -1, 102, 103, 104, 105, -1, -1, 108,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 121, -1, 123, 124, -1, 126, -1, 128,
|
|
1, 130, 3, 4, 5, 6, 7, 8, -1, 10,
|
|
11, 12, 13, 14, -1, -1, 17, 18, 19, 20,
|
|
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
|
|
-1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
|
|
-1, 42, 43, 44, 45, -1, 47, 48, -1, -1,
|
|
51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
|
|
61, 62, 63, -1, -1, -1, -1, 68, -1, 70,
|
|
71, 72, 73, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 83, 84, 85, 86, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 95, 96, 97, 98, 99, 100,
|
|
-1, 102, -1, 104, 105, -1, -1, 108, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
121, -1, 123, 124, -1, 126, -1, 128, 1, 130,
|
|
3, 4, 5, 6, 7, 8, -1, 10, 11, 12,
|
|
13, 14, -1, -1, 17, -1, 19, 20, 21, 22,
|
|
23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
|
|
-1, 34, 35, -1, 37, -1, -1, -1, 41, 42,
|
|
43, 44, 45, -1, 47, 48, -1, -1, 51, 52,
|
|
53, -1, -1, -1, -1, -1, -1, -1, 61, 62,
|
|
63, -1, -1, -1, -1, 68, -1, 70, 71, 72,
|
|
73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
83, 84, 85, 86, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 95, 96, 97, 98, 99, 100, -1, 102,
|
|
-1, 104, 105, -1, -1, 108, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 121, -1,
|
|
123, 124, -1, 126, -1, 128, 1, 130, 3, 4,
|
|
5, 6, 7, 8, -1, 10, 11, 12, 13, 14,
|
|
-1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
|
|
25, 26, -1, -1, -1, 30, -1, -1, -1, 34,
|
|
35, -1, 37, -1, -1, -1, -1, 42, 43, 44,
|
|
45, 46, 47, 48, -1, -1, 51, 52, 53, -1,
|
|
-1, -1, -1, -1, -1, -1, 61, 62, 63, -1,
|
|
-1, -1, -1, 68, -1, 70, 71, 72, 73, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 83, 84,
|
|
85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
95, 96, 97, 98, 99, 100, -1, 102, -1, 104,
|
|
105, -1, -1, 108, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 121, -1, 123, 124,
|
|
-1, 126, -1, 128, 1, 130, 3, 4, 5, 6,
|
|
7, 8, -1, 10, 11, 12, 13, 14, -1, -1,
|
|
17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
-1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
|
|
37, -1, -1, -1, -1, 42, 43, 44, 45, -1,
|
|
47, 48, -1, -1, 51, 52, 53, -1, -1, -1,
|
|
-1, -1, -1, -1, 61, 62, 63, -1, -1, -1,
|
|
67, 68, -1, 70, 71, 72, 73, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 83, 84, 85, 86,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
|
|
97, 98, 99, 100, -1, 102, -1, 104, 105, -1,
|
|
-1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 121, -1, 123, 124, -1, 126,
|
|
-1, 128, 1, 130, 3, 4, 5, 6, 7, 8,
|
|
-1, 10, 11, 12, 13, 14, -1, -1, -1, -1,
|
|
19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
|
|
-1, -1, -1, 42, 43, 44, 45, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, 62, 63, -1, -1, -1, -1, 68,
|
|
-1, 70, 71, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 83, 84, 85, 86, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, 97, 98,
|
|
99, 100, -1, 102, -1, 104, 105, -1, -1, 108,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 121, -1, 123, 124, -1, 126, -1, 128,
|
|
129, 130, 5, -1, 7, 8, -1, 10, 11, 12,
|
|
13, -1, -1, -1, -1, -1, 19, 20, 21, 22,
|
|
23, 24, -1, 26, -1, -1, 29, 30, -1, -1,
|
|
-1, 34, 35, -1, -1, -1, -1, -1, -1, 42,
|
|
-1, 44, -1, -1, 47, 48, -1, -1, 51, 52,
|
|
53, -1, -1, -1, -1, -1, -1, -1, 61, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 70, -1, 72,
|
|
73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 84, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 95, 96, -1, -1, 99, -1, -1, -1,
|
|
-1, 104, 105, 106, -1, 108, -1, -1, -1, -1,
|
|
-1, 114, 115, -1, -1, -1, -1, -1, 121, 122,
|
|
-1, -1, -1, 126, -1, 128, 5, 130, 7, 8,
|
|
-1, 10, 11, 12, 13, -1, -1, -1, -1, -1,
|
|
19, 20, 21, 22, 23, 24, -1, 26, -1, -1,
|
|
29, 30, -1, -1, -1, 34, 35, -1, -1, -1,
|
|
-1, -1, -1, 42, -1, 44, -1, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 70, -1, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 84, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 95, 96, -1, -1,
|
|
99, -1, -1, -1, -1, 104, 105, 106, -1, 108,
|
|
-1, -1, -1, -1, -1, 114, 115, -1, -1, -1,
|
|
-1, -1, 121, 122, -1, -1, -1, 126, -1, 128,
|
|
5, 130, 7, 8, -1, 10, 11, 12, 13, -1,
|
|
-1, -1, -1, -1, 19, 20, 21, 22, 23, 24,
|
|
-1, 26, -1, -1, 29, 30, -1, -1, -1, 34,
|
|
35, -1, -1, -1, -1, -1, -1, 42, -1, 44,
|
|
-1, -1, 47, 48, -1, -1, 51, 52, 53, -1,
|
|
-1, -1, -1, -1, -1, -1, 61, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 70, -1, 72, 73, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
95, 96, -1, -1, 99, -1, -1, -1, -1, 104,
|
|
105, -1, -1, 108, -1, -1, -1, -1, -1, 114,
|
|
115, -1, -1, -1, -1, -1, 121, 122, -1, -1,
|
|
-1, 126, -1, 128, 5, 130, 7, 8, -1, 10,
|
|
11, 12, 13, -1, -1, -1, -1, -1, 19, 20,
|
|
21, 22, 23, 24, -1, 26, -1, -1, 29, 30,
|
|
-1, -1, -1, 34, 35, -1, -1, -1, -1, -1,
|
|
-1, 42, -1, 44, -1, -1, 47, 48, -1, -1,
|
|
51, 52, 53, -1, -1, -1, -1, -1, -1, -1,
|
|
61, -1, -1, -1, -1, -1, -1, -1, -1, 70,
|
|
-1, 72, 73, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 84, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 95, 96, -1, -1, 99, -1,
|
|
-1, -1, -1, 104, 105, -1, -1, 108, -1, -1,
|
|
-1, -1, -1, 114, 115, -1, -1, -1, -1, -1,
|
|
121, 122, -1, -1, -1, 126, -1, 128, 5, 130,
|
|
7, 8, -1, 10, 11, 12, 13, -1, -1, -1,
|
|
-1, -1, 19, 20, 21, 22, 23, 24, -1, 26,
|
|
-1, -1, 29, 30, -1, -1, -1, 34, 35, -1,
|
|
-1, -1, -1, -1, -1, 42, -1, 44, -1, -1,
|
|
47, 48, -1, -1, 51, 52, 53, -1, -1, -1,
|
|
-1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 70, -1, 72, 73, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 84, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
|
|
-1, -1, 99, -1, -1, -1, -1, 104, 105, -1,
|
|
-1, 108, -1, -1, -1, -1, -1, 114, 115, -1,
|
|
-1, -1, -1, -1, 121, 122, -1, -1, -1, 126,
|
|
-1, 128, 5, 130, 7, 8, -1, 10, 11, 12,
|
|
13, -1, -1, -1, -1, -1, 19, 20, 21, 22,
|
|
23, 24, -1, 26, -1, -1, 29, 30, -1, -1,
|
|
-1, 34, 35, -1, -1, -1, -1, -1, -1, 42,
|
|
-1, 44, -1, -1, 47, 48, -1, -1, 51, 52,
|
|
53, -1, -1, -1, -1, -1, -1, -1, 61, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 70, -1, 72,
|
|
73, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 84, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, 95, 96, -1, -1, 99, -1, -1, -1,
|
|
-1, 104, 105, -1, -1, 108, -1, -1, -1, -1,
|
|
-1, 114, 115, -1, -1, -1, -1, -1, 121, 122,
|
|
-1, -1, -1, 126, -1, 128, 5, 130, 7, 8,
|
|
-1, 10, 11, 12, 13, -1, -1, -1, -1, -1,
|
|
19, 20, 21, 22, 23, 24, -1, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 42, -1, 44, -1, -1, 47, 48,
|
|
-1, -1, 51, 52, 53, -1, -1, -1, -1, -1,
|
|
-1, -1, 61, -1, -1, -1, -1, 9, -1, -1,
|
|
-1, 70, -1, 72, 73, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 84, -1, -1, -1, -1,
|
|
-1, -1, 34, 35, 36, -1, 95, 96, -1, -1,
|
|
99, -1, -1, -1, -1, 104, 105, -1, -1, 108,
|
|
-1, -1, 54, 55, 56, 57, -1, 59, 60, -1,
|
|
-1, -1, 121, -1, -1, -1, -1, 126, 9, 128,
|
|
-1, 130, 74, 75, 76, 77, 78, 79, 80, 81,
|
|
82, -1, -1, -1, -1, 87, 88, 89, 90, 91,
|
|
92, 93, 94, 34, 35, 36, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 54, 55, 56, 57, -1, 59, 60,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, 130, 9,
|
|
132, -1, -1, 74, 75, 76, 77, 78, 79, 80,
|
|
81, 82, -1, -1, -1, -1, 87, 88, 89, 90,
|
|
91, 92, 93, 94, 34, 35, 36, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, 54, 55, 56, 57, -1, 59,
|
|
60, -1, -1, -1, -1, -1, -1, -1, -1, 130,
|
|
-1, 132, -1, -1, 74, 75, 76, 77, 78, 79,
|
|
80, 81, 82, -1, -1, -1, -1, 87, 88, 89,
|
|
90, 91, 92, 93, 94, -1, 5, -1, -1, -1,
|
|
-1, -1, 11, 12, -1, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 22, 23, 24, -1, 26, -1, -1,
|
|
-1, 30, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
130, -1, 132, 42, -1, 44, -1, -1, 47, 48,
|
|
5, -1, -1, 52, 53, -1, 11, 12, -1, -1,
|
|
-1, -1, 61, -1, -1, -1, -1, 22, 23, 24,
|
|
-1, 26, -1, 72, 73, 30, -1, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, 84, -1, 42, -1, 44,
|
|
-1, -1, 47, 48, -1, 5, 95, 52, 53, -1,
|
|
99, 11, 12, -1, -1, -1, 61, -1, -1, 108,
|
|
-1, -1, 22, 23, 24, -1, 26, -1, -1, -1,
|
|
30, -1, 121, -1, -1, -1, -1, 126, -1, 84,
|
|
-1, -1, 42, -1, 44, -1, -1, 47, 48, 5,
|
|
95, -1, 52, 53, 99, 11, 12, -1, -1, -1,
|
|
-1, 61, -1, 108, -1, -1, 22, 23, 24, -1,
|
|
26, -1, -1, -1, 30, -1, -1, 122, -1, -1,
|
|
-1, -1, -1, -1, 84, -1, 42, -1, 44, -1,
|
|
-1, 47, 48, -1, 5, 95, 52, 53, -1, 99,
|
|
11, 12, -1, -1, -1, 61, -1, -1, 108, -1,
|
|
-1, 22, 23, 24, -1, 26, -1, -1, -1, 30,
|
|
-1, -1, 122, -1, -1, -1, -1, -1, 84, -1,
|
|
-1, 42, -1, 44, -1, -1, 47, 48, 5, 95,
|
|
-1, 52, 53, 99, 11, 12, -1, -1, -1, -1,
|
|
61, -1, 108, -1, -1, 22, 23, 24, -1, 26,
|
|
-1, -1, -1, 30, -1, -1, 122, -1, -1, -1,
|
|
-1, -1, -1, 84, -1, 42, -1, 44, -1, -1,
|
|
47, 48, -1, 5, 95, 52, 53, -1, 99, 11,
|
|
12, -1, -1, -1, 61, -1, -1, 108, -1, -1,
|
|
22, 23, 24, -1, 26, 72, 73, -1, 30, -1,
|
|
-1, 122, -1, -1, -1, -1, -1, 84, -1, -1,
|
|
42, -1, 44, -1, -1, 47, 48, 5, 95, -1,
|
|
52, 53, 99, 11, 12, -1, -1, -1, -1, 61,
|
|
-1, 108, -1, -1, 22, 23, 24, -1, 26, -1,
|
|
72, 73, 30, -1, 121, -1, -1, -1, -1, -1,
|
|
-1, -1, 84, -1, 42, -1, 44, -1, -1, 47,
|
|
48, -1, -1, 95, 52, 53, -1, 99, -1, -1,
|
|
-1, -1, -1, 61, -1, -1, 108, -1, -1, -1,
|
|
5, -1, -1, -1, -1, -1, 11, 12, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, 84, 22, 23, 24,
|
|
-1, 26, -1, -1, -1, 30, -1, 95, -1, -1,
|
|
-1, 99, -1, -1, -1, -1, -1, 42, 106, 44,
|
|
108, -1, 47, 48, 5, -1, -1, 52, 53, -1,
|
|
11, 12, -1, -1, -1, -1, 61, -1, -1, -1,
|
|
-1, 22, 23, 24, -1, 26, -1, -1, -1, 30,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
|
|
-1, 42, -1, 44, -1, -1, 47, 48, -1, -1,
|
|
95, 52, 53, -1, 99, -1, -1, -1, -1, -1,
|
|
61, 106, -1, 108, -1, -1, -1, 5, -1, -1,
|
|
-1, -1, -1, 11, 12, -1, -1, -1, -1, -1,
|
|
-1, -1, -1, 84, 22, 23, 24, -1, 26, -1,
|
|
-1, -1, 30, -1, 95, -1, -1, -1, 99, -1,
|
|
-1, -1, -1, -1, 42, 106, 44, 108, -1, 47,
|
|
48, -1, -1, -1, 52, 53, -1, -1, -1, -1,
|
|
-1, -1, -1, 61, 74, 75, 76, 77, 78, 79,
|
|
80, 81, 82, -1, -1, -1, -1, 87, 88, 89,
|
|
90, 91, 92, 93, 94, -1, 84, -1, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, 95, -1, -1,
|
|
-1, 99, -1, -1, -1, -1, -1, -1, 106, -1,
|
|
108, -1, -1, -1, -1, -1, 126, 74, 75, 76,
|
|
77, 78, 79, 80, 81, 82, -1, -1, -1, -1,
|
|
87, 88, 89, 90, 91, 92, 93, 94, 74, 75,
|
|
76, 77, 78, 79, 80, 81, 82, -1, -1, -1,
|
|
-1, 87, 88, 89, 90, 91, 92, 93, 94, 74,
|
|
75, 76, 77, 78, 79, 80, 81, 82, -1, 126,
|
|
-1, -1, 87, 88, 89, 90, 91, 92, 93, 94,
|
|
74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
|
|
126, -1, -1, 87, 88, 89, 90, 91, 92, 93,
|
|
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
-1, 126
|
|
};
|
|
|
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
|
symbol of state STATE-NUM. */
|
|
static const yytype_uint16 yystos[] =
|
|
{
|
|
0, 1, 5, 6, 7, 8, 10, 11, 12, 13,
|
|
14, 19, 20, 21, 22, 23, 24, 25, 26, 30,
|
|
34, 35, 37, 42, 43, 44, 45, 47, 48, 51,
|
|
52, 53, 61, 62, 63, 68, 70, 71, 72, 73,
|
|
83, 84, 85, 86, 95, 96, 97, 98, 99, 100,
|
|
102, 104, 105, 108, 121, 123, 124, 126, 128, 130,
|
|
135, 136, 137, 138, 143, 150, 168, 169, 170, 171,
|
|
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
|
|
182, 183, 184, 185, 186, 187, 189, 190, 191, 192,
|
|
193, 194, 195, 196, 197, 199, 200, 201, 202, 203,
|
|
204, 206, 211, 213, 214, 215, 216, 222, 224, 225,
|
|
227, 228, 229, 230, 231, 232, 233, 234, 235, 242,
|
|
247, 252, 253, 254, 255, 256, 268, 272, 275, 291,
|
|
292, 293, 305, 308, 310, 320, 323, 326, 338, 343,
|
|
347, 349, 356, 368, 372, 375, 375, 152, 159, 160,
|
|
36, 36, 257, 258, 126, 11, 12, 22, 23, 24,
|
|
26, 29, 30, 42, 44, 51, 53, 61, 95, 108,
|
|
114, 115, 122, 169, 170, 171, 173, 175, 178, 180,
|
|
182, 184, 186, 189, 191, 193, 195, 199, 200, 201,
|
|
204, 205, 211, 215, 217, 218, 222, 224, 225, 226,
|
|
228, 235, 236, 237, 238, 247, 251, 252, 254, 168,
|
|
166, 168, 167, 168, 159, 153, 218, 218, 309, 273,
|
|
159, 168, 191, 193, 199, 200, 201, 204, 211, 215,
|
|
221, 222, 252, 254, 36, 269, 260, 155, 357, 151,
|
|
159, 191, 193, 195, 10, 168, 168, 128, 168, 281,
|
|
19, 158, 243, 69, 369, 168, 199, 252, 334, 335,
|
|
348, 218, 12, 126, 252, 122, 251, 106, 107, 122,
|
|
188, 208, 209, 210, 218, 220, 241, 168, 195, 212,
|
|
0, 1, 137, 138, 150, 275, 375, 3, 4, 36,
|
|
126, 132, 239, 240, 239, 239, 168, 195, 198, 252,
|
|
36, 239, 198, 36, 239, 198, 198, 36, 239, 198,
|
|
36, 239, 198, 36, 239, 198, 36, 198, 36, 239,
|
|
198, 239, 198, 252, 36, 198, 252, 36, 198, 252,
|
|
126, 159, 239, 8, 10, 168, 172, 173, 174, 175,
|
|
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
|
|
186, 187, 190, 192, 194, 198, 247, 252, 253, 254,
|
|
255, 198, 239, 159, 239, 36, 198, 36, 159, 239,
|
|
198, 36, 126, 239, 130, 198, 36, 159, 239, 198,
|
|
9, 34, 35, 54, 55, 56, 57, 59, 60, 110,
|
|
130, 223, 159, 159, 159, 159, 159, 248, 375, 36,
|
|
239, 36, 159, 239, 198, 252, 36, 159, 239, 198,
|
|
159, 15, 16, 17, 18, 296, 298, 303, 304, 1,
|
|
12, 25, 26, 137, 150, 161, 162, 163, 164, 275,
|
|
375, 17, 38, 39, 40, 306, 307, 311, 316, 251,
|
|
164, 17, 101, 344, 345, 346, 159, 218, 375, 168,
|
|
261, 264, 261, 218, 218, 218, 218, 168, 203, 74,
|
|
75, 76, 77, 78, 79, 80, 81, 82, 87, 88,
|
|
89, 90, 91, 92, 93, 94, 147, 148, 147, 147,
|
|
147, 147, 27, 28, 31, 32, 33, 49, 50, 58,
|
|
110, 111, 112, 113, 114, 115, 116, 117, 118, 125,
|
|
294, 147, 157, 125, 375, 125, 375, 191, 262, 263,
|
|
264, 375, 168, 274, 9, 110, 330, 196, 168, 270,
|
|
274, 262, 69, 362, 218, 369, 19, 375, 126, 277,
|
|
168, 375, 145, 147, 126, 375, 114, 127, 106, 168,
|
|
244, 245, 125, 168, 205, 209, 217, 218, 252, 370,
|
|
371, 52, 125, 218, 375, 259, 168, 127, 129, 168,
|
|
191, 199, 201, 203, 211, 125, 129, 107, 125, 129,
|
|
375, 168, 168, 207, 210, 218, 106, 218, 219, 125,
|
|
131, 207, 207, 212, 218, 218, 218, 218, 218, 218,
|
|
218, 218, 212, 218, 246, 250, 375, 299, 303, 16,
|
|
296, 303, 3, 4, 161, 312, 317, 38, 306, 316,
|
|
39, 306, 375, 38, 39, 350, 353, 375, 132, 145,
|
|
266, 267, 125, 375, 375, 125, 168, 168, 218, 218,
|
|
218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
|
|
218, 218, 218, 218, 218, 218, 375, 375, 168, 168,
|
|
145, 266, 125, 154, 145, 125, 375, 218, 145, 52,
|
|
125, 271, 375, 156, 218, 375, 375, 122, 375, 276,
|
|
168, 280, 281, 283, 375, 278, 282, 19, 375, 145,
|
|
133, 125, 371, 125, 122, 218, 336, 337, 334, 375,
|
|
373, 261, 127, 218, 220, 210, 139, 141, 140, 142,
|
|
125, 127, 219, 132, 127, 127, 125, 249, 164, 165,
|
|
297, 251, 301, 303, 168, 168, 251, 375, 314, 306,
|
|
319, 321, 218, 354, 38, 345, 353, 218, 265, 146,
|
|
148, 125, 131, 264, 208, 295, 9, 146, 263, 375,
|
|
168, 327, 168, 168, 375, 375, 165, 19, 84, 122,
|
|
168, 285, 289, 290, 284, 281, 283, 375, 168, 279,
|
|
283, 106, 286, 289, 290, 106, 168, 371, 168, 125,
|
|
339, 165, 375, 107, 375, 126, 375, 126, 210, 219,
|
|
218, 129, 129, 165, 375, 251, 126, 375, 126, 375,
|
|
375, 318, 251, 375, 165, 351, 375, 218, 9, 218,
|
|
132, 125, 165, 218, 145, 47, 145, 358, 375, 122,
|
|
168, 168, 145, 127, 125, 125, 145, 125, 129, 127,
|
|
125, 145, 336, 99, 342, 17, 103, 374, 220, 106,
|
|
144, 149, 168, 144, 300, 375, 144, 144, 313, 165,
|
|
375, 165, 322, 375, 355, 352, 218, 218, 208, 251,
|
|
64, 65, 365, 366, 367, 168, 145, 126, 145, 145,
|
|
122, 168, 290, 84, 283, 375, 145, 106, 290, 340,
|
|
127, 125, 145, 127, 165, 302, 127, 127, 165, 315,
|
|
17, 41, 324, 325, 165, 165, 375, 127, 48, 331,
|
|
168, 359, 375, 375, 126, 145, 220, 287, 288, 375,
|
|
168, 145, 122, 168, 125, 375, 375, 106, 168, 375,
|
|
165, 375, 375, 165, 165, 251, 328, 66, 363, 364,
|
|
165, 165, 287, 125, 127, 126, 145, 168, 145, 106,
|
|
341, 145, 375, 360, 375, 127, 288, 287, 126, 145,
|
|
165, 332, 329, 17, 67, 361, 165, 127, 287, 17,
|
|
46, 333, 332, 127, 168, 168
|
|
};
|
|
|
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
|
static const yytype_uint16 yyr1[] =
|
|
{
|
|
0, 134, 135, 135, 136, 136, 136, 136, 136, 136,
|
|
136, 136, 136, 136, 136, 136, 137, 137, 137, 139,
|
|
138, 140, 138, 141, 138, 142, 138, 143, 143, 143,
|
|
143, 144, 144, 144, 144, 145, 145, 146, 146, 147,
|
|
147, 147, 147, 147, 147, 147, 147, 147, 148, 148,
|
|
148, 148, 148, 148, 148, 148, 148, 149, 149, 150,
|
|
150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
|
|
150, 150, 150, 151, 150, 150, 150, 150, 152, 150,
|
|
153, 154, 150, 155, 156, 150, 150, 150, 150, 150,
|
|
150, 157, 150, 150, 158, 158, 160, 159, 161, 161,
|
|
161, 161, 161, 161, 162, 162, 162, 162, 163, 163,
|
|
163, 163, 164, 164, 165, 165, 166, 166, 167, 167,
|
|
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
|
|
168, 168, 168, 168, 168, 168, 168, 168, 168, 169,
|
|
169, 170, 171, 172, 172, 173, 174, 175, 176, 177,
|
|
178, 178, 179, 180, 181, 182, 183, 184, 185, 186,
|
|
186, 187, 188, 188, 189, 190, 191, 191, 192, 193,
|
|
194, 195, 195, 196, 196, 197, 197, 197, 197, 197,
|
|
197, 197, 197, 197, 197, 197, 197, 197, 197, 198,
|
|
198, 199, 199, 199, 199, 199, 199, 199, 199, 199,
|
|
199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
|
|
199, 200, 200, 200, 200, 200, 200, 201, 201, 201,
|
|
201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
|
|
201, 201, 201, 201, 201, 202, 203, 204, 204, 205,
|
|
206, 207, 207, 208, 208, 209, 209, 209, 209, 209,
|
|
210, 210, 211, 211, 211, 212, 212, 213, 214, 215,
|
|
216, 217, 217, 217, 217, 217, 217, 217, 217, 217,
|
|
217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
|
|
217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
|
|
217, 217, 217, 218, 218, 218, 218, 218, 218, 219,
|
|
219, 220, 220, 221, 221, 221, 221, 221, 221, 221,
|
|
222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
|
|
222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
|
|
222, 223, 223, 224, 225, 225, 226, 226, 226, 227,
|
|
228, 229, 230, 231, 232, 233, 234, 235, 235, 235,
|
|
235, 235, 235, 236, 236, 236, 236, 236, 236, 237,
|
|
237, 238, 238, 238, 238, 238, 238, 238, 238, 238,
|
|
239, 240, 240, 240, 241, 241, 243, 242, 244, 244,
|
|
244, 244, 245, 245, 246, 246, 248, 249, 247, 250,
|
|
247, 251, 251, 252, 253, 254, 255, 257, 256, 258,
|
|
256, 259, 256, 260, 256, 261, 261, 262, 262, 263,
|
|
263, 263, 263, 264, 265, 264, 264, 266, 267, 267,
|
|
267, 269, 268, 270, 270, 271, 271, 273, 272, 274,
|
|
274, 276, 275, 277, 275, 275, 275, 275, 278, 275,
|
|
279, 279, 280, 280, 280, 280, 282, 281, 284, 283,
|
|
285, 285, 285, 285, 286, 286, 286, 286, 286, 286,
|
|
286, 287, 287, 288, 289, 289, 289, 289, 289, 289,
|
|
290, 290, 290, 290, 290, 290, 291, 291, 291, 291,
|
|
291, 291, 291, 291, 292, 292, 292, 292, 294, 295,
|
|
293, 297, 296, 299, 300, 298, 301, 302, 298, 303,
|
|
304, 304, 305, 305, 305, 305, 306, 307, 307, 309,
|
|
308, 310, 310, 312, 313, 311, 314, 315, 311, 317,
|
|
318, 316, 319, 316, 321, 322, 320, 323, 324, 325,
|
|
325, 327, 328, 329, 326, 330, 330, 331, 331, 332,
|
|
333, 333, 333, 333, 334, 334, 335, 335, 336, 336,
|
|
337, 337, 339, 340, 341, 338, 342, 342, 344, 343,
|
|
343, 345, 346, 346, 348, 347, 349, 349, 351, 350,
|
|
352, 350, 350, 350, 354, 355, 353, 357, 358, 359,
|
|
360, 356, 361, 361, 362, 362, 363, 363, 364, 365,
|
|
365, 365, 366, 367, 368, 368, 369, 369, 370, 370,
|
|
370, 370, 370, 371, 371, 371, 371, 371, 373, 372,
|
|
374, 374, 375, 375
|
|
};
|
|
|
|
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
|
|
static const yytype_uint8 yyr2[] =
|
|
{
|
|
0, 2, 1, 0, 1, 1, 1, 1, 1, 2,
|
|
2, 2, 2, 2, 2, 3, 3, 4, 6, 0,
|
|
5, 0, 5, 0, 8, 0, 8, 0, 1, 1,
|
|
1, 0, 1, 1, 3, 0, 1, 0, 1, 1,
|
|
1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 2, 2, 4, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 0, 4, 2, 2, 2, 0, 4,
|
|
0, 0, 5, 0, 0, 5, 1, 1, 1, 3,
|
|
3, 0, 4, 4, 1, 3, 0, 2, 1, 1,
|
|
1, 1, 1, 1, 4, 7, 4, 7, 0, 1,
|
|
1, 1, 1, 2, 0, 1, 1, 3, 1, 3,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 2, 2, 1, 2, 1, 2, 2,
|
|
1, 1, 2, 1, 2, 3, 2, 2, 2, 3,
|
|
3, 2, 3, 5, 1, 2, 1, 1, 2, 2,
|
|
2, 1, 1, 2, 3, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
|
|
1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
2, 2, 2, 2, 2, 2, 4, 1, 4, 2,
|
|
2, 1, 3, 1, 1, 2, 2, 2, 2, 2,
|
|
1, 1, 3, 3, 2, 1, 1, 4, 2, 4,
|
|
2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
|
|
1, 1, 2, 1, 2, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
|
|
1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
1, 1, 1, 2, 2, 2, 2, 2, 2, 3,
|
|
3, 3, 3, 3, 3, 3, 3, 1, 1, 1,
|
|
1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
|
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
|
2, 2, 3, 4, 1, 3, 0, 4, 0, 1,
|
|
1, 3, 2, 4, 1, 3, 0, 0, 5, 0,
|
|
5, 1, 3, 3, 2, 8, 2, 0, 4, 0,
|
|
4, 0, 5, 0, 4, 1, 3, 1, 3, 1,
|
|
2, 4, 3, 2, 0, 5, 3, 2, 2, 3,
|
|
4, 0, 5, 2, 4, 0, 2, 0, 4, 2,
|
|
4, 0, 8, 0, 5, 3, 4, 3, 0, 7,
|
|
1, 3, 1, 2, 1, 2, 0, 6, 0, 3,
|
|
0, 1, 1, 3, 0, 1, 1, 1, 3, 3,
|
|
5, 1, 3, 1, 2, 3, 5, 4, 5, 7,
|
|
3, 4, 6, 5, 6, 8, 1, 1, 1, 1,
|
|
1, 1, 1, 1, 2, 3, 3, 4, 0, 0,
|
|
6, 0, 4, 0, 0, 6, 0, 0, 7, 1,
|
|
1, 1, 3, 3, 2, 4, 1, 1, 1, 0,
|
|
3, 1, 2, 0, 0, 6, 0, 0, 7, 0,
|
|
0, 5, 0, 5, 0, 0, 7, 1, 1, 1,
|
|
1, 0, 0, 0, 12, 1, 1, 0, 2, 2,
|
|
1, 2, 1, 2, 1, 1, 1, 3, 2, 1,
|
|
1, 3, 0, 0, 0, 10, 0, 1, 0, 4,
|
|
2, 1, 1, 1, 0, 4, 1, 2, 0, 5,
|
|
0, 6, 1, 2, 0, 0, 5, 0, 0, 0,
|
|
0, 11, 1, 1, 0, 2, 0, 3, 1, 0,
|
|
3, 3, 1, 2, 3, 2, 0, 2, 1, 2,
|
|
1, 2, 3, 1, 1, 1, 1, 1, 0, 6,
|
|
1, 1, 1, 1
|
|
};
|
|
|
|
|
|
#define yyerrok (yyerrstatus = 0)
|
|
#define yyclearin (yychar = YYEMPTY)
|
|
#define YYEMPTY (-2)
|
|
#define YYEOF 0
|
|
|
|
#define YYACCEPT goto yyacceptlab
|
|
#define YYABORT goto yyabortlab
|
|
#define YYERROR goto yyerrorlab
|
|
|
|
|
|
#define YYRECOVERING() (!!yyerrstatus)
|
|
|
|
#define YYBACKUP(Token, Value) \
|
|
do \
|
|
if (yychar == YYEMPTY) \
|
|
{ \
|
|
yychar = (Token); \
|
|
yylval = (Value); \
|
|
YYPOPSTACK (yylen); \
|
|
yystate = *yyssp; \
|
|
goto yybackup; \
|
|
} \
|
|
else \
|
|
{ \
|
|
yyerror (pComp, YY_("syntax error: cannot back up")); \
|
|
YYERROR; \
|
|
} \
|
|
while (0)
|
|
|
|
/* Error token number */
|
|
#define YYTERROR 1
|
|
#define YYERRCODE 256
|
|
|
|
|
|
|
|
/* Enable debugging if requested. */
|
|
#if YYDEBUG
|
|
|
|
# ifndef YYFPRINTF
|
|
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
|
|
# define YYFPRINTF fprintf
|
|
# endif
|
|
|
|
# define YYDPRINTF(Args) \
|
|
do { \
|
|
if (yydebug) \
|
|
YYFPRINTF Args; \
|
|
} while (0)
|
|
|
|
/* This macro is provided for backward compatibility. */
|
|
#ifndef YY_LOCATION_PRINT
|
|
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
|
|
#endif
|
|
|
|
|
|
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
|
|
do { \
|
|
if (yydebug) \
|
|
{ \
|
|
YYFPRINTF (stderr, "%s ", Title); \
|
|
yy_symbol_print (stderr, \
|
|
Type, Value, pComp); \
|
|
YYFPRINTF (stderr, "\n"); \
|
|
} \
|
|
} while (0)
|
|
|
|
|
|
/*----------------------------------------.
|
|
| Print this symbol's value on YYOUTPUT. |
|
|
`----------------------------------------*/
|
|
|
|
static void
|
|
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, PHB_COMP pComp)
|
|
{
|
|
FILE *yyo = yyoutput;
|
|
YYUSE (yyo);
|
|
YYUSE (pComp);
|
|
if (!yyvaluep)
|
|
return;
|
|
# ifdef YYPRINT
|
|
if (yytype < YYNTOKENS)
|
|
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
|
|
# endif
|
|
YYUSE (yytype);
|
|
}
|
|
|
|
|
|
/*--------------------------------.
|
|
| Print this symbol on YYOUTPUT. |
|
|
`--------------------------------*/
|
|
|
|
static void
|
|
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, PHB_COMP pComp)
|
|
{
|
|
YYFPRINTF (yyoutput, "%s %s (",
|
|
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
|
|
|
|
yy_symbol_value_print (yyoutput, yytype, yyvaluep, pComp);
|
|
YYFPRINTF (yyoutput, ")");
|
|
}
|
|
|
|
/*------------------------------------------------------------------.
|
|
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
|
|
| TOP (included). |
|
|
`------------------------------------------------------------------*/
|
|
|
|
static void
|
|
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
|
|
{
|
|
YYFPRINTF (stderr, "Stack now");
|
|
for (; yybottom <= yytop; yybottom++)
|
|
{
|
|
int yybot = *yybottom;
|
|
YYFPRINTF (stderr, " %d", yybot);
|
|
}
|
|
YYFPRINTF (stderr, "\n");
|
|
}
|
|
|
|
# define YY_STACK_PRINT(Bottom, Top) \
|
|
do { \
|
|
if (yydebug) \
|
|
yy_stack_print ((Bottom), (Top)); \
|
|
} while (0)
|
|
|
|
|
|
/*------------------------------------------------.
|
|
| Report that the YYRULE is going to be reduced. |
|
|
`------------------------------------------------*/
|
|
|
|
static void
|
|
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, PHB_COMP pComp)
|
|
{
|
|
unsigned long int yylno = yyrline[yyrule];
|
|
int yynrhs = yyr2[yyrule];
|
|
int yyi;
|
|
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
|
|
yyrule - 1, yylno);
|
|
/* The symbols being reduced. */
|
|
for (yyi = 0; yyi < yynrhs; yyi++)
|
|
{
|
|
YYFPRINTF (stderr, " $%d = ", yyi + 1);
|
|
yy_symbol_print (stderr,
|
|
yystos[yyssp[yyi + 1 - yynrhs]],
|
|
&(yyvsp[(yyi + 1) - (yynrhs)])
|
|
, pComp);
|
|
YYFPRINTF (stderr, "\n");
|
|
}
|
|
}
|
|
|
|
# define YY_REDUCE_PRINT(Rule) \
|
|
do { \
|
|
if (yydebug) \
|
|
yy_reduce_print (yyssp, yyvsp, Rule, pComp); \
|
|
} while (0)
|
|
|
|
/* Nonzero means print parse trace. It is left uninitialized so that
|
|
multiple parsers can coexist. */
|
|
int yydebug;
|
|
#else /* !YYDEBUG */
|
|
# define YYDPRINTF(Args)
|
|
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
|
|
# define YY_STACK_PRINT(Bottom, Top)
|
|
# define YY_REDUCE_PRINT(Rule)
|
|
#endif /* !YYDEBUG */
|
|
|
|
|
|
/* YYINITDEPTH -- initial size of the parser's stacks. */
|
|
#ifndef YYINITDEPTH
|
|
# define YYINITDEPTH 200
|
|
#endif
|
|
|
|
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
|
|
if the built-in stack extension method is used).
|
|
|
|
Do not make this value too large; the results are undefined if
|
|
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
|
|
evaluated with infinite-precision integer arithmetic. */
|
|
|
|
#ifndef YYMAXDEPTH
|
|
# define YYMAXDEPTH 10000
|
|
#endif
|
|
|
|
|
|
#if YYERROR_VERBOSE
|
|
|
|
# ifndef yystrlen
|
|
# if defined __GLIBC__ && defined _STRING_H
|
|
# define yystrlen strlen
|
|
# else
|
|
/* Return the length of YYSTR. */
|
|
static YYSIZE_T
|
|
yystrlen (const char *yystr)
|
|
{
|
|
YYSIZE_T yylen;
|
|
for (yylen = 0; yystr[yylen]; yylen++)
|
|
continue;
|
|
return yylen;
|
|
}
|
|
# endif
|
|
# endif
|
|
|
|
# ifndef yystpcpy
|
|
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
|
|
# define yystpcpy stpcpy
|
|
# else
|
|
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
|
|
YYDEST. */
|
|
static char *
|
|
yystpcpy (char *yydest, const char *yysrc)
|
|
{
|
|
char *yyd = yydest;
|
|
const char *yys = yysrc;
|
|
|
|
while ((*yyd++ = *yys++) != '\0')
|
|
continue;
|
|
|
|
return yyd - 1;
|
|
}
|
|
# endif
|
|
# endif
|
|
|
|
# ifndef yytnamerr
|
|
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
|
|
quotes and backslashes, so that it's suitable for yyerror. The
|
|
heuristic is that double-quoting is unnecessary unless the string
|
|
contains an apostrophe, a comma, or backslash (other than
|
|
backslash-backslash). YYSTR is taken from yytname. If YYRES is
|
|
null, do not copy; instead, return the length of what the result
|
|
would have been. */
|
|
static YYSIZE_T
|
|
yytnamerr (char *yyres, const char *yystr)
|
|
{
|
|
if (*yystr == '"')
|
|
{
|
|
YYSIZE_T yyn = 0;
|
|
char const *yyp = yystr;
|
|
|
|
for (;;)
|
|
switch (*++yyp)
|
|
{
|
|
case '\'':
|
|
case ',':
|
|
goto do_not_strip_quotes;
|
|
|
|
case '\\':
|
|
if (*++yyp != '\\')
|
|
goto do_not_strip_quotes;
|
|
/* Fall through. */
|
|
default:
|
|
if (yyres)
|
|
yyres[yyn] = *yyp;
|
|
yyn++;
|
|
break;
|
|
|
|
case '"':
|
|
if (yyres)
|
|
yyres[yyn] = '\0';
|
|
return yyn;
|
|
}
|
|
do_not_strip_quotes: ;
|
|
}
|
|
|
|
if (! yyres)
|
|
return yystrlen (yystr);
|
|
|
|
return yystpcpy (yyres, yystr) - yyres;
|
|
}
|
|
# endif
|
|
|
|
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
|
|
about the unexpected token YYTOKEN for the state stack whose top is
|
|
YYSSP.
|
|
|
|
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
|
|
not large enough to hold the message. In that case, also set
|
|
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
|
|
required number of bytes is too large to store. */
|
|
static int
|
|
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
|
yytype_int16 *yyssp, int yytoken)
|
|
{
|
|
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
|
|
YYSIZE_T yysize = yysize0;
|
|
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
|
|
/* Internationalized format string. */
|
|
const char *yyformat = YY_NULLPTR;
|
|
/* Arguments of yyformat. */
|
|
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
|
/* Number of reported tokens (one for the "unexpected", one per
|
|
"expected"). */
|
|
int yycount = 0;
|
|
|
|
/* There are many possibilities here to consider:
|
|
- If this state is a consistent state with a default action, then
|
|
the only way this function was invoked is if the default action
|
|
is an error action. In that case, don't check for expected
|
|
tokens because there are none.
|
|
- The only way there can be no lookahead present (in yychar) is if
|
|
this state is a consistent state with a default action. Thus,
|
|
detecting the absence of a lookahead is sufficient to determine
|
|
that there is no unexpected or expected token to report. In that
|
|
case, just report a simple "syntax error".
|
|
- Don't assume there isn't a lookahead just because this state is a
|
|
consistent state with a default action. There might have been a
|
|
previous inconsistent state, consistent state with a non-default
|
|
action, or user semantic action that manipulated yychar.
|
|
- Of course, the expected token list depends on states to have
|
|
correct lookahead information, and it depends on the parser not
|
|
to perform extra reductions after fetching a lookahead from the
|
|
scanner and before detecting a syntax error. Thus, state merging
|
|
(from LALR or IELR) and default reductions corrupt the expected
|
|
token list. However, the list is correct for canonical LR with
|
|
one exception: it will still contain any token that will not be
|
|
accepted due to an error action in a later state.
|
|
*/
|
|
if (yytoken != YYEMPTY)
|
|
{
|
|
int yyn = yypact[*yyssp];
|
|
yyarg[yycount++] = yytname[yytoken];
|
|
if (!yypact_value_is_default (yyn))
|
|
{
|
|
/* Start YYX at -YYN if negative to avoid negative indexes in
|
|
YYCHECK. In other words, skip the first -YYN actions for
|
|
this state because they are default actions. */
|
|
int yyxbegin = yyn < 0 ? -yyn : 0;
|
|
/* Stay within bounds of both yycheck and yytname. */
|
|
int yychecklim = YYLAST - yyn + 1;
|
|
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
|
int yyx;
|
|
|
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
|
|
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
|
|
&& !yytable_value_is_error (yytable[yyx + yyn]))
|
|
{
|
|
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
|
|
{
|
|
yycount = 1;
|
|
yysize = yysize0;
|
|
break;
|
|
}
|
|
yyarg[yycount++] = yytname[yyx];
|
|
{
|
|
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
|
|
if (! (yysize <= yysize1
|
|
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
|
|
return 2;
|
|
yysize = yysize1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
switch (yycount)
|
|
{
|
|
# define YYCASE_(N, S) \
|
|
case N: \
|
|
yyformat = S; \
|
|
break
|
|
YYCASE_(0, YY_("syntax error"));
|
|
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
|
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
|
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
|
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
|
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
|
# undef YYCASE_
|
|
}
|
|
|
|
{
|
|
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
|
|
if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
|
|
return 2;
|
|
yysize = yysize1;
|
|
}
|
|
|
|
if (*yymsg_alloc < yysize)
|
|
{
|
|
*yymsg_alloc = 2 * yysize;
|
|
if (! (yysize <= *yymsg_alloc
|
|
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
|
|
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
|
|
return 1;
|
|
}
|
|
|
|
/* Avoid sprintf, as that infringes on the user's name space.
|
|
Don't have undefined behavior even if the translation
|
|
produced a string with the wrong number of "%s"s. */
|
|
{
|
|
char *yyp = *yymsg;
|
|
int yyi = 0;
|
|
while ((*yyp = *yyformat) != '\0')
|
|
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
|
|
{
|
|
yyp += yytnamerr (yyp, yyarg[yyi++]);
|
|
yyformat += 2;
|
|
}
|
|
else
|
|
{
|
|
yyp++;
|
|
yyformat++;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
#endif /* YYERROR_VERBOSE */
|
|
|
|
/*-----------------------------------------------.
|
|
| Release the memory associated to this symbol. |
|
|
`-----------------------------------------------*/
|
|
|
|
static void
|
|
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, PHB_COMP pComp)
|
|
{
|
|
YYUSE (yyvaluep);
|
|
YYUSE (pComp);
|
|
if (!yymsg)
|
|
yymsg = "Deleting";
|
|
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
|
|
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
switch (yytype)
|
|
{
|
|
case 19: /* LITERAL */
|
|
#line 284 "harbour.y" /* yacc.c:1257 */
|
|
{ if( ((*yyvaluep).valChar).dealloc ) hb_xfree( ((*yyvaluep).valChar).string ); }
|
|
#line 3594 "harboury.c" /* yacc.c:1257 */
|
|
break;
|
|
|
|
case 96: /* CBSTART */
|
|
#line 283 "harbour.y" /* yacc.c:1257 */
|
|
{ if( ((*yyvaluep).asCodeblock).string ) hb_xfree( ((*yyvaluep).asCodeblock).string ); }
|
|
#line 3600 "harboury.c" /* yacc.c:1257 */
|
|
break;
|
|
|
|
|
|
default:
|
|
break;
|
|
}
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
}
|
|
|
|
|
|
|
|
|
|
/*----------.
|
|
| yyparse. |
|
|
`----------*/
|
|
|
|
int
|
|
yyparse (PHB_COMP pComp)
|
|
{
|
|
/* The lookahead symbol. */
|
|
int yychar;
|
|
|
|
|
|
/* The semantic value of the lookahead symbol. */
|
|
/* Default value used for initialization, for pacifying older GCCs
|
|
or non-GCC compilers. */
|
|
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
|
|
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
|
|
|
|
/* Number of syntax errors so far. */
|
|
int yynerrs;
|
|
|
|
int yystate;
|
|
/* Number of tokens to shift before error messages enabled. */
|
|
int yyerrstatus;
|
|
|
|
/* The stacks and their tools:
|
|
'yyss': related to states.
|
|
'yyvs': related to semantic values.
|
|
|
|
Refer to the stacks through separate pointers, to allow yyoverflow
|
|
to reallocate them elsewhere. */
|
|
|
|
/* The state stack. */
|
|
yytype_int16 yyssa[YYINITDEPTH];
|
|
yytype_int16 *yyss;
|
|
yytype_int16 *yyssp;
|
|
|
|
/* The semantic value stack. */
|
|
YYSTYPE yyvsa[YYINITDEPTH];
|
|
YYSTYPE *yyvs;
|
|
YYSTYPE *yyvsp;
|
|
|
|
YYSIZE_T yystacksize;
|
|
|
|
int yyn;
|
|
int yyresult;
|
|
/* Lookahead token as an internal (translated) token number. */
|
|
int yytoken = 0;
|
|
/* The variables used to return semantic value and location from the
|
|
action routines. */
|
|
YYSTYPE yyval;
|
|
|
|
#if YYERROR_VERBOSE
|
|
/* Buffer for error messages, and its allocated size. */
|
|
char yymsgbuf[128];
|
|
char *yymsg = yymsgbuf;
|
|
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
|
|
#endif
|
|
|
|
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
|
|
|
|
/* The number of symbols on the RHS of the reduced rule.
|
|
Keep to zero when no symbol should be popped. */
|
|
int yylen = 0;
|
|
|
|
yyssp = yyss = yyssa;
|
|
yyvsp = yyvs = yyvsa;
|
|
yystacksize = YYINITDEPTH;
|
|
|
|
YYDPRINTF ((stderr, "Starting parse\n"));
|
|
|
|
yystate = 0;
|
|
yyerrstatus = 0;
|
|
yynerrs = 0;
|
|
yychar = YYEMPTY; /* Cause a token to be read. */
|
|
goto yysetstate;
|
|
|
|
/*------------------------------------------------------------.
|
|
| yynewstate -- Push a new state, which is found in yystate. |
|
|
`------------------------------------------------------------*/
|
|
yynewstate:
|
|
/* In all cases, when you get here, the value and location stacks
|
|
have just been pushed. So pushing a state here evens the stacks. */
|
|
yyssp++;
|
|
|
|
yysetstate:
|
|
*yyssp = yystate;
|
|
|
|
if (yyss + yystacksize - 1 <= yyssp)
|
|
{
|
|
/* Get the current used size of the three stacks, in elements. */
|
|
YYSIZE_T yysize = yyssp - yyss + 1;
|
|
|
|
#ifdef yyoverflow
|
|
{
|
|
/* Give user a chance to reallocate the stack. Use copies of
|
|
these so that the &'s don't force the real ones into
|
|
memory. */
|
|
YYSTYPE *yyvs1 = yyvs;
|
|
yytype_int16 *yyss1 = yyss;
|
|
|
|
/* Each stack pointer address is followed by the size of the
|
|
data in use in that stack, in bytes. This used to be a
|
|
conditional around just the two extra args, but that might
|
|
be undefined if yyoverflow is a macro. */
|
|
yyoverflow (YY_("memory exhausted"),
|
|
&yyss1, yysize * sizeof (*yyssp),
|
|
&yyvs1, yysize * sizeof (*yyvsp),
|
|
&yystacksize);
|
|
|
|
yyss = yyss1;
|
|
yyvs = yyvs1;
|
|
}
|
|
#else /* no yyoverflow */
|
|
# ifndef YYSTACK_RELOCATE
|
|
goto yyexhaustedlab;
|
|
# else
|
|
/* Extend the stack our own way. */
|
|
if (YYMAXDEPTH <= yystacksize)
|
|
goto yyexhaustedlab;
|
|
yystacksize *= 2;
|
|
if (YYMAXDEPTH < yystacksize)
|
|
yystacksize = YYMAXDEPTH;
|
|
|
|
{
|
|
yytype_int16 *yyss1 = yyss;
|
|
union yyalloc *yyptr =
|
|
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
|
if (! yyptr)
|
|
goto yyexhaustedlab;
|
|
YYSTACK_RELOCATE (yyss_alloc, yyss);
|
|
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
|
|
# undef YYSTACK_RELOCATE
|
|
if (yyss1 != yyssa)
|
|
YYSTACK_FREE (yyss1);
|
|
}
|
|
# endif
|
|
#endif /* no yyoverflow */
|
|
|
|
yyssp = yyss + yysize - 1;
|
|
yyvsp = yyvs + yysize - 1;
|
|
|
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
|
|
(unsigned long int) yystacksize));
|
|
|
|
if (yyss + yystacksize - 1 <= yyssp)
|
|
YYABORT;
|
|
}
|
|
|
|
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
|
|
|
|
if (yystate == YYFINAL)
|
|
YYACCEPT;
|
|
|
|
goto yybackup;
|
|
|
|
/*-----------.
|
|
| yybackup. |
|
|
`-----------*/
|
|
yybackup:
|
|
|
|
/* Do appropriate processing given the current state. Read a
|
|
lookahead token if we need one and don't already have one. */
|
|
|
|
/* First try to decide what to do without reference to lookahead token. */
|
|
yyn = yypact[yystate];
|
|
if (yypact_value_is_default (yyn))
|
|
goto yydefault;
|
|
|
|
/* Not known => get a lookahead token if don't already have one. */
|
|
|
|
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
|
|
if (yychar == YYEMPTY)
|
|
{
|
|
YYDPRINTF ((stderr, "Reading a token: "));
|
|
yychar = yylex (&yylval, pComp);
|
|
}
|
|
|
|
if (yychar <= YYEOF)
|
|
{
|
|
yychar = yytoken = YYEOF;
|
|
YYDPRINTF ((stderr, "Now at end of input.\n"));
|
|
}
|
|
else
|
|
{
|
|
yytoken = YYTRANSLATE (yychar);
|
|
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
|
|
}
|
|
|
|
/* If the proper action on seeing token YYTOKEN is to reduce or to
|
|
detect an error, take that action. */
|
|
yyn += yytoken;
|
|
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
|
|
goto yydefault;
|
|
yyn = yytable[yyn];
|
|
if (yyn <= 0)
|
|
{
|
|
if (yytable_value_is_error (yyn))
|
|
goto yyerrlab;
|
|
yyn = -yyn;
|
|
goto yyreduce;
|
|
}
|
|
|
|
/* Count tokens shifted since error; after three, turn off error
|
|
status. */
|
|
if (yyerrstatus)
|
|
yyerrstatus--;
|
|
|
|
/* Shift the lookahead token. */
|
|
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
|
|
|
|
/* Discard the shifted token. */
|
|
yychar = YYEMPTY;
|
|
|
|
yystate = yyn;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
*++yyvsp = yylval;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
|
|
goto yynewstate;
|
|
|
|
|
|
/*-----------------------------------------------------------.
|
|
| yydefault -- do the default action for the current state. |
|
|
`-----------------------------------------------------------*/
|
|
yydefault:
|
|
yyn = yydefact[yystate];
|
|
if (yyn == 0)
|
|
goto yyerrlab;
|
|
goto yyreduce;
|
|
|
|
|
|
/*-----------------------------.
|
|
| yyreduce -- Do a reduction. |
|
|
`-----------------------------*/
|
|
yyreduce:
|
|
/* yyn is the number of a rule to reduce with. */
|
|
yylen = yyr2[yyn];
|
|
|
|
/* If YYLEN is nonzero, implement the default value of the action:
|
|
'$$ = $1'.
|
|
|
|
Otherwise, the following line sets YYVAL to garbage.
|
|
This behavior is undocumented and Bison
|
|
users should not rely upon it. Assigning to YYVAL
|
|
unconditionally makes the parser a bit smaller, and it avoids a
|
|
GCC warning that YYVAL may be used uninitialized. */
|
|
yyval = yyvsp[1-yylen];
|
|
|
|
|
|
YY_REDUCE_PRINT (yyn);
|
|
switch (yyn)
|
|
{
|
|
case 9:
|
|
#line 297 "harbour.y" /* yacc.c:1646 */
|
|
{ yyclearin; yyerrok; }
|
|
#line 3868 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 15:
|
|
#line 303 "harbour.y" /* yacc.c:1646 */
|
|
{ yyclearin; yyerrok; }
|
|
#line 3874 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 16:
|
|
#line 307 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->currLine = ( int ) (yyvsp[-1].valLong).lNumber;
|
|
HB_COMP_PARAM->pLex->fEol = HB_FALSE; }
|
|
#line 3881 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 17:
|
|
#line 310 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->currModule = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[-1].valChar).string, (yyvsp[-1].valChar).dealloc ? HB_IDENT_FREE : HB_IDENT_STATIC );
|
|
HB_COMP_PARAM->currLine = ( int ) (yyvsp[-2].valLong).lNumber;
|
|
HB_COMP_PARAM->pLex->fEol = HB_FALSE;
|
|
(yyvsp[-1].valChar).dealloc = HB_FALSE; }
|
|
#line 3890 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 18:
|
|
#line 315 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->currModule = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[-1].valChar).string, (yyvsp[-1].valChar).dealloc ? HB_IDENT_FREE : HB_IDENT_STATIC );
|
|
HB_COMP_PARAM->currLine = ( int ) (yyvsp[-4].valLong).lNumber;
|
|
HB_COMP_PARAM->pLex->fEol = HB_FALSE;
|
|
if( (yyvsp[-3].valChar).dealloc ) { hb_xfree( (yyvsp[-3].valChar).string ); (yyvsp[-3].valChar).dealloc = HB_FALSE; }
|
|
(yyvsp[-1].valChar).dealloc = HB_FALSE; }
|
|
#line 3900 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 19:
|
|
#line 322 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[0].string), ( HB_SYMBOLSCOPE ) (yyvsp[-2].iNumber), 0 ); }
|
|
#line 3906 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 21:
|
|
#line 323 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[0].string), ( HB_SYMBOLSCOPE ) (yyvsp[-2].iNumber), HB_FUNF_PROCEDURE ); }
|
|
#line 3912 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 23:
|
|
#line 324 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[0].string), ( HB_SYMBOLSCOPE ) (yyvsp[-2].iNumber), 0 ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_PARAMETER; }
|
|
#line 3918 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 25:
|
|
#line 325 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[0].string), ( HB_SYMBOLSCOPE ) (yyvsp[-2].iNumber), HB_FUNF_PROCEDURE ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_PARAMETER;}
|
|
#line 3924 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 27:
|
|
#line 328 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = HB_FS_PUBLIC; }
|
|
#line 3930 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 28:
|
|
#line 329 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = HB_FS_STATIC; }
|
|
#line 3936 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 29:
|
|
#line 330 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = HB_FS_INIT; }
|
|
#line 3942 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 30:
|
|
#line 331 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = HB_FS_EXIT; }
|
|
#line 3948 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 31:
|
|
#line 334 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = 0; }
|
|
#line 3954 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 32:
|
|
#line 335 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->fVParams = HB_TRUE; (yyval.iNumber) = 0; }
|
|
#line 3960 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 34:
|
|
#line 337 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->fVParams = HB_TRUE; (yyval.iNumber) = (yyvsp[-2].iNumber); }
|
|
#line 3966 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 35:
|
|
#line 340 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); }
|
|
#line 3972 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 37:
|
|
#line 344 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); }
|
|
#line 3978 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 39:
|
|
#line 348 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'N', NULL ); }
|
|
#line 3984 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 40:
|
|
#line 349 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'C', NULL ); }
|
|
#line 3990 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 41:
|
|
#line 350 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'D', NULL ); }
|
|
#line 3996 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 42:
|
|
#line 351 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'L', NULL ); }
|
|
#line 4002 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 43:
|
|
#line 352 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'B', NULL ); }
|
|
#line 4008 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 44:
|
|
#line 353 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'O', NULL ); }
|
|
#line 4014 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 45:
|
|
#line 354 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'S', (yyvsp[0].string) ); }
|
|
#line 4020 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 46:
|
|
#line 355 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, ' ', NULL ); }
|
|
#line 4026 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 48:
|
|
#line 359 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'A', NULL ); }
|
|
#line 4032 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 49:
|
|
#line 360 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'n', NULL ); }
|
|
#line 4038 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 50:
|
|
#line 361 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'c', NULL ); }
|
|
#line 4044 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 51:
|
|
#line 362 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'd', NULL ); }
|
|
#line 4050 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 52:
|
|
#line 363 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'l', NULL ); }
|
|
#line 4056 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 53:
|
|
#line 364 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'a', NULL ); }
|
|
#line 4062 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 54:
|
|
#line 365 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'b', NULL ); }
|
|
#line 4068 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 55:
|
|
#line 366 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 'o', NULL ); }
|
|
#line 4074 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 56:
|
|
#line 367 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asVarType) = hb_compVarTypeNew( HB_COMP_PARAM, 's', (yyvsp[0].string) ); }
|
|
#line 4080 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 57:
|
|
#line 370 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); (yyval.iNumber) = 1; }
|
|
#line 4086 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 58:
|
|
#line 371 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); (yyval.iNumber)++; }
|
|
#line 4092 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 60:
|
|
#line 380 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4098 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 61:
|
|
#line 381 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4104 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 62:
|
|
#line 382 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4110 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 63:
|
|
#line 383 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4116 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 64:
|
|
#line 384 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) )
|
|
HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
else
|
|
HB_COMP_EXPR_FREE( HB_COMP_ERROR_SYNTAX( (yyvsp[-1].asExpr) ) );
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN;
|
|
}
|
|
#line 4127 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 65:
|
|
#line 390 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4133 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 66:
|
|
#line 391 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4139 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 67:
|
|
#line 392 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4145 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 68:
|
|
#line 393 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4151 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 69:
|
|
#line 394 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4157 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 70:
|
|
#line 395 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4163 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 71:
|
|
#line 396 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenStatement( (yyvsp[-1].asExpr), HB_COMP_PARAM ) ); HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN; }
|
|
#line 4169 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 72:
|
|
#line 397 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenBreak( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 0, HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_BREAK_CODE; }
|
|
#line 4176 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 73:
|
|
#line 399 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 4182 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 74:
|
|
#line 400 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compGenBreak( HB_COMP_PARAM ); HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
hb_compGenPCode2( HB_P_DOSHORT, 1, HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_BREAK_CODE;
|
|
}
|
|
#line 4192 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 75:
|
|
#line 405 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_BREAK_CODE; }
|
|
#line 4198 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 76:
|
|
#line 406 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_BREAK_CODE; }
|
|
#line 4204 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 77:
|
|
#line 407 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->functions.pLast->wSeqCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "RETURN", NULL );
|
|
}
|
|
hb_compGenPCode1( HB_P_ENDPROC, HB_COMP_PARAM );
|
|
if( ( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_PROCEDURE ) == 0 )
|
|
{
|
|
/* return from a function without a return value */
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_NO_RETURN_VALUE, NULL, NULL );
|
|
}
|
|
HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE;
|
|
}
|
|
#line 4222 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 78:
|
|
#line 420 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 4228 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 79:
|
|
#line 422 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->functions.pLast->wSeqCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "RETURN", NULL );
|
|
}
|
|
/* TODO: check if return value agree with declared value */
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
if( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_EXTBLOCK )
|
|
/* extended clodeblock, use HB_P_ENDBLOCK to return value and stop execution */
|
|
hb_compGenPCode1( HB_P_ENDBLOCK, HB_COMP_PARAM );
|
|
else
|
|
hb_compGenPCode2( HB_P_RETVALUE, HB_P_ENDPROC, HB_COMP_PARAM );
|
|
if( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_PROCEDURE )
|
|
{
|
|
/* procedure returns a value */
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_PROC_RETURN_VALUE, NULL, NULL );
|
|
}
|
|
HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE;
|
|
}
|
|
#line 4252 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 80:
|
|
#line 441 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_PUBLIC; }
|
|
#line 4258 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 81:
|
|
#line 443 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compRTVariableGen( HB_COMP_PARAM, "__MVPUBLIC" );
|
|
HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE;
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN;
|
|
}
|
|
#line 4267 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 83:
|
|
#line 447 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_PRIVATE; }
|
|
#line 4273 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 84:
|
|
#line 449 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compRTVariableGen( HB_COMP_PARAM, "__MVPRIVATE" );
|
|
HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE;
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN;
|
|
}
|
|
#line 4282 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 91:
|
|
#line 458 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->szAnnounce == NULL )
|
|
HB_COMP_PARAM->szAnnounce = (yyvsp[0].string);
|
|
else
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_DUPL_ANNOUNCE, (yyvsp[0].string), NULL );
|
|
}
|
|
#line 4293 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 94:
|
|
#line 467 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( (yyvsp[0].valChar).dealloc )
|
|
{
|
|
(yyvsp[0].valChar).string = ( char * ) HB_UNCONST( hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[0].valChar).string, HB_IDENT_FREE ) );
|
|
(yyvsp[0].valChar).dealloc = HB_FALSE;
|
|
}
|
|
hb_compModuleAdd( HB_COMP_PARAM, (yyvsp[0].valChar).string, HB_FALSE );
|
|
}
|
|
#line 4306 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 95:
|
|
#line 475 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
{
|
|
char szFileName[ HB_PATH_MAX ];
|
|
hb_strncat( hb_strncpy( szFileName, (yyvsp[-2].valChar).string, sizeof( szFileName ) - 1 ), (yyvsp[0].valChar).string, sizeof( szFileName ) - 1 );
|
|
hb_compModuleAdd( HB_COMP_PARAM, hb_compIdentifierNew( HB_COMP_PARAM, szFileName, HB_IDENT_COPY ), HB_FALSE );
|
|
if( (yyvsp[-2].valChar).dealloc )
|
|
{
|
|
hb_xfree( (yyvsp[-2].valChar).string );
|
|
(yyvsp[-2].valChar).dealloc = HB_FALSE;
|
|
}
|
|
if( (yyvsp[0].valChar).dealloc )
|
|
{
|
|
hb_xfree( (yyvsp[0].valChar).string );
|
|
(yyvsp[0].valChar).dealloc = HB_FALSE;
|
|
}
|
|
}
|
|
}
|
|
#line 4328 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 96:
|
|
#line 494 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 4334 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 98:
|
|
#line 497 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 0; }
|
|
#line 4340 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 99:
|
|
#line 498 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 1; }
|
|
#line 4346 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 100:
|
|
#line 499 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 1; }
|
|
#line 4352 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 101:
|
|
#line 500 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 0; }
|
|
#line 4358 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 102:
|
|
#line 501 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM, HB_COMP_PARAM->functions.pLast ); }
|
|
#line 4364 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 103:
|
|
#line 502 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == HB_COMP_PARAM->currLine )
|
|
{
|
|
yyclearin;
|
|
}
|
|
else
|
|
{
|
|
yyerrok;
|
|
HB_COMP_PARAM->ilastLineErr = HB_COMP_PARAM->currLine;
|
|
}
|
|
(yyval.lNumber) = 0;
|
|
}
|
|
#line 4380 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 113:
|
|
#line 528 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) += (yyvsp[0].lNumber); }
|
|
#line 4386 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 114:
|
|
#line 531 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.lNumber) = 0; }
|
|
#line 4392 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 116:
|
|
#line 535 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compExternAdd( HB_COMP_PARAM, (yyvsp[0].string), 0 ); }
|
|
#line 4398 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 117:
|
|
#line 536 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compExternAdd( HB_COMP_PARAM, (yyvsp[0].string), 0 ); }
|
|
#line 4404 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 118:
|
|
#line 539 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compExternAdd( HB_COMP_PARAM, (yyvsp[0].string), HB_FS_DEFERRED ); }
|
|
#line 4410 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 119:
|
|
#line 540 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compExternAdd( HB_COMP_PARAM, (yyvsp[0].string), HB_FS_DEFERRED ); }
|
|
#line 4416 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 121:
|
|
#line 544 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = "STEP"; }
|
|
#line 4422 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 122:
|
|
#line 545 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = "TO"; }
|
|
#line 4428 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 123:
|
|
#line 546 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = "LOOP"; }
|
|
#line 4434 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 124:
|
|
#line 547 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = "EXIT"; }
|
|
#line 4440 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 125:
|
|
#line 548 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = "IN"; }
|
|
#line 4446 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 126:
|
|
#line 549 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4452 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 127:
|
|
#line 550 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4458 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 128:
|
|
#line 551 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4464 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 129:
|
|
#line 552 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4470 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 130:
|
|
#line 553 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4476 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 131:
|
|
#line 554 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4482 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 132:
|
|
#line 555 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4488 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 133:
|
|
#line 556 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4494 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 134:
|
|
#line 557 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4500 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 135:
|
|
#line 558 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4506 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 136:
|
|
#line 559 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4512 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 137:
|
|
#line 560 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4518 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 138:
|
|
#line 561 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 4524 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 139:
|
|
#line 566 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewDouble( (yyvsp[0].valDouble).dNumber, (yyvsp[0].valDouble).bWidth, (yyvsp[0].valDouble).bDec, HB_COMP_PARAM ); }
|
|
#line 4530 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 140:
|
|
#line 567 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewLong( (yyvsp[0].valLong).lNumber, HB_COMP_PARAM ); }
|
|
#line 4536 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 141:
|
|
#line 570 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewDate( ( long ) (yyvsp[0].valLong).lNumber, HB_COMP_PARAM ); }
|
|
#line 4542 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 142:
|
|
#line 573 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewTimeStamp( (yyvsp[0].valTimeStamp).date, (yyvsp[0].valTimeStamp).time, HB_COMP_PARAM ); }
|
|
#line 4548 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 143:
|
|
#line 576 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewLong( (yyvsp[-1].valLong).lNumber, HB_COMP_PARAM ); }
|
|
#line 4554 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 144:
|
|
#line 577 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, hb_compExprNewDouble( (yyvsp[-1].valDouble).dNumber, (yyvsp[-1].valDouble).bWidth, (yyvsp[-1].valDouble).bDec, HB_COMP_PARAM ) ); }
|
|
#line 4560 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 145:
|
|
#line 582 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewNil( HB_COMP_PARAM ); }
|
|
#line 4566 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 147:
|
|
#line 590 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
(yyval.asExpr) = hb_compExprNewString( (yyvsp[0].valChar).string, (yyvsp[0].valChar).length, (yyvsp[0].valChar).dealloc, HB_COMP_PARAM );
|
|
(yyvsp[0].valChar).dealloc = HB_FALSE;
|
|
}
|
|
#line 4575 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 150:
|
|
#line 606 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewLogical( HB_TRUE, HB_COMP_PARAM ); }
|
|
#line 4581 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 151:
|
|
#line 607 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewLogical( HB_FALSE, HB_COMP_PARAM ); }
|
|
#line 4587 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 153:
|
|
#line 615 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewSelf( HB_COMP_PARAM ); }
|
|
#line 4593 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 155:
|
|
#line 629 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArray( (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 4599 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 157:
|
|
#line 637 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4605 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 159:
|
|
#line 643 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewHash( NULL, HB_COMP_PARAM ); }
|
|
#line 4611 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 160:
|
|
#line 644 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewHash( (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 4617 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 162:
|
|
#line 650 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewList( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr) ); }
|
|
#line 4623 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 163:
|
|
#line 651 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprAddListExpr( (yyvsp[-4].asExpr), (yyvsp[-2].asExpr) ), (yyvsp[0].asExpr) ); }
|
|
#line 4629 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 164:
|
|
#line 656 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVar( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 4635 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 165:
|
|
#line 659 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAlias( (yyvsp[-1].string), HB_COMP_PARAM ); }
|
|
#line 4641 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 166:
|
|
#line 664 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMacro( NULL, '&', (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 4647 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 167:
|
|
#line 665 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMacro( NULL, 0, (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 4653 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 169:
|
|
#line 673 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMacro( (yyvsp[0].asExpr), 0, NULL, HB_COMP_PARAM ); }
|
|
#line 4659 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 173:
|
|
#line 687 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAlias( "FIELD", HB_COMP_PARAM ); }
|
|
#line 4665 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 174:
|
|
#line 688 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4671 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 175:
|
|
#line 693 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4677 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 176:
|
|
#line 694 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4683 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 177:
|
|
#line 695 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4689 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 178:
|
|
#line 696 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4695 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 179:
|
|
#line 697 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4701 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 180:
|
|
#line 698 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4707 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 181:
|
|
#line 699 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4713 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 182:
|
|
#line 700 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4719 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 183:
|
|
#line 701 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4725 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 184:
|
|
#line 702 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4731 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 185:
|
|
#line 703 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4737 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 186:
|
|
#line 704 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4743 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 187:
|
|
#line 705 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4749 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 188:
|
|
#line 706 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4755 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 189:
|
|
#line 709 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVar( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 4761 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 191:
|
|
#line 713 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4767 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 192:
|
|
#line 714 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4773 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 193:
|
|
#line 715 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4779 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 194:
|
|
#line 716 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4785 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 195:
|
|
#line 717 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4791 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 196:
|
|
#line 718 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4797 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 197:
|
|
#line 719 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4803 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 198:
|
|
#line 720 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4809 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 199:
|
|
#line 721 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4815 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 200:
|
|
#line 722 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4821 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 201:
|
|
#line 723 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4827 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 202:
|
|
#line 724 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4833 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 203:
|
|
#line 725 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4839 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 204:
|
|
#line 726 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4845 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 205:
|
|
#line 727 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4851 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 206:
|
|
#line 728 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4857 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 207:
|
|
#line 729 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[-1].asExpr) ); }
|
|
#line 4863 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 208:
|
|
#line 730 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4869 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 209:
|
|
#line 731 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4875 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 210:
|
|
#line 732 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4881 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 211:
|
|
#line 741 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4887 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 212:
|
|
#line 742 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4893 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 213:
|
|
#line 743 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4899 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 214:
|
|
#line 744 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4905 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 215:
|
|
#line 745 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 4911 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 216:
|
|
#line 746 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 4917 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 217:
|
|
#line 751 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4923 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 218:
|
|
#line 752 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4929 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 219:
|
|
#line 753 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4935 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 220:
|
|
#line 754 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4941 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 221:
|
|
#line 755 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4947 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 222:
|
|
#line 756 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4953 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 223:
|
|
#line 757 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4959 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 224:
|
|
#line 758 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4965 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 225:
|
|
#line 759 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4971 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 226:
|
|
#line 760 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4977 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 227:
|
|
#line 761 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4983 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 228:
|
|
#line 762 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4989 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 229:
|
|
#line 763 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 4995 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 230:
|
|
#line 764 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5001 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 231:
|
|
#line 765 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5007 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 232:
|
|
#line 766 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5013 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 233:
|
|
#line 767 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5019 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 234:
|
|
#line 768 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5025 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 236:
|
|
#line 775 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( (yyvsp[-3].string), HB_COMP_PARAM ), (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 5031 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 238:
|
|
#line 779 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[-3].asExpr), (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 5037 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 239:
|
|
#line 783 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, (yyvsp[0].asExpr) ); }
|
|
#line 5043 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 241:
|
|
#line 789 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5049 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 242:
|
|
#line 790 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5055 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 245:
|
|
#line 797 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewVarRef( (yyvsp[0].string), HB_COMP_PARAM ) ); }
|
|
#line 5061 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 246:
|
|
#line 798 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[0].asExpr), HB_COMP_PARAM ) ); }
|
|
#line 5067 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 247:
|
|
#line 799 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[0].asExpr), HB_COMP_PARAM ) ); }
|
|
#line 5073 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 248:
|
|
#line 800 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[0].asExpr), HB_COMP_PARAM ) ); }
|
|
#line 5079 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 249:
|
|
#line 801 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, (yyvsp[0].asExpr) ); (yyval.asExpr)->value.asList.reference = HB_TRUE; }
|
|
#line 5085 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 250:
|
|
#line 804 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgRef( HB_COMP_PARAM ); }
|
|
#line 5091 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 252:
|
|
#line 810 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compCheckMethod( HB_COMP_PARAM, hb_compExprNewMethodObject( (yyvsp[0].asExpr), (yyvsp[-2].asExpr) ) ); }
|
|
#line 5097 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 253:
|
|
#line 811 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMethodObject( (yyvsp[0].asExpr), (yyvsp[-2].asExpr) ); }
|
|
#line 5103 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 254:
|
|
#line 812 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_PARAM->functions.pLast->wWithObjectCnt == 0 )
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_WITHOBJECT, NULL, NULL );
|
|
(yyval.asExpr) = (yyvsp[0].asExpr);
|
|
}
|
|
#line 5112 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 255:
|
|
#line 818 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewSend( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 5118 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 256:
|
|
#line 819 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMacroSend( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5124 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 257:
|
|
#line 822 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[-1].string), HB_COMP_PARAM ); }
|
|
#line 5130 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 259:
|
|
#line 830 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewMethodCall( (yyvsp[-3].asExpr), (yyvsp[-1].asExpr) ); }
|
|
#line 5136 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 269:
|
|
#line 850 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5142 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 279:
|
|
#line 860 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5148 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 282:
|
|
#line 863 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5154 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 284:
|
|
#line 865 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5160 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 296:
|
|
#line 879 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5166 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 297:
|
|
#line 880 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5172 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 299:
|
|
#line 884 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgRef( HB_COMP_PARAM ); }
|
|
#line 5178 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 301:
|
|
#line 888 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewEmpty( HB_COMP_PARAM ); }
|
|
#line 5184 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 303:
|
|
#line 892 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVar( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 5190 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 309:
|
|
#line 898 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprListStrip( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5196 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 331:
|
|
#line 931 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewPostInc( (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 5202 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 332:
|
|
#line 932 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewPostDec( (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 5208 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 333:
|
|
#line 935 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5214 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 334:
|
|
#line 938 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewPreInc( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5220 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 335:
|
|
#line 939 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewPreDec( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5226 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 336:
|
|
#line 942 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewNot( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5232 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 337:
|
|
#line 943 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewNegate( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5238 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 338:
|
|
#line 944 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5244 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 339:
|
|
#line 947 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAssign( (yyvsp[-2].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5250 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 340:
|
|
#line 950 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAssign( (yyvsp[-2].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5256 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 341:
|
|
#line 953 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5262 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 342:
|
|
#line 956 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5268 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 343:
|
|
#line 959 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5274 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 344:
|
|
#line 962 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5280 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 345:
|
|
#line 965 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5286 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 346:
|
|
#line 968 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5292 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 353:
|
|
#line 979 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlus( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5298 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 354:
|
|
#line 980 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinus( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5304 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 355:
|
|
#line 981 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMult( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5310 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 356:
|
|
#line 982 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDiv( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5316 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 357:
|
|
#line 983 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMod( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5322 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 358:
|
|
#line 984 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPower( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5328 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 359:
|
|
#line 987 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewAnd( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5334 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 360:
|
|
#line 988 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewOr( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5340 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 361:
|
|
#line 991 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEQ( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5346 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 362:
|
|
#line 992 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLT( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5352 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 363:
|
|
#line 993 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGT( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5358 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 364:
|
|
#line 994 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLE( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5364 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 365:
|
|
#line 995 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGE( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5370 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 366:
|
|
#line 996 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5376 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 367:
|
|
#line 997 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5382 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 368:
|
|
#line 998 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewIN( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5388 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 369:
|
|
#line 999 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEqual( (yyvsp[-2].asExpr), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5394 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 371:
|
|
#line 1008 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[-2].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5400 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 372:
|
|
#line 1009 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[-2].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5406 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 373:
|
|
#line 1010 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[-3].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5412 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 374:
|
|
#line 1013 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5418 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 375:
|
|
#line 1014 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5424 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 376:
|
|
#line 1017 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[0].asCodeblock).string, (yyvsp[0].asCodeblock).length, (yyvsp[0].asCodeblock).flags, HB_COMP_PARAM ); (yyvsp[0].asCodeblock).string = NULL; }
|
|
#line 5430 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 377:
|
|
#line 1018 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-2].asExpr); }
|
|
#line 5436 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 378:
|
|
#line 1023 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = NULL; }
|
|
#line 5442 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 379:
|
|
#line 1024 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = NULL; (yyvsp[-1].asExpr)->value.asCodeblock.flags |= HB_BLOCK_VPARAMS; }
|
|
#line 5448 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 380:
|
|
#line 1025 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 5454 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 381:
|
|
#line 1026 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-2].asExpr); (yyvsp[-3].asExpr)->value.asCodeblock.flags |= HB_BLOCK_VPARAMS; }
|
|
#line 5460 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 382:
|
|
#line 1029 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[-2].asExpr), (yyvsp[-1].string), (yyvsp[0].asVarType)->cVarType, HB_COMP_PARAM ); }
|
|
#line 5466 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 383:
|
|
#line 1030 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[-4].asExpr), (yyvsp[-1].string), (yyvsp[0].asVarType)->cVarType, HB_COMP_PARAM ); }
|
|
#line 5472 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 384:
|
|
#line 1033 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-1) - (1)].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5478 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 385:
|
|
#line 1034 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-1) - (3)].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5484 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 386:
|
|
#line 1038 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.bTrue) = HB_COMP_PARAM->functions.pLast->bBlock;
|
|
HB_COMP_PARAM->functions.pLast->bBlock = HB_TRUE; }
|
|
#line 5491 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 387:
|
|
#line 1041 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->bBlock = (yyvsp[-1].bTrue); }
|
|
#line 5497 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 389:
|
|
#line 1044 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 3 */
|
|
PHB_CBVAR pVar;
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
(yyvsp[0].sNumber) = HB_COMP_PARAM->lastLine;
|
|
hb_compCodeBlockStart( HB_COMP_PARAM, 0 );
|
|
HB_COMP_PARAM->functions.pLast->funFlags |= HB_FUNF_EXTBLOCK;
|
|
HB_COMP_PARAM->functions.pLast->fVParams =
|
|
( (yyvsp[-1].asExpr)->value.asCodeblock.flags & HB_BLOCK_VPARAMS ) != 0;
|
|
|
|
(yyvsp[-1].asExpr)->value.asCodeblock.flags |= HB_BLOCK_EXT;
|
|
if( (yyvsp[-1].asExpr)->value.asCodeblock.string )
|
|
{
|
|
hb_xfree( (yyvsp[-1].asExpr)->value.asCodeblock.string );
|
|
(yyvsp[-1].asExpr)->value.asCodeblock.string = NULL;
|
|
(yyvsp[-1].asExpr)->nLength = 0;
|
|
}
|
|
|
|
HB_COMP_PARAM->iVarScope = HB_VSCOMP_PARAMETER;
|
|
pVar = (yyvsp[-1].asExpr)->value.asCodeblock.pLocals;
|
|
while( pVar )
|
|
{
|
|
hb_compVariableAdd( HB_COMP_PARAM, pVar->szName, hb_compVarTypeNew( HB_COMP_PARAM, pVar->bType, NULL ) );
|
|
pVar =pVar->pNext;
|
|
}
|
|
}
|
|
#line 5527 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 390:
|
|
#line 1070 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 6 */
|
|
hb_compCodeBlockEnd( HB_COMP_PARAM );
|
|
(yyval.asExpr) = hb_compExprSetCodeblockBody( (yyvsp[-4].asExpr),
|
|
HB_COMP_PARAM->functions.pLast->pCode + (yyvsp[-2].sNumber),
|
|
HB_COMP_PARAM->functions.pLast->nPCodePos - (yyvsp[-2].sNumber) );
|
|
HB_COMP_PARAM->functions.pLast->nPCodePos = (yyvsp[-2].sNumber);
|
|
HB_COMP_PARAM->lastLine = (yyvsp[-3].sNumber);
|
|
}
|
|
#line 5540 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 391:
|
|
#line 1080 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5546 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 392:
|
|
#line 1081 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5552 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 393:
|
|
#line 1083 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[-1].asExpr); }
|
|
#line 5558 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 395:
|
|
#line 1096 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewIIF( hb_compExprAddListExpr( hb_compExprAddListExpr( hb_compExprNewList( (yyvsp[-5].asExpr), HB_COMP_PARAM ), (yyvsp[-3].asExpr) ), (yyvsp[-1].asExpr) ) ); }
|
|
#line 5564 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 397:
|
|
#line 1102 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_LOCAL; hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 5570 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 399:
|
|
#line 1104 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_STATIC; hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 5576 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 401:
|
|
#line 1106 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_TH_STATIC; hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 5582 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 403:
|
|
#line 1108 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_USES_LOCAL_PARAMS )
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_PARAMETERS_NOT_ALLOWED, NULL, NULL );
|
|
else
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->wParamNum = 0;
|
|
HB_COMP_PARAM->iVarScope = ( HB_VSCOMP_PRIVATE | HB_VSCOMP_PARAMETER );
|
|
}
|
|
}
|
|
#line 5595 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 404:
|
|
#line 1115 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5601 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 405:
|
|
#line 1118 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = 1; }
|
|
#line 5607 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 406:
|
|
#line 1119 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber)++; }
|
|
#line 5613 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 407:
|
|
#line 1122 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = 1; }
|
|
#line 5619 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 408:
|
|
#line 1123 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber)++; }
|
|
#line 5625 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 410:
|
|
#line 1133 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[-1].asExpr), HB_COMP_PARAM ), HB_FALSE ); }
|
|
#line 5631 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 411:
|
|
#line 1135 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[0].asExpr), HB_COMP_PARAM ) );
|
|
hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[-3].asExpr), HB_COMP_PARAM ), HB_TRUE );
|
|
}
|
|
#line 5639 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 412:
|
|
#line 1139 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compArrayDimPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[-2].asExpr), HB_COMP_PARAM ), HB_TRUE );
|
|
}
|
|
#line 5648 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 413:
|
|
#line 1146 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) );
|
|
if( HB_COMP_PARAM->iVarScope & HB_VSCOMP_STATIC )
|
|
{
|
|
hb_compStaticDefStart( HB_COMP_PARAM ); /* switch to statics pcode buffer */
|
|
hb_compStaticDefEnd( HB_COMP_PARAM, (yyvsp[-1].string) );
|
|
}
|
|
else if( HB_COMP_PARAM->iVarScope == HB_VSCOMP_PUBLIC || HB_COMP_PARAM->iVarScope == HB_VSCOMP_PRIVATE )
|
|
{
|
|
hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( (yyvsp[-1].string), NULL, HB_COMP_PARAM ), HB_FALSE );
|
|
}
|
|
else if( HB_COMP_PARAM->iVarScope == HB_VSCOMP_LOCAL &&
|
|
( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_EXTBLOCK ) )
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
}
|
|
}
|
|
#line 5670 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 414:
|
|
#line 1163 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = HB_COMP_PARAM->iVarScope;
|
|
hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) );
|
|
}
|
|
#line 5678 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 415:
|
|
#line 1167 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->iVarScope = (yyvsp[-2].iNumber);
|
|
if( HB_COMP_PARAM->iVarScope & HB_VSCOMP_STATIC )
|
|
{
|
|
hb_compStaticDefStart( HB_COMP_PARAM ); /* switch to statics pcode buffer */
|
|
HB_COMP_EXPR_FREE( hb_compExprGenStatement( hb_compExprAssignStatic( hb_compExprNewVar( (yyvsp[-4].string), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
hb_compStaticDefEnd( HB_COMP_PARAM, (yyvsp[-4].string) );
|
|
}
|
|
else if( HB_COMP_PARAM->iVarScope == HB_VSCOMP_PUBLIC || HB_COMP_PARAM->iVarScope == HB_VSCOMP_PRIVATE )
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[0].asExpr), HB_COMP_PARAM ) );
|
|
hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( (yyvsp[-4].string), NULL, HB_COMP_PARAM ), HB_TRUE );
|
|
}
|
|
else if( HB_COMP_PARAM->iVarScope == HB_VSCOMP_LOCAL &&
|
|
( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_EXTBLOCK ) )
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[0].asExpr), HB_COMP_PARAM ) );
|
|
}
|
|
else
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenStatement( hb_compExprAssign( hb_compExprNewVar( (yyvsp[-4].string), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
}
|
|
HB_COMP_PARAM->iVarScope = (yyvsp[-2].iNumber);
|
|
}
|
|
#line 5707 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 416:
|
|
#line 1192 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableDim( (yyvsp[-2].string), (yyvsp[-1].asExpr), HB_COMP_PARAM ); }
|
|
#line 5713 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 418:
|
|
#line 1201 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 5719 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 419:
|
|
#line 1202 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5725 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 420:
|
|
#line 1203 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-3].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 5731 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 421:
|
|
#line 1206 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_FIELD; }
|
|
#line 5737 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 422:
|
|
#line 1208 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( (yyvsp[-1].string) ) hb_compFieldSetAlias( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[-2].iNumber) );
|
|
}
|
|
#line 5745 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 423:
|
|
#line 1213 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = hb_compFieldsCount( HB_COMP_PARAM ); hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5751 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 424:
|
|
#line 1214 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5757 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 425:
|
|
#line 1217 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = NULL; }
|
|
#line 5763 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 426:
|
|
#line 1218 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.string) = (yyvsp[0].string); }
|
|
#line 5769 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 427:
|
|
#line 1221 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_MEMVAR; }
|
|
#line 5775 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 429:
|
|
#line 1224 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5781 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 430:
|
|
#line 1225 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5787 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 431:
|
|
#line 1228 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredAdd( HB_COMP_PARAM, (yyvsp[-1].string) ); HB_COMP_PARAM->szDeclaredFun = (yyvsp[-1].string); }
|
|
#line 5793 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 432:
|
|
#line 1229 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->pLastDeclared )
|
|
{
|
|
HB_COMP_PARAM->pLastDeclared->cType = (yyvsp[-1].asVarType)->cVarType;
|
|
|
|
if( HB_TOUPPER( (yyvsp[-1].asVarType)->cVarType ) == 'S' )
|
|
{
|
|
HB_COMP_PARAM->pLastDeclared->pClass = hb_compClassFind( HB_COMP_PARAM, (yyvsp[-1].asVarType)->szFromClass );
|
|
if( ! HB_COMP_PARAM->pLastDeclared->pClass )
|
|
{
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_CLASS_NOT_FOUND, (yyvsp[-1].asVarType)->szFromClass, HB_COMP_PARAM->pLastDeclared->szName );
|
|
HB_COMP_PARAM->pLastDeclared->cType = ( HB_ISUPPER( ( HB_UCHAR ) (yyvsp[-1].asVarType)->cVarType ) ? 'O' : 'o' );
|
|
}
|
|
}
|
|
}
|
|
HB_COMP_PARAM->szDeclaredFun = NULL;
|
|
HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE;
|
|
}
|
|
#line 5816 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 433:
|
|
#line 1247 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[0].string), NULL ); }
|
|
#line 5822 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 434:
|
|
#line 1247 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5828 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 435:
|
|
#line 1248 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[-1].string), NULL ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5834 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 436:
|
|
#line 1249 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[-2].string), (yyvsp[-1].string) ); HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5840 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 437:
|
|
#line 1250 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5846 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 438:
|
|
#line 1251 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->cDataListType = (yyvsp[0].asVarType)->cVarType; }
|
|
#line 5852 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 439:
|
|
#line 1251 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->cDataListType = 0; HB_COMP_PARAM->iVarScope = HB_VSCOMP_NONE; }
|
|
#line 5858 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 446:
|
|
#line 1264 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[-1].string) ); }
|
|
#line 5864 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 447:
|
|
#line 1265 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->pLastMethod )
|
|
{
|
|
HB_COMP_PARAM->pLastMethod->cType = (yyvsp[0].asVarType)->cVarType;
|
|
if( HB_TOUPPER( (yyvsp[0].asVarType)->cVarType ) == 'S' )
|
|
{
|
|
HB_COMP_PARAM->pLastMethod->pClass = hb_compClassFind( HB_COMP_PARAM, (yyvsp[0].asVarType)->szFromClass );
|
|
if( ! HB_COMP_PARAM->pLastMethod->pClass )
|
|
{
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_CLASS_NOT_FOUND, (yyvsp[0].asVarType)->szFromClass, HB_COMP_PARAM->pLastMethod->szName );
|
|
HB_COMP_PARAM->pLastMethod->cType = ( HB_ISUPPER( ( HB_UCHAR ) (yyvsp[0].asVarType)->cVarType ) ? 'O' : 'o' );
|
|
}
|
|
}
|
|
}
|
|
HB_COMP_PARAM->pLastMethod = NULL;
|
|
}
|
|
#line 5885 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 448:
|
|
#line 1283 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[0].string) ); }
|
|
#line 5891 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 449:
|
|
#line 1284 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->pLastMethod )
|
|
{
|
|
PHB_HCLASS pClass;
|
|
char szSetData[ HB_SYMBOL_NAME_LEN + 1 ];
|
|
int iLen;
|
|
HB_BYTE cVarType = (yyvsp[0].asVarType)->cVarType;
|
|
|
|
/* List Type overrides if exists. */
|
|
if( HB_COMP_PARAM->cDataListType )
|
|
cVarType = HB_COMP_PARAM->cDataListType;
|
|
|
|
HB_COMP_PARAM->pLastMethod->cType = cVarType;
|
|
if( HB_TOUPPER( cVarType ) == 'S' )
|
|
{
|
|
pClass = hb_compClassFind( HB_COMP_PARAM, (yyvsp[0].asVarType)->szFromClass );
|
|
HB_COMP_PARAM->pLastMethod->pClass = pClass;
|
|
if( ! HB_COMP_PARAM->pLastMethod->pClass )
|
|
{
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_CLASS_NOT_FOUND, (yyvsp[0].asVarType)->szFromClass, HB_COMP_PARAM->pLastMethod->szName );
|
|
HB_COMP_PARAM->pLastMethod->cType = ( HB_ISUPPER( ( HB_UCHAR ) cVarType ) ? 'O' :'o' );
|
|
}
|
|
}
|
|
else
|
|
pClass = NULL;
|
|
|
|
iLen = ( int ) strlen( (yyvsp[-2].string) );
|
|
if( iLen >= HB_SYMBOL_NAME_LEN )
|
|
iLen = HB_SYMBOL_NAME_LEN - 1;
|
|
szSetData[ 0 ] = '_';
|
|
memcpy( szSetData + 1, (yyvsp[-2].string), iLen );
|
|
szSetData[ iLen + 1 ] = '\0';
|
|
|
|
HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass,
|
|
hb_compIdentifierNew( HB_COMP_PARAM, szSetData, HB_IDENT_COPY ) );
|
|
HB_COMP_PARAM->pLastMethod->cType = cVarType;
|
|
HB_COMP_PARAM->pLastMethod->iParamCount = 1;
|
|
|
|
HB_COMP_PARAM->pLastMethod->cParamTypes = ( HB_BYTE * ) hb_xgrab( 1 );
|
|
HB_COMP_PARAM->pLastMethod->pParamClasses = ( PHB_HCLASS * ) hb_xgrab( sizeof( HB_HCLASS ) );
|
|
|
|
HB_COMP_PARAM->pLastMethod->cParamTypes[ 0 ] = cVarType;
|
|
HB_COMP_PARAM->pLastMethod->pParamClasses[ 0 ] = pClass;
|
|
|
|
if( HB_TOUPPER( cVarType ) == 'S' )
|
|
{
|
|
HB_COMP_PARAM->pLastMethod->pClass = pClass;
|
|
}
|
|
}
|
|
|
|
HB_COMP_PARAM->pLastMethod = NULL;
|
|
}
|
|
#line 5948 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 463:
|
|
#line 1357 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( (yyvsp[0].asExpr) ); }
|
|
#line 5954 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 464:
|
|
#line 1360 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5960 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 465:
|
|
#line 1361 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 5966 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 466:
|
|
#line 1362 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-3].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F', NULL ) ); }
|
|
#line 5972 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 467:
|
|
#line 1363 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), (yyvsp[0].asVarType) ); }
|
|
#line 5978 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 468:
|
|
#line 1364 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 5984 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 469:
|
|
#line 1365 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-3].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F', NULL ) ); }
|
|
#line 5990 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 470:
|
|
#line 1368 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_OPTIONAL, NULL ) ); }
|
|
#line 5996 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 471:
|
|
#line 1369 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_OPTIONAL + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 6002 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 472:
|
|
#line 1370 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-3].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F' + HB_VT_OFFSET_OPTIONAL + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 6008 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 473:
|
|
#line 1371 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_OPTIONAL, NULL ) ); }
|
|
#line 6014 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 474:
|
|
#line 1372 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-1].string), hb_compVarTypeNew( HB_COMP_PARAM, (yyvsp[0].asVarType)->cVarType + HB_VT_OFFSET_OPTIONAL + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 6020 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 475:
|
|
#line 1373 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[-3].string), hb_compVarTypeNew( HB_COMP_PARAM, 'F' + HB_VT_OFFSET_OPTIONAL + HB_VT_OFFSET_BYREF, NULL ) ); }
|
|
#line 6026 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 484:
|
|
#line 1386 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM ); }
|
|
#line 6032 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 485:
|
|
#line 1387 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenJumpHere( (yyvsp[-2].sNumber), HB_COMP_PARAM ); }
|
|
#line 6038 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 486:
|
|
#line 1388 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenJumpHere( (yyvsp[-2].sNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[-1].pVoid) ); }
|
|
#line 6044 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 487:
|
|
#line 1389 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenJumpHere( (yyvsp[-3].sNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[-2].pVoid) ); }
|
|
#line 6050 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 488:
|
|
#line 1393 "harbour.y" /* yacc.c:1646 */
|
|
{ ++HB_COMP_PARAM->functions.pLast->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 6056 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 489:
|
|
#line 1395 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-2].asExpr), HB_COMP_PARAM ) ); (yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); }
|
|
#line 6062 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 490:
|
|
#line 1397 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.sNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM ); }
|
|
#line 6068 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 491:
|
|
#line 1400 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; }
|
|
#line 6074 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 493:
|
|
#line 1404 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 6080 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 494:
|
|
#line 1406 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6088 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 495:
|
|
#line 1410 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) );
|
|
hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM );
|
|
}
|
|
#line 6096 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 496:
|
|
#line 1414 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 6102 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 497:
|
|
#line 1416 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6110 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 498:
|
|
#line 1420 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[-6].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) );
|
|
hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM );
|
|
}
|
|
#line 6118 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 499:
|
|
#line 1426 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->functions.pLast->wIfCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wIfCounter;
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
}
|
|
#line 6128 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 502:
|
|
#line 1439 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[-1].pVoid) ); }
|
|
#line 6134 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 505:
|
|
#line 1451 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[-2].pVoid) ); }
|
|
#line 6140 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 506:
|
|
#line 1455 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_PARAM->functions.pLast->wCaseCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wCaseCounter;
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
}
|
|
#line 6149 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 509:
|
|
#line 1465 "harbour.y" /* yacc.c:1646 */
|
|
{ ++HB_COMP_PARAM->functions.pLast->wCaseCounter; hb_compLinePushIfDebugger( HB_COMP_PARAM );}
|
|
#line 6155 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 512:
|
|
#line 1469 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( (yyvsp[0].lNumber) > 0 )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL );
|
|
}
|
|
}
|
|
#line 6166 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 513:
|
|
#line 1477 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 6172 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 514:
|
|
#line 1478 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6181 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 515:
|
|
#line 1483 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE;
|
|
(yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) );
|
|
hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM );
|
|
}
|
|
#line 6191 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 516:
|
|
#line 1489 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compLinePushIfInside( HB_COMP_PARAM ); }
|
|
#line 6197 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 517:
|
|
#line 1490 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6206 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 518:
|
|
#line 1495 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE;
|
|
(yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[-6].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) );
|
|
hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM );
|
|
}
|
|
#line 6216 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 519:
|
|
#line 1502 "harbour.y" /* yacc.c:1646 */
|
|
{hb_compLinePushIfDebugger( HB_COMP_PARAM ); }
|
|
#line 6222 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 520:
|
|
#line 1502 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; }
|
|
#line 6228 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 522:
|
|
#line 1504 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL ); }
|
|
#line 6234 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 524:
|
|
#line 1509 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6243 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 525:
|
|
#line 1514 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compLoopHere( HB_COMP_PARAM );
|
|
hb_compGenJump( (yyvsp[-4].sNumber) - HB_COMP_PARAM->functions.pLast->nPCodePos, HB_COMP_PARAM );
|
|
}
|
|
#line 6252 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 526:
|
|
#line 1519 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compGenJumpHere( (yyvsp[-3].sNumber), HB_COMP_PARAM );
|
|
if( HB_COMP_PARAM->functions.pLast->wWhileCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wWhileCounter;
|
|
hb_compLoopEnd( HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_WITH_RETURN;
|
|
}
|
|
#line 6264 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 527:
|
|
#line 1529 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
++HB_COMP_PARAM->functions.pLast->wWhileCounter;
|
|
hb_compLoopStart( HB_COMP_PARAM, HB_TRUE );
|
|
}
|
|
#line 6275 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 528:
|
|
#line 1538 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; }
|
|
#line 6281 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 531:
|
|
#line 1546 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 5 */
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
(yyvsp[-3].iNumber) = HB_COMP_PARAM->currLine;
|
|
hb_compDebugStart();
|
|
++HB_COMP_PARAM->functions.pLast->wForCounter;
|
|
(yyvsp[-2].asExpr) = hb_compExprReduce( (yyvsp[-2].asExpr), HB_COMP_PARAM );
|
|
(yyval.asExpr) = hb_compExprGenPush( hb_compExprAssign( (yyvsp[-2].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM );
|
|
if( hb_compExprAsSymbol( (yyvsp[-2].asExpr) ) )
|
|
{
|
|
hb_compForStart( HB_COMP_PARAM, hb_compExprAsSymbol( (yyvsp[-2].asExpr) ), 0 );
|
|
}
|
|
}
|
|
#line 6298 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 532:
|
|
#line 1559 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 9 */
|
|
hb_compLoopStart( HB_COMP_PARAM, HB_TRUE );
|
|
(yyval.sNumber) = hb_compGenJump( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6307 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 533:
|
|
#line 1564 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 11 */
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
}
|
|
#line 6315 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 534:
|
|
#line 1568 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
int iSign, iLine;
|
|
|
|
hb_compLoopHere( HB_COMP_PARAM );
|
|
|
|
iLine = HB_COMP_PARAM->currLine;
|
|
HB_COMP_PARAM->currLine = (yyvsp[-11].iNumber);
|
|
hb_compLinePush( HB_COMP_PARAM );
|
|
HB_COMP_PARAM->currLine = iLine;
|
|
|
|
if( (yyvsp[-4].asExpr) )
|
|
{
|
|
(yyvsp[-4].asExpr) = hb_compExprReduce( (yyvsp[-4].asExpr), HB_COMP_PARAM );
|
|
iSign = hb_compExprAsNumSign( (yyvsp[-4].asExpr) );
|
|
HB_COMP_EXPR_CLEAR( hb_compExprGenPush( hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[-10].asExpr), HB_COMP_PARAM ), (yyvsp[-4].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
}
|
|
else
|
|
{
|
|
iSign = 1;
|
|
HB_COMP_EXPR_CLEAR( hb_compExprGenPush( hb_compExprNewPreInc( (yyvsp[-10].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
}
|
|
hb_compGenJumpHere( (yyvsp[-3].sNumber), HB_COMP_PARAM );
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-5].asExpr), HB_COMP_PARAM ) ); /* end */
|
|
if( iSign )
|
|
{
|
|
hb_compGenPCode1( ( HB_BYTE ) ( iSign > 0 ? HB_P_GREATER : HB_P_LESS ), HB_COMP_PARAM );
|
|
if( (yyvsp[-4].asExpr) )
|
|
HB_COMP_EXPR_FREE( (yyvsp[-4].asExpr) );
|
|
}
|
|
else
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-4].asExpr), HB_COMP_PARAM ) ); /* step */
|
|
hb_compGenPCode1( HB_P_FORTEST, HB_COMP_PARAM );
|
|
}
|
|
|
|
hb_compGenJumpFalse( (yyvsp[-1].sNumber) - HB_COMP_PARAM->functions.pLast->nPCodePos, HB_COMP_PARAM );
|
|
hb_compLoopEnd( HB_COMP_PARAM );
|
|
if( hb_compExprAsSymbol( (yyvsp[-10].asExpr) ) )
|
|
hb_compForEnd( HB_COMP_PARAM, hb_compExprAsSymbol( (yyvsp[-10].asExpr) ) );
|
|
HB_COMP_EXPR_FREE( (yyvsp[-7].asExpr) ); /* deletes $5, $2, $4 */
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
}
|
|
#line 6362 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 537:
|
|
#line 1616 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = NULL; }
|
|
#line 6368 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 538:
|
|
#line 1617 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprReduce( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 6374 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 539:
|
|
#line 1621 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compLinePush( HB_COMP_PARAM );
|
|
if( HB_COMP_PARAM->functions.pLast->wForCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wForCounter;
|
|
}
|
|
#line 6384 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 544:
|
|
#line 1634 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 6390 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 545:
|
|
#line 1635 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewRef( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 6396 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 546:
|
|
#line 1638 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 6402 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 547:
|
|
#line 1639 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 6408 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 548:
|
|
#line 1642 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 6414 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 550:
|
|
#line 1646 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 6420 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 551:
|
|
#line 1647 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 6426 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 552:
|
|
#line 1652 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
++HB_COMP_PARAM->functions.pLast->wForCounter; /* 5 */
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
hb_compDebugStart();
|
|
}
|
|
#line 6436 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 553:
|
|
#line 1658 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
/* 7 */
|
|
(yyvsp[-4].asExpr) = hb_compExprReduce( (yyvsp[-4].asExpr), HB_COMP_PARAM );
|
|
(yyvsp[-2].asExpr) = hb_compExprReduce( (yyvsp[-2].asExpr), HB_COMP_PARAM );
|
|
hb_compEnumStart( HB_COMP_PARAM, (yyvsp[-4].asExpr), (yyvsp[-2].asExpr), (yyvsp[0].iNumber) );
|
|
|
|
hb_compLoopStart( HB_COMP_PARAM, HB_TRUE );
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
}
|
|
#line 6450 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 554:
|
|
#line 1668 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
/* 9 */
|
|
(yyval.sNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6459 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 555:
|
|
#line 1673 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compLoopHere( HB_COMP_PARAM );
|
|
hb_compEnumNext( HB_COMP_PARAM, (yyvsp[-8].asExpr), (yyvsp[-4].iNumber) );
|
|
hb_compGenJump( (yyvsp[-3].sNumber) - HB_COMP_PARAM->functions.pLast->nPCodePos, HB_COMP_PARAM );
|
|
|
|
hb_compGenJumpHere( (yyvsp[-1].sNumber), HB_COMP_PARAM );
|
|
hb_compLoopEnd( HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
hb_compEnumEnd( HB_COMP_PARAM, (yyvsp[-8].asExpr) );
|
|
HB_COMP_EXPR_FREE( (yyvsp[-8].asExpr) );
|
|
HB_COMP_EXPR_FREE( (yyvsp[-6].asExpr) );
|
|
}
|
|
#line 6476 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 556:
|
|
#line 1687 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = 1; }
|
|
#line 6482 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 557:
|
|
#line 1688 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.iNumber) = -1; }
|
|
#line 6488 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 558:
|
|
#line 1692 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compLoopStart( HB_COMP_PARAM, HB_FALSE );
|
|
hb_compSwitchStart( HB_COMP_PARAM, (yyvsp[0].asExpr) );
|
|
hb_compGenJump( 0, HB_COMP_PARAM );
|
|
}
|
|
#line 6498 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 559:
|
|
#line 1699 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compSwitchEnd( HB_COMP_PARAM );
|
|
hb_compLoopEnd( HB_COMP_PARAM );
|
|
}
|
|
#line 6507 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 560:
|
|
#line 1706 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( (yyvsp[-1].asExpr) );
|
|
}
|
|
#line 6515 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 561:
|
|
#line 1712 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( HB_COMP_PARAM->functions.pLast->wSwitchCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wSwitchCounter;
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
}
|
|
#line 6525 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 564:
|
|
#line 1724 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
++HB_COMP_PARAM->functions.pLast->wSwitchCounter;
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
}
|
|
#line 6534 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 565:
|
|
#line 1729 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
(yyval.asExpr) = hb_compExprReduce( (yyvsp[-1].asExpr), HB_COMP_PARAM );
|
|
}
|
|
#line 6542 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 567:
|
|
#line 1736 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
if( (yyvsp[0].lNumber) > 0 )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL );
|
|
}
|
|
}
|
|
#line 6553 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 568:
|
|
#line 1744 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[0].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 6559 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 570:
|
|
#line 1747 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[0].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 6565 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 574:
|
|
#line 1755 "harbour.y" /* yacc.c:1646 */
|
|
{ hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); }
|
|
#line 6571 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 575:
|
|
#line 1755 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; }
|
|
#line 6577 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 577:
|
|
#line 1760 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 2 */
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
++HB_COMP_PARAM->functions.pLast->wSeqCounter;
|
|
(yyval.sNumber) = hb_compSequenceBegin( HB_COMP_PARAM );
|
|
}
|
|
#line 6587 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 578:
|
|
#line 1768 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 6 */
|
|
/* Set jump address for HB_P_SEQBEGIN opcode - this address
|
|
* will be used in BREAK code if there is no RECOVER clause
|
|
*/
|
|
if( (yyvsp[-2].sNumber) )
|
|
hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM );
|
|
hb_compGenJumpHere( (yyvsp[-3].sNumber), HB_COMP_PARAM );
|
|
(yyval.sNumber) = hb_compSequenceEnd( HB_COMP_PARAM );
|
|
(yyvsp[-1].lNumber) = hb_compLoopCount( HB_COMP_PARAM );
|
|
}
|
|
#line 6602 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 579:
|
|
#line 1779 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 8 */
|
|
/* Replace END address with RECOVER address in
|
|
* HB_P_SEQBEGIN opcode if there is RECOVER clause
|
|
*/
|
|
if( (yyvsp[0].sNumber) )
|
|
hb_compGenJumpThere( (yyvsp[-5].sNumber), (yyvsp[0].sNumber), HB_COMP_PARAM );
|
|
else if( HB_COMP_PARAM->functions.pLast->wSeqCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wSeqCounter;
|
|
}
|
|
#line 6616 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 580:
|
|
#line 1789 "harbour.y" /* yacc.c:1646 */
|
|
{ /* 10 */
|
|
long lLoopCount = hb_compLoopCount( HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
if( (yyvsp[0].sNumber) )
|
|
{
|
|
if( (yyvsp[-5].lNumber) != lLoopCount )
|
|
{
|
|
/* ALWAYS statement after RECOVER with EXIT/LOOP statments */
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ALWAYS_AFTER_EXIT, "EXIT/LOOP", NULL );
|
|
}
|
|
--HB_COMP_PARAM->functions.pLast->wAlwaysCounter;
|
|
/* replace END address with ALWAYS address in
|
|
HB_P_SEQEND opcode */
|
|
hb_compGenJumpThere( (yyvsp[-3].sNumber), (yyvsp[0].sNumber), HB_COMP_PARAM );
|
|
/* Fix ALWAYS address in HB_P_SEQALWAYS opcode */
|
|
hb_compGenJumpThere( (yyvsp[-7].sNumber) - 4, (yyvsp[0].sNumber), HB_COMP_PARAM );
|
|
/* Fix ALWAYSEND address in HB_P_ALWAYSBEGIN opcode */
|
|
hb_compGenJumpHere( (yyvsp[0].sNumber) + 1, HB_COMP_PARAM );
|
|
hb_compGenPCode1( HB_P_ALWAYSEND, HB_COMP_PARAM );
|
|
}
|
|
else
|
|
{
|
|
/* Fix END address in HB_P_SEQEND opcode */
|
|
hb_compGenJumpHere( (yyvsp[-3].sNumber), HB_COMP_PARAM );
|
|
}
|
|
hb_compSequenceFinish( HB_COMP_PARAM, (yyvsp[-7].sNumber), (yyvsp[-3].sNumber), (yyvsp[0].sNumber),
|
|
(yyvsp[-4].lNumber) != 0, (yyvsp[-2].sNumber) != 0, (yyvsp[-5].lNumber) == lLoopCount );
|
|
}
|
|
#line 6649 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 584:
|
|
#line 1824 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.sNumber) = 0; }
|
|
#line 6655 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 585:
|
|
#line 1826 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[0].asExpr), HB_COMP_PARAM ) );
|
|
hb_compGenPCode1( HB_P_SEQBLOCK, HB_COMP_PARAM );
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
}
|
|
#line 6665 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 586:
|
|
#line 1833 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.sNumber) = 0; }
|
|
#line 6671 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 588:
|
|
#line 1838 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ ( HB_FUNF_WITH_RETURN | HB_FUNF_BREAK_CODE );
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
++HB_COMP_PARAM->functions.pLast->wAlwaysCounter;
|
|
hb_compSequenceAlways( HB_COMP_PARAM );
|
|
}
|
|
#line 6682 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 589:
|
|
#line 1846 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.sNumber) = 0; HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE; }
|
|
#line 6688 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 592:
|
|
#line 1852 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE;
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
if( HB_COMP_PARAM->functions.pLast->wSeqCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wSeqCounter;
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
hb_compGenPCode2( HB_P_SEQRECOVER, HB_P_POP, HB_COMP_PARAM );
|
|
}
|
|
#line 6701 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 593:
|
|
#line 1863 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->funFlags &= ~ HB_FUNF_BREAK_CODE;
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
if( HB_COMP_PARAM->functions.pLast->wSeqCounter )
|
|
--HB_COMP_PARAM->functions.pLast->wSeqCounter;
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
hb_compGenPCode1( HB_P_SEQRECOVER, HB_COMP_PARAM );
|
|
hb_compGenPopVar( (yyvsp[0].string), HB_COMP_PARAM );
|
|
}
|
|
#line 6715 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 594:
|
|
#line 1881 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
(yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[-1].asExpr), (yyvsp[0].asExpr), HB_COMP_PARAM );
|
|
}
|
|
#line 6723 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 595:
|
|
#line 1885 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compModuleAdd( HB_COMP_PARAM, (yyvsp[-1].string), HB_FALSE );
|
|
/* DOIDENT is the only one identifier which can be returned in lower letters */
|
|
(yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( hb_strdup( (yyvsp[-1].string) ) ), HB_IDENT_FREE ), HB_COMP_PARAM ), (yyvsp[0].asExpr), HB_COMP_PARAM );
|
|
}
|
|
#line 6733 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 596:
|
|
#line 1892 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = NULL; }
|
|
#line 6739 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 597:
|
|
#line 1893 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = (yyvsp[0].asExpr); }
|
|
#line 6745 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 598:
|
|
#line 1896 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), hb_compExprNewNil( HB_COMP_PARAM ) ); }
|
|
#line 6751 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 599:
|
|
#line 1897 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), (yyvsp[0].asExpr) ); }
|
|
#line 6757 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 600:
|
|
#line 1898 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[0].asExpr), HB_COMP_PARAM ); }
|
|
#line 6763 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 601:
|
|
#line 1899 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-1].asExpr), hb_compExprNewNil( HB_COMP_PARAM ) ); }
|
|
#line 6769 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 602:
|
|
#line 1900 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[-2].asExpr), (yyvsp[0].asExpr) ); }
|
|
#line 6775 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 603:
|
|
#line 1903 "harbour.y" /* yacc.c:1646 */
|
|
{ (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[0].string), HB_COMP_PARAM ); }
|
|
#line 6781 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 608:
|
|
#line 1911 "harbour.y" /* yacc.c:1646 */
|
|
{
|
|
hb_compLinePushIfInside( HB_COMP_PARAM );
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPush( (yyvsp[-1].asExpr), HB_COMP_PARAM ) );
|
|
(yyval.sNumber) = HB_COMP_PARAM->functions.pLast->nPCodePos;
|
|
hb_compGenPCode1( HB_P_WITHOBJECTSTART, HB_COMP_PARAM );
|
|
HB_COMP_PARAM->functions.pLast->wWithObjectCnt++;
|
|
}
|
|
#line 6793 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 609:
|
|
#line 1920 "harbour.y" /* yacc.c:1646 */
|
|
{ if( HB_COMP_PARAM->functions.pLast->wWithObjectCnt )
|
|
--HB_COMP_PARAM->functions.pLast->wWithObjectCnt;
|
|
if( (yyvsp[-1].lNumber) )
|
|
hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM );
|
|
else
|
|
{
|
|
hb_compNOOPfill( HB_COMP_PARAM->functions.pLast,
|
|
(yyvsp[-2].sNumber), 1, HB_FALSE, HB_TRUE );
|
|
hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM );
|
|
}
|
|
}
|
|
#line 6809 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
case 612:
|
|
#line 1937 "harbour.y" /* yacc.c:1646 */
|
|
{ HB_COMP_PARAM->fError = HB_FALSE; }
|
|
#line 6815 "harboury.c" /* yacc.c:1646 */
|
|
break;
|
|
|
|
|
|
#line 6819 "harboury.c" /* yacc.c:1646 */
|
|
default: break;
|
|
}
|
|
/* User semantic actions sometimes alter yychar, and that requires
|
|
that yytoken be updated with the new translation. We take the
|
|
approach of translating immediately before every use of yytoken.
|
|
One alternative is translating here after every semantic action,
|
|
but that translation would be missed if the semantic action invokes
|
|
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
|
|
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
|
|
incorrect destructor might then be invoked immediately. In the
|
|
case of YYERROR or YYBACKUP, subsequent parser actions might lead
|
|
to an incorrect destructor call or verbose syntax error message
|
|
before the lookahead is translated. */
|
|
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
|
|
|
YYPOPSTACK (yylen);
|
|
yylen = 0;
|
|
YY_STACK_PRINT (yyss, yyssp);
|
|
|
|
*++yyvsp = yyval;
|
|
|
|
/* Now 'shift' the result of the reduction. Determine what state
|
|
that goes to, based on the state we popped back to and the rule
|
|
number reduced by. */
|
|
|
|
yyn = yyr1[yyn];
|
|
|
|
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
|
|
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
|
|
yystate = yytable[yystate];
|
|
else
|
|
yystate = yydefgoto[yyn - YYNTOKENS];
|
|
|
|
goto yynewstate;
|
|
|
|
|
|
/*--------------------------------------.
|
|
| yyerrlab -- here on detecting error. |
|
|
`--------------------------------------*/
|
|
yyerrlab:
|
|
/* Make sure we have latest lookahead translation. See comments at
|
|
user semantic actions for why this is necessary. */
|
|
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
|
|
|
/* If not already recovering from an error, report this error. */
|
|
if (!yyerrstatus)
|
|
{
|
|
++yynerrs;
|
|
#if ! YYERROR_VERBOSE
|
|
yyerror (pComp, YY_("syntax error"));
|
|
#else
|
|
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
|
|
yyssp, yytoken)
|
|
{
|
|
char const *yymsgp = YY_("syntax error");
|
|
int yysyntax_error_status;
|
|
yysyntax_error_status = YYSYNTAX_ERROR;
|
|
if (yysyntax_error_status == 0)
|
|
yymsgp = yymsg;
|
|
else if (yysyntax_error_status == 1)
|
|
{
|
|
if (yymsg != yymsgbuf)
|
|
YYSTACK_FREE (yymsg);
|
|
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
|
|
if (!yymsg)
|
|
{
|
|
yymsg = yymsgbuf;
|
|
yymsg_alloc = sizeof yymsgbuf;
|
|
yysyntax_error_status = 2;
|
|
}
|
|
else
|
|
{
|
|
yysyntax_error_status = YYSYNTAX_ERROR;
|
|
yymsgp = yymsg;
|
|
}
|
|
}
|
|
yyerror (pComp, yymsgp);
|
|
if (yysyntax_error_status == 2)
|
|
goto yyexhaustedlab;
|
|
}
|
|
# undef YYSYNTAX_ERROR
|
|
#endif
|
|
}
|
|
|
|
|
|
|
|
if (yyerrstatus == 3)
|
|
{
|
|
/* If just tried and failed to reuse lookahead token after an
|
|
error, discard it. */
|
|
|
|
if (yychar <= YYEOF)
|
|
{
|
|
/* Return failure if at end of input. */
|
|
if (yychar == YYEOF)
|
|
YYABORT;
|
|
}
|
|
else
|
|
{
|
|
yydestruct ("Error: discarding",
|
|
yytoken, &yylval, pComp);
|
|
yychar = YYEMPTY;
|
|
}
|
|
}
|
|
|
|
/* Else will try to reuse lookahead token after shifting the error
|
|
token. */
|
|
goto yyerrlab1;
|
|
|
|
|
|
/*---------------------------------------------------.
|
|
| yyerrorlab -- error raised explicitly by YYERROR. |
|
|
`---------------------------------------------------*/
|
|
yyerrorlab:
|
|
|
|
/* Pacify compilers like GCC when the user code never invokes
|
|
YYERROR and the label yyerrorlab therefore never appears in user
|
|
code. */
|
|
if (/*CONSTCOND*/ 0)
|
|
goto yyerrorlab;
|
|
|
|
/* Do not reclaim the symbols of the rule whose action triggered
|
|
this YYERROR. */
|
|
YYPOPSTACK (yylen);
|
|
yylen = 0;
|
|
YY_STACK_PRINT (yyss, yyssp);
|
|
yystate = *yyssp;
|
|
goto yyerrlab1;
|
|
|
|
|
|
/*-------------------------------------------------------------.
|
|
| yyerrlab1 -- common code for both syntax error and YYERROR. |
|
|
`-------------------------------------------------------------*/
|
|
yyerrlab1:
|
|
yyerrstatus = 3; /* Each real token shifted decrements this. */
|
|
|
|
for (;;)
|
|
{
|
|
yyn = yypact[yystate];
|
|
if (!yypact_value_is_default (yyn))
|
|
{
|
|
yyn += YYTERROR;
|
|
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
|
|
{
|
|
yyn = yytable[yyn];
|
|
if (0 < yyn)
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* Pop the current state because it cannot handle the error token. */
|
|
if (yyssp == yyss)
|
|
YYABORT;
|
|
|
|
|
|
yydestruct ("Error: popping",
|
|
yystos[yystate], yyvsp, pComp);
|
|
YYPOPSTACK (1);
|
|
yystate = *yyssp;
|
|
YY_STACK_PRINT (yyss, yyssp);
|
|
}
|
|
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
|
|
*++yyvsp = yylval;
|
|
YY_IGNORE_MAYBE_UNINITIALIZED_END
|
|
|
|
|
|
/* Shift the error token. */
|
|
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
|
|
|
|
yystate = yyn;
|
|
goto yynewstate;
|
|
|
|
|
|
/*-------------------------------------.
|
|
| yyacceptlab -- YYACCEPT comes here. |
|
|
`-------------------------------------*/
|
|
yyacceptlab:
|
|
yyresult = 0;
|
|
goto yyreturn;
|
|
|
|
/*-----------------------------------.
|
|
| yyabortlab -- YYABORT comes here. |
|
|
`-----------------------------------*/
|
|
yyabortlab:
|
|
yyresult = 1;
|
|
goto yyreturn;
|
|
|
|
#if !defined yyoverflow || YYERROR_VERBOSE
|
|
/*-------------------------------------------------.
|
|
| yyexhaustedlab -- memory exhaustion comes here. |
|
|
`-------------------------------------------------*/
|
|
yyexhaustedlab:
|
|
yyerror (pComp, YY_("memory exhausted"));
|
|
yyresult = 2;
|
|
/* Fall through. */
|
|
#endif
|
|
|
|
yyreturn:
|
|
if (yychar != YYEMPTY)
|
|
{
|
|
/* Make sure we have latest lookahead translation. See comments at
|
|
user semantic actions for why this is necessary. */
|
|
yytoken = YYTRANSLATE (yychar);
|
|
yydestruct ("Cleanup: discarding lookahead",
|
|
yytoken, &yylval, pComp);
|
|
}
|
|
/* Do not reclaim the symbols of the rule whose action triggered
|
|
this YYABORT or YYACCEPT. */
|
|
YYPOPSTACK (yylen);
|
|
YY_STACK_PRINT (yyss, yyssp);
|
|
while (yyssp != yyss)
|
|
{
|
|
yydestruct ("Cleanup: popping",
|
|
yystos[*yyssp], yyvsp, pComp);
|
|
YYPOPSTACK (1);
|
|
}
|
|
#ifndef yyoverflow
|
|
if (yyss != yyssa)
|
|
YYSTACK_FREE (yyss);
|
|
#endif
|
|
#if YYERROR_VERBOSE
|
|
if (yymsg != yymsgbuf)
|
|
YYSTACK_FREE (yymsg);
|
|
#endif
|
|
return yyresult;
|
|
}
|
|
#line 1941 "harbour.y" /* yacc.c:1906 */
|
|
|
|
|
|
/*
|
|
** ------------------------------------------------------------------------ **
|
|
*/
|
|
|
|
/*
|
|
* Avoid tracing in preprocessor/compiler.
|
|
*/
|
|
#if ! defined( HB_TRACE_UTILS )
|
|
#if defined( HB_TRACE_LEVEL )
|
|
#undef HB_TRACE_LEVEL
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/* ************************************************************************* */
|
|
|
|
/*
|
|
* This function stores the position in pcode buffer where the FOR/WHILE
|
|
* loop starts. It will be used to fix any LOOP/EXIT statements
|
|
*/
|
|
static void hb_compLoopStart( HB_COMP_DECL, HB_BOOL fCanLoop )
|
|
{
|
|
PHB_LOOPEXIT pLoop = ( PHB_LOOPEXIT ) hb_xgrab( sizeof( HB_LOOPEXIT ) );
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
if( pFunc->pLoops )
|
|
{
|
|
PHB_LOOPEXIT pLast = pFunc->pLoops;
|
|
|
|
while( pLast->pNext )
|
|
pLast = pLast->pNext;
|
|
pLast->pNext = pLoop;
|
|
}
|
|
else
|
|
pFunc->pLoops = pLoop;
|
|
|
|
pLoop->nOffset = pFunc->nPCodePos; /* store the start position */
|
|
pLoop->fCanLoop = fCanLoop; /* can we use LOOP inside */
|
|
pLoop->wSeqCounter = pFunc->wSeqCounter; /* store current SEQUENCE counter */
|
|
pLoop->wWithObjectCnt = pFunc->wWithObjectCnt; /* store current WITH OBJECT counter */
|
|
pLoop->wAlwaysCounter = pFunc->wAlwaysCounter; /* store current ALWAYS counter */
|
|
pLoop->pExitList = NULL;
|
|
pLoop->pLoopList = NULL;
|
|
pLoop->pNext = NULL;
|
|
}
|
|
|
|
/*
|
|
* return number of LOOP of EXIT statement in the top most structure
|
|
*/
|
|
static long hb_compLoopCount( HB_COMP_DECL )
|
|
{
|
|
PHB_LOOPEXIT pLastLoop, pLastExit, pLoop;
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
long lCount = 0;
|
|
|
|
pLastLoop = pLastExit = NULL;
|
|
pLoop = pFunc->pLoops;
|
|
while( pLoop )
|
|
{
|
|
if( pLoop->fCanLoop )
|
|
pLastLoop = pLoop;
|
|
pLastExit = pLoop;
|
|
pLoop = pLoop->pNext;
|
|
}
|
|
|
|
if( pLastLoop )
|
|
{
|
|
while( pLastLoop->pLoopList )
|
|
{
|
|
++lCount;
|
|
pLastLoop = pLastLoop->pLoopList;
|
|
}
|
|
}
|
|
if( pLastExit )
|
|
{
|
|
while( pLastExit->pExitList )
|
|
{
|
|
++lCount;
|
|
pLastExit = pLastExit->pExitList;
|
|
}
|
|
}
|
|
|
|
return lCount;
|
|
}
|
|
|
|
/*
|
|
* Stores the position of LOOP statement to fix it later at the end of loop
|
|
*/
|
|
static void hb_compLoopLoop( HB_COMP_DECL )
|
|
{
|
|
PHB_LOOPEXIT pLast = NULL, pLoop;
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
pLoop = pFunc->pLoops;
|
|
while( pLoop )
|
|
{
|
|
if( pLoop->fCanLoop )
|
|
pLast = pLoop;
|
|
pLoop = pLoop->pNext;
|
|
}
|
|
|
|
if( ! pLast )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_EXIT, "LOOP", NULL );
|
|
}
|
|
else
|
|
{
|
|
if( pLast->wSeqCounter != pFunc->wSeqCounter )
|
|
{
|
|
/* Attempt to LOOP from BEGIN/END sequence
|
|
* Current SEQUENCE counter is different then at the beginning of loop
|
|
* Notice that LOOP is allowed in RECOVER code when there is no
|
|
* ALWAYS block
|
|
*/
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "LOOP", NULL );
|
|
}
|
|
else if( pLast->wAlwaysCounter != pFunc->wAlwaysCounter )
|
|
{
|
|
/* Attempt to LOOP from ALWAYS block of BEGIN/END sequence
|
|
*/
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "LOOP", NULL );
|
|
}
|
|
else
|
|
{
|
|
HB_USHORT wWithObjectCnt = pLast->wWithObjectCnt;
|
|
|
|
pLoop = ( PHB_LOOPEXIT ) hb_xgrab( sizeof( HB_LOOPEXIT ) );
|
|
pLoop->pLoopList = NULL;
|
|
while( pLast->pLoopList )
|
|
pLast = pLast->pLoopList;
|
|
pLast->pLoopList = pLoop;
|
|
|
|
while( wWithObjectCnt < pFunc->wWithObjectCnt )
|
|
{
|
|
hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM );
|
|
wWithObjectCnt++;
|
|
}
|
|
/* store the position to fix */
|
|
pLoop->nOffset = pFunc->nPCodePos;
|
|
hb_compGenJump( 0, HB_COMP_PARAM );
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Stores the position of EXIT statement to fix it later at the end of loop
|
|
*/
|
|
static void hb_compLoopExit( HB_COMP_DECL )
|
|
{
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
if( ! pFunc->pLoops )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_EXIT, "EXIT", NULL );
|
|
}
|
|
else
|
|
{
|
|
PHB_LOOPEXIT pLast, pLoop;
|
|
|
|
pLast = pFunc->pLoops;
|
|
while( pLast->pNext )
|
|
pLast = pLast->pNext;
|
|
|
|
if( pLast->wSeqCounter != pFunc->wSeqCounter )
|
|
{
|
|
/* Attempt to EXIT from BEGIN/END sequence
|
|
* Current SEQUENCE counter is different then at the beginning of loop
|
|
* Notice that EXIT is allowed in RECOVER code when there is no
|
|
* ALWAYS block
|
|
*/
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "EXIT", NULL );
|
|
}
|
|
else if( pLast->wAlwaysCounter != pFunc->wAlwaysCounter )
|
|
{
|
|
/* Attempt to EXIT from ALWAYS block of BEGIN/END sequence
|
|
*/
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_EXIT_IN_SEQUENCE, "EXIT", NULL );
|
|
}
|
|
else
|
|
{
|
|
HB_USHORT wWithObjectCnt = pLast->wWithObjectCnt;
|
|
|
|
pLoop = ( PHB_LOOPEXIT ) hb_xgrab( sizeof( HB_LOOPEXIT ) );
|
|
pLoop->pExitList = NULL;
|
|
while( pLast->pExitList )
|
|
pLast = pLast->pExitList;
|
|
pLast->pExitList = pLoop;
|
|
|
|
while( wWithObjectCnt < pFunc->wWithObjectCnt )
|
|
{
|
|
hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM );
|
|
wWithObjectCnt++;
|
|
}
|
|
/* store the position to fix */
|
|
pLoop->nOffset = pFunc->nPCodePos;
|
|
hb_compGenJump( 0, HB_COMP_PARAM );
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Fixes the LOOP statement
|
|
*/
|
|
static void hb_compLoopHere( HB_COMP_DECL )
|
|
{
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
PHB_LOOPEXIT pLoop = pFunc->pLoops, pFree, pLast;
|
|
|
|
if( pLoop )
|
|
{
|
|
while( pLoop->pNext )
|
|
pLoop = pLoop->pNext;
|
|
|
|
pLast = pLoop;
|
|
pLoop = pLoop->pLoopList;
|
|
while( pLoop )
|
|
{
|
|
hb_compGenJumpHere( pLoop->nOffset + 1, HB_COMP_PARAM );
|
|
pFree = pLoop;
|
|
pLoop = pLoop->pLoopList;
|
|
hb_xfree( pFree );
|
|
}
|
|
pLast->pLoopList = NULL;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Fixes the EXIT statements and releases memory allocated for current loop
|
|
*/
|
|
static void hb_compLoopEnd( HB_COMP_DECL )
|
|
{
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
PHB_LOOPEXIT pLoop = pFunc->pLoops, pLast = pFunc->pLoops, pExit, pFree;
|
|
|
|
if( pLoop )
|
|
{
|
|
while( pLoop->pNext )
|
|
{
|
|
pLast = pLoop;
|
|
pLoop = pLoop->pNext;
|
|
}
|
|
|
|
pExit = pLoop->pExitList;
|
|
while( pExit )
|
|
{
|
|
hb_compGenJumpHere( pExit->nOffset + 1, HB_COMP_PARAM );
|
|
pFree = pExit;
|
|
pExit = pExit->pExitList;
|
|
hb_xfree( pFree );
|
|
}
|
|
|
|
pLast->pNext = NULL;
|
|
if( pLoop == pFunc->pLoops )
|
|
pFunc->pLoops = NULL;
|
|
hb_xfree( pLoop );
|
|
}
|
|
}
|
|
|
|
void hb_compLoopKill( PHB_HFUNC pFunc )
|
|
{
|
|
PHB_LOOPEXIT pLoop, pFree;
|
|
|
|
while( pFunc->pLoops )
|
|
{
|
|
pLoop = pFunc->pLoops;
|
|
while( pLoop->pExitList )
|
|
{
|
|
pFree = pLoop->pExitList;
|
|
pLoop->pExitList = pFree->pExitList;
|
|
hb_xfree( pFree );
|
|
}
|
|
while( pLoop->pLoopList )
|
|
{
|
|
pFree = pLoop->pLoopList;
|
|
pLoop->pLoopList = pFree->pLoopList;
|
|
hb_xfree( pFree );
|
|
}
|
|
pFunc->pLoops = pLoop->pNext;
|
|
hb_xfree( pLoop );
|
|
}
|
|
}
|
|
|
|
static void * hb_compElseIfGen( HB_COMP_DECL, void * pFirst, HB_SIZE nOffset )
|
|
{
|
|
PHB_ELSEIF pElseIf = ( PHB_ELSEIF ) hb_xgrab( sizeof( HB_ELSEIF ) ), pLast;
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
pElseIf->nOffset = nOffset;
|
|
pElseIf->pPrev = NULL;
|
|
pElseIf->pElseif = NULL;
|
|
|
|
if( pFirst )
|
|
{
|
|
pLast = ( PHB_ELSEIF ) pFirst;
|
|
while( pLast->pElseif )
|
|
pLast = pLast->pElseif;
|
|
pLast->pElseif = pElseIf;
|
|
}
|
|
else
|
|
{
|
|
if( pFunc->elseif )
|
|
{
|
|
pElseIf->pPrev = pFunc->elseif;
|
|
}
|
|
pFirst = pElseIf;
|
|
pFunc->elseif = pElseIf;
|
|
}
|
|
return pFirst;
|
|
}
|
|
|
|
|
|
static void hb_compElseIfFix( HB_COMP_DECL, void * pFixElseIfs )
|
|
{
|
|
PHB_ELSEIF pFix = ( PHB_ELSEIF ) pFixElseIfs;
|
|
PHB_ELSEIF pDel;
|
|
|
|
HB_COMP_PARAM->functions.pLast->elseif = pFix->pPrev;
|
|
while( pFix )
|
|
{
|
|
hb_compGenJumpHere( pFix->nOffset, HB_COMP_PARAM );
|
|
pDel = pFix;
|
|
pFix = pFix->pElseif;
|
|
hb_xfree( pDel );
|
|
}
|
|
}
|
|
|
|
void hb_compElseIfKill( PHB_HFUNC pFunc )
|
|
{
|
|
PHB_ELSEIF pFix;
|
|
PHB_ELSEIF pDel;
|
|
|
|
while( pFunc->elseif )
|
|
{
|
|
pFix = pFunc->elseif;
|
|
pFunc->elseif = pFix->pPrev;
|
|
while( pFix )
|
|
{
|
|
pDel = pFix;
|
|
pFix = pFix->pElseif;
|
|
hb_xfree( pDel );
|
|
}
|
|
}
|
|
}
|
|
|
|
static void hb_compRTVariableAdd( HB_COMP_DECL, PHB_EXPR pVar, HB_BOOL bPopInitValue )
|
|
{
|
|
PHB_RTVAR pRTvar = ( PHB_RTVAR ) hb_xgrab( sizeof( HB_RTVAR ) );
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
pRTvar->pVar = pVar;
|
|
pRTvar->bPopValue = bPopInitValue;
|
|
pRTvar->pNext = NULL;
|
|
pRTvar->pPrev = NULL;
|
|
|
|
if( pFunc->rtvars )
|
|
{
|
|
PHB_RTVAR pLast = pFunc->rtvars;
|
|
while( pLast->pNext )
|
|
pLast = pLast->pNext;
|
|
pLast->pNext = pRTvar;
|
|
pRTvar->pPrev = pLast;
|
|
}
|
|
else
|
|
pFunc->rtvars = pRTvar;
|
|
}
|
|
|
|
static void hb_compRTVariableGen( HB_COMP_DECL, const char * szCreateFun )
|
|
{
|
|
HB_USHORT usCount = 0;
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
PHB_RTVAR pVar = pFunc->rtvars;
|
|
PHB_RTVAR pDel;
|
|
|
|
/* generate the function call frame */
|
|
hb_compGenPushFunCall( szCreateFun, HB_FN_UDF, HB_COMP_PARAM );
|
|
|
|
/* push variable names to create */
|
|
while( pVar->pNext )
|
|
{
|
|
pVar->pVar = hb_compExprGenPush( pVar->pVar, HB_COMP_PARAM );
|
|
pVar = pVar->pNext;
|
|
++usCount;
|
|
}
|
|
pVar->pVar = hb_compExprGenPush( pVar->pVar, HB_COMP_PARAM );
|
|
++usCount;
|
|
|
|
/* call function that will create either PUBLIC or PRIVATE variables */
|
|
if( usCount > 255 )
|
|
hb_compGenPCode3( HB_P_DO, HB_LOBYTE( usCount ), HB_HIBYTE( usCount ), HB_COMP_PARAM );
|
|
else
|
|
hb_compGenPCode2( HB_P_DOSHORT, ( HB_BYTE ) usCount, HB_COMP_PARAM );
|
|
|
|
/* pop initial values */
|
|
while( pVar )
|
|
{
|
|
if( pVar->bPopValue )
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPop( pVar->pVar, HB_COMP_PARAM ) );
|
|
else
|
|
HB_COMP_EXPR_FREE( pVar->pVar );
|
|
pDel = pVar;
|
|
pVar = pVar->pPrev;
|
|
hb_xfree( pDel );
|
|
}
|
|
pFunc->rtvars = NULL;
|
|
}
|
|
|
|
void hb_compRTVariableKill( HB_COMP_DECL, PHB_HFUNC pFunc )
|
|
{
|
|
PHB_RTVAR pVar;
|
|
|
|
while( pFunc->rtvars )
|
|
{
|
|
pVar = pFunc->rtvars;
|
|
|
|
HB_COMP_EXPR_FREE( pVar->pVar );
|
|
pFunc->rtvars = pVar->pPrev;
|
|
hb_xfree( pVar );
|
|
}
|
|
pFunc->rtvars = NULL;
|
|
}
|
|
|
|
static PHB_EXPR hb_compArrayDimPush( PHB_EXPR pInitValue, HB_COMP_DECL )
|
|
{
|
|
HB_USHORT uCount = ( HB_USHORT ) hb_compExprListLen( pInitValue );
|
|
|
|
if( uCount == 1 && hb_compExprIsInteger( pInitValue->value.asList.pExprList ) &&
|
|
hb_compExprAsInteger( pInitValue->value.asList.pExprList ) == 0 )
|
|
{
|
|
hb_compGenPCode3( HB_P_ARRAYGEN, 0, 0, HB_COMP_PARAM );
|
|
}
|
|
else
|
|
{
|
|
pInitValue = hb_compExprGenPush( pInitValue, HB_COMP_PARAM );
|
|
hb_compGenPCode3( HB_P_ARRAYDIM, HB_LOBYTE( uCount ), HB_HIBYTE( uCount ), HB_COMP_PARAM );
|
|
}
|
|
return pInitValue;
|
|
}
|
|
|
|
static void hb_compVariableDim( const char * szName, PHB_EXPR pInitValue, HB_COMP_DECL )
|
|
{
|
|
if( HB_COMP_PARAM->iVarScope == HB_VSCOMP_PUBLIC || HB_COMP_PARAM->iVarScope == HB_VSCOMP_PRIVATE )
|
|
{
|
|
hb_compVariableAdd( HB_COMP_PARAM, szName, hb_compVarTypeNew( HB_COMP_PARAM, 'A', NULL ) );
|
|
HB_COMP_EXPR_FREE( hb_compArrayDimPush( pInitValue, HB_COMP_PARAM ) );
|
|
hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( szName, NULL, HB_COMP_PARAM ), HB_TRUE );
|
|
}
|
|
else if( HB_COMP_PARAM->iVarScope & HB_VSCOMP_STATIC )
|
|
{
|
|
PHB_EXPR pVar = hb_compExprNewVar( szName, HB_COMP_PARAM );
|
|
PHB_EXPR pAssign;
|
|
|
|
/* create a static variable */
|
|
hb_compVariableAdd( HB_COMP_PARAM, szName, hb_compVarTypeNew( HB_COMP_PARAM, 'A', NULL ) );
|
|
|
|
hb_compStaticDefStart( HB_COMP_PARAM ); /* switch to statics pcode buffer */
|
|
/* create an array */
|
|
pInitValue = hb_compArrayDimPush( pInitValue, HB_COMP_PARAM );
|
|
/* now pop an array */
|
|
pVar = hb_compExprGenPop( pVar, HB_COMP_PARAM );
|
|
/* check if valid initializers were used but don't generate any code */
|
|
pAssign = hb_compExprAssignStatic( pVar, pInitValue, HB_COMP_PARAM );
|
|
/* delete all used expressions */
|
|
HB_COMP_EXPR_FREE( pAssign );
|
|
hb_compStaticDefEnd( HB_COMP_PARAM, szName );
|
|
}
|
|
else
|
|
{
|
|
hb_compVariableAdd( HB_COMP_PARAM, szName, hb_compVarTypeNew( HB_COMP_PARAM, 'A', NULL ) );
|
|
HB_COMP_EXPR_FREE( hb_compArrayDimPush( pInitValue, HB_COMP_PARAM ) );
|
|
if( HB_COMP_PARAM->iVarScope != HB_VSCOMP_LOCAL ||
|
|
!( HB_COMP_PARAM->functions.pLast->funFlags & HB_FUNF_EXTBLOCK ) )
|
|
{
|
|
HB_COMP_EXPR_FREE( hb_compExprGenPop( hb_compExprNewVar( szName, HB_COMP_PARAM ), HB_COMP_PARAM ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
static void hb_compForStart( HB_COMP_DECL, const char *szVarName, int iForEachDir )
|
|
{
|
|
PHB_ENUMERATOR pEnumVar;
|
|
|
|
pEnumVar = HB_COMP_PARAM->functions.pLast->pEnum;
|
|
if( pEnumVar == NULL )
|
|
{
|
|
HB_COMP_PARAM->functions.pLast->pEnum = ( PHB_ENUMERATOR ) hb_xgrab( sizeof( HB_ENUMERATOR ) );
|
|
pEnumVar = HB_COMP_PARAM->functions.pLast->pEnum;
|
|
}
|
|
else
|
|
{
|
|
HB_BOOL bWarn = HB_TRUE;
|
|
PHB_ENUMERATOR pLast = pEnumVar;
|
|
|
|
while( pEnumVar )
|
|
{
|
|
if( strcmp( pEnumVar->szName, szVarName ) == 0 )
|
|
{
|
|
/* Enumerator variable exists already - throw warning */
|
|
if( bWarn )
|
|
{
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_FORVAR_DUPL, szVarName, NULL );
|
|
bWarn = HB_FALSE;
|
|
}
|
|
}
|
|
pLast = pEnumVar;
|
|
pEnumVar = pEnumVar->pNext;
|
|
}
|
|
pLast->pNext = ( PHB_ENUMERATOR ) hb_xgrab( sizeof( HB_ENUMERATOR ) );
|
|
pEnumVar = pLast->pNext;
|
|
}
|
|
pEnumVar->szName = szVarName;
|
|
pEnumVar->iForEachDir = iForEachDir;
|
|
pEnumVar->pNext = NULL;
|
|
}
|
|
|
|
static HB_BOOL hb_compForEachVarError( HB_COMP_DECL, const char *szVarName, int * piDir )
|
|
{
|
|
PHB_ENUMERATOR pEnumVar;
|
|
|
|
pEnumVar = HB_COMP_PARAM->functions.pLast->pEnum;
|
|
if( pEnumVar && ! HB_COMP_PARAM->functions.pLast->bBlock )
|
|
{
|
|
while( pEnumVar )
|
|
{
|
|
if( strcmp( pEnumVar->szName, szVarName ) == 0 )
|
|
{
|
|
* piDir = pEnumVar->iForEachDir;
|
|
if( * piDir != 0 )
|
|
{
|
|
/* only if it is FOR EACH enumerator
|
|
* generate warning if it is FOR/NEXT loop
|
|
*/
|
|
return HB_FALSE;
|
|
}
|
|
}
|
|
pEnumVar = pEnumVar->pNext;
|
|
}
|
|
}
|
|
|
|
hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_ENUM_INVALID, szVarName, NULL );
|
|
return HB_TRUE;
|
|
}
|
|
|
|
static void hb_compForEnd( HB_COMP_DECL, const char *szVar )
|
|
{
|
|
PHB_ENUMERATOR * pEnumVar;
|
|
|
|
HB_SYMBOL_UNUSED( szVar );
|
|
|
|
pEnumVar = &HB_COMP_PARAM->functions.pLast->pEnum;
|
|
if( *pEnumVar )
|
|
{
|
|
while( ( *pEnumVar )->pNext )
|
|
pEnumVar = &( *pEnumVar )->pNext;
|
|
|
|
hb_xfree( *pEnumVar );
|
|
*pEnumVar = NULL;
|
|
}
|
|
}
|
|
|
|
static HB_COMP_CARGO2_FUNC( hb_compEnumEvalStart )
|
|
{
|
|
const char * szName = hb_compExprAsSymbol( ( PHB_EXPR ) cargo );
|
|
|
|
if( szName )
|
|
hb_compForStart( HB_COMP_PARAM, szName, HB_COMP_PARAM->fDescend ? -1 : 1 );
|
|
|
|
hb_compExprGenPush( ( PHB_EXPR ) dummy, HB_COMP_PARAM ); /* expression */
|
|
hb_compExprGenPush( ( PHB_EXPR ) cargo, HB_COMP_PARAM ); /* variable */
|
|
}
|
|
|
|
static void hb_compEnumStart( HB_COMP_DECL, PHB_EXPR pVars, PHB_EXPR pExprs, int descend )
|
|
{
|
|
HB_SIZE ulLen;
|
|
|
|
if( hb_compExprListLen( pVars ) != hb_compExprListLen( pExprs ) )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_FORVAR_DIFF, NULL, NULL );
|
|
}
|
|
|
|
HB_COMP_PARAM->fDescend = descend < 0;
|
|
ulLen = hb_compExprListEval2( HB_COMP_PARAM, pVars, pExprs, hb_compEnumEvalStart );
|
|
|
|
if( ulLen > 255 )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_FORVAR_TOOMANY, NULL, NULL );
|
|
}
|
|
else
|
|
{
|
|
hb_compGenPCode3( HB_P_ENUMSTART, ( HB_BYTE ) ( ulLen & 0xFF ), ( HB_BYTE ) ( descend > 0 ? 1 : 0 ), HB_COMP_PARAM );
|
|
}
|
|
}
|
|
|
|
static void hb_compEnumNext( HB_COMP_DECL, PHB_EXPR pExpr, int descend )
|
|
{
|
|
HB_SYMBOL_UNUSED( pExpr );
|
|
if( descend > 0 )
|
|
{
|
|
hb_compGenPCode1( HB_P_ENUMNEXT, HB_COMP_PARAM );
|
|
}
|
|
else
|
|
{
|
|
hb_compGenPCode1( HB_P_ENUMPREV, HB_COMP_PARAM );
|
|
}
|
|
}
|
|
|
|
static HB_COMP_CARGO_FUNC( hb_compEnumEvalEnd )
|
|
{
|
|
const char * szName = hb_compExprAsSymbol( ( PHB_EXPR ) cargo );
|
|
|
|
if( szName )
|
|
hb_compForEnd( HB_COMP_PARAM, szName );
|
|
}
|
|
|
|
static void hb_compEnumEnd( HB_COMP_DECL, PHB_EXPR pExpr )
|
|
{
|
|
hb_compExprListEval( HB_COMP_PARAM, pExpr, hb_compEnumEvalEnd );
|
|
hb_compGenPCode1( HB_P_ENUMEND, HB_COMP_PARAM );
|
|
}
|
|
|
|
static void hb_compSwitchStart( HB_COMP_DECL, PHB_EXPR pExpr )
|
|
{
|
|
PHB_SWITCHCMD pSwitch = ( PHB_SWITCHCMD ) hb_xgrab( sizeof( HB_SWITCHCMD ) );
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
pSwitch->pCases = NULL;
|
|
pSwitch->pLast = NULL;
|
|
pSwitch->nDefault = 0;
|
|
pSwitch->nOffset = pFunc->nPCodePos;
|
|
pSwitch->pExpr = pExpr;
|
|
pSwitch->pPrev = pFunc->pSwitch;
|
|
pFunc->pSwitch = pSwitch;
|
|
}
|
|
|
|
static void hb_compSwitchAdd( HB_COMP_DECL, PHB_EXPR pExpr )
|
|
{
|
|
PHB_SWITCHCASE pCase;
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
|
|
pFunc->funFlags &= ~HB_FUNF_BREAK_CODE;
|
|
|
|
if( pExpr )
|
|
{
|
|
/* normal CASE */
|
|
pCase = ( PHB_SWITCHCASE ) hb_xgrab( sizeof( HB_SWITCHCASE ) );
|
|
pCase->nOffset = pFunc->nPCodePos;
|
|
pCase->pNext = NULL;
|
|
pCase->pExpr = pExpr = hb_compExprReduce( pExpr, HB_COMP_PARAM );
|
|
if( !( hb_compExprIsLong( pExpr ) || hb_compExprIsString( pExpr ) ) )
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NOT_LITERAL_CASE, NULL, NULL );
|
|
else if( pFunc->pSwitch->pCases )
|
|
{
|
|
PHB_SWITCHCASE pCases = pFunc->pSwitch->pCases;
|
|
while( pCases )
|
|
{
|
|
HB_BOOL fEqual = HB_FALSE;
|
|
|
|
if( hb_compExprIsLong( pExpr ) )
|
|
{
|
|
if( hb_compExprIsLong( pCases->pExpr ) )
|
|
fEqual = hb_compExprAsLongNum( pExpr ) == hb_compExprAsLongNum( pCases->pExpr );
|
|
}
|
|
else
|
|
{
|
|
if( hb_compExprIsString( pCases->pExpr ) )
|
|
fEqual = hb_compExprAsStringLen( pExpr ) == hb_compExprAsStringLen( pCases->pExpr ) &&
|
|
memcmp( hb_compExprAsString( pExpr ),
|
|
hb_compExprAsString( pCases->pExpr ),
|
|
hb_compExprAsStringLen( pExpr ) ) == 0;
|
|
}
|
|
if( fEqual )
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_DUPL_CASE, NULL, NULL );
|
|
pCases = pCases->pNext;
|
|
}
|
|
}
|
|
|
|
if( pFunc->pSwitch->pLast )
|
|
{
|
|
pFunc->pSwitch->pLast->pNext = pCase;
|
|
pFunc->pSwitch->pLast = pCase;
|
|
}
|
|
else
|
|
{
|
|
pFunc->pSwitch->pCases = pFunc->pSwitch->pLast = pCase;
|
|
}
|
|
if( hb_compExprIsString( pExpr ) && hb_compExprAsStringLen( pExpr ) > 255 )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_INVALID_STR, NULL, NULL );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
/* DEFAULT */
|
|
if( pFunc->pSwitch->nDefault )
|
|
{
|
|
/* more than one default clause */
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL );
|
|
}
|
|
else
|
|
{
|
|
pFunc->pSwitch->nDefault = pFunc->nPCodePos;
|
|
}
|
|
}
|
|
}
|
|
|
|
static void hb_compSwitchEnd( HB_COMP_DECL )
|
|
{
|
|
PHB_HFUNC pFunc = HB_COMP_PARAM->functions.pLast;
|
|
PHB_SWITCHCMD pSwitch = pFunc->pSwitch;
|
|
PHB_EXPR pExpr = pSwitch->pExpr;
|
|
PHB_SWITCHCASE pCase, pTmp;
|
|
HB_SIZE ulExitPos, ulCountPos;
|
|
int iCount = 0;
|
|
|
|
/* skip switch pcode if there was no EXIT in the last CASE
|
|
* or in the DEFAULT case
|
|
*/
|
|
ulExitPos = hb_compGenJump( 0, HB_COMP_PARAM );
|
|
hb_compGenJumpHere( pSwitch->nOffset + 1, HB_COMP_PARAM );
|
|
|
|
pCase = pSwitch->pCases;
|
|
if( hb_compExprIsLong( pExpr ) || hb_compExprIsString( pExpr ) )
|
|
{
|
|
HB_BOOL fGen = HB_FALSE;
|
|
while( pCase )
|
|
{
|
|
if( hb_compExprIsLong( pCase->pExpr ) )
|
|
{
|
|
fGen = hb_compExprIsLong( pExpr ) &&
|
|
hb_compExprAsLongNum( pExpr ) ==
|
|
hb_compExprAsLongNum( pCase->pExpr );
|
|
}
|
|
else if( hb_compExprIsString( pCase->pExpr ) )
|
|
{
|
|
fGen = hb_compExprIsString( pExpr ) &&
|
|
hb_compExprAsStringLen( pExpr ) ==
|
|
hb_compExprAsStringLen( pCase->pExpr ) &&
|
|
memcmp( hb_compExprAsString( pExpr ),
|
|
hb_compExprAsString( pCase->pExpr ),
|
|
hb_compExprAsStringLen( pExpr ) ) == 0;
|
|
}
|
|
if( fGen )
|
|
{
|
|
hb_compGenJumpThere( hb_compGenJump( 0, HB_COMP_PARAM ),
|
|
pCase->nOffset, HB_COMP_PARAM );
|
|
break;
|
|
}
|
|
pCase = pCase->pNext;
|
|
}
|
|
if( pSwitch->nDefault && ! fGen )
|
|
{
|
|
hb_compGenJumpThere( hb_compGenJump( 0, HB_COMP_PARAM ),
|
|
pSwitch->nDefault, HB_COMP_PARAM );
|
|
}
|
|
}
|
|
else
|
|
{
|
|
HB_BOOL fSwitchCase = HB_COMP_PARAM->fSwitchCase;
|
|
HB_BOOL fMacroText = ( HB_COMP_PARAM->supported & HB_COMPFLAG_MACROTEXT ) != 0;
|
|
|
|
pExpr = hb_compExprGenPush( pExpr, HB_COMP_PARAM );
|
|
ulCountPos = pFunc->nPCodePos + 1;
|
|
hb_compGenPCode3( HB_P_SWITCH, 0, 0, HB_COMP_PARAM );
|
|
HB_COMP_PARAM->fSwitchCase = HB_TRUE;
|
|
HB_COMP_PARAM->supported &= ~HB_COMPFLAG_MACROTEXT;
|
|
while( pCase )
|
|
{
|
|
if( hb_compExprIsLong( pCase->pExpr ) || hb_compExprIsString( pCase->pExpr ) )
|
|
{
|
|
iCount++;
|
|
pCase->pExpr = hb_compExprGenPush( pCase->pExpr, HB_COMP_PARAM );
|
|
hb_compGenJumpThere( hb_compGenJump( 0, HB_COMP_PARAM ),
|
|
pCase->nOffset, HB_COMP_PARAM );
|
|
}
|
|
pCase = pCase->pNext;
|
|
}
|
|
if( pSwitch->nDefault )
|
|
{
|
|
iCount++;
|
|
hb_compGenPCode1( HB_P_PUSHNIL, HB_COMP_PARAM );
|
|
hb_compGenJumpThere( hb_compGenJump( 0, HB_COMP_PARAM ),
|
|
pSwitch->nDefault, HB_COMP_PARAM );
|
|
}
|
|
HB_PUT_LE_UINT16( pFunc->pCode + ulCountPos, iCount );
|
|
|
|
HB_COMP_PARAM->fSwitchCase = fSwitchCase;
|
|
if( fMacroText )
|
|
HB_COMP_PARAM->supported |= HB_COMPFLAG_MACROTEXT;
|
|
}
|
|
|
|
hb_compGenJumpHere( ulExitPos, HB_COMP_PARAM );
|
|
|
|
if( pExpr )
|
|
HB_COMP_EXPR_FREE( pExpr );
|
|
|
|
pCase = pSwitch->pCases;
|
|
while( pCase )
|
|
{
|
|
HB_COMP_EXPR_FREE( pCase->pExpr );
|
|
pTmp = pCase->pNext;
|
|
hb_xfree( pCase );
|
|
pCase = pTmp;
|
|
}
|
|
pFunc->pSwitch = pSwitch->pPrev;
|
|
hb_xfree( pSwitch );
|
|
}
|
|
|
|
/* Release all switch statements
|
|
*/
|
|
void hb_compSwitchKill( HB_COMP_DECL, PHB_HFUNC pFunc )
|
|
{
|
|
PHB_SWITCHCASE pCase;
|
|
PHB_SWITCHCMD pSwitch;
|
|
|
|
while( pFunc->pSwitch )
|
|
{
|
|
while( pFunc->pSwitch->pCases )
|
|
{
|
|
pCase = pFunc->pSwitch->pCases;
|
|
HB_COMP_EXPR_FREE( pCase->pExpr );
|
|
pFunc->pSwitch->pCases = pCase->pNext;
|
|
hb_xfree( pCase );
|
|
}
|
|
pSwitch = pFunc->pSwitch;
|
|
pFunc->pSwitch = pSwitch->pPrev;
|
|
if( pSwitch->pExpr )
|
|
HB_COMP_EXPR_FREE( pSwitch->pExpr );
|
|
hb_xfree( pSwitch );
|
|
}
|
|
}
|
|
|
|
static PHB_EXPR hb_compCheckPassByRef( HB_COMP_DECL, PHB_EXPR pExpr )
|
|
{
|
|
if( pExpr->ExprType == HB_ET_FUNCALL )
|
|
{
|
|
if( hb_compExprParamListLen( pExpr->value.asFunCall.pParms ) == 0 )
|
|
{
|
|
PHB_EXPR pDelExpr = pExpr;
|
|
if( pExpr->value.asFunCall.pFunName->ExprType == HB_ET_MACRO )
|
|
{
|
|
pExpr = pExpr->value.asFunCall.pFunName;
|
|
HB_COMP_EXPR_CLEAR( pDelExpr );
|
|
}
|
|
else
|
|
{
|
|
pExpr = hb_compExprNewFunRef( hb_compExprAsSymbol( pExpr ), HB_COMP_PARAM );
|
|
HB_COMP_EXPR_FREE( pDelExpr );
|
|
}
|
|
return pExpr;
|
|
}
|
|
else
|
|
{
|
|
const char * szDesc;
|
|
|
|
szDesc = hb_compExprAsSymbol( pExpr );
|
|
if( ! szDesc )
|
|
szDesc = hb_compExprDescription( pExpr );
|
|
|
|
return hb_compErrorRefer( HB_COMP_PARAM, pExpr, szDesc );
|
|
}
|
|
}
|
|
|
|
return pExpr;
|
|
}
|
|
|
|
static PHB_EXPR hb_compCheckMethod( HB_COMP_DECL, PHB_EXPR pExpr )
|
|
{
|
|
if( pExpr->value.asMessage.szMessage &&
|
|
pExpr->value.asMessage.pObject &&
|
|
pExpr->value.asMessage.pObject->ExprType == HB_ET_VARIABLE &&
|
|
pExpr->value.asMessage.szMessage[ 0 ] == '_' &&
|
|
strncmp( "__ENUM", pExpr->value.asMessage.szMessage, 6 ) == 0 )
|
|
{
|
|
const char * szMessage = pExpr->value.asMessage.szMessage + 6;
|
|
|
|
if( strcmp( "INDEX", szMessage ) == 0 ||
|
|
strcmp( "KEY", szMessage ) == 0 ||
|
|
strcmp( "BASE", szMessage ) == 0 ||
|
|
strcmp( "VALUE", szMessage ) == 0 ||
|
|
strcmp( "ISFIRST", szMessage ) == 0 ||
|
|
strcmp( "ISLAST", szMessage ) == 0 )
|
|
{
|
|
int iDir = 0;
|
|
if( ! hb_compForEachVarError( HB_COMP_PARAM, pExpr->value.asMessage.pObject->value.asSymbol.name, &iDir ) )
|
|
{
|
|
pExpr->value.asMessage.pObject->ExprType = HB_ET_VARREF;
|
|
#if 0
|
|
if( iDir < 0 )
|
|
{
|
|
if( strcmp( "ISFIRST", szMessage ) == 0 )
|
|
pExpr->value.asMessage.szMessage = "__ENUMISLAST";
|
|
else if( strcmp( "ISLAST", szMessage ) == 0 )
|
|
pExpr->value.asMessage.szMessage = "__ENUMISFIRST";
|
|
}
|
|
#endif
|
|
}
|
|
}
|
|
}
|
|
|
|
return pExpr;
|
|
}
|
|
|
|
/* ************************************************************************* */
|
|
|
|
HB_BOOL hb_compCheckUnclosedStru( HB_COMP_DECL, PHB_HFUNC pFunc )
|
|
{
|
|
HB_BOOL fUnclosed = HB_TRUE;
|
|
|
|
if( pFunc->wIfCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "IF", NULL );
|
|
pFunc->wIfCounter = 0;
|
|
}
|
|
else if( pFunc->wForCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "FOR", NULL );
|
|
pFunc->wForCounter = 0;
|
|
}
|
|
else if( pFunc->wWhileCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WHILE", NULL );
|
|
pFunc->wWhileCounter = 0;
|
|
}
|
|
else if( pFunc->wCaseCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "CASE", NULL );
|
|
pFunc->wCaseCounter = 0;
|
|
}
|
|
else if( pFunc->wSwitchCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "SWITCH", NULL );
|
|
pFunc->wSwitchCounter = 0;
|
|
}
|
|
else if( pFunc->wWithObjectCnt )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WITH OBJECT", NULL );
|
|
pFunc->wWithObjectCnt = 0;
|
|
}
|
|
else if( pFunc->wSeqCounter )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "BEGIN SEQUENCE", NULL );
|
|
pFunc->wSeqCounter = 0;
|
|
}
|
|
else if( pFunc->funFlags & HB_FUNF_EXTBLOCK )
|
|
{
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "{||...}", NULL );
|
|
pFunc->funFlags &= ~HB_FUNF_EXTBLOCK;
|
|
}
|
|
else
|
|
fUnclosed = HB_FALSE;
|
|
|
|
return fUnclosed;
|
|
}
|
|
|
|
void yyerror( HB_COMP_DECL, const char * s )
|
|
{
|
|
if( ! HB_COMP_PARAM->pLex->lasttok || HB_COMP_PARAM->pLex->lasttok[ 0 ] == '\n' )
|
|
{
|
|
if( HB_COMP_PARAM->iErrorCount == 0 || ! hb_pp_eof( HB_COMP_PARAM->pLex->pPP ) )
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_INCOMPLETE_STMT, NULL, NULL );
|
|
}
|
|
else
|
|
hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_YACC, s, HB_COMP_PARAM->pLex->lasttok );
|
|
}
|