Package com.javacc.parser
Class JavaCCParser
java.lang.Object
com.javacc.parser.JavaCCParser
- All Implemented Interfaces:
JavaCCConstants
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.javacc.parser.JavaCCConstants
JavaCCConstants.LexicalState, JavaCCConstants.TokenType -
Field Summary
FieldsFields inherited from interface com.javacc.parser.JavaCCConstants
BUF_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionJavaCCParser(Grammar grammar, String inputSource, CharSequence content) JavaCCParser(JavaCCLexer lexer) Constructor with user supplied Lexer.JavaCCParser(InputStream stream) JavaCCParser(Reader reader) JavaCCParser(CharSequence content) JavaCCParser(String inputSource, CharSequence content) JavaCCParser(String inputSource, Path path) JavaCCParser(Path path) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidBlock()final voidfinal voidfinal voidvoidcancel()final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal CompilationUnitfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidEnumBody()final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal Expansionfinal voidfinal voidfinal Expressionfinal voidfinal voidfinal voidFailure()final voidfinal voidfinal voidForInit()final voidfinal voidfinal voidbooleanfinal Tokenfinal TokengetToken(int index) final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidbooleanbooleanbooleanfinal voidLabel()final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidLiteral()final voidfinal voidfinal Lookaheadfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal MethodDeclarationfinal voidfinal voidfinal voidfinal voidName()final voidfinal voidfinal voidintfinal NonTerminalfinal voidfinal voidfinal voidfinal voidfinal voidvoidfinal voidOptions()final voidfinal voidfinal voidstatic CompilationUnitparseJavaFile(String inputSource, CharSequence content) static CompilationUnitparseJavaFile(Path path) final voidpeekNode()final voidvoidPuts the node on the top of the stack.popNode()final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidvoidpush a node onto the top of the node stackfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal RegexpReffinal voidfinal voidRegexpSpec(TokenProduction p, String tokenClassName) final voidfinal voidfinal voidfinal voidfinal voidfinal GrammarFileRoot()rootNode()final voidvoidsetBuildTree(boolean buildTree) voidsetEnterIncludes(boolean enterIncludes) voidsetInputSource(String inputSource) voidsetParserTolerant(boolean tolerantParsing) final voidvoidsetTokensAreNodes(boolean tokensAreNodes) voidsetUnparsedTokensAreNodes(boolean unparsedTokensAreNodes) final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidTryBlock()final voidfinal voidfinal voidType()final voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal voidfinal void
-
Field Details
-
token_source
Generated Lexer.
-
-
Constructor Details
-
JavaCCParser
public JavaCCParser(Grammar grammar, Path path, Map<String, String> definedSymbols) throws IOException- Throws:
IOException
-
JavaCCParser
-
JavaCCParser
-
JavaCCParser
-
JavaCCParser
- Parameters:
inputSource- just the name of the input source (typically the filename) that will be used in error messages and so on.path- The location (typically the filename) from which to get the input to parse- Throws:
IOException
-
JavaCCParser
- Parameters:
path- The location (typically the filename) from which to get the input to parse- Throws:
IOException
-
JavaCCParser
-
JavaCCParser
-
JavaCCParser
Constructor with user supplied Lexer.
-
-
Method Details
-
parseJavaFile
public static CompilationUnit parseJavaFile(String inputSource, CharSequence content) throws ParseException - Throws:
ParseException
-
parseJavaFile
- Throws:
ParseExceptionIOException
-
getGrammar
-
openNodeScopeHook
-
setEnterIncludes
public void setEnterIncludes(boolean enterIncludes) -
cancel
public void cancel() -
isCancelled
public boolean isCancelled() -
setInputSource
-
getNextToken
- Returns:
- the next Token off the stream. This is the same as #getToken(1)
-
getToken
- Parameters:
index- how many tokens to look ahead- Returns:
- the specific regular (i.e. parsed) Token index ahead/behind in the stream. If we are in a lookahead, it looks ahead from the currentLookaheadToken Otherwise, it is the lastConsumedToken. If you pass in a negative number it goes backward.
-
CompilationUnit
- Throws:
ParseException
-
PackageDeclaration
- Throws:
ParseException
-
ImportDeclaration
- Throws:
ParseException
-
Modifiers
- Throws:
ParseException
-
TypeDeclaration
- Throws:
ParseException
-
EmptyDeclaration
- Throws:
ParseException
-
TypeIdentifier
- Throws:
ParseException
-
ClassDeclaration
- Throws:
ParseException
-
InterfaceDeclaration
- Throws:
ParseException
-
PermitsList
- Throws:
ParseException
-
ExtendsList
- Throws:
ParseException
-
ImplementsList
- Throws:
ParseException
-
EnumDeclaration
- Throws:
ParseException
-
EnumBody
- Throws:
ParseException
-
RecordDeclaration
- Throws:
ParseException
-
RecordHeader
- Throws:
ParseException
-
RecordComponent
- Throws:
ParseException
-
RecordBody
- Throws:
ParseException
-
CompactConstructorDeclaration
- Throws:
ParseException
-
EnumConstant
- Throws:
ParseException
-
TypeParameters
- Throws:
ParseException
-
TypeParameter
- Throws:
ParseException
-
TypeBound
- Throws:
ParseException
-
ClassOrInterfaceBody
- Throws:
ParseException
-
ClassOrInterfaceBodyDeclaration
- Throws:
ParseException
-
FieldDeclaration
- Throws:
ParseException
-
VariableDeclarator
- Throws:
ParseException
-
VariableDeclaratorId
- Throws:
ParseException
-
VariableInitializer
- Throws:
ParseException
-
ArrayInitializer
- Throws:
ParseException
-
MethodDeclaration
- Throws:
ParseException
-
FormalParameters
- Throws:
ParseException
-
FormalParameter
- Throws:
ParseException
-
ConstructorDeclaration
- Throws:
ParseException
-
ExplicitConstructorInvocation
- Throws:
ParseException
-
Initializer
- Throws:
ParseException
-
Type
- Throws:
ParseException
-
ReferenceType
- Throws:
ParseException
-
ObjectType
- Throws:
ParseException
-
DiamondOperator
- Throws:
ParseException
-
PossiblyEmptyTypeArguments
- Throws:
ParseException
-
TypeArguments
- Throws:
ParseException
-
TypeArgument
- Throws:
ParseException
-
WildcardBounds
- Throws:
ParseException
-
PrimitiveType
- Throws:
ParseException
-
PrimitiveArrayType
- Throws:
ParseException
-
ReturnType
- Throws:
ParseException
-
Name
- Throws:
ParseException
-
ThrowsList
- Throws:
ParseException
-
ExceptionType
- Throws:
ParseException
-
Expression
- Throws:
ParseException
-
AssignmentExpression
- Throws:
ParseException
-
AssignmentOperator
- Throws:
ParseException
-
TernaryExpression
- Throws:
ParseException
-
ConditionalOrExpression
- Throws:
ParseException
-
ConditionalAndExpression
- Throws:
ParseException
-
InclusiveOrExpression
- Throws:
ParseException
-
ExclusiveOrExpression
- Throws:
ParseException
-
AndExpression
- Throws:
ParseException
-
EqualityExpression
- Throws:
ParseException
-
InstanceOfExpression
- Throws:
ParseException
-
RelationalExpression
- Throws:
ParseException
-
ShiftExpression
- Throws:
ParseException
-
AdditiveExpression
- Throws:
ParseException
-
MultiplicativeExpression
- Throws:
ParseException
-
UnaryExpression
- Throws:
ParseException
-
PreIncrementExpression
- Throws:
ParseException
-
PreDecrementExpression
- Throws:
ParseException
-
UnaryExpressionNotPlusMinus
- Throws:
ParseException
-
PostfixExpression
- Throws:
ParseException
-
SwitchExpression
- Throws:
ParseException
-
PrimitiveCastExpression
- Throws:
ParseException
-
ObjectCastExpression
- Throws:
ParseException
-
PrimaryExpression
- Throws:
ParseException
-
LiteralExpression
- Throws:
ParseException
-
Parentheses
- Throws:
ParseException
-
ClassLiteral
- Throws:
ParseException
-
MethodReference
- Throws:
ParseException
-
Literal
- Throws:
ParseException
-
InvocationArguments
- Throws:
ParseException
-
AllocationExpression
- Throws:
ParseException
-
ArrayDimsAndInits
- Throws:
ParseException
-
Label
- Throws:
ParseException
-
Statement
- Throws:
ParseException
-
TryStatement
- Throws:
ParseException
-
AssertStatement
- Throws:
ParseException
-
Block
- Throws:
ParseException
-
BlockStatement
- Throws:
ParseException
-
LocalVariableDeclaration
- Throws:
ParseException
-
NoVarDeclaration
- Throws:
ParseException
-
VarDeclaration
- Throws:
ParseException
-
EmptyStatement
- Throws:
ParseException
-
StatementExpression
- Throws:
ParseException
-
ExpressionStatement
- Throws:
ParseException
-
SwitchStatement
- Throws:
ParseException
-
ClassicSwitchStatement
- Throws:
ParseException
-
ClassicSwitchLabel
- Throws:
ParseException
-
ClassicCaseStatement
- Throws:
ParseException
-
NewSwitchStatement
- Throws:
ParseException
-
NewSwitchLabel
- Throws:
ParseException
-
NewCaseStatement
- Throws:
ParseException
-
IfStatement
- Throws:
ParseException
-
WhileStatement
- Throws:
ParseException
-
DoStatement
- Throws:
ParseException
-
ForStatement
- Throws:
ParseException
-
BasicForStatement
- Throws:
ParseException
-
EnhancedForStatement
- Throws:
ParseException
-
ForInit
- Throws:
ParseException
-
StatementExpressionList
- Throws:
ParseException
-
BreakStatement
- Throws:
ParseException
-
YieldStatement
- Throws:
ParseException
-
ContinueStatement
- Throws:
ParseException
-
ReturnStatement
- Throws:
ParseException
-
ThrowStatement
- Throws:
ParseException
-
SynchronizedStatement
- Throws:
ParseException
-
ClassicTryStatement
- Throws:
ParseException
-
TryWithResources
- Throws:
ParseException
-
CatchBlock
- Throws:
ParseException
-
FinallyBlock
- Throws:
ParseException
-
Annotation
- Throws:
ParseException
-
NormalAnnotation
- Throws:
ParseException
-
MarkerAnnotation
- Throws:
ParseException
-
SingleMemberAnnotation
- Throws:
ParseException
-
MemberValuePairs
- Throws:
ParseException
-
MemberValuePair
- Throws:
ParseException
-
MemberValue
- Throws:
ParseException
-
MemberValueArrayInitializer
- Throws:
ParseException
-
AnnotationTypeDeclaration
- Throws:
ParseException
-
AnnotationTypeBody
- Throws:
ParseException
-
AnnotationMethodDeclaration
- Throws:
ParseException
-
AnnotationTypeMemberDeclaration
- Throws:
ParseException
-
DefaultValue
- Throws:
ParseException
-
LambdaExpression
- Throws:
ParseException
-
LambdaLHS
- Throws:
ParseException
-
SimpleLambdaLHS
- Throws:
ParseException
-
LambdaParameters
- Throws:
ParseException
-
LambdaParameter
- Throws:
ParseException
-
Root
- Throws:
ParseExceptionIOException
-
ParserCodeDecls
- Throws:
ParseException
-
GrammarInclusion
- Throws:
ParseExceptionIOException
-
CodeInjection
- Throws:
ParseException
-
CodeInjection2
- Throws:
ParseException
-
Options
- Throws:
ParseException
-
OptionsBlock
- Throws:
ParseException
-
Setting
- Throws:
ParseException
-
BNFProduction
- Throws:
ParseException
-
TreeNodeDescriptor
- Throws:
ParseException
-
TokenProduction
- Throws:
ParseException
-
TokenManagerDecls
- Throws:
ParseException
-
RegexpSpec
- Throws:
ParseException
-
ExpansionChoice
- Throws:
ParseException
-
ExpansionWithParentheses
- Throws:
ParseException
-
ExpansionSequence
- Throws:
ParseException
-
Lookahead
- Throws:
ParseException
-
Assertion
- Throws:
ParseException
-
ScanAhead
- Throws:
ParseException
-
LookBehind
- Throws:
ParseException
-
LookBehindForward
- Throws:
ParseException
-
LookBehindBackward
- Throws:
ParseException
-
LegacyLookahead
- Throws:
ParseException
-
ExpansionUnit
- Throws:
ParseException
-
NonTerminal
- Throws:
ParseException
-
UpToHere
- Throws:
ParseException
-
ZeroOrMore
- Throws:
ParseException
-
OneOrMore
- Throws:
ParseException
-
ZeroOrOne
- Throws:
ParseException
-
AttemptBlock
- Throws:
ParseException
-
UncacheTokens
- Throws:
ParseException
-
Failure
- Throws:
ParseException
-
LexicalStateSwitch
- Throws:
ParseException
-
TokenActivation
- Throws:
ParseException
-
TryBlock
- Throws:
ParseException
-
RegexpExpansion
- Throws:
ParseException
-
InPlaceRegexp
- Throws:
ParseException
-
RegexpStringLiteral
- Throws:
ParseException
-
RegexpRef
- Throws:
ParseException
-
EndOfFile
- Throws:
ParseException
-
RegexpChoice
- Throws:
ParseException
-
RegexpChoiceInParen
- Throws:
ParseException
-
RegexpSequence
- Throws:
ParseException
-
RepeatedRegexp
- Throws:
ParseException
-
CharacterList
- Throws:
ParseException
-
CharacterRange
- Throws:
ParseException
-
isParserTolerant
public boolean isParserTolerant() -
setParserTolerant
public void setParserTolerant(boolean tolerantParsing) -
isTreeBuildingEnabled
public boolean isTreeBuildingEnabled() -
setUnparsedTokensAreNodes
public void setUnparsedTokensAreNodes(boolean unparsedTokensAreNodes) -
setTokensAreNodes
public void setTokensAreNodes(boolean tokensAreNodes) -
rootNode
- Returns:
- the root node of the AST. It only makes sense to call this after a successful parse.
-
pushNode
push a node onto the top of the node stack- Parameters:
n- the node to push
-
popNode
- Returns:
- the node on the top of the stack, and remove it from the stack.
-
peekNode
- Returns:
- the node currently on the top of the tree-building stack.
-
pokeNode
Puts the node on the top of the stack. However, unlike pushNode() it replaces the node that is currently on the top of the stack. This is effectively equivalent to popNode() followed by pushNode(n)- Parameters:
n- the node to poke
-
nodeArity
public int nodeArity()- Returns:
- the number of Nodes on the tree-building stack in the current node scope.
-
getBuildTree
public boolean getBuildTree() -
setBuildTree
public void setBuildTree(boolean buildTree)
-