All Classes
-
All Classes Interface Summary Class Summary Enum Summary Exception Summary Error Summary Annotation Types Summary Class Description AcceptInliner TheAcceptInliner
visitor (an extension ofvisitor
) is called byVisitorsGenerator
(which callsAcceptInliner.genAcceptMethods(StringBuilder, Spacing, UserClassInfo, VisitorInfo)
to "inline" the accept methods on the user classes nodes.
This facilitates the user customization work by preparing all the lines of code the user wants to keep or to modify.AccessModifier JTB node class for the production AccessModifier:
Corresponding grammar:
f0 -> ( %0 "public"
..Action Describes actions that may occur on the right hand side of productions.AdditiveExpression JTB node class for the production AdditiveExpression:
Corresponding grammar:
f0 -> MultiplicativeExpression()
f1 -> ( #0 ( %0 "+"
..AllocationExpression JTB node class for the production AllocationExpression:
Corresponding grammar:
f0 -> .AndExpression JTB node class for the production AndExpression:
Corresponding grammar:
f0 -> EqualityExpression()
f1 -> ( #0 "&" #1 EqualityExpression() )*
s: -629554573Annotation JTB node class for the production Annotation:
Corresponding grammar:
f0 -> .AnnotationTypeBody JTB node class for the production AnnotationTypeBody:
Corresponding grammar:
f0 -> "{"
f1 -> ( AnnotationTypeMemberDeclaration() )*
f2 -> "}"
s: -667465535AnnotationTypeDeclaration JTB node class for the production AnnotationTypeDeclaration:
Corresponding grammar:
f0 -> "@"
f1 -> "interface"
f2 -> < IDENTIFIER >
f3 -> AnnotationTypeBody()
s: 383718196AnnotationTypeMemberDeclaration JTB node class for the production AnnotationTypeMemberDeclaration:
Corresponding grammar:
f0 -> .ArgumentList JTB node class for the production ArgumentList:
Corresponding grammar:
f0 -> Expression()
f1 -> ( #0 "," #1 Expression() )*
s: -662366547Arguments JTB node class for the production Arguments:
Corresponding grammar:
f0 -> "("
f1 -> [ ArgumentList() ]
f2 -> ")"
s: 2046130821ArrayDimsAndInits JTB node class for the production ArrayDimsAndInits:
Corresponding grammar:
f0 -> .ArrayInitializer JTB node class for the production ArrayInitializer:
Corresponding grammar:
f0 -> "{"
f1 -> [ #0 VariableInitializer()
..AssertStatement JTB node class for the production AssertStatement:
Corresponding grammar:
f0 -> "assert"
f1 -> Expression()
f2 -> [ #0 ":" #1 Expression() ]
f3 -> ";"
s: -579866328AssignmentOperator JTB node class for the production AssignmentOperator:
Corresponding grammar:
f0 -> .BaseNodesGenerator ClassBaseNodesGenerator
contains methods to generate the base nodes interfaces and classes.Block JTB node class for the production Block:
Corresponding grammar:
f0 -> "{"
f1 -> ( BlockStatement() )*
f2 -> "}"
s: -47169424BlockStatement JTB node class for the production BlockStatement:
Corresponding grammar:
f0 -> .BNFProduction JTB node class for the production BNFProduction:
Corresponding grammar:
f0 -> AccessModifier()
f1 -> ResultType()
f2 -> IdentifierAsString()
f3 -> FormalParameters()
f4 -> [ #0 "throws" #1 Name()
..BNFProduction_ Describes BNF productions.BooleanLiteral JTB node class for the production BooleanLiteral:
Corresponding grammar:
f0 -> .BreakStatement JTB node class for the production BreakStatement:
Corresponding grammar:
f0 -> "break"
f1 -> [ < IDENTIFIER > ]
f2 -> ";"
s: 2096828507CastExpression JTB node class for the production CastExpression:
Corresponding grammar:
f0 -> .CastLookahead JTB node class for the production CastLookahead:
Corresponding grammar:
f0 -> .CharacterDescriptor JTB node class for the production CharacterDescriptor:
Corresponding grammar:
f0 -> StringLiteral()
f1 -> [ #0 "-" #1 StringLiteral() ]
s: 895087809CharacterList JTB node class for the production CharacterList:
Corresponding grammar:
f0 -> [ "~" ]
f1 -> "["
f2 -> [ #0 CharacterDescriptor()
..CharacterRange Describes character range descriptors in a character list.Choice Describes expansions where one of many choices is taken (c1 | c2 | ...).ClassesFinder TheClassesFinder
visitor creates a list ofUserClassInfo
objects describing every class to be generated.ClassOrInterfaceBody JTB node class for the production ClassOrInterfaceBody:
Corresponding grammar:
f0 -> "{"
f1 -> ( ClassOrInterfaceBodyDeclaration() )*
f2 -> "}"
s: 1154515364ClassOrInterfaceBodyDeclaration JTB node class for the production ClassOrInterfaceBodyDeclaration:
Corresponding grammar:
f0 -> .ClassOrInterfaceDeclaration JTB node class for the production ClassOrInterfaceDeclaration:
Corresponding grammar:
f0 -> ( %0 "class"
..ClassOrInterfaceType JTB node class for the production ClassOrInterfaceType:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> [ TypeArguments() ]
f2 -> ( #0 "." #1 < IDENTIFIER >
..CommonCodeGenerator ClassCommonCodeGenerator
contains methods to generate common pieces of code (fields and methods).CompilationUnit JTB node class for the production CompilationUnit:
Corresponding grammar:
f0 -> [ PackageDeclaration() ]
f1 -> ( ImportDeclaration() )*
f2 -> ( TypeDeclaration() )*
s: 1761039264ComplexRegularExpression JTB node class for the production ComplexRegularExpression:
Corresponding grammar:
f0 -> ( ComplexRegularExpressionUnit() )+
s: 896313544ComplexRegularExpressionChoices JTB node class for the production ComplexRegularExpressionChoices:
Corresponding grammar:
f0 -> ComplexRegularExpression()
f1 -> ( #0 "|" #1 ComplexRegularExpression() )*
s: -1240933595ComplexRegularExpressionUnit JTB node class for the production ComplexRegularExpressionUnit:
Corresponding grammar:
f0 -> .ConditionalAndExpression JTB node class for the production ConditionalAndExpression:
Corresponding grammar:
f0 -> InclusiveOrExpression()
f1 -> ( #0 "&&" #1 InclusiveOrExpression() )*
s: -1425815203ConditionalExpression JTB node class for the production ConditionalExpression:
Corresponding grammar:
f0 -> ConditionalOrExpression()
f1 -> [ #0 "?" #1 Expression() #2 ":" #3 Expression() ]
s: -1150694214ConditionalOrExpression JTB node class for the production ConditionalOrExpression:
Corresponding grammar:
f0 -> ConditionalAndExpression()
f1 -> ( #0 "||" #1 ConditionalAndExpression() )*
s: -1592298777Constants ClassConstants
contains static global flags, constants and names.ConstructorDeclaration JTB node class for the production ConstructorDeclaration:
Corresponding grammar:
f0 -> [ TypeParameters() ]
f1 -> < IDENTIFIER >
f2 -> FormalParameters()
f3 -> [ #0 "throws" #1 NameList() ]
f4 -> "{"
f5 -> [ ExplicitConstructorInvocation() ]
f6 -> ( BlockStatement() )*
f7 -> "}"
s: 1258397065Container An object container.ContinueStatement JTB node class for the production ContinueStatement:
Corresponding grammar:
f0 -> "continue"
f1 -> [ < IDENTIFIER > ]
f2 -> ";"
s: -1991535243ControlSignatureProcessor TheControlSignatureProcessor
annotation processor issues a compile error when the user visitors' visit methods annotatedNodeFieldsSignature
are not coded against the last nodes definitions.DefaultValue JTB node class for the production DefaultValue:
Corresponding grammar:
f0 -> "default"
f1 -> MemberValue()
s: -1936312236DepthFirstIntVisitor Provides default methods which visit each node in the tree in depth-first order.
In your "Int" visitors extend this class and override part or all of these methods.DepthFirstIntVisitor.ShouldNotOccurException Class handling a programmatic exception.DepthFirstVoidVisitor Provides default methods which visit each node in the tree in depth-first order.
In your "Void" visitors extend this class and override part or all of these methods.DepthFirstVoidVisitor.ShouldNotOccurException Class handling a programmatic exception.DoStatement JTB node class for the production DoStatement:
Corresponding grammar:
f0 -> "do"
f1 -> Statement()
f2 -> "while"
f3 -> "("
f4 -> Expression()
f5 -> ")"
f6 -> ";"
s: 1162769715EmptyStatement JTB node class for the production EmptyStatement:
Corresponding grammar:
f0 -> ";"
s: 2055660624EmptyTypeArguments JTB node class for the production EmptyTypeArguments:
Corresponding grammar:
f0 -> "<"
f1 -> ">"
s: 859421181EnumBody JTB node class for the production EnumBody:
Corresponding grammar:
f0 -> "{"
f1 -> [ #0 EnumConstant()
..EnumConstant JTB node class for the production EnumConstant:
Corresponding grammar:
f0 -> Modifiers()
f1 -> < IDENTIFIER >
f2 -> [ Arguments() ]
f3 -> [ ClassOrInterfaceBody() ]
s: -8699830EnumDeclaration JTB node class for the production EnumDeclaration:
Corresponding grammar:
f0 -> "enum"
f1 -> < IDENTIFIER >
f2 -> [ ImplementsList() ]
f3 -> EnumBody()
s: 359041865EqualityExpression JTB node class for the production EqualityExpression:
Corresponding grammar:
f0 -> InstanceOfExpression()
f1 -> ( #0 ( %0 "=="
..ExclusiveOrExpression JTB node class for the production ExclusiveOrExpression:
Corresponding grammar:
f0 -> AndExpression()
f1 -> ( #0 "^" #1 AndExpression() )*
s: -1241708769Expansion JTB node class for the production Expansion:
Corresponding grammar:
f0 -> ( #0 "LOOKAHEAD" #1 "(" #2 LocalLookahead() #3 ")" )?
f1 -> ( ExpansionUnit() )+
s: -2134365682Expansion_ Describes expansions - entities that may occur on the right hand sides of productions.Expansion_.EXP_TYPE Subclasses enum typeExpansionChoices JTB node class for the production ExpansionChoices:
Corresponding grammar:
f0 -> Expansion()
f1 -> ( #0 "|" #1 Expansion() )*
s: -1726831935ExpansionUnit JTB node class for the production ExpansionUnit:
Corresponding grammar:
f0 -> .ExpansionUnitTCF JTB node class for the production ExpansionUnitTCF:
Corresponding grammar:
f0 -> "try"
f1 -> "{"
f2 -> ExpansionChoices()
f3 -> "}"
f4 -> ( #0 "catch" #1 "("
..ExplicitConstructorInvocation JTB node class for the production ExplicitConstructorInvocation:
Corresponding grammar:
f0 -> ( %0 #0 [ $0 "<" $1 ReferenceType()
..Expression JTB node class for the production Expression:
Corresponding grammar:
f0 -> ConditionalExpression()
f1 -> [ #0 AssignmentOperator() #1 Expression() ]
s: -1186270200ExtendsList JTB node class for the production ExtendsList:
Corresponding grammar:
f0 -> "extends"
f1 -> ClassOrInterfaceType()
f2 -> ( #0 "," #1 ClassOrInterfaceType() )*
s: 24279225FieldDeclaration JTB node class for the production FieldDeclaration:
Corresponding grammar:
f0 -> Type()
f1 -> VariableDeclarator()
f2 -> ( #0 "," #1 VariableDeclarator() )*
f3 -> ";"
s: 1567612384ForInit JTB node class for the production ForInit:
Corresponding grammar:
f0 -> .FormalParameter JTB node class for the production FormalParameter:
Corresponding grammar:
f0 -> Modifiers()
f1 -> Type()
f2 -> [ "..." ]
f3 -> VariableDeclaratorId()
s: -1358852705FormalParameters JTB node class for the production FormalParameters:
Corresponding grammar:
f0 -> "("
f1 -> [ #0 FormalParameter()
..ForStatement JTB node class for the production ForStatement:
Corresponding grammar:
f0 -> "for"
f1 -> "("
f2 -> ( %0 #0 VariableModifiers() #1 Type() #2 < IDENTIFIER > #3 ":" #4 Expression()
..ForUpdate JTB node class for the production ForUpdate:
Corresponding grammar:
f0 -> StatementExpressionList()
s: -1489663891GlobalDataBuilder TheGlobalDataBuilder
visitor performs, at the beginning of the JTB processing, some error checking and builds and stores objects needed by other classes: a HashMap (GlobalDataBuilder.notTbcNodesHM
) of JavaCodeProductions whose nodes must be created ("%" syntax) and of BNFProductions whose nodes must not be created ("!" syntax), a HashMap (GlobalDataBuilder.prodHM
) of all JavaCodeProductions and BNFProductions identifiers and their result type, a list (GlobalDataBuilder.retVarInfo
) of return variables declarations (for all non "void" JavaCodeProductions for which the node creation has been asked and BNFProductions for which the node creation has not been forbidden) a HashMap (GlobalDataBuilder.tokenHM
) of tokens which have a constant regular expression, e.g.IdentifierAsString JTB node class for the production IdentifierAsString:
Corresponding grammar:
f0 -> < IDENTIFIER >
s: -1580059612IfStatement JTB node class for the production IfStatement:
Corresponding grammar:
f0 -> "if"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Statement()
f5 -> [ #0 "else" #1 Statement() ]
s: -1906079982IIntVisitor All "IIntVisitor" visitors must implement this interface.ImplementsList JTB node class for the production ImplementsList:
Corresponding grammar:
f0 -> "implements"
f1 -> ClassOrInterfaceType()
f2 -> ( #0 "," #1 ClassOrInterfaceType() )*
s: 1830366786ImportDeclaration JTB node class for the production ImportDeclaration:
Corresponding grammar:
f0 -> "import"
f1 -> [ "static" ]
f2 -> Name()
f3 -> [ #0 "." #1 "*" ]
f4 -> ";"
s: -1592912780InclusiveOrExpression JTB node class for the production InclusiveOrExpression:
Corresponding grammar:
f0 -> ExclusiveOrExpression()
f1 -> ( #0 "|" #1 ExclusiveOrExpression() )*
s: 963402497Initializer JTB node class for the production Initializer:
Corresponding grammar:
f0 -> [ "static" ]
f1 -> Block()
s: -423135641INode The interface which all syntax tree classes must implement.INodeList InstanceOfExpression JTB node class for the production InstanceOfExpression:
Corresponding grammar:
f0 -> RelationalExpression()
f1 -> [ #0 "instanceof" #1 Type() ]
s: 933354553IntegerLiteral JTB node class for the production IntegerLiteral:
Corresponding grammar:
f0 -> < INTEGER_LITERAL >
s: -1048223857IVoidVisitor All "IVoidVisitor" visitors must implement this interface.JavaBranchPrinter ClassJavaBranchPrinter
is not itself a visitor but it uses aJavaPrinter
visitor to visit a java code branch of the tree and returns a pretty printed string representation of the subtree.JavaCCErrors Output error messages and keep track of totals.JavaCCGlobals This package contains data created as a result of parsing and semanticizing a JavaCC input file.JavaCCInput JTB node class for the production JavaCCInput:
Corresponding grammar:
f0 -> JavaCCOptions()
f1 -> "PARSER_BEGIN"
f2 -> "("
f3 -> IdentifierAsString()
f4 -> ")"
f5 -> CompilationUnit()
f6 -> "PARSER_END"
f7 -> "("
f8 -> IdentifierAsString()
f9 -> ")"
f10 -> ( Production() )+
f11 -> < EOF >
s: 1465207473JavaCCOptions JTB node class for the production JavaCCOptions:
Corresponding grammar:
f0 -> [ #0 "options" #1 "{"
..JavaCCParserConstants Token literal values and constants.JavaCCParserInternals Utilities.JavaCharStream An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing).JavaCodeProduction JTB node class for the production JavaCodeProduction:
Corresponding grammar:
f0 -> "JAVACODE"
f1 -> AccessModifier()
f2 -> ResultType()
f3 -> IdentifierAsString()
f4 -> FormalParameters()
f5 -> [ #0 "throws" #1 Name()
..JavaCodeProduction_ Describes JAVACODE productions.JavaIdentifier JTB node class for the production JavaIdentifier:
Corresponding grammar:
f0 -> ( %00 < IDENTIFIER >
..JavaPrinter TheJavaPrinter
visitor reprints (with indentation) JavaCC grammar Java specific productions.JJFileAnnotator TheJJFileAnnotator
visitor generates the (jtb) annotated .jj file containing the tree-building code.JTB Java Tree Builder (JTB) Driver.JTBOptions A subclass of the JavaCC options class to extend it to the JTB options.
It also handles the global variables reflecting the JTB options and some derived objects and methods.JTBParser JTBParser.ModifierSet JTBParserConstants Token literal values and constants.JTBParserTokenManager Token Manager.LabeledStatement JTB node class for the production LabeledStatement:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> ":"
f2 -> Statement()
s: -1956923191LexGen Generate lexer.Literal JTB node class for the production Literal:
Corresponding grammar:
f0 -> .LocalLookahead JTB node class for the production LocalLookahead:
Corresponding grammar:
f0 -> [ IntegerLiteral() ]
f1 -> [ "," ]
f2 -> [ ExpansionChoices() ]
f3 -> [ "," ]
f4 -> [ #0 "{"
..LocalVariableDeclaration JTB node class for the production LocalVariableDeclaration:
Corresponding grammar:
f0 -> VariableModifiers()
f1 -> Type()
f2 -> VariableDeclarator()
f3 -> ( #0 "," #1 VariableDeclarator() )*
s: 225808290Lookahead Describes lookahead rule for a particular expansion or expansion sequence (See Sequence.java).MarkerAnnotation JTB node class for the production MarkerAnnotation:
Corresponding grammar:
f0 -> "@"
f1 -> Name()
s: -11544239MemberSelector JTB node class for the production MemberSelector:
Corresponding grammar:
f0 -> "."
f1 -> TypeArguments()
f2 -> < IDENTIFIER >
s: 257570924MemberValue JTB node class for the production MemberValue:
Corresponding grammar:
f0 -> .MemberValueArrayInitializer JTB node class for the production MemberValueArrayInitializer:
Corresponding grammar:
f0 -> "{"
f1 -> MemberValue()
f2 -> ( #0 "," #1 MemberValue() )*
f3 -> [ "," ]
f4 -> "}"
s: 111140055MemberValuePair JTB node class for the production MemberValuePair:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> "="
f2 -> MemberValue()
s: -476335468MemberValuePairs JTB node class for the production MemberValuePairs:
Corresponding grammar:
f0 -> MemberValuePair()
f1 -> ( #0 "," #1 MemberValuePair() )*
s: -113472239Messages ClassMessages
handles messages (informations, warnings and fatal errors), printing a message to the user and handling it appropriately.MethodDeclaration JTB node class for the production MethodDeclaration:
Corresponding grammar:
f0 -> [ TypeParameters() ]
f1 -> ResultType()
f2 -> MethodDeclarator()
f3 -> [ #0 "throws" #1 NameList() ]
f4 -> ( %0 Block()
..MethodDeclarator JTB node class for the production MethodDeclarator:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> FormalParameters()
f2 -> ( #0 "[" #1 "]" )*
s: -837793747Modifiers JTB node class for the production Modifiers:
Corresponding grammar:
f0 -> ( ( %00 "public"
..MultiplicativeExpression JTB node class for the production MultiplicativeExpression:
Corresponding grammar:
f0 -> UnaryExpression()
f1 -> ( #0 ( %0 "*"
..Name JTB node class for the production Name:
Corresponding grammar:
f0 -> JavaIdentifier()
f1 -> ( #0 "." #1 JavaIdentifier() )*
s: 565597065NameList JTB node class for the production NameList:
Corresponding grammar:
f0 -> Name()
f1 -> ( #0 "," #1 Name() )*
s: -1147957113Nfa A Non-deterministic Finite Automaton.NfaState The state of a Non-deterministic Finite Automaton.NodeChoice Represents a grammar choice (|), e.g.NodeConstants Provides constants reflecting the JTB user nodes.NodeFieldsSignature AnnotationNodeFieldsSignature
enables theControlSignatureProcessor
annotation processor to issue a compile error if the user visitors' visit methods are not coded against the last nodes definitions.
The user nodes signatures are generated in theNodeConstants
class,
the default visitors' visit methods are generated with theNodeFieldsSignature
annotation, with the 3 valuesNodeFieldsSignature.value()
,
and the user visitors' visit methods can be annotated with the same annotation.NodeList Represents a grammar list (+), e.g.NodeListOptional Represents an optional grammar list (*), e.g.NodeOptional Represents a grammar optional node (? or []), e.g.NodeSequence Represents a sequence of nodes (x y z ...) nested within a choice (|), list (+), optional list (*), or optional node (? or []), e.g.NonTerminal Describes non terminals.NormalAnnotation JTB node class for the production NormalAnnotation:
Corresponding grammar:
f0 -> "@"
f1 -> Name()
f2 -> "("
f3 -> [ MemberValuePairs() ]
f4 -> ")"
s: -50913587NormalProduction Describes JavaCC productions.NullLiteral JTB node class for the production NullLiteral:
Corresponding grammar:
f0 -> "null"
s: -1703344686OneOrMore Describes one-or-more expansions (e.g., foo+).OptionBinding JTB node class for the production OptionBinding:
Corresponding grammar:
f0 -> ( %0 < IDENTIFIER >
..Options A class that stores all JTB / JavaCC file options information.PackageDeclaration JTB node class for the production PackageDeclaration:
Corresponding grammar:
f0 -> "package"
f1 -> Name()
f2 -> ";"
s: -2133750237ParseException This exception is thrown when parse errors are encountered.PostfixExpression JTB node class for the production PostfixExpression:
Corresponding grammar:
f0 -> PrimaryExpression()
f1 -> [ %0 "++"
..PreDecrementExpression JTB node class for the production PreDecrementExpression:
Corresponding grammar:
f0 -> "--"
f1 -> PrimaryExpression()
s: -743030168PreIncrementExpression JTB node class for the production PreIncrementExpression:
Corresponding grammar:
f0 -> "++"
f1 -> PrimaryExpression()
s: 2138182184PrimaryExpression JTB node class for the production PrimaryExpression:
Corresponding grammar:
f0 -> PrimaryPrefix()
f1 -> ( PrimarySuffix() )*
s: -840041189PrimaryPrefix JTB node class for the production PrimaryPrefix:
Corresponding grammar:
f0 -> .PrimarySuffix JTB node class for the production PrimarySuffix:
Corresponding grammar:
f0 -> .PrimitiveType JTB node class for the production PrimitiveType:
Corresponding grammar:
f0 -> .Production JTB node class for the production Production:
Corresponding grammar:
f0 -> .ProgrammaticError ClassProgrammaticError
reports internal programmatic unrecoverable errors.RCharacterList Describes character lists.RChoice Describes regular expressions which are choices from from among included regular expressions.ReferenceType JTB node class for the production ReferenceType:
Corresponding grammar:
f0 -> .RegExprKind JTB node class for the production RegExprKind:
Corresponding grammar:
f0 -> .RegExprSpec JTB node class for the production RegExprSpec:
Corresponding grammar:
f0 -> RegularExpression()
f1 -> [ "!" ]
f2 -> [ Block() ]
f3 -> [ #0 ":" #1 < IDENTIFIER > ]
s: -1949948808RegExprSpec_ The object type of entries in the vector "respecs" of class "TokenProduction".RegularExpression JTB node class for the production RegularExpression:
Corresponding grammar:
f0 -> .RegularExpression_ Describes regular expressions.RegularExprProduction JTB node class for the production RegularExprProduction:
Corresponding grammar:
f0 -> [ %0 #0 "<" #1 "*" #2 ">"
..RelationalExpression JTB node class for the production RelationalExpression:
Corresponding grammar:
f0 -> ShiftExpression()
f1 -> ( #0 ( %0 "<"
..REndOfFile Describes the EOF regular expressionResultType JTB node class for the production ResultType:
Corresponding grammar:
f0 -> ( %0 "void"
..ReturnStatement JTB node class for the production ReturnStatement:
Corresponding grammar:
f0 -> "return"
f1 -> [ Expression() ]
f2 -> ";"
s: -1971167888RJustName Describes regular expressions which are referred to just by their name.ROneOrMore Describes one-or-more regular expressions (). RRepetitionRange Describes one-or-more regular expressions (). RSequence Describes regular expressions which are sequences of other regular expressions.RSignedShift JTB node class for the production RSignedShift:
Corresponding grammar:
f0 -> ">"
f1 -> ">"
s: 1560485759RStringLiteral Describes string literals.RUnsignedShift JTB node class for the production RUnsignedShift:
Corresponding grammar:
f0 -> ">"
f1 -> ">"
f2 -> ">"
s: -171434548RZeroOrMore Describes zero-or-more regular expressions (). RZeroOrOne Describes zero-or-one regular expressions (). SemanticChecker TheSemanticChecker
visitor checks and report informations, warnings or errors for the following conditions:
when a JavaCodeProduction is to be generated (warning if return type is non "void", information otherwise) (JTB will alter the code), when a BNFProduction is not to be generated (information), when a to be generated BNFProduction has a return value other than "void" (warning) (JTB will alter the code), when a JavaCodeProduction or a BNFProduction is not to be generated locally but is also not to be generated globally (warning) (as unnecessary), when a JavaCodeProduction or a BNFProduction has a name reserved for an automatically generated JTB class (e.g.Sequence Describes expansions that are sequences of expansion units.ShiftExpression JTB node class for the production ShiftExpression:
Corresponding grammar:
f0 -> AdditiveExpression()
f1 -> ( #0 ( %0 "<<"
..SingleCharacter Describes single character descriptors in a character list.SingleMemberAnnotation JTB node class for the production SingleMemberAnnotation:
Corresponding grammar:
f0 -> "@"
f1 -> Name()
f2 -> "("
f3 -> MemberValue()
f4 -> ")"
s: -1771126382Spacing ClassSpacing
manages the indentation information for pretty printing.Statement JTB node class for the production Statement:
Corresponding grammar:
f0 -> .StatementExpression JTB node class for the production StatementExpression:
Corresponding grammar:
f0 -> .StatementExpressionList JTB node class for the production StatementExpressionList:
Corresponding grammar:
f0 -> StatementExpression()
f1 -> ( #0 "," #1 StatementExpression() )*
s: 186773841StringLiteral JTB node class for the production StringLiteral:
Corresponding grammar:
f0 -> < STRING_LITERAL >
s: 241433948SwitchLabel JTB node class for the production SwitchLabel:
Corresponding grammar:
f0 -> .SwitchStatement JTB node class for the production SwitchStatement:
Corresponding grammar:
f0 -> "switch"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> "{"
f5 -> ( #0 SwitchLabel()
..SynchronizedStatement JTB node class for the production SynchronizedStatement:
Corresponding grammar:
f0 -> "synchronized"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Block()
s: 2040551171ThrowStatement JTB node class for the production ThrowStatement:
Corresponding grammar:
f0 -> "throw"
f1 -> Expression()
f2 -> ";"
s: 568421270Token Represents a JavaCC single token in the grammar and a JTB corresponding node.
The class holds all the fields and methods generated normally by JavaCC, plus the ones required by JTB.
If the "-tk" JTB option is used, it also contains an ArrayList of preceding special tokens.TokenManagerDecls JTB node class for the production TokenManagerDecls:
Corresponding grammar:
f0 -> "TOKEN_MGR_DECLS"
f1 -> ":"
f2 -> ClassOrInterfaceBody()
s: -1566997219TokenMgrError Token Manager Error.TokenProduction Describes the various regular expression productions.TreeDumperGenerator ClassTreeDumperGenerator
generates the TreeDumper visitor which simply prints all the tokens in the tree at the locations given in their beginLine and beginColumn member variables.TreeFormatterGenerator ClassTreeFormatterGenerator
generates the TreeFormatter visitor which is a skeleton pretty-printer.
Using some pre-defined methods, users can quickly and easily create a formatter for their grammar.
The formatter will then take a tree, insert token location information into the Tokens of the tree.
TreeDumper can then be used to output the result.
Note that unlike the other automatically generated file, since this one must be edited to be useful, JTB will not overwrite this file automatically.
JTB will take this precaution for the other files only if the "-w" command-line parameter is used.TryBlock Describes expansions of the form "try {...} ...".TryStatement JTB node class for the production TryStatement:
Corresponding grammar:
f0 -> "try"
f1 -> Block()
f2 -> ( #0 "catch" #1 "(" #2 FormalParameter() #3 ")" #4 Block() )*
f3 -> [ #0 "finally" #1 Block() ]
s: 1108527850Type JTB node class for the production Type:
Corresponding grammar:
f0 -> .TypeArgument JTB node class for the production TypeArgument:
Corresponding grammar:
f0 -> .TypeArguments JTB node class for the production TypeArguments:
Corresponding grammar:
f0 -> "<"
f1 -> TypeArgument()
f2 -> ( #0 "," #1 TypeArgument() )*
f3 -> ">"
s: 131755052TypeBound JTB node class for the production TypeBound:
Corresponding grammar:
f0 -> "extends"
f1 -> ClassOrInterfaceType()
f2 -> ( #0 "&" #1 ClassOrInterfaceType() )*
s: -2080520397TypeDeclaration JTB node class for the production TypeDeclaration:
Corresponding grammar:
f0 -> .TypeParameter JTB node class for the production TypeParameter:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> [ TypeBound() ]
s: 1306471903TypeParameters JTB node class for the production TypeParameters:
Corresponding grammar:
f0 -> "<"
f1 -> TypeParameter()
f2 -> ( #0 "," #1 TypeParameter() )*
f3 -> ">"
s: 1962566888UnaryExpression JTB node class for the production UnaryExpression:
Corresponding grammar:
f0 -> .UnaryExpressionNotPlusMinus JTB node class for the production UnaryExpressionNotPlusMinus:
Corresponding grammar:
f0 -> .UnicodeConverter ClassUnicodeConverter
contains some static methods to convert unicode chars into their escape sequence form (provided by James Huang from the JavaCC mailing list).UnusedExpansionTreeWalker A set of routines that walk down the Expansion_ tree in various ways.
Not used by JTB.UnusedITreeWalkerOp Objects of this type are passed to the tree walker routines inUnusedExpansionTreeWalker
.UnusedJavaFiles Generates the contents of the invariant files (TokenMgrError.java, ParseException.java,Token.java, TokenManager.java, CharStream.java, JavaCharStream.java, SimpleCharStream.java).
Not used by JTB.UnusedLookaheadCalc Not used by JTB.UnusedLookaheadWalk Not used by JTB.UnusedMatchInfo Describes a match, within a given lookahead.
Not used by JTB.UnusedMetaParseException Thrown when there is a mis-configuration or a bug.
Not used by JTB.UnusedOtherFilesGen Generates the invariant files (TokenMgrError.java, ParseException.java,Token.java, TokenManager.java, CharStream.java, JavaCharStream.java, SimpleCharStream.java) and the 'Parser'Constants.java.
Not used by JTB.UnusedOutputFile This class handles the creation and maintenance of the boiler-plate (invariant) classes, (TokenMgrError.java, ParseException.java,Token.java, TokenManager.java, CharStream.java, JavaCharStream.java, SimpleCharStream.java).
It is responsible for: Writing the JavaCC header lines to the file. Writing the checksum line. Using the checksum to determine if an existing file has been changed by the user (and so should be left alone). Checking any existing file's version (if the file can not be overwritten). Checking any existing file's creation options (if the file can not be overwritten).
Not used by JTB.UnusedParseEngine Not used by JTB.UnusedParseGen Generate the parser.
Not used by JTB.UnusedSemanticize Not used by JTB.UserClassInfo ClassUserClassInfo
is used by the JTB driver, the visitors and the files generator to store and retrieve information about a (grammar) user (node) class including its name, the list of its fields, its comments.UserFilesGenerator ClassUserFilesGenerator
contains methods to generate: CODEJAVA the (grammar) user nodes classes (genUserXxx, usingUserClassInfo
), the hook interface and empty class files (genXxxEnterExitHook).VariableDeclarator JTB node class for the production VariableDeclarator:
Corresponding grammar:
f0 -> VariableDeclaratorId()
f1 -> [ #0 "=" #1 VariableInitializer() ]
s: -484955779VariableDeclaratorId JTB node class for the production VariableDeclaratorId:
Corresponding grammar:
f0 -> < IDENTIFIER >
f1 -> ( #0 "[" #1 "]" )*
s: 416704472VariableInitializer JTB node class for the production VariableInitializer:
Corresponding grammar:
f0 -> .VariableModifiers JTB node class for the production VariableModifiers:
Corresponding grammar:
f0 -> ( ( %0 "final"
..VisitorInfo ClassVisitorInfo
holds the characteristics (name, return and arguments types) of a visitor to be generated and theVisitorInfo.extract(String, List)
method to create the visitors list from the visitors specification.VisitorsGenerator ClassVisitorsGenerator
contains methods to generate: CODEJAVA the different IXxxVisitor interfaces and DepthFirstXxxVisitor classes files, the signature files.WhileStatement JTB node class for the production WhileStatement:
Corresponding grammar:
f0 -> "while"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Statement()
s: 503551312WildcardBounds JTB node class for the production WildcardBounds:
Corresponding grammar:
f0 -> .ZeroOrMore Describes zero-or-more expansions (e.g., foo*).ZeroOrOne Describes zero-or-one expansions (e.g., [foo], foo?).