Skip to main content

Centre for Software Language Engineering

Centre for Software Language Engineering

Work in the Centre for Software Language Engineering focuses on the theory and application of grammar-based techniques, on verification of automata, on automatic assessment of the reliability and security of software, and on type theory and applications.

 

Elizabeth Scott   Royal Holloway

Professor, Centre Director

Language engineering and generalised parsing

Matthew Hague Royal Holloway

Reader, EPSRC Fellow

Verification

Adrian Johnstone Royal Holloway

Professor

Language engineering and generalised parsing

Paul Klint CWI Amsterdam

Visiting researcher

Language engineering and generalised parsing

Zhaohui Luo Royal Holloway Professor
Peter Mosses Swansea University

Visiting researcher

Language engineering and generalised parsing

Doron Swade Royal Holloway

Honorary fellow

Babbage

Mark van den Brand Technical University Eindhoven

Visiting researcher

Language engineering and generalised parsing

Paul Margetts Cognex Corporation

Industrial associate

Language engineering and generalised parsing

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; modular syntax and semantics; the interpretation of biological sequence data; and the semi-automatic derivation of customised computer architectures for embedded systems.

Generalised parsing
Modular semantics
  • PLanCompS is an EPSRC project in partnership with Swansea University and City University. For details see the PLanCompS website.
Customisable processor architecture
  • Convex vertex set enumeration
Tools
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.

 

 

In the area of verification of infinite-state systems, our focus is on higher-order and counter-based automata models, with a view towards producing practical tools from theoretical results with a handling of concurrent systems.

More information on research in this area can be found here.

Our work in language engineering has an historical perspective: we are investigating the formal notations Charles Babbage developed to design and specify his 19th centuary computing engines.

More information on research in this area can be found here.

Our research spans:

  • Logic – type theory, proof theory, computer-assisted formal reasoning.
  • Language – advanced programming, mathematical vernacular, linguistic semantics.
  • Software engineering – specification languages, system verification, formal methods.
  • Proof assistants – CoqLego and Plastic

Explore Royal Holloway