Related articles |
---|
[ANN] Parsing Tutorial and YARD 1.0: A C++ Parsing Framework cdiggins@gmail.com (Christopher Diggins) (2007-07-09) |
From: | Christopher Diggins <cdiggins@gmail.com> |
Newsgroups: | comp.compilers,comp.lang.misc,comp.lang.c++ |
Date: | Mon, 09 Jul 2007 20:58:39 -0000 |
Organization: | Compilers Central |
Keywords: | courses, C++, tools, available |
Posted-Date: | 12 Jul 2007 22:06:45 EDT |
Version 1.0 of the YARD parsing framework for C++ was posted to
SourceForge recently (
http://sourceforge.net/project/showfiles.php?group_id=126822 ) along
with a tutorial, written with the help of Max Lybbert, introducing the
topic of parsing programming languages and basic usage of YARD (
http://yard-parser.sourceforge.net/cgi-bin/index.cgi?dest=Documents&doc=tutorial
).
The YARD framework constructs efficient recursive-descent parsers at
compile-time using template meta-programming. YARD grammars are
expressed as PEG (parsing expression grammar) grammars expressed using
C++ templates, in a form resembling an extended BNF (Backus-Naur
form). Parsers constructed using YARD combine lexing and parsing
phases, and can automatically generation abstract syntax trees,
without requiring a separate code-generation phase.
The YARD framework has been under development on and off for three
years and has spawned other related projects (e.g. the Biscuit parsing
library, http://p-stade.sourceforge.net/biscuit/index.html ). YARD has
been used in commercial tools (http://www.tmg.de/admin.local/lib/
antenna/linux/ReadMe.txt) and various open-source projects (e.g.
http://www.cat-language.com). YARD is designed to be less of an
end-to- end parsing solution, but an open-ended framework that can be
easily extended and modified to fit a user's particular needs.
The YARD library is public domain (
http://creativecommons.org/licenses/publicdomain/ ) but for those who
require a release with a specific open-source license, can request one
on the discussion group (
http://sourceforge.net/forum/forum.php?forum_id=432769 ).
Christopher Diggins
http://www.cdiggins.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.