- Zephyr overall
-
The Zephyr
Compiler Infrastructure gives brief
descriptions of the elements of the Zephyr infrastructure, with as
much technical detail as fits in ten pages.
It was distributed at Supercomputing '98 and at FCRC '99.
Slides from
Jack Davidson's talk at the Birds-of-a-Feather at SuperComputing '96
Slides for ``NCI Overview'' (80K PDF) from
the 1998 NCI Tutorial at PLDI (J. Davidson)
- ASDL
-
The Zephyr Abstract Syntax Description Language describes our
preliminary work on ASDL and its tools. It appeared in the 1997
workshop on Domain-Specific Languages in Santa Barbara.
There are slides in
PDF (112K) and
PostScript (592K).
Early
Experience with ASDL in lcc describes how ASDL was used to split
the lcc compiler
into pieces.
There are also slides
(68K PDF) from the 1998 NCI Tutorial at PLDI (D. Hanson).
A
Machine-Independent Debugger---Revisited describes how ASDL was
used to store symbol-table information for a debugger.
Slides on ``NCI Research at
Princeton University'' (309K PDF) from
the 1998 NCI Tutorial at PLDI (A. Appel)
- CSDL
-
Machine
Descriptions to Build Tools for Embedded Systems
summarizes our work to date on instruction semantics.
Slides from an LCTES98 talk
are available in
PostScript (144K).
Specifying Instructions' Semantics Using CSDL
is a lengthy interim report on Lambda-RTL, which
contains extensive excerpts from descriptions of the SPARC and Pentium.
- Vpo
- Target-specific Global Code Improvement: Principles and
Applications (200K) describes the principles that have driven the design of
vpo and the implications of these principles on vpo's implementation.
Slides about the ``Zephyr Code Generation Interfaces''
(356K PDF) from
the 1998 NCI Tutorial at PLDI (J. Davidson).
The interfaces themselves are online.
- Zephyr software
-
Eliminating Spurious Error Messages Using Exceptions, Polymorphism,
and Higher-Order Functions describes the technique used in the
Lambda-RTL compiler to avoid issuing spurious error
messages about incorrect specifications.
Unparsing
Expressions with Prefix and Postfix Operators explains how our
component generators emit nice-looking code without spurious parentheses.