debian/0000755000000000000000000000000012253552320007165 5ustar debian/control0000644000000000000000000000226712253552042010600 0ustar Source: spark Section: devel Priority: optional Maintainer: Євгеній Мещеряков Build-Depends: debhelper (>= 8), gnat, swi-prolog-nox (>= 6.2.6-2~), libgmp-dev (>= 2:5.0.1+dfsg-7~), bison, flex Standards-Version: 3.9.5 Homepage: http://libre.adacore.com/libre/tools/spark-gpl-edition/ Vcs-Git: git://git.debian.org/collab-maint/spark.git Vcs-Browser: http://git.debian.org/?p=collab-maint/spark.git Package: spark Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${swi-prolog:Depends}, swi-prolog-nox Suggests: gnat, alt-ergo Description: SPARK programming language toolset SPARK is a formally-defined computer programming language based on the Ada programming language, intended to be secure and to support the development of high integrity software used in applications and systems where predictable and highly reliable operation is essential either for reasons of safety or for business integrity. . This package contains the tools necessary for checking if programs adhere to the SPARK rules and the tools to show freedom of runtime exceptions in those programs. To compile SPARK programs use any standards-compliant Ada compiler, such as GNAT. debian/compat0000644000000000000000000000000212253552042010364 0ustar 8 debian/man/0000755000000000000000000000000012253552042007741 5ustar debian/man/victor.10000644000000000000000000000522512253552042011335 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH victor 1 "22 March 2011" "" "" .SH NAME victor \- attempts to discharge verification conditions using SMT solvers .SH SYNOPSIS 'nh .fi .ad l \fBvictor\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [UNIT] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION The \fBvictor\fR command is a wrapper around ViCToR (\fBvct\fR) which simplifies its use. ViCToR translates SPARK verification conditions into SMTlib and feeds them to an SMT solver. SPARK ships with one such SMT solver, \fBalt-ergo\fR, but it is possible to use others solvers such as \fBcvc3\fR. .PP The intended use of victor is to discharge true VCs left over by the Simplifier and not replace the Simplifier. Please also note that ViCToR is considered to be an experimental feature at the moment. .PP This manual page only summarises the \fBvictor\fR command-line flags, please refer to the full VictorWrapper manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax as options start with a single dash instead of the usual two. .TP \*(T<\fB\-h\fR\*(T>, \*(T<\fB\-help\fR\*(T> Shows command-line help. .TP \*(T<\fB\-t=\fR\*(T>\fISECONDS\fR Time-out the SMT solver after this many seconds (by default 5) using \fBulimit\fR. To disable time-out specify 0. .TP \*(T<\fB\-m=\fR\*(T>\fIMEGABYTES\fR Limit the SMT solver to this many MiB of virtual memory (by default no limit) using \fBulimit\fR. .TP \*(T<\fB\-v\fR\*(T> Ignore the presence of any \*(T files and process \*(T files only. By default, given a \fIUNIT\fR such as foo, victor will first attempt to process foo.siv and then fall back to foo.vcg. .TP \*(T<\fB\-plain\fR\*(T> Plain mode \[em] supress timings and versions. .TP \*(T<\fB\-solver=\fR\*(T>\fISOLVER\fR Specifies an alternative SMT solver. By default we use alt-ergo. Can be one of alt-ergo, cvc3, yices or z3. The alt-ergo solver is distributed with SPARK. The cvc3 solver is part of Debian. The yices and z3 solvers are proprietary. .SH "SEE ALSO" spark(1), sparksimp(1), spadesimp(1), zombiescope(1), pogs(1) .PP sparkformat(1), sparkmake(1) .PP cvc3(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/sparkformat.10000644000000000000000000000536212253552042012362 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH sparkformat 1 "22 March 2011" "" "" .SH NAME sparkformat \- pretty-prints SPARK annotations .SH SYNOPSIS 'nh .fi .ad l \fBsparkformat\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [ FILE_LIST or @METAFILE ] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION .PP This manual page only summarises the \fBsparkformat\fR command-line flags, please refer to the full SPARKFormat manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax. All options start with a single dash instead of the usual two and they can also be abbreviated, as long as the abbreviation is unique. For example \*(T<\fB\-expand\fR\*(T> can be abbreviated to \*(T<\fB\-expa\fR\*(T> but not \*(T<\fB\-exp\fR\*(T> as this clashes with \*(T<\fB\-export_indent\fR\*(T>. .TP \*(T<\fB\-help\fR\*(T> Display command-line help. .TP \*(T<\fB\-version\fR\*(T> Display version information. .TP \*(T<\fB\-add_modes\fR\*(T>, \*(T<\fB\-noadd_modes\fR\*(T> Add modes to unmoded global variables. By default we do not do this. .TP \*(T<\fB\-annotation_character=\fR\*(T>\fICHAR\fR Select alternative annotation character. The default is '#'. .TP \*(T<\fB\-compress\fR\*(T>, \*(T<\fB\-expand\fR\*(T> Comress or expand the dependency relations. The default is to compress. .TP \*(T<\fB\-default_function_modes=\fR\*(T>\fIMODE\fR When used in conjunction with \*(T<\fB\-add_modes\fR\*(T>, force global variables of functions to the specified default function mode. The available default function modes are \&'in_mode' and 'unmoded', and may be abbreviated to 'i' and \&'u' respectively. .TP \*(T<\fB\-export_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-global_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-import_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-inherit_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-initialization_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-own_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-separator_indent=\fR\*(T>\fIMODE\fR, \*(T<\fB\-properties_indent=\fR\*(T>\fIMODE\fR Specifies the degree of indentation from '\-\-#' or keeps them inline (the default). MODE can be either a number or 'inline'. .SH "SEE ALSO" spark(1), sparksimp(1), spadesimp(1), zombiescope(1), victor(1), pogs(1) .PP sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/pogs.10000644000000000000000000000454612253552042011004 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH pogs 1 "22 March 2011" "" "" .SH NAME pogs \- summarises completed and outstanding proof obligations .SH SYNOPSIS 'nh .fi .ad l \fBpogs\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION POGS will recursively traverse the current directory and all subdirectories and summariese all proof obligations (found in \*(T files) and status (effectively undischarged, discharged or false). .PP This manual page only summarises the \fBpogs\fR command-line flags, please refer to the full POGS manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax as options start with a single dash instead of the usual two. .TP \*(T<\fB\-h\fR\*(T> Displays command line help. .TP \*(T<\fB\-d=\fR\*(T>\fIINPUT_DIRECTORY\fR Instead of searching the current directory and all its subdirectories, begin the search in the given directory. .TP \*(T<\fB\-i\fR\*(T> Prevents checking of the date and time stamps of all analysed files. .TP \*(T<\fB\-o=\fR\*(T>\fIOUTPUT_FILE\fR By default the output file is named after the directory analysed. This option can be used to override this default. .TP \*(T<\fB\-p\fR\*(T> Prevents SPARK release information and file paths being output to the \*(T file. .TP \*(T<\fB\-s\fR\*(T> Prevents the per-subprogram analysis section (which contains summary information for each VC and DPC) being output to the \*(T file. .TP \*(T<\fB\-x\fR\*(T> Outputs summary information in XML format. Incompatible with \*(T<\fB\-s\fR\*(T>. This option is DEPRECATED and WILL BE REMOVED in the next release. .TP \*(T<\fB\-v\fR\*(T> Displays version information. .SH "SEE ALSO" spark(1), sparksimp(1), spadesimp(1), zombiescope(1), victor(1) .PP sparkformat(1), sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/zombiescope.10000644000000000000000000000422712253552042012347 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH zombiescope 1 "22 March 2011" "" "" .SH NAME zombiescope \- simplifies SPARK dead path conjectures .SH SYNOPSIS 'nh .fi .ad l \fBzombiescope\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [UNIT] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION ZombieScope for SPARK, \fBzombiescope\fR, analyses dead path conjectures generated by the Examiner for SPARK and attempts to determine their liveness automatically. For each \*(T file read, ZombieScope will produce a \*(T (simplified dead paths) file and an optional \*(T (zombiescope log) file. .PP This manual page only summarises the \fBzombiescope\fR command-line flags, please refer to the full Simplifier manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax as options start with a single dash instead of the usual two. .TP \*(T<\fB\-help\fR\*(T> Displays command line help. .TP \*(T<\fB\-version\fR\*(T> Displays version information. .TP \*(T<\fB\-nolog\fR\*(T> Do not generate a ZombieScope log file. .TP \*(T<\fB\-log=\fR\*(T>\fIfile_spec\fR Specify filename for the ZombieScope file. .TP \*(T<\fB\-nowrap\fR\*(T> Do not line wrap output files. .TP \*(T<\fB\-plain\fR\*(T> Adopt a plain output style (e.g. no dates or version numbers). .TP \*(T<\fB\-norenum\fR\*(T> Do not renumber hypotheses and conclusions in \*(T files. .TP \*(T<\fB\-hyp_limit=\fR\*(T>\fILIMIT\fR Specify the maximum number of hypotheses that will be analysed. .SH "SEE ALSO" spark(1), sparksimp(1), spadesimp(1), victor(1), pogs(1) .PP sparkformat(1), sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/sparkmake.10000644000000000000000000001061012253552042011777 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH sparkmake 1 "22 March 2011" "" "" .SH NAME sparkmake \- generates SPARK index and metafiles .SH SYNOPSIS 'nh .fi .ad l \fBspark\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [ROOT_FILE] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION The SPARKMake tool automatically generates two files that can be used as arguments to the Examiner command line: The index file and the meta file. For more information please refer to the full Examiner manual. .PP This manual page only summarises the \fBsparkmake\fR command-line flags, please refer to the full SPARKMake manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax. All options start with a single dash instead of the usual two and they can also be abbreviated, as long as the abbreviation is unique. For example \*(T<\fB\-expand\fR\*(T> can be abbreviated to \*(T<\fB\-expa\fR\*(T> but not \*(T<\fB\-exp\fR\*(T> as this clashes with \*(T<\fB\-export_indent\fR\*(T>. .PP For a description of the regular expression syntax, please refer to the appropriate section below. .PP If ROOT_FILE is not given then we produce an index and metafile for all files in and under the current directory. .TP \*(T<\fB\-help\fR\*(T> Display command-line help. .TP \*(T<\fB\-version\fR\*(T> Display version information. .TP \*(T<\fB\-directory=\fR\*(T>\fIDIRNAME\fR Look in and under DIRNAME as well as the current working directory. This option can be specified more than once; buy default we only look at the current working directory. .TP \*(T<\fB\-include=\fR\*(T>\fIREGEXP\fR Only include files if their full path matches the given regular expression. .TP \*(T<\fB\-exclude=\fR\*(T>\fIREGEXP\fR Exclude files if their full patch matches the given regular expression. .TP \*(T<\fB\-duplicates_are_errors\fR\*(T> Fail if duplicate units are found. .TP \*(T<\fB\-annotation_character=\fR\*(T>\fICHAR\fR Select alternative annotation character. The default is '#'. .TP \*(T<\fB\-language=\fR\*(T>\fIL\fR This can be one of 83, 95 (the default) or 2005. .TP \*(T<\fB\-index=\fR\*(T>\fIFILE_SPEC\fR, \*(T<\fB\-noindexfile\fR\*(T> The index file to generate, by default this is ROOT_FILE.idx. .TP \*(T<\fB\-meta=\fR\*(T>\fIFILE_SPEC\fR, \*(T<\fB\-nometafile\fR\*(T> The metafile to generate, by default this is ROOT_FILE.smf. .TP \*(T<\fB\-path_option=\fR\*(T>\fIMODE\fR Produce 'relative' or 'full' pathnames. By default we produce full pathnames. .SH "SPARKMAKE REGULAR EXPRESSION SYNTAX" Please note that the regular expression syntax used by SPARKMake differs from both POSIX and Perl regular expressions. Please also take care to appropriately escape anythign that your shell might replace or expand (such as * or ?). The characters '{' and '}' are not allowed to appear in any regular expression. .PP reg_exp = term .PP term = elmt | elmt elmt ... | * | ? | [char char ...] | [char - char] .PP elmt = nchr | [nchr nchr ...] | [^ nchr nchr ...] | [nchr - nchr] | . | ( reg_exp ) .PP The * has special meaning; it matches any string of 0 or more characters. Note that this differs from POSIX regex where the equivalent would be '.*'. .PP The special characters ? and . have the same meaning, they match any character. Thus, ? does not hold the same meaning it does in a POSIX regular expression. .PP The [ab...] notation means the usual: match any character listed. .PP The [a-f] notation means the usual: match any character in the given range. .PP The [^a-f] notation means the usual: match any character not in the given range. .PP \fIchar\fR can be any character, including special characters. \fInchr\fR can be any character except '\e', '(', ')', '[', ']', '.', '*', '+', '?' or \&'^'. It is possible to specify such a special character by escaping it with a backslash. .SH "SEE ALSO" spark(1), sparksimp(1), spadesimp(1), zombiescope(1), victor(1), pogs(1) .PP sparkformat(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/sparksimp.10000644000000000000000000000607312253552042012042 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH sparksimp 1 "22 March 2011" "" "" .SH NAME sparksimp \- analyses all generated SPARK proof artifacts (in parallel) .SH SYNOPSIS 'nh .fi .ad l \fBsparksimp\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [\-sargs SIMPLIFIER_OPTIONS] [\-zargs ZOMBIESCOPE_OPTIONS] [\-vargs VICTOR_OPTIONS] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION \fBsparksimp\fR, analyses all verification conditions and dead path conjectures generated by the Examiner for SPARK and attempts to discharge them using the Simplifier, ZombieScope and ViCToR. If requested, this can be done in parallel. .PP This manual page only summarises the \fBsparksimp\fR command-line flags, please refer to the full SPARKSimp manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax as options start with a single dash instead of the usual two. .TP \*(T<\fB\-a\fR\*(T> Processes all files, even if their time-stamp indicated that they have been previously analysed. .TP \*(T<\fB\-v\fR\*(T> Displays version information. .TP \*(T<\fB\-V\fR\*(T> Verbose output. .TP \*(T<\fB\-n\fR\*(T> Dry run \[em] this prints only the list of files to analyse and then stops. .TP \*(T<\fB\-ns\fR\*(T> Do not run the Simplifier. .TP \*(T<\fB\-nz\fR\*(T> Do not run ZombieScope. .TP \*(T<\fB\-victor\fR\*(T> Run ViCToR/Alt-Ergo on VCs left unproven by Simplifier. If \*(T<\fB\-ns\fR\*(T> is specified then this will run ViCToR on all VCs. .TP \*(T<\fB\-t\fR\*(T>, \*(T<\fB\-r\fR\*(T> Sort \*(T file by size and analyse the largest ones first. If \*(T<\fB\-r\fR\*(T> is specified as well analyse the smallest ones first. .TP \*(T<\fB\-l\fR\*(T> Log spadesimp and zombiescope output for each unit analysed to UNIT.log and UNIT.zsl respectively. .TP \*(T<\fB\-e\fR\*(T> Echo all output to the screen; this option cannot be used in conjunction with \*(T<\fB\-p\fR\*(T>. .TP \*(T<\fB\-p=\fR\*(T>\fIN\fR Use N concurrent processes. .TP \*(T<\fB\-x=\fR\*(T>\fIPATH\fR Specifies an alternative Simplifier executable. .TP \*(T<\fB\-z=\fR\*(T>\fIPATH\fR Specifies an alternative ZombieScope executable. .TP \*(T<\fB\-sargs \fR\*(T>\fIOPTIONS\fR, \*(T<\fB\-zargs \fR\*(T>\fIOPTIONS\fR, \*(T<\fB\-vargs \fR\*(T>\fIOPTIONS\fR Any options following one of these will be passed to directly to the Simplifier, ZombieScope or ViCToR respectively. Please see their manual pages or documentation for more information. .SH "SEE ALSO" spark(1), spadesimp(1), zombiescope(1), victor(1), pogs(1) .PP sparkformat(1), sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/spark.10000644000000000000000000001255112253552042011147 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH spark 1 "22 March 2011" "" "" .SH NAME spark \- examines SPARK programs and generates verification conditions .SH SYNOPSIS 'nh .fi .ad l \fBspark\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [ FILE_LIST or @METAFILE ] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION The Examiner for SPARK, \fBspark\fR, analyses the given source files for errors and violations of the SPARK subset and (optionally) generates verification conditions and dead path conjectures necessary for proof of absence of run-time exceptions and partial correctness. .PP This manual page only summarises the \fBspark\fR command-line flags, please refer to the full Examiner manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax. All options start with a single dash instead of the usual two and they can also be abbreviated, as long as the abbreviation is unique. For example \*(T<\fB\-help\fR\*(T> can be abbreviated to \*(T<\fB\-he\fR\*(T> but not \*(T<\fB\-h\fR\*(T> as this clashes with \*(T<\fB\-html\fR\*(T>. .TP \*(T<\fB\-source_extension=\fR\*(T>\fIfile_type\fR Specifies source file extension (Default 'ada') .TP \*(T<\fB\-noindex_file\fR\*(T>, \*(T<\fB\-index_file=\fR\*(T>\fIfile_spec\fR Specifies the index file. By default no index file is used. .TP \*(T<\fB\-nowarning_file\fR\*(T>, \*(T<\fB\-warning_file=\fR\*(T>\fIfile_spec\fR Specifies the warning control file. By default no warning control file is used. .TP \*(T<\fB\-noconfig_file\fR\*(T>, \*(T<\fB\-config_file=\fR\*(T>\fIfile_spec\fR Specifies the Examiner configuration file. By default no configuration file is used. .TP \*(T<\fB\-noswitch\fR\*(T> Ignore the \*(T file, if it exists. .TP \*(T<\fB\-nolistings\fR\*(T>, \*(T<\fB\-listing_extension=\fR\*(T>\fIfile_type\fR By default all listing files have the 'lst' extension. These options can be used to disable listing file generation or to change the default extension. .TP \*(T<\fB\-noreport_file\fR\*(T>, \*(T<\fB\-report_file=\fR\*(T>\fIfile_spec\fR By default the report will be named 'SPARK.REP'. These options can be used to change the default name or to disable report generation. .TP \*(T<\fB\-html\fR\*(T>, \*(T<\fB\-html=\fR\*(T>\fIdir_spec\fR Generate HTML listings and report file. .TP \*(T<\fB\-output_directory=\fR\*(T>\fIdir_spec\fR Generate report, listing and proof files in the specified directory. .TP \*(T<\fB\-plain_output\fR\*(T> No dates, line or error numbers will appear in the output files. .TP \*(T<\fB\-language=\fR\*(T>\fIL\fR This can be one of 83, 95 (the default) or 2005. .TP \*(T<\fB\-profile=\fR\*(T>\fIP\fR Choose between the sequential (the default) or ravenscar language profile. .TP \*(T<\fB\-noduration\fR\*(T> Do not predefine \*(T. .TP \*(T<\fB\-syntax_check\fR\*(T> Perform syntax check only. No semantic checks. .TP \*(T<\fB\-flow_analysis=\fR\*(T>\fITYPE\fR Choose between \*(T or \*(T. .TP \*(T<\fB\-policy=\fR\*(T>\fITYPE\fR Select \*(T or \*(T policy for flow analysis. .TP \*(T<\fB\-vcg\fR\*(T> Generate VCs. .TP \*(T<\fB\-dpc\fR\*(T> Generate DPCs. .TP \*(T<\fB\-rules=\fR\*(T>\fICHOICE\fR Select policy for generation of composite constant proof rules. Can be one of none (the default), lazy, keen or all. .TP \*(T<\fB\-annotation_character=\fR\*(T>\fICHAR\fR Select alternative annotation character. The default is '#'. .TP \*(T<\fB\-noecho\fR\*(T> Suppress screen output. .TP \*(T<\fB\-nosli\fR\*(T> Don't generate SLI files. .TP \*(T<\fB\-sparklib\fR\*(T> Use the standard SPARK library. .TP \*(T<\fB\-nostatistics\fR\*(T>, \*(T<\fB\-statistics\fR\*(T> Append Examiner table usage statistics to the report file. By default we don't do this. .TP \*(T<\fB\-fdl_identifiers=\fR\*(T>\fIOPTION\fR Control treatment of FDL identifiers when found in SPARK source. Can be one of 'reject' (the default) or 'accept' or . .TP \*(T<\fB\-version\fR\*(T> Print Examiner banner and statistics and then exit. .TP \*(T<\fB\-help\fR\*(T> Print command line summary and options. .TP \*(T<\fB\-original_flow_errors\fR\*(T> Print information flow errors in original, less compact, format. .TP \*(T<\fB\-error_explanations=\fR\*(T>\fISETTING\fR Print explanations after error messages. Settings can be off (the default), first_occurrence or every_occurrence. .TP \*(T<\fB\-justification_option=\fR\*(T>\fITYPE\fR Select policy for justification of errors. Values can be full (the default), brief or ignore. .TP \*(T<\fB\-casing\fR\*(T>, \*(T<\fB\-casing=\fR\*(T>\fICHOICE\fR Check casing for identifier references and check casing of package \*(T identifiers. It is also possible to specify i or s to check for only one of these. .SH "SEE ALSO" sparksimp(1), spadesimp(1), zombiescope(1), victor(1), pogs(1) .PP sparkformat(1), sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/man/checker.10000644000000000000000000000326212253552042011432 0ustar .\" Hey, EMACS: -*- nroff -*- .TH checker 1 "3 June 2011" .SH NAME checker \- SPARK Proof Checker .SH SYNOPSIS .B checker [OPTIONS] .RI [ FILE ] .SH DESCRIPTION The SPARK Proof Checker can be used to discharge verification conditions produced by the Examiner (*.vcg), possibly simplified by the Simplifier (*.siv). This command is usually used when verification conditions cannot be discharged automatically by the Simplifier. .PP By default \fBchecker\fP runs in interactive mode. It accepts commands from user and writes them into a cmd file (or other file specified by \fB\-command_log\fP option). This file can be used later to run \fBchecker\fP in batch mode (using option \fB\-execute\fP). Additionally, proof log is written into a plg file. .SH OPTIONS A summary of options is included below. All options may be abbreviated to the shortest unique prefix. .TP .B \-help Show summary of options. .TP .B \-version Display version information. .TP .B \-plain Adopt a plain output style (e.g. no dates or version numbers). .TP .B \-overwrite_warning Confirmation needed to overwrite command or proof log files. .TP .BI \-command_log= LOG_FILE Specify file name for the command log file. .TP .BI \-proof_log= PLG_FILE Specify file name for the proof log file. .TP .BI \-execute= LOG_FILE Execute a previously generated command log file. .TP .B \-resume Resume a previously saved session. .SH FILES .TP /usr/share/spark/checker/rules/* Checker rules database. .SH SEE ALSO .BR spark (1), .BR sparksimp (1), .BR spadesimp (1), .BR pogs (1). .SH AUTHOR This manual page was written by Eugeniy Meshcheryakov , for the Debian project (and may be used by others). debian/man/spadesimp.10000644000000000000000000000567412253552042012024 0ustar '\" -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH spadesimp 1 "22 March 2011" "" "" .SH NAME spadesimp \- simplifies SPARK verification conditions .SH SYNOPSIS 'nh .fi .ad l \fBspadesimp\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [OPTIONS] [UNIT] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION The Simplifier for SPARK, \fBspadesimp\fR, analyses verification conditions generated by the Examiner for SPARK and attempts to discharge them automatically. For each \*(T file read, the Simplifier will produce a \*(T (simplified vcs) file and an optional \*(T (simplifier log) file. .PP This manual page only summarises the \fBspadesimp\fR command-line flags, please refer to the full Simplifier manual for further information. .SH OPTIONS These options do not quite follow the usual GNU command line syntax as options start with a single dash instead of the usual two. .TP \*(T<\fB\-help\fR\*(T> Displays command line help. .TP \*(T<\fB\-version\fR\*(T> Displays version information. .TP \*(T<\fB\-nolog\fR\*(T> Do not generate a simplification log file. .TP \*(T<\fB\-log=\fR\*(T>\fIfile_spec\fR Specify filename for the simplification log file. .TP \*(T<\fB\-nowrap\fR\*(T> Do not line wrap output files. .TP \*(T<\fB\-verbose\fR\*(T> Display attempted simplification strategies. .TP \*(T<\fB\-nouserrules\fR\*(T> Do not use user rules. .TP \*(T<\fB\-plain\fR\*(T> Adopt a plain output style (e.g. no dates or version numbers). .TP \*(T<\fB\-typecheck\fR\*(T> Only typecheck the input files. .TP \*(T<\fB\-norenum\fR\*(T> Do not renumber hypotheses and conclusions in \*(T files. .TP \*(T<\fB\-nosimplification=\fR\*(T>\fIRANGES\fR, \*(T<\fB\-nostandardisation=\fR\*(T>\fIRANGES\fR, \*(T<\fB\-norule_substitution=\fR\*(T>\fIRANGES\fR, \*(T<\fB\-nocontradiction_hunt=\fR\*(T>\fIRANGES\fR, \*(T<\fB\-nosubstitution_elimination=\fR\*(T>\fIRANGES\fR, \*(T<\fB\-noexpression_reduction=\fR\*(T>\fIRANGES\fR Adjust strategy for different VCs. \fIRANGES\fR can be a comma separated list of ranges. Each range can be either a single VC number or a simple range of the form VC-VC. .TP \*(T<\fB\-complexity_limit=\fR\*(T>\fILIMIT\fR (Limit in range 10 .. 200) .TP \*(T<\fB\-depth_limit=\fR\*(T>\fILIMIT\fR (Limit in range 1 .. 10) .TP \*(T<\fB\-inference_limit=\fR\*(T>\fILIMIT\fR (Limit in range 10 .. 400) .SH "SEE ALSO" spark(1), sparksimp(1), zombiescope(1), victor(1), pogs(1) .PP sparkformat(1), sparkmake(1) .SH AUTHOR This manual page was written by Florian Schanda <\*(T> for the \fIDebian GNU/Linux\fR system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. debian/smt_prelude.mlw0000644000000000000000000000000712253552042012227 0ustar type U debian/copyright0000644000000000000000000000416312253552042011125 0ustar Format: http://dep.debian.net/deps/dep5 Upstream-Name: spark-gpl Source: http://libre.adacore.com/libre/tools/spark-gpl-edition/ Comment: Files removed from the source tarball: - victor/alt-ergo-0.94.tar.gz - packaged as 'alt-ergo' - victor/alt-ergo-0.94-mingw.exe - windows binary - dlls/ - non-free Files: * Copyright: Altran Praxis Limited 2000-2009, AdaCore Comment: There is no mention of years for Altran copyright in the source. The source package was last downloaded in 2012. License: GPL-3.0+ Files: viktor/vct/* Copyright: 2009, 2010 University of Edinburgh License: GPL-3.0+ Files: debian/* Copyright: 2011, 2012 Eugeniy Meshcheryakov License: GPL-3.0+ Files: debian/man/* Copyright: 2011 Florian Schanda License: GFDL-1.3+ Files: debian/man/checker.1 Copyright: 2011 Eugeniy Meshcheryakov License: GPL-3.0+ or GFDL-1.3+ License: GPL-3.0+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". License: GFDL-1.3+ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. . On Debian systems, the complete text of the GNU Free Documentation License version 1.3 can be found in "/usr/share/common-licenses/GFDL-1.3". debian/changelog0000644000000000000000000001463412253552042011050 0ustar spark (2012.0.deb-8) unstable; urgency=medium * Make the package compatible with both bison 2 and 3 and stop requiring bison 3. -- Євгеній Мещеряков Mon, 16 Dec 2013 10:59:24 +0100 spark (2012.0.deb-7) unstable; urgency=medium * Fix required bison version (add 2:) -- Євгеній Мещеряков Fri, 13 Dec 2013 00:31:48 +0100 spark (2012.0.deb-6) unstable; urgency=medium * New patch: - vct-bison-3-fix.diff - fix building with bison 3 * Build-depend on bison >= 3 * Standards-Version 3.9.5 — no changes needed -- Євгеній Мещеряков Thu, 12 Dec 2013 22:00:22 +0100 spark (2012.0.deb-5) unstable; urgency=low * Use swi_prolog dh seqence to declare dependencies on SWI Prolog VM. -- Євгеній Мещеряков Sun, 12 May 2013 23:41:17 +0200 spark (2012.0.deb-4) unstable; urgency=low * Upload to unstable -- Євгеній Мещеряков Tue, 07 May 2013 22:00:47 +0200 spark (2012.0.deb-3) experimental; urgency=low * Rename prolog module settings to spark_prolog_settings to avoid conflict with newer versions of SWI prolog * Remove public declaration of predefined predicate subset/2 to avoid compilation problem with new SWI prolog -- Євгеній Мещеряков Sun, 30 Sep 2012 21:46:13 +0200 spark (2012.0.deb-2) experimental; urgency=low * Override the architecture detection and handle all architectures as "Linux". This should fix an FTBFS on kfreebsd-*. -- Євгеній Мещеряков Sun, 08 Jul 2012 23:55:54 +0200 spark (2012.0.deb-1) experimental; urgency=low * New upstream release * Upload to experimental * Update patches: - debian-architecture-detect.diff - examiner-architecture-bits.diff - checker-makefile.diff - no-alt-ergo.diff - victor-no-static-gmp.diff - simplifier-makefile.diff - victor-use-env-opt-flags.diff - ada-use-evn-optflags.diff - victor-gmpxx-as-needed.diff - makefile-gnatmake-par-envvar.diff - ada-link-env-flags.diff * Remove patches: - make-dependencies.diff - not needed anymore - makefile-gnatmake-par-envvar.diff - use SPARKCPUS variable instead * Standards-Version 3.9.3 — no changes required * Update debian/copyright * Do not install /usr/lib/spark/current/spark_/ -- Євгеній Мещеряков Sat, 30 Jun 2012 23:21:48 +0200 spark (2011.0.deb-5) unstable; urgency=low * Build with --gc-sections again (closes: #643863). -- Євгеній Мещеряков Wed, 12 Oct 2011 17:52:45 +0200 spark (2011.0.deb-4) unstable; urgency=low * Disable --gc-sections and others. It does not work with current binutils. -- Євгеній Мещеряков Thu, 29 Sep 2011 23:26:22 +0200 spark (2011.0.deb-3) unstable; urgency=low * Add -fdata-sections and -ffunction-sections to Ada compiler flags * New patch: - ada-link-env-flags.diff - get additional linker flags from ADA_LINK environment variable * Add -Wl,--gc-sections to Ada linker flags (1832k installed size reduction) -- Євгеній Мещеряков Mon, 19 Sep 2011 17:22:02 +0200 spark (2011.0.deb-2) unstable; urgency=low * Upload to unstable * Build-depend on gnat (without -4.6) again -- Євгеній Мещеряков Sat, 30 Jul 2011 19:46:30 +0200 spark (2011.0.deb-1) experimental; urgency=low * New upstream release * Upload to experimental for now (till new version of swi-prolog migrates to testing) * Build-depend on gnat-4.6 while in experimental * Update debian/copyright * Updated patches: - debian-architecture-detect.diff - no-alt-ergo.diff - checker-redefine-flatten.diff - checker-remove-close_all_streams.diff - make-dependencies.diff - victor-no-static-gmp.diff - ada-use-evn-optflags.diff - simplifier-swi-save.diff - simplifier-remove-close_all_streams.diff - ada-use-evn-optflags.diff - makefile-gnatmake-par-envvar.diff * Simplified and renamed patches: - debian/patches/simplifier-list_to_set-instead-of-remove_dups.diff → simplifier-library-lists-instead-of-sets.diff * Removed patches: - simplifier-halt.diff - sparklarl-redundant-conversion.diff - examiner-useless-assignment.diff - examiner-redundant-conversion.diff - checker-look-for-SPARK-in-line-2.diff - examiner-dont-optimize-sem.adb.diff -- Євгеній Мещеряков Fri, 22 Jul 2011 20:07:31 +0200 spark (2010.0.deb-6) unstable; urgency=medium * Fix mistakes in the manpages * Build-depend and depend on swi-prolog-nox (>= 5.10.4~), this fixes breakage with new prolog version. Hopefully it can be replaced with something better in the future * Urgency medium to allow spark to migrate to testing at the same time as swi-prolog -- Євгеній Мещеряков Sun, 19 Jun 2011 18:28:06 +0200 spark (2010.0.deb-5) unstable; urgency=low * Add parallel build support (only for gnatmake invocations) -- Євгеній Мещеряков Sat, 04 Jun 2011 01:47:58 +0200 spark (2010.0.deb-4) unstable; urgency=low * Refresh checker-remove-close_all_streams.diff -- Євгеній Мещеряков Fri, 03 Jun 2011 23:20:11 +0200 spark (2010.0.deb-3) unstable; urgency=low * Complete port of checker to SWI prolog and enable it * Fix defect detection functions in simplifier and fix remaining defects -- Євгеній Мещеряков Fri, 03 Jun 2011 12:58:37 +0200 spark (2010.0.deb-2) unstable; urgency=low * Add Vcs-* fields to debian/control * New patches: - sparklarl-redundant-conversion.diff: remove reduntant conversions to File_Type. This causes warnings with gnat-4.6 - examiner-useless-assignment.diff: remove useless assignment of a variable to itself - examiner-redundant-conversion.diff: remove redundant conversion to Integer * Standards-Version 3.9.2 — no changes required -- Євгеній Мещеряков Mon, 02 May 2011 10:27:57 +0200 spark (2010.0.deb-1) unstable; urgency=low * Initial release (Closes: #617551) -- Євгеній Мещеряков Sun, 27 Mar 2011 22:14:12 +0200 debian/gbp.conf0000644000000000000000000000024412253552042010605 0ustar # Configuration file for git-buildpackage and friends [DEFAULT] pristine-tar = True # Options only affecting git-buildpackage [git-buildpackage] sign-tags = True debian/spark.install0000644000000000000000000000016012253552042011673 0ustar bin/ usr/ share/ usr/ lib/spark/ usr/lib/ lib/checker/ usr/share/spark/ debian/smt_prelude.mlw usr/share/spark/ debian/rules0000755000000000000000000000164412253552042010253 0ustar #!/usr/bin/make -f CXXFLAGS = -g -Wall LDFLAGS = -g -Wall ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CXXFLAGS += -O0 ADA_OPT = -O0 else CXXFLAGS += -O2 LDFLAGS += -O2 ADA_OPT = -O2 -fdata-sections -ffunction-sections ADA_LINK = -Wl,--gc-sections endif ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) SPARKCPUS = $(NUMJOBS) else SPARKCPUS = 1 endif export CXXFLAGS LDFLAGS ADA_OPT ADA_LINK SPARKCPUS %: dh $@ --with swi_prolog override_dh_auto_clean: $(MAKE) reallycleanall override_dh_auto_build: # create empty directories that can be destroyed by git mkdir -p victor/vct/bin mkdir -p bin mkdir -p share/spark dh_auto_build CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" override_dh_auto_install: # nothing override_dh_auto_test: # nothing override_dh_install: dh_install rm -r debian/spark/usr/lib/spark/current/spark_ debian/patches/0000755000000000000000000000000012253552042010615 5ustar debian/patches/simplifier-further-byte-for-byte-fixes.diff0000644000000000000000000000175112253552042021075 0ustar From: Florian Date: Tue, 15 Mar 2011 20:17:27 +0000 Subject: Further byte-for-byte fixes Origin: upstream --- a/simplifier/makelog.pro +++ b/simplifier/makelog.pro @@ -86,6 +86,7 @@ write_log_file_banner :- %=============================================================================== close_log_file :- + nl, no_log_file, !. --- a/simplifier/utilities.pro +++ b/simplifier/utilities.pro @@ -302,8 +302,9 @@ do_wrap_lines_of(OLD, NEW) :- atom_codes(OLD_Atom, OLD), atom_codes(NEW_Atom, NEW), absolute_file_name(path('wrap_utility'), RunCMD, [extensions(['','.exe']), access(exist)]), - process_create(RunCMD, [OLD_Atom, NEW_Atom], [process(Proc)]), - process_wait(Proc, _ExitStatus), + concat(RunCMD, ' ', FullCMD), + concat(FullCMD, OLD_Atom, FinalCMD), + shell(FinalCMD), !. %------------------------------------------------------------------------------- debian/patches/checker-predefined-predicates.diff0000644000000000000000000000160612253552042017302 0ustar From: Eugeniy Meshcheryakov Subject: Do not redefine predicates that are already defined by SWI prolog Forwarded: not-needed --- a/checker/utilities.pro +++ b/checker/utilities.pro @@ -816,12 +816,6 @@ /*** subset(A,B) -- A is a subset of B ***/ -subset([A|AA],B) :- - set_find_in(A,B), - !, - subset(AA,B), - !. -subset([],_) :- !. /*** set_lacking(A,B,C) -- C is A \ B ***/ @@ -912,12 +906,6 @@ flush_output, !. -tab(0) :- !. -tab(N) :- - !, - put_char(' '), - NewN is N - 1, - tab(NewN). %############################################################################### %END-OF-FILE --- a/checker/newrules.pro +++ b/checker/newrules.pro @@ -278,7 +278,6 @@ :- public set_union/3. :- public simplify/2. :- public strict_sublist/2. -:- public subset/2. :- public subst_vbl/4. :- public type/2. debian/patches/examiner-architecture-bits.diff0000644000000000000000000000072412253552042016701 0ustar From: Eugeniy Meshcheryakov Subject: Use dpkg-architecture to detect address size --- a/common/Makefile.inc +++ b/common/Makefile.inc @@ -121,11 +121,7 @@ EXE_EXTN:= TAR:=tar PREP_TARGET:=Intel_Linux - ifeq (${GCC_TARGET},x86_64-pc-linux-gnu) - ADDRESS_SIZE:=64 - else - ADDRESS_SIZE:=32 - endif + ADDRESS_SIZE:=$(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) BUILD_VICTOR:=true SPLD_CONF:= endif debian/patches/simplifier-makefile.diff0000644000000000000000000000301112253552042015360 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:07:27 +0000 Subject: This is the makefile fix Origin: upstream --- a/simplifier/Makefile +++ b/simplifier/Makefile @@ -50,6 +50,12 @@ PATH:=/usr/bin:${PATH} endif +SWI_GOAL = \ + expects_dialect('sicstus'), \ + redefine_system_predicate(apply(_,_)), \ + style_check(-singleton), \ + compile('simplifier.pro'), \ + ################################################################################ # TARGETS ################################################################################ @@ -61,12 +67,10 @@ # and includes respectively. ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN}: *.pro - sicstus ${SICSTUS_SWITCHES} --goal "compile('simplifier.pro'), add_system_toolname('Simplifier'), buildsav_simplifier." - spld ${SPLD_CONF} -o $@ --static --resources=${OUTPUTNAME_SIMPLIFIER}${SAV_EXTN}=/${OUTPUTNAME_SIMPLIFIER}${SAV_EXTN},${SICSTUS_LIBS} + swipl -O -g "$(SWI_GOAL) add_system_toolname('Simplifier'), swisav_simplifier." ${OUTPUTNAME_ZOMBIESCOPE}${EXE_EXTN}: *.pro - sicstus ${SICSTUS_SWITCHES} --goal "compile('simplifier.pro'), add_system_toolname('ZombieScope'), buildsav_zombiescope." - spld ${SPLD_CONF} -o $@ --static --resources=${OUTPUTNAME_ZOMBIESCOPE}${SAV_EXTN}=/${OUTPUTNAME_ZOMBIESCOPE}${SAV_EXTN},${SICSTUS_LIBS} + swipl -O -g "$(SWI_GOAL) add_system_toolname('ZombieScope'), swisav_zombiescope." # Manifest only required on Windows. ifeq ($(findstring ${TARGET},Windows),${TARGET}) debian/patches/simplifier-SWI-and-SICSTUS-need-portray-and-portrayed-respective.diff0000644000000000000000000000471512253552042025501 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:16:28 +0000 Subject: SWI and SICSTUS need portray and portrayed respectively Origin: upstream --- a/simplifier/portray.pro +++ b/simplifier/portray.pro @@ -69,7 +69,7 @@ AP > Pred ), write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; ( @@ -79,7 +79,7 @@ F \= xfx, AP =< Pred /* not case 2 */ ), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), write(' '), write(Name_Atom), @@ -92,11 +92,11 @@ /* For example, we want "A + (B + C)" NOT "A + B + C" */ BP >= Pred, write('('), - write_term(B, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(B, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; BP < Pred, - write_term(B, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(B, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), !. @@ -120,11 +120,11 @@ /* we need to parenthesize A */ AP > Pred, write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; AP =< Pred, - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), !. @@ -146,11 +146,11 @@ /* we need to parenthesize A */ AP > Pred, write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; AP =< Pred, - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), write(' '), write(Name_Atom), debian/patches/simplifier-library-lists-instead-of-sets.diff0000644000000000000000000000065012253552042021414 0ustar From: Eugeniy Meshcheryakov Date: Tue, 15 Mar 2011 20:08:38 +0000 Subject: Import list_lo_set/2 from library lists instead of sets --- a/simplifier/data__hyp.pro +++ b/simplifier/data__hyp.pro @@ -55,7 +55,7 @@ [declare_operators/0, hide_operators/0]). -:- use_module(library(sets), +:- use_module(library(lists), [list_to_set/2]). :- declare_operators. debian/patches/no-alt-ergo.diff0000644000000000000000000000135012253552042013572 0ustar From: Eugeniy Meshcheryakov Subject: Do not try to build and install alt-ergo alt-ergo is provided in a separate package in Debian. Forwarded: not-needed --- a/Makefile +++ b/Makefile @@ -111,7 +111,6 @@ cp ./sparksimp/sparksimp${EXEEXTN} ./bin/ cp ./victor_wrapper/victor${EXEEXTN} ./bin/ ifeq (${BUILD_VICTOR},true) - cp ./victor/alt-ergo/alt-ergo.opt ./bin/alt-ergo${EXEEXTN} cp ./victor/vct/bin/vct${EXEEXTN} ./bin/ endif cp ./victor/vct/run/prelude.fdl ./share/spark/ --- a/victor/Makefile +++ b/victor/Makefile @@ -50,7 +50,7 @@ # Target to build vct and alt-ergo ifeq (${BUILD_VICTOR},true) -all: ${VICTOR}-target ${ALT_ERGO}-target +all: ${VICTOR}-target else all: endif debian/patches/checker-swi-save.diff0000644000000000000000000000120512253552042014605 0ustar From: Eugeniy Meshcheryakov Subject: Add SWI prolog compatible save predicate Forwarded: not-needed --- a/checker/checker.pro +++ b/checker/checker.pro @@ -101,6 +101,16 @@ report_total_defects, close_all_streams, halt(1). + +swisav_checker:- + zero_defects_reported, + qsave_program('checker', [autoload(true), goal(runtime_entry(start)), stand_alone(false)]), + halt(0). + +swisav_checker:- + report_total_defects, + halt(1). + %=============================================================================== %############################################################################### debian/patches/swi-prolog-settings-module-conflict.pro0000644000000000000000000000070312253552042020361 0ustar --- a/simplifier/settings.pro +++ b/simplifier/settings.pro @@ -25,7 +25,7 @@ %############################################################################### %MODULE %############################################################################### -:- module(settings, [declare_settings/0]). +:- module(spark_prolog_settings, [declare_settings/0]). %############################################################################### %DEPENDENCIES debian/patches/simplifier-clean.diff0000644000000000000000000000102712253552042014672 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:15:27 +0000 Subject: Remove executables on clean Origin: upstream --- a/simplifier/Makefile +++ b/simplifier/Makefile @@ -96,6 +96,7 @@ clean: rm -f spadesimp.sav spadesimp.exp spadesimp.ilk spadesimp.lib spadesimp.pdb rm -f zombiescope.sav zombiescope.exp zombiescope.ilk zombiescope.lib zombiescope.pdb + rm -f spadesimp zombiescope reallyclean: clean rm -f ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN} ${OUTPUTNAME_SIMPLIFIER}${EXE_EXTN}.manifest debian/patches/checker-swi-prolog.diff0000644000000000000000000000171112253552042015153 0ustar From: Eugeniy Meshcheryakov Subject: Various fixes for SWI prolog Forwarded: not-needed --- a/checker/sicstus.pro +++ b/checker/sicstus.pro @@ -17,12 +17,16 @@ :- use_module(library(lists)). -:- use_module(library(codesio)). + +file_exists(File, [exists]) :- exists_file(File). +file_exists(File, [read]) :- access_file(File, read). +file_exists(File, [write]) :- access_file(File, write). + :- use_module(library(terms)). /* Provides access to deprecated * * 'system' library from SICStus3 */ -:- use_module(library(system3)). +:- use_module(library(system)). :- set_prolog_flag(syntax_errors, dec10). --- a/checker/toplevel.pro +++ b/checker/toplevel.pro @@ -882,10 +882,10 @@ :- public newvc/0. :- public prove/0. :- public quit/0. -:- public consult/0. +%:- public consult/0. :- public unwrap/0. :- public instantiate/0. -:- public set/0. +%:- public set/0. :- public show/0. :- public declare/0. :- public save_state/0. debian/patches/debian-architecture-detect.diff0000644000000000000000000000150012253552042016613 0ustar From: Eugeniy Meshcheryakov Subject: Assume that target is always Linux on Debian This makes it easier to compile SPARK on systems with *BSD kernels. Forwarded: not-needed --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ ################################################################################ # Determine which platform this Makefile is being run on. -TARGET:=$(shell uname -s) +TARGET:=Linux GCC_TARGET:=$(shell gcc -dumpmachine) # Canonicalize the target string. --- a/common/Makefile.inc +++ b/common/Makefile.inc @@ -45,7 +45,7 @@ ################################################################################ # Determine which platform this Makefile is being run on. -TARGET:=$(shell uname -s) +TARGET:=Linux GCC_TARGET:=$(shell gcc -dumpmachine) # Canonicalize the target string. debian/patches/simplifier-misc.diff0000644000000000000000000000334612253552042014551 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:13:18 +0000 Subject: Various fixes Origin: upstream --- a/simplifier/defectreporting.pro +++ b/simplifier/defectreporting.pro @@ -69,7 +69,6 @@ message_hook(Severity, _Message, Lines): % Report all other messages, but do not separate these with blank lines nor % count these as defects. message_hook(Severity, _Message, Lines):- - print_message_lines(user_error, Severity, Lines), flush_output, !. %------------------------------------------------------------------------------- --- a/simplifier/load__switches.pro +++ b/simplifier/load__switches.pro @@ -181,7 +181,7 @@ load_switches:- set_auto_settings, % Retrieve arguments. - current_prolog_flag(argv, Arguments_AtomList), + current_prolog_flag(argv, [_Prolog, _X, _Exe, _Minuses | Arguments_AtomList]), % Parse arguments. parse_arguments(Arguments_AtomList, CMDLine_List), --- a/simplifier/load__vcg_dpc.pro +++ b/simplifier/load__vcg_dpc.pro @@ -434,14 +434,6 @@ scan_for_vc_hypothesis(Stream, CharList, % Retrieve the term from the stream. read_term(Stream, Hyp_Term, []), - % Consume rest of line following the term. - - - - - % Accept any text up to the next newline. - read_line_from_stream(Stream, _ReadText), - add_vcg_hypothesis(Number_Int, Hyp_Term, ParentVCId_Atom), !. @@ -469,13 +461,6 @@ scan_for_vc_conclusion(Stream, CharList, % Retrieve the term from the stream. read_term(Stream, Conc_Term, []), - % Consume rest of line following the term. - - - - - % Accept any text up to the next newline. - read_line_from_stream(Stream, _ReadText), add_vcg_conclusion(Number_Int, Conc_Term, ParentVCId_Atom), !. debian/patches/checker-makefile.diff0000644000000000000000000000276512253552042014640 0ustar From: Eugeniy Meshcheryakov Subject: Build checker using SWI prolog Forwarded: not-needed --- a/checker/Makefile +++ b/checker/Makefile @@ -17,6 +17,12 @@ .NOTPARALLEL: +SWI_GOAL = \ + expects_dialect('sicstus'), \ + redefine_system_predicate(apply(_,_)), \ + style_check(-singleton), \ + compile('checker.pro') + ################################################################################ # PURPOSE #------------------------------------------------------------------------------- @@ -60,8 +66,7 @@ # and includes respectively. ${OUTPUT_NAME}${EXE_EXTN}: *.pro - sicstus ${SICSTUS_SWITCHES} --goal "compile('checker.pro'), buildsav." - spld ${SPLD_CONF} -o $@ --static --resources=${OUTPUT_NAME}${SAV_EXTN}=/${OUTPUT_NAME}${SAV_EXTN},${SICSTUS_LIBS} + swipl -O -g "${SWI_GOAL}, swisav_checker." # Manifest only required on Windows. ifeq ($(findstring ${TARGET},Windows),${TARGET}) --- a/common/Makefile.inc +++ b/common/Makefile.inc @@ -106,10 +106,12 @@ PREP_OPTS:=-c # Common compiler options. -SICSTUS_LIBS:=codesio -SICSTUS_SWITCHES:=-f --nologo --noinfo -SAV_EXTN:=.sav - +SWI_GOAL = \ + expects_dialect('sicstus'), \ + redefine_system_predicate(apply(_,_)), \ + style_check(-singleton), \ + compile('checker.pro') + ################################################################################ # PLATFORM SPECIFIC CONFIGURATION ################################################################################ debian/patches/ada-link-env-flags.diff0000644000000000000000000000615712253552042015020 0ustar --- a/examiner/Makefile +++ b/examiner/Makefile @@ -95,6 +95,8 @@ LINK_ARGS:= endif +LINK_ARGS += ${ADA_LINK} + ################################################################################ # TARGETS ################################################################################ --- a/pogs/Makefile +++ b/pogs/Makefile @@ -45,6 +45,7 @@ # Files containing platform specific code that is handled by gnatprep PREP_TARGETS:=${SPARK_PREPED} +LINK_ARGS:=${ADA_LINK} ################################################################################ # TARGETS @@ -53,7 +54,7 @@ all: ${OUTPUT_NAME}${EXE_EXTN} ${OUTPUT_NAME}${EXE_EXTN}: preamble prep - gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} + gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} -largs ${LINK_ARGS} self-analysis: preamble prep -spark -plain @${OUTPUT_NAME}.smf --- a/sparkformat/Makefile +++ b/sparkformat/Makefile @@ -68,6 +68,8 @@ LINK_ARGS:= endif +LINK_ARGS += ${ADA_LINK} + ################################################################################ # TARGETS ################################################################################ --- a/sparkmake/Makefile +++ b/sparkmake/Makefile @@ -34,6 +34,7 @@ # Location of common. COMMON:=${ROOT}/common +LINK_ARGS:=${ADA_LINK} include ${COMMON}/Makefile.inc @@ -44,7 +45,7 @@ all: ${OUTPUT_NAME}${EXE_EXTN} ${OUTPUT_NAME}${EXE_EXTN}: preamble prep parser - gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} + gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} -largs ${LINK_ARGS} self-analysis: preamble prep parser -spark -plain @${OUTPUT_NAME}.smf --- a/sparksimp/Makefile +++ b/sparksimp/Makefile @@ -41,7 +41,7 @@ # PLATFORM INDEPENDENT CONFIGURATION ################################################################################ -LINK_ARGS:=new_expect.o +LINK_ARGS:=new_expect.o ${ADA_LINK} ################################################################################ # TARGETS --- a/victor_wrapper/Makefile +++ b/victor_wrapper/Makefile @@ -34,6 +34,7 @@ # Location of common. COMMON:=${ROOT}/common +LINK_ARGS:=${ADA_LINK} include ${COMMON}/Makefile.inc @@ -44,7 +45,7 @@ all: ${OUTPUT_NAME}${EXE_EXTN} ${OUTPUT_NAME}${EXE_EXTN}: preamble prep - gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} + gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} -largs ${LINK_ARGS} self-analysis: preamble prep -spark -plain @${OUTPUT_NAME}.smf --- a/wraputility/Makefile +++ b/wraputility/Makefile @@ -34,6 +34,7 @@ # Location of common. COMMON:=${ROOT}/common +LINK_ARGS:=${ADA_LINK} include ${COMMON}/Makefile.inc @@ -44,7 +45,7 @@ all: ${OUTPUT_NAME}${EXE_EXTN} ${OUTPUT_NAME}${EXE_EXTN}: preamble prep - gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} + gnatmake -j${SPARKCPUS} ${GNATMAKE_OPTS} ${OUTPUT_NAME} -o $@ -bargs ${BIND_OPTS} -largs ${LINK_ARGS} self-analysis: preamble prep -spark -plain @${OUTPUT_NAME}.smf debian/patches/victor-gmpxx-as-needed.diff0000644000000000000000000000073012253552042015741 0ustar From: Eugeniy Meshcheryakov Subject: Link to gmp libraries only when they are needed On x86_64 libgmpxx is unused. This could be different on other architectures. --- a/victor/vct/src/Makefile +++ b/victor/vct/src/Makefile @@ -114,7 +114,7 @@ ifdef STATIC_GMP LDLIBS= -Xlinker -Bstatic -lgmpxx -lgmp -Xlinker -Bdynamic -static-libstdc++ -s else - LDLIBS= -lgmpxx -lgmp + LDLIBS= -Wl,--as-needed -lgmpxx -lgmp -Wl,--no-as-needed endif endif debian/patches/simplifier-no-file_systems.diff0000644000000000000000000000076312253552042016736 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:09:06 +0000 Subject: Do not use nonexistent file_systems module Origin: upstream --- a/simplifier/librarypredicates.pro +++ b/simplifier/librarypredicates.pro @@ -64,7 +64,6 @@ % DEPENDENCIES %############################################################################### -:- use_module(library(file_systems)). :- use_module(library(lists)). :- use_module(library(process)). :- use_module(library(system)). debian/patches/vct-bison-3-fix.diff0000644000000000000000000000072712253552042014305 0ustar --- a/victor/vct/src/parser.yy +++ b/victor/vct/src/parser.yy @@ -653,8 +653,11 @@ ========================================================================== */ void -yy::parser::error (const yy::parser::location_type& l, - const std::string& m) +yy::parser::error ( +#ifdef YY_YY_LOCATION_HH_INCLUDED +const yy::parser::location_type& l, +#endif +const std::string& m) { driver.error (m); // Ignore location, since not maintained in lexer } debian/patches/checker-redefine-flatten.diff0000644000000000000000000000066612253552042016275 0ustar From: Eugeniy Meshcheryakov Subject: Allow to redefine system predicate flatten/2 Forwarded: not-needed --- a/checker/loadvc5.pro +++ b/checker/loadvc5.pro @@ -1862,6 +1862,8 @@ store_vc(MS, L, 1, F1). /*** FLATTEN(OLD, NEW) -- flatten out (& translate) formula ***/ +:- redefine_system_predicate(flatten(_, _)). + flatten((A and B) and C,F) :- flatten(A and (B and C),F), !. flatten((A or B) or C,F) :- debian/patches/checker-remove-close_all_streams.diff0000644000000000000000000001427212253552042020045 0ustar From: Eugeniy Meshcheryakov Subject: Remove all references to close_all_streams/0 in checker This predicate does not exist in SWI prolog and is not needed there. Forwarded: not-needed --- a/checker/checker.pro +++ b/checker/checker.pro @@ -25,8 +25,6 @@ % DEPENDENCIES %############################################################################### -:- use_module(library(file_systems), [close_all_streams/0]). - %############################################################################### % TYPES %############################################################################### @@ -82,7 +80,6 @@ runtime_entry(start):- startup_sequence, - close_all_streams, halt(0), !. %=============================================================================== @@ -94,12 +91,10 @@ buildsav:- zero_defects_reported, save_program('checker.sav'), - close_all_streams, halt(0). buildsav:- report_total_defects, - close_all_streams, halt(1). swisav_checker:- --- a/checker/getdcldat.pro +++ b/checker/getdcldat.pro @@ -200,18 +200,15 @@ write('FAILED: ERROR IN COMMAND LINE SYNTAX'), nl, !, - close_all_streams, halt. process_version:- display_header(user_output), - close_all_streams, halt(0), !. process_help:- display_help(user_output), - close_all_streams, halt(0), !. @@ -242,7 +239,6 @@ write(' does not exist or cannot be read.'), nl, /* CFR014 */ !, /* CFR014 */ - close_all_streams, halt /* CFR014 */ ), /* CFR014 */ !, /* CFR014 */ @@ -261,7 +257,6 @@ write(' does not exist or cannot be read.'), nl, /* CFR014 */ !, /* CFR014 */ - close_all_streams, halt /* CFR014 */ ), /* CFR014 */ !, /* CFR014 */ --- a/checker/infer2.pro +++ b/checker/infer2.pro @@ -432,7 +432,6 @@ write(' does not exist or cannot be read.'), nl, !, - close_all_streams, halt. /*** HAS_MATCHING_RULENAME(FNAME) - there's a rule of chosen name in FNAME ***/ --- a/checker/loadvc5.pro +++ b/checker/loadvc5.pro @@ -57,7 +57,6 @@ ( atom(FILE), FILE = forceexit, - close_all_streams, halt ; done__resume, @@ -179,7 +178,6 @@ perform_script_file(CMDLOG), write('Aborted: Cannot set command_log and execute qualifiers to the same filename.'), nl, - close_all_streams, halt ; true @@ -196,7 +194,6 @@ nl, write('Consider renaming the execute log.'), nl, - close_all_streams, halt ; true @@ -215,7 +212,6 @@ nl, nl, write('File is not writeable.'), - close_all_streams, halt. /* Notify user that file already exists, and ask for solution */ @@ -242,7 +238,6 @@ ) ; ANSWER = no, - close_all_streams, halt ). @@ -835,7 +830,6 @@ write('CANNOT CONTINUE: Proof session terminated.'), nl, !, - close_all_streams, halt. @@ -1212,7 +1206,6 @@ nl, write('*** ABORTED: Prolog variables occur in formula.'), nl, - close_all_streams, halt ), !, @@ -1222,7 +1215,6 @@ nl, write('*** ABORTED: could not restructure above formula.'), nl, - close_all_streams, halt ), !, @@ -1234,7 +1226,6 @@ write('*** ABORTED: above formula did not typecheck as boolean.'), nl, !, - close_all_streams, halt ) ; @@ -1804,7 +1795,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt. --- a/checker/prooflogs.pro +++ b/checker/prooflogs.pro @@ -42,7 +42,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt. write_log :- tell(user), --- a/checker/save.pro +++ b/checker/save.pro @@ -37,7 +37,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt. --- a/checker/setflags.pro +++ b/checker/setflags.pro @@ -62,7 +62,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt ), tell(CLG), /* CFR045 */ --- a/checker/toplevel.pro +++ b/checker/toplevel.pro @@ -41,7 +41,6 @@ asserta(step_number(M)), /* CFR005 */ write_log, /* CFR005 */ set_exit_status, - close_all_streams, halt. /* Check performed in getdcldat to ensure FILE exists and is readable */ --- a/checker/utilities.pro +++ b/checker/utilities.pro @@ -155,7 +155,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt ), tell(L), /* CFR014 */ @@ -425,7 +424,6 @@ write(' cannot be written.'), nl, !, - close_all_streams, halt ), tell(L), /* CFR014 */ debian/patches/victor-use-env-opt-flags.diff0000644000000000000000000000113112253552042016223 0ustar From: Eugeniy Meshcheryakov Subject: Do not set LDFLAGS and CXXFLAGS in victor's Makefile Values from environment variables should be used instead. This allows to use noopt in DEB_BUILD_OPTIONS. --- a/victor/vct/src/Makefile +++ b/victor/vct/src/Makefile @@ -108,19 +108,6 @@ # Expected values of OPT set on make command line are "none", "1", # "2" or "3". -OPT=2 - -ifeq ($(OPT),none) - CXXFLAGS= -g -Wall -else - CXXFLAGS= -g -Wall -O$(OPT) -endif - - -CPPFLAGS= - -LDFLAGS= -Wall - ifdef STATIC_GMP_MAC LDLIBS= /usr/local/lib/libgmpxx.a /usr/local/lib/libgmp.a else debian/patches/simplifier-remove-close_all_streams.diff0000644000000000000000000000440712253552042020603 0ustar From: Eugeniy Meshcheryakov Subject: Remove all references to close_all_streams/0. Forwarded: not-needed --- a/simplifier/ioutilities.pro +++ b/simplifier/ioutilities.pro @@ -444,7 +444,6 @@ % Double line break. format(Stream, '~n~n', []), - close_all_streams, halt(1), !. --- a/simplifier/main_simplifier.pro +++ b/simplifier/main_simplifier.pro @@ -254,7 +254,6 @@ handle_information_request:- get_switch_help(on), display_help(user_output), - close_all_streams, halt(0), !. @@ -262,7 +261,6 @@ handle_information_request:- get_switch_empty(on), display_help(user_output), - close_all_streams, halt(0), !. @@ -270,7 +268,6 @@ handle_information_request:- get_switch_version(on), display_header(user_output), - close_all_streams, halt(0), !. --- a/simplifier/schedulesimplification.pro +++ b/simplifier/schedulesimplification.pro @@ -851,7 +851,6 @@ /* variables get reported as _XXXXX where XXXXX varies between platforms */ /* This causes spurious regression test failures. */ set_exit_status, - close_all_streams, halt, !. @@ -902,7 +901,6 @@ nl, write_offending_predicate(OLD_FORMULA), set_exit_status, - close_all_streams, halt ), !, @@ -918,7 +916,6 @@ write_offending_predicate(OLD_FORMULA), !, set_exit_status, - close_all_streams, halt ) ; --- a/simplifier/simplifier.pro +++ b/simplifier/simplifier.pro @@ -113,7 +113,6 @@ runtime_entry(start):- simplifier_main, save_usage_profile, - close_all_streams, halt(0), !. @@ -174,23 +173,19 @@ buildsav_simplifier:- zero_defects_reported, save_program('spadesimp.sav'), - close_all_streams, halt(0). buildsav_simplifier:- report_total_defects, - close_all_streams, halt(1). buildsav_zombiescope:- zero_defects_reported, save_program('zombiescope.sav'), - close_all_streams, halt(0). buildsav_zombiescope:- report_total_defects, - close_all_streams, halt(1). buildsav_usage_profiled:- debian/patches/simplifier-swi-save.diff0000644000000000000000000000164612253552042015355 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:00:05 +0000 Subject: SWI compatible save goals for simplifier Origin: upstream --- a/simplifier/simplifier.pro +++ b/simplifier/simplifier.pro @@ -205,8 +205,8 @@ % The following are for building with SWI swisav_simplifier:- - report_total_defects, - qsave_program('spadesimp', [autoload(true), goal(simplifier_main), stand_alone(true)]), + zero_defects_reported, + qsave_program('spadesimp', [autoload(true), goal(simplifier_main), stand_alone(false)]), halt(0). swisav_simplifier:- @@ -214,8 +214,8 @@ halt(1). swisav_zombiescope:- - report_total_defects, - qsave_program('zombiescope', [autoload(true), goal(simplifier_main), stand_alone(true)]), + zero_defects_reported, + qsave_program('zombiescope', [autoload(true), goal(simplifier_main), stand_alone(false)]), halt(0). swisav_zombiescope:- debian/patches/checker-no-error-in-read_term.diff0000644000000000000000000000113512253552042017160 0ustar From: Eugeniy Meshcheryakov Subject: Repeat user input on syntax errors This makes using checker *much* easier and is the same thing that SICStus does. Forwarded: not-needed --- a/checker/sicstus.pro +++ b/checker/sicstus.pro @@ -96,7 +96,7 @@ /* In iso language mode, SICSTUS read/1 _doesn't_ consume layout by default, so we */ /* have to use the more flexible read_term/2 */ read_term_and_layout(V) :- - read_term(A, [consume_layout(true)]), + read_term(A, [consume_layout(true), syntax_errors(dec10)]), !, normalize_negative_literals(A, V). debian/patches/checker-pro-suffixes.diff0000644000000000000000000000062712253552042015510 0ustar From: Eugeniy Meshcheryakov Subject: Add missing .pro suffix Forwarded: not-needed --- a/checker/loadsicstus.pro +++ b/checker/loadsicstus.pro @@ -66,7 +66,7 @@ * time. The second clause is included to prevent this. */ -:- [initvals]. /* Dynamic predicates */ +:- ['initvals.pro']. /* Dynamic predicates */ /* _After_ all dynamic predicates have been introduced, we need */ debian/patches/checker-SWI-and-SICSTUS-need-portray-and-portrayed-respective.diff0000644000000000000000000000546512253552042024745 0ustar From: Eugeniy Meshcheryakov Subject: Use portray(true) in calls to write_term Forwarded: not-needed --- a/checker/portray.pro +++ b/checker/portray.pro @@ -57,7 +57,7 @@ AP > Pred ), write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; ( @@ -67,7 +67,7 @@ F \= xfx, AP =< Pred /* not case 2 */ ), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), write(' '), write(Name_Atom), @@ -80,11 +80,11 @@ /* For example, we want "A + (B + C)" NOT "A + B + C" */ BP >= Pred, write('('), - write_term(B, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(B, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; BP < Pred, - write_term(B, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(B, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), !. @@ -108,11 +108,11 @@ /* Term, then we need to parenthesize A */ AP >= Pred, write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; AP < Pred, - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), !. @@ -134,11 +134,11 @@ /* we need to parenthesize A */ AP > Pred, write('('), - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]), + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]), write(')') ; AP =< Pred, - write_term(A, [priority(Pred), portrayed(true), numbervars(true)]) + write_term(A, [priority(Pred), portrayed(true), portray(true), numbervars(true)]) ), write(' '), write(Name_Atom), --- a/checker/sicstus.pro +++ b/checker/sicstus.pro @@ -206,7 +206,7 @@ ). printq(X) :- - write_term(X, [portrayed(true), quoted(true), numbervars(true)]). + write_term(X, [portrayed(true), portray(true), quoted(true), numbervars(true)]). /* This duplicates the poplog version of numbervars/3. The sicstus version unifies */ /* the variables with letters of the alphabet, whereas poplog uses _ */ debian/patches/checker-seeing-fixes.diff0000644000000000000000000000126712253552042015445 0ustar From: Eugeniy Meshcheryakov Subject: Do not use seeing(user) Such calls cause an exception with SWI prolog. Forwarded: not-needed --- a/checker/toplevel.pro +++ b/checker/toplevel.pro @@ -54,7 +54,7 @@ write_check_prompt :- /* CFR015 */ - seeing(user), /* CFR015 */ + seeing(Stream), Stream = user, /* CFR015 */ prompt_user('CHECK|:'), /* CFR015 */ !. /* CFR015 */ write_check_prompt :- /* CFR015 */ debian/patches/simplifier-pro-suffixes.diff0000644000000000000000000000224612253552042016246 0ustar From: Eugeniy Meshcheryakov Subject: Add missing .pro suffixes Forwarded: not-needed --- a/simplifier/load__switches.pro +++ b/simplifier/load__switches.pro @@ -104,7 +104,7 @@ parse_atom/5, parse_atom_silent/4]). -:- use_module('data__system', +:- use_module('data__system.pro', [get_system_toolname/1]). %############################################################################### --- a/simplifier/usage_utilities.pro +++ b/simplifier/usage_utilities.pro @@ -32,7 +32,7 @@ :- use_module(gauge_simplifier, [view/1]). -:- use_module(data__switches, +:- use_module('data__switches.pro', [get_switch_usage/1]). :- use_module(library(file_systems)). --- a/simplifier/data__vcg.pro +++ b/simplifier/data__vcg.pro @@ -66,7 +66,7 @@ :- use_module('data__data_files.pro', [must_get_datafiles_debug/2]). -:- use_module('data__switches', [get_switch_deadpaths/1, +:- use_module('data__switches.pro', [get_switch_deadpaths/1, get_switch_hyp_limit/1]). %############################################################################### debian/patches/ada-use-evn-optflags.diff0000644000000000000000000000121412253552042015367 0ustar From: Eugeniy Meshcheryakov Subject: Use ADA_OPT environment variable ADA_OPT contains optimization switches for Ada compiller. This allows to use noopt in DEB_BUILD_OPTIONS Forwarded: not-needed --- a/common/Makefile.inc +++ b/common/Makefile.inc @@ -84,7 +84,7 @@ # Common compiler options. COMMON_OPTS:=-g -gnatwae -gnat05 -gnatwl -gnaty3abefhiklnprt -I${CUSTOMER_LIB} -I${COMMON}/versioning -I${ROOT}/examiner -gnatf -k -GNATMAKE_OPTS:=${COMMON_OPTS} -O2 -fno-strict-aliasing +GNATMAKE_OPTS:=${COMMON_OPTS} ${ADA_OPT} -fno-strict-aliasing BIND_OPTS:=-E # Override compiler options for debug. No optimization, plus full debian/patches/simplifier-unexistent-units.diff0000644000000000000000000000275212253552042017164 0ustar From: Eugeniy Meshcheryakov Subject: Do not to import library file_systems and close_all_streams/0 Forwarded: not-needed --- a/simplifier/ioutilities.pro +++ b/simplifier/ioutilities.pro @@ -58,8 +58,6 @@ toolset_banner_line/1, toolset_distribution/1]). -:- use_module(library(file_systems), [close_all_streams/0]). - %############################################################################### % TYPES %############################################################################### --- a/simplifier/librarypredicates.pro +++ b/simplifier/librarypredicates.pro @@ -44,7 +44,6 @@ %############################################################################### :- module(librarypredicates, [%file_systems. - close_all_streams/0, file_exists/1, rename_file/2, --- a/simplifier/usage_utilities.pro +++ b/simplifier/usage_utilities.pro @@ -35,7 +35,6 @@ :- use_module('data__switches.pro', [get_switch_usage/1]). -:- use_module(library(file_systems)). %############################################################################### % TYPES --- a/simplifier/main_simplifier.pro +++ b/simplifier/main_simplifier.pro @@ -80,7 +80,6 @@ :- use_module('librarypredicates.pro', [file_exists/1, - close_all_streams/0, rename_file/2, last/2, list_to_set/2, debian/patches/simplifier-defectreporting.diff0000644000000000000000000000145712253552042017003 0ustar From: Eugeniy Meshcheryakov Subject: Fix order of arguments in message_hook/3. Forwarded: not-needed --- a/simplifier/defectreporting.pro +++ b/simplifier/defectreporting.pro @@ -57,7 +57,7 @@ %=============================================================================== % Report errors and warnings, and count these as defects. -message_hook(Severity, _Message, Lines):- +message_hook(_Message, Severity, Lines):- member(Severity,[error, warning]), increase_defect_counter, @@ -68,7 +68,7 @@ % Report all other messages, but do not separate these with blank lines nor % count these as defects. -message_hook(Severity, _Message, Lines):- +message_hook(_Message, Severity, Lines):- !. %------------------------------------------------------------------------------- debian/patches/victor-no-static-gmp.diff0000644000000000000000000000070112253552042015433 0ustar From: Eugeniy Meshcheryakov Subject: Do not link gmp statically --- a/victor/Makefile +++ b/victor/Makefile @@ -60,7 +60,7 @@ ifeq (${TARGET},Darwin) $(MAKE) -C ${VICTOR}/src CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS} STATIC_GMP_MAC=1 else - $(MAKE) -C ${VICTOR}/src CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS} STATIC_GMP=1 + $(MAKE) -C ${VICTOR}/src CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS} endif ${ALT_ERGO}-target: ${ALT_ERGO} debian/patches/checker-environment.diff0000644000000000000000000001111112253552042015410 0ustar From: Eugeniy Meshcheryakov Subject: Look for checker files under /usr/share/spark/checker Forwarded: not-needed --- a/checker/sicstus.pro +++ b/checker/sicstus.pro @@ -183,81 +183,27 @@ /* with POPLOG-built checkers. */ /************************************************************************/ fetch_environment_variables :- - current_prolog_flag(system_type, runtime), - !, - environ('SP_APP_DIR', CHECKER_ROOT), - atom_codes(CHECKER_ROOT, CR), - ( - environ('SPADE_CHECKER', RULES_PATH), - atom_codes(RULES_PATH, RULES_PATH_STR), - append(RULES_PATH_STR, "/", RULES_PATH_STR2), - assertz(spade_checker_prefix(RULES_PATH_STR2)) - ; - \+ environ('SPADE_CHECKER', _Y), - append(CR, "/../lib/checker/rules/", RULES_PATH), - assertz(spade_checker_prefix(RULES_PATH)) - ), - ( - environ('SPADE_CHKHELP', HELP_PATH), - atom_codes(HELP_PATH, HELP_PATH_STR), - append(HELP_PATH_STR, "/", HELP_PATH_STR2), - assertz(spade_chkhelp_prefix(HELP_PATH_STR2)) - ; - \+ environ('SPADE_CHKHELP', _Y), - append(CR, "/../lib/checker/helptext/", HELP_PATH), - assertz(spade_chkhelp_prefix(HELP_PATH)) - ). - - - -/************************************************************************/ -/* For a development build of the checker, the environment variable */ -/* SPADE_CHECKER may be used to override the default. The default is */ -/* $CWD/../../customer/rules/ where $CWD is the current working */ -/* directory - the normal place for rules to be located relative to the */ -/* checker source code. */ -/* */ -/* Help files are similarly located in $CWD/../../customer/helptext/ */ -/* by default but this may also be overridden by setting SPADE_CHKHELP */ -/* */ -/* This version also reports its action to the standard output for */ -/* convenicence and debugging */ -/************************************************************************/ -fetch_environment_variables :- - current_prolog_flag(system_type, development), - !, - environ('SP_APP_DIR', CHECKER_ROOT), - working_directory(CWD, CWD), - atom_codes(CWD, CR), - print('!!! This is a SICSTUS Development System'), nl, - print('!!! SP_APP_DIR is '), print(CHECKER_ROOT), nl, - print('!!! CWD is '), print(CWD), nl, - ( - environ('SPADE_CHECKER', RULES_PATH), - print('!!! Rules in '), print(RULES_PATH), nl, - atom_codes(RULES_PATH, RULES_PATH_STR), - append(RULES_PATH_STR, "/", RULES_PATH_STR2), - assertz(spade_checker_prefix(RULES_PATH_STR2)) - ; - \+ environ('SPADE_CHECKER', _X), - append(CR, "/../../customer/rules/", RULES_PATH), - atom_codes(RP_STR, RULES_PATH), - print('!!! Rules in '), print(RP_STR), nl, - assertz(spade_checker_prefix(RULES_PATH)) - ), - ( - environ('SPADE_CHKHELP', HELP_PATH), - print('!!! Help in '), print(HELP_PATH), nl, - atom_codes(HELP_PATH, HELP_PATH_STR), - append(HELP_PATH_STR, "/", HELP_PATH_STR2), - assertz(spade_chkhelp_prefix(HELP_PATH_STR2)) - ; - \+ environ('SPADE_CHKHELP', _Y), - append(CR, "/../../customer/helptext/", HELP_PATH), - atom_codes(HP_STR, HELP_PATH), - print('!!! Help in '), print(HP_STR), nl, - assertz(spade_chkhelp_prefix(HELP_PATH)) - ). + CR = "/usr/bin", + ( + getenv('SPADE_CHECKER', RULES_PATH), + atom_codes(RULES_PATH, RULES_PATH_STR), + append(RULES_PATH_STR, "/", RULES_PATH_STR2), + assertz(spade_checker_prefix(RULES_PATH_STR2)) + ; + \+ getenv('SPADE_CHECKER', _Y), + append(CR, "/../share/spark/checker/rules/", RULES_PATH), + assertz(spade_checker_prefix(RULES_PATH)) + ), + ( + getenv('SPADE_CHKHELP', HELP_PATH), + atom_codes(HELP_PATH, HELP_PATH_STR), + append(HELP_PATH_STR, "/", HELP_PATH_STR2), + assertz(spade_chkhelp_prefix(HELP_PATH_STR2)) + ; + \+ getenv('SPADE_CHKHELP', _Y), + append(CR, "/../share/spark/checker/helptext/", HELP_PATH), + assertz(spade_chkhelp_prefix(HELP_PATH)) + ). printq(X) :- write_term(X, [portrayed(true), quoted(true), numbervars(true)]). debian/patches/series0000644000000000000000000000212212253552042012027 0ustar debian-architecture-detect.diff examiner-architecture-bits.diff checker-makefile.diff checker-swi-prolog.diff checker-predefined-predicates.diff checker-environment.diff checker-pro-suffixes.diff checker-redefine-flatten.diff checker-swi-save.diff checker-remove-close_all_streams.diff checker-seeing-fixes.diff checker-SWI-and-SICSTUS-need-portray-and-portrayed-respective.diff checker-no-error-in-read_term.diff no-alt-ergo.diff victor-no-static-gmp.diff simplifier-swi-save.diff simplifier-makefile.diff simplifier-library-lists-instead-of-sets.diff simplifier-no-file_systems.diff simplifier-use-lists.diff simplifier-misc.diff simplifier-clean.diff simplifier-SWI-and-SICSTUS-need-portray-and-portrayed-respective.diff simplifier-further-byte-for-byte-fixes.diff simplifier-defectreporting.diff simplifier-pro-suffixes.diff simplifier-undefined-exports.diff simplifier-unexistent-units.diff simplifier-remove-close_all_streams.diff victor-use-env-opt-flags.diff ada-use-evn-optflags.diff victor-gmpxx-as-needed.diff ada-link-env-flags.diff swi-prolog-settings-module-conflict.pro vct-bison-3-fix.diff debian/patches/simplifier-use-lists.diff0000644000000000000000000000104712253552042015542 0ustar From: Florian Schanda Date: Tue, 15 Mar 2011 20:09:42 +0000 Subject: Use module lists for member/2 Origin: upstream --- a/simplifier/defectreporting.pro +++ b/simplifier/defectreporting.pro @@ -30,6 +30,8 @@ % DEPENDENCIES %############################################################################### +:- use_module(library(lists)). + %############################################################################### % TYPES %############################################################################### debian/patches/simplifier-undefined-exports.diff0000644000000000000000000000161312253552042017254 0ustar From: Eugeniy Meshcheryakov Subject: Do not try to export undefined predicates --- a/simplifier/data__conc.pro +++ b/simplifier/data__conc.pro @@ -26,7 +26,6 @@ %############################################################################### :- module(data__conc, [add_conc/3, - add_conc_min_id/4, add_conc_with_id/3, get_conc/3, replace_conc/4, --- a/simplifier/data__pfs.pro +++ b/simplifier/data__pfs.pro @@ -37,9 +37,7 @@ get_pfs_traversal_condition/3, add_pfs_traversal_condition/3, get_pfs_action/2, - add_pfs_action/2, - - save_data__pfs/0]). + add_pfs_action/2]). %############################################################################### debian/source/0000755000000000000000000000000012253552042010466 5ustar debian/source/format0000644000000000000000000000001412253552042011674 0ustar 3.0 (quilt) debian/spark.manpages0000644000000000000000000000030512253552042012021 0ustar debian/man/pogs.1 debian/man/spadesimp.1 debian/man/spark.1 debian/man/sparkformat.1 debian/man/sparkmake.1 debian/man/sparksimp.1 debian/man/victor.1 debian/man/zombiescope.1 debian/man/checker.1 debian/spark.lintian-overrides0000644000000000000000000000005412253552042013665 0ustar spark: description-starts-with-package-name