Patterns for Name Analysis and Type Analysis with JastAdd

02/05/2020
by   Uwe Meyer, et al.
0

In the last two decades, tools have been implemented to more formally specify the semantic analysis phase of a compiler instead of relying on handwritten code. In this paper, we introduce patterns and a method to translate a formal definition of a language's type system into a specification for JastAdd, which is one of the aforementioned tools based on Reference Attribute Grammars. This methodological approach will help language designers and compiler engineers to more systematically use such tools for semantic analysis. As an example, we use a simple, yet complete imperative language and provide an outlook on how the method can be extended to cover further language constructs or even type inference.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/05/2017

Context Generation from Formal Specifications for C Analysis Tools

Analysis tools like abstract interpreters, symbolic execution tools and ...
research
06/23/2021

Threaded Code Generation with a Meta-tracing JIT Compiler

Language implementation frameworks, e.g., RPython and Truffle/Graal, are...
research
09/04/2021

Type Stability in Julia: Avoiding Performance Pathologies in JIT Compilation (Extended Version)

As a scientific programming language, Julia strives for performance but ...
research
06/27/2019

Introducing Certified Compilation in Education by a Functional Language Approach

Classes on compiler technology are commonly found in Computer Science cu...
research
06/09/2018

Type variables in patterns

For many years, GHC has implemented an extension to Haskell that allows ...
research
01/30/2023

Type Theory as a Language Workbench

Language Workbenches offer language designers an expressive environment ...
research
07/01/2019

Understanding GCC Builtins to Develop Better Tools

C programs can use compiler builtins to provide functionality that the C...

Please sign up or login with your details

Forgot password? Click here to reset