Searched for: author:"Visser, E."
(1 - 20 of 78)

Pages

document
Pelsmaeker, D.A.A. (author), van Antwerpen, H. (author), Visser, E. (author)
New programming languages often lack good IDE support, as developing advanced semantic editor services takes additional effort. In previous work we discussed the operational requirements of a constraint solver that leverages the declarative type system specification of a language to provide language-parametric semantic editor services. In...
conference paper 2019
document
Pelsmaeker, D.A.A. (author), van Antwerpen, H. (author), Visser, E. (author)
Editor services assist programmers to more effectively write and comprehend code. Implementing editor services correctly is not trivial. This paper focuses on the specification of semantic editor services, those that use the semantic model of a program. The specification of refactorings is a common subject of study, but many other semantic...
conference paper 2019
document
Vergu, V.A. (author), Tolmach, Andrew (author), Visser, E. (author)
DynSem is a domain-specific language for concise specification of the dynamic semantics of programming languages, aimed at rapid experimentation and evolution of language designs. To maintain a short definition-to-execution cycle, DynSem specifications are meta-interpreted. Meta-interpretation introduces runtime overhead that is difficult to...
conference paper 2019
document
de Souza Amorim, L.E. (author), Steindorfer, M.J. (author), Visser, E. (author)
Context Context-free grammars are widely used for language prototyping and implementation. They allow formalizing the syntax of domain-specific or general-purpose programming languages concisely and declaratively. However, the natural and concise way of writing a context-free grammar is often ambiguous. Therefore, grammar formalisms support...
journal article 2018
document
Konat, G.D.P. (author), Steindorfer, M.J. (author), Erdweg, S.T. (author), Visser, E. (author)
Context. <br/>Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to...
journal article 2018
document
Poulsen, C.B. (author), Rouvoet, A.J. (author), Tolmach, Andrew (author), Krebbers, R.J. (author), Visser, E. (author)
A definitional interpreter defines the semantics of an object language in terms of the (well-known) semantics of a host language, enabling understanding and validation of the semantics through execution. Combining a definitional interpreter with a separate type system requires a separate type safety proof. An alternative approach, at least for...
journal article 2018
document
ten Veen, Nick (author), Harkes, D.C. (author), Visser, E. (author)
Modern web applications are interactive. Reactive programming languages and libraries are the state-of-the-art approach for declaratively specifying these interactive applications. However, programs written with these approaches contain error-prone boilerplate code for efficiency reasons. In this paper we present PixieDust, a declarative user...
conference paper 2018
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, E. (author)
Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the...
conference paper 2018
document
Denkers, J. (author), van Gool, Louis (author), Visser, E. (author)
We present a tool architecture that supports migrating custom domain-specific language (DSL) implementations to a language workbench. We demonstrate an implementation of this architecture for models in the domains of defining component interfaces (IDL) and modeling system behavior (OIL) which are developed and used at a digital printer...
conference paper 2018
document
van Antwerpen, H. (author), Poulsen, C.B. (author), Rouvoet, A.J. (author), Visser, E. (author)
Scope graphs are a promising generic framework to model the binding structures of programming languages, bridging formalization and implementation, supporting the definition of type checkers and the automation of type safety proofs. However, previous work on scope graphs has been limited to simple, nominal type systems. In this paper, we show...
journal article 2018
document
Harkes, D.C. (author), Visser, E. (author)
Derived values are values calculated from base values. They can be expressed with views in relational databases, or with expressions in incremental or reactive programming. However, relational views do not provide multiplicity bounds, and incremental and reactive programming require significant boilerplate code in order to encode bidirectional...
conference paper 2017
document
Vergu, V.A. (author), Haisma, M.A. (author), Visser, E. (author)
Grace is a dynamic object oriented programming language<br/>designed to aid programming education. We present a formal<br/>model of and give an operational semantics for its object<br/>model and name resolution algorithm. Our main contributions <br/>are a systematic model of Grace’s name resolution using<br/>scope graphs, relating linguistic...
conference paper 2017
document
Harkes, D.C. (author), Visser, E. (author)
journal article 2017
document
de Souza Amorim, L.E. (author), Erdweg, S.T. (author), Wachsmuth, G.H. (author), Visser, E. (author)
Principled syntactic code completion enables developers to change source code by inserting code templates, thus increasing developer efficiency and supporting language exploration. However, existing code completion systems are ad-hoc and neither complete nor sound. They are not complete and only provide few code templates for selected...
conference paper 2016
document
Poulsen, C.B. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, E. (author)
Semantic specifications do not make a systematic connection between the names and scopes in the static structure of a program and memory layout, and access during its execution. In this paper we introduce a systematic approach to the alignment of names in static semantics and memory in dynamic semantics, building on the scope graph framework...
conference paper 2016
document
Harkes, D.C. (author), Groenewegen, D.M. (author), Visser, E. (author)
Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires...
conference paper 2016
document
Poulsen, C.B. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, E. (author)
Our paper introduces a systematic approach to the alignment of names in the static structure of a program, and memory layout and access during its execution. We develop a uniform memory model consisting of frames that instantiate the scopes in the scope graph of a program. This provides a language-independent correspondence between static scopes...
other 2016
document
van Antwerpen, H. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, E. (author), Wachsmuth, G.H. (author)
In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We...
conference paper 2016
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, E. (author)
It is common practice to bootstrap compilers of programming languages. By using the compiled language to implement the compiler, compiler developers can code in their own high-level language and gain a large-scale test case. In this paper, we investigate bootstrapping of compiler-compilers as they occur in language workbenches. Language...
conference paper 2016
document
Vergu, V. (author), Neron, P. (author), Visser, E. (author)
The formal definition the semantics of a programming language and its implementation are typically separately defined, with the risk of divergence such that properties of the formal semantics are not properties of the implementation. In this paper, we present DynSem, a domain-specific language for the specification of the dynamic semantics of...
report 2015
Searched for: author:"Visser, E."
(1 - 20 of 78)

Pages