1 package antlr; 2 3 9 10 class TokenRangeElement extends AlternativeElement { 11 String label; 12 protected int begin = Token.INVALID_TYPE; 13 protected int end = Token.INVALID_TYPE; 14 protected String beginText; 15 protected String endText; 16 17 public TokenRangeElement(Grammar g, Token t1, Token t2, int autoGenType) { 18 super(g, t1, autoGenType); 19 begin = grammar.tokenManager.getTokenSymbol(t1.getText()).getTokenType(); 20 beginText = t1.getText(); 21 end = grammar.tokenManager.getTokenSymbol(t2.getText()).getTokenType(); 22 endText = t2.getText(); 23 line = t1.getLine(); 24 } 25 26 public void generate() { 27 grammar.generator.gen(this); 28 } 29 30 public String getLabel() { 31 return label; 32 } 33 34 public Lookahead look(int k) { 35 return grammar.theLLkAnalyzer.look(k, this); 36 } 37 38 public void setLabel(String label_) { 39 label = label_; 40 } 41 42 public String toString() { 43 if (label != null) { 44 return " " + label + ":" + beginText + ".." + endText; 45 } 46 else { 47 return " " + beginText + ".." + endText; 48 } 49 } 50 } 51 | Popular Tags |