KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ro > infoiasi > donald > compiler > parser > Token


1 package ro.infoiasi.donald.compiler.parser;
2
3 import ro.infoiasi.donald.compiler.cfg.*;
4
5 public class Token {
6     public static final int UNKNOWN_LINE = -1;
7     public static final int UNKNOWN_COLUMN = -1;
8     public static final int UNKNOWN_NCHAR = -1;
9     public static final int UNKNOWN_LENGTH = -1;
10     
11     public Token(Terminal a, int line, int column, int nchar, int length, Object JavaDoc value) {
12         this.a = a;
13         this.line = line;
14         this.column = column;
15         this.nchar = nchar;
16         this.length = length;
17         this.value = value;
18     }
19
20     public Token(Terminal a, int line, int column, int nchar, int length) {
21         this(a, line, column, nchar, length, null);
22     }
23
24     public Token(Terminal a, int line, int column) {
25         this(a, line, column, UNKNOWN_NCHAR, UNKNOWN_LENGTH);
26     }
27     
28     public Token(Terminal a) {
29         this(a, UNKNOWN_LINE, UNKNOWN_COLUMN, UNKNOWN_NCHAR, UNKNOWN_LENGTH);
30     }
31
32     public Terminal getSymbol() {
33         return a;
34     }
35     
36     public int getLine() {
37         return line;
38     }
39
40     public int getColumn() {
41         return column;
42     }
43
44     public int getCharNumber() {
45         return nchar;
46     }
47     
48     public int getLength() {
49         return length;
50     }
51
52     public Object JavaDoc getValue() {
53         return value;
54     }
55     
56     public void setSymbol(Terminal a) {
57         this.a = a;
58     }
59
60     public void setLine(int line) {
61         this.line = line;
62     }
63     
64     public void setColumn(int column) {
65         this.column = column;
66     }
67
68     public void setCharNumber(int nchar) {
69         this.nchar = nchar;
70     }
71
72     public void setLength(int length) {
73         this.length = length;
74     }
75
76     public void setValue(Object JavaDoc value) {
77         this.value = value;
78     }
79
80     public String JavaDoc toString() {
81         StringBuffer JavaDoc sb = new StringBuffer JavaDoc(a.toString());
82         if (line != UNKNOWN_LINE) {
83             sb.append("[line="+line+"]");
84         }
85         if (column != UNKNOWN_COLUMN) {
86             sb.append("[column="+column+"]");
87         }
88         if (nchar != UNKNOWN_NCHAR) {
89             sb.append("[nchar="+nchar+"]");
90         }
91         if (length != UNKNOWN_LENGTH) {
92             sb.append("[length="+length+"]");
93         }
94         if (value != null) {
95             sb.append("[value="+value+"]");
96         }
97         return sb.toString();
98     }
99
100     private Terminal a;
101     private int line, column, nchar, length;
102     private Object JavaDoc value;
103 }
104
Popular Tags