www.pudn.com > antlr-2_7_0.zip > CharRangeElement.java
package antlr;
/* ANTLR Translator Generator
* Project led by Terence Parr at http://www.jGuru.com
* Software rights: http://www.antlr.org/RIGHTS.html
*
* $Id: //depot/code/org.antlr/release/antlr-2.7.0/antlr/CharRangeElement.java#1 $
*/
class CharRangeElement extends AlternativeElement {
String label;
protected char begin=0;
protected char end =0;
protected String beginText;
protected String endText;
public CharRangeElement(LexerGrammar g, Token t1, Token t2, int autoGenType) {
super(g);
begin = (char)ANTLRLexer.tokenTypeForCharLiteral(t1.getText());
beginText = t1.getText();
end = (char)ANTLRLexer.tokenTypeForCharLiteral(t2.getText());
endText = t2.getText();
line = t1.getLine();
// track which characters are referenced in the grammar
for (int i=begin; i<=end; i++) {
g.charVocabulary.add(i);
}
this.autoGenType = autoGenType;
}
public void generate() {
grammar.generator.gen(this);
}
public String getLabel() {
return label;
}
public Lookahead look(int k) {
return grammar.theLLkAnalyzer.look(k, this);
}
public void setLabel(String label_) {
label = label_;
}
public String toString() {
if ( label!=null ) return " "+label+":"+beginText+".."+endText;
else return " "+beginText+".."+endText;
}
}