109 citations · 147 across the 8 of their papers we have counts for
7 papers · 1 filter
Default Disambiguation for Online Parsers
Lukas Diekmann, Laurence Tratt
Since composed grammars are often ambiguous, grammar composition requires a mechanism for dealing with ambiguity: either ruling it out by using delimiters (which are awkward to wor…
Don't Panic! Better, Fewer, Syntax Errors for LR Parsers
Lukas Diekmann, Laurence Tratt
Syntax errors are generally easy to fix for humans, but not for parsers in general nor LR parsers in particular. Traditional 'panic mode' error recovery, though easy to implement a…
Modelling homogeneous generative meta-programming
Martin Berger, Laurence Tratt, Christian Urban
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compile-time or run-time. We present the first foundational calculus which can model p…
Virtual Machine Warmup Blows Hot and Cold
Edd Barrett, Carl Friedrich Bolz-Tereick, Rebecca Killick +2
Virtual Machines (VMs) with Just-In-Time (JIT) compilers are traditionally thought to execute programs in two phases: the initial warmup phase determines which parts of a program w…
Making an Embedded DBMS JIT-friendly
Carl Friedrich Bolz, Darya Kurilova, Laurence Tratt
While database management systems (DBMSs) are highly optimized, interactions across the boundary between the programming language (PL) and the DBMS are costly, even for in-process…
Fine-grained Language Composition: A Case Study
Edd Barrett, Carl Friedrich Bolz, Lukas Diekmann +1
Although run-time language composition is common, it normally takes the form of a crude Foreign Function Interface (FFI). While useful, such compositions tend to be coarse-grained…
Approaches to Interpreter Composition
Edd Barrett, Carl Friedrich Bolz, Laurence Tratt
In this paper, we compose six different Python and Prolog VMs into 4 pairwise compositions: one using C interpreters; one running on the JVM; one using meta-tracing interpreters; a…