[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[News.eclipse.technology.mddi] Re: Accelo
|
In term of syntax, Acceleo is part of the same tool generation as oaw or
MOFScript. So the tree like syntax is the ability to navigate through
the model by browsing features (attributes and associations) as you
said but also to chain them with call to other templates and Java
services.
The idea with this syntax is to keep the template as clean and easy to
read as possible, by keeping it centered on the text to generate rather
than on the model navigation code.
how can you generate any useful code if you cannot navigate/query/select
the model? from our our perspective, you also need features such as
template
polymorphism as well as aspects on template level to be able to keep the
complexity within reasonable bounds when the generator grows.
Acceleo also deals with incremental generation allowing final users to
add code within the generated files without loosing it when generating
again.
that's a feature that basically all code generators support. I think,
however, that encouraging this way of mixing generated and manually
written code is not a good idea, it creates all kinds of versioning
nightmares.
Finally, Acceleo has a chaining system making it convenient for
developers to apply several templates on models.
What is a chainign system? Can't you simply call templates
from other templates? Can you elaborate?
eAllContents("Class").select("name.endsWith('EJB')")
enables you to work on all classes ending with "EJB" string for exemple.
the condition itself (name.endsWith('EJB')) is passed in
as a String, right? So your editor cannot provide support?
Acceleo may not be designed to answer all needs, so I believe it can be
very convenient and do nice things, but you may find it notappropriate
if you have extensive needs for model navigation.
Again, how can you generate code if you can't conveniently
navigate the model?
Markus
--
Markus Völter
voelter - ingenieurbüro für softwaretechnologie
Ziegeläcker 11, 89520 Heidenheim, Germany
Tel. +49 (0) 171 / 86 01 869
Email: voelter@xxxxxxx
Web: http://www.voelter.de
Blog: http://www.voelter.de/blog
Podcast: http://www.se-radio.net
PGP Public Key: http://www.voelter.de/data/MarkusVoelter.gpg