Searched for: subject%3A%22Spoofax%22
(1 - 20 of 30)

Pages

document
Tilro, Jesse (author)
Reusable tools for engineering software languages can bridge the gap between formal specification and implementation, lowering the bar for engineers to design and implement programming languages. Among such tools belong NaBL2 and its successor Statix, which are meta-languages for declaratively specifying the static semantics of programming...
master thesis 2023
document
Brouwer, Jonathan (author)
Static type systems can greatly enhance the quality of programs, but implementing a type checker for them is challenging and error-prone. The Statix meta-language (part of the Spoofax language workbench) aims to make this task easier by automatically deriving a type checker from a declarative specification of the type system. However, so far...
master thesis 2023
document
Groenewegen, D.M. (author), van Chastelet, E. (author), de Krieger, M.M. (author), Pelsmaeker, D.A.A. (author)
SDF, Stratego and Spoofax provide a platform for development of domain-specific programming languages. On this platform, the WebDSL project started out as a case study in language engineering, and grew into a reliable tool for rapid prototyping and continuous development of web applications. Our team led by Eelco Visser develops and operates...
conference paper 2023
document
Brouwer, Jonathan (author), Cockx, J.G.H. (author), Zwaan, A.S. (author)
Static type systems can greatly enhance the quality of programs, but implementing a type checker that is both expressive and user-friendly is challenging and error-prone. The Statix meta-language (part of the Spoofax language workbench) aims to make this task easier by automatically deriving a type checker from a declarative specification of...
conference paper 2023
document
Mosses, P.D. (author)
Spoofax is a language workbench. A Spoofax language specification generally includes name resolution: the analysis of bindings between definitions and references. When browsing code in the specified language using Spoofax, the bindings appear as hyperlinks, supporting precise name-based code navigation. However, Spoofax cannot be used for...
conference paper 2023
document
de Krieger, Max (author)
The front-end of a compiler reads the source program and performs analyses such as type checking. The goal of the front-end is to check for the presence of syntactic and semantic errors before the program is passed to the back-end of the compiler for tasks such as optimization and code generation.<br/><br/>WebDSL is a domain-specific language...
master thesis 2022
document
Molendijk, Thijs (author)
The dynamic semantics of a programming language formally describe the runtime behavior of any given program. In this thesis, we present Dynamix, a meta-language for dynamic semantics. By writing a specification for a language in Dynamix, a compiler for the language can be derived automatically.<br/><br/>Dynamix specifications compile source...
master thesis 2022
document
Wilms, Ivo (author)
Build systems speed up builds by reusing build step outputs from previous builds when possible.<br/>This requires precise definitions of the dependencies for build steps.<br/>PIE is a build system with precise dependencies, but its task definitions in Java are verbose.<br/>The PIE DSL allows pipeline developers to write concise definitions of...
master thesis 2022
document
van der Gugten, Loek (author)
Refactorings are program transformations that preserve the observable behavior of the program. The refactoring function inlining replaces a function call with the contents of the referenced function definition. To preserve the behavior, properties such as reference relations must be retained and language constructs like 'return' statements must...
master thesis 2022
document
Sijm, Maarten P. (author)
The Scannerless Generalized LR (SGLR) parsing algorithm supports the development of composed languages seamlessly but does not support incremental parsing. The Incremental Generalized LR (IGLR) parsing algorithm, on the other hand, does not support the seamless composition of languages. This thesis presents the Incremental Scannerless...
master thesis 2021
document
Misteli, Phil (author)
A refactoring is a program transformation that improves the design of the source code, while preserving its behavior. Most modern IDEs offer a number of automated refactorings as editor services. The Rename refactoring is the most-commonly applied refactoring and is used to change the identifier of a program entity such as a variable, a function...
master thesis 2021
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
Lanting, Volker (author)
The Spoofax Testing Language (SPT) is the existing solution for testing in the Spoofax language workbench. It allows developers of domain specific languages to write their test cases declaratively. As it aims to be implementation agnostic, developers don't need to concern themselves with the details of the artifacts generated by Spoofax, and can...
master thesis 2020
document
Pelsmaeker, D.A.A. (author), van Antwerpen, H. (author), Visser, Eelco (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
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
Goderie, Jeffrey (author)
Programmable Logic Controllers (PLCs) are used to control large scale systems with thousands of I/O devices. Writing and maintaining the logic for each of these is a cumbersome task, which is well suited to be abstracted through templating. For this purpose, CERN developed the Unicos Application Builder (UAB). While UAB is successful at...
master thesis 2019
document
Maas, Olaf (author)
Language Workbenches are instruments developers use to create new domain-specific languages. They provide tools to rapidly develop, test and deploy new languages. Currently, workbenches support deployment in desktop-based integrated development environments. Setting up these environments can be a hurdle for the often non-technical users of these...
master thesis 2018
document
Pelsmaeker, Daniƫl (author)
Implementing the syntax and semantics of a new (domain-specific) programming language is a lot of work, which is worsened by the additional work needed to add support for the language to an editor such as Eclipse or VS Code. Lack of such support can impede language usability and adoption, as developers prefer different editors. However,...
master thesis 2018
document
Dwars, Martijn (author)
Testing is the most commonly used technique for raising confidence in the correctness of a piece of software, but constructing an effective test suite is expensive and prone to error. Property-based testing partly automates this process by testing whether a property holds for all randomly generated inputs, but its effectiveness depends upon the...
master thesis 2018
document
Stolwijk, A.C. (author)
Embedded Software appears in a variaty of systems and products. The software for these systems have special requirements. Firstly, embedded software needs to be very robust as it is usually deeply tucked away and not very visible to the user. Secondly, embedded systems have dedicated hardware the software has to work on, and finally embedded...
master thesis 2016
Searched for: subject%3A%22Spoofax%22
(1 - 20 of 30)

Pages