Subject: pkg/21982: NEW PKG: devel/py-TGP
To: None <email@example.com>
From: None <firstname.lastname@example.org>
Date: 06/24/2003 19:11:20
>Synopsis: NEW PKG: devel/py-TGP
>Arrival-Date: Tue Jun 24 17:08:00 UTC 2003
>Originator: Michal Pasternak
>Release: NetBSD 1.6.1_STABLE
System: NetBSD mainframe.w.lub.pl 1.6.1_STABLE NetBSD 1.6.1_STABLE (ELEET) #6: Wed Jun 11 20:11:12 CEST 2003 email@example.com:/usr/src/sys/arch/i386/compile/ELEET i386
Python package, which makes parsers.
TPG can very simply write parsers that are usefull for most every day needs
(even if it can't make your coffee). With a very clear and simple syntax,
you can write an attributed grammar that is translated into a recursive
descendant parser. TPG generated code is very closed to the original
grammar. This means that the parser works "like" the grammar. A grammar rule
can be seen as a method of the parser class, symbols as method calls,
attributes as method parameters and semantic values as return values. You
can also add Python code directly into grammar rules and build abstract
syntax trees while parsing.
The first application of TPG is TPG itself. The first (not released) version
of TPG has been written by hand then was used to generate next versions. Now
TPG can generate itself.