Write a Blog >>
GPCE 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
co-located with SPLASH 2019
Mon 21 Oct 2019 14:30 - 15:00 at Ground floor conference room - Meta Chair(s): Shigeru Chiba

This paper presents a technique for realizing reflection in attribute grammars. It is implemented and evaluated in the Silver attribute grammar system in the form of a reflect function mapping typed syntax trees and other values into a generic representation and a reify function for the inverse mapping. This is especially useful in meta-programming systems in which syntax trees are properly typed, both in the meta-language of the system and in the implementation to which the meta-language is translated. This is the case in Silver, a strongly typed language that translates to Java.

We demonstrates its usefulness in several ways. The first is in an extension to Silver for writing language extensions for the AbleC extensible C specification. This allows language developers to specify complete C syntax trees using the concrete syntax of C, with typed holes, instead of writing abstract syntax trees, saving almost 18,000 lines of specifications. Secondly, a scrap-your-boilerplate style substitution mechanism is also described. The third use is in serialization and deserialization of the interface files Silver generates to support separate compilation; a custom interface language was replaced by a generic reflection-based implementation saving around 2,000 lines of specifications. Finally, an experimental implementation of staged interpreters for a small staged functional language is discussed.

Mon 21 Oct

Displayed time zone: Beirut change

14:00 - 15:30
MetaGPCE 2019 at Ground floor conference room
Chair(s): Shigeru Chiba Graduate School of Information Science and Technology, The University of Tokyo
14:00
30m
Talk
A Stage-Polymorphic IR for Compiling MATLAB-Style Dynamic Tensor Expressions
GPCE 2019
Alen Stojanov ETH Zurich, Tiark Rompf Purdue University, Markus Püschel ETH Zürich
14:30
30m
Talk
Reflection in Attribute Grammars
GPCE 2019
Lucas Kramer University of Minnesota, Ted Kaminski University of Minnesota, Eric Van Wyk University of Minnesota, USA
DOI Pre-print
15:00
20m
Talk
Polymorphic Extractors for Semantic and Portable Pattern Matching (Short Paper)
GPCE 2019
Amir Shaikhha University of Oxford