Download List

Project Description

Spirit is an object-oriented, recursive descent parser generator framework implemented using template meta-programming techniques. Expression templates allow Spirit to approximate the syntax of Extended Backus Normal Form (EBNF) completely in C++. The Spirit framework enables a target grammar to be written exclusively in C++. EBNF grammar specifications can mix freely with other C++ code and, thanks to the generative power of C++ templates, are immediately executable.

System Requirements

System requirement is not defined
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.

2003-03-22 04:17
1.6.0

The development branch has been declared stable. There are a lot of new features and improvements from the previous stable release (1.2.9).
Tags: Major feature enhancements

2002-10-11 14:40
1.5.1

This version adds --enable-spirit-threadsafe and --with-boost= configure script options, uses the BOOST_STATIC_CONSTANT in Phoenix to increase portability, rearranges the Spirit debug code so it will always work regardless of include order, adds a new group_d directive, adds the capability for subrules to have contexts, fixes compile problems with SPIRIT_THREADSAFE, fixes the symbols add() free function, makes adjustments to the refactoring parser, fixes the ast_xml.cpp example, adds tests for the object_with_id class, and adds phoenix_subrule_calc.cpp and grouping_calc.cpp examples.
Tags: Development, Minor bugfixes

2002-10-06 20:28
1.5.0

This version has been rewritten to be policy
based, allowing great customizability and
flexibility. There are also some new examples and
more tests.
Tags: Development, Major feature enhancements

2002-05-20 23:05
1.2.9

Addition of some missing typename keywords to multi_pass.hpp, addition of some missing inline keywords to exceptions.ipp to fix multiple symbol definition linker errors when using spirit in more than one translation unit, and changing assert(n1 < n2); to assert(n1 <= n2); in loops.ipp's finite_loop::parse().
Tags: Minor bugfixes

2002-03-24 02:22
1.2.8

This release fixes a bug in the tst class which caused a possible false match in the symbol table class.
Tags: Minor bugfixes

Project Resources