blob: f9566ed2f2f89511d5ff43b2c1987655eb969879 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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.
|