Support for .NET 2 (suggestion)

Oct 24, 2011 at 11:47 AM

Hi

I tried to target .NET 2/3.5 but then realized there is quite a few references to .NET 4 specific types.

From what I could see though, most of the types are used in an additional sense to LALR(1) generation, eg interpreter support and predefined terminal classes like number literals.

While this is all good and well, this is hardly needed for a parser generator and could (well, should, really) be hosted in a extension/support library.

Removing the extras should allow one to have just a basic library that does parser generation targettable to .NET 2/3.5.

Just a thought :)

Cheers

leppie

Coordinator
Oct 25, 2011 at 5:15 PM

Hi

well, you're just out of luck. Support for prev versions of .NET was just dropped a few weeks ago - I removed the projects targeting older runtimes. The primary push for this was the fact that ExpressionType enum was extended in .NET 4, and I did not notice it until I typed too much in 2010 version. So my easy solution was just to remove 2008 projects. 

Yes, you're right, these .NET 4 specific things can be isolated, and probably most are in interpreter. The interpreter/AST will be completely separated soon from parsing assembly, so this would be even easier. But the main question is - why? It's been a while now since .NET 4/vs2010 is out, and even if it's not propagated to all servers - just wait for a few months, that will happen. What's your need for this? Something to do with DLR?

We are facing another version split next year when 2012 comes out, and I intend to maintain 2010 and 2012 versions for some time. At this time 2008 would be dropped anyway - supporting 3 versions is just too much of a trouble I think.

thanks again

Roman

Oct 26, 2011 at 10:38 PM

Roman, I guess that leppie didn't mention VS2008, so It's not a problem about VS version. VS2010/2012 can target whatever framework you want, and by specifying global build configuration for your projects, It would be even possible to compile 2.0 and 4.0 version from the same solution. But yeah, 4.0 should be fine I guess... the only thing about 2.0 is that you are almost sure that it is installed on Vista.

Coordinator
Oct 27, 2011 at 4:17 PM

yeah, I understand this, sorry for the confusion, I was just using VS versions as "equivalent" of corresponding .NET versions, they are upgraded in sync. Still, to target .NET 2.0 you have to have a separate project file. Or we can just try to intentionally target lower version of .NET (like 2.0) in the main Irony project. At runtime, it will be loaded into the currently running runtime (4.0 if it is running). But again, I'm just not sure it's worth the effort at this point.