Doxygen
Loading...
Searching...
No Matches
vhdl::parser::ParseException Class Reference

This exception is thrown when parse errors are encountered. More...

#include <vhdlparser/ParseException.h>

+ Collaboration diagram for vhdl::parser::ParseException:

Public Member Functions

 ParseException (Token currentTokenVal, int **expectedTokenSequencesVal, JJString *tokenImageVal)
 This constructor is used by the method "generateParseException" in the generated parser.
 
 ParseException ()
 The following constructors are for use by you for whatever purpose you can think of.
 
 ParseException (const JJString &message)
 Constructor with message.
 

Public Attributes

Token currentToken
 This is the last token that has been consumed successfully.
 
int ** expectedTokenSequences = 0
 Each entry in this array is an array of integers.
 
JJStringtokenImage = 0
 This is a reference to the "tokenImage" array of the generated parser within which the parse error occurred.
 

Private Member Functions

JJString initialise (Token currentToken, int **expectedTokenSequences, JJString *tokenImage)
 It uses "currentToken" and "expectedTokenSequences" to generate a parse error message and returns it.
 
JJString add_escapes (const JJString &str)
 Used to convert raw characters to their escaped version when these raw version cannot be used as part of an ASCII string literal.
 

Detailed Description

This exception is thrown when parse errors are encountered.

You can explicitly create objects of this exception type by calling the method generateParseException in the generated parser.

You can modify this class to customize your error reporting mechanisms so long as you retain the fields.

Definition at line 21 of file ParseException.h.

Constructor & Destructor Documentation

◆ ParseException() [1/3]

vhdl::parser::ParseException::ParseException ( Token currentTokenVal,
int ** expectedTokenSequencesVal,
JJString * tokenImageVal )

This constructor is used by the method "generateParseException" in the generated parser.

Calling this constructor generates a new object of this type with the fields "currentToken", "expectedTokenSequences", and "tokenImage" set.

◆ ParseException() [2/3]

vhdl::parser::ParseException::ParseException ( )

The following constructors are for use by you for whatever purpose you can think of.

Constructing the exception in this manner makes the exception behave in the normal way - i.e., as documented in the class "Throwable". The fields "errorToken", "expectedTokenSequences", and "tokenImage" do not contain relevant information. The JavaCC generated code does not use these constructors.

◆ ParseException() [3/3]

vhdl::parser::ParseException::ParseException ( const JJString & message)

Constructor with message.

Member Function Documentation

◆ add_escapes()

JJString vhdl::parser::ParseException::add_escapes ( const JJString & str)
private

Used to convert raw characters to their escaped version when these raw version cannot be used as part of an ASCII string literal.

◆ initialise()

JJString vhdl::parser::ParseException::initialise ( Token currentToken,
int ** expectedTokenSequences,
JJString * tokenImage )
private

It uses "currentToken" and "expectedTokenSequences" to generate a parse error message and returns it.

If this object has been created due to a parse error, and you do not catch it (it gets thrown from the parser) the correct error message gets displayed.

References currentToken, expectedTokenSequences, and tokenImage.

Member Data Documentation

◆ currentToken

Token vhdl::parser::ParseException::currentToken

This is the last token that has been consumed successfully.

If this object has been created due to a parse error, the token following this token will (therefore) be the first error token.

Definition at line 56 of file ParseException.h.

Referenced by initialise().

◆ expectedTokenSequences

int** vhdl::parser::ParseException::expectedTokenSequences = 0

Each entry in this array is an array of integers.

Each array of integers represents a sequence of tokens (by their ordinal values) that is expected at this point of the parse.

Definition at line 63 of file ParseException.h.

Referenced by initialise().

◆ tokenImage

JJString* vhdl::parser::ParseException::tokenImage = 0

This is a reference to the "tokenImage" array of the generated parser within which the parse error occurred.

This array is defined in the generated ...Constants class.

Definition at line 70 of file ParseException.h.

Referenced by initialise().


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