From: crawshaw Date: Thu, 9 Dec 2004 15:32:38 +0000 (+0000) Subject: import multiple replacements from ibex core X-Git-Url: http://git.megacz.com/?p=org.ibex.tool.git;a=commitdiff_plain;h=fbc937ae2630cbeea50f6e6119225071c9c17047 import multiple replacements from ibex core darcs-hash:20041209153238-2eb37-6d4c84605f2fa4abe202f5f71847ddd84f270ef4.gz --- diff --git a/src/java/org/ibex/tool/Preprocessor.java b/src/java/org/ibex/tool/Preprocessor.java index a1439b1..0df4c0f 100644 --- a/src/java/org/ibex/tool/Preprocessor.java +++ b/src/java/org/ibex/tool/Preprocessor.java @@ -111,7 +111,7 @@ public class Preprocessor { private PrintWriter out; private Hashtable replace = new Hashtable(); - private Hashtable repeatreplace = null; + private Hashtable[] repeatreplaces = null; private Vector sinceLastRepeat = null; private Vector err = new Vector(); private List defs; @@ -196,12 +196,18 @@ PROCESS: out.print("\n"); // preserve line numbers } StringTokenizer st = new StringTokenizer(trimmed, " "); - repeatreplace = (Hashtable)replace.clone(); + repeatreplaces = null; while (st.hasMoreTokens()) { String tok = st.nextToken().trim(); String key = tok.substring(0, tok.indexOf('/')); - String val = tok.substring(tok.indexOf('/') + 1); - repeatreplace.put(key, val); + String vals = tok.substring(tok.indexOf('/') + 1); + StringTokenizer st2 = new StringTokenizer(vals,"/"); + if(repeatreplaces == null) { + repeatreplaces = new Hashtable[st2.countTokens()]; + for(int i=0;i