[antlr-interest] Syntax for C# Namespaces

Johannes Luber jaluber at gmx.de
Mon Jul 21 16:15:46 PDT 2008


Jones, Larry schrieb:
> I recently downloaded 3.1b2 and am implementing the tour/trees examples 
> for _The Definitive ANTLR Reference_.
>  
> I successfully built the examples using Java; however, I eventually want 
> to target C#.
>  
> My driver program uses a namespace. The wiki article on the CSharp 
> target describes the syntax to add a namespace; however, when I add 
> "@parser::namespace { Expr }" to my grammar file, ANTLR generates the 
> following error:
> 
>     ANTLR Parser Generator  Version 3.1b2 (July 17, 2008)  1989-2008
>     error(100): Expr.g:17:1: syntax error: antlr: Expr.g:17:1:
>     unexpected token: @
>     error(100): Expr.g:17:20: syntax error: antlr: Expr.g:17:20:
>     unexpected token:  Expr
>     error(100): Expr.g:18:19: syntax error: antlr: Expr.g:18:19:
>     unexpected token:  Expr
>      
> 
> The preceeding grammar lines are:
>  
> 
>     grammar Expr;
>      
>     options {
>      language=CSharp2;
>      
>      output=AST;
>      
>      // ANTLR can literally handle any tree node type.
>      // For convenience, specify the Java type.
>      ASTLabelType=CommonTree;   // type of $stat.tree ref etc.
>      
>     }
>      
>     /**
>      * Put both the parser and lexer in the same namespace as the driver.
>      */
>     @parser::namespace { Expr }
>     @lexer::namespace { Expr }
> 
> What is the syntax for adding a C# namespace?
>  
> Thanks.

I believe the problem is that you are using a Javadoc-style comment 
before @parser and ANTLR doesn't recognize this correctly. You can 
either remove one * in the first line or try if an empty line between 
comment and @parser helps.

Johannes
>  
>  
> 
> *--*
> 
> *Lawrence Allan Jones*
> *Senior Developer / Technical Advisor*
> Aspen Technology, Inc.
> 2500 CityWest Blvd. Suite 1500
> Houston, Texas 77042
> USA
> 281-504-3324 (work)
> 281-504-3395 (fax)
> larry.jones at aspentech.com <mailto:larry.jones at aspentech.com>
> www.aspentech.com <http://www.aspentech.com/>
> 
> 	
> 
>  
> 
> This e-mail and any attachments are intended only for use by the 
> addressee(s) named herein and may contain legally privileged and/or 
> confidential information. If you are not the intended recipient of this 
> e-mail, you are hereby notified any dissemination, distribution or 
> copying of this email, and any attachments thereto, is strictly 
> prohibited. If you receive this email in error please immediately notify 
> the sender and permanently delete the original copy and any copy of any 
> e-mail, and any printout thereof.



More information about the antlr-interest mailing list