Great question. Talking to Robert from
SAFARI at EclipseCon, he mentioned that they would like to support other
parsers and have built their framework to do that. There will probably be a
fair amount of development effort to make it happen, and they will need some
help from the community, but it should be possible. We’ll know more
though when they get their open source project set up so that we can start
working with them.
From the CDT perspective, I think we need
to support multiple parsing technologies as well. Chris and his team are
working on an LPG based C parser and my plan is to use ANTLR for C# if I can. Of
course if you already have access to a parser front end for your language and
can integrate it into Eclipse, you’re a mile ahead as well. But we really
need to write some documentation on how to extend the CDT for a new language.
And this should feed into the SAFARI project so that they can generate the
necessary classes so that you don’t need to hand code them all. But that
will probably have to wait until we get CDT 4.0 out the door.
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Craig Ugoretz
Sent: Sunday, March 18, 2007 11:10
PM
To: CDT
General developers list.
Subject: [cdt-dev] Eclipsecon 2007
- SAFARI
I see from blogs that some people saw the
Eclipsecon 2007 presentation on SAFARI. I am trying to "get the
jump" on the SAFARI by considering writing a parser in LPG for an Eclipse
editor for the Mozart-Oz programming language. Below is a concern that I
wrote to a member of the Mozart-Oz development team:
I have been thinking about the parsing
element of the project. The special framework for creating Eclipse
editors that the IBM people have come up with, SAFARI, seems to require that a
parser be specified by their parser generator, LPG, in order to generate
skeleton code for the editor. Otherwise, as I understand it, it is a very
difficult task to write an entire editor for Eclipse given the number of
classes and relationships that need to be mastered. Therefore, I take it
to be a trade off between using the Mozart compiler's parser, which is already
implemented, and developing the Eclipse editor from scratch OR writing a parser
from scratch and having the Eclipse editor be partially implemented. I am
uncertain which way is going to be better, but I imagine I should "pick
one" and just go with it. For some reason, my gut tells me to lean
towards the LPG parsing because Eclipse seems to depend upon a Java based parser
to do its syntax highlighting, code completion, etc. I am going to write
the CDT mailing list to be absolutely sure.
Can I solicit your opinion if the
statements that I made above are correct and could provide elaboration if
necessary? By the way, a generalized CDT will not suite the needs of the
Mozart-Oz project. I know several people suggested that to me in this
mailing list.
|