[antlr-interest] implementing 'if' and 'while' grammar with actions
Abhijit Nandkumar Ghonge
Abhijit_Ghonge at infosys.com
Thu Aug 23 22:58:05 PDT 2007
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/c7b6b69e/attachment-0001.html
More information about the antlr-interest
mailing list