Presentation is loading. Please wait.

Presentation is loading. Please wait.

Zephyr By Shannon Poskus. What is Zephyr? Zephyr is one of two components of the National Compiler Infrastructure (NCI) project Co-funded by DARPA and.

Similar presentations


Presentation on theme: "Zephyr By Shannon Poskus. What is Zephyr? Zephyr is one of two components of the National Compiler Infrastructure (NCI) project Co-funded by DARPA and."— Presentation transcript:

1 Zephyr By Shannon Poskus

2 What is Zephyr? Zephyr is one of two components of the National Compiler Infrastructure (NCI) project Co-funded by DARPA and NSF, the NCI project “…aims to develop a common compiler platform to support the collaboration of compiler researchers and to facilitate the transfer of technology to industry.” The Zephyr component of the project is a collaborative work between Princeton University and University of Virginia to design a compiler that can work with code in C, C++, Java, Standard ML, and Haskell.

3 The Overall Structure of the Proposed NCI Project

4 Abstract Syntax Description Language (ASDL) Descriptions of tree-like data structures, including abstract syntax trees and compiler intermediate representations Automatic generation of data structure implementations for C, C++, Java, Standard ML, and Haskell Automatic generation of functions to read and write the data structures to disk in a machine- and language-independent way.

5 Very Portable Optimizer (VPO) Vpo attempts all possible improvements when compiling a program Vpo is independent of language and compiler. It has been used with several C front ends, each one generating a different intermediate language. All code improvements are applied to a single low-level intermediate representation, so phase ordering problems are minimized. Vpo is easily retargeted and handles a wide variety of architectures.

6 Proposed Advantages of Zephyr Researchers can use IR most appropriate for application Zephyr language processors (picklers, browsers, editors, analyzers, optimizers) are generated from specification automatically Zephyr language processors will be flexible, extensible, and robust Zephyr accommodates existing IRs Available for Windows, Linux and Solaris systems

7 Problems and Improvements With the initial versions, several problems came up: Some problems with multiple levels of inheritance Some problems with multiple levels of inheritance Represent non-tree links as integer indices Represent non-tree links as integer indices Not all subtyping constraints captured Not all subtyping constraints captured Difficulties with straightforward encoding as trees Difficulties with straightforward encoding as trees Uses static definition types Uses static definition types The project seems to have been dropped for the most part, but there were plans, when it was still active, to try to produce more natural and readable code, and to deal with name space management and separate compilation issues.

8 The Creators Professor Andrew Appel of Princeton University Research Assistant Professor Norman Ramsey of the University of Virginia David R. Hanson worked on the project, and now works at Microsoft Research Associate Professor Jack Davidson of the University of Virginia AT&T Professor of Computer Science William Wulf of the University of Virginia, also current President of the National Academy of Engineering


Download ppt "Zephyr By Shannon Poskus. What is Zephyr? Zephyr is one of two components of the National Compiler Infrastructure (NCI) project Co-funded by DARPA and."

Similar presentations


Ads by Google