Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
Data Structures
Here are the data structures with brief descriptions:
 Calt_dataUsed by syntax.c but needed here for constructor/destructor
 Capg_phraseDefines a pointer to an achar array plus its length. That is, a phrase as is often used by APG
 CapgexFor internal object use only. The phrase matching object context
 Capgex_phraseThe representation of a matched phrase
 Capgex_propertiesDetailed information about the apgex object after vApgexPattern() has been called
 Capgex_resultThe phrase matching results
 Capgex_ruleInformation about each rule or UDT in the SABNF pattern
 CapiThe API context
 Capi_attrThe recursive attributes of a single SABNF grammra rule
 Capi_attr_wWorking attribute information about a each rule
 Capi_opAPI information about each opcode
 Capi_ruleAPI information about each rule
 Capi_udtAPI information about each UDT
 CastThe AST object context. Holds the object's state
 Cast_dataInput data to the AST callback functions
 Cast_infoAll the information a user needs to write a custom AST translator
 Cast_recordFormat of an AST record
 Cast_translate
 Catt_cdata
 Catt_declIdentifies the element name, attribute name and default attribute value of attribute list declarations
 Cattrs_ctxThe API will construct an attributes object. This is the attribute object's context
 CbackrefThe back reference object's context
 Cbkr_phraseDefines one frame on the back reference stack
 Cbkr_ruleBack referencing information for each rule
 Cbkr_udtBack referencing information for each UDT
 Cbkrp_frame
 Cbkrp_input
 Cbkru_frame
 Cbkru_input
 CbuildThe builder object context
 CbvalueA builder value. Internal workings only. Don't worry about it
 Ccallback_dataThe data struct passed to each callback function
 Ccdata_idParsed character data definition
 CconfigThis data controls the flow of the main program of the APG parser generator
 Cconfig_ctxThe configuration component context
 CconvThe conv object context
 Cconv_dstDefines the output data type, location, length and whether or not to preface with a Byte Order Mark (BOM)
 Cconv_errorDefines the value, location and error message when a value is in error and a fatal error is issued
 Cconv_file
 Cconv_srcDefines the input data type, location and length
 CcountsInternal workings only. Don't worry about it
 Cdata_id
 Cdisplay_infoKeeps track of the display state for ASCII display
 Cdtd_infoInformation about the Document Type Declaration
 Celement_frameA stack is used to track which element is currently being parsed. This frame struct contains all of the information needed to track the data
 Centity_declProvides the offset into the general 32-bit vector and length of a name and value pair
 Centity_frame
 CexceptionA structure to describe the type and location of a caught exception
 Cfmt_tagThe context for the format object
 CframeEach value is a node in the parse tree
 Chtml_infoKeeps track of the display state for HTML display
 Cinit_hdrHeader for the parser initialization data
 Cinit_hdr_outHeader for the parser initialization data
 Cinput_infoInformation about the input data
 CjsonThe object context. For intenrnal use only
 Cjson_context
 Cjson_iteratorA JSON interator object context
 Cjson_numberThe structure of a JSON number value
 Cjson_value_tagThe structure of a JSON value
 ClineDefines the characteristics of a single line
 Cline_uCarries detailed information about the characters and line endings. One for each line in the input grammar file
 ClinesThe lines object context
 Clines_uThe lines object context
 CmemFor internal use only. The memory object's context. Opaque to user applications
 Cmem_cell_tagA circularly-linked list structure
 Cmem_statsAvailable to the user for display of memory statistics
 Cmsg_offset
 CmsgsThe message log context
 Cmy_data
 Cmy_line
 Cnamed_valueProvides offsets and lengths in the vpVec32 array for a name and value pair
 CnextsInternal workings only. Don't worry about it
 Cnode_statHolds the statistics for a single node
 Cop_abgData structure for a single ABG opcode
 Cop_aenData structure for a single AEN opcode
 Cop_altData structure for a single ALT opcode
 Cop_andData structure for a single AND opcode
 Cop_bkaData structure for a single BKA opcode
 Cop_bknData structure for a single BKN opcode
 Cop_bkrData structure for a single BKR opcode
 Cop_catData structure for a single CAT opcode
 Cop_genGeneral opcode. Only holds the opcode ID and PPPT map pointer
 Cop_notData structure for a single NOT opcode
 Cop_repData structure for a single REP opcode
 Cop_rnmData structure for a single RNM opcode
 Cop_tbsData structure for a single TBS opcode
 Cop_tlsData structure for a single TLS opcode
 Cop_trgData structure for a single TRG opcode
 Cop_udtData structure for a single UDT opcode
 Copcode_tagA union of all possible node type opcode data structures
 Cparser_configDefines the input string and other configuration parameters for the parser,
 Cparser_initThe initialization information generated by APG
 Cparser_stateThe parser's final state
 Cparser_tagThe parser object's context. Holds the parser's state. Opaque to user
 Cphrase_rFor internal object use only. Defines a phrase as an offset into vpVecRelPhases
 Cpppt_sizeSize information for the **P**artially-**P**redictive **P**arsing **T**ables (PPPT) data
 Cresult_rFor internal object use only. The phrase matching result in relative phrases
 CruleData structure for a single rule
 Crule_constraint
 Crule_rFor internal object use only. Relative offsets to phrase information for rules
 Csection_def
 Csemantic_dataUser data passed to the AST translator for use by the AST callback functions
 Csemantic_opGeneralized opcode for first-pass semantic processing
 Csemantic_ruleGeneralized rule for first-pass semantic processing
 Csemantic_udtGeneralized UDT for first-pass semantic processing
 CstatsThe totality of all node statistics
 Cstats_ctxThe statistics object context
 Cstring_rThis is the "relative" string developed during parsing
 Csyntax_dataThe syntax data that gets passed to the syntax parser's callback functions
 Ctest
 Ctest_context
 Ctime_test
 CtraceThe trace object context. Maintains the trace object's state
 Ctrace_configConfiguration defining the subset of nodes to display information for
 Ctrace_recordThe information recorded & displayed by the trace object for each node visited
 Cu32_phraseDefines a pointer to an array of 32-bit unsigned integers plus its length. Typically needed by Unicode applications
 CudtData structure for a single UDT
 Cudt_rFor internal object use only. Relative offsets to phrase information for UDTs
 Cuser_data
 Cvalue_rThis is the "relative" value developed during parsing
 Cvec_statsVector usage statistics
 CvectorPrivate for internal use only. Defines the vector's state. Opaque to applications
 CxmlThis is the encapsulated data for the xml component. The component context or handle is an opaque pointer to this data
 Cxml_context
 Cxml_tag
 Cxmldecl_infoInformation about the XML declaration
APG Version 7.0 is licensed under the 2-Clause BSD License,
an Open Source Initiative Approved License.