plp.imperative2.parser.ParseException Class Reference

Collaboration diagram for plp.imperative2.parser.ParseException:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ParseException (Token currentTokenVal, int[][] expectedTokenSequencesVal, String[] tokenImageVal)
 ParseException ()
 ParseException (String message)
String getMessage ()

Public Attributes

Token currentToken
int[][] expectedTokenSequences
String[] tokenImage

Protected Member Functions

String add_escapes (String str)

Protected Attributes

boolean specialConstructor
String eol = System.getProperty("line.separator", "\n")

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 public fields.

Definition at line 13 of file ParseException.java.


Constructor & Destructor Documentation

plp.imperative2.parser.ParseException.ParseException ( Token  currentTokenVal,
int  expectedTokenSequencesVal[][],
String[]  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. The boolean flag "specialConstructor" is also set to true to indicate that this constructor was used to create this object. This constructor calls its super class with the empty string to force the "toString" method of parent class "Throwable" to print the error message in the form: ParseException: <result of="" getmessage>="">

Definition at line 27 of file ParseException.java.

References plp.imperative2.parser.ParseException.currentToken, plp.imperative2.parser.ParseException.expectedTokenSequences, plp.imperative2.parser.ParseException.specialConstructor, and plp.imperative2.parser.ParseException.tokenImage.

plp.imperative2.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.

Definition at line 49 of file ParseException.java.

References plp.imperative2.parser.ParseException.specialConstructor.

plp.imperative2.parser.ParseException.ParseException ( String  message  ) 

Definition at line 54 of file ParseException.java.

References plp.imperative2.parser.ParseException.specialConstructor.


Member Function Documentation

String plp.imperative2.parser.ParseException.add_escapes ( String  str  )  [protected]

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

Definition at line 147 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage().

String plp.imperative2.parser.ParseException.getMessage (  ) 

This method has the standard behavior when this object has been created using the standard constructors. Otherwise, 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), then this method is called during the printing of the final stack trace, and hence the correct error message gets displayed.

Definition at line 97 of file ParseException.java.

References plp.imperative2.parser.ParseException.add_escapes(), plp.imperative2.parser.ParseException.currentToken, plp.imperative2.parser.ParseException.eol, plp.imperative2.parser.ParseException.expectedTokenSequences, plp.imperative2.parser.Token.image, plp.imperative2.parser.Token.kind, plp.imperative2.parser.Token.next, plp.imperative2.parser.ParseException.specialConstructor, and plp.imperative2.parser.ParseException.tokenImage.

Here is the call graph for this function:


Member Data Documentation

Token plp.imperative2.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 followng this token will (therefore) be the first error token.

Definition at line 71 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage(), and plp.imperative2.parser.ParseException.ParseException().

String plp.imperative2.parser.ParseException.eol = System.getProperty("line.separator", "\n") [protected]

The end of line string for this machine.

Definition at line 140 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage().

int [][] plp.imperative2.parser.ParseException.expectedTokenSequences

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 78 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage(), and plp.imperative2.parser.ParseException.ParseException().

boolean plp.imperative2.parser.ParseException.specialConstructor [protected]

This variable determines which constructor was used to create this object and thereby affects the semantics of the "getMessage" method (see below).

Definition at line 64 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage(), and plp.imperative2.parser.ParseException.ParseException().

String [] plp.imperative2.parser.ParseException.tokenImage

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 interface.

Definition at line 85 of file ParseException.java.

Referenced by plp.imperative2.parser.ParseException.getMessage(), and plp.imperative2.parser.ParseException.ParseException().


The documentation for this class was generated from the following file:
Generated on Wed Jul 19 19:11:18 2006 for PLP by  doxygen 1.4.7