*** empty log message ***

This commit is contained in:
Viktor Szakats
1999-06-27 22:54:25 +00:00
parent a7a0930e2c
commit 40660c95ae
4 changed files with 63 additions and 48 deletions

View File

@@ -1,3 +1,9 @@
19990627-23:50 CET Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.l
! Fixed line number bug. (LINE opcode, PROCLINE(), error messages)
* tests/working/procline.prg
+ Added.
19990627-16:30 CET Victor Szel <info@szelvesz.hu>
* source/rtl/strings.c
source/rtl/set.c (added four Clipper errors)

View File

@@ -52,7 +52,7 @@ extern WORD _wIfCounter;
extern WORD _wWhileCounter;
extern WORD _wCaseCounter;
int iLine = 0;
int iLine = 1;
long lNumber = 0;
#define LOOKUP 0 /* scan from the begining of line */

View File

@@ -243,8 +243,6 @@ typedef enum
LANG_PORT_OBJ /* Portable objects <file.hrb> */
} LANGUAGES; /* supported Harbour output languages */
extern int iLine; /* currently compiled source code line */
#define VS_LOCAL 1
#define VS_STATIC 2
#define VS_FIELD 4
@@ -537,13 +535,13 @@ Params : { $$ = 0; }
;
ParamList : IDENTIFIER { cVarType = ' '; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); $$ = 1; }
| ParamList ',' IDENTIFIER { AddVar( $3 ); $$++; }
;
@@ -865,13 +863,13 @@ BlockExpList : Expression { $$ = 1; }
;
BlockList : IDENTIFIER { cVarType = ' '; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); $$ = 1; }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); $$ = 1; }
| BlockList ',' IDENTIFIER { AddVar( $3 ); $$++; }
;
@@ -888,13 +886,13 @@ VarList : VarDef { $$ = 1; }
;
VarDef : IDENTIFIER { cVarType = ' '; AddVar( $1 ); }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; AddVar( $1 ); }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; AddVar( $1 ); }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; AddVar( $1 ); }
| IDENTIFIER AS_DATE { cVarType = 'D'; AddVar( $1 ); }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; AddVar( $1 ); }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; AddVar( $1 ); }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; AddVar( $1 ); }
| IDENTIFIER INASSIGN Expression { cVarType = ' '; AddVar( $1 ); PopId( $1 ); }
| IDENTIFIER AS_NUMERIC INASSIGN Expression { cVarType = 'N'; AddVar( $1 ); PopId( $1 ); }
| IDENTIFIER AS_CHARACTER INASSIGN Expression { cVarType = 'C'; AddVar( $1 ); PopId( $1 ); }
@@ -911,13 +909,13 @@ FieldsDef : FIELD { iVarScope =VS_FIELD; } FieldList Crlf { LineBody(); }
;
FieldList : IDENTIFIER { cVarType = ' '; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_DATE { cVarType = 'D'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_NUMERIC { cVarType = 'N'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_CHARACTER { cVarType = 'C'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_DATE { cVarType = 'D'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_LOGICAL { cVarType = 'L'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_ARRAY { cVarType = 'A'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_BLOCK { cVarType = 'B'; $$=FieldsCount(); AddVar( $1 ); }
| IDENTIFIER AS_OBJECT { cVarType = 'O'; $$=FieldsCount(); AddVar( $1 ); }
| FieldList ',' IDENTIFIER { AddVar( $3 ); }
| FieldList IN IDENTIFIER { SetAlias( $3, $<iNumber>1 ); }
;
@@ -1812,7 +1810,7 @@ int Include( char * szFileName, PATHNAMES *pSearch )
{
pFileName->path =pSearch->szPath;
MakeFilename( szFName, pFileName );
yyin = fopen( szFName, "r" );
yyin = fopen( szFName, "r" );
if( ! yyin )
{
pSearch = pSearch->pNext;
@@ -2097,7 +2095,7 @@ void GenCCode( char *szFileName, char *szName ) /* generates the C languag
fprintf( yyc, ", HB_%s, 0 }", pFTemp->szName );
else
{
pFTemp = GetFuncall( pSym->szName );
pFTemp = GetFuncall( pSym->szName );
if( pFTemp )
fprintf( yyc, ", HB_%s, 0 }", pFTemp->szName );
else
@@ -3144,9 +3142,9 @@ WORD JumpFalse( int iOffset )
/* compile time Operand value */
if( pStackValType && pStackValType->cType == ' ' )
GenWarning( WARN_LOGICAL_SUSPECT, NULL, NULL );
GenWarning( WARN_LOGICAL_SUSPECT, NULL, NULL );
else if( pStackValType && pStackValType->cType != 'L')
GenWarning( WARN_LOGICAL_TYPE, sType, NULL );
GenWarning( WARN_LOGICAL_TYPE, sType, NULL );
/* compile time assignment value has to be released */
pFree = pStackValType;
@@ -3198,9 +3196,9 @@ WORD JumpTrue( int iOffset )
/* compile time Operand value */
if( pStackValType && pStackValType->cType == ' ' )
GenWarning( WARN_LOGICAL_SUSPECT, NULL, NULL );
GenWarning( WARN_LOGICAL_SUSPECT, NULL, NULL );
else if( pStackValType && pStackValType->cType != 'L')
GenWarning( WARN_LOGICAL_TYPE, sType, NULL );
GenWarning( WARN_LOGICAL_TYPE, sType, NULL );
/* compile time assignment value has to be released */
pFree = pStackValType;
@@ -3364,16 +3362,16 @@ void PopId( char * szVarName ) /* generates the pcode to pop a value from the vi
sType[0] = pVarType->cType;
sType[1] = 0;
/* skip back to the assigned value */
pStackValType = pStackValType->pPrev;
/* skip back to the assigned value */
pStackValType = pStackValType->pPrev;
}
else
debug_msg( "\n***PopId() Compile time stack overflow\n", NULL );
if( pVarType && pStackValType && pVarType->cType != ' ' && pStackValType->cType == ' ' )
GenWarning( WARN_ASSIGN_SUSPECT, szVarName, sType );
GenWarning( WARN_ASSIGN_SUSPECT, szVarName, sType );
else if( pVarType && pStackValType && pVarType->cType != ' ' && pVarType->cType != pStackValType->cType )
GenWarning( WARN_ASSIGN_TYPE, szVarName, sType );
GenWarning( WARN_ASSIGN_TYPE, szVarName, sType );
/* compile time variable has to be released */
if( pVarType )
@@ -3718,7 +3716,7 @@ void Do( BYTE bParams )
else
debug_msg( "\n***Do() Compile time stack overflow\n", NULL );
if( pFree )
if( pFree )
{
OurFree( (void *) pFree );
}
@@ -3855,7 +3853,7 @@ void Function( BYTE bParams )
else
debug_msg( "\n***Function() parameter %i Compile time stack overflow\n", i );
if( pFree )
if( pFree )
{
OurFree( (void *) pFree );
}
@@ -3945,13 +3943,13 @@ void GenPCode1( BYTE byte )
{
PSTACK_VAL_TYPE pFree;
/* Releasing compile time assignment value */
/* Releasing compile time assignment value */
pFree = pStackValType;
debug_msg( "\n***---ArrayPut()\n", NULL );
if( pStackValType )
pStackValType = pStackValType->pPrev;
else
else
debug_msg( "\n***HB_P_ARRAYPUT Compile time stack overflow\n", NULL );
if( pFree )
@@ -3959,7 +3957,7 @@ void GenPCode1( BYTE byte )
OurFree( (void *) pFree );
}
/* Releasing compile time array element index value */
/* Releasing compile time array element index value */
pFree = pStackValType;
debug_msg( "\n***---HB_P_ARRAYPUT\n", NULL );
@@ -4324,8 +4322,8 @@ void CodeBlockEnd()
if( _iWarnings )
{
if( pStackValType )
/* reusing the place holder of the result value */
pStackValType->cType = 'B';
/* reusing the place holder of the result value */
pStackValType->cType = 'B';
else
debug_msg( "\n***CodeBlockEnd() Compile time stack overflow\n", NULL );
}

View File

@@ -0,0 +1,11 @@
FUNCTION Main()
? "hello 1", ProcLine(), "Expected: ", 4
? "hello 2", ProcLine(), "Expected: ", 6
? "hello 3", ProcLine(), "Expected: ", 9
RETURN NIL