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.
Members
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 |
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
- Introductory material
- GLL parsing
- Generalised LR parsing
- Modular grammar specifications
- Reduced derivation trees
- Backtracking parsers
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.
Verification
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.
Babbage
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.