Saturday, July 09, 2005

Eclipse LDT

I am looking forward to the Eclipse LDT (Language definition toolkit) project delivering something concrete. Eclipse JDT has a number of very good productivity features like refactoring support, completions, quick fixes, hierarchical view in the package explorer etc etc. However all these features are pretty tightly coupled with JDT and hence supporting same levels of functionality for other languages involves a lot of rework in terms of infrastructure. A typical example is a package explorer like view. If one adds support for a new language one needs to parse the source, create an AST and then populate the tree viewer widget in a package explorer like view with the appropriate values. Then one needs to listen on changes to the source files and update the views appropriately. Ideally one would like to create an AST (with a standard interface perhaps) and just hook it into the view and the rest should be taken care of. Things only get messier as your xyz language development toolkit plays catchup with other functionalities like refactoring, editing etc. There is a scope for creation of a platform layer over which addition of new languages is easier. The LDT project has this as one of its goals. Needless to say for IBM Rational tools the problem is similar (or worse even) where we try to build modeling, visualization of source in UML notation etc. In the absence of a base toolkits the process involves creation of a JDT like toolkit on top of which we can provide our value adds. In these layers too addition of new languages becomes difficult in the absence of a common framework. Hopefully LDT will provide something good. Chris Daly from IBM has done some work on this is actively participating in the LDT newsgrp discussions. I think IBM should have some more participation. I am trying to understand the work that he has done and probably will be able to use some of his ideas in my work and probably come up with some on my own too ;)

No comments: