Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [photran-dev] Development directions and thoughts from Supercomputing

The main use cases for this is mixed language projects, where you have
Fortran code calling C/C++ code, and/or vice versa.  This means that you
want navigation, content assist, call hierarchy, search, etc. to work
across language boundaries.

===========================

Chris Recoskie
Team Lead, IBM CDT Team
IBM Toronto
http://www.eclipse.org/cdt



                                                                           
             Jeffrey Overbey                                               
             <subscribe-photra                                             
             n-dev@xxxxxxxxx.b                                          To 
             z>                        Photran Developer Info              
             Sent by:                  <photran-dev@xxxxxxxxxxx>           
             photran-dev-bounc                                          cc 
             es@xxxxxxxxxxx                                                
                                                                   Subject 
                                       Re: [photran-dev] Development       
             16/11/2007 06:46          directions and thoughts from        
             PM                        Supercomputing                      
                                                                           
                                                                           
             Please respond to                                             
             overbey2@xxxxxxxx                                             
             ; Please respond                                              
                    to                                                     
             Photran Developer                                             
                Information                                                
             <photran-dev@ecli                                             
                 pse.org>                                                  
                                                                           
                                                                           




> There are a lot of interesting things we can do if we bring the two
AST/DOM
> things together. With the help of Beth and other Eclipsers that cross the

Definitely.  I should elaborate on this a little.

A large part of my dissertation will focus on program representations
that make refactoring tools easy to build.  My goal is to do a tutorial
at EclipseCon 2010 where the participants build an entire
(well-designed) refactoring engine and two or three refactorings during
the tutorial.  Without going into detail, though, let's just say that
requires some flexibility in the AST nodes and a somewhat strange
program database.  And I want to use Photran as a large-scale test-case.

On the other hand, though, there's a lot of incentive on the IDE side to
integrate with CDT.  PDOM will get us search, and for some other things
(e.g., PLDT) there is an incentive to reuse some aspects of the CDT DOM
as well.

It is stupid to build two different ASTs for one IDE, but neither
approach will serve all of our goals.  So what I would like to do is
basically build CDT interfaces onto our other representation "on
demand."  Beth's generic PldtAstVisitor is using these:

import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
import org.eclipse.cdt.core.dom.ast.IASTIdExpression;
import org.eclipse.cdt.core.dom.ast.IASTLiteralExpression;
import org.eclipse.cdt.core.dom.ast.IASTMacroExpansion;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
import org.eclipse.cdt.core.dom.ast.IASTStatement;
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
import org.eclipse.cdt.core.dom.ast.IBinding;

I hope building these interfaces in will only take a few hours, so I can
cover that.  If there's a demand for other CDT nodes/interfaces, we can
discuss that later.

Which brings me to a question... hypothetically, if we had a 100% CDT
DOM-compliant AST, what could we do?  (The next question, of course, is,
How many DOM interfaces would we need to implement on our existing AST
to achieve the same?)

Jeff

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




Back to the top