2000-08-03 01:55 UTC+0800 Ron Pinkas <ron@profit-master.com>

* include/hberrors.h
     * Removed #define HB_PP_ERR_INCLUDE_CYCLIC

   * source/pp/ppcore.c
     * Removed Cyclic #include detection logic.

  * source/compiler/simplex.c
    * Removed some unneeded comments.
This commit is contained in:
Ron Pinkas
2000-08-03 09:03:44 +00:00
parent a04e873b2e
commit 9af55ea917
4 changed files with 14 additions and 69 deletions

View File

@@ -1,3 +1,13 @@
2000-08-03 01:55 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
* Removed #define HB_PP_ERR_INCLUDE_CYCLIC
* source/pp/ppcore.c
* Removed Cyclic #include detection logic.
* source/compiler/simplex.c
* Removed some unneeded comments.
2000-08-02 19:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
* Changed #define HB_PP_ERR_INCLUDE_SELF to HB_PP_ERR_INCLUDE_CYCLIC

View File

@@ -138,7 +138,6 @@ extern "C" {
#define HB_PP_ERR_PRAGMA_BAD_VALUE 14
#define HB_PP_ERR_CANNOT_OPEN_RULES 15
#define HB_PP_ERR_BAD_RULES_FILE_NAME 16
#define HB_PP_ERR_INCLUDE_CYCLIC 17
#define HB_PP_WARN_DEFINE_REDEF 1
#define HB_PP_WARN_NO_DIRECTIVES 2

View File

@@ -25,7 +25,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
* their web site at http://www.gnu.org/).
*
*/
#include <stdio.h>
@@ -79,7 +78,7 @@ typedef struct _LEX_WORD
{
char sWord[ TOKEN_SIZE ];
int iToken;
} LEX_WORD; /* support structure for KEYS and WORDS */
} LEX_WORD; /* support structure for KEYS and WORDS. */
typedef struct _LEX_PAIR
{
@@ -88,7 +87,7 @@ typedef struct _LEX_PAIR
char sExclude[4];
BOOL bExclusive;
int iToken;
} LEX_PAIR; /* support structure for KEYS and WORDS */
} LEX_PAIR; /* support structure for Streams (Pairs). */
#ifdef __cplusplus
typedef struct yy_buffer_state *YY_BUFFER_STATE;
@@ -112,20 +111,12 @@ typedef struct _LEX_PAIR
#define DEBUG_INFO(x)
#define LEX_CASE(x)
/*
* Can be used to indicate how many chars needed to qualify as an abbreviation for Key Words.
*
#define LEX_ABBREVIATE_KEYS
#define LEX_ABBREVIATE_WORDS
*/
#include SLX_RULES
/* Declarations. */
FILE *yyin; /* currently yacc parsed file */
extern void yyerror( char * ); /* parsing error management function */
#ifdef __cplusplus
@@ -151,7 +142,7 @@ extern YYSTYPE yylval;
#define LEX_WORD_SIZE ( sizeof( LEX_WORD ) )
#define LEX_PAIR_SIZE ( sizeof( LEX_PAIR ) )
/* Using statics when we could use locals to eliminate Allocations and Deallocations each time the yylex is called and returns. */
/* Using statics when we could use locals to eliminate Allocations and Deallocations each time yylex is called and returns. */
/* Look ahead Tokens. */
static int iHold = 0;
@@ -531,7 +522,6 @@ int Reduce( int iToken, BOOL bReal );
if( aiRules[ aiProspects[iScan] ][ iMatched ] == iToken )\
{\
/* No more Tokens - Rule Match. */\
\
if( iMatched == MAX_MATCH - 1 || aiRules[ aiProspects[iScan] ][ iMatched + 1 ] == 0 )\
{\
iFound++;\
@@ -577,7 +567,6 @@ int Reduce( int iToken, BOOL bReal );
/* No prospects means we only search 1st Token of Rules. */\
if( aiRules[iScan][0] == iToken )\
{\
\
/* No more Tokens - Rule Match. */\
if( aiRules[iScan][1] == 0 )\
{\
@@ -610,7 +599,6 @@ int Reduce( int iToken, BOOL bReal );
{\
/* iProspectNo is already Zero Based. */\
aiProspects[ iRemove ] = aiProspects[ iRemove + 1 ];\
\
iRemove++;\
}\
}
@@ -620,9 +608,7 @@ int Reduce( int iToken, BOOL bReal );
DEBUG_INFO( printf( "Revert Or Giveup for %i After %i %i %i\n", iToken, aiMatched[0], aiMatched[1], aiMatched[2] ) );\
\
/* Have to push the unmatched Token first, so it will Pop LAST after the Left Shift of reverted Tokens. */\
\
/* Avoid infinite loop, don't push if this is the only Token, it will be returned instead. */\
\
/* iToken maybe ZERO indicating REDUCTION to be FORCED. */\
if( iMatched && iToken )\
{\
@@ -638,21 +624,18 @@ int Reduce( int iToken, BOOL bReal );
DEBUG_INFO( printf( "Reverting from %i to %i Shifting to Reductions: %i %i\n", iMatched, iTentative, aiTentative[0], aiTentative[1] ) );\
\
/* iTentative is Zero Based, iMatched is 1 Based, but iMatched not increased yet for the unmatched Token. */\
\
/* Shift unused Token[s] Left. */\
PUSH_UN_MATCHED( iMatched - iTentative );\
}\
\
/* Will put the Reductions back into the Hold Stack to support Recursive Rules. */\
REDUCE_TENTATIVE();\
\
CLEAN_UP();\
}\
else\
{\
/* Will get rid of the 1st (Left) Token and will shift the unmatched Tokens 1 position to the left.\
So we will start again with the First unmatched Token. */\
\
GIVE_UP();\
}\
}
@@ -679,7 +662,6 @@ int Reduce( int iToken, BOOL bReal );
DEBUG_INFO( printf( "Returning Tentative for %i Matches, Associate Left of %i %i %i\n", iTentative, aiMatched[0], aiMatched[1], aiMatched[2] ) );\
\
/* Can't have the last Item becuase we just failed a rule. */ \
\
if( aiMatched[ 2 ] )\
{\
aiReturn[ iReturn++ ] = aiMatched[ 2 ];\
@@ -765,7 +747,6 @@ int Reduce( int iToken, BOOL bReal );
#define REDUCE_RULE()\
{\
/* If Associate Left than don't push reduce, pass through. */\
\
if( aiRules[ iReduce ][ MAX_MATCH ] )\
{\
DEBUG_INFO( printf( "Reducing: %i %i %i %i Shifting To: %i %i\n", aiMatched[0], aiMatched[1], aiMatched[2], aiMatched[3], aiRules[ iReduce ][ MAX_MATCH ], aiRules[ iReduce ][ MAX_MATCH + 1 ] ) );\
@@ -887,8 +868,6 @@ YY_DECL
iSize--;
chr = LEX_CASE(*szBuffer++) ;
//DEBUG_INFO( printf( "Char: %c\n", chr ) );
IF_OMMIT(chr)
{
if ( iLen )
@@ -923,8 +902,6 @@ YY_DECL
goto CheckToken;
}
//DEBUG_INFO( printf( "Scaning Pairs >%s< for %c\n", szPairs1, chr ) );
/* New Pair ? */
IF_BEGIN_PAIR( chr )
{
@@ -967,8 +944,6 @@ YY_DECL
/* Next Character. */
chrPair = *szBuffer++ ;
//DEBUG_INFO( printf( "Checking: '%c' in Exclusive Pair\n", chrPair ) );
/* Check if exception. */
IF_ABORT_PAIR( chrPair )
{
@@ -1008,8 +983,6 @@ YY_DECL
}
else
{
//DEBUG_INFO( printf( "Adding %c to Pair Pos: %i\n", chrPair, iPairLen ) );
/* Accumulating. */
sPair[ iPairLen++ ] = chrPair;
}
@@ -1101,8 +1074,6 @@ YY_DECL
/* Acumulate and scan next Charcter. */
sToken[ iLen++ ] = chr;
//DEBUG_INFO( printf( "Added: %c\n", chr ) );
continue;
}
else
@@ -1152,8 +1123,6 @@ YY_DECL
iKey = 0;
while ( bNewLine && iKey < iKeys )
{
//DEBUG_INFO( printf( "Comparing: \"%s\" and \"%s\"\n", sToken, aTokens[iKey] ) );
#ifdef LEX_ABBREVIATE_KEYS
if( strncmp( (char*) sToken, (char*)( aKeys[ iKey++ ].sWord ), iWordLen ) == 0 )
#else
@@ -1256,7 +1225,6 @@ int Reduce( int iToken, BOOL bReal )
if( iProspects )
{
/* Can't reduce yet, can't "bookmark" possible reduction either, must continue checking. */
return 0;
}
else
@@ -1269,7 +1237,6 @@ int Reduce( int iToken, BOOL bReal )
if( iProspects )
{
/* Can't reduce yet, "bookmark" possible reduction here, and continue checking. */
SAVE_TENTATIVE();
return 0;
@@ -1277,7 +1244,6 @@ int Reduce( int iToken, BOOL bReal )
else
{
/* One Match and no additional Prospects - we can reduce. */
REDUCE_RULE();
return 0;
@@ -1287,7 +1253,6 @@ int Reduce( int iToken, BOOL bReal )
if( iProspects )
{
/* Can't reduce yet, and can't "bookmark" possible reduction either, must continue checking. */
return 0;
}
else

View File

@@ -171,8 +171,7 @@ char * hb_pp_szErrors[] =
"Freeing a NULL memory pointer",
"Value out of range in #pragma directive",
"Can\'t open command definitions file: \'%s\'",
"Invalid command definitions file name: \'%s\'",
"Cyclic #include not allowed: \'%s\'"
"Invalid command definitions file name: \'%s\'"
};
/* Table with warnings */
@@ -2921,34 +2920,6 @@ static BOOL OpenInclude( char * szFileName, PATHNAMES * pSearch, PHB_FNAME pMain
hb_fsFNameMerge( szInclude, pFileName );
{
char * szRequested, * szOpened;
PFILE pFile = hb_comp_files.pLast;
#if 1
#define HB_OS_CASE(s) hb_strupr(s)
#else
#define HB_OS_CASE(s) s
#endif
szRequested = HB_OS_CASE( hb_strdup( szInclude ) );
while ( pFile )
{
szOpened = HB_OS_CASE( hb_strdup( pFile->szFileName ) );
if( strcmp( szRequested, szOpened ) == 0 )
hb_compGenError( hb_pp_szErrors, 'F', HB_PP_ERR_INCLUDE_CYCLIC, szFileName, NULL );
pFile = pFile->pPrev;
}
#undef HB_OS_CASE
hb_xfree( szRequested );
hb_xfree( szOpened );
}
fptr = fopen( szInclude, "r" );
hb_xfree( pFileName );
}