package ppg.parse; import java.io.*; import ppg.*; import ppg.lex.*; import ppg.spec.*; import ppg.util.*; public class ParseTest { private static final String HEADER = "ppg [parsetest]: "; private ParseTest() {} public static void main(String args[]) { FileInputStream fileInput; String filename = null; try { filename = args[0]; fileInput = new FileInputStream(filename); } catch (FileNotFoundException e) { System.out.println("Error: "+filename+" is not found."); return; } catch (ArrayIndexOutOfBoundsException e) { System.out.println(HEADER+"Error: No file name given."); return; } File f = new File(filename); String simpleName = f.getName(); Lexer lex = new Lexer(fileInput, simpleName); Parser parser = new Parser(filename, lex); try { parser.parse(); } catch (Exception e) { System.out.println(HEADER+"Exception: "+e.getMessage()); return; } Spec spec = (Spec)parser.getProgramNode(); CodeWriter cw = new CodeWriter(System.out, 72); try { spec.unparse(cw); cw.flush(); fileInput.close(); } catch (IOException e) { System.out.println(HEADER+"exception: "+e.getMessage()); return; } } }