                                      TALC
                                      ====

Release 1.0
(C) Greg Morrisett, Neal Glew, Dave Walker, Steve Zdancewic, and
    Stephanie Weirich July 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
  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

(* Ycalculus, Tools and Transformations *)
mil
  click    
  initial  }
  patcomp  } KML stuff
  process  }
  yalpha
  yanormal
  ycalculus
  yclosure
  ycon
  ycps
  yphase
  yprim
  ypp
  yreduce
  yverify

(* Code Generator for MIL *)
cogen
  cogen
  cogen_analyze
  cogen_con
  cogen_main
  cogen_prim
  cogen_util
  cogen_val
  runtimehack

(* Register Allocator *)
regalloc
  bitmatrix
  cfg
  ifg
  instruction
  liveness
  regalloc
  rewrite
  test

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

(* Runtime System, Garbage Collector *)
runtime
  gc.lib              - Boehm Weiser collector
  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
  popast
  popcompile
  popcorn
  poplex
  popparse
  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
