Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1869542.1869625acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
tutorial

Xtext: implement your language faster than the quick and dirty way

Published: 17 October 2010 Publication History

Abstract

Whether there is an (emerging or legacy) Domain-Specific Language to increase the expressiveness of your coworkers or whether you are about to invent a new General Purpose Prgramming Language: Tool support that goes beyond a parser/compiler is essential to make other people adopt your language and to be more productive. Xtext is an award- winning framework to build such tooling.
In this tutorial we explain how to define a language and a statically typed, EMF-based Abstract Syntax Tree using only a grammar. We then generate a parser, a serializer and a smart editor from it. The editor provides many features out-of-the-box, such as syntax highlighting, content-assist, folding, jump-to-declaration and reverse-reference lookup across multiple files. Then, it is shown how literally every as- pects of the language and its complementary tool support can be customized using Dependency Injection, especially how this can be done for linking, formatting and validation. As an outlook, we will demonstrate how to integrate a custom language with Java, how Xtext maintains a workspace-wide index of named elements and how to implement incremental code generation or attach an interpreter.

References

[1]
}}Xtext framework, http://eclipse.org/Xtext
[2]
}}M. Eysholdt and J. Rupprecht. Migrating a Large Modeling Environment from XML/UML to Xtext/GMF. Proceedings of SPLASH' 10, 2010.
[3]
}}M. Fowler. Domain Specific Languages. Addison-Wesley Professional, 2010.
[4]
}}T. Stahl andM. Völter. Model-Driven Software Development. Wiley, 2006.
[5]
}}D. Steinberg, F. Budinsky, M. Paternostro, and E. Merks. EMF: Eclipse Modeling Framework 2.0. Addison-Wesley Professional, 2009.

Cited By

View all
  • (2024)Teaching Type Systems Implementation with Stella, an Extensible Statically Typed Programming LanguageElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.405.1405(1-19)Online publication date: 10-Jul-2024
  • (2024)Model checking programs in process-oriented IEC 61131-3 Structured TextModeling and Analysis of Information Systems10.18255/1818-1015-2024-1-32-5331:1(32-53)Online publication date: 28-Mar-2024
  • (2024)Semantics Lifting for Syntactic SugarProceedings of the ACM on Programming Languages10.1145/36897588:OOPSLA2(1336-1361)Online publication date: 8-Oct-2024
  • Show More Cited By

Index Terms

  1. Xtext: implement your language faster than the quick and dirty way

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '10: Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
    October 2010
    352 pages
    ISBN:9781450302401
    DOI:10.1145/1869542
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 October 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. DSL
    2. EMF
    3. Eclipse
    4. MDSD
    5. Xtext
    6. modeling

    Qualifiers

    • Tutorial

    Conference

    SPLASH '10
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)68
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 04 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Teaching Type Systems Implementation with Stella, an Extensible Statically Typed Programming LanguageElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.405.1405(1-19)Online publication date: 10-Jul-2024
    • (2024)Model checking programs in process-oriented IEC 61131-3 Structured TextModeling and Analysis of Information Systems10.18255/1818-1015-2024-1-32-5331:1(32-53)Online publication date: 28-Mar-2024
    • (2024)Semantics Lifting for Syntactic SugarProceedings of the ACM on Programming Languages10.1145/36897588:OOPSLA2(1336-1361)Online publication date: 8-Oct-2024
    • (2024)An IEC 62443-security oriented domain specific modelling languageProceedings of the 19th International Conference on Availability, Reliability and Security10.1145/3664476.3670938(1-10)Online publication date: 30-Jul-2024
    • (2024)EvoAl - Codeless Domain-OptimisationProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3638530.3664154(1640-1648)Online publication date: 14-Jul-2024
    • (2024)Adaptable Runtime Monitoring for Intermittent SystemsProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650070(1175-1191)Online publication date: 22-Apr-2024
    • (2024)Fast and Secure Mission Description, Validation and Deployment for Safety-Critical Operations2024 IEEE International Systems Conference (SysCon)10.1109/SysCon61195.2024.10553550(1-8)Online publication date: 15-Apr-2024
    • (2024)Simplifying EO Application Development Through A Domain Specific LanguageIGARSS 2024 - 2024 IEEE International Geoscience and Remote Sensing Symposium10.1109/IGARSS53475.2024.10641829(887-891)Online publication date: 7-Jul-2024
    • (2024)Verification Condition Generator for Process-Oriented Programs in Reflex Language Using Isabelle/HOL2024 IEEE 25th International Conference of Young Professionals in Electron Devices and Materials (EDM)10.1109/EDM61683.2024.10615159(1820-1825)Online publication date: 28-Jun-2024
    • (2024)Finding the perfect MRI sequence for your patient --- Towards an optimisation workflow for MRI-sequences2024 IEEE Congress on Evolutionary Computation (CEC)10.1109/CEC60901.2024.10612198(1-9)Online publication date: 30-Jun-2024
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media