Ábel Sinkovics
Metaparse is parser generator library for template metaprograms. The purpose of this library is to support the creation of parsers that parse at compile time. This library is inteded to be used for embedded domain specific language creation for C++. The input of the generated parser is a compile time string, see boost::mpl::string. The result of the parsing process is either an error or any other result the writer of the parser specifies.
The library is similar to Boost.Spirit, however while parsers built with Spirit parse at run-time, parsers built with Metaparse parse at compile-time. Parsers built with Metaparse can output:
types
objects (types with public static members)
callable C++ functions (types with public static method)
template metafunction classes
Based on C++11 features the library can provide advanced utilities for defining the input string, the rest of the library works on C++98-based compilers as well.
User manual
Library reference
Performance
Ábel Sinkovics:
Functional Extensions to the Boost Metaprogram Library
In Electr. Notes Theor. Comput. Sci., 264(5):85-101, 2010
Zoltán Porkoláb, Ábel Sinkovics:
Domain-specific Language Integration with Compile-time Parser Generator
Library
In Eelco Visser, Jaakko Järvi, editors, Proceedings of the ninth
international conference on Generative programming and component
engineering (GPCE 2010). ACM, October 2010, pp. 137-146.
Copyright Ábel Sinkovics (abel at elte dot hu) 2011.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
[up]
Last updated 2012-01-29 11:42:42 CET