On Feb 9, 2009, at 6:02 PM, Barney Boisvert wrote: > > And yeah, modeling is kickass, though the tooling is still lagging. I > worked on a project that we did full roundtripping a couple years ago > and it was great, as long as you didn't need a scenario that the > tooling couldn't handle. Then you're stuck. ;) But that's > undoubtedly better now.
Academically if you're into round tripping Krysztof Czarnecki is doing some really interesting work up at the U of Waterloo (or was in the summer of 2007 the last time we discussed it). I get the use cases of round tripping and even model generation from statements - especially in Java where you have stable API's with lots of calling code where patterns can be automatically discerned through a combination of static and dynamic analysis, but personally I prefer making the model the definitive artifact rather than the code - whenever possible. Check out the book from JP Tolvanen and Steve Kelly at MetaCase on DSLs for their take on 100% code gen. Re: gtooling, for the right use cases, MetaEdit+ is *really* interesting. And for anyone working in the Java/Eclipse world it's worth checking out what the openArchitectureWare guys have done. I took a tutorial on oAW at Code Gen this year and it's got pretty slick tooling for working with both visual and textual external DSLs and it makes ANTLR look like lex and yacc - it'll gen plugins for your editing your textual DSLs including constraint checking and code completion automatically just from a grammar and a set of constraints. If it wasn't EMF based it'd be perfect :-) > > > cheers, > barneyb > > -- > Barney Boisvert > [email protected] > http://www.barneyb.com/ > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CFCDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cfcdev?hl=en -~----------~----~----~----~------~----~------~--~---
