Home
 

scanparse.C

scanparse.C


/* 
 *  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);
}