Xtext - und was man damit anstellen kann

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Xtext - und was man damit anstellen kann - Presentation Transcript

    1. ...und was man damit anstellen kann. Heiko Behrens Eclipse DemoCamp 2009 Hamburg 25.05.2009 E-Mail Heiko.Behrens@itemis.de Blog www.1160pm.net
    2. Xtext? Xtext is a framework/tool for development of external textual DSLs. A domain-specific-language (DSL) in the context of modeling is a formal, processable language targeting at a specific viewpoint or aspect of a software system. Its semantics, flexibility and notation is designed in order to support working with that viewpoint as good as possible.
    3. Fuh in VU 4. und 5.
    4. “Wen hast Du morgen in den letzten beiden Stunden?” “ Fuh in VU ” 4. und 5.
    5. Aussagen von Phillipp: Deutsch bei Müller montags in der 1. Stunde kraft ch Fa ehr agL deT Stun Meierrain Englisch in der 2.de k ft L ehr ach F un St Sport bei Sippft 3. unde 4. Fac h e L hrkr a d S tun Sozi in der 5. de Fach n Stu Franz bei Meiert dienstags in der 2. kraf F cha ehr L ag T S t unde Deutsch 3. unde 4. Fac h d S tun
    6. Montag Dienstag Deutsch Müller Deutsch Englisch Meier Englisch Franz Sport Sipp Sport Deutsch Sport Deutsch Franz Meier Sozi Protokoll Aussage Vorname Lehrkraft Stunde * Name * Wert Name Tag
    7. Deutsch bei Müller montags in der 1. Stunde
    8. Grammatik (ähnlich zu EBNF) Protokoll : ! \"Aussagen von\" vorname=NAME nachname=NAME \":\" ! (aussagen+=Aussage)*; ! Aussage: ! lehrkraft=NAME \"in\" fach=NAME zeit=Zeit | ! fach=NAME (\"bei\" lehrkraft=NAME)? zeit=Zeit; ! Zeit: ! (tag=Tag)? stunden+=Stunde ((\",\" | \"und\") stunden+=Stunde)*; ! Stunde: ! (\"in\" \"der\"|\"zur\")? wert=INT \".\" \"Stunde\"?; ! enum Tag: ! unbekannt | ! montags | dienstags | mittwochs | ! donnerstags | freitags | samstags; ! terminal NAME : ! ('A'..'Z'|'Ä|'Ö'|'Ü') ('A'..'Z'|'Ä'|'Ö'|'Ü'|'-'|'a'..'z'|'ä'|'ö'|'Ü'|'ß')*;
    9. ik at Modell m m ra G Superclass Subclass Class LL(*) Parser ecore Metamodell Editor Xtext-Rahmenwerk (anpassbar mit Google Guice)
    10. Demo • Modelldatei • Xtext Grammar für Aussagen zum Stundenplan • Java-Programm zum Laden und navigieren über Modell • Xpand-basierter Generator © itemis AG 2009 – Alle Rechte vorbehalten 9
    11. Entities (1/2) @SuppressWarnings(\"serial\") @Entity @Table(name = \"CUSTOMER_INFO\") public class CustomerInfo implements Serializable { ! @Id ! @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = \"idSeq\") ! @SequenceGenerator(name = \"idSeq\", sequenceName = \"CUST_SEQ\", allocationSize = 1) ! @Column(name = \"CUST_ID\", nullable = false) ! private String customerId; ! public void setCustomerId(String customerId) { ! ! this.customerId = customerId; ! } ! public String getCustomerId() { ! ! return customerId; ! } ! @Column(name = \"EMAIL\", nullable = false, length = 128) ! private String emailAddress; ! public String getEmailAddress() { ! ! return emailAddress; ! } ! public void setEmailAddress(String emailAddress) { ! ! String oldValue = emailAddress; ! ! this.emailAddress = emailAddress; ! ! firePropertyChangedEvent(\"emailAddress\", oldValue, this.emailAddress); ! }
    12. Entities (2/2) entity CustomerInfo ! (id=CUST_ID, sequenceName=CUST_SEQ) { ! ! String emailAddress (notNull, length = 128) ! }
    13. DSLs in der Praxis Datenmodellierung Architekturbeschreibung Konfiguration Geschäftsregeln Dokumentation Mapping Navigation auf Objektgraphen Constraints Strickmuster ...
    14. Language development has never been so easy.
    15. Demo Rezept: \"Pizza mit Quark-Ölteig\" Zuaten: 1 Ei 2el Öl 4el Milch 150g Quark 260g Mehl 1x Backpulver Arbeitsschritte: \"Einfach alles in die Schüssel und umrühren, bis ein fester Teig entsteht. Ausrollen, auf Blech legen und belegen.\" © itemis AG 2009 – Alle Rechte vorbehalten 16
    16. www. .org www.twitter.com/xtext Downloads Documentation Support Stable Version 0.7 im Juni 2009 als Teil von Eclipse Galileo

    + Heiko BehrensHeiko Behrens, 5 months ago

    custom

    826 views, 1 favs, 0 embeds more stats

    Grober Überblick über Xtext für Teilnehmer auf d more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 826
      • 826 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 13
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories