KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > antlr > TokenRangeElement


1 package antlr;
2
3 /* ANTLR Translator Generator
4  * Project led by Terence Parr at http://www.jGuru.com
5  * Software rights: http://www.antlr.org/RIGHTS.html
6  *
7  * $Id: //depot/code/org.antlr/main/main/antlr/TokenRangeElement.java#5 $
8  */

9
10 class TokenRangeElement extends AlternativeElement {
11     String JavaDoc label;
12     protected int begin = Token.INVALID_TYPE;
13     protected int end = Token.INVALID_TYPE;
14     protected String JavaDoc beginText;
15     protected String JavaDoc 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 JavaDoc 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 JavaDoc label_) {
39         label = label_;
40     }
41
42     public String JavaDoc toString() {
43         if (label != null) {
44             return " " + label + ":" + beginText + ".." + endText;
45         }
46         else {
47             return " " + beginText + ".." + endText;
48         }
49     }
50 }
51
Popular Tags