This is esuif, a SUIF 2 package for the Esterel language (www.esterel.org).

It contains an Esterel schema for the SUIF 2 database (esuifnodes),
an Esterel front-end (strl2suif: a parser plus semantic analysis), an
Esterel pretty-printer (suif2strl), and some example files.
----------------------------------------------------------------------
Building esuif:

1) Get and install the SUIF 2 system from Stanford: suif.stanford.edu
   You only need the base system: basesuif-2.2.0-4.tar.gz

2) Get and install ANTLR (compiler generation tool) from http://www.antlr.org/
   It needs Java to run.  Make sure you build ANTLR's C++ libraries.
   As a test, make sure running "java antlr.Tool" reports that ANTLR
   exists.  Your CLASSPATH environment variable might need to be set
   to accomodate it.

3) Make sure the environment variable NCIHOME is set to the root of
   the SUIF 2 installation.  On my machine, it's /home/sedwards/nci

4) Run "make" in this directory.  This should build and install the
   esuif libraries in the nci subdirectories.  This depends on the nci
   build infrastructure.

5) As a test, make sure NCIHOME is set and you've sourced
   $NCIHOME/nci_setup.csh (for CSH-style shells).  "which strl2suif"
   should find that script.  cd into examples and run

   strl2suif testall.strl
   suif2strl testall.suif

   The second command will pretty-print the parsed Esterel source file.

----------------------------------------------------------------------
Directories and files

esuifnodes/		Hoof definition for the SUIF nodes used for Esterel.

	esuif.hoof	The database schema definition
	

strl2suif/		The Esterel compiler front-end: parses Esterel,
			generates an AST, then builds the SUIF data structures
			while checking for simple semantic correctness.

	esterel.g	SUIF-independent Esterel grammar for ANTLR

	estereast.g	ANTLR source for an AST walker that builds the
			SUIF database from the AST produced by esterel.g

suif2strl/		Prints Esterel-formatted SUIF as Esterel program text.

	print.cpp	Instruction/expression printing routines

examples/		Esterel source files for testing the front end.

	testall.strl	Esterel source that exercises most Esterel syntax

scripts/		Scripts for running the compiler passes.

	strl2suif	Run the front end: generate .suif from .strl source

	suif2strl	Print a .suif file generated by strl2suif

transformstrl/		Dismantling passes: transforms AST-like SUIF from
			Esterel into assembly-like SUIF for Esterel
