13 lines
792 B
Text
13 lines
792 B
Text
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.
|