APG
… an ABNF Parser Generator
|
► apg | The desktop APG application. |
config.c | Handles the main function argument list and produces the configuration structure that drives APG |
config.h | The configuration object header file |
main.c | APG - the SABNF Parser Generator |
main.h | The home page information |
► apgex | The APG pattern-matching engine. |
apgex.c | Source code for the apgex phrase-matching engine |
apgex.h | Header file for the apgex object |
► api | The parser generator Application Programming Interface. |
api.c | Some basic functions of the APG Application Programming Interface |
api.h | Public header file for the APG API suite of functions |
apip.h | Private header file for the APG API suite of functions |
attributes.c | The main functions driving the attributes determination |
attributes.h | Header file for the attributes functions |
input.c | The API input functions. These functions assist with retrieving the ABNF grammar or grammars for processing |
output.c | Constructs the source and header files for the generated parser |
pppt.c | All of the code for generating Partially-Predictive Parsing Tables (PPPT) |
rule-attributes.c | Determines each rule's recursive attributes – left, nested, right and cyclic – and non-recursive attributes – empty and finite |
rule-dependencies.c | For each rule, R, determines the list of other rules R references in its syntax tree |
sabnf-grammar.c | |
sabnf-grammar.h | |
semantic-callbacks.c | These are the callback functions which translate the AST from the syntax phase |
semantics.c | Processes the semantics phase. Parses the grammar and translates the AST to opcodes. The compiler, so to speak |
semantics.h | Header file for the semantic translation functions |
syntax-callbacks.c | The callback functions called by the parser. These are the functions that find and report the syntax errors |
syntax.c | Processes the syntax phase. Parses the grammar and reports any syntax errors |
syntax.h | Header file for the syntax phase functions |
► examples | Examples of using APG parsers and the accompanying tool chest of utilities and applications. |
► ex-apgex | Examples of using the APG pattern-matching utility. |
main.c | Driver for the APG pattern-matching utility examples |
► ex-api | Examples of using the API. |
main.c | Driver for the API examples |
► ex-ast | Example demonstrating the use and usefulness of the AST. |
main.c | Driver for the AST example |
► ex-basic | Examples of constructing a simple basic parser from a pre-generated grammar file. |
float.c | |
float.h | |
main.c | Driver for the basic examples |
► ex-conv | Examples of using the data conversion utility. |
main.c | Driver for the data conversion utility examples |
► ex-format | Examples of using the data formatting utility. |
main.c | Driver for the data formatting utility examples |
► ex-json | Examples of using the JSON parser and builder. |
main.c | Driver for the JSON parser and builder examples |
► ex-lines | Examples of using the line parsing utilities. |
main.c | Driver for the line parsing utilities examples. |
► ex-msgs | Examples of using the message log utility. |
main.c | Driver for the message log utility examples. |
► ex-odata | |
main.c | Driver for the OData example |
main.h | |
odata.c | |
odata.h | |
► ex-sip | Examples of parsing SIP messages. |
main.c | Driver for SIP message testing and timing. |
sip-0.c | |
sip-0.h | |
sip-1.c | |
sip-1.h | |
udtlib.c | Library of UDT functions for SIP messages |
udtlib.h | Header file for UDT functions for SIP messages |
► ex-trace | Examples of tracing the parser and parser, memory and vector statistics, |
main.c | Driver for the APG tracing and statistics examples. |
► ex-wide | Examples of using the wide alphabet characters - 32-bit UTF-32. |
main.c | Driver for the wide alphabet character examples. |
► ex-xml | Examples of using the XML parser. |
main.c | Driver for the XML parser examples. |
► json | The JSON parser and builder. |
builder.c | The JSON builder object |
json-grammar.c | |
json-grammar.h | |
json.c | The JSON parser API |
json.h | Header file for the JSON component. Defines API prototypes |
jsonp.h | Private JSON component header file |
parser-callbacks.c | For internal object use only. The JSON parser grammar call back functions |
► library | The parser library required of all APG parsers. |
apg.h | The APG header file |
ast.c | The functions for generating and translating the Abstract Syntax Tree (AST) |
ast.h | Public header file for the AST functions |
astp.h | Private header file for the AST functions |
backref.h | Private declarations common to both universal and parent modes |
backrefp.c | The parent-mode back reference object |
backrefp.h | The parent-mode back reference object |
backrefu.c | The universal-mode back reference object |
backrefu.h | The universal-mode back reference object |
exception.c | Exception handling functions |
exception.h | Structures and macros for exception handling |
lib.h | This header "#include"s all publid lib headers and other standard headers needed by most objects |
memory.c | The memory management object |
memory.h | Memory management header |
operators-abnf.c | The original seven ABNF operators defined by RFC5234 |
operators-bkr.c | The operator function for handling back references |
operators-sabnf.c | The additional superset SABNF operators |
operators.h | Header file for the suite of the parser's operator functions |
parser-get-init.c | Private parser utility functions. Never called directly by user |
parser-translate-init.c | Private parser utility functions. Never called directly by user |
parser.c | The SABNF parser |
parser.h | The SABNF parser's public header file |
parserp.h | Private header for the SABNF parser |
stats.c | Functions for collecting parsing statistics |
stats.h | Public header file for the statistics gathering functions |
statsp.h | Private header file for the statistics gathering functions |
tools.c | A few commonly used functions |
tools.h | A few simple, commonly used functions |
trace-config.c | Parse a configuration file and set the trace configuration |
trace-out.c | All of the trace output code |
trace.c | The public trace object functions |
trace.h | Public header file for the trace functions |
tracep.h | Private header file for the trace functions |
vector.c | The vector object. Provides a dynamic memory array |
vector.h | Header file for the vector object - a dynamic array |
► utilities | A tool chest of APG utility functions and objects. |
conv.c | A Unicode encoding/decoding object |
conv.h | Header for the Unicode UTF encoding module |
format.c | A formatting object for displaying binary data in human-readable formats |
format.h | Header file for the formatting object |
lines.c | A utility object for parsing a text file into its component lines |
lines.h | Header file for the lines object |
linesu.c | A 32-bit integer version of the lines objects |
linesu.h | Header file for the 32-bit integer version of the lines objects |
msglog.c | A message logging object |
msglog.h | Header file for a message logging object |
objects.h | A composite header for the utility objects |
utilities.c | Utility functions code |
utilities.h | Miscellaneous utility functions |
► xml | The XML parser. |
basics.c | Callback functions for basic rules common to all component parsers |
callbacks.h | Declaration for all of the XML Component parser callback functions |
declarations.c | This file has all of the APG callback functions for the XML parser |
elements.c | Callback functions for the element component rule names |
xml.c | The APG XML parser |
xml.h | Public header file for the APG XML parser API. |
xmlgrammar.c | |
xmlgrammar.h | |
xmlp.h | Private header for the APG XML parser's component context. Not needed by application programs |