From 1808aec080442de6ba2211f9fd172af0d9f253be Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Thu, 30 Nov 2006 02:54:29 +0000 Subject: [PATCH] 2006-11-30 03:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * removed declaration and all references to global variable hb_comp_data it's not longer necessary after last modifications * harbour/source/compiler/harbour.yyc * synced compiler grammar parser * harbour/source/macro/macro.yyc ! regenerated macro compiler grammar parser with -p hb_macro - I forgot about this prefix before last commit --- harbour/ChangeLog | 15 + harbour/include/hbcompdf.h | 2 - harbour/source/compiler/harbour.c | 4 - harbour/source/compiler/harbour.l | 271 ++-- harbour/source/compiler/harbour.y | 10 +- harbour/source/compiler/harbour.yyc | 1890 +++++++++++++-------------- harbour/source/macro/macro.yyc | 14 +- 7 files changed, 1099 insertions(+), 1107 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b3293b3b96..25a8d7c83a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,21 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2006-11-30 03:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/include/hbcompdf.h + * harbour/source/compiler/harbour.l + * harbour/source/compiler/harbour.c + * harbour/source/compiler/harbour.y + * removed declaration and all references to global variable hb_comp_data + it's not longer necessary after last modifications + + * harbour/source/compiler/harbour.yyc + * synced compiler grammar parser + + * harbour/source/macro/macro.yyc + ! regenerated macro compiler grammar parser with -p hb_macro - I forgot + about this prefix before last commit + 2006-11-29 23:30 UTC+0100 J. Lefebvre (jfl/at/mafact.com) * makefile.vc * make_vc.bat diff --git a/harbour/include/hbcompdf.h b/harbour/include/hbcompdf.h index 17898acd2d..39c325b20b 100644 --- a/harbour/include/hbcompdf.h +++ b/harbour/include/hbcompdf.h @@ -615,8 +615,6 @@ HB_COMP, * HB_COMP_PTR; extern HB_COMP_PTR hb_comp_new( void ); extern void hb_comp_free( HB_COMP_PTR ); -extern HB_COMP_PTR hb_comp_data; - #endif /* !HB_MACRO_SUPPORT */ #define HB_MACRO_DATA HB_COMP_PARAM diff --git a/harbour/source/compiler/harbour.c b/harbour/source/compiler/harbour.c index d63bcef947..830e58541d 100644 --- a/harbour/source/compiler/harbour.c +++ b/harbour/source/compiler/harbour.c @@ -93,9 +93,7 @@ static int hb_compAutoOpen( HB_COMP_DECL, char * szPrg, BOOL * bSkipGen, BOOL bS /* global variables */ FILE * hb_comp_errFile = NULL; - extern int yyparse( HB_COMP_DECL ); /* main yacc parsing function */ -HB_COMP_PTR hb_comp_data = NULL; /* ************************************************************************* */ @@ -140,7 +138,6 @@ int main( int argc, char * argv[] ) HB_TRACE(HB_TR_DEBUG, ("main()")); HB_COMP_PARAM = hb_comp_new(); - hb_comp_data = HB_COMP_PARAM; HB_COMP_PARAM->pOutPath = NULL; @@ -210,7 +207,6 @@ int main( int argc, char * argv[] ) iStatus = EXIT_FAILURE; hb_compMainExit( HB_COMP_PARAM ); - hb_comp_data = NULL; return iStatus; } diff --git a/harbour/source/compiler/harbour.l b/harbour/source/compiler/harbour.l index 36f8686a9a..5e760f8080 100644 --- a/harbour/source/compiler/harbour.l +++ b/harbour/source/compiler/harbour.l @@ -57,7 +57,7 @@ * NOTE: yylval is paassed automaticaly by bison if %pure_parser is used */ #undef YY_DECL -#define YY_DECL int yylex( YYSTYPE *yylval_ptr, HB_COMP_PTR pComp ) +#define YY_DECL int yylex( YYSTYPE *yylval_ptr, HB_COMP_DECL ) /* helper functions */ static int yy_ConvertNumber( YYSTYPE *yylval_ptr, char * szBuffer ); @@ -93,14 +93,12 @@ static int hb_comp_iState = LOOKUP; static int hb_comp_iLineINLINE = 0; static int hb_comp_iLinePRG; +/* flex is not MT safe :-( */ +static HB_COMP_PTR s_pComp; #define YY_OPERATOR_RET(t) hb_comp_iState = OPERATOR; pComp->pLex->lasttok = yytext; return (t) #define YY_TOKEN_RET(s,t) hb_comp_iState = (s); pComp->pLex->lasttok = yytext; return (t) -/* Stores a codeblock picture for late/early evaluation -*/ -char *hb_lex_codeblock = NULL; - #define DEBUG_STRINGS void yy_breakFlex( void ){ }; @@ -149,7 +147,12 @@ Separator {SpaceTab} %% -"&"(\x27|\x22|\[) { hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, yytext, NULL ); } +%{ + /* flex is not MT safe :-( */ + s_pComp = HB_COMP_PARAM; +%} + +"&"(\x27|\x22|\[) { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, yytext, NULL ); } "e"\x22 BEGIN STRINGEXT; \x27 BEGIN STRING1; @@ -168,13 +171,7 @@ Separator {SpaceTab} (hb_comp_iState == WHILE) ) { - if( hb_pp_NestedLiteralString ) - { - yy_breakFlex(); - BEGIN STRING5; - } - else - BEGIN STRING3; + BEGIN STRING3; } else { @@ -187,7 +184,7 @@ Separator {SpaceTab} ([^\x22\n]|\\\x22)*\n { BEGIN 0; unput( '\n' ); yytext[--yyleng] = '\0'; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); hb_comp_iState = LOOKUP; pComp->pLex->lasttok = yytext; return NIL; @@ -200,7 +197,7 @@ Separator {SpaceTab} hb_strRemEscSeq( yytext, &len ); yyleng = len; } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -209,7 +206,7 @@ Separator {SpaceTab} [^\x27\n]*\n { BEGIN 0; unput( '\n' ); yytext[--yyleng] = '\0'; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); hb_comp_iState = LOOKUP; pComp->pLex->lasttok = yytext; @@ -218,7 +215,7 @@ Separator {SpaceTab} [^\x27\n]*\x27 { BEGIN 0; yytext[--yyleng] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -226,7 +223,7 @@ Separator {SpaceTab} [^\x22\n]*\x22 { BEGIN 0; yytext[--yyleng] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -235,7 +232,7 @@ Separator {SpaceTab} [^\x22\n]*\n { BEGIN 0; unput( '\n' ); yytext[--yyleng] = '\0'; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); hb_comp_iState = LOOKUP; pComp->pLex->lasttok = yytext; @@ -272,7 +269,7 @@ Separator {SpaceTab} /* "] or '] terminator was found */ yyless( i+2 ); yytext[ i+1 ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -284,7 +281,7 @@ Separator {SpaceTab} { yyless( iFirstPos+1 ); yytext[ iFirstPos ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -300,7 +297,7 @@ Separator {SpaceTab} { yyless( i+1 ); yytext[ i ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -310,7 +307,7 @@ Separator {SpaceTab} /* If we are here then the terminator was not found - report an error */ unput( '\n' ); yytext[--yyleng] = '\0'; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_STRING_TERMINATOR, yytext, NULL ); hb_comp_iState = LOOKUP; pComp->pLex->lasttok = yytext; @@ -332,7 +329,7 @@ Separator {SpaceTab} /* ] terminator was found */ yyless( i+1 ); yytext[ i ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -348,7 +345,7 @@ Separator {SpaceTab} unput( ')' ); yyleng -= 3; yytext[ yyleng ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState = LITERAL; return LITERAL; @@ -384,7 +381,7 @@ Separator {SpaceTab} %} "announce"|"announc"|"announ"|"annou"|"anno" { hb_comp_iState =IDENTIFIER; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); return ANNOUNCE; } %{ @@ -401,7 +398,7 @@ Separator {SpaceTab} BEGIN BREAK_; else { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -419,16 +416,16 @@ Separator {SpaceTab} unput( yytext[ yyleng-1 ] ); if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_HARBOUR ) ) { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "BREAK", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "BREAK", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } else - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, yytext, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, yytext, NULL ); } (":="|"+="|"-="|"->"|"*="|"/="|"^="|"==") { /* operators */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "BREAK", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "BREAK", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); hb_comp_iState =IDENTIFIER; @@ -440,7 +437,7 @@ Separator {SpaceTab} * For this reason we are allowing the BREAK statement only */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "BREAK", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "BREAK", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); hb_comp_iState =BREAK; @@ -448,7 +445,7 @@ Separator {SpaceTab} } [\=\(] { /* operators = ( */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "BREAK", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "BREAK", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; @@ -468,14 +465,14 @@ Separator {SpaceTab} {Separator}* ; [\:\=\|\$\%\*\,\/\]\)\}\^] { /* there is an operator after "case" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "CASE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "CASE", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); return IDENTIFIER; } ("+="|"-="|"->") { /* operators */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "CASE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "CASE", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); @@ -485,8 +482,8 @@ Separator {SpaceTab} BEGIN 0; unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); - if( hb_comp_wCaseCounter == 0 && hb_comp_wSwitchCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); + if( HB_COMP_PARAM->wCaseCounter == 0 && HB_COMP_PARAM->wSwitchCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); hb_comp_iState =CASE; return CASE; } @@ -495,14 +492,14 @@ Separator {SpaceTab} unput( yytext[ yyleng-1 ] ); if( hb_comp_iState == LOOKUP ) { /* it is first item in the line */ - if( hb_comp_wCaseCounter == 0 && hb_comp_wSwitchCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); + if( HB_COMP_PARAM->wCaseCounter == 0 && HB_COMP_PARAM->wSwitchCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); hb_comp_iState =CASE; return CASE; } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "CASE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "CASE", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -511,7 +508,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "_procreq_(" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "_PROCREQ_", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "_PROCREQ_", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return PROCREQ; } @@ -520,7 +517,7 @@ Separator {SpaceTab} %} "decl"|"decla"|"declar"|"declare" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); if( hb_comp_iState == DO ) { hb_comp_iState = IDENTIFIER; @@ -570,7 +567,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "opti"|"optio"|"option"|"optiona"|"optional" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); return OPTIONAL; } %{ @@ -610,7 +607,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "DO", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "DO", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -623,7 +620,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "DO", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "DO", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; BEGIN 0; return IDENTIFIER; @@ -632,13 +629,13 @@ Separator {SpaceTab} {Separator}*(.|\n) { /* end of line or any operator */ BEGIN 0; unput( yytext[ yyleng-1 ] ); - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "DO", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "DO", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } {Identifier} { /* DO identifier WITH */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return DOIDENT; } @@ -646,7 +643,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "descend" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "DESCEND", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "DESCEND", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return DESCEND; } @@ -654,22 +651,22 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "else" { /* ELSE can be used in one context only */ - if( hb_comp_wIfCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_ELSE, NULL, NULL ); + if( HB_COMP_PARAM->wIfCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_ELSE, NULL, NULL ); hb_comp_iState =ELSE; pComp->pLex->lasttok = yytext; return ELSE; } "elseif" { /* ELSEIF can be used in one context only */ - if( hb_comp_wIfCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_ELSEIF, NULL, NULL ); + if( HB_COMP_PARAM->wIfCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNMATCHED_ELSEIF, NULL, NULL ); hb_comp_iState =ELSEIF; pComp->pLex->lasttok = yytext; return ELSEIF; } "end"{Separator}+"sequ"("ence"|"enc"|"en"|"e")? { - if( hb_comp_wSeqCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); + if( HB_COMP_PARAM->wSeqCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); pComp->pLex->lasttok = yytext; return END; } @@ -678,20 +675,20 @@ Separator {SpaceTab} %} "endif"|"endi" { /* ENDIF can be used in one context only */ - if( hb_comp_wIfCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); + if( HB_COMP_PARAM->wIfCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); pComp->pLex->lasttok = yytext; return ENDIF; } "endc"("ase"|"as"|"a")? { /* ENDCASE can be used in one context only */ - if( hb_comp_wCaseCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDCASE, NULL, NULL ); + if( HB_COMP_PARAM->wCaseCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDCASE, NULL, NULL ); pComp->pLex->lasttok = yytext; return ENDCASE; } "enddo"|"endd" { /* ENDDO can be used in one context only */ - if( hb_comp_wWhileCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDDO, NULL, NULL ); + if( HB_COMP_PARAM->wWhileCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDDO, NULL, NULL ); pComp->pLex->lasttok = yytext; return ENDDO; } @@ -704,9 +701,9 @@ Separator {SpaceTab} BEGIN 0; if( hb_comp_iState == LOOKUP ) { /* Clipper does not like end[] & end() at the begining of line */ - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "END", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "END", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); return IDENTIFIER; @@ -715,9 +712,9 @@ Separator {SpaceTab} BEGIN 0; if( hb_comp_iState == LOOKUP ) { /* Clipper does not like end-> & end++ at the begining of line */ - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_ENDIF, NULL, NULL ); } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "END", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "END", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); @@ -725,7 +722,7 @@ Separator {SpaceTab} } [\+\-\:\=\|\$\%\*\,\/\[\]\)\}\^] { /* there is an operator after "end" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "END", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "END", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); return IDENTIFIER; @@ -740,7 +737,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "END", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "END", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -758,7 +755,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "exte"|"exter"|"extern"|"externa"|"external" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return EXTERN; } @@ -766,11 +763,11 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "_fie"|"_fiel"|"_field" { BEGIN FIELD_; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); } "fiel"|"field" { BEGIN FIELD_; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); } {Separator}+[_a-zA-Z] { /* an identifier after the FIELD */ BEGIN 0; @@ -816,7 +813,7 @@ Separator {SpaceTab} } else { /* for example: DO for WITH variable */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "FOR", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "FOR", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -832,14 +829,14 @@ Separator {SpaceTab} } else { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "FOR", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "FOR", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } } .|\n { /* there is no identifier after "FOR" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "FOR", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "FOR", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; @@ -873,7 +870,7 @@ Separator {SpaceTab} .|\n { /* Clipper needs FUNCTION in one context only */ BEGIN 0; unput( yytext[ yyleng-1 ] ); - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"FUNCTION":yytext), NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"FUNCTION":yytext), NULL ); } %{ @@ -895,7 +892,7 @@ Separator {SpaceTab} if( hb_comp_iLineINLINE ) { - hb_compGenError( hb_comp_szErrors, 'F', HB_COMP_ERR_TOOMANY_INLINE, "on the same line", NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'F', HB_COMP_ERR_TOOMANY_INLINE, "on the same line", NULL ); } else { @@ -920,18 +917,18 @@ Separator {SpaceTab} break; case 'Z' + 1 : - hb_compGenError( hb_comp_szErrors, 'F', HB_COMP_ERR_TOOMANY_INLINE, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'F', HB_COMP_ERR_TOOMANY_INLINE, NULL, NULL ); break; } - pInline = hb_compInlineAdd( pComp, hb_compIdentifierNew( sInlineSym, HB_IDENT_COPY ), hb_pp_line( pComp->pLex->pPP ) + 1 ); + pInline = hb_compInlineAdd( pComp, hb_compIdentifierNew( HB_COMP_PARAM, sInlineSym, HB_IDENT_COPY ), hb_pp_line( pComp->pLex->pPP ) + 1 ); DigestInline: YY_INPUT( (char*) sBuffer, iSize, YY_BUF_SIZE ); if( iSize == 0 ) { - hb_compGenError( hb_comp_szErrors, 'F', HB_COMP_ERR_INVALID_INLINE, HB_MARCO_PARAM->functions.pLast->szName, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'F', HB_COMP_ERR_INVALID_INLINE, HB_COMP_PARAM->functions.pLast->szName, NULL ); hb_pp_StreamBlock = 0; return '\n'; } @@ -1030,14 +1027,14 @@ Separator {SpaceTab} { if( hb_comp_iLanguage != LANG_C && hb_comp_iLanguage != LANG_OBJ_MODULE ) { - hb_compGenError( hb_comp_szErrors, 'F', HB_COMP_ERR_REQUIRES_C, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'F', HB_COMP_ERR_REQUIRES_C, NULL, NULL ); hb_xfree( ( void * ) pInline->pCode ); hb_xfree( ( void * ) pInline->szFileName ); hb_xfree( ( void * ) pInline ); /* NOTE: szName will be released by hb_compSymbolKill() */ } hb_comp_iLinePRG = hb_pp_line( HB_COMP_PARAM->pLex->pPP ); - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( sInlineSym, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, sInlineSym, HB_IDENT_COPY ); return IDENTIFIER; } } @@ -1047,7 +1044,7 @@ Separator {SpaceTab} %} "iif" { if( hb_comp_iState == FUNCTION || hb_comp_iState == PROCEDURE ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IIF", NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IIF", NULL ); else BEGIN IIF_; /* Note: In Clipper: @@ -1067,14 +1064,14 @@ Separator {SpaceTab} } [^\(] { BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"IIF":yytext), NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"IIF":yytext), NULL ); } %{ /* ************************************************************************ */ %} "if" { if( hb_comp_iState == FUNCTION || hb_comp_iState == PROCEDURE ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IF", NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IF", NULL ); else BEGIN IF_; } @@ -1089,16 +1086,16 @@ Separator {SpaceTab} return hb_comp_iState; } [\)\]\/\^\*\%\=\$\@] { BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); } "->" { BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); } \n { BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IF", NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, "IF", NULL ); } ("++"|"--")/[\n] { BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX2, yytext, "IF" ); } . { BEGIN 0; unput( yytext[ yyleng-1 ] ); @@ -1126,7 +1123,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "INIT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "INIT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1134,7 +1131,7 @@ Separator {SpaceTab} .|\n { /* any character (not identifier) after INIT */ BEGIN 0; unput( yytext[ yyleng-1 ] ); - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "INIT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "INIT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1146,7 +1143,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "loca"|"local" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return LOCAL; } @@ -1159,7 +1156,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "memv"|"memva"|"memvar" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return MEMVAR; } @@ -1173,15 +1170,15 @@ Separator {SpaceTab} unput( yytext[ yyleng-1 ] ); if( hb_comp_iState == LOOKUP ) { /* it is first item in the line */ - if( hb_comp_wForCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); + if( HB_COMP_PARAM->wForCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); hb_comp_iState =NEXT; pComp->pLex->lasttok = yytext; return NEXT; } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "NEXT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "NEXT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1190,9 +1187,9 @@ Separator {SpaceTab} BEGIN 0; if( hb_comp_iState == LOOKUP ) { /* Clipper does not like NEXT[] & NEXT() at the begining of line */ - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "NEXT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "NEXT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); return IDENTIFIER; @@ -1201,9 +1198,9 @@ Separator {SpaceTab} BEGIN 0; if( hb_comp_iState == LOOKUP ) { /* Clipper does not like next-> & next++ at the begining of line */ - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "NEXT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "NEXT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); @@ -1211,7 +1208,7 @@ Separator {SpaceTab} } [^_a-zA-Z] { /* there is no identifier after "next" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "NEXT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "NEXT", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); return IDENTIFIER; } @@ -1220,15 +1217,15 @@ Separator {SpaceTab} unput( yytext[ yyleng-1 ] ); if( hb_comp_iState == LOOKUP ) { - if( hb_comp_wForCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); + if( HB_COMP_PARAM->wForCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NEXTFOR, NULL, NULL ); hb_comp_iState =NEXT; pComp->pLex->lasttok = yytext; return NEXT; } else { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "NEXT", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "NEXT", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1242,7 +1239,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "othe"|"other"|"otherw"|"otherwi"|"otherwis"|"otherwise" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); BEGIN OTHERWISE_; } {Separator}* ; @@ -1251,8 +1248,8 @@ Separator {SpaceTab} unput( yytext[ yyleng-1 ] ); if( hb_comp_iState == LOOKUP ) { /* it is the first item in the line */ - if( hb_comp_wCaseCounter == 0 && hb_comp_wSwitchCounter == 0 ) - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); + if( HB_COMP_PARAM->wCaseCounter == 0 && HB_COMP_PARAM->wSwitchCounter == 0 ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_CASE, NULL, NULL ); hb_comp_iState = OTHERWISE; return OTHERWISE; } @@ -1272,7 +1269,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "para"|"param"|"parame"|"paramet"|"paramete"|"parameter"|"parameters" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return PARAMETERS; } @@ -1280,7 +1277,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "priv"("ate"|"at"|"a")? { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return PRIVATE; } @@ -1297,13 +1294,13 @@ Separator {SpaceTab} } .|\n { /* Clipper needs PROCEDURE in one context only */ BEGIN 0; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"PROCEDURE":yytext), NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_SYNTAX, ((yytext[ yyleng-1 ]=='\n')?"PROCEDURE":yytext), NULL ); } %{ /* ************************************************************************ */ %} "publ"("ic"|"i")? { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState =IDENTIFIER; return PUBLIC; } @@ -1315,7 +1312,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "reco"|"recov"|"recove"|"recover" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); BEGIN RECOVER_; } {Separator}* ; @@ -1348,7 +1345,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "retu"|"retur"|"return" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); BEGIN RETURN_; } {Separator}* @@ -1420,7 +1417,7 @@ Separator {SpaceTab} /* ************************************************************************ */ %} "stat"|"stati"|"static" { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState = IDENTIFIER; return STATIC; } @@ -1435,14 +1432,14 @@ Separator {SpaceTab} {Separator}* ; [\:\=\|\$\%\*\,\/\]\)\}\^] { /* there is an operator after "switch" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "SWITCH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "SWITCH", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); return IDENTIFIER; } ("+="|"-="|"->") { /* operators */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "SWITCH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "SWITCH", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); @@ -1467,7 +1464,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "SWITCH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "SWITCH", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1482,7 +1479,7 @@ Separator {SpaceTab} %} "while"|"whil" { BEGIN WHILE_; /* store it for later use */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( yytext, HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, yytext, HB_IDENT_COPY ); } {Separator}* ; \n { /* end of line */ @@ -1494,19 +1491,19 @@ Separator {SpaceTab} } else { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WHILE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WHILE", HB_IDENT_STATIC ); return IDENTIFIER; } } [\:\=\|\$\%\*\,\/\]\)\}\^] { /* there is an operator after "while" */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WHILE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WHILE", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); return IDENTIFIER; } ("+="|"-="|"->") { /* operators */ BEGIN 0; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WHILE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WHILE", HB_IDENT_STATIC ); unput( yytext[ yyleng-1 ] ); unput( yytext[ yyleng-2 ] ); return IDENTIFIER; @@ -1528,7 +1525,7 @@ Separator {SpaceTab} } else { /* there is another item in line already */ - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WHILE", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WHILE", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1541,7 +1538,7 @@ Separator {SpaceTab} \n { /* at the end of line */ BEGIN 0; unput( '\n' ); - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WITH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WITH", HB_IDENT_STATIC ); return IDENTIFIER; } "with" { @@ -1550,7 +1547,7 @@ Separator {SpaceTab} if( hb_comp_iState == DO ) { /* DO with WITH */ hb_comp_iState =IDENTIFIER; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WITH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WITH", HB_IDENT_STATIC ); return IDENTIFIER; } else @@ -1581,7 +1578,7 @@ Separator {SpaceTab} BEGIN 0; unput( yytext[ yyleng-1 ] ); hb_comp_iState =IDENTIFIER; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WITH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WITH", HB_IDENT_STATIC ); return IDENTIFIER; } . { @@ -1600,7 +1597,7 @@ Separator {SpaceTab} } else { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( "WITH", HB_IDENT_STATIC ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, "WITH", HB_IDENT_STATIC ); hb_comp_iState =IDENTIFIER; return IDENTIFIER; } @@ -1784,7 +1781,7 @@ Separator {SpaceTab} BEGIN 0; hb_xfree( yylval_ptr->string ); pComp->pLex->lasttok = NULL; - hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_NUMERIC_FORMAT, NULL, NULL ); + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_NUMERIC_FORMAT, NULL, NULL ); } . { int iRet; @@ -1812,25 +1809,25 @@ Separator {SpaceTab} {MacroVar} { if( yytext[ yyleng-1 ] == '.' ) yytext[ yyleng-1 ] = '\0'; - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext+1 ), HB_IDENT_COPY ); + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext+1 ), HB_IDENT_COPY ); hb_comp_iState = MACROVAR; return MACROVAR; } {MacroEnd} { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState = MACROTEXT; return MACROTEXT; } {MacroId} { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState = MACROTEXT; return MACROTEXT; } {MacroTxt} { - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState = MACROTEXT; return MACROTEXT; } @@ -1842,7 +1839,7 @@ Separator {SpaceTab} yytext[ HB_SYMBOL_NAME_LEN ] = '\0'; yyleng = HB_SYMBOL_NAME_LEN; } - pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( hb_strupr( yytext ), HB_IDENT_COPY ) + pComp->pLex->lasttok = yylval_ptr->string = hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( yytext ), HB_IDENT_COPY ); hb_comp_iState = IDENTIFIER; return IDENTIFIER; } @@ -1859,26 +1856,18 @@ Separator {SpaceTab} int yy_lex_input( char *buffer, int iBufferSize ) { /* FLEX is not MT safe :-( */ - HB_COMP_DECL = hb_comp_data; + HB_COMP_DECL = s_pComp; char * szLine; ULONG ulLen = 0; - hb_pp_NestedLiteralString = FALSE; - hb_pp_LiteralEscSeq = FALSE; - - if( hb_pp_StreamBlock == HB_PP_STREAM_DUMP_C ) - hb_pp_setStream( HB_COMP_PARAM->pLex->pPP, HB_PP_STREAM_INLINE_C ); - szLine = hb_pp_nextLine( HB_COMP_PARAM->pLex->pPP, &ulLen ); - if( ulLen >= iBufferSize ) + if( ulLen >= ( ULONG ) iBufferSize ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'F', HB_COMP_ERR_BUFFER_OVERFLOW, NULL, NULL ); else if( szLine ) memcpy( buffer, szLine, ulLen + 1 ); else * buffer = '\0'; - if( hb_comp_iLineINLINE && hb_pp_StreamBlock == 0 ) - hb_comp_iLineINLINE = 0; return ulLen; } @@ -1897,12 +1886,6 @@ static int yy_ConvertNumber( YYSTYPE *yylval_ptr, char * szBuffer ) yylval_ptr->valDouble.szValue = szBuffer; return NUM_DOUBLE; } - else if( HB_LIM_INT16( lNumber ) ) - { - yylval_ptr->valInteger.iNumber = ( int ) lNumber; - yylval_ptr->valInteger.szValue = szBuffer; - return NUM_INTEGER; - } else { yylval_ptr->valLong.lNumber = lNumber; diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index afb68a964a..0ce2a8678f 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -245,15 +245,7 @@ extern void yyerror( HB_COMP_DECL, char * ); /* parsing error management fun %type DateValue %type SendId -/* NOTE: direct using of hb_comp_data is not MT safe but - the version of bison (1.875c) I'm using now does not - support %parse-param for destructors. I can create a - work around for it but documentation says that %destructor - should respect pure parser parameters so probably it will - be (already is?) fixed in next releases do now I'm leaving - it as is. [druzus] - */ -%destructor { +%destructor { hb_compExprDelete( $$, HB_COMP_PARAM ); } ArgList ElemList BlockExpList BlockVarList BlockNoVar diff --git a/harbour/source/compiler/harbour.yyc b/harbour/source/compiler/harbour.yyc index 5549decd7e..0e80e9d5e7 100644 --- a/harbour/source/compiler/harbour.yyc +++ b/harbour/source/compiler/harbour.yyc @@ -1069,83 +1069,83 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 298, 298, 298, 299, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 324, 325, 328, 331, 339, - 352, 352, 353, 353, 354, 354, 355, 355, 358, 359, - 360, 361, 364, 365, 366, 367, 370, 371, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 396, 397, 405, 405, - 406, 407, 408, 409, 410, 411, 417, 423, 424, 425, - 426, 427, 428, 429, 430, 432, 432, 436, 450, 450, - 470, 472, 470, 476, 478, 476, 483, 483, 484, 484, - 485, 486, 486, 502, 502, 505, 506, 507, 508, 509, - 512, 513, 514, 515, 518, 519, 520, 521, 524, 525, - 528, 529, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 553, - 554, 557, 565, 566, 571, 574, 579, 584, 589, 594, - 595, 598, 603, 606, 611, 611, 614, 619, 622, 627, - 630, 635, 636, 639, 644, 647, 654, 655, 660, 661, - 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, - 672, 675, 676, 677, 680, 681, 682, 683, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, - 696, 697, 698, 707, 708, 709, 710, 711, 712, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 734, 739, 739, 742, 743, 743, - 744, 744, 747, 748, 751, 757, 758, 759, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 777, 778, 779, 780, 781, 782, 788, - 793, 793, 796, 805, 806, 807, 808, 809, 810, 811, - 812, 812, 813, 814, 815, 816, 817, 818, 819, 820, - 820, 821, 822, 823, 823, 824, 825, 825, 826, 827, - 828, 829, 830, 831, 832, 833, 834, 837, 838, 839, - 840, 840, 841, 841, 842, 843, 844, 845, 846, 849, - 850, 853, 854, 855, 856, 857, 858, 859, 865, 866, - 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, - 883, 884, 885, 886, 887, 888, 889, 890, 891, 894, - 895, 898, 899, 900, 907, 908, 909, 910, 911, 912, - 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, - 923, 924, 925, 928, 929, 930, 931, 932, 933, 934, - 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, - 945, 946, 947, 950, 951, 952, 953, 954, 955, 956, - 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 971, 972, 973, 974, 975, 976, 977, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1055, 1056, - 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1076, 1077, 1078, - 1079, 1080, 1081, 1084, 1085, 1086, 1087, 1088, 1089, 1092, - 1093, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1107, 1113, 1114, 1115, 1118, 1119, 1122, 1122, 1124, 1124, - 1130, 1131, 1137, 1140, 1141, 1151, 1154, 1157, 1160, 1163, - 1164, 1165, 1166, 1169, 1172, 1175, 1178, 1181, 1182, 1185, - 1187, 1186, 1192, 1195, 1195, 1196, 1196, 1197, 1197, 1204, - 1205, 1208, 1209, 1217, 1218, 1220, 1224, 1231, 1240, 1240, - 1254, 1257, 1254, 1282, 1283, 1289, 1292, 1293, 1294, 1298, - 1298, 1301, 1302, 1303, 1306, 1306, 1309, 1310, 1313, 1313, - 1336, 1336, 1337, 1338, 1339, 1339, 1342, 1343, 1346, 1347, - 1348, 1349, 1352, 1352, 1374, 1374, 1430, 1431, 1432, 1433, - 1436, 1437, 1440, 1446, 1447, 1448, 1449, 1450, 1451, 1454, - 1455, 1456, 1457, 1458, 1459, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 1471, 1472, 1473, 1474, 1477, 1478, 1481, 1482, - 1485, 1485, 1485, 1489, 1489, 1489, 1493, 1493, 1493, 1497, - 1497, 1497, 1501, 1501, 1501, 1506, 1506, 1510, 1512, 1510, - 1520, 1522, 1520, 1531, 1532, 1535, 1539, 1543, 1546, 1552, - 1556, 1562, 1562, 1565, 1566, 1574, 1575, 1574, 1586, 1587, - 1586, 1599, 1599, 1599, 1601, 1601, 1606, 1611, 1605, 1623, - 1626, 1627, 1631, 1642, 1647, 1630, 1707, 1708, 1711, 1712, - 1715, 1716, 1717, 1718, 1721, 1722, 1725, 1726, 1729, 1730, - 1734, 1740, 1749, 1733, 1769, 1770, 1774, 1773, 1786, 1794, - 1802, 1801, 1811, 1812, 1820, 1820, 1823, 1823, 1826, 1828, - 1831, 1831, 1831, 1835, 1837, 1845, 1835, 1866, 1867, 1867, - 1868, 1868, 1871, 1881, 1898, 1899, 1900, 1903, 1905, 1907, - 1912, 1919, 1920, 1921, 1922, 1923, 1926, 1927, 1928, 1929, - 1930, 1931, 1932, 1936, 1935, 1947, 1950, 1951 + 0, 290, 290, 290, 291, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 316, 317, 320, 323, 331, + 344, 344, 345, 345, 346, 346, 347, 347, 350, 351, + 352, 353, 356, 357, 358, 359, 362, 363, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 388, 389, 397, 397, + 398, 399, 400, 401, 402, 403, 409, 415, 416, 417, + 418, 419, 420, 421, 422, 424, 424, 428, 442, 442, + 462, 464, 462, 468, 470, 468, 475, 475, 476, 476, + 477, 478, 478, 494, 494, 497, 498, 499, 500, 501, + 504, 505, 506, 507, 510, 511, 512, 513, 516, 517, + 520, 521, 524, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 545, + 546, 549, 557, 558, 563, 566, 571, 576, 581, 586, + 587, 590, 595, 598, 603, 603, 606, 611, 614, 619, + 622, 627, 628, 631, 636, 639, 646, 647, 652, 653, + 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, + 664, 667, 668, 669, 672, 673, 674, 675, 676, 677, + 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, + 688, 689, 690, 699, 700, 701, 702, 703, 704, 709, + 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 726, 731, 731, 734, 735, 735, + 736, 736, 739, 740, 743, 749, 750, 751, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 780, + 785, 785, 788, 797, 798, 799, 800, 801, 802, 803, + 804, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 812, 813, 814, 815, 815, 816, 817, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 826, 829, 830, 831, + 832, 832, 833, 833, 834, 835, 836, 837, 838, 841, + 842, 845, 846, 847, 848, 849, 850, 851, 857, 858, + 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, + 875, 876, 877, 878, 879, 880, 881, 882, 883, 886, + 887, 890, 891, 892, 899, 900, 901, 902, 903, 904, + 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, + 915, 916, 917, 920, 921, 922, 923, 924, 925, 926, + 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, + 937, 938, 939, 942, 943, 944, 945, 946, 947, 948, + 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, + 959, 960, 963, 964, 965, 966, 967, 968, 969, 970, + 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, + 981, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1026, + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, + 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1047, 1048, + 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1068, 1069, 1070, + 1071, 1072, 1073, 1076, 1077, 1078, 1079, 1080, 1081, 1084, + 1085, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 1099, 1105, 1106, 1107, 1110, 1111, 1114, 1114, 1116, 1116, + 1122, 1123, 1129, 1132, 1133, 1143, 1146, 1149, 1152, 1155, + 1156, 1157, 1158, 1161, 1164, 1167, 1170, 1173, 1174, 1177, + 1179, 1178, 1184, 1187, 1187, 1188, 1188, 1189, 1189, 1196, + 1197, 1200, 1201, 1209, 1210, 1212, 1216, 1223, 1232, 1232, + 1246, 1249, 1246, 1274, 1275, 1281, 1284, 1285, 1286, 1290, + 1290, 1293, 1294, 1295, 1298, 1298, 1301, 1302, 1305, 1305, + 1328, 1328, 1329, 1330, 1331, 1331, 1334, 1335, 1338, 1339, + 1340, 1341, 1344, 1344, 1366, 1366, 1422, 1423, 1424, 1425, + 1428, 1429, 1432, 1438, 1439, 1440, 1441, 1442, 1443, 1446, + 1447, 1448, 1449, 1450, 1451, 1454, 1455, 1456, 1457, 1458, + 1459, 1460, 1463, 1464, 1465, 1466, 1469, 1470, 1473, 1474, + 1477, 1477, 1477, 1481, 1481, 1481, 1485, 1485, 1485, 1489, + 1489, 1489, 1493, 1493, 1493, 1498, 1498, 1502, 1504, 1502, + 1512, 1514, 1512, 1523, 1524, 1527, 1531, 1535, 1538, 1544, + 1548, 1554, 1554, 1557, 1558, 1566, 1567, 1566, 1578, 1579, + 1578, 1591, 1591, 1591, 1593, 1593, 1598, 1603, 1597, 1615, + 1618, 1619, 1623, 1634, 1639, 1622, 1699, 1700, 1703, 1704, + 1707, 1708, 1709, 1710, 1713, 1714, 1717, 1718, 1721, 1722, + 1726, 1732, 1741, 1725, 1761, 1762, 1766, 1765, 1778, 1786, + 1794, 1793, 1803, 1804, 1812, 1812, 1815, 1815, 1818, 1820, + 1823, 1823, 1823, 1827, 1829, 1837, 1827, 1858, 1859, 1859, + 1860, 1860, 1863, 1873, 1890, 1891, 1892, 1895, 1897, 1899, + 1904, 1911, 1912, 1913, 1914, 1915, 1918, 1919, 1920, 1921, + 1922, 1923, 1924, 1928, 1927, 1939, 1942, 1943 }; #endif @@ -3851,606 +3851,606 @@ yydestruct (yymsg, yytype, yyvaluep, pComp) switch (yytype) { case 19: /* "LITERAL" */ -#line 294 "harbour.y" +#line 286 "harbour.y" { if( (yyvaluep->valChar).dealloc ) hb_xfree( (yyvaluep->valChar).string ); }; #line 3857 "harboury.c" break; case 93: /* "CBSTART" */ -#line 293 "harbour.y" +#line 285 "harbour.y" { hb_xfree( (yyvaluep->asCodeblock).string ); }; #line 3862 "harboury.c" break; case 163: /* "NumValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3869 "harboury.c" break; case 164: /* "DateValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3876 "harboury.c" break; case 165: /* "NumAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3883 "harboury.c" break; case 166: /* "NilValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3890 "harboury.c" break; case 167: /* "NilAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3897 "harboury.c" break; case 168: /* "LiteralValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3904 "harboury.c" break; case 169: /* "LiteralAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3911 "harboury.c" break; case 170: /* "CodeBlockAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3918 "harboury.c" break; case 171: /* "Logical" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3925 "harboury.c" break; case 172: /* "LogicalAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3932 "harboury.c" break; case 173: /* "SelfValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3939 "harboury.c" break; case 174: /* "SelfAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3946 "harboury.c" break; case 175: /* "Array" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3953 "harboury.c" break; case 177: /* "ArrayAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3960 "harboury.c" break; case 178: /* "ArrayAt" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3967 "harboury.c" break; case 179: /* "ArrayAtAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3974 "harboury.c" break; case 180: /* "Variable" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3981 "harboury.c" break; case 181: /* "VarAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3988 "harboury.c" break; case 182: /* "MacroVar" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 3995 "harboury.c" break; case 183: /* "MacroVarAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4002 "harboury.c" break; case 184: /* "MacroExpr" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4009 "harboury.c" break; case 185: /* "MacroExprAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4016 "harboury.c" break; case 186: /* "FieldAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4023 "harboury.c" break; case 187: /* "FieldVarAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4030 "harboury.c" break; case 188: /* "AliasId" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4037 "harboury.c" break; case 189: /* "AliasVar" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4044 "harboury.c" break; case 190: /* "AliasExpr" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4051 "harboury.c" break; case 191: /* "VariableAt" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4058 "harboury.c" break; case 192: /* "VariableAtAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4065 "harboury.c" break; case 193: /* "FunIdentCall" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4072 "harboury.c" break; case 195: /* "FunCall" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4079 "harboury.c" break; case 198: /* "ArgList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4086 "harboury.c" break; case 199: /* "FunCallAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4093 "harboury.c" break; case 201: /* "ObjectData" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4100 "harboury.c" break; case 202: /* "ObjectDataAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4107 "harboury.c" break; case 203: /* "ObjectMethod" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4114 "harboury.c" break; case 205: /* "ObjectMethodAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4121 "harboury.c" break; case 206: /* "SimpleExpression" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4128 "harboury.c" break; case 211: /* "Expression" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4135 "harboury.c" break; case 214: /* "EmptyExpression" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4142 "harboury.c" break; case 215: /* "LValue" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4149 "harboury.c" break; case 216: /* "PostOp" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4156 "harboury.c" break; case 217: /* "ExprPostOp" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4163 "harboury.c" break; case 218: /* "ExprPreOp" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4170 "harboury.c" break; case 219: /* "ExprUnary" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4177 "harboury.c" break; case 220: /* "ExprAssign" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4184 "harboury.c" break; case 221: /* "ExprEqual" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4191 "harboury.c" break; case 222: /* "ExprPlusEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4198 "harboury.c" break; case 223: /* "ExprMinusEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4205 "harboury.c" break; case 224: /* "ExprMultEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4212 "harboury.c" break; case 225: /* "ExprDivEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4219 "harboury.c" break; case 226: /* "ExprModEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4226 "harboury.c" break; case 227: /* "ExprExpEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4233 "harboury.c" break; case 228: /* "ExprOperEq" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4240 "harboury.c" break; case 229: /* "ExprMath" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4247 "harboury.c" break; case 230: /* "ExprBool" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4254 "harboury.c" break; case 231: /* "ExprRelation" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4261 "harboury.c" break; case 232: /* "ArrayIndex" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4268 "harboury.c" break; case 233: /* "IndexList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4275 "harboury.c" break; case 234: /* "ElemList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4282 "harboury.c" break; case 235: /* "CodeBlock" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4289 "harboury.c" break; case 238: /* "BlockExpList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4296 "harboury.c" break; case 239: /* "BlockNoVar" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4303 "harboury.c" break; case 240: /* "BlockVarList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4310 "harboury.c" break; case 241: /* "PareExpList1" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4317 "harboury.c" break; case 242: /* "PareExpList2" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4324 "harboury.c" break; case 243: /* "PareExpList3" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4331 "harboury.c" break; case 244: /* "PareExpListN" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4338 "harboury.c" break; case 245: /* "PareExpList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4345 "harboury.c" break; case 246: /* "PareExpListAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4352 "harboury.c" break; case 247: /* "ExpList1" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4359 "harboury.c" break; case 248: /* "ExpList2" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4366 "harboury.c" break; case 249: /* "ExpList3" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4373 "harboury.c" break; case 250: /* "ExpList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4380 "harboury.c" break; case 251: /* "IfInline" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4387 "harboury.c" break; case 253: /* "IfInlineAlias" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4394 "harboury.c" break; case 265: /* "DimList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4401 "harboury.c" break; case 266: /* "DimIndex" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4408 "harboury.c" break; case 337: /* "ForVar" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4415 "harboury.c" break; case 338: /* "ForList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4422 "harboury.c" break; case 339: /* "ForExpr" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4429 "harboury.c" break; case 366: /* "DoName" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4436 "harboury.c" break; case 367: /* "DoProc" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4443 "harboury.c" break; case 368: /* "DoArgList" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4450 "harboury.c" break; case 369: /* "DoArgument" */ -#line 256 "harbour.y" - { +#line 248 "harbour.y" + { hb_compExprDelete( (yyvaluep->asExpr), HB_COMP_PARAM ); }; #line 4457 "harboury.c" @@ -4762,32 +4762,32 @@ yyreduce: switch (yyn) { case 2: -#line 298 "harbour.y" +#line 290 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; case 3: -#line 298 "harbour.y" +#line 290 "harbour.y" { ;} break; case 14: -#line 311 "harbour.y" +#line 303 "harbour.y" { yyclearin; yyerrok; ;} break; case 24: -#line 321 "harbour.y" +#line 313 "harbour.y" { yyclearin; yyerrok; ;} break; case 27: -#line 328 "harbour.y" +#line 320 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 28: -#line 331 "harbour.y" +#line 323 "harbour.y" { if( (yyvsp[(1) - (1)].valChar).dealloc ) { @@ -4799,7 +4799,7 @@ yyreduce: break; case 29: -#line 339 "harbour.y" +#line 331 "harbour.y" { { char szFileName[ _POSIX_PATH_MAX + 1 ]; @@ -4814,222 +4814,222 @@ yyreduce: break; case 30: -#line 352 "harbour.y" +#line 344 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); ;} break; case 31: -#line 352 "harbour.y" +#line 344 "harbour.y" {;} break; case 32: -#line 353 "harbour.y" +#line 345 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); ;} break; case 33: -#line 353 "harbour.y" +#line 345 "harbour.y" {;} break; case 34: -#line 354 "harbour.y" +#line 346 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); HB_COMP_PARAM->iVarScope = VS_PARAMETER; ;} break; case 35: -#line 354 "harbour.y" +#line 346 "harbour.y" {;} break; case 36: -#line 355 "harbour.y" +#line 347 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); HB_COMP_PARAM->iVarScope = VS_PARAMETER;;} break; case 37: -#line 355 "harbour.y" +#line 347 "harbour.y" {;} break; case 38: -#line 358 "harbour.y" +#line 350 "harbour.y" { (yyval.iNumber) = HB_FS_PUBLIC; ;} break; case 39: -#line 359 "harbour.y" +#line 351 "harbour.y" { (yyval.iNumber) = HB_FS_STATIC; ;} break; case 40: -#line 360 "harbour.y" +#line 352 "harbour.y" { (yyval.iNumber) = HB_FS_INIT; ;} break; case 41: -#line 361 "harbour.y" +#line 353 "harbour.y" { (yyval.iNumber) = HB_FS_EXIT; ;} break; case 42: -#line 364 "harbour.y" +#line 356 "harbour.y" { (yyval.iNumber) = 0; ;} break; case 43: -#line 365 "harbour.y" +#line 357 "harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = 0; ;} break; case 44: -#line 366 "harbour.y" +#line 358 "harbour.y" { (yyval.iNumber) = (yyvsp[(1) - (1)].iNumber); ;} break; case 45: -#line 367 "harbour.y" +#line 359 "harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = (yyvsp[(1) - (3)].iNumber); ;} break; case 46: -#line 370 "harbour.y" +#line 362 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 48: -#line 374 "harbour.y" +#line 366 "harbour.y" { HB_COMP_PARAM->cVarType = 'N'; ;} break; case 49: -#line 375 "harbour.y" +#line 367 "harbour.y" { HB_COMP_PARAM->cVarType = 'C'; ;} break; case 50: -#line 376 "harbour.y" +#line 368 "harbour.y" { HB_COMP_PARAM->cVarType = 'D'; ;} break; case 51: -#line 377 "harbour.y" +#line 369 "harbour.y" { HB_COMP_PARAM->cVarType = 'L'; ;} break; case 52: -#line 378 "harbour.y" +#line 370 "harbour.y" { HB_COMP_PARAM->cVarType = 'B'; ;} break; case 53: -#line 379 "harbour.y" +#line 371 "harbour.y" { HB_COMP_PARAM->cVarType = 'O'; ;} break; case 54: -#line 380 "harbour.y" +#line 372 "harbour.y" { HB_COMP_PARAM->cVarType = 'S'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; case 55: -#line 381 "harbour.y" +#line 373 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 57: -#line 385 "harbour.y" +#line 377 "harbour.y" { HB_COMP_PARAM->cVarType = 'A'; ;} break; case 58: -#line 386 "harbour.y" +#line 378 "harbour.y" { HB_COMP_PARAM->cVarType = 'n'; ;} break; case 59: -#line 387 "harbour.y" +#line 379 "harbour.y" { HB_COMP_PARAM->cVarType = 'c'; ;} break; case 60: -#line 388 "harbour.y" +#line 380 "harbour.y" { HB_COMP_PARAM->cVarType = 'd'; ;} break; case 61: -#line 389 "harbour.y" +#line 381 "harbour.y" { HB_COMP_PARAM->cVarType = 'l'; ;} break; case 62: -#line 390 "harbour.y" +#line 382 "harbour.y" { HB_COMP_PARAM->cVarType = 'a'; ;} break; case 63: -#line 391 "harbour.y" +#line 383 "harbour.y" { HB_COMP_PARAM->cVarType = 'b'; ;} break; case 64: -#line 392 "harbour.y" +#line 384 "harbour.y" { HB_COMP_PARAM->cVarType = 'o'; ;} break; case 65: -#line 393 "harbour.y" +#line 385 "harbour.y" { HB_COMP_PARAM->cVarType = 's'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; case 66: -#line 396 "harbour.y" +#line 388 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber) = 1; ;} break; case 67: -#line 397 "harbour.y" +#line 389 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber)++; ;} break; case 68: -#line 405 "harbour.y" +#line 397 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; case 69: -#line 405 "harbour.y" +#line 397 "harbour.y" { ;} break; case 70: -#line 406 "harbour.y" +#line 398 "harbour.y" { ;} break; case 71: -#line 407 "harbour.y" +#line 399 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 72: -#line 408 "harbour.y" +#line 400 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 73: -#line 409 "harbour.y" +#line 401 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 74: -#line 410 "harbour.y" +#line 402 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 75: -#line 411 "harbour.y" +#line 403 "harbour.y" { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); else @@ -5039,7 +5039,7 @@ yyreduce: break; case 76: -#line 417 "harbour.y" +#line 409 "harbour.y" { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); else @@ -5049,53 +5049,53 @@ yyreduce: break; case 77: -#line 423 "harbour.y" +#line 415 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 78: -#line 424 "harbour.y" +#line 416 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 79: -#line 425 "harbour.y" +#line 417 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 80: -#line 426 "harbour.y" +#line 418 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 81: -#line 427 "harbour.y" +#line 419 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 82: -#line 428 "harbour.y" +#line 420 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 83: -#line 429 "harbour.y" +#line 421 "harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 84: -#line 430 "harbour.y" +#line 422 "harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 0, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; case 85: -#line 432 "harbour.y" +#line 424 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 86: -#line 432 "harbour.y" +#line 424 "harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 1, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; @@ -5103,7 +5103,7 @@ yyreduce: break; case 87: -#line 436 "harbour.y" +#line 428 "harbour.y" { if( HB_COMP_PARAM->wSeqCounter ) { @@ -5121,12 +5121,12 @@ yyreduce: break; case 88: -#line 450 "harbour.y" +#line 442 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; case 89: -#line 452 "harbour.y" +#line 444 "harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -5148,12 +5148,12 @@ yyreduce: break; case 90: -#line 470 "harbour.y" +#line 462 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PUBLIC; ;} break; case 91: -#line 472 "harbour.y" +#line 464 "harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPUBLIC" ); HB_COMP_PARAM->cVarType = ' '; HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; @@ -5161,12 +5161,12 @@ yyreduce: break; case 93: -#line 476 "harbour.y" +#line 468 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PRIVATE; ;} break; case 94: -#line 478 "harbour.y" +#line 470 "harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPRIVATE" ); HB_COMP_PARAM->cVarType = ' '; HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; @@ -5174,27 +5174,27 @@ yyreduce: break; case 96: -#line 483 "harbour.y" +#line 475 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} break; case 97: -#line 483 "harbour.y" +#line 475 "harbour.y" { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; case 98: -#line 484 "harbour.y" +#line 476 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} break; case 99: -#line 484 "harbour.y" +#line 476 "harbour.y" { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; case 101: -#line 486 "harbour.y" +#line 478 "harbour.y" { if( HB_COMP_PARAM->szAnnounce == NULL ) { @@ -5212,172 +5212,172 @@ yyreduce: break; case 103: -#line 502 "harbour.y" +#line 494 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 105: -#line 505 "harbour.y" +#line 497 "harbour.y" { (yyval.lNumber) = 0; HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; case 106: -#line 506 "harbour.y" +#line 498 "harbour.y" { (yyval.lNumber) = 1; ;} break; case 107: -#line 507 "harbour.y" +#line 499 "harbour.y" { (yyval.lNumber) = 1; ;} break; case 108: -#line 508 "harbour.y" +#line 500 "harbour.y" { (yyval.lNumber) = 1; ;} break; case 109: -#line 509 "harbour.y" +#line 501 "harbour.y" { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, NULL, NULL ); ;} break; case 110: -#line 512 "harbour.y" +#line 504 "harbour.y" {;} break; case 111: -#line 513 "harbour.y" +#line 505 "harbour.y" {;} break; case 112: -#line 514 "harbour.y" +#line 506 "harbour.y" {;} break; case 113: -#line 515 "harbour.y" +#line 507 "harbour.y" {;} break; case 118: -#line 524 "harbour.y" +#line 516 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; case 119: -#line 525 "harbour.y" +#line 517 "harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; case 120: -#line 528 "harbour.y" +#line 520 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); ;} break; case 121: -#line 529 "harbour.y" +#line 521 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string) ); ;} break; case 122: -#line 532 "harbour.y" +#line 524 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 123: -#line 533 "harbour.y" +#line 525 "harbour.y" { (yyval.string) = "STEP"; ;} break; case 124: -#line 534 "harbour.y" +#line 526 "harbour.y" { (yyval.string) = "TO"; ;} break; case 125: -#line 535 "harbour.y" +#line 527 "harbour.y" { (yyval.string) = "LOOP"; ;} break; case 126: -#line 536 "harbour.y" +#line 528 "harbour.y" { (yyval.string) = "EXIT"; ;} break; case 127: -#line 537 "harbour.y" +#line 529 "harbour.y" { (yyval.string) = "IN"; ;} break; case 128: -#line 538 "harbour.y" +#line 530 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 129: -#line 539 "harbour.y" +#line 531 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 130: -#line 540 "harbour.y" +#line 532 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 131: -#line 541 "harbour.y" +#line 533 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 132: -#line 542 "harbour.y" +#line 534 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 133: -#line 543 "harbour.y" +#line 535 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 134: -#line 544 "harbour.y" +#line 536 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 135: -#line 545 "harbour.y" +#line 537 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 136: -#line 546 "harbour.y" +#line 538 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 137: -#line 547 "harbour.y" +#line 539 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 138: -#line 548 "harbour.y" +#line 540 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 139: -#line 553 "harbour.y" +#line 545 "harbour.y" { (yyval.asExpr) = hb_compExprNewDouble( (yyvsp[(1) - (1)].valDouble).dNumber, (yyvsp[(1) - (1)].valDouble).bWidth, (yyvsp[(1) - (1)].valDouble).bDec, HB_COMP_PARAM ); ;} break; case 140: -#line 554 "harbour.y" +#line 546 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 141: -#line 557 "harbour.y" +#line 549 "harbour.y" { (yyval.asExpr) = hb_compExprNewDate( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); if( (yyvsp[(1) - (1)].valLong).lNumber == 0 ) { @@ -5387,589 +5387,589 @@ yyreduce: break; case 142: -#line 565 "harbour.y" +#line 557 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (2)].valLong).lNumber, HB_COMP_PARAM ); ;} break; case 143: -#line 566 "harbour.y" +#line 558 "harbour.y" { (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, hb_compExprNewDouble( (yyvsp[(1) - (2)].valDouble).dNumber, (yyvsp[(1) - (2)].valDouble).bWidth, (yyvsp[(1) - (2)].valDouble).bDec, HB_COMP_PARAM ) ); ;} break; case 144: -#line 571 "harbour.y" +#line 563 "harbour.y" { (yyval.asExpr) = hb_compExprNewNil( HB_COMP_PARAM ); ;} break; case 145: -#line 574 "harbour.y" +#line 566 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 146: -#line 579 "harbour.y" +#line 571 "harbour.y" { (yyval.asExpr) = hb_compExprNewString( (yyvsp[(1) - (1)].valChar).string, (yyvsp[(1) - (1)].valChar).length, (yyvsp[(1) - (1)].valChar).dealloc, HB_COMP_PARAM ); ;} break; case 147: -#line 584 "harbour.y" +#line 576 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 148: -#line 589 "harbour.y" +#line 581 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 149: -#line 594 "harbour.y" +#line 586 "harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( TRUE, HB_COMP_PARAM ); ;} break; case 150: -#line 595 "harbour.y" +#line 587 "harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( FALSE, HB_COMP_PARAM ); ;} break; case 151: -#line 598 "harbour.y" +#line 590 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 152: -#line 603 "harbour.y" +#line 595 "harbour.y" { (yyval.asExpr) = hb_compExprNewSelf( HB_COMP_PARAM ); ;} break; case 153: -#line 606 "harbour.y" +#line 598 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 154: -#line 611 "harbour.y" +#line 603 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_ARRAY;;} break; case 155: -#line 611 "harbour.y" +#line 603 "harbour.y" { (yyval.asExpr) = hb_compExprNewArray( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(2) - (4)].bTrue); ;} break; case 156: -#line 614 "harbour.y" +#line 606 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 157: -#line 619 "harbour.y" +#line 611 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 158: -#line 622 "harbour.y" +#line 614 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 159: -#line 627 "harbour.y" +#line 619 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 160: -#line 630 "harbour.y" +#line 622 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( (yyvsp[(1) - (2)].string), HB_COMP_PARAM ); ;} break; case 161: -#line 635 "harbour.y" +#line 627 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, '&', (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 162: -#line 636 "harbour.y" +#line 628 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, 0, (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 163: -#line 639 "harbour.y" +#line 631 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 164: -#line 644 "harbour.y" +#line 636 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( (yyvsp[(2) - (2)].asExpr), 0, NULL, HB_COMP_PARAM ); ;} break; case 165: -#line 647 "harbour.y" +#line 639 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 166: -#line 654 "harbour.y" +#line 646 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( "FIELD", HB_COMP_PARAM ); ;} break; case 167: -#line 655 "harbour.y" +#line 647 "harbour.y" { (yyval.asExpr) = (yyvsp[(3) - (3)].asExpr); ;} break; case 168: -#line 660 "harbour.y" +#line 652 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 169: -#line 661 "harbour.y" +#line 653 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 170: -#line 662 "harbour.y" +#line 654 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 171: -#line 663 "harbour.y" +#line 655 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 172: -#line 664 "harbour.y" +#line 656 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 173: -#line 665 "harbour.y" +#line 657 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 174: -#line 666 "harbour.y" +#line 658 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 175: -#line 667 "harbour.y" +#line 659 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 176: -#line 668 "harbour.y" +#line 660 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 177: -#line 669 "harbour.y" +#line 661 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 178: -#line 670 "harbour.y" +#line 662 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 179: -#line 671 "harbour.y" +#line 663 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 180: -#line 672 "harbour.y" +#line 664 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 181: -#line 675 "harbour.y" +#line 667 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 182: -#line 676 "harbour.y" +#line 668 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 183: -#line 677 "harbour.y" +#line 669 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 184: -#line 680 "harbour.y" +#line 672 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 185: -#line 681 "harbour.y" +#line 673 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 186: -#line 682 "harbour.y" +#line 674 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 187: -#line 683 "harbour.y" +#line 675 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 188: -#line 684 "harbour.y" +#line 676 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 189: -#line 685 "harbour.y" +#line 677 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 190: -#line 686 "harbour.y" +#line 678 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 191: -#line 687 "harbour.y" +#line 679 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 192: -#line 688 "harbour.y" +#line 680 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 193: -#line 689 "harbour.y" +#line 681 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 194: -#line 690 "harbour.y" +#line 682 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 195: -#line 691 "harbour.y" +#line 683 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 196: -#line 692 "harbour.y" +#line 684 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 197: -#line 693 "harbour.y" +#line 685 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 198: -#line 694 "harbour.y" +#line 686 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 199: -#line 695 "harbour.y" +#line 687 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 200: -#line 696 "harbour.y" +#line 688 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 201: -#line 697 "harbour.y" +#line 689 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 202: -#line 698 "harbour.y" +#line 690 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 203: -#line 707 "harbour.y" +#line 699 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 204: -#line 708 "harbour.y" +#line 700 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 205: -#line 709 "harbour.y" +#line 701 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 206: -#line 710 "harbour.y" +#line 702 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 207: -#line 711 "harbour.y" +#line 703 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 208: -#line 712 "harbour.y" +#line 704 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 209: -#line 717 "harbour.y" +#line 709 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 210: -#line 718 "harbour.y" +#line 710 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 211: -#line 719 "harbour.y" +#line 711 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 212: -#line 720 "harbour.y" +#line 712 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 213: -#line 721 "harbour.y" +#line 713 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 214: -#line 722 "harbour.y" +#line 714 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 215: -#line 723 "harbour.y" +#line 715 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 216: -#line 724 "harbour.y" +#line 716 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 217: -#line 725 "harbour.y" +#line 717 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 218: -#line 726 "harbour.y" +#line 718 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 219: -#line 727 "harbour.y" +#line 719 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 220: -#line 728 "harbour.y" +#line 720 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 221: -#line 729 "harbour.y" +#line 721 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 222: -#line 730 "harbour.y" +#line 722 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 223: -#line 731 "harbour.y" +#line 723 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 224: -#line 734 "harbour.y" +#line 726 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 225: -#line 739 "harbour.y" +#line 731 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 226: -#line 739 "harbour.y" +#line 731 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( (yyvsp[(1) - (5)].string), HB_COMP_PARAM ), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; case 227: -#line 742 "harbour.y" +#line 734 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 228: -#line 743 "harbour.y" +#line 735 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 229: -#line 743 "harbour.y" +#line 735 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; case 230: -#line 744 "harbour.y" +#line 736 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 231: -#line 744 "harbour.y" +#line 736 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; case 232: -#line 747 "harbour.y" +#line 739 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 233: -#line 748 "harbour.y" +#line 740 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 234: -#line 751 "harbour.y" +#line 743 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 235: -#line 757 "harbour.y" +#line 749 "harbour.y" { (yyval.asMessage).value.string = (yyvsp[(1) - (1)].string); (yyval.asMessage).bMacro=FALSE; ;} break; case 236: -#line 758 "harbour.y" +#line 750 "harbour.y" { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} break; case 237: -#line 759 "harbour.y" +#line 751 "harbour.y" { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} break; case 238: -#line 762 "harbour.y" +#line 754 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 239: -#line 763 "harbour.y" +#line 755 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 240: -#line 764 "harbour.y" +#line 756 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 241: -#line 765 "harbour.y" +#line 757 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 242: -#line 766 "harbour.y" +#line 758 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 243: -#line 767 "harbour.y" +#line 759 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 244: -#line 768 "harbour.y" +#line 760 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 245: -#line 769 "harbour.y" +#line 761 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 246: -#line 770 "harbour.y" +#line 762 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 247: -#line 771 "harbour.y" +#line 763 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 248: -#line 772 "harbour.y" +#line 764 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 249: -#line 773 "harbour.y" +#line 765 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 250: -#line 774 "harbour.y" +#line 766 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 251: -#line 775 "harbour.y" +#line 767 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 252: -#line 776 "harbour.y" +#line 768 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 253: -#line 777 "harbour.y" +#line 769 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 254: -#line 778 "harbour.y" +#line 770 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 255: -#line 779 "harbour.y" +#line 771 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 256: -#line 780 "harbour.y" +#line 772 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 257: -#line 781 "harbour.y" +#line 773 "harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 258: -#line 782 "harbour.y" +#line 774 "harbour.y" { if( HB_COMP_PARAM->wWithObjectCnt == 0 ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_WITHOBJECT, NULL, NULL ); (yyval.asExpr) = ((yyvsp[(2) - (2)].asMessage).bMacro ? hb_compExprNewSend( NULL, NULL, (yyvsp[(2) - (2)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( NULL, (yyvsp[(2) - (2)].asMessage).value.string, NULL, HB_COMP_PARAM )); @@ -5977,1462 +5977,1462 @@ yyreduce: break; case 259: -#line 788 "harbour.y" +#line 780 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 260: -#line 793 "harbour.y" +#line 785 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 261: -#line 793 "harbour.y" +#line 785 "harbour.y" { (yyval.asExpr) = hb_compExprNewMethodCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; case 262: -#line 796 "harbour.y" +#line 788 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 264: -#line 806 "harbour.y" +#line 798 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 265: -#line 807 "harbour.y" +#line 799 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 266: -#line 808 "harbour.y" +#line 800 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 267: -#line 809 "harbour.y" +#line 801 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 268: -#line 810 "harbour.y" +#line 802 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 269: -#line 811 "harbour.y" +#line 803 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 270: -#line 812 "harbour.y" +#line 804 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 271: -#line 812 "harbour.y" +#line 804 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 272: -#line 813 "harbour.y" +#line 805 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 273: -#line 814 "harbour.y" +#line 806 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 274: -#line 815 "harbour.y" +#line 807 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 275: -#line 816 "harbour.y" +#line 808 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 276: -#line 817 "harbour.y" +#line 809 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 277: -#line 818 "harbour.y" +#line 810 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 278: -#line 819 "harbour.y" +#line 811 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 279: -#line 820 "harbour.y" +#line 812 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 280: -#line 820 "harbour.y" +#line 812 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 281: -#line 821 "harbour.y" +#line 813 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 282: -#line 822 "harbour.y" +#line 814 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 283: -#line 823 "harbour.y" +#line 815 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 284: -#line 823 "harbour.y" +#line 815 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 285: -#line 824 "harbour.y" +#line 816 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 286: -#line 825 "harbour.y" +#line 817 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 287: -#line 825 "harbour.y" +#line 817 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 288: -#line 826 "harbour.y" +#line 818 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 289: -#line 827 "harbour.y" +#line 819 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 290: -#line 828 "harbour.y" +#line 820 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 291: -#line 829 "harbour.y" +#line 821 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 292: -#line 830 "harbour.y" +#line 822 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 293: -#line 831 "harbour.y" +#line 823 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 294: -#line 832 "harbour.y" +#line 824 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 295: -#line 833 "harbour.y" +#line 825 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 296: -#line 834 "harbour.y" +#line 826 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 297: -#line 837 "harbour.y" +#line 829 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 298: -#line 838 "harbour.y" +#line 830 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 299: -#line 839 "harbour.y" +#line 831 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 300: -#line 840 "harbour.y" +#line 832 "harbour.y" { HB_COMP_PARAM->cVarType = ' ';;} break; case 301: -#line 840 "harbour.y" +#line 832 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 302: -#line 841 "harbour.y" +#line 833 "harbour.y" { HB_COMP_PARAM->cVarType = ' ';;} break; case 303: -#line 841 "harbour.y" +#line 833 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 304: -#line 842 "harbour.y" +#line 834 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ) ); ;} break; case 305: -#line 843 "harbour.y" +#line 835 "harbour.y" { int bPassByRef=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;(yyval.string) = hb_compExprAsSymbol( (yyvsp[(2) - (2)].asExpr) ); hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewFunRef( (yyval.string), HB_COMP_PARAM ) ); HB_COMP_PARAM->iPassByRef=bPassByRef; ;} break; case 306: -#line 844 "harbour.y" +#line 836 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 307: -#line 845 "harbour.y" +#line 837 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 308: -#line 846 "harbour.y" +#line 838 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 309: -#line 849 "harbour.y" +#line 841 "harbour.y" { (yyval.asExpr) = hb_compExprNewEmpty( HB_COMP_PARAM ); ;} break; case 311: -#line 853 "harbour.y" +#line 845 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 317: -#line 859 "harbour.y" +#line 851 "harbour.y" { (yyval.asExpr) = hb_compExprListStrip( (yyvsp[(1) - (1)].asExpr), NULL ); ;} break; case 318: -#line 865 "harbour.y" +#line 857 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostInc( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 319: -#line 866 "harbour.y" +#line 858 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostDec( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 320: -#line 873 "harbour.y" +#line 865 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 321: -#line 874 "harbour.y" +#line 866 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 322: -#line 875 "harbour.y" +#line 867 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 323: -#line 876 "harbour.y" +#line 868 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 324: -#line 877 "harbour.y" +#line 869 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 325: -#line 878 "harbour.y" +#line 870 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 326: -#line 879 "harbour.y" +#line 871 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 327: -#line 880 "harbour.y" +#line 872 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 328: -#line 881 "harbour.y" +#line 873 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 329: -#line 882 "harbour.y" +#line 874 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 330: -#line 883 "harbour.y" +#line 875 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 331: -#line 884 "harbour.y" +#line 876 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 332: -#line 885 "harbour.y" +#line 877 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 333: -#line 886 "harbour.y" +#line 878 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 334: -#line 887 "harbour.y" +#line 879 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 335: -#line 888 "harbour.y" +#line 880 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 336: -#line 889 "harbour.y" +#line 881 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 337: -#line 890 "harbour.y" +#line 882 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 338: -#line 891 "harbour.y" +#line 883 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 339: -#line 894 "harbour.y" +#line 886 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreInc( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 340: -#line 895 "harbour.y" +#line 887 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreDec( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 341: -#line 898 "harbour.y" +#line 890 "harbour.y" { (yyval.asExpr) = hb_compExprNewNot( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 342: -#line 899 "harbour.y" +#line 891 "harbour.y" { (yyval.asExpr) = hb_compExprNewNegate( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 343: -#line 900 "harbour.y" +#line 892 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 344: -#line 907 "harbour.y" +#line 899 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 345: -#line 908 "harbour.y" +#line 900 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 346: -#line 909 "harbour.y" +#line 901 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 347: -#line 910 "harbour.y" +#line 902 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 348: -#line 911 "harbour.y" +#line 903 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 349: -#line 912 "harbour.y" +#line 904 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 350: -#line 913 "harbour.y" +#line 905 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 351: -#line 914 "harbour.y" +#line 906 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 352: -#line 915 "harbour.y" +#line 907 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; case 353: -#line 916 "harbour.y" +#line 908 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 354: -#line 917 "harbour.y" +#line 909 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 355: -#line 918 "harbour.y" +#line 910 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 356: -#line 919 "harbour.y" +#line 911 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 357: -#line 920 "harbour.y" +#line 912 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; case 358: -#line 921 "harbour.y" +#line 913 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 359: -#line 922 "harbour.y" +#line 914 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 360: -#line 923 "harbour.y" +#line 915 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 361: -#line 924 "harbour.y" +#line 916 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; case 362: -#line 925 "harbour.y" +#line 917 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 363: -#line 928 "harbour.y" +#line 920 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 364: -#line 929 "harbour.y" +#line 921 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 365: -#line 930 "harbour.y" +#line 922 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 366: -#line 931 "harbour.y" +#line 923 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 367: -#line 932 "harbour.y" +#line 924 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 368: -#line 933 "harbour.y" +#line 925 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 369: -#line 934 "harbour.y" +#line 926 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 370: -#line 935 "harbour.y" +#line 927 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 371: -#line 936 "harbour.y" +#line 928 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 372: -#line 937 "harbour.y" +#line 929 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 373: -#line 938 "harbour.y" +#line 930 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 374: -#line 939 "harbour.y" +#line 931 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 375: -#line 940 "harbour.y" +#line 932 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 376: -#line 941 "harbour.y" +#line 933 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 377: -#line 942 "harbour.y" +#line 934 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 378: -#line 943 "harbour.y" +#line 935 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 379: -#line 944 "harbour.y" +#line 936 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 380: -#line 945 "harbour.y" +#line 937 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 381: -#line 946 "harbour.y" +#line 938 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 382: -#line 947 "harbour.y" +#line 939 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 383: -#line 950 "harbour.y" +#line 942 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 384: -#line 951 "harbour.y" +#line 943 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 385: -#line 952 "harbour.y" +#line 944 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 386: -#line 953 "harbour.y" +#line 945 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 387: -#line 954 "harbour.y" +#line 946 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 388: -#line 955 "harbour.y" +#line 947 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 389: -#line 956 "harbour.y" +#line 948 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 390: -#line 957 "harbour.y" +#line 949 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 391: -#line 958 "harbour.y" +#line 950 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 392: -#line 959 "harbour.y" +#line 951 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 393: -#line 960 "harbour.y" +#line 952 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 394: -#line 961 "harbour.y" +#line 953 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 395: -#line 962 "harbour.y" +#line 954 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 396: -#line 963 "harbour.y" +#line 955 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 397: -#line 964 "harbour.y" +#line 956 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 398: -#line 965 "harbour.y" +#line 957 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 399: -#line 966 "harbour.y" +#line 958 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 400: -#line 967 "harbour.y" +#line 959 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 401: -#line 968 "harbour.y" +#line 960 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 402: -#line 971 "harbour.y" +#line 963 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 403: -#line 972 "harbour.y" +#line 964 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 404: -#line 973 "harbour.y" +#line 965 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 405: -#line 974 "harbour.y" +#line 966 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 406: -#line 975 "harbour.y" +#line 967 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 407: -#line 976 "harbour.y" +#line 968 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 408: -#line 977 "harbour.y" +#line 969 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 409: -#line 978 "harbour.y" +#line 970 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 410: -#line 979 "harbour.y" +#line 971 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 411: -#line 980 "harbour.y" +#line 972 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 412: -#line 981 "harbour.y" +#line 973 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 413: -#line 982 "harbour.y" +#line 974 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 414: -#line 983 "harbour.y" +#line 975 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 415: -#line 984 "harbour.y" +#line 976 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 416: -#line 985 "harbour.y" +#line 977 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 417: -#line 986 "harbour.y" +#line 978 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 418: -#line 987 "harbour.y" +#line 979 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 419: -#line 988 "harbour.y" +#line 980 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 420: -#line 989 "harbour.y" +#line 981 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 421: -#line 992 "harbour.y" +#line 984 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 422: -#line 993 "harbour.y" +#line 985 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 423: -#line 994 "harbour.y" +#line 986 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 424: -#line 995 "harbour.y" +#line 987 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 425: -#line 996 "harbour.y" +#line 988 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 426: -#line 997 "harbour.y" +#line 989 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 427: -#line 998 "harbour.y" +#line 990 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 428: -#line 999 "harbour.y" +#line 991 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 429: -#line 1000 "harbour.y" +#line 992 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 430: -#line 1001 "harbour.y" +#line 993 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 431: -#line 1002 "harbour.y" +#line 994 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 432: -#line 1003 "harbour.y" +#line 995 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 433: -#line 1004 "harbour.y" +#line 996 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 434: -#line 1005 "harbour.y" +#line 997 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 435: -#line 1006 "harbour.y" +#line 998 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 436: -#line 1007 "harbour.y" +#line 999 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 437: -#line 1008 "harbour.y" +#line 1000 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 438: -#line 1009 "harbour.y" +#line 1001 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 439: -#line 1010 "harbour.y" +#line 1002 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 440: -#line 1013 "harbour.y" +#line 1005 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 441: -#line 1014 "harbour.y" +#line 1006 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 442: -#line 1015 "harbour.y" +#line 1007 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 443: -#line 1016 "harbour.y" +#line 1008 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 444: -#line 1017 "harbour.y" +#line 1009 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 445: -#line 1018 "harbour.y" +#line 1010 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 446: -#line 1019 "harbour.y" +#line 1011 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 447: -#line 1020 "harbour.y" +#line 1012 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 448: -#line 1021 "harbour.y" +#line 1013 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 449: -#line 1022 "harbour.y" +#line 1014 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 450: -#line 1023 "harbour.y" +#line 1015 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 451: -#line 1024 "harbour.y" +#line 1016 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 452: -#line 1025 "harbour.y" +#line 1017 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 453: -#line 1026 "harbour.y" +#line 1018 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 454: -#line 1027 "harbour.y" +#line 1019 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 455: -#line 1028 "harbour.y" +#line 1020 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 456: -#line 1029 "harbour.y" +#line 1021 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 457: -#line 1030 "harbour.y" +#line 1022 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 458: -#line 1031 "harbour.y" +#line 1023 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 459: -#line 1034 "harbour.y" +#line 1026 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 460: -#line 1035 "harbour.y" +#line 1027 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 461: -#line 1036 "harbour.y" +#line 1028 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 462: -#line 1037 "harbour.y" +#line 1029 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 463: -#line 1038 "harbour.y" +#line 1030 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 464: -#line 1039 "harbour.y" +#line 1031 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 465: -#line 1040 "harbour.y" +#line 1032 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 466: -#line 1041 "harbour.y" +#line 1033 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 467: -#line 1042 "harbour.y" +#line 1034 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 468: -#line 1043 "harbour.y" +#line 1035 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 469: -#line 1044 "harbour.y" +#line 1036 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 470: -#line 1045 "harbour.y" +#line 1037 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 471: -#line 1046 "harbour.y" +#line 1038 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 472: -#line 1047 "harbour.y" +#line 1039 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 473: -#line 1048 "harbour.y" +#line 1040 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 474: -#line 1049 "harbour.y" +#line 1041 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 475: -#line 1050 "harbour.y" +#line 1042 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 476: -#line 1051 "harbour.y" +#line 1043 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 477: -#line 1052 "harbour.y" +#line 1044 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 478: -#line 1055 "harbour.y" +#line 1047 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 479: -#line 1056 "harbour.y" +#line 1048 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 480: -#line 1057 "harbour.y" +#line 1049 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 481: -#line 1058 "harbour.y" +#line 1050 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 482: -#line 1059 "harbour.y" +#line 1051 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 483: -#line 1060 "harbour.y" +#line 1052 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 484: -#line 1061 "harbour.y" +#line 1053 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 485: -#line 1062 "harbour.y" +#line 1054 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 486: -#line 1063 "harbour.y" +#line 1055 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 487: -#line 1064 "harbour.y" +#line 1056 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 488: -#line 1065 "harbour.y" +#line 1057 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 489: -#line 1066 "harbour.y" +#line 1058 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 490: -#line 1067 "harbour.y" +#line 1059 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 491: -#line 1068 "harbour.y" +#line 1060 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 492: -#line 1069 "harbour.y" +#line 1061 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 493: -#line 1070 "harbour.y" +#line 1062 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 494: -#line 1071 "harbour.y" +#line 1063 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 495: -#line 1072 "harbour.y" +#line 1064 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 496: -#line 1073 "harbour.y" +#line 1065 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 497: -#line 1076 "harbour.y" +#line 1068 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 498: -#line 1077 "harbour.y" +#line 1069 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 499: -#line 1078 "harbour.y" +#line 1070 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 500: -#line 1079 "harbour.y" +#line 1071 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 501: -#line 1080 "harbour.y" +#line 1072 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 502: -#line 1081 "harbour.y" +#line 1073 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 503: -#line 1084 "harbour.y" +#line 1076 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 504: -#line 1085 "harbour.y" +#line 1077 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 505: -#line 1086 "harbour.y" +#line 1078 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMult( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 506: -#line 1087 "harbour.y" +#line 1079 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDiv( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 507: -#line 1088 "harbour.y" +#line 1080 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMod( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 508: -#line 1089 "harbour.y" +#line 1081 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPower( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 509: -#line 1092 "harbour.y" +#line 1084 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewAnd( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 510: -#line 1093 "harbour.y" +#line 1085 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewOr( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 511: -#line 1096 "harbour.y" +#line 1088 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEQ( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 512: -#line 1097 "harbour.y" +#line 1089 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 513: -#line 1098 "harbour.y" +#line 1090 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 514: -#line 1099 "harbour.y" +#line 1091 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 515: -#line 1100 "harbour.y" +#line 1092 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 516: -#line 1101 "harbour.y" +#line 1093 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 517: -#line 1102 "harbour.y" +#line 1094 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 518: -#line 1103 "harbour.y" +#line 1095 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewIN( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 519: -#line 1104 "harbour.y" +#line 1096 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEqual( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 520: -#line 1107 "harbour.y" +#line 1099 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 521: -#line 1113 "harbour.y" +#line 1105 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(0) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 522: -#line 1114 "harbour.y" +#line 1106 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 523: -#line 1115 "harbour.y" +#line 1107 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 524: -#line 1118 "harbour.y" +#line 1110 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 525: -#line 1119 "harbour.y" +#line 1111 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 526: -#line 1122 "harbour.y" +#line 1114 "harbour.y" { (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[(1) - (1)].asCodeblock).string, (yyvsp[(1) - (1)].asCodeblock).isMacro, (yyvsp[(1) - (1)].asCodeblock).lateEval, HB_COMP_PARAM ); ;} break; case 527: -#line 1123 "harbour.y" +#line 1115 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} break; case 528: -#line 1124 "harbour.y" +#line 1116 "harbour.y" { (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[(1) - (1)].asCodeblock).string, (yyvsp[(1) - (1)].asCodeblock).isMacro, (yyvsp[(1) - (1)].asCodeblock).lateEval, HB_COMP_PARAM ); ;} break; case 529: -#line 1125 "harbour.y" +#line 1117 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} break; case 530: -#line 1130 "harbour.y" +#line 1122 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (1)].asExpr), (yyvsp[(1) - (1)].asExpr) ); ;} break; case 531: -#line 1131 "harbour.y" +#line 1123 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 532: -#line 1137 "harbour.y" +#line 1129 "harbour.y" { (yyval.asExpr) = NULL; ;} break; case 533: -#line 1140 "harbour.y" +#line 1132 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (2)].asExpr), (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType, HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; case 534: -#line 1141 "harbour.y" +#line 1133 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (4)].asExpr), (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType, HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; case 535: -#line 1151 "harbour.y" +#line 1143 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 536: -#line 1154 "harbour.y" +#line 1146 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 537: -#line 1157 "harbour.y" +#line 1149 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 538: -#line 1160 "harbour.y" +#line 1152 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 539: -#line 1163 "harbour.y" +#line 1155 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 540: -#line 1164 "harbour.y" +#line 1156 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 541: -#line 1165 "harbour.y" +#line 1157 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 542: -#line 1166 "harbour.y" +#line 1158 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 543: -#line 1169 "harbour.y" +#line 1161 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 544: -#line 1172 "harbour.y" +#line 1164 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 545: -#line 1175 "harbour.y" +#line 1167 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 546: -#line 1178 "harbour.y" +#line 1170 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 547: -#line 1181 "harbour.y" +#line 1173 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 548: -#line 1182 "harbour.y" +#line 1174 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 549: -#line 1185 "harbour.y" +#line 1177 "harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 550: -#line 1187 "harbour.y" +#line 1179 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(2) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); ;} break; case 551: -#line 1189 "harbour.y" +#line 1181 "harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( hb_compExprAddListExpr( (yyvsp[(6) - (8)].asExpr), (yyvsp[(7) - (8)].asExpr) ), HB_COMP_PARAM ); ;} break; case 552: -#line 1192 "harbour.y" +#line 1184 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 553: -#line 1195 "harbour.y" +#line 1187 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 554: -#line 1195 "harbour.y" +#line 1187 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 555: -#line 1196 "harbour.y" +#line 1188 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 556: -#line 1196 "harbour.y" +#line 1188 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 557: -#line 1197 "harbour.y" +#line 1189 "harbour.y" { if( HB_COMP_PARAM->functions.pLast->bFlags & FUN_USES_LOCAL_PARAMS ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_PARAMETERS_NOT_ALLOWED, NULL, NULL ); else @@ -7440,44 +7440,44 @@ yyreduce: break; case 558: -#line 1201 "harbour.y" +#line 1193 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 559: -#line 1204 "harbour.y" +#line 1196 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 560: -#line 1205 "harbour.y" +#line 1197 "harbour.y" { (yyval.iNumber)++; ;} break; case 561: -#line 1208 "harbour.y" +#line 1200 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 562: -#line 1209 "harbour.y" +#line 1201 "harbour.y" { (yyval.iNumber)++; ;} break; case 564: -#line 1219 "harbour.y" +#line 1211 "harbour.y" { hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), FALSE ); ;} break; case 565: -#line 1221 "harbour.y" +#line 1213 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (4)].asExpr), HB_COMP_PARAM ), TRUE ); ;} break; case 566: -#line 1225 "harbour.y" +#line 1217 "harbour.y" { USHORT uCount = (USHORT) hb_compExprListLen( (yyvsp[(2) - (2)].asExpr) ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -7487,7 +7487,7 @@ yyreduce: break; case 567: -#line 1232 "harbour.y" +#line 1224 "harbour.y" { USHORT uCount = (USHORT) hb_compExprListLen( (yyvsp[(2) - (3)].asExpr) ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -7497,12 +7497,12 @@ yyreduce: break; case 568: -#line 1240 "harbour.y" +#line 1232 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; case 569: -#line 1241 "harbour.y" +#line 1233 "harbour.y" { if( HB_COMP_PARAM->iVarScope == VS_STATIC ) { @@ -7518,19 +7518,19 @@ yyreduce: break; case 570: -#line 1254 "harbour.y" +#line 1246 "harbour.y" { (yyval.iNumber) = HB_COMP_PARAM->iVarScope; hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; case 571: -#line 1257 "harbour.y" +#line 1249 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 572: -#line 1258 "harbour.y" +#line 1250 "harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -7557,87 +7557,87 @@ yyreduce: break; case 573: -#line 1282 "harbour.y" +#line 1274 "harbour.y" { hb_compVariableDim( (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 574: -#line 1283 "harbour.y" +#line 1275 "harbour.y" { hb_compVariableDim( (yyvsp[(1) - (3)].string), (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 575: -#line 1289 "harbour.y" +#line 1281 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 576: -#line 1292 "harbour.y" +#line 1284 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 577: -#line 1293 "harbour.y" +#line 1285 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 578: -#line 1294 "harbour.y" +#line 1286 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr) ); ;} break; case 579: -#line 1298 "harbour.y" +#line 1290 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_FIELD; ;} break; case 580: -#line 1298 "harbour.y" +#line 1290 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 581: -#line 1301 "harbour.y" +#line 1293 "harbour.y" { (yyval.iNumber)=hb_compFieldsCount( HB_COMP_PARAM ); hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; case 582: -#line 1302 "harbour.y" +#line 1294 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; case 583: -#line 1303 "harbour.y" +#line 1295 "harbour.y" { hb_compFieldSetAlias( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), (yyvsp[(1) - (3)].iNumber) ); ;} break; case 584: -#line 1306 "harbour.y" +#line 1298 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_MEMVAR; ;} break; case 585: -#line 1306 "harbour.y" +#line 1298 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; case 586: -#line 1309 "harbour.y" +#line 1301 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; case 587: -#line 1310 "harbour.y" +#line 1302 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; case 588: -#line 1313 "harbour.y" +#line 1305 "harbour.y" { hb_compDeclaredAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->szDeclaredFun = (yyvsp[(2) - (3)].string); ;} break; case 589: -#line 1314 "harbour.y" +#line 1306 "harbour.y" { if( HB_COMP_PARAM->pLastDeclared ) { @@ -7663,42 +7663,42 @@ yyreduce: break; case 590: -#line 1336 "harbour.y" +#line 1328 "harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].string) ); ;} break; case 591: -#line 1336 "harbour.y" +#line 1328 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 592: -#line 1337 "harbour.y" +#line 1329 "harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 593: -#line 1338 "harbour.y" +#line 1330 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 594: -#line 1339 "harbour.y" +#line 1331 "harbour.y" { HB_COMP_PARAM->cDataListType = HB_COMP_PARAM->cVarType; ;} break; case 595: -#line 1339 "harbour.y" +#line 1331 "harbour.y" { HB_COMP_PARAM->cDataListType = 0; HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; case 602: -#line 1352 "harbour.y" +#line 1344 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (2)].string) ); ;} break; case 603: -#line 1353 "harbour.y" +#line 1345 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7721,12 +7721,12 @@ yyreduce: break; case 604: -#line 1374 "harbour.y" +#line 1366 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (1)].string) ); ;} break; case 605: -#line 1375 "harbour.y" +#line 1367 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7783,289 +7783,289 @@ yyreduce: break; case 606: -#line 1430 "harbour.y" +#line 1422 "harbour.y" {;} break; case 610: -#line 1436 "harbour.y" +#line 1428 "harbour.y" {;} break; case 611: -#line 1437 "harbour.y" +#line 1429 "harbour.y" {;} break; case 612: -#line 1440 "harbour.y" +#line 1432 "harbour.y" {;} break; case 613: -#line 1446 "harbour.y" +#line 1438 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; case 614: -#line 1447 "harbour.y" +#line 1439 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; case 615: -#line 1448 "harbour.y" +#line 1440 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (5)].string), 'F' ); hb_compExprDelete( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM );;} break; case 616: -#line 1449 "harbour.y" +#line 1441 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; case 617: -#line 1450 "harbour.y" +#line 1442 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; case 618: -#line 1451 "harbour.y" +#line 1443 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (7)].string), 'F' ); hb_compExprDelete( (yyvsp[(6) - (7)].asExpr), HB_COMP_PARAM ); ;} break; case 619: -#line 1454 "harbour.y" +#line 1446 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; case 620: -#line 1455 "harbour.y" +#line 1447 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; case 621: -#line 1456 "harbour.y" +#line 1448 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; case 622: -#line 1457 "harbour.y" +#line 1449 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; case 623: -#line 1458 "harbour.y" +#line 1450 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; case 624: -#line 1459 "harbour.y" +#line 1451 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (8)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; case 632: -#line 1471 "harbour.y" +#line 1463 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (2)].iNumber), HB_COMP_PARAM ); ;} break; case 633: -#line 1472 "harbour.y" +#line 1464 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); ;} break; case 634: -#line 1473 "harbour.y" +#line 1465 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; case 635: -#line 1474 "harbour.y" +#line 1466 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (4)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; case 636: -#line 1477 "harbour.y" +#line 1469 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; case 637: -#line 1478 "harbour.y" +#line 1470 "harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; case 638: -#line 1481 "harbour.y" +#line 1473 "harbour.y" { (yyval.lNumber) = 0; ;} break; case 639: -#line 1482 "harbour.y" +#line 1474 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; case 640: -#line 1485 "harbour.y" +#line 1477 "harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 641: -#line 1485 "harbour.y" +#line 1477 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 642: -#line 1487 "harbour.y" +#line 1479 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 643: -#line 1489 "harbour.y" +#line 1481 "harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 644: -#line 1489 "harbour.y" +#line 1481 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 645: -#line 1491 "harbour.y" +#line 1483 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 646: -#line 1493 "harbour.y" +#line 1485 "harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 647: -#line 1493 "harbour.y" +#line 1485 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 648: -#line 1495 "harbour.y" +#line 1487 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 649: -#line 1497 "harbour.y" +#line 1489 "harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 650: -#line 1497 "harbour.y" +#line 1489 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 651: -#line 1499 "harbour.y" +#line 1491 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 652: -#line 1501 "harbour.y" +#line 1493 "harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 653: -#line 1501 "harbour.y" +#line 1493 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 654: -#line 1503 "harbour.y" +#line 1495 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 655: -#line 1506 "harbour.y" +#line 1498 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 657: -#line 1510 "harbour.y" +#line 1502 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 658: -#line 1512 "harbour.y" +#line 1504 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 659: -#line 1516 "harbour.y" +#line 1508 "harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 660: -#line 1520 "harbour.y" +#line 1512 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 661: -#line 1522 "harbour.y" +#line 1514 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 662: -#line 1526 "harbour.y" +#line 1518 "harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(6) - (7)].iNumber), HB_COMP_PARAM ); ;} break; case 663: -#line 1531 "harbour.y" +#line 1523 "harbour.y" { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} break; case 664: -#line 1532 "harbour.y" +#line 1524 "harbour.y" { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} break; case 665: -#line 1537 "harbour.y" +#line 1529 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; case 668: -#line 1549 "harbour.y" +#line 1541 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; case 669: -#line 1553 "harbour.y" +#line 1545 "harbour.y" { --HB_COMP_PARAM->wCaseCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); ;} break; case 670: -#line 1557 "harbour.y" +#line 1549 "harbour.y" { --HB_COMP_PARAM->wCaseCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); ;} break; case 671: -#line 1562 "harbour.y" +#line 1554 "harbour.y" { ++HB_COMP_PARAM->wCaseCounter; hb_compLinePushIfDebugger( HB_COMP_PARAM );;} break; case 673: -#line 1565 "harbour.y" +#line 1557 "harbour.y" { ;} break; case 674: -#line 1566 "harbour.y" +#line 1558 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -8075,12 +8075,12 @@ yyreduce: break; case 675: -#line 1574 "harbour.y" +#line 1566 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; case 676: -#line 1575 "harbour.y" +#line 1567 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -8088,7 +8088,7 @@ yyreduce: break; case 677: -#line 1580 "harbour.y" +#line 1572 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -8097,12 +8097,12 @@ yyreduce: break; case 678: -#line 1586 "harbour.y" +#line 1578 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; case 679: -#line 1587 "harbour.y" +#line 1579 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -8110,7 +8110,7 @@ yyreduce: break; case 680: -#line 1592 "harbour.y" +#line 1584 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -8119,22 +8119,22 @@ yyreduce: break; case 681: -#line 1599 "harbour.y" +#line 1591 "harbour.y" {hb_compLinePushIfDebugger( HB_COMP_PARAM ); ;} break; case 682: -#line 1599 "harbour.y" +#line 1591 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 684: -#line 1601 "harbour.y" +#line 1593 "harbour.y" { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL ); ;} break; case 686: -#line 1606 "harbour.y" +#line 1598 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.lNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -8142,7 +8142,7 @@ yyreduce: break; case 687: -#line 1611 "harbour.y" +#line 1603 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compGenJump( (yyvsp[(1) - (5)].lNumber) - HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); @@ -8150,7 +8150,7 @@ yyreduce: break; case 688: -#line 1616 "harbour.y" +#line 1608 "harbour.y" { hb_compGenJumpHere( (yyvsp[(4) - (7)].lNumber), HB_COMP_PARAM ); --HB_COMP_PARAM->wWhileCounter; hb_compLoopEnd( HB_COMP_PARAM ); @@ -8159,22 +8159,22 @@ yyreduce: break; case 689: -#line 1623 "harbour.y" +#line 1615 "harbour.y" { (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; hb_compLinePushIfInside( HB_COMP_PARAM ); ++HB_COMP_PARAM->wWhileCounter; hb_compLoopStart( HB_COMP_PARAM ); ;} break; case 690: -#line 1626 "harbour.y" +#line 1618 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 691: -#line 1627 "harbour.y" +#line 1619 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 692: -#line 1631 "harbour.y" +#line 1623 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); hb_compDebugStart(); @@ -8188,7 +8188,7 @@ yyreduce: break; case 693: -#line 1642 "harbour.y" +#line 1634 "harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); (yyval.lNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); /* 9 */ @@ -8196,14 +8196,14 @@ yyreduce: break; case 694: -#line 1647 "harbour.y" +#line 1639 "harbour.y" { (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; /* 11 */ ;} break; case 695: -#line 1651 "harbour.y" +#line 1643 "harbour.y" { short iStep, iLocal; @@ -8261,67 +8261,67 @@ yyreduce: break; case 698: -#line 1711 "harbour.y" +#line 1703 "harbour.y" { (yyval.asExpr) = NULL; ;} break; case 699: -#line 1712 "harbour.y" +#line 1704 "harbour.y" { (yyval.asExpr) = hb_compExprReduce( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 700: -#line 1715 "harbour.y" +#line 1707 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} break; case 701: -#line 1716 "harbour.y" +#line 1708 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} break; case 702: -#line 1717 "harbour.y" +#line 1709 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} break; case 703: -#line 1718 "harbour.y" +#line 1710 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} break; case 704: -#line 1721 "harbour.y" +#line 1713 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 705: -#line 1722 "harbour.y" +#line 1714 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 706: -#line 1725 "harbour.y" +#line 1717 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 707: -#line 1726 "harbour.y" +#line 1718 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 708: -#line 1729 "harbour.y" +#line 1721 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 709: -#line 1730 "harbour.y" +#line 1722 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 710: -#line 1734 "harbour.y" +#line 1726 "harbour.y" { ++HB_COMP_PARAM->wForCounter; /* 5 */ hb_compLinePush( HB_COMP_PARAM ); @@ -8330,7 +8330,7 @@ yyreduce: break; case 711: -#line 1740 "harbour.y" +#line 1732 "harbour.y" { /* 7 */ @@ -8342,7 +8342,7 @@ yyreduce: break; case 712: -#line 1749 "harbour.y" +#line 1741 "harbour.y" { /* 9 */ @@ -8351,7 +8351,7 @@ yyreduce: break; case 713: -#line 1755 "harbour.y" +#line 1747 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compEnumNext( HB_COMP_PARAM, (yyvsp[(2) - (10)].asExpr), (yyvsp[(6) - (10)].iNumber) ); @@ -8367,17 +8367,17 @@ yyreduce: break; case 714: -#line 1769 "harbour.y" +#line 1761 "harbour.y" { (yyval.iNumber) = 1; ;} break; case 715: -#line 1770 "harbour.y" +#line 1762 "harbour.y" { (yyval.iNumber) = -1; ;} break; case 716: -#line 1774 "harbour.y" +#line 1766 "harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); hb_compSwitchStart( HB_COMP_PARAM ); @@ -8386,7 +8386,7 @@ yyreduce: break; case 717: -#line 1781 "harbour.y" +#line 1773 "harbour.y" { hb_compSwitchEnd( HB_COMP_PARAM ); hb_compLoopEnd( HB_COMP_PARAM ); @@ -8394,14 +8394,14 @@ yyreduce: break; case 718: -#line 1788 "harbour.y" +#line 1780 "harbour.y" { hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM ); ;} break; case 719: -#line 1795 "harbour.y" +#line 1787 "harbour.y" { --HB_COMP_PARAM->wSwitchCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); @@ -8409,26 +8409,26 @@ yyreduce: break; case 720: -#line 1802 "harbour.y" +#line 1794 "harbour.y" { ++HB_COMP_PARAM->wSwitchCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 721: -#line 1806 "harbour.y" +#line 1798 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); ;} break; case 722: -#line 1811 "harbour.y" +#line 1803 "harbour.y" { ;} break; case 723: -#line 1812 "harbour.y" +#line 1804 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -8438,32 +8438,32 @@ yyreduce: break; case 724: -#line 1820 "harbour.y" +#line 1812 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 726: -#line 1823 "harbour.y" +#line 1815 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 730: -#line 1831 "harbour.y" +#line 1823 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); ;} break; case 731: -#line 1831 "harbour.y" +#line 1823 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 733: -#line 1835 "harbour.y" +#line 1827 "harbour.y" { ++HB_COMP_PARAM->wSeqCounter; (yyval.lNumber) = hb_compSequenceBegin( HB_COMP_PARAM ); ;} break; case 734: -#line 1837 "harbour.y" +#line 1829 "harbour.y" { /* Set jump address for HB_P_SEQBEGIN opcode - this address * will be used in BREAK code if there is no RECOVER clause @@ -8474,7 +8474,7 @@ yyreduce: break; case 735: -#line 1845 "harbour.y" +#line 1837 "harbour.y" { /* Replace END address with RECOVER address in * HB_P_SEQBEGIN opcode if there is RECOVER clause @@ -8485,7 +8485,7 @@ yyreduce: break; case 736: -#line 1853 "harbour.y" +#line 1845 "harbour.y" { /* Fix END address * There is no line number after HB_P_SEQEND in case no @@ -8500,22 +8500,22 @@ yyreduce: break; case 737: -#line 1866 "harbour.y" +#line 1858 "harbour.y" { (yyval.lNumber) = 0; ;} break; case 738: -#line 1867 "harbour.y" +#line 1859 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; case 740: -#line 1868 "harbour.y" +#line 1860 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; case 742: -#line 1872 "harbour.y" +#line 1864 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -8526,7 +8526,7 @@ yyreduce: break; case 743: -#line 1882 "harbour.y" +#line 1874 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; @@ -8538,32 +8538,32 @@ yyreduce: break; case 744: -#line 1898 "harbour.y" +#line 1890 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunName( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); ;} break; case 745: -#line 1899 "harbour.y" +#line 1891 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 746: -#line 1900 "harbour.y" +#line 1892 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 747: -#line 1904 "harbour.y" +#line 1896 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (2)].asExpr), NULL, HB_COMP_PARAM ); ;} break; case 748: -#line 1906 "harbour.y" +#line 1898 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 749: -#line 1908 "harbour.y" +#line 1900 "harbour.y" { /* DOIDENT is the only one identifier which can be returned in lower letters */ hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( hb_strdup( (yyvsp[(1) - (1)].string) ) ), HB_IDENT_FREE ), HB_COMP_PARAM ), NULL, HB_COMP_PARAM ); @@ -8571,7 +8571,7 @@ yyreduce: break; case 750: -#line 1913 "harbour.y" +#line 1905 "harbour.y" { /* DOIDENT is the only one identifier which can be returned in lower letters */ hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (3)].string) ); (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( hb_strdup( (yyvsp[(1) - (3)].string) ) ), HB_IDENT_FREE ), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); @@ -8579,67 +8579,67 @@ yyreduce: break; case 751: -#line 1919 "harbour.y" +#line 1911 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; case 752: -#line 1920 "harbour.y" +#line 1912 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), (yyvsp[(2) - (2)].asExpr) ); ;} break; case 753: -#line 1921 "harbour.y" +#line 1913 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; case 754: -#line 1922 "harbour.y" +#line 1914 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (2)].asExpr), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; case 755: -#line 1923 "harbour.y" +#line 1915 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 756: -#line 1926 "harbour.y" +#line 1918 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; case 757: -#line 1927 "harbour.y" +#line 1919 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 758: -#line 1928 "harbour.y" +#line 1920 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; case 759: -#line 1929 "harbour.y" +#line 1921 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 760: -#line 1930 "harbour.y" +#line 1922 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 761: -#line 1931 "harbour.y" +#line 1923 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 762: -#line 1932 "harbour.y" +#line 1924 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 763: -#line 1936 "harbour.y" +#line 1928 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode1( HB_P_WITHOBJECTSTART, HB_COMP_PARAM ); @@ -8648,7 +8648,7 @@ yyreduce: break; case 764: -#line 1943 "harbour.y" +#line 1935 "harbour.y" { --HB_COMP_PARAM->wWithObjectCnt; hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM ); @@ -8656,17 +8656,17 @@ yyreduce: break; case 765: -#line 1947 "harbour.y" +#line 1939 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ); ;} break; case 766: -#line 1950 "harbour.y" +#line 1942 "harbour.y" { HB_COMP_PARAM->fError = FALSE; ;} break; case 767: -#line 1951 "harbour.y" +#line 1943 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; @@ -8886,7 +8886,7 @@ yyreturn: } -#line 1954 "harbour.y" +#line 1946 "harbour.y" /* diff --git a/harbour/source/macro/macro.yyc b/harbour/source/macro/macro.yyc index bf0a886a87..dfdea79cc4 100644 --- a/harbour/source/macro/macro.yyc +++ b/harbour/source/macro/macro.yyc @@ -58,6 +58,14 @@ /* Using locations. */ #define YYLSP_NEEDED 0 +/* Substitute the variable and function names. */ +#define yyparse hb_macroparse +#define yylex hb_macrolex +#define yyerror hb_macroerror +#define yylval hb_macrolval +#define yychar hb_macrochar +#define yydebug hb_macrodebug +#define yynerrs hb_macronerrs /* Tokens. */ @@ -306,7 +314,7 @@ typedef union YYSTYPE } valDouble; } /* Line 193 of yacc.c. */ -#line 310 "macroy.c" +#line 318 "macroy.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -336,7 +344,7 @@ static void hb_macroIdentNew( HB_COMP_DECL, char * ); /* Line 216 of yacc.c. */ -#line 340 "macroy.c" +#line 348 "macroy.c" #ifdef short # undef short @@ -3890,7 +3898,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 3894 "macroy.c" +#line 3902 "macroy.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);