Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » IMP » Status update
Status update [message #16427] Thu, 24 January 2008 10:51
Robert M. Fuhrer is currently offline Robert M. Fuhrer
Messages: 294
Registered: July 2009
Senior Member
Hi All,

Thought I'd drop a quick note to let you know what we've been
up to the last few weeks. Mostly the activity has been on 3
fronts: maintenance (bug fixing and code cleanup), administrative,
and technical.

Administrative:

First, we're working to get the source code into the repository
on eclipse.org. Many of you know that this entails IP/license
vetting, so this takes a while to get pushed through. In particular,
our dependencies on things like WALA, LPG, and Polyglot give us
extra work to do on that front. We do hope to get the code in place
over the next 2-3 weeks, though. For now, you can continue using
the source repository on SourceForge. [As a reminder, the project
name there is "eclipse-imp": http://eclipse-imp.sourceforge.net ]

Likewise, we're working on getting the web content migrated to
eclipse.org from SourceForge. Luckily that doesn't require IP
scrubbing, but it does require some work on our part. Stay tuned.

I've been investigating how to import our Bugzilla database
(which has been behind our firewall) into the main Bugzilla DB
on eclipse.org. It looks as though it should be possible, but
our DB is presently on Bugzilla 2.22, while eclipse.org is
running Bugzilla 3.0, so we have to migrate our DB before giving
the eclipse.org IT personnel the database snapshot. I hope to
have this finished within a couple of weeks.

BTW, I should note that the timeline that appeared in the initial
project proposal is out of date. We published that before we had
a very clear idea of the project creation process, which took
somewhat longer than we anticipated. To see an updated project
timeline, see the project creation review slides. We'll post an
update once we get the web content in place.

Maintenance:

We've been testing the code, squashing bugs, and performing some
refactoring and other code cleanup. What more can we say without
posting our Bugzilla DB? :-)

Technical work:

Also, we've been working on removing references to LPG-specific
classes from our API. This mostly involved the IParseController
interface and the token highlighting-related API. If you've been
keeping up with CVS on SourceForge, you'll see we've made
considerable progress there. In fact, we're basically done with
that work, though we may want to tweak the APIs a bit more to
make them more parser-generator neutral (e.g. to accommodate
"scannerless parsers" better).

Jurgen Vinju (from CWI) and I have been working on an entirely
new program analysis framework that should make it easier for
people to write their own new analyses, as well as plug in
already-existing analyses. The term "analysis" here is quite
broad, encompassing things like type inference, data-flow
analyses, and search index creation, to name a few. We'll be
posting something fairly soon to describe the design and the
overall architecture that we've come up with.

We're also starting to work on what we call "language embedding"
which is the mechanism that will allow us to provide IDE
services for program fragments in language A that are embedded
in programs written in language B. For example, most parser
generator grammar specifications consist of grammar rules
interspersed with "action code" that builds an AST to represent
the source text that was parsed. Unix makefiles likewise embed
shell scripts amongst the dependency information. AspectJ
interleaves Java class/member declarations with pointcut
declarations. And so on. We'll be making some API changes to
support this.

We've already implemented one critical piece (at least for
LPG-based language implementations), which is the ability to
specify multiple start symbols in a grammar. E.g., LPG now
permits one to write a Java grammar and declare that one should
be able to parse an entire compilation unit, a type declaration,
a member declaration, or (say) a statement. Each of these
non-terminals is then associated with a distinct method in the
parser class. With this facility, we're now able to (and do)
parse the Java code embedded within LPG grammar action blocks.
We haven't hooked in things like token highlighting and such
(which will require more API changes), but if you introduce an
error in the Java code in an LPG grammar action block, you
should now see red squigglies to indicate the syntax error.

Well, that's all for now... Stay tuned!

Cheers,
-- Bob

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

IMP Team Lead (http://eclipse-imp.sourceforge.net)
X10: Productivity for High-Performance Parallel Programming (http://x10.sf.net)
Previous Topic:Status update
Next Topic:IMP source code formatting tool
Goto Forum:
  


Current Time: Fri Aug 22 07:55:16 EDT 2014

Powered by FUDForum. Page generated in 0.01609 seconds