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

Johannes Luber JALuber at gmx.de
Mon Oct 19 15:04:03 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.

I'm not sure why that is still there. Maybe Ter removed it from the Java target and I haven't followed yet.

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

I've been looking around in BaseRecognizer.cs/java but I've haven't found the place of divergence. Maybe I just missed it? Can you give me the file name and line number where the problem appears?

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

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