Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
vhdl::parser::Token Class Reference

#include <Token.h>

Public Member Functions

void * getValue ()
 
 Token ()
 
 Token (int kind)
 
 Token (int kind, JAVACC_STRING_TYPE image)
 
virtual ~Token ()
 
JAVACC_STRING_TYPE toString ()
 

Static Public Member Functions

static TokennewToken (int ofKind, JAVACC_STRING_TYPE image)
 
static TokennewToken (int ofKind)
 

Public Attributes

int kind
 
int beginLine
 
int beginColumn
 
int endLine
 
int endColumn
 
JAVACC_STRING_TYPE image
 
Tokennext
 
TokenspecialToken
 

Detailed Description

Describes the input token stream.

Definition at line 15 of file Token.h.

Constructor & Destructor Documentation

vhdl::parser::Token::Token ( )

No-argument constructor

Definition at line 27 of file Token.cc.

27  {
28  this->next = NULL;
29  this->specialToken = NULL;
30  }
Token * next
Definition: Token.h:48
Token * specialToken
Definition: Token.h:62
vhdl::parser::Token::Token ( int  kind)

Constructs a new token for the specified Image.

Definition at line 35 of file Token.cc.

36  {
37  this->kind = kind;
38  this->next = NULL;
39  this->specialToken = NULL;
40  }
Token * next
Definition: Token.h:48
Token * specialToken
Definition: Token.h:62
vhdl::parser::Token::Token ( int  kind,
JAVACC_STRING_TYPE  image 
)

Constructs a new token for the specified Image and Kind.

Definition at line 45 of file Token.cc.

46  {
47  this->kind = kind;
48  this->image = image;
49  this->next = NULL;
50  this->specialToken = NULL;
51  }
Token * next
Definition: Token.h:48
JAVACC_STRING_TYPE image
Definition: Token.h:38
Token * specialToken
Definition: Token.h:62
vhdl::parser::Token::~Token ( )
virtual

Definition at line 86 of file Token.cc.

86  {
87  if (specialToken) delete specialToken;
88  }
Token * specialToken
Definition: Token.h:62

Member Function Documentation

void * vhdl::parser::Token::getValue ( )

An optional attribute value of the Token. Tokens which are not used as syntactic sugar will often contain meaningful values that will be used later on by the compiler or interpreter. This attribute value is often different from the image. Any subclass of Token that actually wants to return a non-NULL value can override this method as appropriate.

Describes the input token stream. An optional attribute value of the Token. Tokens which are not used as syntactic sugar will often contain meaningful values that will be used later on by the compiler or interpreter. This attribute value is often different from the image. Any subclass of Token that actually wants to return a non-NULL value can override this method as appropriate.

Definition at line 20 of file Token.cc.

20  {
21  return NULL;
22  }
Token * vhdl::parser::Token::newToken ( int  ofKind,
JAVACC_STRING_TYPE  image 
)
static

Returns a new Token void *, by default. However, if you want, you can create and return subclass objects based on the value of ofKind. Simply add the cases to the switch for all those special cases. For example, if you have a subclass of Token called IDToken that you want to create if ofKind is ID, simply add something like :

case MyParserConstants.ID : return new IDToken(ofKind, image);

to the following switch statement. Then you can cast matchedToken variable to the appropriate type and use sit in your lexical actions.

Returns a new Token object, by default. However, if you want, you can create and return subclass objects based on the value of ofKind. Simply add the cases to the switch for all those special cases. For example, if you have a subclass of Token called IDToken that you want to create if ofKind is ID, simply add something like :

case MyParserConstants.ID : return new IDToken(ofKind, image);

to the following switch statement. Then you can cast matchedToken variable to the appropriate type and use sit in your lexical actions.

Definition at line 73 of file Token.cc.

74  {
75  switch(ofKind)
76  {
77  default : return new Token(ofKind, image);
78  }
79  }
JAVACC_STRING_TYPE image
Definition: Token.h:38
Token * vhdl::parser::Token::newToken ( int  ofKind)
static

Definition at line 81 of file Token.cc.

82  {
83  return newToken(ofKind, JAVACC_STRING_TYPE((JAVACC_CHAR_TYPE*)""));
84  }
#define JAVACC_STRING_TYPE
Definition: JavaCC.h:16
#define JAVACC_CHAR_TYPE
Definition: JavaCC.h:12
static Token * newToken(int ofKind, JAVACC_STRING_TYPE image)
Definition: Token.cc:73
JAVACC_STRING_TYPE vhdl::parser::Token::toString ( )

Returns the image.

Definition at line 56 of file Token.cc.

57  {
58  return image;
59  }
JAVACC_STRING_TYPE image
Definition: Token.h:38

Member Data Documentation

int vhdl::parser::Token::beginColumn

The column number of the first character of this Token.

Definition at line 29 of file Token.h.

int vhdl::parser::Token::beginLine

The line number of the first character of this Token.

Definition at line 27 of file Token.h.

int vhdl::parser::Token::endColumn

The column number of the last character of this Token.

Definition at line 33 of file Token.h.

int vhdl::parser::Token::endLine

The line number of the last character of this Token.

Definition at line 31 of file Token.h.

JAVACC_STRING_TYPE vhdl::parser::Token::image

The string image of the token.

Definition at line 38 of file Token.h.

int vhdl::parser::Token::kind

An integer that describes the kind of this token. This numbering system is determined by JavaCCParser, and a table of these numbers is stored in the file ...Constants.java.

Definition at line 24 of file Token.h.

Token* vhdl::parser::Token::next

A reference to the next regular (non-special) token from the input stream. If this is the last token from the input stream, or if the token manager has not read tokens beyond this one, this field is set to NULL. This is true only if this token is also a regular token. Otherwise, see below for a description of the contents of this field.

Definition at line 48 of file Token.h.

Token* vhdl::parser::Token::specialToken

This field is used to access special tokens that occur prior to this token, but after the immediately preceding regular (non-special) token. If there are no such special tokens, this field is set to NULL. When there are more than one such special token, this field refers to the last of these special tokens, which in turn refers to the next previous special token through its specialToken field, and so on until the first special token (whose specialToke_ field is NULL). The next fields of special tokens refer to other special tokens that immediately follow it (without an intervening regular token). If there is no such token, this field is NULL.

Definition at line 62 of file Token.h.


The documentation for this class was generated from the following files: