/*
* scanparse.C
*/
#include <stream.h>
#include <string.h>
#include "p_tree.h"
#include "scanparse.h"
int yyparse();
extern bool debugFlag;
LexTokCls :: LexTokCls(int LineNo, int Token, char *Lexeme) {
if (debugFlag) cout << "LexTokCls(LineNo, Token, Lexeme)" << endl;
line_no = LineNo;
token = Token;
lexeme = new char[80];
if (Lexeme) {
strcpy(lexeme,Lexeme);
}
}
// end_LexTokCls
PPTreeNodeCls prgm_node; //Global!
//Set by top of tree, ProgramCls.
ScanParseCls :: ScanParseCls() {
if (debugFlag) cout << "ScanParseCls()" << endl;
yyparse();
parse_tree = new PTreeCls(prgm_node);
}
// end_ScanParseCls
void yyerror(char* s) {
extern char *textline;
cout << "error has occurred..." << s << endl;
cout << textline << endl;
exit(1);
}
|