Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[oaw-wg] Xpand middleend and backend

Hi all,

recently I sent around an example of an Xpand project that uses the new middleend and backend. The pending changes on the backend I mentioned in our last telco I have now been able to commit.
Last year we decided on a meeting at the JAX conference, that we would want to include the middleend and backend with Xpand in the next eclipse release - the "Helios" release. 
As my example showed, the middleend and backend improve the code generation performance for larger models. Even higher performance improvement can be expected for larger models than I included in the example as the convertion of the frontend AST to the backend AST introduces some overhead that will be cut off when compiler is available. 
Furthermore the backend provides a foundation for further performance 
improvements and integration with other languages such as OCL.
Therefore I propose to include the following bundles/features with Xpand into the helios release:

        org.eclipse.xtend.backend
        org.eclipse.xtend.backend.uml2types
        org.eclipse.xtend.backend.xsdtypes
        org.eclipse.xtend.middleend.xtend
        org.eclipse.xtend.middleend.xpand

Which version number should be given?

Some bugs are still to be fixed. These relate to the convertion of the frontend typesystems for UML2 and XSD to their respective backend typesystems. Currently a converter in the middleend converts the types from frontend to backend. To go ahead with this approach, I would have to add getters for the stereotypes in StereotypeType and MultipleStereotypeType.
Arno proposed a better solution that results in less dependencies in the 
backend, avoiding to load all the typesystems, when they are not needed. His solution was to add a method "asBackendType" to every frontend type. Ideally every frontend type would implement an interface introducing the method "asBackendType". Frontend types would be better encapsulated then (meaning no additional getters). I could take care for implementing this approach. Would you be fine with the latter approach?

As I understood, bugfixes can still be done during the next milestone. So I propose to include the bundles mentioned above into the Helios release.


Cheers
André

-- 
Nur noch bis 31.01.2010: DSL-Komplettpaket für 16,99 Euro/mtl.!*
http://portal.gmx.net/de/go/dsl02


Back to the top