Skip to main content

The Token Class Reference

Describes the input token stream. More...

Declaration

class vhdl::parser::Token { ... }

Included Headers

#include <vhdlparser/Token.h>

Public Constructors Index

Token ()

No-argument constructor. More...

Token (int kind)

Constructs a new token for the specified Image. More...

Token (int kind, const JJString &image)

Constructs a new token for the specified Image and Kind. More...

Public Destructor Index

~Token ()

Public Member Functions Index

void *getValue ()

An optional attribute value of the Token. More...

const JJString &toString ()

Returns the image. More...

Public Member Attributes Index

intkind = 0

An integer that describes the kind of this token. More...

intbeginLine = 0

The line number of the first character of this Token. More...

intbeginColumn = 0

The column number of the first character of this Token. More...

intendLine = 0

The line number of the last character of this Token. More...

intendColumn = 0

The column number of the last character of this Token. More...

JJStringimage

The string image of the token. More...

Token *next = 0

A reference to the next regular (non-special) token from the input stream. More...

Token *specialToken = 0

This field is used to access special tokens that occur prior to this token, but after the immediately preceding regular (non-special) token. More...

Public Static Functions Index

static Token *newToken (int ofKind, const JJString &image)

Returns a new Token void *, by default. More...

static Token *newToken (int ofKind)

Description

Describes the input token stream.

Definition at line 16 of file Token.h.

Public Constructors

Token()

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

No-argument constructor.

Definition at line 78 of file Token.h.

Referenced by newToken and newToken.

Token()

vhdl::parser::Token::Token (int kind)

Constructs a new token for the specified Image.

Definition at line 83 of file Token.h.

Reference kind.

Token()

vhdl::parser::Token::Token (int kind, const JJString & image)

Constructs a new token for the specified Image and Kind.

Definition at line 88 of file Token.h.

References image and kind.

Public Destructor

~Token()

virtual vhdl::parser::Token::~Token ()
virtual

Definition at line 90 of file Token.h.

Public Member Functions

getValue()

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.

Definition at line 73 of file Token.h.

toString()

const JJString & vhdl::parser::Token::toString ()

Returns the image.

Definition at line 95 of file Token.h.

Public Member Attributes

beginColumn

int vhdl::parser::Token::beginColumn = 0

The column number of the first character of this Token.

Definition at line 30 of file Token.h.

30 int beginColumn = 0;

Referenced by vhdl::parser::ErrorHandler::handleParseError and vhdl::parser::ErrorHandler::handleUnexpectedToken.

beginLine

int vhdl::parser::Token::beginLine = 0

endColumn

int vhdl::parser::Token::endColumn = 0

The column number of the last character of this Token.

Definition at line 34 of file Token.h.

34 int endColumn = 0;

endLine

int vhdl::parser::Token::endLine = 0

The line number of the last character of this Token.

Definition at line 32 of file Token.h.

32 int endLine = 0;

image

kind

int vhdl::parser::Token::kind = 0

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 25 of file Token.h.

25 int kind = 0;

Referenced by vhdl::parser::VhdlParser::checkListTok, vhdl::parser::VhdlParser::checkNextTok, VHDLOutlineParser::error_skipto, Token and Token.

next

Token* vhdl::parser::Token::next = 0

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 49 of file Token.h.

49 Token *next = 0;

specialToken

Token* vhdl::parser::Token::specialToken = 0

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 63 of file Token.h.

Public Static Functions

newToken()

Token * vhdl::parser::Token::newToken (int ofKind, const JJString & 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.

Definition at line 110 of file Token.h.

References image and Token.

newToken()

Token * vhdl::parser::Token::newToken (int ofKind)
static

Definition at line 112 of file Token.h.

Reference Token.


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


Generated via doxygen2docusaurus by Doxygen 1.14.0.