import java.io.*; import java.util.ArrayList; public class Parser { public static int SYNTAX_ERROR = 0, SEMANTIC_ERROR = 1, UNDEFINED_ERROR = 2, REDEFINED_ERROR = 3; private Scanner scanner; public int sym; //Stores the current input from getSym() private static FileOutputStream outFile; private static PrintStream fileData; String lexeme; private static SymbolTable mySymbolTable; private void printError(int errorType, int symOrError) { //For Comparing Output: please use this format as it will be used //to compare output results fileData.println("Error: " + ((errorType == SYNTAX_ERROR) ? "SYNTAX: " : "SEMANTIC: ") + ((errorType == SYNTAX_ERROR) ? Scanner.Terminal[symOrError] : (symOrError == UNDEFINED_ERROR) ? " UNDEFINED SYMBOL" : "REDEFINED SYMBOL")); mySymbolTable.printSymTable(fileData); System.err.println(" Error Encountered on Line Number: " + Scanner.getLineNumber()); System.exit(-1); }