Related articles |
---|
Three uses of productions Meyer-Eltz@t-online.de (Detlef Meyer-Eltz) (2005-08-07) |
From: | Detlef Meyer-Eltz <Meyer-Eltz@t-online.de> |
Newsgroups: | comp.compilers |
Date: | 7 Aug 2005 16:16:20 -0400 |
Organization: | Compilers Central |
Keywords: | parse, tools, available |
Posted-Date: | 07 Aug 2005 16:16:20 EDT |
With the TextTransformer - an interpreted parser generator tool
(Windows) at http://www.texttransformer.com - you now can
use productions in a triple way:
IF( production1() ) // looking ahead
{{ // a semantic action, which
production2(State.la_copy()); // calls a production
}} // with the text matched by production1
production3 // execute a production
// of the main LL(1)-parser
ELSE
...
Each production can be used for a look ahead, even if it contains
semantic code: this code then will not be executed. Also, each
production can be called with an arbitrary text, whereby semantic code
is executed. In the main recursive descent parser, productions are
checked for the LL(1)-condition. But by means of the IF- and the
WHILE-structure conflicts can be resolved. So grammars can be parsed
too, which are not LL(1).
A new web page for TextTransformer projects was started:
http://www.texttransformer.org
As first example there is a text to HTML converter, which demonstrates
the three kinds of uses of productions. There is an extensive
descripition of the project in German at
http://www.text-konverter.homepage.t-online.de
I offer a free license of the TextTransformer std, for a Native
American speaker, who likes to help me with a translation of this
text.
Regards
Detlef Meyer-Eltz
--
mailto:Meyer-Eltz@t-online.de
url: http://www.texttransformer.de
url: http://www.texttransformer.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.