                                      TALC
                                      ====

Release 1.2
(C) Greg Morrisett, Neal Glew, Dave Walker, Steve Zdancewic, Stephanie Weirich,
    and Frederick Smith July, August 1998, all rights reserved.

The TALC compiler consists of a set of tools for Talx86, a variant of
typed assembly language for the IA32 architecture, and some front ends
that demonstrate its viability as a target language.  Currently the
there are two front ends: popcorn and scheme.  There used to be a
third front end for KML, but it was broken by some recent changes to
Talx86.  A major rework of the KML front end is underway.

See the file INSTALL for instructions on building and running TALC.

TALC Sources
------------

(* Documentation *)
doc
  tal.el             - emacs 19.x mode for editing .tal & .tali files
  talx86_lang_spec   - specification of the lexical and syntactic structure

(* General Purpose Programming Utilities/Data Structures *)
util
  dict
  set
  splay
  utilities
  xarray

(* Compiler Specific Utilities *)
computil
  identifier

(* TALx86 and Tools *)
talx86
  tal
  talcon
  talctxt
  tallex
  tallinkchk
  talparser
  talpp
  talverify

(* Runtime System, Garbage Collector *)
runtime
  gc.lib              - Boehm Weiser collector
  pop_runtime.c       } Popcorn runtime
  pop_runtime.tali    }
  representation.doc  - some notes about sums, exceptions, and arrays
  stdlib.c            } Standard library of sorts
  stdlib.tali         }
  tal.inc
  tal.tali            } Program stuff
  tal_prog.tali       }
  tal_start.c
  tal_util.asm

(* Toplevel Driver *)
toplevel
  talc
  talcomp
  talicache
  talutil

(* Popcorn Compiler *)
popcorn
  popcompile
  popcorn
  poperr
  poperrhandle
  poplex
  poplocus
  popparse
  poprescan
  popsyntax
  poptype
  tests   - dirctory of test files

(* Scheme Compiler *)
scheme
  sast
  scheme
  sclib.c     - standard library needed by compiler
  scomp
  sil
  slex
  sparse
  std-lib.ss  - scheme standard libarry
  *.s         - test files
