[antlr-interest] Q: opinions on ikvm + antlr3 ?
C. Mundi
cmundi at gmail.com
Tue Feb 10 09:48:33 PST 2009
Johannes,
You've convinced me. After some time experimenting with IKVM, I have to say
I am very impressed and am motivated to find uses for it. But I have
decided to make no changes to how I apply the ANTLR tools.
I plan to continue targeting C# directly and not via bytecode-to-IL
translation. This decision is based partly on the fact that I am more
hooked than I like to admit on the syntactic sugar of C# properties and --
more importantly -- any work that I might have to invest into smoothing out
wrinkles in ikvm I would rather invest into giving back to the antlr
community.
All that said, I would encourage anyone who needs to get a chunk of java
going on .NET -- or call .NET assemblies from Java -- to check out IKVM.
Despite the very modest version number (0.38) it seems very mature. Full
disclosure: I did not get around to passing antlr through IKVM. I only
tried some in-house Java classes that I thoroughly understand, and it worked
great. I even called .NET stubs from Java. Nice.
Thanks again!
On Fri, Feb 6, 2009 at 9:25 AM, Johannes Luber <JALuber at gmx.de> wrote:
> > I have a further thought on this:
> >
> > On Fri, Feb 6, 2009 at 2:03 AM, Johannes Luber <JALuber at gmx.de> wrote:
> >
> > Con: I haven't checked it, but I believe that IKVM won't create the
> > .NETisms
> > > like properties instead getters and setters. If true, your parser
> > backend
> > > will be schizophrenic regarding the approaches.
> > > Con: .NET-only additions like #pragmas to silence warnings won't be
> > > inlcuded.
> >
> >
> > I think I managed to trick myself, by forgetting that I've been looking
> at
> > too many alternatives.
> >
> > What I'm thinking of is using the ANTLR java tool and writing all of my
> > actions in Java. Next, compile the java to bytecode targeting the JVM.
> > Then, use ikvmc to do a one-time translation of the JVM bytecode to .NET
> > IL
> > bytecode, i.e. a .NET assembly. According to the IKVM folks, I would
> have
> > to write my own classloder if I need to load Java classes dynamicaly.
> > Otherwise, I would never see C#, because I'd be coding in Java.
> >
> > (Ok, it's actually a little more complex. Write lexer in Java. Compile
> > lexer class to JVM bytecode. Recompile to IL (ikvmc). Create java stub
> > for
> > lexer IL (ikvmstub). Write parser in Java, by getting token stream from
> > java stub of lexer. Compile parser class to JVM bytecode. Recompile to
> > IL. Done.
> >
> > It seems like the properties v. setter/getter concern goes away in this
> > scenario. Am I completely wrong?
> >
> > C. Mundi
>
> You still have to interface your parser. Depending on how you do it, you
> may or may not have the need to access things like "token.getText()" in C#.
>
> Johannes
>
> --
> Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen:
> http://www.gmx.net/de/go/multimessenger01
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090210/cdd75ef5/attachment.html
More information about the antlr-interest
mailing list