[antlr-interest] implementing 'if' and 'while' grammar with actions

向秦贤 fyaoxy at gmail.com
Thu Aug 23 23:31:30 PDT 2007


Hi,
If I get you right, I think maybe there is a tree walker needed.
If I do that I would let lexer and parser do thing simply, and create a tree
grammar in which I can  do more thing.




2007/8/24, Abhijit Nandkumar Ghonge <Abhijit_Ghonge at infosys.com>:
>
>  Hi,
>
>
>
> I managed to skip the statements for "if" statement implementation using
> stack concept. Now, I want to implement looping in "while" statement. My
> rule for while statement is:
>
>
>
> whilestatement:
>
>                         'while' LPAREN expr RPAREN 'do' NEWLINE
>
>                         {
>
>                                     //action to push the outcome of expr
> on stack
>
>                         } statement* done
>
>                         {
>
>                                     // peep the top of the stack
>
>                                     // *if expr is true reposition the
> line number of parser to start of while statement*
>
>                                     // else pop the top of the stack and
> continue ahead
>
>                         }
>
>
>
> I'm stuck at the logic to be put for the *bold* comments above. *Is there
> something like yylineno as in yacc parser, which, if I set the line number
> of while statement, it loops back?*
>
> * *
>
> *Please help.*
>
> * *
>
> Regards,
>
> Abhijit.
>
>
>
>
>
>
>  ------------------------------
>
> *From:* antlr-interest-bounces at antlr.org [mailto:
> antlr-interest-bounces at antlr.org] *On Behalf Of *Abhijit Nandkumar Ghonge
> *Sent:* Thursday, August 23, 2007 6:19 PM
> *To:* antlr-interest at antlr.org
> *Subject:* [antlr-interest] implementing 'if' and 'while' grammar with
> actions
> *Importance:* High
>
>
>
> Hi all,
>
>
>
> I want to implement parser grammar for 'if' and 'while' statement *with
> actions in it*.
>
> My script is :
>
>
>
> var1=10
>
> if ( var1 < 9 ) then
>
> var1++
>
> print (var1)
>
> endif
>
>
>
> How do I skip the execution of the statements if the "if-condition" is
> false as in the above case?
>
>
>
> I searched for the grammar implementation in the site, but all examples
> where implementing grammar rules for "if" and "while" without actions in
> them. I want to embed actions in the grammars.
>
> Please give some pointers to "if" or "while" grammar implementation with *actions
> in it.*
>
> Please Help.
>
>
>
> thanks,
>
> Abhijit
>  **************** CAUTION - Disclaimer *****************
> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended
> solely for the use of the addressee(s). If you are not the intended
> recipient, please notify the sender by e-mail and delete the original
> message. Further, you are not to copy, disclose, or distribute this e-mail
> or its contents to any other person and any such actions are unlawful. This
> e-mail may contain viruses. Infosys has taken every reasonable precaution to
> minimize this risk, but is not liable for any damage you may sustain as a
> result of any virus in this e-mail. You should carry out your own virus
> checks before opening the e-mail or attachment. Infosys reserves the right
> to monitor and review the content of all messages sent to or from this
> e-mail address. Messages sent to or from this e-mail address may be stored
> on the Infosys e-mail system.
> ***INFOSYS******** End of Disclaimer ********INFOSYS***
>



-- 
致敬
向秦贤
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20070824/1baf6274/attachment.html 


More information about the antlr-interest mailing list