ptolemy.data.expr
Class PtParser

java.lang.Object
  extended by ptolemy.data.expr.PtParser
All Implemented Interfaces:
PtParserConstants, PtParserTreeConstants

public class PtParser
extends java.lang.Object
implements PtParserTreeConstants, PtParserConstants

This file implements an expression parser for Ptolemy II using the JavaCC parser generator. It can handle all the basic arithmetic operators (*, /, +, -, %, ^), relational operators (<, <=, >, >=, == !=), logical operators(&&, ||, !), bitwise operators (&, |, #, ~) and, using reflection, all of the functionality available in the java.lang.Math package.

By editing the ASTFunctionNode file it is also relatively easy to allow references to other functions. This provides an easy mechanism to extend the range to the parser e.g. have a tcl(...) function that passes the string to a Tcl interpreter and retuns the result.

Functional if is supported via the following syntax: (boolean) ? (value1) : (value2)

Extensibility is also supported by allowing method calls on the Tokens, the syntax is (value1).method(comma separated arguments)

JavaCC by itself simply generates a file (and support files) that allow an input to be parsed, it does not return a parse tree. For the purposes of type checking we require a parse tree, and this is obtained using JJTree, a preprocessor for JavaCC.

JJtree operates by annotating the grammar file to support the generation of the parse tree. Thus the process is

X.jjt --> JJTREE --> X.jj --> JAVACC --> X.java + support files

The parser can also be passed a symbol table of ptolemy.data.expr.Variables which the expression to be parsed can reference.

Anything between quotes(") or apostrophes(') is taken to be one string. Strings are allowed to contain newlines or carriage returns. In addition, these characters, as well as other special characters, can be escaped using the standard Java syntax (\n, \t, \077, etc.).

The expressions recognized follow as close as possible the syntax of Java. In particular the operator precedences implemented here follow exactly those in Java. Any type conversions that are performed are lossless. If the user wants lossy conversions, explicit casts will be necessary.

Complex number are specified by an i or j after the imaginary part of the number. Long numbers are specified by an l or L after an integer number.

Users can register constants with the parser and also register classes where functions that may be called are defined. For a more thorough description of what the Parser is designed to do, please consult the Ptolemy II design document (or contact nsmyth@eecs)

Note that the parsers created by JavaCC generally have quite a bit of internal state. On the other hand, the parse trees generated by this parser are much smaller. It is also fairly cheap to traverse a parse tree in order to evaluate it. Thus it is usually preferable to cache parse trees and create a new parser when the cached parse tree becomes invalid.

Since:
Ptolemy II 1.0
Version:
$Id: PtParser.java 57046 2010-01-27 23:35:53Z cxh $
Author:
Neil Smyth, Steve Neuendorffer
See Also:
ASTPtBitwiseNode, ASTPtFunctionApplicationNode, ASTPtFunctionDefinitionNode, ASTPtFunctionalIfNode, ASTPtLeafNode, ASTPtLogicalNode, ASTPtMethodCallNode, ASTPtProductNode, ASTPtRelationalNode, ASTPtRootNode, ASTPtSumNode, ASTPtUnaryNode, Token
Accepted Rating:
Yellow (yuhong)
Proposed Rating:
Yellow (nsmyth)

Nested Class Summary
(package private) static class PtParser.JJCalls
           
private static class PtParser.LookaheadSuccess
           
 
Field Summary
private static boolean _alreadyInitialized
           
private static java.util.List _classesSearched
           
(package private)  boolean debug
           
private  PtParser.JJCalls[] jj_2_rtns
           
private  int jj_endpos
           
private  java.util.Vector jj_expentries
           
private  int[] jj_expentry
           
private  int jj_gc
           
private  int jj_gen
           
(package private)  SimpleCharStream jj_input_stream
           
private  int jj_kind
           
private  int jj_la
           
private  int[] jj_la1
           
private static int[] jj_la1_0
           
private static int[] jj_la1_1
           
private static int[] jj_la1_2
           
private  Token jj_lastpos
           
private  int[] jj_lasttokens
           
private  PtParser.LookaheadSuccess jj_ls
           
 Token jj_nt
           
private  int jj_ntk
           
private  boolean jj_rescan
           
private  Token jj_scanpos
           
private  boolean jj_semLA
           
protected  JJTPtParserState jjtree
           
 boolean lookingAhead
           
 Token token
           
 PtParserTokenManager token_source
           
 
Fields inherited from interface ptolemy.data.expr.PtParserTreeConstants
jjtNodeName, JJTPTARRAYCONSTRUCTNODE, JJTPTASSIGNMENTNODE, JJTPTBITWISENODE, JJTPTFUNCTIONALIFNODE, JJTPTFUNCTIONAPPLICATIONNODE, JJTPTFUNCTIONDEFINITIONNODE, JJTPTLEAFNODE, JJTPTLOGICALNODE, JJTPTMATRIXCONSTRUCTNODE, JJTPTMETHODCALLNODE, JJTPTORDEREDRECORDCONSTRUCTNODE, JJTPTPOWERNODE, JJTPTPRODUCTNODE, JJTPTRECORDCONSTRUCTNODE, JJTPTRELATIONALNODE, JJTPTROOTNODE, JJTPTSHIFTNODE, JJTPTSUMNODE, JJTPTUNARYNODE, JJTPTUNIONCONSTRUCTNODE, JJTVOID
 
Fields inherited from interface ptolemy.data.expr.PtParserConstants
AND, BITWISE_NOT, BOOL_NOT, BOOLEAN, CLOSEBRACE, CLOSEBRACKET, CLOSEPAREN, CLOSEUNION, COLON, COMMA, COMPLEX, COND_AND, COND_OR, DECIMAL_LITERAL, DEFAULT, DIVIDE, DOUBLE, EOF, EQUALS, ERROR, EXPONENT, FUNCTION, GT, GTE, HEX_LITERAL, ID, INTEGER, INTEGER_FORMAT_SPEC, LETTER, LSHR, LT, LTE, MINUS, MODULO, MULTI_LINE_COMMENT, MultiLineCommentMode, MULTIPLY, NOTEQUALS, OCTAL_LITERAL, OPENBRACE, OPENBRACKET, OPENPAREN, OPENUNION, OR, PERIOD, PLUS, POWER, QUESTION, SEPARATOR, SETEQUALS, SHL, SHR, SINGLE_LINE_COMMENT, SingleLineCommentMode, SMBRACE, SMDOLLAR, SMDOLLARBRACE, SMDOLLARPAREN, SMID, SMIDBRACE, SMIDPAREN, SMLETTER, SMPAREN, SMSTRING, STRING, StringMode, StringModeIDBrace, StringModeIDNone, StringModeIDParen, tokenImage, XOR
 
Constructor Summary
PtParser()
           
PtParser(java.io.InputStream stream)
           
PtParser(java.io.InputStream stream, java.lang.String encoding)
           
PtParser(PtParserTokenManager tm)
           
PtParser(java.io.Reader stream)
           
 
Method Summary
private  void _initialize()
          Initialize the static variable containing the classes searched by the parser upon encountering a function call.
 void arrayConstruct()
           
 void assignment()
           
 void assignmentIdentifier()
           
 void bitwiseAnd()
           
 void bitwiseOr()
           
 void bitwiseXor()
           
 void disable_tracing()
           
 void element()
           
 void enable_tracing()
           
 void expression()
           
 void funcIf()
           
 void function()
           
 void functionDefinition()
           
 java.util.Map generateAssignmentMap(java.lang.String stringIn)
          Generates a parse tree from the given String.
 ParseException generateParseException()
           
 ASTPtRootNode generateParseTree(java.lang.String stringIn)
          Generates a parse tree from the given String.
 ASTPtRootNode generateSimpleAssignmentParseTree(java.lang.String stringIn)
          Generates a parse tree from the given String, which may optionally contain an assignment.
 ASTPtRootNode generateStringParseTree(java.lang.String stringIn)
          Generates a parse tree from the given String, which is interpreted in "String Mode" instead of as an operator expression.
 Token getNextToken()
           
static java.util.List getRegisteredClasses()
          Return the list of classes the parser searches when a function call is encountered.
 Token getToken(int index)
           
 java.util.LinkedList getUndefinedList(java.lang.String stringIn)
          Deprecated. Use a visitor with a ParseTreeFreeVariableCollector instead.
 void identifier()
           
 void integer()
           
private  boolean jj_2_1(int xla)
           
private  boolean jj_2_10(int xla)
           
private  boolean jj_2_11(int xla)
           
private  boolean jj_2_12(int xla)
           
private  boolean jj_2_13(int xla)
           
private  boolean jj_2_14(int xla)
           
private  boolean jj_2_15(int xla)
           
private  boolean jj_2_16(int xla)
           
private  boolean jj_2_2(int xla)
           
private  boolean jj_2_3(int xla)
           
private  boolean jj_2_4(int xla)
           
private  boolean jj_2_5(int xla)
           
private  boolean jj_2_6(int xla)
           
private  boolean jj_2_7(int xla)
           
private  boolean jj_2_8(int xla)
           
private  boolean jj_2_9(int xla)
           
private  boolean jj_3_1()
           
private  boolean jj_3_10()
           
private  boolean jj_3_11()
           
private  boolean jj_3_12()
           
private  boolean jj_3_13()
           
private  boolean jj_3_14()
           
private  boolean jj_3_15()
           
private  boolean jj_3_16()
           
private  boolean jj_3_2()
           
private  boolean jj_3_3()
           
private  boolean jj_3_4()
           
private  boolean jj_3_5()
           
private  boolean jj_3_6()
           
private  boolean jj_3_7()
           
private  boolean jj_3_8()
           
private  boolean jj_3_9()
           
private  boolean jj_3R_25()
           
private  boolean jj_3R_26()
           
private  boolean jj_3R_27()
           
private  boolean jj_3R_28()
           
private  boolean jj_3R_29()
           
private  boolean jj_3R_30()
           
private  boolean jj_3R_31()
           
private  boolean jj_3R_32()
           
private  boolean jj_3R_33()
           
private  boolean jj_3R_34()
           
private  boolean jj_3R_35()
           
private  boolean jj_3R_36()
           
private  boolean jj_3R_37()
           
private  boolean jj_3R_38()
           
private  boolean jj_3R_39()
           
private  boolean jj_3R_40()
           
private  boolean jj_3R_41()
           
private  boolean jj_3R_42()
           
private  boolean jj_3R_43()
           
private  boolean jj_3R_44()
           
private  boolean jj_3R_45()
           
private  boolean jj_3R_46()
           
private  boolean jj_3R_47()
           
private  boolean jj_3R_48()
           
private  boolean jj_3R_49()
           
private  boolean jj_3R_50()
           
private  boolean jj_3R_51()
           
private  boolean jj_3R_52()
           
private  boolean jj_3R_53()
           
private  boolean jj_3R_54()
           
private  boolean jj_3R_55()
           
private  boolean jj_3R_56()
           
private  boolean jj_3R_57()
           
private  boolean jj_3R_58()
           
private  boolean jj_3R_59()
           
private  boolean jj_3R_60()
           
private  boolean jj_3R_61()
           
private  boolean jj_3R_62()
           
private  boolean jj_3R_63()
           
private  boolean jj_3R_64()
           
private  boolean jj_3R_65()
           
private  boolean jj_3R_66()
           
private  boolean jj_3R_67()
           
private  boolean jj_3R_68()
           
private  boolean jj_3R_69()
           
private  boolean jj_3R_70()
           
private  void jj_add_error_token(int kind, int pos)
           
private  Token jj_consume_token(int kind)
           
private static void jj_la1_0()
           
private static void jj_la1_1()
           
private static void jj_la1_2()
           
private  int jj_ntk()
           
private  void jj_rescan_token()
           
private  void jj_save(int index, int xla)
           
private  boolean jj_scan_token(int kind)
           
 void logicalAnd()
           
 void logicalEquals()
           
 void logicalOr()
           
 void matrixConstruct()
           
 void nilArrayConstruct()
           
 void optTypeSpecifier()
           
 void orderedRecordConstruct()
           
 void power()
           
 void primaryElement()
           
 void recordConstruct()
           
static void registerConstant(java.lang.String name, java.lang.Object value)
          Add a constant to the list of constants that the parser recognizes.
static void registerFunctionClass(java.lang.String newClassName)
          Add a class to the list of classes that the parser searches when a function call is encountered.
 void ReInit(java.io.InputStream stream)
           
 void ReInit(java.io.InputStream stream, java.lang.String encoding)
           
 void ReInit(PtParserTokenManager tm)
           
 void ReInit(java.io.Reader stream)
           
 void relational()
           
 void shift()
           
 ASTPtRootNode start()
           
 java.util.Map startAssignmentList()
           
 ASTPtRootNode startSimpleAssignment()
           
 ASTPtRootNode startString()
           
 void stringModeElement()
           
 void stringModeString()
           
 void sum()
           
 void term()
           
 void unary()
           
 void unionConstruct()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

jjtree

protected JJTPtParserState jjtree

debug

boolean debug

_alreadyInitialized

private static boolean _alreadyInitialized

_classesSearched

private static java.util.List _classesSearched

token_source

public PtParserTokenManager token_source

jj_input_stream

SimpleCharStream jj_input_stream

token

public Token token

jj_nt

public Token jj_nt

jj_ntk

private int jj_ntk

jj_scanpos

private Token jj_scanpos

jj_lastpos

private Token jj_lastpos

jj_la

private int jj_la

lookingAhead

public boolean lookingAhead

jj_semLA

private boolean jj_semLA

jj_gen

private int jj_gen

jj_la1

private final int[] jj_la1

jj_la1_0

private static int[] jj_la1_0

jj_la1_1

private static int[] jj_la1_1

jj_la1_2

private static int[] jj_la1_2

jj_2_rtns

private final PtParser.JJCalls[] jj_2_rtns

jj_rescan

private boolean jj_rescan

jj_gc

private int jj_gc

jj_ls

private final PtParser.LookaheadSuccess jj_ls

jj_expentries

private java.util.Vector jj_expentries

jj_expentry

private int[] jj_expentry

jj_kind

private int jj_kind

jj_lasttokens

private int[] jj_lasttokens

jj_endpos

private int jj_endpos
Constructor Detail

PtParser

public PtParser()

PtParser

public PtParser(java.io.InputStream stream)

PtParser

public PtParser(java.io.InputStream stream,
                java.lang.String encoding)

PtParser

public PtParser(java.io.Reader stream)

PtParser

public PtParser(PtParserTokenManager tm)
Method Detail

getUndefinedList

public java.util.LinkedList getUndefinedList(java.lang.String stringIn)
                                      throws IllegalActionException
Deprecated. Use a visitor with a ParseTreeFreeVariableCollector instead.

Returns the list of undefined variables after parsing the given String.

Parameters:
stringIn - The expression to be parsed
Returns:
The list of undefined variables.
Throws:
IllegalActionException - If the parse fails.

generateParseTree

public ASTPtRootNode generateParseTree(java.lang.String stringIn)
                                throws IllegalActionException
Generates a parse tree from the given String. The root node is returned. To evaluate the parse tree, use a ParseTreeEvaluator.

Parameters:
stringIn - The expression to be parsed.
Returns:
The root node of the parse tree.
Throws:
IllegalActionException - If the parse fails.

generateSimpleAssignmentParseTree

public ASTPtRootNode generateSimpleAssignmentParseTree(java.lang.String stringIn)
                                                throws IllegalActionException
Generates a parse tree from the given String, which may optionally contain an assignment. The root node is returned. If the string represents an assignment, then the toplevel node will be an ASTPtAssignmentNode.

Parameters:
stringIn - The expression to be parsed.
Returns:
The root node of the parse tree.
Throws:
IllegalActionException - If the parse fails.

generateStringParseTree

public ASTPtRootNode generateStringParseTree(java.lang.String stringIn)
                                      throws IllegalActionException
Generates a parse tree from the given String, which is interpreted in "String Mode" instead of as an operator expression. In string mode, the expression is a literal string, except for identifiers which are denoted by $param. The root node is returned. To evaluate the parse tree, use a ParseTreeEvaluator.

Parameters:
stringIn - The expression to be parsed.
Returns:
The root node of the parse tree.
Throws:
IllegalActionException - If the parse fails.

generateAssignmentMap

public java.util.Map generateAssignmentMap(java.lang.String stringIn)
                                    throws IllegalActionException
Generates a parse tree from the given String. The string will be parsed according to rules for assignment lists. The returned node is a RootNode containing one assignment node for each assignment in the expression.

Parameters:
stringIn - The expression to be parsed.
Returns:
The root node of the parse tree.
Throws:
IllegalActionException - If the parse fails.

getRegisteredClasses

public static java.util.List getRegisteredClasses()
Return the list of classes the parser searches when a function call is encountered. The classes are searched in the same order that they were registered with the parser, so the classes that are most likely to be searched should be registered first. This method is synchronized so that it can be called safely from multiple parsers.

Returns:
An unmodifiable list that can be iterated over.

registerConstant

public static void registerConstant(java.lang.String name,
                                    java.lang.Object value)
                             throws java.lang.IllegalArgumentException
Add a constant to the list of constants that the parser recognizes. It is a static method. The constants are stored in a hash table by the Constants class. The entry for each name is a ptolemy.data.Token of the appropriate type. The value for the constant can be given in a ptolemy.data.Token or in one of the data wrapper classes in java.lang.

Parameters:
name - The string name that the parser will recognize.
value - An Object constraining the value associated with the constant.
Throws:
java.lang.IllegalArgumentException - If the constant cannot be registered with the parser.

registerFunctionClass

public static void registerFunctionClass(java.lang.String newClassName)
                                  throws java.lang.IllegalArgumentException
Add a class to the list of classes that the parser searches when a function call is encountered. It is a static method. It stores the classes in a LinkedList. The classes are searched in the same order that they were registered with the parser, so the classes that are most likely to be searched should be registered first. This method is synchronized so that it can be called safely from multiple parsers.

Parameters:
newClassName - The fully qualified name of the Class to be added to the search path for functions.
Throws:
java.lang.IllegalArgumentException - If the Class named by the argument cannot not be found.

_initialize

private void _initialize()
Initialize the static variable containing the classes searched by the parser upon encountering a function call.


startSimpleAssignment

public final ASTPtRootNode startSimpleAssignment()
                                          throws ParseException
Throws:
ParseException

startAssignmentList

public final java.util.Map startAssignmentList()
                                        throws ParseException
Throws:
ParseException

assignment

public final void assignment()
                      throws ParseException
Throws:
ParseException

startString

public final ASTPtRootNode startString()
                                throws ParseException
Throws:
ParseException

stringModeElement

public final void stringModeElement()
                             throws ParseException
Throws:
ParseException

stringModeString

public final void stringModeString()
                            throws ParseException
Throws:
ParseException

start

public final ASTPtRootNode start()
                          throws ParseException
Throws:
ParseException

expression

public final void expression()
                      throws ParseException
Throws:
ParseException

funcIf

public final void funcIf()
                  throws ParseException
Throws:
ParseException

logicalOr

public final void logicalOr()
                     throws ParseException
Throws:
ParseException

logicalAnd

public final void logicalAnd()
                      throws ParseException
Throws:
ParseException

bitwiseOr

public final void bitwiseOr()
                     throws ParseException
Throws:
ParseException

bitwiseXor

public final void bitwiseXor()
                      throws ParseException
Throws:
ParseException

bitwiseAnd

public final void bitwiseAnd()
                      throws ParseException
Throws:
ParseException

logicalEquals

public final void logicalEquals()
                         throws ParseException
Throws:
ParseException

power

public final void power()
                 throws ParseException
Throws:
ParseException

relational

public final void relational()
                      throws ParseException
Throws:
ParseException

shift

public final void shift()
                 throws ParseException
Throws:
ParseException

sum

public final void sum()
               throws ParseException
Throws:
ParseException

term

public final void term()
                throws ParseException
Throws:
ParseException

unary

public final void unary()
                 throws ParseException
Throws:
ParseException

element

public final void element()
                   throws ParseException
Throws:
ParseException

integer

public final void integer()
                   throws ParseException
Throws:
ParseException

primaryElement

public final void primaryElement()
                          throws ParseException
Throws:
ParseException

functionDefinition

public final void functionDefinition()
                              throws ParseException
Throws:
ParseException

optTypeSpecifier

public final void optTypeSpecifier()
                            throws ParseException
Throws:
ParseException

function

public final void function()
                    throws ParseException
Throws:
ParseException

assignmentIdentifier

public final void assignmentIdentifier()
                                throws ParseException
Throws:
ParseException

identifier

public final void identifier()
                      throws ParseException
Throws:
ParseException

matrixConstruct

public final void matrixConstruct()
                           throws ParseException
Throws:
ParseException

recordConstruct

public final void recordConstruct()
                           throws ParseException
Throws:
ParseException

orderedRecordConstruct

public final void orderedRecordConstruct()
                                  throws ParseException
Throws:
ParseException

unionConstruct

public final void unionConstruct()
                          throws ParseException
Throws:
ParseException

arrayConstruct

public final void arrayConstruct()
                          throws ParseException
Throws:
ParseException

nilArrayConstruct

public final void nilArrayConstruct()
                             throws ParseException
Throws:
ParseException

jj_2_1

private final boolean jj_2_1(int xla)

jj_2_2

private final boolean jj_2_2(int xla)

jj_2_3

private final boolean jj_2_3(int xla)

jj_2_4

private final boolean jj_2_4(int xla)

jj_2_5

private final boolean jj_2_5(int xla)

jj_2_6

private final boolean jj_2_6(int xla)

jj_2_7

private final boolean jj_2_7(int xla)

jj_2_8

private final boolean jj_2_8(int xla)

jj_2_9

private final boolean jj_2_9(int xla)

jj_2_10

private final boolean jj_2_10(int xla)

jj_2_11

private final boolean jj_2_11(int xla)

jj_2_12

private final boolean jj_2_12(int xla)

jj_2_13

private final boolean jj_2_13(int xla)

jj_2_14

private final boolean jj_2_14(int xla)

jj_2_15

private final boolean jj_2_15(int xla)

jj_2_16

private final boolean jj_2_16(int xla)

jj_3_9

private final boolean jj_3_9()

jj_3R_40

private final boolean jj_3R_40()

jj_3R_41

private final boolean jj_3R_41()

jj_3R_56

private final boolean jj_3R_56()

jj_3_8

private final boolean jj_3_8()

jj_3R_55

private final boolean jj_3R_55()

jj_3R_54

private final boolean jj_3R_54()

jj_3R_32

private final boolean jj_3R_32()

jj_3R_69

private final boolean jj_3R_69()

jj_3R_53

private final boolean jj_3R_53()

jj_3R_66

private final boolean jj_3R_66()

jj_3R_52

private final boolean jj_3R_52()

jj_3R_38

private final boolean jj_3R_38()

jj_3R_45

private final boolean jj_3R_45()

jj_3R_31

private final boolean jj_3R_31()

jj_3R_67

private final boolean jj_3R_67()

jj_3R_50

private final boolean jj_3R_50()

jj_3R_49

private final boolean jj_3R_49()

jj_3R_51

private final boolean jj_3R_51()

jj_3R_37

private final boolean jj_3R_37()

jj_3_16

private final boolean jj_3_16()

jj_3R_30

private final boolean jj_3R_30()

jj_3R_65

private final boolean jj_3R_65()

jj_3_1

private final boolean jj_3_1()

jj_3_2

private final boolean jj_3_2()

jj_3R_68

private final boolean jj_3R_68()

jj_3R_36

private final boolean jj_3R_36()

jj_3R_62

private final boolean jj_3R_62()

jj_3R_28

private final boolean jj_3R_28()

jj_3_3

private final boolean jj_3_3()

jj_3R_64

private final boolean jj_3R_64()

jj_3R_35

private final boolean jj_3R_35()

jj_3R_26

private final boolean jj_3R_26()

jj_3_4

private final boolean jj_3_4()

jj_3R_70

private final boolean jj_3R_70()

jj_3R_48

private final boolean jj_3R_48()

jj_3R_61

private final boolean jj_3R_61()

jj_3R_39

private final boolean jj_3R_39()

jj_3R_27

private final boolean jj_3R_27()

jj_3_5

private final boolean jj_3_5()

jj_3R_25

private final boolean jj_3R_25()

jj_3_7

private final boolean jj_3_7()

jj_3_6

private final boolean jj_3_6()

jj_3R_44

private final boolean jj_3R_44()

jj_3R_34

private final boolean jj_3R_34()

jj_3_15

private final boolean jj_3_15()

jj_3R_47

private final boolean jj_3R_47()

jj_3R_46

private final boolean jj_3R_46()

jj_3_14

private final boolean jj_3_14()

jj_3R_29

private final boolean jj_3R_29()

jj_3R_43

private final boolean jj_3R_43()

jj_3_13

private final boolean jj_3_13()

jj_3R_60

private final boolean jj_3R_60()

jj_3R_42

private final boolean jj_3R_42()

jj_3_12

private final boolean jj_3_12()

jj_3R_63

private final boolean jj_3R_63()

jj_3R_59

private final boolean jj_3R_59()

jj_3_11

private final boolean jj_3_11()

jj_3R_33

private final boolean jj_3R_33()

jj_3R_58

private final boolean jj_3R_58()

jj_3_10

private final boolean jj_3_10()

jj_3R_57

private final boolean jj_3R_57()

jj_la1_0

private static void jj_la1_0()

jj_la1_1

private static void jj_la1_1()

jj_la1_2

private static void jj_la1_2()

ReInit

public void ReInit(java.io.InputStream stream)

ReInit

public void ReInit(java.io.InputStream stream,
                   java.lang.String encoding)

ReInit

public void ReInit(java.io.Reader stream)

ReInit

public void ReInit(PtParserTokenManager tm)

jj_consume_token

private final Token jj_consume_token(int kind)
                              throws ParseException
Throws:
ParseException

jj_scan_token

private final boolean jj_scan_token(int kind)

getNextToken

public final Token getNextToken()

getToken

public final Token getToken(int index)

jj_ntk

private final int jj_ntk()

jj_add_error_token

private void jj_add_error_token(int kind,
                                int pos)

generateParseException

public ParseException generateParseException()

enable_tracing

public final void enable_tracing()

disable_tracing

public final void disable_tracing()

jj_rescan_token

private final void jj_rescan_token()

jj_save

private final void jj_save(int index,
                           int xla)