BaseRecognizer Class |
Namespace: Stimulsoft.Data.Expressions.Antlr.Runtime
The BaseRecognizer type exposes the following members.
Name | Description | |
---|---|---|
![]() | BaseRecognizer | Initializes a new instance of the BaseRecognizer class |
![]() | BaseRecognizer(RecognizerSharedState) | Initializes a new instance of the BaseRecognizer class |
Name | Description | |
---|---|---|
![]() | BacktrackingLevel | |
![]() | Failed | Return whether or not a backtracking attempt failed. |
![]() | GrammarFileName |
For debugging and other purposes, might want the grammar name.
Have ANTLR generate an implementation for this method.
|
![]() | NumberOfSyntaxErrors |
Get number of recognition errors (lexer, parser, tree parser). Each
recognizer tracks its own number. So parser and lexer each have
separate count. Does not count the spurious errors found between
an error and next valid token match
|
![]() | SourceName | |
![]() | TokenNames |
Used to print out token names like ID during debugging and
error reporting. The generated parsers implement a method
that overrides this to point to their String[] tokenNames.
|
![]() | TraceDestination |
Name | Description | |
---|---|---|
![]() | AlreadyParsedRule |
Has this rule already parsed input at the current index in the
input stream? Return the stop token index or MEMO_RULE_UNKNOWN.
If we attempted but failed to parse properly before, return
MEMO_RULE_FAILED.
|
![]() | BeginResync |
A hook to listen in on the token consumption during error recovery.
The DebugParser subclasses this to fire events to the listenter.
|
![]() | CombineFollows | |
![]() | ComputeContextSensitiveRuleFOLLOW |
Compute the context-sensitive FOLLOW set for current rule.
This is set of token types that can follow a specific rule
reference given a specific call chain. You get the set of
viable tokens that can possibly come next (lookahead depth 1)
given the current call chain. Contrast this with the
definition of plain FOLLOW for rule r:
|
![]() | ComputeErrorRecoverySet | |
![]() | ConsumeUntil(IIntStream, BitSet) | Consume tokens until one matches the given token set |
![]() | ConsumeUntil(IIntStream, Int32) | |
![]() | DebugBeginBacktrack | |
![]() | DebugEndBacktrack | |
![]() | DebugEnterAlt | |
![]() | DebugEnterDecision | |
![]() | DebugEnterRule | |
![]() | DebugEnterSubRule | |
![]() | DebugExitDecision | |
![]() | DebugExitRule | |
![]() | DebugExitSubRule | |
![]() | DebugLocation | |
![]() | DebugRecognitionException | |
![]() | DebugSemanticPredicate | |
![]() | DisplayRecognitionError | |
![]() | EmitErrorMessage | Override this method to change where error messages go |
![]() | EndResync | |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetCurrentInputSymbol |
Match needs to return the current input symbol, which gets put
into the label for the associated token ref; e.g., x=ID. Token
and tree parsers need to return different objects. Rather than test
for input stream type or change the IntStream interface, I use
a simple method to ask the recognizer to tell me what the current
input symbol is.
|
![]() | GetErrorHeader | What is the error header, normally line/character position information? |
![]() | GetErrorMessage | What error message should be generated for the various exception types? |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetMissingSymbol | Conjure up a missing token during error recovery. |
![]() | GetRuleInvocationStack |
Return IListT of the rules in your parser instance
leading up to a call to this method. You could override if
you want more details such as the file/line info of where
in the parser java code a rule is invoked.
|
![]() ![]() | GetRuleInvocationStack(StackTrace) |
A more general version of GetRuleInvocationStack where you can
pass in the StackTrace of, for example, a RecognitionException
to get it's rule stack trace.
|
![]() | GetRuleMemoization |
Given a rule number and a start token index number, return
MEMO_RULE_UNKNOWN if the rule has not parsed input starting from
start index. If this rule has parsed input starting from the
start index before, then return where the rule stopped parsing.
It returns the index of the last token matched by the rule.
|
![]() | GetRuleMemoizationCacheSize | return how many rule/input-index pairs there are in total. |
![]() | GetTokenErrorDisplay |
How should a token be displayed in an error message? The default
is to display just the text, but during development you might
want to have a lot of information spit out. Override in that case
to use t.ToString() (which, for CommonToken, dumps everything about
the token). This is better than forcing you to override a method in
your token objects because you don't have to go modify your lexer
so that it creates a new Java type.
|
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | InitDFAs | |
![]() | Match |
Match current input symbol against ttype. Attempt
single token insertion or deletion error recovery. If
that fails, throw MismatchedTokenException.
|
![]() | MatchAny | Match the wildcard: in a symbol |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | Memoize |
Record whether or not this rule parsed the input at this position
successfully. Use a standard java hashtable for now.
|
![]() | MismatchIsMissingToken | |
![]() | MismatchIsUnwantedToken | |
![]() | PopFollow | |
![]() | PushFollow | Push a rule's follow set using our own hardcoded stack |
![]() | Recover |
Recover from an error found on the input stream. This is
for NoViableAlt and mismatched symbol exceptions. If you enable
single token insertion and deletion, this will usually not
handle mismatched symbol exceptions but there could be a mismatched
token that the match() routine could not recover from.
|
![]() | RecoverFromMismatchedSet | |
![]() | RecoverFromMismatchedToken | Attempt to recover from a single missing or extra token. |
![]() | ReportError | Report a recognition problem. |
![]() | Reset | reset the parser's state; subclasses must rewinds the input stream |
![]() | SetState | |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | ToStrings | |
![]() | TraceIn | |
![]() | TraceOut |
Name | Description | |
---|---|---|
![]() ![]() | DefaultTokenChannel | |
![]() ![]() | Hidden | |
![]() ![]() | InitialFollowStackSize | |
![]() ![]() | MemoRuleFailed | |
![]() ![]() | MemoRuleUnknown | |
![]() ![]() | NextTokenRuleName | |
![]() | state |
State of a lexer, parser, or tree parser are collected into a state
object so the state can be shared. This sharing is needed to
have one grammar import others and share same error variables
and other state variables. It's a kind of explicit multiple
inheritance via delegation of methods and shared state.
|