2000-10-22 09:05 UTC+0800 Ron Pinkas <ron@profit-master.com>

* source/compiler/simplex.c
     ! Corrrected bug reported by Luiz regarding menuto.prg

   * source/compiler/harbour.slx
     ! Corrected 1 debug trace message.

   * contrib/dot/pp.prg
     ! Corrected "Unbalanced '{'" warning reported by John.
     ! Corrected 2 typos in variable names reported by John.
This commit is contained in:
Ron Pinkas
2000-10-22 16:10:16 +00:00
parent 82b8652beb
commit 5fc2d50895
4 changed files with 26 additions and 8 deletions

View File

@@ -1,3 +1,14 @@
2000-10-22 09:05 UTC+0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/simplex.c
! Corrrected bug reported by Luiz regarding menuto.prg
* source/compiler/harbour.slx
! Corrected 1 debug trace message.
* contrib/dot/pp.prg
! Corrected "Unbalanced '{'" warning reported by John.
! Corrected 2 typos in variable names reported by John.
2000-10-21 23:02 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* source/vm/hvm.c
+ Added an exception handler to be able to print a full harbour level stack trace upon

View File

@@ -1193,7 +1193,7 @@ FUNCTION MatchRule( sKey, sLine, aRules, aResults, bStatement, bUpper )
nOptional := aMP[2]
sPreStoppers := sWorkLine
sPrimaryStoper := NextToken( @sWorkLine, .F. )
sPrimaryStopper := NextToken( @sWorkLine, .F. )
IF sPrimaryStopper == NIL
@@ -1318,9 +1318,9 @@ FUNCTION MatchRule( sKey, sLine, aRules, aResults, bStatement, bUpper )
IF bDbgMatch
IF sAnchor == NIL
? nMatch, 'of', nMatches, "NO Anchore!", nMarkerId, nOptional, aMP[2], sMultiStoppers
? nMatch, 'of', nMatches, "NO Anchore!", nMarkerId, nOptional, aMP[2], sMultiStopper
ELSE
? nMatch, 'of', nMatches, "Searching for Anchore: '" + sAnchor + "'", nMarkerId, nOptional, aMP[2], sMultiStoppers
? nMatch, 'of', nMatches, "Searching for Anchore: '" + sAnchor + "'", nMarkerId, nOptional, aMP[2], sMultiStopper
ENDIF
WAIT
ENDIF
@@ -1897,7 +1897,7 @@ FUNCTION NextToken( sLine, bCheckRules )
FOR Counter := 1 TO nLen
cChar := SubStr( sLine, Counter, 1 )
IF cChar $ "+-*/:=^!&()[]{}@,"
IF cChar $ "+-*/:=^!&()[]{}@,|"
sReturn := Left( sLine, Counter - 1 )
EXIT
@@ -2115,7 +2115,7 @@ FUNCTION NextExp( sLine, cType, aWords, aExp, sNextAnchor )
ELSE
sTemp := NextExp( @sLine, ',', NIL, NIL, sNextAnchor ) // Content
IF sTemp == NIL
Alert( "ERROR! Unbalanced '{|'" )
Alert( "ERROR! Unbalanced '{|...'" )
ELSE
sExp += sTemp
ENDIF
@@ -2124,7 +2124,7 @@ FUNCTION NextExp( sLine, cType, aWords, aExp, sNextAnchor )
sLine := SubStr( sLine, 2 )
sExp += ExtractLeadingWS( @sLine )
ELSE
Alert( "ERROR! Unbalanced '{|'" )
Alert( "ERROR! Unbalanced '{|...|'" )
ENDIF
ENDIF

View File

@@ -397,7 +397,7 @@ LANGUAGE_RULES_ARE {
IF_SEQUENCE_IS( '&' , '"' , 0 , 0 ) REDUCE_TO( HB_MACRO_ERR , 0 ),
IF_SEQUENCE_IS( '&' , '[' , 0 , 0 ) REDUCE_TO( HB_MACRO_ERR , 0 ),
IF_SEQUENCE_IS( _QOUT_LIT , 0 , 0 , 0 ) REDUCE_TO( HB_RET_QOUT_LIT , 0 )
IF_SEQUENCE_IS( _QOUT_LIT , 0 , 0 , 0 ) REDUCE_TO( HB_RET_QOUT_LIT , 0 )
};
/* ------------------------------------------------- End of Language Definitions. ------------------------------------------------ */
@@ -706,7 +706,7 @@ static int hb_comp_SLX_ElementToken( char* szToken, unsigned int iTokenLen )
iRet += DONT_REDUCE;
}
DEBUG_INFO( printf( "Element \"%s\" is %i\n", sToken, iRet ) );
DEBUG_INFO( printf( "Element \"%s\" is %i\n", szToken, iRet ) );
return iRet;
}

View File

@@ -1017,6 +1017,13 @@ int Reduce( int iToken )
{
DEBUG_INFO( printf( "Processing Tentative: %i\n", iTentative ) );
while( iMatched > 1 && aiRules[i][iMatched - 1] && aiRules[iTentative][iMatched - 1] == 0 )
{
DEBUG_INFO( printf( "Reclaimed Token: %i\n", aiRules[i][iMatched - 1] ) );
aiHold[iHold++] = aiRules[i][iMatched - 1];
iMatched--;
}
if( aiRules[iTentative][MAX_MATCH] )
{
DEBUG_INFO( printf( "Reducing Rule: %i Found %i Tokens\n", iTentative, iMatched ) );