An MPS Implementation for Simplic
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
MPS 3.4 Tutorials
MPS 3.4 Tutorials Formatted by Space2Latex from the MPS wiki 2016-09-30 i Credits The MPS user guide has evolved thanks to numerous big and small contributions of many contributors. Although most of the work has beed done by the individual members of the MPS core team, external MPS users have done their share, as well. On this page we list the prominent external contributors, who have helped evolve the user guide: • Markus Voelter • Marco Lombardo Contents Front cover i Credits i Contents ii I Start 1 1 Fast Track to MPS 2 1.1 Ten steps to mastery..............................................2 1.2 Step 1 - Install MPS...............................................2 1.3 Step 2 - MPS from the programmer’s perspective...............................2 1.4 Step 3 - MPS from the language designer’s perspective............................3 1.5 Step 4 - Creating your first language.....................................4 1.6 Step 5 - Why MPS...............................................5 1.7 Step 6 - Projectional editing tips and tricks..................................5 1.8 Step 7 - Shapes tutorial.............................................5 1.9 Step 8 - Calculator tutorial...........................................6 1.9.1 The Calculator tutorial in JavaScript..................................6 1.10 Step 9 - Other sample projects.........................................7 1.11 Step 10 - Generator tutorial...........................................8 1.12 Reviewing the progress.............................................8 1.13 Moving up the ladder..............................................9 -
Alembicue: a Projectional Editor & IDE for Container Application Architecture
Computer Science 18COC251 B627091 Alembicue: A projectional editor & IDE for container application architecture George Garside Supervisor: Dr. Daniel Reidenbach Loughborough University Summer 2019 Abstract The lack of a competent integrated development environment for Docker is a detriment to the field of containerisation and cloud computing. This project documents the development of Alembicue, a projectional and productive Docker IDE, implementing a more formally specified language definition, representative of what is necessary to create imagesfor use with a containerisation platform. Alembicue guarantees syntactic correctness with a projectional editor mutating an abstract syntax tree, incorporating contextual intentions and quick fixes to suggest and automatically apply standards and best practices. Alembicue’s launch has been a success, being received well by the community with tens of thousands of interested visitors to the project page, and elated testimonials from those having used the application and the innovative concepts portrayed within. Acknowledgements I would like to thank my supervisor, Dr. Daniel Reidenbach, for his consistent support and valuable feedback on my work. I would also like to thank my family and friends for their support in my studies. ii alembicate, v. 1627. transitive. Chiefly figurative: to produce, refine, or transform (an idea, emotion, etc.) as if in an alembic. Cf. alembicated adj. cue, n.2 1553. 1c. A stimulus or signal to perception, articulation, or other physiological response. Oxford English Dictionary (1989). alembicue, n. 2019. Chiefly emblematic: the juncture of the production of imagery and the container articulation process founded on the aforesaid. With apologies to linguists. iii Contents I Foundation 1 1 Introduction 2 1.1 Overview . -
Deep, Seamless, Multi-Format, Multi-Notation Definition and Use of Domain-Specific Languages
Deep, Seamless, Multi-format, Multi-notation Definition and Use of Domain-specific Languages Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universität Mannheim vorgelegt von Diplom-Wirtschaftsinformatiker Ralph Gerbig aus Worms Mannheim, 2017 Dekan: Professor Dr. Heinz Jürgen Müller, Unversität Mannheim Referent: Professor Dr. Colin Atkinson, Unversität Mannheim Korreferent: Professor Dr. Juan de Lara, Universidad Autónoma de Madrid Tag der mündlichen Prüfung: 24. Februar 2017 To Valerie. Acknowledgments I thank Colin Atkinson for the supervision and the support he provided during the last six exciting years. We had a lot of open minded and fruitful discussi- ons and he gave invaluable guidance and feedback on this dissertation and the Melanee tool. I also thank Juan de Lara, my second supervisor, for his input to this dis- sertation and the joint research. Especially, I want to thank him for hosting one of my students at the Universidad Autónoma de Madrid and the support he gave to this student during his master thesis. I thank all the students who contributed towards the success of this dis- sertation in the form of seminars and bachelor/master theses and as student assistants. Especially, I want to thank Nicole Wesemeyer, Katharina Markert, Daniel Gritzner and Dominik Kantner for their outstanding contributions to the Melanee tool. I thank Bastian Kennel, for supervising my diploma (cf. master) thesis on the topic of deep modeling. This built the foundation for all following research leading to the Melanee tool as it is today and the approach described in the dissertation. I thank Mathias Fritzsche for the opportunity to join him for an internship at SAP Research in Belfast where I had my first taste of research, model-driven development and Eclipse Plug-in development. -
Jetbrains MPS As a Tool for Extending Java
JetBrains MPS as a Tool for Extending Java Vaclav Pech Alex Shatalin Markus Voelter JetBrains JetBrains independent/Itemis [email protected] [email protected] [email protected] Abstract bench [8], MetaEdit+1, Eclipse Xtext 2 and Spoofax 3 (for a JetBrains MPS is an integrated environment for language brief comparison of some of these tools see Related Work in Section 4). For a general overview of language workbenches, engineering. It allows language designers to define new pro- 4 gramming languages, both general-purpose and domain- please refer to the Language Workbench Competition . specific, either as standalone entities or as modular exten- Real-world use of MPS As a real-world proof of MPS, sions of already existing ones. Since MPS leverages the con- JetBrains has built YouTrack 5, a web-based bug tracking cept of projectional editing, non-textual and non-parseable application. It heavily relies on an MPS-based set of lan- syntactic forms are possible, including tables or mathemat- guages for web application development and database map- ical symbols. This tool paper introduces MPS and shows ping { Webr-DNQ. In less than three years YouTrack became how its novel approach can be applied to Java development. an important part of JetBrains' product portfolio, validating Special attention will be paid to the ability to modularize the LOP idea as well as its implementation in MPS. More and compose languages. on how YouTrack benefits from LOP can be found in [9]. Categories and Subject Descriptors D.2.6 [Software The MPS team cooperated with several universities to Engineering]: Programming Environments - Programmer help them adopt MPS as a tool for language design research.