Software Systems

Software systems developed by me and my students, and pointers to some third party applications of our software.

Language Engineering

  • Spoofax: a language workbench providing an IDE for the development of language definitions and the automatic generation of IDEs for defined languages
  • SDF2 is a modular formalism for syntax definition that integrates lexical and context-free syntax.
  • Stratego is a language for the specification of program transformation systems based on the paradigm of rewriting strategies.
  • Stratego/XT is a bundle of tools for program transformation built around Stratego and SDF2

Applications of these languages and tools

  • SugarJ: extensible language developed by Erdweg and Ostermann at Marburg using SDF and Stratego for definition of extensions
  • K3: implementation of the K semantics framework with SDF and Stratego
  • Java-Front provides a syntax definition for Java and JavaBorg implements sample domain-specific language extensions for Java.
  • JavaBorg: example domain-specific language embeddings
  • Tiger in Stratego is a collection of components for the compilation and transformation of Tiger programs designed for the purpose of education and demonstration of program transformation techniques.
  • CodeBoost is a transformation system for C++

Web Programming

and a webserver

  • WebDSL: a web programming language
  • Mobl: a mobile web programming language

Applications built with WebDSL

  • WebLab: an e-learning system for programming education
  • conf.researchr: a domain-specific content-management system for conferences
  • researchr: a web-based bibliography management system
  • YellowGrass: a web-based issue tracker
  • content-management system with wiki and blog

Software Deployment

  • Nix: a package management system
  • NixOS: Linux distribution based on Nix
  • Hydra: buildfarm based on Nix