For instructions please go to the
tlv web site:

 http://www.wisdom.weizmann.ac.il/~verify/tlv/index.shtml

---------------------------------------------------------------------- 

                      FILES

  UTILITIES

  hash.{h,c}  : Hash tables.
  assoc.{h,c} : Associate a value to a key (using hash tables).
  mystring.{c,h} : Implment string type.
  storage.{c,h} : Effecient storage routines.
  util_err.{c,h} : Various utilities and error messages.
  bdd_to_formula.c : Print a finite state formula from a bdd. 
  node.{c,h}  : Data type of tree nodes. Used throughout tlv
          for building the parse tree, etc...


  PARSING 

  input.lex   : Lexical analyzer
  grammar.y   : grammar
  myread.h    : Implements reading tlvbasic interactively
                using gnu readline
  y.tab.h : include file which is generated by bison or makefile.util .

  To understand these files you need to know lex (or flex), yacc (or
  bison), and a little bit about gnu readline.  Note that the grammar
  and tokens of both smv and tlv-basic reside in the same files.


  MAIN FILES:

  main.c      : main of program.
  smv.c       : Translate a parse tree of an smv program to bdds.
  script.{c,h}: Run procedures and functions in tlv-basic.
  bdd.{h,c}   : bdd library
  new_bdd.c   : More functions on BDDs. Included by bdd.c .
  symbols.{c,h}: Symbol table.
  eval.{c,h}  : Evaluate expressions.
  tlv.{c,h}   : Implement tlv specific functions and commands.

  Note that script.c contains routines for running a generic scripting
  language, whereas tlv handles parts which are more specific
  to the tlv implementation.


  makefile, makefile.util : makefiles  (makefile includes makefile.util)


----------------------------------------------------------------------

                 Overview of TLV execution

  Execution starts from main.c . This file parses the command line
  parameters and initializes all the other packages. Next, it tries
  to read an input file. If it is an spl file then it is compiled
  to smv using an external spl to smv compiler. Then the file is 
  parsed (using yyparse) and transformed to transition systems
  represented by bdds using the function smv2fts from smv.c . The
  final stages involves loading the rules file and an optional   
  proof file ( functions load_rule_file and load_script_file, 
  from script.c ) and then entering interactive mode using 
  the function go_interactive, also from script.c . 

  All the rest of the files can be viewed as libraries which are 
  invoked by smv.c, script.c or main.c .


----------------------------------------------------------------------

           Debugging memory for SUN/Solaris

setenv LD_PRELOAD watchmalloc.so.1

setenv MALLOC_DEBUG WATCH
or
setenv MALLOC_DEBUG RW
----------------------------------------------------------------------
