Skip to content
Ronald Franco edited this page Dec 26, 2018 · 12 revisions

About

The AFP Library exemplifies a novel grammar called Attribute-Flow Grammars (AFG). AFGs use the concept of “flow” variables to replace traditional attributes used in Attribute Grammars. The syntax used to specify AFGs is similar to that of Extended Backus-Naur Form and makes heavy use of over-loadable C++ operators. As a result, a valid AFG can be embedded in C++ code and is clean and easy to read.

The AFP Library is implemented as a collection of C++11 header files and accepts input based on a specified AFG. As a result, users can easily create general-purpose LL(k) AFParsers that seamlessly integrate with other C++ code.

Change Log

V1.0: Initial Release

Future Work

  • Add Graphviz visualization option for BaseParser objects
  • Add flow variables to Graphviz visualization of ParseTree objects