ANTLR3C  3.3.1
antlr3baserecognizer.c File Reference

Contains the base functions that all recognizers require. More...

Include dependency graph for antlr3baserecognizer.c:

Functions

static ANTLR3_BOOLEAN alreadyParsedRule (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_MARKER ruleIndex)
 Has this rule already parsed input at the current index in the input stream? Return ANTLR3_TRUE if we have and ANTLR3_FALSE if we have not. More...
 
ANTLR3_API pANTLR3_BASE_RECOGNIZER antlr3BaseRecognizerNew (ANTLR3_UINT32 type, ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state)
 
ANTLR3_API void antlr3MTExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer)
 Creates a new Mismatched Token Exception and inserts in the recognizer exception stack. More...
 
ANTLR3_API void antlr3RecognitionExceptionNew (pANTLR3_BASE_RECOGNIZER recognizer)
 
static void beginBacktrack (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 level)
 
static void beginResync (pANTLR3_BASE_RECOGNIZER recognizer)
 
static pANTLR3_BITSET combineFollows (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_BOOLEAN exact)
 Compute the current followset for the input stream. More...
 
static pANTLR3_BITSET computeCSRuleFollow (pANTLR3_BASE_RECOGNIZER recognizer)
 Compute the context-sensitive FOLLOW set for current rule. More...
 
static pANTLR3_BITSET computeErrorRecoverySet (pANTLR3_BASE_RECOGNIZER recognizer)
 Compute the error recovery set for the current rule. More...
 
static void consumeUntil (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 tokenType)
 Eat tokens from the input stream until we get one of JUST the right type. More...
 
static void consumeUntilSet (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_BITSET set)
 Eat tokens from the input stream until we find one that belongs to the supplied set. More...
 
static void displayRecognitionError (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 *tokenNames)
 Standard/Example error display method. More...
 
static void endBacktrack (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 level, ANTLR3_BOOLEAN successful)
 
static void endResync (pANTLR3_BASE_RECOGNIZER recognizer)
 
static void freeBR (pANTLR3_BASE_RECOGNIZER recognizer)
 
static void ANTLR3_CDECL freeIntTrie (void *trie)
 
static void * getCurrentInputSymbol (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_INT_STREAM istream)
 
static void * getMissingSymbol (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_INT_STREAM istream, pANTLR3_EXCEPTION e, ANTLR3_UINT32 expectedTokenType, pANTLR3_BITSET_LIST follow)
 
static ANTLR3_UINT32 getNumberOfSyntaxErrors (pANTLR3_BASE_RECOGNIZER recognizer)
 Return how many syntax errors were detected by this recognizer. More...
 
static pANTLR3_STACK getRuleInvocationStack (pANTLR3_BASE_RECOGNIZER recognizer)
 Return the rule invocation stack (how we got here in the parse. More...
 
static pANTLR3_STACK getRuleInvocationStackNamed (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_UINT8 name)
 
static ANTLR3_MARKER getRuleMemoization (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_INTKEY ruleIndex, ANTLR3_MARKER ruleParseStart)
 Pointer to a function to return whether the rule has parsed input starting at the supplied start index before. More...
 
static void * match (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 ttype, pANTLR3_BITSET_LIST follow)
 Match current input symbol against ttype. More...
 
static void matchAny (pANTLR3_BASE_RECOGNIZER recognizer)
 Consumes the next token, whatever it is, and resets the recognizer state so that it is not in error. More...
 
static void memoize (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_MARKER ruleIndex, ANTLR3_MARKER ruleParseStart)
 Record whether or not this rule parsed the input at this position successfully. More...
 
static void mismatch (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 ttype, pANTLR3_BITSET_LIST follow)
 Factor out what to do upon token mismatch so tree parsers can behave differently. More...
 
static ANTLR3_BOOLEAN mismatchIsMissingToken (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_INT_STREAM is, pANTLR3_BITSET_LIST follow)
 
static ANTLR3_BOOLEAN mismatchIsUnwantedToken (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_INT_STREAM is, ANTLR3_UINT32 ttype)
 
static void recover (pANTLR3_BASE_RECOGNIZER recognizer)
 Recover from an error found on the input stream. More...
 
static ANTLR3_BOOLEAN recoverFromMismatchedElement (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_BITSET_LIST followBits)
 This code is factored out from mismatched token and mismatched set recovery. More...
 
static void * recoverFromMismatchedSet (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_BITSET_LIST follow)
 
static void * recoverFromMismatchedToken (pANTLR3_BASE_RECOGNIZER recognizer, ANTLR3_UINT32 ttype, pANTLR3_BITSET_LIST follow)
 Attempt to recover from a single missing or extra token. More...
 
static void reportError (pANTLR3_BASE_RECOGNIZER recognizer)
 Report a recognition problem. More...
 
static void reset (pANTLR3_BASE_RECOGNIZER recognizer)
 
static ANTLR3_BOOLEAN synpred (pANTLR3_BASE_RECOGNIZER recognizer, void *ctx, void(*predicate)(void *ctx))
 A syntactic predicate. More...
 
static pANTLR3_HASH_TABLE toStrings (pANTLR3_BASE_RECOGNIZER recognizer, pANTLR3_HASH_TABLE tokens)
 Convenience method for template rewrites - NYI. More...
 

Detailed Description

Contains the base functions that all recognizers require.

Any function can be overridden by a lexer/parser/tree parser or by the ANTLR3 programmer.