KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectstyle > cayenne > exp > parser > Token


1 /* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
2 /* ====================================================================
3  *
4  * The ObjectStyle Group Software License, version 1.1
5  * ObjectStyle Group - http://objectstyle.org/
6  *
7  * Copyright (c) 2002-2005, Andrei (Andrus) Adamchik and individual authors
8  * of the software. All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  *
17  * 2. Redistributions in binary form must reproduce the above copyright
18  * notice, this list of conditions and the following disclaimer in
19  * the documentation and/or other materials provided with the
20  * distribution.
21  *
22  * 3. The end-user documentation included with the redistribution, if any,
23  * must include the following acknowlegement:
24  * "This product includes software developed by independent contributors
25  * and hosted on ObjectStyle Group web site (http://objectstyle.org/)."
26  * Alternately, this acknowlegement may appear in the software itself,
27  * if and wherever such third-party acknowlegements normally appear.
28  *
29  * 4. The names "ObjectStyle Group" and "Cayenne" must not be used to endorse
30  * or promote products derived from this software without prior written
31  * permission. For written permission, email
32  * "andrus at objectstyle dot org".
33  *
34  * 5. Products derived from this software may not be called "ObjectStyle"
35  * or "Cayenne", nor may "ObjectStyle" or "Cayenne" appear in their
36  * names without prior written permission.
37  *
38  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
39  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
40  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
41  * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
42  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
43  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
44  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
45  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
46  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
47  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
48  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
49  * SUCH DAMAGE.
50  * ====================================================================
51  *
52  * This software consists of voluntary contributions made by many
53  * individuals and hosted on ObjectStyle Group web site. For more
54  * information on the ObjectStyle Group, please see
55  * <http://objectstyle.org/>.
56  */

57
58 package org.objectstyle.cayenne.exp.parser;
59
60 /**
61  * Describes the input token stream.
62  */

63
64 class Token {
65
66   /**
67    * An integer that describes the kind of this token. This numbering
68    * system is determined by JavaCCParser, and a table of these numbers is
69    * stored in the file ...Constants.java.
70    */

71   public int kind;
72
73   /**
74    * beginLine and beginColumn describe the position of the first character
75    * of this token; endLine and endColumn describe the position of the
76    * last character of this token.
77    */

78   public int beginLine, beginColumn, endLine, endColumn;
79
80   /**
81    * The string image of the token.
82    */

83   public String JavaDoc image;
84
85   /**
86    * A reference to the next regular (non-special) token from the input
87    * stream. If this is the last token from the input stream, or if the
88    * token manager has not read tokens beyond this one, this field is
89    * set to null. This is true only if this token is also a regular
90    * token. Otherwise, see below for a description of the contents of
91    * this field.
92    */

93   public Token next;
94
95   /**
96    * This field is used to access special tokens that occur prior to this
97    * token, but after the immediately preceding regular (non-special) token.
98    * If there are no such special tokens, this field is set to null.
99    * When there are more than one such special token, this field refers
100    * to the last of these special tokens, which in turn refers to the next
101    * previous special token through its specialToken field, and so on
102    * until the first special token (whose specialToken field is null).
103    * The next fields of special tokens refer to other special tokens that
104    * immediately follow it (without an intervening regular token). If there
105    * is no such token, this field is null.
106    */

107   public Token specialToken;
108
109   /**
110    * Returns the image.
111    */

112   public String JavaDoc toString()
113   {
114      return image;
115   }
116
117   /**
118    * Returns a new Token object, by default. However, if you want, you
119    * can create and return subclass objects based on the value of ofKind.
120    * Simply add the cases to the switch for all those special cases.
121    * For example, if you have a subclass of Token called IDToken that
122    * you want to create if ofKind is ID, simlpy add something like :
123    *
124    * case MyParserConstants.ID : return new IDToken();
125    *
126    * to the following switch statement. Then you can cast matchedToken
127    * variable to the appropriate type and use it in your lexical actions.
128    */

129   public static final Token newToken(int ofKind)
130   {
131      switch(ofKind)
132      {
133        default : return new Token();
134      }
135   }
136
137 }
138
Popular Tags