1 2 23 24 25 package org.javacc.jjdoc; 26 27 import java.io.PrintWriter ; 28 29 import org.javacc.parser.*; 30 31 public class Generator { 32 protected PrintWriter ostr; 33 34 public Generator(PrintWriter o) { 35 ostr = o; 36 } 37 38 public void text(String s) { 39 print(s); 40 } 41 42 public void print(String s) { 43 ostr.print(s); 44 } 45 46 public void specialTokens(String s) { 47 ostr.print(s); 48 } 49 50 public void documentStart() { 51 ostr.print("\nDOCUMENT START\n"); 52 } 53 public void documentEnd() { 54 ostr.print("\nDOCUMENT END\n"); 55 } 56 57 public void nonterminalsStart() { 58 text("NON-TERMINALS\n"); 59 } 60 public void nonterminalsEnd() { 61 } 62 63 public void tokensStart() { 64 text("TOKENS\n"); 65 } 66 public void tokensEnd() { 67 } 68 69 public void javacode(JavaCodeProduction jp) { 70 productionStart(jp); 71 text("java code"); 72 productionEnd(jp); 73 } 74 75 public void productionStart(NormalProduction np) { 76 ostr.print("\t" + np.lhs + "\t:=\t"); 77 } 78 public void productionEnd(NormalProduction np) { 79 ostr.print("\n"); 80 } 81 82 public void expansionStart(Expansion e, boolean first) { 83 if (!first) { 84 ostr.print("\n\t\t|\t"); 85 } 86 } 87 public void expansionEnd(Expansion e, boolean first) { 88 } 89 90 public void nonTerminalStart(NonTerminal nt) { 91 } 92 public void nonTerminalEnd(NonTerminal nt) { 93 } 94 95 public void reStart(RegularExpression r) { 96 } 97 public void reEnd(RegularExpression r) { 98 } 99 } 100 | Popular Tags |