samples/gen_again_java.ysl2
author Hartmut Goebel <h.goebel@crazy-compilers.com>
Tue, 17 Mar 2020 10:12:14 +0100
changeset 41 98a53c3282c3
parent 0 76005e62091d
permissions -rw-r--r--
Convert yml2 into a Python package.

* Rename yml2.py -> yml2/__init__.py
* Rename backend.py -> yml2/backend.py
* Rename pyPEG.py -> yml2/pyPEG.py
* Use relative imports where appropriate.
* Change imports in yml2c, yml2proc.
* Update make target `clean`.
include yslt.yml2

tstylesheet {
    template "/xmi:XMI/uml:Model" {
        apply "Package", 0;
    }

    template 'packagedElement[xmi:type="uml:Package"]' {
        | package «@name»;
        | 
        apply "packagedElement", 0;
    }

    template 'packagedElement[xmi:type="uml:Class"]' {
        | class «@name» {
        apply 'ownedAttribute[xmi:type="uml:Property"]';
        | }
    }

    template "Attribute" {
        |     // attribute «@name»
        | 
        |     public «type» get«@name»() {
        |         return «@name»;
        |     }
        | 
        |     public void set«@name»(«type» value) {
        |         «@name» = value;
        |     }
        | 
        |     private «type» «@name»;
    }
}