Projects / yagg


yagg, given YACC-like and LEX-like input files, generates a C++ program that generates all strings of a user-specified length. This program can then be used to generate inputs for testing, or to validate that a grammar accepts the strings that you think it does. The grammar file provides the grammar productions for string generation, along with optional action blocks that can perform context-sensitive checks in order to limit the generated strings. The LEX-like terminal generator file provides specifications that instruct the program how to generate strings for terminals in the grammar.

Operating Systems

Recent releases

  •  02 Apr 2007 16:52

    Release Notes: This release adds a section to the tutorial on controlling output formatting. An assert failure that would occur in peculiar circumstances has been fixed. The test cases for the pass-by-reference updates in 1.3000 have been updated.

    •  23 Aug 2006 08:46

      Release Notes: A program was added to generate random strings. A bug where yagg would be unable to generate a double quote character was fixed. A bug where use equivalence alternation would result in an assertion failing was fixed.

      •  06 Jun 2005 15:58

        Release Notes: This release fixes a bug related to generating code for nonpointer rule types and one involving output paths with spaces in them.

        •  10 Dec 2004 17:46

          No changes have been submitted for this release.


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.