[antlr-interest] Free Text mixed with rules
victor panizza
victor.panizza at gmail.com
Wed Jun 18 16:25:09 PDT 2008
Hi Loring,
Could you point me to an example??
Thanks in advance!!!
On Tue, Jun 17, 2008 at 7:49 PM, Loring Craymer <lgcraymer at yahoo.com> wrote:
> If you want to recover text in its original format, you might as well use
> the start and stop markers on the first and last tokens of the "text"
> sequence from the input stream (ANTLR 3 keeps the text input stream in
> memory). At the same time, you are probably best off in going ahead and
> including an expression grammar in your parser to handle what you are
> calling "free text"--otherwise, you will have to deal with nested
> conditionals in your lexer, and that gets very messy. You can repackage the
> "text" segments in the output AST as a replacement for the nodes matched by
> the expression grammar.
>
> --Loring
>
>
> ----- Original Message ----
> From: victor panizza <victor.panizza at gmail.com>
> To: antlr-interest at antlr.org
> Sent: Tuesday, June 17, 2008 5:17:29 PM
> Subject: [antlr-interest] Free Text mixed with rules
>
> Hello All,
>
> I have the follow issue:
>
> I'm trying to develop a Parse Grammar and a Tree Parse for read PL/SQL
> scripts and translate it to DB2 SQL PL. Now, there're many diferences
> beetwen thems and this diferences are defined by the rules and some
> literals, but there're many things in common like the IF LOGICAL_OPERATION
> THEN END IF;
>
> My Idea is create a Node in the tree (using a token like FREE_TEXT) where I
> can put each segment of free text like the above and later walk the tree and
> get this free text in the same order on they were recongnized. For example:
>
> IF (LAST_DAY(PDATE)!=PDATE) THEN
> PDATEAUX := ADD_MONTHS(PDATE, PMONTHS);
> RETURN ADD_MONTHS(PDATE, PMONTHS);
> END IF;
>
> In text tree representation:
>
> (ROOT
> (FREE_TEXT "IF (LAST_DAY(PDATE)!=PDATE) THEN")
> (ASSING "PDATEAUX := PDATE;")
> (FREE_TEXT "RETURN ADD_MONTHS(PDATE, PMONTHS);")
> (FREE_TEXT "END IF;);")
> )
>
>
> Any idea, thanks in advance!!!!
>
> --
> Saludos,
> Victor Panizza
>
>
--
Saludos,
Victor Panizza
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080618/bb889092/attachment.html
More information about the antlr-interest
mailing list