Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The new nanopass framework; an embedded DSL for writing compilers in Scheme
branch: master

Updated the copyright year to 2015.

  Copyright, nanopass.chezscheme.sls, nanopass.ss, nanopass/helpers.ss,
  nanopass/implementation-helpers.chezscheme.sls,
  nanopass/implementation-helpers.ikarus.ss,
  nanopass/language-node-counter.ss, nanopass/language.ss,
  nanopass/meta-parser.ss, nanopass/meta-syntax-dispatch.ss,
  nanopass/nano-syntax-dispatch.ss, nanopass/parser.ss, nanopass/pass.ss,
  nanopass/records.ss, nanopass/syntaxconvert.ss, nanopass/unparser.ss,
  test-all.ss, tests/alltests.ss, tests/compiler-test.ss,
  tests/compiler.ss, tests/helpers.ss,
  tests/implementation-helpers.chezscheme.sls,
  tests/implementation-helpers.ikarus.ss, tests/implementation-helpers.ss,
  tests/implementation-helpers.vicare.sls, tests/new-compiler.ss,
  tests/synforms.ss, tests/test-driver.ss,
  tests/unit-test-helpers-implementation.chezscheme.sls,
  tests/unit-test-helpers-implementation.ikarus.sls,
  tests/unit-test-helpers-implementation.vicare.sls,
  tests/unit-test-helpers.ss, tests/unit-tests.ss
latest commit 37c678ecc0
Andy Keep authored

ReadMe.md

Nanopass Compiler Library

This repositiory contains an R6RS version of the Nanopass Compiler Infrastructure described in [1, 2, 3, 4], along with the beginnings of a test compiler for the library and the rough start to a users guide. The nanopass framework currently supports Chez Scheme, Vicare Scheme, and Ikarus Scheme.

Files

ReadMe.md               -- this readme file
Acknowledgements        -- thanks to those who have supported the work
Copyright               -- copyright information
TODO                    -- the head of the infinite todo list
LOG                     -- change log for the nanopass framework
test-all.ss             -- is a simple wrapper for importing the compiler and 
                           performing a testing run of all of the tests.
nanopass.ss             -- the main interface to the nanopass compiler library
nanopass.chezscheme.sls -- the nanopass compiler library as a Chez Scheme library group
nanopass/               -- contains the parts that nanopass.ss aggregates
tests/                  -- contains a testing compiler along with tests for that
                           compiler and a driver for running the tests
doc/                    -- contains a user guide and developer guide along with a
                           makefile for generating their pdfs with pdflatex
lib/                    -- pre-compiled binaries for use with Petite Chez Scheme
bin/                    -- scripts for managing the pre-compiled binaries

For more information on using the pre-compile binaries, see the README.md file in the lib directory.

References

[1] A. Keep and R. K. Dybvig. A Nanopass Compiler for Commercial Compiler Development. In ICFP ’13: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, New York, NY, USA, 2013. ACM.

[2] A. Keep. A Nanopass Framework for Commercial Compiler Development. Doctoral dissertation, Indiana University, Bloomington, Indiana, USA, Feb. 2013.

[3] D. Sarkar. Nanopass Compiler Infrastructure. Doctoral dissertation, Indiana University, Bloomington, Indiana, USA, 2008.

[4] D. Sarkar, O. Waddell, and R. K. Dybvig. A nanopass infrastructure for compiler education. In ICFP ’04: Proceedings of the ninth ACM SIGPLAN International Conference on Functional Programming, pages 201–212, New York, NY, USA, 2004. ACM.

Something went wrong with that request. Please try again.