APG - An ABNF Parser Generator

Version 6.1 Description
(Released December 2, 2009)


APG Version 6.1 updates Version 6.0 in the following ways:

  • Most significantly, APG 6.1 generates parsers in JavaScript using the "/js" option with the Generator. The generated parsers are identical to those generated here on the Interactive APG page. The JavaScript APG library required to use these parsers is in the Version 6.1 download in the directory "./ApgJavaScript". The file "./ApgJavaScript/apgExample.php" has an example of how to use it. The comments in the example file give a step-by-step description of how to build a JavaScript parser application.

  • In the directory "./ApgJavaScript/bin2bytecode" a small executable "bin2bytecode" is built but is not installed by "make install". This is a trivial application provided as a convenience for Interactive APG users. For a discussion of its purpose see the "Input Mode:" description in the section "Configuring the Parser".

  • Bug fix: In the file "./ApgLib/operators.c" the function vRNM() used a stale memory pointer which occasionally caused a page fault. This has been fixed.

  • Bug fix: In the file "./ApgLib/operators.c" the function vPRD() did not account for nested PRD operators in AST construction. This has been fixed.

  • Linux build: In the Autotools Makefile.am files "dist_data_DATA" has been changed to "EXTRA_DIST". This prevents the named files from being inadvertantly installed in the /install_dir/share directory.

  • Linux build: "apg" is a short name and may conflict with previously installed applications. To avoid this it is suggested to use the "./configure --program-suffix=_myprog" option. This will install "/install_dir/bin/apg_myprog", avoiding conflict.