[antlr-interest] adding child node in rewring rule
Юрушкин Михаил
yurushkin at rambler.ru
Tue Feb 2 22:54:29 PST 2010
I know about this project. But it (OFP project) doesn't fit to my
requirements
1) it's written in java (I need C target)
2) It doesn't create AST. It's important because, in the past I didn't use
AST
and had many memory leakages. For Java there're no such problem, but it is
for C target.
3) They have many fixes (coded in java).
William B. Clodius <wclodius at los-alamos.net> писал(а) в своём письме Wed,
03 Feb 2010 06:34:45 +0300:
> Again I urge you to check out the Open Fortran Parser Project,
> http://fortran-parser.sourceforge.net/,
> as you are trying to reinvent the wheel. If their license is too
> restrictive you might consider the parser portion of g2c, g77, gfortran,
> or some of the commercial
> compilers.
>
> On Feb 1, 2010, at 1:48 PM, Юрушкин Михаил wrote:
>
>> Hello,
>> Could you help me with following problem:
>>
>> I try to parse do_stmts of fortran (incudining non-block)
>>
>> there is a part of grammar
>>
>> do_construct
>> : do_stmt
>> ( ( {blablabla}?=> (exec_construct | end_do) ) )+
>> -> ^(T_DO_CONSTRUCT do_stmt execution_part_construct* T_ENDDO)
>>
>> as you can see, (..)+ cycle can be stopped by blablabla predicate.
>>
>> What I need:
>> if the last stmt is exec_construct, I want to generate the following:
>> ^(T_DO_CONSTRUCT do_stmt execution_part_construct* T_ENDDO)
>>
>> If the last stmt is end_do, I want to generate the following:
>> ^(T_DO_CONSTRUCT do_stmt execution_part_construct* end_do)
>>
>> what can you suggest?
>> thanks a lot
>>
>> --
>> Best regards,
>> Michael
>>
>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>> Unsubscribe:
>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
--
Best regards,
Michael
More information about the antlr-interest
mailing list