[antlr-interest] Re: 2.7.2a4 ANTLR/C# - build ok, panic shutdown

Terence Parr parrt at jguru.com
Thu Dec 5 20:39:03 PST 2002


Hi Daniel,

Just tried this

/tmp $ java antlr.Tool t.g
ANTLR Parser Generator   Version 2.7.2a6 (20021130-1)   1989-2002 
jGuru.com
/tmp $ cat t.g
class P extends Parser;

a : A {#[a,b,c];}
   ;

Perhaps you grabbed 11-29's version not the 30th :)

Ter

On Thursday, December 5, 2002, at 06:01  PM, slightlynew wrote:

> Ter,
>
>> I updated this java/action.g rule [...]
>> To allow the 3rd arg.  Hmm....
>
> Oh no, that's definitely there.  Let me try to express this more
> clearly.  I tried two separate things, one with Java Antlr and one
> with C#.  Neither worked.
>
> (1) For C#, I ported your changes to java/action.g to
> csharp/action.g.  In other words, I added your new AST_CONSTRUCTOR
> rule to the C# version.  This didn't work, but I didn't really expect
> it to, because Micheal had already implied it wouldn't until the
> 2.7.2a6 C# codegen comes out.  And he has since confirmed that.
>
> (2) For Java, I didn't have to change action.g at all, because you'd
> already done so.  I was just trying to use it.  I modified a grammar
> to pass a third argument to an AST constructor, and then tried to run
> java Antlr on it.  It didn't work.  In fact, I got the same syntax
> error as with the C#: "unexpected ','".  This was why I asked, "Is
> there something else one needs to do, to get Antlr to use the new
> action.g?"  The answer is "yes" in the C# case because 2.7.2a6 isn't
> out yet.  But what about the Java case?
>
> Maybe there are some crossed wires and I wasn't really using the Java
> 2.7.2a6 codegen... but I definitely changed my grammar to
> say "Language = Java" instead of C#.
>
> - Daniel
>
> --- In antlr-interest at y..., Terence Parr <parrt at j...> wrote:
>>
>> On Wednesday, December 4, 2002, at 03:08  PM, slightlynew wrote:
>>> What I wasn't able to get working in Antlr 2.7.2a6 was that third
>>> parameter that Terence added to the AST constructor syntax: #
>>> [FOO, "Foo", "FooNode"] (or something like that!)  I couldn't get
>>> that to work either with Java or C# (having ported Terence's
> changes
>>> to the C# action.g).  Antlr rejects the third parameter with a
> syntax
>>> error saying "unexpected ','".  Is there something else one needs
> to
>>> do, to get Antlr to use the new action.g?
>>
>> Hmm...the latest version should have that.  I could have sworn I
> tested
>> that.  I updated this java/action.g rule:
>>
>> protected
>> AST_CONSTRUCTOR!
>>          :       '[' (WS)? x:AST_CTOR_ELEMENT (WS)?
>>                  (',' (WS)? y:AST_CTOR_ELEMENT (WS)? )?
>>                  (',' (WS)? z:AST_CTOR_ELEMENT (WS)? )? ']'
>>                  {
>>                  String args = x.getText();
>>                  if ( y!=null ) {
>>                          args += ","+y.getText();
>>                  }
>>                  if ( z!=null ) {
>>                          args += ","+z.getText();
>>                  }
>>                  $setText(generator.getASTCreateString(null,args));
>>                  }
>>          ;
>>
>> To allow the 3rd arg.  Hmm....
>>
>> Ter
>> --
>> Co-founder, http://www.jguru.com
>> Creator, ANTLR Parser Generator: http://www.antlr.org
>> Lecturer in Comp. Sci., University of San Francisco
>
>
>
>
> Your use of Yahoo! Groups is subject to 
> http://docs.yahoo.com/info/terms/
>
>
--
Co-founder, http://www.jguru.com
Creator, ANTLR Parser Generator: http://www.antlr.org
Lecturer in Comp. Sci., University of San Francisco


 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



More information about the antlr-interest mailing list