Tools for Compiling

Table of Contents
To copy and use these tools
LL(1) parser generator
Educational Compilers
LL(k) parser generator
CS540 provided tools
Assorted tools and papers
Resources

I'm on a leave of absence from IIT this year. You can find me via my company's home page: Prof. Thomas W. Christopher

Tools of Computing LLC

www.toolsofcomputing.com

tc@toolsofcomputing.com


To copy and use these tools

TCLL1, TCLLk, EULER, and FP are public domain programs. The documents describing them are copyrighted. You may reproduce the document in its entirety for personal use software. For educational use at a nonprofit institution, you may reproduce the documents for the students, instructors and teaching assistants provided you inform the author of the course name and number, the institution name and address, and provide electronic links (instructor's e-mail and course home page URL) to be posted on the web. Send the listing to the author at tc@charlie.cns.iit.edu .

Current user of tools.


LL(1) parser generator

Document (Postscript) Software (zip file) Remarks
TCLL1: An LL(1) Parser Generator (Zipped Postscript)

TCLL1: An LL(1) Parser Generator (PDF)

tcll1.zip The TCLL1 parser generator. The parser generator and parsers are written in Icon. To use this, you need The Icon Programming Language.
language:	BNF (Extended)
package:	TCLL1
version:	1
parts:		parser generator (LL(1)), parser, manual, example 
		implementations of EULER and FP
author:		Thomas W. Christopher <tc@charlie.cns.iit.edu>
		<http://www.iit.edu/~tc>
location:	http://www.iit.edu/~tc/toolsfor.htm
description:	  TCLL1 takes an extended CFG with action symbols, alternation, 
		repetition, and conditional groupings and translates into a
		file of tables to be read in by the parser. The parser will
		call the semantics routines named by the action symbols at the
		appropriate times. The parsers performs panic mode error repair.
		  A 60 page manual is available for TCLL1.
		  Example implementations of EULER and FP using TCLL1 are available.
		The EULER implementation is accompanied by a 60 page manual
		including exercises for use in a compiler writing course.
conformance:	N/A
reference:	TCLL1 Parser Generator--manual
features:	The parser generator and parsers are written in the Icon 
		programming language.
bugs:	none
restriction:	requires writing in the Icon programming language.
requires:	the Icon programming language; more than 8MB of main memory.
ports:		UNIX, Windows NT, MS-DOS
portability:	very high: as portable as Icon.
status: 	under active development. An LL(k) parser generator is in beta
testing. 	Retargeting the tables to other languages is in progress. 
discussion:	N/A
help:		author (as time permits)
support:	author (as time permits)
contributions:	Tax deductable by check to
			Department of Computer Science and Applied Mathematics
			Illinois Institute of Technology
			IIT Center
			Chicago IL 60616 USA
		(Contributions will be matched one-for-one.)
announcements:	http://www.iit.edu/~tc/toolsfor.htm
contact:	author
updated:	20 Jan. 1997
Back to TC's projects Icon Programs CS540

Compilers for educational use

Document (Postscript) Software (zip file) Remarks
EULER: An Experiment in Language Definition (in Postscript)

EULER document (PDF)

euler.zip A document on the language EULER and its compiler, which is written in Icon using TCLL1.
Lambda calculus description (in Postscript)

Lambda calculus description (PDF)

Lambda calculus implementation notes (in Postscript)

Lambda calculus implementation notes (PDF)

lambda.zip Two versions of lambda calculus-based functional programming languages.
IIT FP Language Description (fp.ps)

IIT FP Language Implementation (fp-impl.ps)

fp.zip FP implementation. FP is a functional programming language designed by John Backus.

To use these, you need The Icon Programming Language. To change the grammars, you will need TCLL1, listed in the previous section.

Back to TC's projects Icon Programs CS540

LL(k) parser generator

Out LL(k) parser generator is the subject of ongoing research. In Spring 1997, the CS540 class is testing it out and implementing plug-ins to translate the parsing tables for use in compilers written in other languages than Icon.

Tool or document Description
tcllk.zip LL(k) parser generator, alpha version.
A Strong LL(k) Parser Generator That Accepts Non-LL Grammars and Generates LL(1) Tables: Extended Abstract A paper describing the algorithm used by TCLLk
TCLLk Notes Changes from TCLL1 manual.
Back to TC's projects Icon Programs CS540

CS540 provided tools

 

Tool or document Status
Parse table translator for C
Parse routines for C
Test scanners & parsers in C
Manuals
TC is porting TCLLk output to C.

Alpha version 0.1 of ctcllk.


Assorted tools and papers

(Available sometime....)

 


Resources

Free compilers Free compilers
Free compiler writing systems Compiler writing systems
Catalog of Compiler Construction Tools http://www.first.gmd.de/cogent/catalog/
Research projects

http://www.cs.cmu.edu/~mleone/language-research.html

http://www.cs.cmu.edu/~mleone/language-people.html

http://www.cs.indiana.edu/inds/proglang.html Programming language research projects at Indiana University.

Garbage collection

http://www.centerline.com/people/chase/GC/GC-faq.html

To join the gclist, send "subscribe gclist" to majordomo@iecc.com

http://www.ukc.ac.uk/computer_science/Html/Jones/gc.html Richard Jones's (R.E.Jones@ukc.ac.uk) web page on garbage collection. He also has a book out:

Garbage Collection: Algorithms for Automatic Dynamic Memory Management, Richard Jones, with a chapter on Distributed Garbage Collection by Rafael Lins, John Wiley & Sons, Ltd, ISBN 0-471-94148-4, 403 pages, hardback, £29.95 $49.95.

http://www.cs.utexas.edu/users/oops/papers.html

Garbage collector for C and C++: ftp://parcftp.xerox.com/pub/gc/gc.html

Harlequin's Memory Management Group has released the "Memory Management Reference," a set of web pages containing a glossary, bibliography, FAQ, and other resources: http://www.harlequin.com/mm/reference/

Usenet groups comp.compilers comp.lang.icon comp.lang.ml comp.lang.lisp comp.lang.scheme etc.
Jack Crenshaw's "Let's Build a Compiler" http://iecc.com/compilers/crenshaw
Darkstar home page http://www.gre.ac.uk/~hs574/index.html "This site is dedicated to hot links for Shareware, Programming, Computer Science, Computer Hardware, Computer Software and Search Engines."
Object-Oriented Links http://www.objenv.com/cetus/software.html

Back to: CS540 home page Thomas Christopher's home page Computer Science Department's home page IIT's home page

This page last updated 11/10/98