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