Gnration de Code
avec Acceleo
Cedric Dumoulin
Conditions : [if]
[if (condition)]
(...)
[/if]
[if (condition)]
(...)
[else]
(...)
[/if]
[if (condition)]
(...)
[elseif (condition)]
(...)
[elseif (condition)]
(...)
[/if]
04/11/2010
Boucles [for]
concepts avancs
2 syntaxes
[for (expression)]
(...)
[/for]
version light
Boucles [for]
concepts avancs
Utile
04/11/2010
Boucles [for]
concepts avancs
[for (Sequence{1, 2, 3}) before ('sequence: ') separator (', ') after (';')]
[i/]
[/for]
ou
[for (Sequence{1, 2, 3}) before ('sequence: ') separator (', ') after (';')]
[this/]
[/for]
produit :
sequence: 1
,2
,3
;
Dclaration de variables
[let]
04/11/2010
Modules
[import]
[import qualified::name::of::imported::module /]
Modules
[import] - exemple
[module main('http:///mjava.ecore')/]
[module common('http:///mjava.ecore')/]
[import pje::javagen::tests::common /]
[a(c)/]
[b(c)/]
[/file]
[/template]
[template public b(ele : NamedElement)
template b from main
[/template]
C1
template a from common
template b from main
04/11/2010
Templates
Initialisation de variables
04/11/2010
Queries
Queries
Utilisation:
[template public main(c : Class) {javaName : String = c.genName();} ]
[comment @main /]
[file (c.name, false, 'UTF-8')]
[javaName/] {
/* Public properties */
[for (p : Property | c.getPublicProperties())]
public [p.genName()/];
[/for]
}
[/file]
[/template]
Query vs template
04/11/2010
04/11/2010
Bibliographie
Standard OMG
Aide Eclipse
Site Acceleo
http://www.omg.org/spec/MOFM2T/1.0/
http://www.eclipse.org/acceleo/
http://www.eclipse.org/acceleo/documentation/
Tutorial