Grammar to parse the "Hi" statement of this e-mail:
---------------------------------------------------
all: cM | cF | 'There';
cM: 'Chitparan'; // Sanskrit word meaning "One who inspires the mind" - Male 
cF: 'Chitpari';  // Sanskrit word meaning "One who inspires the mind" - Female 
---------------------------------------------------

Hi "all",

We are new to ANTLR and we all love this tool! Thanks to Terrence!  \__/

We are trying to write a C2C converter. 
However, we are stuck with the handling of the "block statement" in the Tree 
Grammar part.
Though we have a workaround, we would like to know whether this is an ANTLR bug 
(or) a gap in our understanding.

I have written a concise grammar that captures the problem. Kindly see the 
attachment.

The problem is very simple:
A compound statement is a 'statement' that starts with '{', has zero or more 
variable declarations, followed by zero or more 'statements' and ends with '}'
In the grammar above, 'v' stands for variable declaration, 's' stands for a 
statement.

When I run this project , I get the following output.
-------------------------------
Console
-------------------------------
{vs{s}}
Tree = ({ v s ({ s }) })
Tree Grammar Output =  {vs{vs} }
--------------------------------

Now look at "Tree Grammar Output". It carries over the "v" from the previous 
level.
However if I re-write the grammar as below, I don't have this problem.

b->'{' '}'
  | '{' v '}'
  | '{' s '}'
  | '{' v+ s+ '}'

Kindly advice me on what is the right way to do things!
Are we missing something? (like... RTFM?)

Thanks,
Best Regards,
Sarnath
Sarnath Kannan 
Sr. Technical Manager 
HCL Technologies Ltd 
Shipara Building, Off Hosur Road, GB Palya, Bangalore
+91-80-41584417
www.hcltech.com 
www.hcl.in 


DISCLAIMER:
-----------------------------------------------------------------------------------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only. 
It shall not attach any liability on the originator or HCL or its affiliates. 
Any views or opinions presented in 
this email are solely those of the author and may not necessarily reflect the 
opinions of HCL or its affiliates. 
Any form of reproduction, dissemination, copying, disclosure, modification, 
distribution and / or publication of 
this message without the prior written consent of the author of this e-mail is 
strictly prohibited. If you have 
received this email in error please delete it and notify the sender 
immediately. Before opening any mail and 
attachments please check them for viruses and defect.

-----------------------------------------------------------------------------------------------------------------------
List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

Attachment: driver.java
Description: driver.java

Attachment: block.g
Description: block.g

Attachment: blockTree.g
Description: blockTree.g

-- 
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.

Reply via email to