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
--
You received this message because you are subscribed to the Google Groups
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/il-antlr-interest?hl=en.