Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
|
void * vpVecThatStack
Pointer to the vector holding a LIFO stack to match up and down node records.
void * vpVecOpenStack
Pointer to a vector LIFO stack of open rule nodes.
ast_callback * pfnRuleCallbacks
An array of rule name call back functions.
void vAstOpOpen(void *vpCtx)
Called in preparation for a downward traversal of an RNM or UDT node.
void vAstRuleClose(void *vpCtx, aint uiRuleIndex, aint uiState, aint uiPhraseOffset, aint uiPhraseLength)
Called by parser's RNM operator after upward traversal.
uint_fast32_t aint
The APG parser's unsigned integer type.
The AST object context. Holds the object's state.
A structure to describe the type and location of a caught exception.
exception * spException
Pointer to an exception structure for reporting fatal errors back to the parser's catch block scope.
void * vpVecRecords
Pointer to the vector holding the AST records (two for each saved node).
aint(* ast_callback)(ast_data *spData)
The prototype for AST translation callback functions.
ast_callback * pfnUdtCallbacks
An array of UDT call back functions.
void vAstClear(void *vpCtx)
Clear the AST records for reuse of the AST object.
const void * vpValidate
A "magic number" indicating a valid, initialized AST object.
void vAstRuleOpen(void *vpCtx, aint uiRuleIndex, aint uiPhraseOffset)
Called by parser's RNM operator before downward traversal.
void vAstOpClose(void *vpCtx, aint uiState)
Called to finish up after an upward traversal of an RNM or UDT node.
APG Version 7.0 is licensed under the
2-Clause BSD License,
an Open Source Initiative Approved License.