1 package ppg.parse; 2 3 import java.io.*; 4 import ppg.*; 5 import ppg.lex.*; 6 import ppg.spec.*; 7 import ppg.util.*; 8 9 public class ParseTest 10 { 11 private static final String HEADER = "ppg [parsetest]: "; 12 13 private ParseTest() {} 14 15 public static void main(String args[]) { 16 FileInputStream fileInput; 17 18 String filename = null; 19 try { 20 filename = args[0]; 21 fileInput = new FileInputStream(filename); 22 } 23 catch (FileNotFoundException e) { 24 System.out.println("Error: "+filename+" is not found."); 25 return; 26 } 27 catch (ArrayIndexOutOfBoundsException e) { 28 System.out.println(HEADER+"Error: No file name given."); 29 return; 30 } 31 32 File f = new File(filename); 33 String simpleName = f.getName(); 34 35 Lexer lex = new Lexer(fileInput, simpleName); 36 37 Parser parser = new Parser(filename, lex); 38 try { 39 parser.parse(); 40 } catch (Exception e) { 41 System.out.println(HEADER+"Exception: "+e.getMessage()); 42 return; 43 } 44 Spec spec = (Spec)parser.getProgramNode(); 45 46 CodeWriter cw = new CodeWriter(System.out, 72); 47 try { 48 spec.unparse(cw); 49 cw.flush(); 50 fileInput.close(); 51 } catch (IOException e) { 52 System.out.println(HEADER+"exception: "+e.getMessage()); 53 return; 54 } 55 } 56 57 } 58 | Popular Tags |