Searched for: subject%3A%22Name%255C+binding%22
(1 - 12 of 12)
document
Kocakaya, Hasan (author)
Names are essential for structuring and reason-ing about programs. However, the implementation of names differs across many programming lan-guages. There is an bundance of choice between various implementation techniques with regards to name-binding techniques. As such, when design-ing a programming language it is not clear which technique one...
bachelor thesis 2023
document
Zwaan, A.S. (author), van Antwerpen, H. (author)
Static name binding (i.e., associating references with appropriate declarations) is an essential aspect of programming languages. However, it is usually treated in an unprincipled manner, often leaving a gap between formalization and implementation. The scope graph formalism mitigates these deficiencies by providing a well-defined, first...
conference paper 2023
document
Miljak, L. (author), Poulsen, C.B. (author), van Spaendonck, Flip (author)
The goal of automated refactoring is to reduce maintenance effort. To realize this, programmers need to be able to trust or manually check that refactorings actually preserve behavior. To allow programmers to focus on such checks, automated refactorings should preserve program well-typedness. However, historically automated refactorings in...
conference paper 2023
document
Zwaan, A.S. (author), van Antwerpen, H. (author), Visser, Eelco (author)
Fast analysis response times in IDEs are essential for a good editor experience. Incremental type-checking can provide that in a scalable fashion. However, existing techniques are not reusable between languages. Moreover, mutual and dynamic dependencies preclude traditional approaches to incrementality. This makes finding automatic approaches to...
journal article 2022
document
Zwaan, Aron (author)
Static Analysis is of indispensable value for the robustness of software systems and the efficiency of developers. Moreover, many modern-day software systems are composed of interacting subsystems written in different programming languages. However, in most cases no static validation of these interactions is applied. In this thesis, we identify...
master thesis 2021
document
Rouvoet, A.J. (author), van Antwerpen, H. (author), Poulsen, C.B. (author), Krebbers, R.J. (author), Visser, Eelco (author)
There is a large gap between the specification of type systems and the implementation of their type checkers, which impedes reasoning about the soundness of the type checker with respect to the specification. A vision to close this gap is to automatically obtain type checkers from declarative programming language specifications. This moves...
journal article 2020
document
Aerts, Taico (author)
Statix is a language which generates a type checker from a declarative specification. However, Statix is not fast enough for quick feedback in IDEs because it always has to reanalyze all files. In this thesis, we improve the analysis time of Statix by applying the ideas of separate compilation to create a model for incremental analysis. Statix...
master thesis 2019
document
Pelsmaeker, D.A.A. (author), van Antwerpen, H. (author), Visser, Eelco (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
van Antwerpen, H. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, Eelco (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
Van Antwerpen, H. (author), Néron, P. (author), Tolmach, A. (author), Visser, E. (author), Wachsmuth, G. (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...
report 2015
document
Neron, P.J.M. (author), Tolmach, A.P. (author), Visser, E. (author), Wachsmuth, G. (author)
We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax...
report 2015
document
Visser, Eelco (author), Wachsmuth, G.H. (author), Tolmach, Andrew (author), Neron, P.J.M. (author), Vergu, V.A. (author), Passalaqua Martins, A. (author), Konat, G.D.P. (author)
The realization of a language design requires multiple artifacts that redundantly encode the same information. This entails significant effort for language implementors, and often results in late detection of errors in language definitions. In this paper we present a proof-of-concept language designer's workbench that supports generation of IDEs...
conference paper 2014
Searched for: subject%3A%22Name%255C+binding%22
(1 - 12 of 12)