#!/usr/bin/env perl
#
# provethem.in
# Release: ProofLite-6.0.9 (3/14/14)
#
# Contact: Cesar Munoz ([email protected])
# NASA Langley Research Center
# http://shemesh.larc.nasa.gov/people/cam/ProofLite
#
# Copyright (c) 2011-2012 United States Government as represented by
# the National Aeronautics and Space Administration. No copyright
# is claimed in the United States under Title 17, U.S.Code. All Other
# Rights Reserved.
#
# Script for batch proving several libraries in PVS
#
use Getopt::Long; use File::Basename; use Term::ANSIColor qw(:constants); use Cwd;
sub usage() {
print <<EOF;
$PROVETHEMVERSION -- runs proveit on several libraries
$usageln
<option> is --addpath consider the current directory as part of
PVS_LIBRARY_PATH --after=<dir> prove all libraries after <dir>, exclusive. --before=<dir> prove all libraries before <dir>, exclusive. --but=<dir1>,..,<dirn> do not process libraries <dir1>,...,<dirn> --color do not use colors --cleanbin clean binary files but do not prove the libraries --clearpath consider an empty PVS_LIBRARY_PATH --dir <dir> use <dir> as default directory of summary files --do=<dir1>,..,<dirn> process libraries <dir1>,...,<dirn> --disable <o1,...on> disable external oracles o1,...,on. --disable-oracles disable any external oracle --enable <o1,..,on> enable external oracles o1,..,on. Overwrite --disable --ext <ext> use <ext> as default extension of summary files --execute <command> execute Unix <command> on all libraries. Command
may refer to \%DIR\% and \%FILE\% --force force provethem to go even if there is a proveit error --from=<dir> prove all libraries from <dir>, inclusive. --lisp <lisp> specify lisp version; <lisp> is one of allegro,cmulisp --log log all information generated by PVS in <file>.log --out <outfile> save output to <outfile> --test process <file> but do not call proveit --to=<dir> prove all libraries to <dir>, inclusive. --top <th> use <th>.pvs instead of top.pvs as top theory --typecheck-only typecheck but do not prove the libraries --verbose print summary information for all theories --version print version information and exit
File <file> is an ordered list of libraries to be processed by proveit. Each
line in <file> has the form <lib> [: <options>], where <lib> is a directory
name and <options> are paramters to proveit. If <lib> is empty, options apply
to all libraries thenceforth. Output is saved in <outfile>, which can be
specified using the option -out. Otherwise, a default name having the
form <file><postfix>.summaries is used.
The <postfix> depends on the options -do,-but,-from,-to,-after,-before
given to the script.
Unless the option -outis explictly use, an output file isnot created when
the options -cleanbin, -execute or -test are given.
EOF exit;
}