[antlr-interest] Which version do I need for a CSharp target and VS 2008

Jim Idle jimi at temporal-wave.com
Tue Oct 20 00:40:44 PDT 2009


Look at the routine Mismatch() (capital M). It is commented out and all that is left seems to be the original recovery/syntax error logic, despite the fact that the routines to detect missing and extraneous tokens are within the class. So Csharp2 never reports anything but syntax error, where the other runtimes will enter the logic to calculate followsets and so on and report accordingly.

If you follow the logic path from a mismatch in Java vs CSharp2, you will see where it diverges. You can do this manually with a small grammar such as:

R : A COMMA B ;

Generate that Java and CSharp2 code and trace the path that would happen if the COMMA was missing ( A B ). 

My feeling is that it is just a minor oversight in what methods are implemented, or something wasn't quite finished off at dome point.

Jim

> -----Original Message-----
> From: Johannes Luber [mailto:JALuber at gmx.de]
> Sent: Monday, October 19, 2009 12:08 AM
> To: Jim Idle; antlr-interest at antlr.org
> Subject: Re: [antlr-interest] Which version do I need for a CSharp
> target and VS 2008
> 
> > Johannes,
> >
> > Is there some trick to getting the CSharp2 runtime to behave like
> Java in
> > error recovery/detection? The MissingToken and extraneous token stuff
> is
> > never called because the Mismatch() routine is commented out in the
> runtime.
> > So basically all you ever get is an NVA, whereas Java and C will work
> ou
> > that a token is missing or extraneous and give better error messages.
> I can
> > see that the recovery code is there, but it is never invoked?
> Pointers?
> >
> > Cheers,
> >
> > Jim
> 
> Do I understand correctly that there is some inconsistency between the
> runtimes? I've looked into BaseRecognizer.java and I can't find
> mismatch() there. Where is the missing code based in Java?
> 
> Johannes
> >
> >
> > > -----Original Message-----
> > > From: Johannes Luber [mailto:JALuber at gmx.de]
> > > Sent: Saturday, October 17, 2009 11:19 PM
> > > To: Jim Idle; antlr-interest at antlr.org
> > > Subject: Re: [antlr-interest] Which version do I need for a CSharp
> > > target and VS 2008
> > >
> > > > Not sure if the Csharp3 target is ready for production yet - I
> wanted
> > > to
> > > > ask this myself as I would like to switch to it if it is ;-)
> > > >
> > > > But I use Csharp2 as the target, and the runtime is on the
> download
> > > pages.
> > > >
> > > > Jim
> > >
> > > First off, CSharp, CSharp2 and CSharp3 are all different targets,
> > > although CSharp and CSharp2 share a lot implementationwise. That
> being
> > > said, don't use CSharp, as it will be removed for the 3.2 update.
> > > CSharp2 will have its public interface changed (basically simple
> > > renames) to align it to one of CSharp3. So if you want save 5
> minutes
> > > you could start out with CSharp3 - BUT I don't know about bugs
> lurking
> > > in that implementation.
> > >
> > > CSharp3 is being used in ST 3.2, in a C# port of ANLTR and the
> > > maintainer's internal projects, so I'd take it as a big clue that
> it
> > > does work sufficiently in those cases. Still CSharp3 lacks the kind
> of
> > > exposure CSharp2 has (which is used in e.g. NHibernate).
> Considering
> > > that the longterm plan is to obsolete CSharp2 in favor of CSharp3
> you
> > > might want to try it out now.
> > >
> > > Johannes
> > > >
> > > > > -----Original Message-----
> > > > > From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-
> > > > > bounces at antlr.org] On Behalf Of Robert van der Hulst
> > > > > Sent: Friday, October 16, 2009 9:41 PM
> > > > > To: antlr-interest at antlr.org
> > > > > Subject: [antlr-interest] Which version do I need for a CSharp
> > > target
> > > > > and VS 2008
> > > > >
> > > > > I am using Antlr 2.7.6 (CPP target) at this moment for our
> Language
> > > > > project.
> > > > >
> > > > > I  need  to  do make some serious changes, so I am considering
> to
> > > move
> > > > > the project to Antlr 3 and a CSharp
> > > > >
> > > > > Which version do people recommend that I should use.
> > > > >
> > > > > I looked at the Antlr website and found two options:
> > > > >
> > > > > - CSharp
> > > > > - CSharp3
> > > > >
> > > > > but  I  am  not  sure  if they are both available for the
> latest
> > > Antlr
> > > > > build.
> > > > >
> > > > > Which one do you recommend ?
> > > > >
> > > > > I   would   also  like  to have a binary that does not need
> Java
> > > (like
> > > > > there is for Antlr 2). Does that exist ?
> > > > >
> > > > > Finally:  Who has experience using Antlr in a VS 2008
> environment
> > > (and
> > > > > setting up the necessary MsBuild steps to automate the build
> > > process)?
> > > > >
> > > > > --
> > > > > Robert van der Hulst
> > > > >
> > > > >
> > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest
> > > > > Unsubscribe: http://www.antlr.org/mailman/options/antlr-
> > > interest/your-
> > > > > email-address
> > > >
> > > >
> > > >
> > > >
> > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest
> > > > Unsubscribe:
> > > > http://www.antlr.org/mailman/options/antlr-interest/your-email-
> > > address
> > >
> > > --
> > > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> > > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
> >
> >
> 
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01





More information about the antlr-interest mailing list