Projects / chilon::parser


chilon::parser provides an extended PEG-like language using C++0x template meta-programming. This PEG-based language has been extended to support AST building features directly embedded into the type system. chilon::parser uses the input PEG to create the AST type at compile time using tuples, vectors, variants, custom classes, ranges, and primitive types. The AST is populated by parsers generated from the same type description at run-time.

Operating Systems

Recent releases

  •  20 Mar 2011 00:24

    Release Notes: Spacing? is now parsed between elements in a sequence rather than Spacing*. The stream classes have been simplified and the documentation was updated.

    •  18 Feb 2011 21:29

      Release Notes: Variant now uses heap for pointers. many<> can be used with void storing parsers. tbpeg_not<> was added. It skips and stores for character storing sub-parsers.

      •  16 Oct 2010 01:57

        Release Notes: A missing include destination was fixed. Parsers that would usually store variant< vector, void> now store vector, as vector has empty() anyway.

        •  12 Oct 2010 11:47

          Release Notes: choice<> containing keys can be hashed into a multi-index container. tree_joined_lexeme was added. joined<> over key<> stores hash. A fix was made for sequences and tree_optional<>. A fix was made for nested variant within choice<> over optional<>. A bug for certain choice<> nested within sequence was fixed. The documentation was updated.

          •  29 Sep 2010 05:05

            Release Notes: More types can now be used as keys for hashes, including variants and containers. hash<> is no longer needed; many*<> over key<> always creates a hashed container. chilon::vector_hash_map is used for hashes now, which stores both order and a hashed lookup table. key_plus<> was added for additive keys. A memory leak was fixed. Simplifications and optimizations were made to the code.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.