4 public class PrintWrapper {
5 java.io.PrintWriter output;
6 StringBuffer buffered=new StringBuffer("");
8 Hashtable vartable=new Hashtable();
11 public PrintWrapper(java.io.PrintWriter output) {
14 void print(String s) {
24 void println(String s) {
26 buffered.append(s+"\n");
34 //Print out declarations
35 for(Iterator it=vartable.keySet().iterator();it.hasNext();) {
36 String var=(String)it.next();
37 output.println(((String)vartable.get(var))+" "+var+";");
39 output.print(buffered.toString());
40 buffered=new StringBuffer("");
41 vartable=new Hashtable();
44 void addDeclaration(String type, String varname) {
46 if (vartable.containsKey(varname)) {
47 String oldtype=(String)vartable.get(varname);
48 if (!oldtype.equals(type)) {
49 throw new Error("Internal error: Inconsistent declarations for:"+varname);
52 vartable.put(varname,type);
55 output.println(type+" "+varname+";");
57 void addDeclaration(String f) {
59 buffered.insert(0,f+"\n");