From b4c49681eb6523388c431edd00bb8a388fa0d921 Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 13 Jul 2004 02:08:07 +0000 Subject: [PATCH] added multi-input processing to Preprocessor darcs-hash:20040713020807-5007d-e1226e1c1231bc7012af01db61fb4be43e39a1c2.gz --- src/org/ibex/util/Preprocessor.java | 45 +++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/org/ibex/util/Preprocessor.java b/src/org/ibex/util/Preprocessor.java index 89f4e4e..bb053aa 100644 --- a/src/org/ibex/util/Preprocessor.java +++ b/src/org/ibex/util/Preprocessor.java @@ -44,18 +44,39 @@ public class Preprocessor { } public static void main(String[] args) throws Exception { - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); - - // process stdin to stdout - Preprocessor cc = new Preprocessor(br, bw); - Vector err = cc.process(); - bw.flush(); - - // handle errors - boolean errors = false; - for (int i=0; i < err.size(); i++) { if (err.get(i) instanceof Error) errors = true; System.err.println(err.get(i)); } - if (errors) throw new Exception(); + if (args.length == 0) { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + // process stdin to stdout + Preprocessor cc = new Preprocessor(br, bw); + Vector err = cc.process(); + bw.flush(); + + // handle errors + boolean errors = false; + for (int i=0; i < err.size(); i++) { + if (err.get(i) instanceof Error) errors = true; System.err.println(err.get(i)); } + if (errors) throw new Exception(); + } else { + for(int i=0; i source.lastModified()) continue; + System.err.println("preprocessing " + args[i]); + new File(target.getParent()).mkdirs(); + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(source))); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(target))); + Preprocessor cc = new Preprocessor(br, bw); + Vector err = cc.process(); + bw.flush(); + boolean errors = false; + for (int j=0; j < err.size(); j++) { + if (err.get(j) instanceof Error) errors = true; System.err.println(err.get(j)); } + if (errors) System.exit(-1); + } + } } private Reader r; -- 1.7.10.4