[ANN] Parsing Tutorial and YARD 1.0: A C++ Parsing Framework

Christopher Diggins <cdiggins@gmail.com>
Mon, 09 Jul 2007 20:58:39 -0000

          From comp.compilers

Related articles
[ANN] Parsing Tutorial and YARD 1.0: A C++ Parsing Framework cdiggins@gmail.com (Christopher Diggins) (2007-07-09)
| List of all articles for this month |

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 (

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

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.