Package org.jparsec
Class ParseContext
- java.lang.Object
-
- org.jparsec.ParseContext
-
- Direct Known Subclasses:
ParserState,ScannerState
abstract class ParseContext extends java.lang.ObjectRepresents the context state during parsing.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classParseContext.ErrorType(package private) static interfaceParseContext.ParserTraceAllows tracing of parsing progress during error condition, to ease debugging.
-
Field Summary
Fields Modifier and Type Field Description (package private) intatThe current position of the input.private intcurrentErrorAtprivate intcurrentErrorIndexprivate TreeNodecurrentErrorNodeprivate ParseContext.ErrorTypecurrentErrorTypeprivate java.lang.Stringencountered(package private) static java.lang.StringEOFprivate java.util.ArrayList<java.lang.Object>errorsprivate booleanerrorSuppressed(package private) SourceLocatorlocator(package private) java.lang.Stringmoduleprivate ParseContext.ErrorTypeoverrideErrorType(package private) java.lang.ObjectresultThe current parse result.(package private) java.lang.CharSequencesource(package private) intstepThe current logical step.private ParseContext.ParserTracetrace
-
Constructor Summary
Constructors Constructor Description ParseContext(java.lang.CharSequence source, int at, java.lang.String module, SourceLocator locator)ParseContext(java.lang.CharSequence source, java.lang.Object ret, int at, java.lang.String module, SourceLocator locator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) booleanapplyAsDelimiter(Parser<?> parser)Runsparserwith error recording suppressed.(package private) booleanapplyNested(Parser<?> parser, ParseContext nestedState)(package private) booleanapplyNewNode(Parser<?> parser, java.lang.String name)Appliesparseras a new tree node withname, and if fails, reports "expecting $name".(package private) ParseTreebuildErrorParseTree()(package private) ParseTreebuildParseTree()(package private) abstract java.lang.CharSequencecharacters()Reads the characters as input.private voidcopyErrorFrom(ParseContext that)(package private) voidenableTrace(java.lang.String rootName)Enables parse tree tracing withrootNameas the name of the root node.(package private) interrorIndex()The physical index of the current most relevant error,0if none.(package private) voidexpected(java.lang.Object what)(package private) voidfail(java.lang.String message)private java.lang.StringgetEncountered()(package private) intgetIndex()Returns the current index in the original source.(package private) abstract java.lang.StringgetInputName(int pos)Returns the string representation of the current input (character or token).(package private) abstract TokengetToken()Returns the current token.(package private) ParseContext.ParserTracegetTrace()(package private) abstract booleanisEof()(package private) voidmissing(java.lang.Object what)(package private) voidnext()(package private) voidnext(int n)(package private) abstract charpeekChar()Peeks the current character.(package private) voidraise(ParseContext.ErrorType type, java.lang.Object subject)(package private) ParseErrorDetailsrenderError()Only called when rendering the error inParserException.(package private) booleanrepeat(Parser<?> parser, int n)(package private) <T> booleanrepeat(Parser<? extends T> parser, int n, java.util.Collection<T> collection)(package private) voidset(int step, int at, java.lang.Object ret)(package private) voidsetAt(int step, int at)private voidsetErrorState(int errorAt, int errorIndex, ParseContext.ErrorType errorType)private voidsetErrorState(int errorAt, int errorIndex, ParseContext.ErrorType errorType, java.util.List<java.lang.Object> errors)(package private) booleanstillThere(int wasAt, int originalStep)(package private) abstract inttoIndex(int pos)Translates the logical position to physical index in the original source.java.lang.StringtoString()(package private) voidunexpected(java.lang.String what)(package private) booleanwithErrorSuppressed(Parser<?> parser)Runsparserwith error recording suppressed.
-
-
-
Field Detail
-
EOF
static final java.lang.String EOF
- See Also:
- Constant Field Values
-
module
final java.lang.String module
-
source
final java.lang.CharSequence source
-
locator
final SourceLocator locator
-
at
int at
The current position of the input. Points to the token array for token level.
-
step
int step
The current logical step.
-
result
java.lang.Object result
The current parse result.
-
trace
private ParseContext.ParserTrace trace
-
currentErrorType
private ParseContext.ErrorType currentErrorType
-
currentErrorAt
private int currentErrorAt
-
currentErrorIndex
private int currentErrorIndex
-
errors
private final java.util.ArrayList<java.lang.Object> errors
-
encountered
private java.lang.String encountered
-
currentErrorNode
private TreeNode currentErrorNode
-
errorSuppressed
private boolean errorSuppressed
-
overrideErrorType
private ParseContext.ErrorType overrideErrorType
-
-
Constructor Detail
-
ParseContext
ParseContext(java.lang.CharSequence source, int at, java.lang.String module, SourceLocator locator)
-
ParseContext
ParseContext(java.lang.CharSequence source, java.lang.Object ret, int at, java.lang.String module, SourceLocator locator)
-
-
Method Detail
-
withErrorSuppressed
final boolean withErrorSuppressed(Parser<?> parser)
Runsparserwith error recording suppressed.
-
applyAsDelimiter
final boolean applyAsDelimiter(Parser<?> parser)
Runsparserwith error recording suppressed.
-
applyNewNode
final boolean applyNewNode(Parser<?> parser, java.lang.String name)
Appliesparseras a new tree node withname, and if fails, reports "expecting $name".
-
applyNested
final boolean applyNested(Parser<?> parser, ParseContext nestedState)
-
repeat
final boolean repeat(Parser<?> parser, int n)
-
repeat
final <T> boolean repeat(Parser<? extends T> parser, int n, java.util.Collection<T> collection)
-
getTrace
final ParseContext.ParserTrace getTrace()
-
errorIndex
final int errorIndex()
The physical index of the current most relevant error,0if none.
-
buildParseTree
final ParseTree buildParseTree()
-
buildErrorParseTree
final ParseTree buildErrorParseTree()
-
renderError
final ParseErrorDetails renderError()
Only called when rendering the error inParserException.
-
getEncountered
private java.lang.String getEncountered()
-
getInputName
abstract java.lang.String getInputName(int pos)
Returns the string representation of the current input (character or token).
-
isEof
abstract boolean isEof()
-
getIndex
final int getIndex()
Returns the current index in the original source.
-
getToken
abstract Token getToken()
Returns the current token. Only applicable to token level parser.
-
peekChar
abstract char peekChar()
Peeks the current character. Only applicable to character level parser.
-
toIndex
abstract int toIndex(int pos)
Translates the logical position to physical index in the original source.
-
raise
final void raise(ParseContext.ErrorType type, java.lang.Object subject)
-
fail
final void fail(java.lang.String message)
-
missing
final void missing(java.lang.Object what)
-
expected
final void expected(java.lang.Object what)
-
unexpected
final void unexpected(java.lang.String what)
-
stillThere
final boolean stillThere(int wasAt, int originalStep)
-
set
final void set(int step, int at, java.lang.Object ret)
-
setAt
final void setAt(int step, int at)
-
next
final void next()
-
next
final void next(int n)
-
enableTrace
final void enableTrace(java.lang.String rootName)
Enables parse tree tracing withrootNameas the name of the root node.
-
setErrorState
private void setErrorState(int errorAt, int errorIndex, ParseContext.ErrorType errorType, java.util.List<java.lang.Object> errors)
-
setErrorState
private void setErrorState(int errorAt, int errorIndex, ParseContext.ErrorType errorType)
-
copyErrorFrom
private void copyErrorFrom(ParseContext that)
-
characters
abstract java.lang.CharSequence characters()
Reads the characters as input. Only applicable to character level parsers.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-