1 package antlr; 2 3 9 10 import java.util.Hashtable ; 11 import java.util.Enumeration ; 12 import java.io.IOException ; 13 14 import antlr.collections.impl.BitSet; 15 import antlr.collections.impl.Vector; 16 17 18 19 class TreeWalkerGrammar extends Grammar { 20 protected boolean transform = false; 22 23 24 TreeWalkerGrammar(String className_, Tool tool_, String superClass) { 25 super(className_, tool_, superClass); 26 } 27 28 29 public void generate() throws IOException { 30 generator.gen(this); 31 } 32 33 protected String getSuperClass() { 35 return "TreeParser"; 36 } 37 38 43 public void processArguments(String [] args) { 44 for (int i = 0; i < args.length; i++) { 45 if (args[i].equals("-trace")) { 46 traceRules = true; 47 antlrTool.setArgOK(i); 48 } 49 else if (args[i].equals("-traceTreeParser")) { 50 traceRules = true; 51 antlrTool.setArgOK(i); 52 } 53 } 59 } 60 61 62 public boolean setOption(String key, Token value) { 63 if (key.equals("buildAST")) { 64 if (value.getText().equals("true")) { 65 buildAST = true; 66 } 67 else if (value.getText().equals("false")) { 68 buildAST = false; 69 } 70 else { 71 antlrTool.error("buildAST option must be true or false", getFilename(), value.getLine(), value.getColumn()); 72 } 73 return true; 74 } 75 if (key.equals("ASTLabelType")) { 76 super.setOption(key, value); 77 return true; 78 } 79 if (super.setOption(key, value)) { 80 return true; 81 } 82 antlrTool.error("Invalid option: " + key, getFilename(), value.getLine(), value.getColumn()); 83 return false; 84 } 85 } 86
| Popular Tags
|