/*========================================================================= myparser.cpp Author: PKG Created: Project: Spongebob Purpose: Copyright (c) 2000 Climax Development Ltd ===========================================================================*/ /*---------------------------------------------------------------------- Includes -------- */ #ifndef _PARSER_H #include "parser.h" #endif #ifndef _LEXER_H #include "lexer.h" #endif /* Std Lib ------- */ #include /* Data ---- */ /*---------------------------------------------------------------------- Tyepdefs && Defines ------------------- */ /*---------------------------------------------------------------------- Structure defintions -------------------- */ /*---------------------------------------------------------------------- Function Prototypes ------------------- */ /*---------------------------------------------------------------------- Vars ---- */ /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void myparser::setCurrentLexer(mylexer *_lexer) { m_currentLexer=_lexer; } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void myparser::setBaseNode(class CTreeNode *_baseNode) { m_baseNode=_baseNode; } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void myparser::yyerror(const char *_text) { fprintf(yyparseerr,"PARSER ERROR: %s\n",_text); // fprintf(yyparseerr," line %d char %d\n",m_currentLexer->getCurrentLine(),m_currentLexer->getCurrentCharOnLine()); m_currentLexer->error(); } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ int myparser::yyparse() { int ret=YYEXIT_FAILURE; if(yysetup()==0&& yywork()==YYEXIT_SUCCESS&& m_currentLexer->getErrorCount()==0) { ret=YYEXIT_SUCCESS; } return ret; } /*=========================================================================== end */