Micrometer FX/DLX: A Pedagogic Compiler

Abstract

This report provides an overview of the microns FX/DLX complier. The source language for the compiler is microns FX, a Lisp dialect that is a subset of FX-91. microns FX is statically typed, and employs a type reconstruction algorithm to eliminate the need for type declarations. The compiler produces assembly code for the DLX, a simplified RISC architecture introduced by Patterson and Hennessy in their text, Computer Architecture: A Quantitative Approach. microns FX/DLX was written for the primary purpose of conducting experiments concerning basic features of programming language implementation. For example, it is used in the MIT graduate-level programming language course, where students are expected to read, understand, and modify the compiler, in order to investigate the effects of various optimizations. The organization of the compiler and its intermediate forms are described via examples. The register usage, memory layouts, and calling conventions are explained. Some suggested experiments are presented, and the annotated implementation of micron FX/DLX is provided. The report is not entirely self-contained, as it does not completely describe the details of the source and target languages. Programming Languages, Types, Effects, Inference, Polymorphism Compilation, Optimization.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1992
Accession Number
ADA256821

Entities

People

  • Douglas Grundman
  • James O'toole
  • Raymie Stata

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Agile Software Development
  • Assembly Languages
  • Boundaries
  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Debugging
  • Grammars
  • Instruction Set Architecture
  • Language
  • Object Code
  • Programming Languages
  • Simulators
  • Standards

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Linear Algebra
  • Parallel and Distributed Computing.

Technology Areas

  • AI & ML
  • AI & ML - Machine Translation