descriptionSPPoC: Symbolic Parameterized Polyhedral Calculator
homepage URLhttp://www2.lifl.fr/west/sppoc/
ownerskimo@kotnet.org
last changeMon, 23 Jun 2008 16:43:23 +0000 (23 18:43 +0200)
content tags
add:
README
SPPoC: Symbolic Parameterized Polyhedral Calculator

	(http://www.lifl.fr/west/sppoc/)

Version: 1.2.1

What is it all about?

   SPPoC is a symbolic interface to the following polyhedral
   computation tools: PolyLib, PIP, Omega. 

   Applications: all the field of the static analysis of "static
   control" programs and surely many others.

Installing SPPoC

   Requirements

      SPPoC is written in Objective Caml. You will need version 3.00
      (or higher) of the Objective Caml compiler. You will
      also need the companion program camlp5.

      As the PolyLib uses the GNU MP library to handle multi-precision
      arithmetic, you will need to download it as well.

      You will also need the GNU versions of make and test and gcc
      v3.3 or higher.

      Finally, you can download the source files of SPPoC (current
      version: 1.2.1 released 2003/11/19, it includes the PolyLib v4.16,
      the omega library v1.1 and a modified version of PIP).

      Optionally you can download and install the ledit line editor
      that improves the editing facilities of sppoc.

   Compilation

          Extract the archive: tar xzf spocc.tgz. 
          Configure the Makefiles: edit file Etc/Makefile.config to
          suit your installation. You can also specify the C++ compiler
	  for omega with something like "CXX=g++-3.3.6 make".
          You may need to adjust some variables in Polylib/Makefile to
          compile the PolyLib.  
          Create the compilation dependences: make depend. 
          Compile SPPoC: make (if some problem occur, try make depend
          followed by make).
          You then have an interactive version of SPPoC:
          Bin/spocc. You can test this version with the examples from
          the Test and Calcom directories.   
          You can then install SPPoC: make install. 

User's Guide

          One way to use SPPoC is the sppoc interactive
          calculator. Actually it is an ocaml toplevel with the SPPoC
          module and all the required libraries preloaded. The
          quotations and the pretty-printers are also automatically
          started. (The preloading mechanism installs a .ocamlinit
          file in the current directory. If such a file already
          exists, it is not replaced. See the ocaml documentation for
          more details on this mechanism.)

          The sppoc command used alone starts the interactive
          calculator. If a file is given as an argument, the commands
          in this file are exectued as a script.

	  As sppoc tries to use the ledit line editor if you have it,
	  using sppoc by redirection of its input is not reliable. The
	  right way to interactively execute a file is: start sppoc
	  and type the command #use "file.ml";;.

          You can also use SPPoC as a library. To link an ocaml
          program with SSPoC, use a command line such as:

              ocaml -o yourprogram -I /path/to/libsppoc libsppoc.cma
              yourprogram.ml

          or 

              ocaml -o yourprogram -pp camlp5sppoc -I /path/to/libsppoc
              libsppoc.cma yourprogram.ml

          if you want to use the quotations. 

      In all the cases you have to open the SPPoC module (via the open
      SPPoC;; statement) to be able to avoid prefixing all the sppoc
      commands by SPPoC.

TO DO list

	  Upgrade to omega v1.2
          Smash the remaining bugs.
          Test the native code compilation. 
          Update the documentation.
          For a future version: handle equalities in QUASTs' predicates 

Documentation: see the Documentation directory (you will need LaTeX to
recompile the files).


                                               Pierre Boulet, Xavier Redon
                                               sppoc@lifl.fr 
shortlog
2008-06-23 Sven Verdoolaegesort generating system before printingmaster
2008-06-23 Sven Verdoolaegeconversion from (old) camlp4 to campl5
2008-06-23 Sven Verdoolaegeadd configure script to set ocaml prefix
2008-06-23 Sven Verdoolaegeremove duplicate Matrix_Copy (available in PolyLib)
2008-06-23 Sven Verdoolaegereplace omega 1.1 copy by omega submodule
2008-06-21 Sven Verdoolaegecombine .cvsignore files into .gitignore file
2006-05-04 Pierre Bouletversion adaptée par Julien Muchembled
2006-05-04 Eric Piel- ajoute info sur CXX pour Omega
2006-05-04 Pierre Bouletversion adaptée par Julien Muchembled
2005-02-07 Pierre Boulet*** empty log message ***
2004-07-25 Philippe Marquet - renommage repertoire .. (pas de latin1 dans les...
2003-11-19 Pierre Bouletversion 1.2.1 mise sur le web
2003-10-28 Pierre Bouletadaptation à gcc 3.3.1
2002-01-25 Xavier Redon*** empty log message ***
2001-12-14 Pierre Bouletv 1.2 du 14 décembre 2001
2001-12-14 Pierre Bouletnuméros de pages définitifs
...
heads
15 years ago master