Hostname: page-component-77f85d65b8-45ctf Total loading time: 0 Render date: 2026-04-22T00:54:17.731Z Has data issue: false hasContentIssue false

Building language towers with Ziggurat

Published online by Cambridge University Press:  15 October 2008

DAVID FISHER
Affiliation:
Northeastern University
OLIN SHIVERS
Affiliation:
Northeastern University
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Ziggurat is a meta-language system that permits programmers to develop Scheme-like macros for languages with nontrivial static semantics, such as C or Java (suitably encoded in an S-expression concrete syntax). Ziggurat permits language designers to construct ‘towers’ of language levels with macros; each level in the tower may have its own static semantics, such as type systems or flow analyses. Crucially, the static semantics of the languages at two adjacent levels in the tower can be connected, allowing improved reasoning power at a higher level to be reflected down to the static semantics of the language level below. We demonstrate the utility of the Ziggurat framework by implementing higher level language facilities as macros on top of an assembly language, utilizing static semantics such as termination analysis, a polymorphic type system and higher order flow analysis.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2008
Submit a response

Discussions

No Discussions have been published for this article.