Sciweavers

LISP
2006

Formal compiler construction in a logical framework

13 years 4 months ago
Formal compiler construction in a logical framework
The task of designing and implementing a compiler can be a difficult and error-prone process. In this paper, we present a new approach based on the igher-order abstract syntax and term rewriting in a logical framework. All program transformations, from parsing to code generation, are cleanly isolated and specified as term rewrites. This has several advantages. The correctness of the compiler depends solely on a small set of rewrite rules that are written in the language of formal mathematics. In addition, the logical framework guarantees the preservation of scoping, and it automates many frequently-occurring tasks including substitution and rewriting strategies. As we show, compiler development in a logical framework can be easier than in a general-purpose language like ML, in part because of automation, and also because the framework provides extensive support for examination, validation, and debugging of the compiler transformations. The paper is organized around a case study, using ...
Jason Hickey, Aleksey Nogin
Added 14 Dec 2010
Updated 14 Dec 2010
Type Journal
Year 2006
Where LISP
Authors Jason Hickey, Aleksey Nogin
Comments (0)