Software Language Engineering, Royal Holloway, University of London


Language engineering

Our work in software language engineering focuses on the theory and application of grammar-based techniques. Our interests encompass traditional programming language design and implementation; Domain Specific Language development; reverse compilation; syntax and semantics; and the semi-automatic derivation of customised computer architectures for embedded systems.

Research Activities

Generalised parsing

  • Introductory material
  • GLL parsing
  • Generalised LR parsing
  • Modular grammar specifications
  • Reduced derivation trees
  • Backtracking parsers
  • Modular semantics - the PLanComps project

    PLanCompS is an EPSRC project in partnership with Swansea Univesity and City University. For details see the PLanCompS website

    Customisable process architecture

    Convex vertex set enumeration

    Tools

  • The grammar tool box (GTB)
  • The RDP LL(1) parser generator
  • ASM21toC reverse compiler
  • Gramex
  • Gramconv
  • Grammars from language standards

    We have a  repository of grammars extracted from language standards in their raw form, along with versions suitable for use with YACC and other parser generators. There are also associated tools for translating between grammar formats.