We present a recursion scheme based on attribute grammars that can be transparently applied to trees and acyclic graphs. Our recursion scheme allows the programmer to implement a ...
Program slicing identifies the program parts that may affect certain properties of the program, such as the outcomes of conditions affecting the program flow. Ottenstein’s Pro...
Desugaring, a key form of program manipulation, is a vital tool in the practical study of programming languages. Its use enables pragmatic solutions to the messy problems of deali...
In this paper we develop an object-sensitive type analysis for PHP, based on an extension of the notion of monotone frameworks to deal with the dynamic aspects of PHP, and followi...
In this brief announcement we outline work we have done on defining a polyvariant cardinality analysis for a non-strict higherorder language equipped with user defined datatypes...
Compilers, amongst other programs, often work with data that (slowly) changes over time. When the changes between subsequent runs of the compiler are small, one would hope the com...
Jeroen Bransen, Atze Dijkstra, S. Doaitse Swierstr...
Most statically typed functional programming languages allow programmers to write partial functions: functions that are not defined on all the elements of their domain as speci...
Attribute Grammars (AGs) extend Context-Free Grammars with attributes: information gathered on the syntax tree that adds semantics to the syntax. AGs are very well suited for desc...
L. Thomas van Binsbergen, Jeroen Bransen, Atze Dij...