Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [imp-dev] New version of IMP available, with source

Very nice work! Thanks.

On Thu, May 28, 2009 at 7:28 PM, Robert M. Fuhrer <rfuhrer@xxxxxxxxxxxxxx> wrote:
Hi All,

I just posted a new version of IMP to the eclipse.org update site:

 http://download.eclipse.org/technology/imp/updates

For those that wish to grab the update site archive directly (you know who you are), that's available here (v0.1.103):

 http://download.eclipse.org/technology/imp

N.B.: For the first time, this release includes a set of optional source features. I believe the source bundles are properly associated with their respective binary bundles, so hopefully the debugger will understand the relationship and show you the IMP source as you step into IMP code.

Themes in this release:
 - Minor enhancements
 - Bug fixes
 - Code cleanup
   - Reduce dependencies on internal Eclipse classes. (Work in progress; we aim to be API-clean within the next few releases.)
   - Reduce dependencies on the JDT. (Work in progress; over the next few releases, we aim to (a) remove all unnecessary JDT dependencies and (b) move the necessary dependencies for JVM-hosted languages to another feature.)

Changes:

Editor:
 - Hyperlinking from refs to decls across files works again. (This was broken in the previous two releases, it seems.)
 - Reworked some code to support editing files that live outside the workspace to use EFS, rather than bogus, local, half-baked implementations of various interfaces. (This is a work in progress; we aim to use EFS and other APIs to permit editing of source text independent of its location, e.g., outside the workspace, remotely stored.)
 - The PresentationDamager (which schedules a region for token re-coloring) now properly calls ITokenColorer.calculateDamageRegion() on a document change event to determine the damage extent. Previously, it (safely) assumed the entire source text had changed.
 - The UniversalEditor should now be more resilient to initialization failures of various sorts. In most cases, the UniversalEditor should come up with the text visible and editable, even if it was not successful in instantiating the parser or any other service.

General:
 - A bit of rewriting to remove some unnecessary JDT dependencies from the IMP runtime. (This is a work in progress - the IMP runtime still depends on the JDT, but we hope to completely sever that dependency in the near future.)
 - The IMP code now produces many fewer compiler warnings (but still much work left to do).
 - Many messages that were directed to System.out/err now go to the plugin's Error Log, or to the Console. Previously, such messages would be lost if one invoked Eclipse in such a way that stdout/stderr wasn't accessible (e.g. directed to /dev/null).
 - In particular, there is now a console available to each language's builder via the base class BuilderBase.

LPG-based parser support:
 - The default message handler used by the SimpleLPGParseController now produces arguably better (more descriptive) error messages for syntax errors.
 - The SimpleLPGParseController now only creates a single instance of the ISourcePositionLocator and returns that, rather than blindly creating a new instance for each call to getSourcePositionLocator().

Debugging support:
 - A new extension point "toggleBreakpointHandler" and corresponding interface IToggleBreakpointsHandler that (unlike the previous breakpoint support) is no longer tied to the JDT, so that it can be used for languages that aren't hosted by a JVM.
 - Added a ruler context menu item to toggle/enable/disable the breakpoint at the given line.

Code cleanup:
 - The LanguageServiceManager now supports the ITokenColorer language service, which is now instantiated in the same way as all other language services (we were treating that one differently for no good reason).
 - The PresentationController service controller is now initialized using a LanguageServiceManager, now that the latter provides access to the ITokenColorer.
 - The debug method PresentationController.dumpToken() now provides info on the token's position, using the language's ISourcePositionLocator.
 - Removed IMP developer-related comments from the template source to avoid pollution of the IMP user's code with our mindless prattling. ;-)

PrefSpecs (preferences page specification language):
 - The PrefSpecs language/compiler now supports a "directory" field type. Previously, there were "file" and "directoryList" field types, but nothing for a single directory.
 - The PrefSpecs compiler now accepts field attributes in any order. Previously, it insisted on seeing the attributes in a particular order that the user would have no way of knowing.
 - Cleaned up the PrefSpecs compiler code, and removed some unnecessary redundancy in the handling of the field types.
 - The project tab in an IMP-based preferences page now uses a pull-down to identify the "selected project", rather than a modal dialog with an unnecessarily multi-selectable project list.
 - DetailsDialog classes now extend the API class TrayDialog in lieu of the internal class ProductInfoDialog.

Analysis:
 - Added some bleeding-edge (but disabled) code to support the creation of various kinds of language-specific search indices, using the PDB. See AnalysisManager, IndexManager, and related classes. This is a work in progress. Stay tuned.

--
Cheers,
 - Bob
-------------------------------------------------
Robert M. Fuhrer
Research Staff Member
Programming Technologies Dept.
IBM T.J. Watson Research Center

IMP Project Lead (http://www.eclipse.org/imp)
X10: Productivity for High-Performance Parallel Programming (http://x10.sf.net)

_______________________________________________
imp-dev mailing list
imp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/imp-dev


Back to the top