Import of lbtt 1.0.3
This commit is contained in:
parent
06226f3227
commit
15618b84ea
68 changed files with 3988 additions and 3257 deletions
|
|
@ -1,3 +1,70 @@
|
|||
2004-02-13 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* src/BitArray.{h,cc}, src/BuchiAutomaton.{h,cc},
|
||||
src/Configuration.{h,cc}, src/DispUtil.{h,cc},
|
||||
src/ExternalTranslator.{h,cc}, src/FormulaRandomizer.{h,cc},
|
||||
src/LtlFormula.{h,cc}, src/NeverClaimAutomaton.{h,cc},
|
||||
src/PathEvaluator.{h,cc}, src/PathIterator.{h,cc},
|
||||
src/ProductAutomaton.{h,cc}, src/SpinWrapper.{h,cc},
|
||||
src/StatDisplay.{h,cc}, src/StateSpace.{h,cc},
|
||||
src/StateSpaceRandomizer.{h,cc}, src/StringUtil.{h,cc},
|
||||
src/TestOperations.{h,cc}, src/TestStatistics.{h,cc},
|
||||
src/translate.{h,cc}, src/UserCommandReader.{h,cc},
|
||||
src/UserCommands.{h,cc}: Remove all #pragmas.
|
||||
|
||||
2004-02-12 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* doc/texinfo.tex: New upstream version.
|
||||
|
||||
* doc/lbtt.texi: Update edition to 1.0.2.
|
||||
Remove node names with commands to fix dvi file generation.
|
||||
Move the node about the lbtt-translate utility to correct menu.
|
||||
Reformat the automata file format section to avoid overfull lines
|
||||
in dvi generation.
|
||||
Fix description of the Algorithm block used with lbtt-translate.
|
||||
|
||||
* doc/testprocedure.txt, doc/intersectioncheck.txt: Add initial
|
||||
newlines.
|
||||
|
||||
2004-02-11 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* src/UserCommandReader.cc [HAVE_ISATTY]: Include the unistd.h
|
||||
header.
|
||||
(executeUserCommands) Stop waiting for new commands if an EOF is
|
||||
detected. [HAVE_ISATTY]: If standard input is not connected to a
|
||||
terminal, echo the input line.
|
||||
|
||||
2004-02-10 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* configure.ac: Remove duplicate checks for headers.
|
||||
(GLIBC_OBSTACK_WORKAROUND): New config.h macro for checking for a
|
||||
version of the obstack.h header that requires a workaround to be
|
||||
compiled with g++.
|
||||
Add check for the `isatty' library function.
|
||||
Include the stdio.h header when testing for readline libraries.
|
||||
|
||||
* src/Alloc.h: Rename to LbttAlloc.h to avoid a name conflict with
|
||||
system header files on Darwin.
|
||||
[GLIBC_OBSTACK_WORKAROUND] (__INT_TO_PTR): Redefine macro to
|
||||
work around a C++ bug in the obstack.h header file in glibc 2.3.2.
|
||||
Thanks to Alexandre Duret-Lutz for the original patch.
|
||||
|
||||
* src/BuchiAutomaton.h, src/Configuration.h, src/DispUtil.cc,
|
||||
src/ExternalTranslator.h, src/FormulaRandomizer.h, src/Graph.h.in,
|
||||
src/LtlFormula.h, src/main.cc, src/Makefile.am,
|
||||
src/NeverClaimAutomaton.h, src/PathEvaluator.h,
|
||||
src/ProductAutomaton.h, src/SccIterator.h, src/SharedTestData.h,
|
||||
src/StatDisplay.h, src/StateSpace.h, src/StateSpaceRandomizer.cc,
|
||||
src/StringUtil.h, src/TestOperations.h, src/TestRoundInfo.h,
|
||||
src/TestStatistics.h, src/UserCommandReader.h,
|
||||
src/UserCommands.h: Adjust includes.
|
||||
|
||||
* Update copyright information in source files.
|
||||
|
||||
2003-07-04 Alexandre Duret-Lutz <aduret@src.lip6.fr>
|
||||
|
||||
* src/Config-parse.yy: Remove stray `,' in %token arguments.
|
||||
|
||||
2003-07-18 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* UserCommands.cc (printAutomatonAnalysisResults): Ensure that
|
||||
|
|
|
|||
12
lbtt/NEWS
12
lbtt/NEWS
|
|
@ -1,5 +1,5 @@
|
|||
lbtt NEWS -- history of user-visible changes. 18 Jul 2003
|
||||
Copyright (C) 2003 Heikki Tauriainen
|
||||
lbtt NEWS -- history of user-visible changes. 13 Feb 2004
|
||||
Copyright (C) 2004 Heikki Tauriainen
|
||||
|
||||
Permission is granted to anyone to make or distribute verbatim copies
|
||||
of this document as received, in any medium, provided that the
|
||||
|
|
@ -12,6 +12,14 @@ Copyright (C) 2003 Heikki Tauriainen
|
|||
|
||||
Please send bug reports to <heikki.tauriainen@hut.fi>.
|
||||
|
||||
Version 1.0.3
|
||||
|
||||
* This release fixes several compilation issues with GNU libc 2.3.2
|
||||
and Darwin, and documentation generation in dvi format. A problem
|
||||
with reading user commands from a source that is not a terminal was
|
||||
also fixed. Many thanks to Alexandre Duret-Lutz for patches and
|
||||
useful suggestions.
|
||||
|
||||
Version 1.0.2
|
||||
|
||||
* Bug fix release.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
lbtt version 1.0.2
|
||||
lbtt version 1.0.3
|
||||
------------------
|
||||
|
||||
lbtt is a tool for testing programs that translate formulas
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.53])
|
||||
AC_INIT([lbtt], [1.0.2], [heikki.tauriainen@hut.fi])
|
||||
AC_REVISION([Revision: 1.2])
|
||||
AC_INIT([lbtt], [1.0.3], [heikki.tauriainen@hut.fi])
|
||||
AC_REVISION([Revision: 1.3])
|
||||
AC_CONFIG_SRCDIR([src/main.cc])
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_CONFIG_HEADER([config.h])
|
||||
|
|
@ -37,7 +37,7 @@ AC_ARG_WITH([readline],
|
|||
# Check for the availability of headers.
|
||||
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([fcntl.h obstack.h stdlib.h unistd.h])
|
||||
AC_CHECK_HEADERS([fcntl.h])
|
||||
|
||||
# Check for the availability of the GNU readline headers.
|
||||
|
||||
|
|
@ -51,6 +51,22 @@ fi
|
|||
|
||||
AC_LANG([C++])
|
||||
|
||||
# Check for the availability of the obstack.h header. GNU libc 2.3.2 includes a
|
||||
# version of this header that cannot be compiled using g++; enable a workaround
|
||||
# if necessary.
|
||||
|
||||
AC_CHECK_HEADERS([obstack.h],
|
||||
[AC_MSG_CHECKING([whether obstack.h compilation workaround is needed])
|
||||
AC_TRY_COMPILE([#include <obstack.h>],
|
||||
[#if __GLIBC__ == 2 && __GLIBC_MINOR__ == 3
|
||||
obstack_alloc(0, 0);
|
||||
#endif],
|
||||
[AC_MSG_RESULT([no])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([GLIBC_OBSTACK_WORKAROUND],
|
||||
[1],
|
||||
[Define to 1 to enable an obstack.h C++ compilation workaround for GNU libc 2.3.])])])
|
||||
|
||||
# Check for the availablility of the sstream or strstream header.
|
||||
|
||||
AC_CHECK_HEADERS([sstream],
|
||||
|
|
@ -131,11 +147,11 @@ AC_C_INLINE
|
|||
# Checks for library functions.
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
AC_CHECK_FUNCS([mkdir strchr strtod strtol strtoul getopt_long])
|
||||
AC_CHECK_FUNCS([mkdir strchr strtod strtol strtoul getopt_long isatty])
|
||||
if test x"${ac_cv_func_getopt_long}" = xno; then
|
||||
AC_LIBOBJ([getopt])
|
||||
AC_LIBOBJ([getopt1])
|
||||
AC_CHECK_HEADERS([libintl.h string.h strings.h])
|
||||
AC_CHECK_HEADERS([libintl.h])
|
||||
AC_CHECK_FUNCS([memset])
|
||||
fi
|
||||
|
||||
|
|
@ -147,7 +163,8 @@ if test "${readline}" = yes; then
|
|||
for READLINELIBS in "-lreadline" "-lreadline -lcurses" "-lreadline -ltermcap" error; do
|
||||
if test "${READLINELIBS}" != error; then
|
||||
LIBS="${oldlibs} ${READLINELIBS}"
|
||||
AC_TRY_LINK([#include <${rl_history_h}>
|
||||
AC_TRY_LINK([#include <stdio.h>
|
||||
#include <${rl_history_h}>
|
||||
#include <${rl_readline_h}>],
|
||||
[using_history(); readline(""); add_history("");],
|
||||
[break])
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
: LTL formula `f' :_____ : Negated LTL formula `!f' :
|
||||
'''''''T''''''T'''' \ ___'''''''T'''''''''''T''''''''
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
This file documents how to use the LTL-to-B@"uchi
|
||||
translator testbench @command{lbtt}.
|
||||
|
||||
Copyright @copyright{} 2003 Heikki Tauriainen
|
||||
Copyright @copyright{} 2004 Heikki Tauriainen
|
||||
@ifinfo
|
||||
@email{heikki.tauriainen@@hut.fi}
|
||||
@end ifinfo
|
||||
|
|
@ -68,7 +68,7 @@ under the above conditions for modified versions.
|
|||
@author Heikki Tauriainen <@email{heikki.tauriainen@@hut.fi}>
|
||||
@page
|
||||
@vskip 0pt plus 1filll
|
||||
Copyright @copyright{} 2003 Heikki Tauriainen
|
||||
Copyright @copyright{} 2004 Heikki Tauriainen
|
||||
<@email{heikki.tauriainen@@hut.fi}>
|
||||
|
||||
The latest version of this manual can be obtained from@*
|
||||
|
|
@ -103,7 +103,7 @@ under the above conditions for modified versions.
|
|||
for translating propositional linear temporal logic formulas into
|
||||
B@"uchi automata.
|
||||
|
||||
This is edition 1.0.1 of the @command{lbtt} documentation. This edition
|
||||
This is edition 1.0.2 of the @command{lbtt} documentation. This edition
|
||||
applies to @command{lbtt} versions 1.0.x.
|
||||
|
||||
@command{lbtt} is free software, you may change and redistribute it
|
||||
|
|
@ -122,10 +122,8 @@ comes with NO WARRANTY. See @ref{Copying} for details.
|
|||
* Analyzing test results:: Working with @command{lbtt}'s internal
|
||||
commands.
|
||||
|
||||
* Interfacing with @command{lbtt}:: Interfacing LTL-to-B@"uchi translators
|
||||
* Interfacing with lbtt:: Interfacing LTL-to-B@"uchi translators
|
||||
with @command{lbtt}.
|
||||
* The @command{lbtt-translate} utility:: An interface for two LTL-to-B@"uchi
|
||||
translators.
|
||||
|
||||
* References:: List of references.
|
||||
|
||||
|
|
@ -271,7 +269,7 @@ for more information.
|
|||
formulas in the same state space using
|
||||
an LTL-to-B@"uchi translator should
|
||||
give consistent results.
|
||||
* B@"uchi automata intersection emptiness check::
|
||||
* Automata intersection emptiness check::
|
||||
The intersection of the languages
|
||||
accepted by two B@"uchi automata
|
||||
constructed from two complementary
|
||||
|
|
@ -1129,16 +1127,9 @@ and the model checking result consistency check
|
|||
on the model checking results, and reports all detected failures.
|
||||
|
||||
The B@"uchi automata intersection emptiness check
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check})
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check})
|
||||
@end iftex
|
||||
operates as follows
|
||||
(note that the LTL-to-B@"uchi translation phase is repeated in this figure
|
||||
only for completeness; in reality, @command{lbtt} performs this phase only
|
||||
once):
|
||||
(@pxref{Automata intersection emptiness check}) operates as follows (note that
|
||||
the LTL-to-B@"uchi translation phase is repeated in this figure only for
|
||||
completeness; in reality, @command{lbtt} performs this phase only once):
|
||||
@ifhtml
|
||||
@*
|
||||
@end ifhtml
|
||||
|
|
@ -1207,7 +1198,7 @@ providing an additional implementation to include in the tests.
|
|||
|
||||
|
||||
|
||||
@node Model checking result consistency check, B@"uchi automata intersection emptiness check, Model checking result cross-comparison test, Test methods
|
||||
@node Model checking result consistency check, Automata intersection emptiness check, Model checking result cross-comparison test, Test methods
|
||||
@section Model checking result consistency check
|
||||
|
||||
@cindex model checking result consistency check
|
||||
|
|
@ -1245,9 +1236,8 @@ section.
|
|||
@end iftex
|
||||
|
||||
|
||||
@node B@"uchi automata intersection emptiness check, , Model checking result consistency check, Test methods
|
||||
@section B@"uchi automata intersection emptiness check
|
||||
@anchor{Automata intersection emptiness check}
|
||||
@node Automata intersection emptiness check, , Model checking result consistency check, Test methods
|
||||
@section Automata intersection emptiness check
|
||||
|
||||
@cindex B@"uchi automata intersection emptiness check
|
||||
@cindex tests, B@"uchi automata intersection emptiness check
|
||||
|
|
@ -1361,21 +1351,21 @@ section specifying an LTL-to-B@"uchi translator. The other sections
|
|||
are optional and can be used to override the default testing parameters.
|
||||
|
||||
@menu
|
||||
* @samp{Algorithm} section:: Each LTL-to-B@"uchi translator to be
|
||||
* Algorithm section:: Each LTL-to-B@"uchi translator to be
|
||||
tested requires a separate
|
||||
@samp{Algorithm} section in the
|
||||
configuration file.
|
||||
* @samp{GlobalOptions} section:: Options for changing the general
|
||||
* GlobalOptions section:: Options for changing the general
|
||||
behavior of @command{lbtt}.
|
||||
* @samp{FormulaOptions} section:: Options controlling the way random
|
||||
* FormulaOptions section:: Options controlling the way random
|
||||
LTL formulas are generated.
|
||||
* @samp{StateSpaceOptions} section:: Options controlling the way random
|
||||
* StateSpaceOptions section:: Options controlling the way random
|
||||
state spaces are generated.
|
||||
* Sample configuration file:: An example of a configuration file.
|
||||
@end menu
|
||||
|
||||
|
||||
@node @samp{Algorithm} section, @samp{GlobalOptions} section, Configuration file, Configuration file
|
||||
@node Algorithm section, GlobalOptions section, Configuration file, Configuration file
|
||||
@subsection The @samp{Algorithm} section
|
||||
|
||||
@cindex configuration file, @samp{Algorithm} section
|
||||
|
|
@ -1439,7 +1429,7 @@ which is used to run the translator.
|
|||
|
||||
|
||||
|
||||
@node @samp{GlobalOptions} section, @samp{FormulaOptions} section, @samp{Algorithm} section, Configuration file
|
||||
@node GlobalOptions section, FormulaOptions section, Algorithm section, Configuration file
|
||||
@subsection The @samp{GlobalOptions} section
|
||||
|
||||
@cindex configuration file, @samp{GlobalOption} section
|
||||
|
|
@ -1488,14 +1478,8 @@ The default value for this option is @samp{Always}.
|
|||
@findex IntersectionCheck @r{[}GlobalOptions@r{]}
|
||||
@findex IntersectionTest @r{[}GlobalOptions@r{]}
|
||||
This option can be used to enable or disable the B@"uchi automata intersection
|
||||
emptiness check
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check}).
|
||||
@end iftex
|
||||
The test is enabled by default.
|
||||
emptiness check (@pxref{Automata intersection emptiness check}). The test is
|
||||
enabled by default.
|
||||
|
||||
@item ModelCheck = Local @r{|} Global
|
||||
@findex ModelCheck @r{[}GlobalOptions@r{]}
|
||||
|
|
@ -1531,7 +1515,7 @@ the value results in more output. The default value is 3.
|
|||
|
||||
|
||||
|
||||
@node @samp{FormulaOptions} section, @samp{StateSpaceOptions} section, @samp{GlobalOptions} section, Configuration file
|
||||
@node FormulaOptions section, StateSpaceOptions section, GlobalOptions section, Configuration file
|
||||
@subsection The @samp{FormulaOptions} section
|
||||
|
||||
@cindex configuration file, @samp{FormulaOptions} section
|
||||
|
|
@ -1796,7 +1780,7 @@ option has no effect if @samp{AbbreviatedOperators} is set to @samp{No}.)
|
|||
|
||||
|
||||
|
||||
@node @samp{StateSpaceOptions} section, Sample configuration file, @samp{FormulaOptions} section, Configuration file
|
||||
@node StateSpaceOptions section, Sample configuration file, FormulaOptions section, Configuration file
|
||||
@subsection The @samp{StateSpaceOptions} section
|
||||
|
||||
@cindex configuration file, @samp{StateSpaceOptions} section
|
||||
|
|
@ -1867,12 +1851,7 @@ the generated state spaces. The default value is 5.
|
|||
|
||||
Usually this should probably be the same as the maximum number of
|
||||
different atomic propositions in the generated formulas
|
||||
@ifnottex
|
||||
(@pxref{@samp{FormulaOptions} section}).
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(see the previous section).
|
||||
@end iftex
|
||||
(@pxref{FormulaOptions section}).
|
||||
If the number of propositions attached to each state of
|
||||
the state spaces is less than the maximum number of different propositions that
|
||||
may occur in the generated formulas, all ``extra'' propositions in the formulas
|
||||
|
|
@ -1916,7 +1895,7 @@ in any state of the state space. Note: This option has no effect if
|
|||
@end table
|
||||
|
||||
|
||||
@node Sample configuration file, , @samp{StateSpaceOptions} section, Configuration file
|
||||
@node Sample configuration file, , StateSpaceOptions section, Configuration file
|
||||
@subsection Sample configuration file
|
||||
|
||||
@cindex configuration file, example
|
||||
|
|
@ -2211,13 +2190,7 @@ between test rounds to wait for user input.
|
|||
@vindex --intersectiontest
|
||||
@vindex --nointersectiontest
|
||||
These options enable or disable the B@"uchi automata intersection emptiness
|
||||
check
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check}).
|
||||
@end iftex
|
||||
check (@pxref{Automata intersection emptiness check}).
|
||||
|
||||
@item --localmodelcheck
|
||||
@vindex --localmodelcheck
|
||||
|
|
@ -2545,7 +2518,7 @@ This option can be used to change the size of the generated state spaces.
|
|||
@vindex --truthprobability
|
||||
This option sets the probability that @command{lbtt} uses for choosing the
|
||||
valuation for each atomic proposition in each state of the randomly generated
|
||||
state spaces. (This option has no effect is using enumerated paths as state
|
||||
state spaces. (This option has no effect if using enumerated paths as state
|
||||
spaces.)
|
||||
|
||||
@end table
|
||||
|
|
@ -2753,12 +2726,7 @@ The output of phases 4---8 will be repeated for each implementation included in
|
|||
the tests. After this @command{lbtt} proceeds to the model checking result
|
||||
cross-comparison test (@pxref{Model checking result cross-comparison test}) and
|
||||
the B@"uchi automata intersection emptiness test
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check}).
|
||||
@end iftex
|
||||
|
||||
The model checking result cross-comparison test might result in the following
|
||||
output:
|
||||
|
|
@ -2886,13 +2854,8 @@ state of the state space).
|
|||
|
||||
@item
|
||||
Number of failures in the B@"uchi automata intersection emptiness check
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check})
|
||||
@end iftex
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check})
|
||||
@end ifnottex
|
||||
for each pair of implementations.
|
||||
(@pxref{Automata intersection emptiness check}) for each pair of
|
||||
implementations.
|
||||
@end itemize
|
||||
|
||||
Note that the pairwise inconsistency results form a symmetric matrix (although
|
||||
|
|
@ -2908,7 +2871,7 @@ and all LTL formulas used in the tests.
|
|||
|
||||
|
||||
|
||||
@node Analyzing test results, Interfacing with @command{lbtt}, Interpreting the output, Top
|
||||
@node Analyzing test results, Interfacing with lbtt, Interpreting the output, Top
|
||||
@chapter Analyzing test results
|
||||
|
||||
This chapter documents how to use @command{lbtt}'s internal commands to
|
||||
|
|
@ -3217,12 +3180,7 @@ automata correctness tests. The second part describes the conventions that
|
|||
@cindex failure analysis, B@"uchi automata intersection check
|
||||
@cindex analyzing test failures, B@"uchi automata intersection emptiness check
|
||||
Analyze a failure in the B@"uchi automata intersection emptiness check
|
||||
@ifnottex
|
||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
||||
@end ifnottex
|
||||
@iftex
|
||||
(@pxref{Automata intersection emptiness check}).
|
||||
@end iftex
|
||||
The two implementation identifiers select the B@"uchi automata for which
|
||||
to perform the analysis. The B@"uchi automata intersection emptiness
|
||||
check always involves automata constructed from the positive and the negative
|
||||
|
|
@ -3463,7 +3421,7 @@ which can be seen from the proof.
|
|||
|
||||
|
||||
|
||||
@node Interfacing with @command{lbtt}, The @command{lbtt-translate} utility, Analyzing test results, Top
|
||||
@node Interfacing with lbtt, References, Analyzing test results, Top
|
||||
@chapter Interfacing LTL-to-B@"uchi translators with @command{lbtt}
|
||||
|
||||
@cindex LTL-to-B@"uchi translators, interfacing with
|
||||
|
|
@ -3472,12 +3430,7 @@ which can be seen from the proof.
|
|||
This chapter gives the details on how to use @command{lbtt} for
|
||||
testing LTL-to-B@"uchi translation algorithm implementations that are not
|
||||
supported by the basic distribution. (See
|
||||
@ifnottex
|
||||
@ref{The @command{lbtt-translate} utility}
|
||||
@end ifnottex
|
||||
@iftex
|
||||
the next chapter
|
||||
@end iftex
|
||||
@ref{The lbtt-translate utility}
|
||||
for information on how to connect several publicly available
|
||||
LTL-to-B@"uchi translator implementations to @command{lbtt}.)
|
||||
|
||||
|
|
@ -3486,12 +3439,14 @@ LTL-to-B@"uchi translator implementations to @command{lbtt}.)
|
|||
LTL-to-B@"uchi translator.
|
||||
* Format for LTL formulas:: How @command{lbtt} passes LTL formulas
|
||||
to the translators.
|
||||
* B@"uchi automata:: How @command{lbtt} expects the translators
|
||||
* Format for automata:: How @command{lbtt} expects the translators
|
||||
to present their output.
|
||||
* The lbtt-translate utility:: An interface for two LTL-to-B@"uchi
|
||||
translators.
|
||||
@end menu
|
||||
|
||||
|
||||
@node Translator interface, Format for LTL formulas, Interfacing with @command{lbtt}, Interfacing with @command{lbtt}
|
||||
@node Translator interface, Format for LTL formulas, Interfacing with lbtt, Interfacing with lbtt
|
||||
@section Translator interface requirements
|
||||
|
||||
@cindex LTL-to-B@"uchi translators, interface requirements
|
||||
|
|
@ -3514,7 +3469,7 @@ The translator executable should read its input (an LTL formula) from
|
|||
@var{input-file} and write its output (a B@"uchi automaton) into
|
||||
@var{output-file} (without removing the input file); see
|
||||
@ifnottex
|
||||
@ref{Format for LTL formulas} and @ref{B@"uchi automata}
|
||||
@ref{Format for LTL formulas} and @ref{Format for automata}
|
||||
@end ifnottex
|
||||
@iftex
|
||||
the following two sections
|
||||
|
|
@ -3542,7 +3497,7 @@ Algorithm
|
|||
|
||||
|
||||
|
||||
@node Format for LTL formulas, B@"uchi automata, Translator interface, Interfacing with @command{lbtt}
|
||||
@node Format for LTL formulas, Format for automata, Translator interface, Interfacing with lbtt
|
||||
@section Input file format for LTL formulas
|
||||
|
||||
@cindex LTL-to-B@"uchi translators, LTL formula input file format
|
||||
|
|
@ -3626,8 +3581,8 @@ line options (@pxref{Command line options}) to prevent
|
|||
|
||||
|
||||
|
||||
@node B@"uchi automata, , Format for LTL formulas, Interfacing with @command{lbtt}
|
||||
@section Output file format for B@"uchi automata
|
||||
@node Format for automata, The lbtt-translate utility, Format for LTL formulas, Interfacing with lbtt
|
||||
@section Output file format for automata
|
||||
|
||||
@cindex file formats, LTL-to-B@"uchi translator output file
|
||||
@cindex LTL-to-B@"uchi translators, automaton output file format
|
||||
|
|
@ -3644,23 +3599,23 @@ The output file generated by the translator should contain an @var{automaton}
|
|||
described using the following grammar:
|
||||
|
||||
@smallexample
|
||||
@var{automaton} @r{::=} @var{number-of-states} @var{sp} @var{number-of-acceptance-conditions} @var{states}
|
||||
@var{automaton} @r{::=} @var{num-states} @var{sp} @var{num-conds} @var{states}
|
||||
|
||||
@var{number-of-states} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
@var{num-states} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
|
||||
@var{number-of-acceptance-conditions} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
@var{num-conds} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
|
||||
@var{states} @r{::=} @var{states} @var{sp} @var{state}
|
||||
@r{|} @r{// empty}
|
||||
@r{|} @r{// empty}
|
||||
|
||||
@var{state} @r{::=} @var{state-id} @var{sp} @var{initial?} @var{acceptance-conditions} @var{sp} `-1' @var{transitions} @var{sp} `-1'
|
||||
@var{state} @r{::=} @var{state-id} @var{sp} @var{initial?} @var{conds} @var{sp} `-1' @var{transitions} @var{sp} `-1'
|
||||
|
||||
@var{state-id} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
|
||||
@var{initial?} @r{::=} `0' @r{|} `1'
|
||||
|
||||
@var{acceptance-conditions} @r{::=} @var{acceptance-conditions} @var{sp} @var{acceptance-set-id}
|
||||
@r{|} @r{// empty}
|
||||
@var{conds} @r{::=} @var{conds} @var{sp} @var{acceptance-set-id}
|
||||
@r{|} @r{// empty}
|
||||
|
||||
@var{acceptance-set-id} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||
|
||||
|
|
@ -3714,7 +3669,7 @@ The state and acceptance condition identifiers need not be successive, and the
|
|||
states or acceptance conditions can be listed in any order. The only
|
||||
restrictions are that the identifiers of different states and acceptance
|
||||
conditions should be unique and that the total number of different identifiers
|
||||
should equal @var{number-of-states} or @var{number-of-acceptance-conditions},
|
||||
should equal @var{num-states} or @var{num-conds},
|
||||
respectively. (The same identifiers can be shared between states and acceptance
|
||||
conditions, however.)
|
||||
|
||||
|
|
@ -3778,7 +3733,7 @@ The following example illustrates the file format.
|
|||
|
||||
|
||||
|
||||
@node The @command{lbtt-translate} utility, References, Interfacing with @command{lbtt}, Top
|
||||
@node The lbtt-translate utility, , Format for automata, Interfacing with lbtt
|
||||
@section The @command{lbtt-translate} utility
|
||||
|
||||
@cindex @command{lbtt-translate} (executable file)
|
||||
|
|
@ -3847,17 +3802,18 @@ installation instructions. Then add the following @samp{Algorithm} section in
|
|||
@smallexample
|
||||
Algorithm
|
||||
@{
|
||||
Name = "@var{name for the implementation}"
|
||||
Path = "@var{path-to-@command{lbtt-translate}} @var{implementation-selector} @var{path-to-executable}"
|
||||
Name = "@r{[@var{name for the implementation}]}"
|
||||
Path = "@r{[@var{path-to-@command{lbtt-translate}}]}"
|
||||
Parameters = "@r{[@var{implementation selector}]} @r{[@var{path to executable}]}"
|
||||
Enabled = Yes
|
||||
@}
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
where @var{path-to-@command{lbtt-translate}} contains the complete path and
|
||||
where [@var{path-to-@command{lbtt-translate}}] contains the complete path and
|
||||
file name of the @command{lbtt-translate} tool executable,
|
||||
@var{implementation-selector} is either of the options @samp{--lbt} or
|
||||
@samp{--spin}, and @var{path-to-executable} is the full path
|
||||
[@var{implementation selector}] is either of the options @samp{--lbt} or
|
||||
@samp{--spin}, and [@var{path to executable}] is the full path
|
||||
of the tool executable. The names of these executables are usually (assuming
|
||||
a normal installation) @command{lbt} and @command{spin}, respectively.
|
||||
|
||||
|
|
@ -3875,7 +3831,7 @@ see a short summary of available options.
|
|||
|
||||
|
||||
|
||||
@node References, Definitions, The @command{lbtt-translate} utility, Top
|
||||
@node References, Definitions, Interfacing with lbtt, Top
|
||||
@unnumbered References
|
||||
|
||||
@table @asis
|
||||
|
|
@ -3884,7 +3840,7 @@ E.@: Clarke Jr., O.@: Grumberg and D.@: Peled. Model checking. The MIT Press,
|
|||
1999.
|
||||
|
||||
@item @anchor{[Cou99]} [Cou99]
|
||||
J-M. Couvreur. On-the-fly verification of linear temporal logic. In
|
||||
J.-M. Couvreur. On-the-fly verification of linear temporal logic. In
|
||||
@i{Proceedings of the World Congress on Formal Methods in the Development of
|
||||
Computing Systems (FM'99), volume I}, volume 1708 of
|
||||
@i{Lecture Notes in Computer Science}, pages 253---271. Springer-Verlag, 1999.
|
||||
|
|
@ -4001,7 +3957,7 @@ manipulates.
|
|||
* LTL formulas:: @command{lbtt} uses traditional semantics
|
||||
for propositional linear temporal
|
||||
logic.
|
||||
* Generalized B@"uchi automata:: The B@"uchi automata used by @command{lbtt}
|
||||
* Generalized automata:: The B@"uchi automata used by @command{lbtt}
|
||||
have one initial state, labels on
|
||||
transitions and zero or more
|
||||
acceptance conditions.
|
||||
|
|
@ -4010,7 +3966,7 @@ manipulates.
|
|||
@end menu
|
||||
|
||||
|
||||
@node LTL formulas, Generalized B@"uchi automata, Definitions, Definitions
|
||||
@node LTL formulas, Generalized automata, Definitions, Definitions
|
||||
@appendixsec LTL formulas
|
||||
|
||||
@command{lbtt} uses the traditional definition for propositional linear
|
||||
|
|
@ -4390,8 +4346,8 @@ $(\varphi\;{\bf B}\;\psi) \equiv_{\rm def} \neg(\neg\varphi\;\bf{U}\;\psi)$
|
|||
|
||||
|
||||
|
||||
@node Generalized B@"uchi automata, State spaces, LTL formulas, Definitions
|
||||
@appendixsec Generalized B@"uchi automata
|
||||
@node Generalized automata, State spaces, LTL formulas, Definitions
|
||||
@appendixsec Generalized automata
|
||||
|
||||
@cindex B@"uchi automata, formal definition
|
||||
@cindex generalized B@"uchi automata, formal definition
|
||||
|
|
@ -4410,7 +4366,7 @@ $2^{AP}$
|
|||
with one initial state, labels on transitions and zero or more acceptance
|
||||
conditions.
|
||||
|
||||
@appendixsubsec Formal definition of generalized B@"uchi automata
|
||||
@appendixsubsec Formal definition of generalized automata
|
||||
|
||||
Formally, a generalized B@"uchi automaton can be represented as a tuple
|
||||
@iftex
|
||||
|
|
@ -4699,7 +4655,7 @@ of some states and then adjusting the transition labels appropriately.
|
|||
|
||||
|
||||
|
||||
@node State spaces, , Generalized B@"uchi automata, Definitions
|
||||
@node State spaces, , Generalized automata, Definitions
|
||||
@appendixsec State spaces
|
||||
|
||||
@cindex state space, formal definition
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
,,,,,,,,,,,,,,,
|
||||
: State space :
|
||||
'''''''''''''''
|
||||
|
|
|
|||
6305
lbtt/doc/texinfo.tex
6305
lbtt/doc/texinfo.tex
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#ifdef HAVE_SSTREAM
|
||||
#include <sstream>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef BITARRAY_H
|
||||
#define BITARRAY_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <stack>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,15 +20,11 @@
|
|||
#ifndef BUCHIAUTOMATON_H
|
||||
#define BUCHIAUTOMATON_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "EdgeContainer.h"
|
||||
#include "Exception.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -368,7 +368,7 @@ static inline bool isLocked(int option)
|
|||
/* Punctuation symbols. */
|
||||
|
||||
%token CFG_LBRACE CFG_RBRACE CFG_EQUALS
|
||||
%token CFG_BLOCK_ID, CFG_OPTION_ID
|
||||
%token CFG_BLOCK_ID CFG_OPTION_ID
|
||||
|
||||
/* The `unknown' token. */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef CONFIGURATION_H
|
||||
#define CONFIGURATION_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
|
|
@ -31,7 +27,7 @@
|
|||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
#include "FormulaRandomizer.h"
|
||||
#include "StateSpaceRandomizer.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,14 +17,10 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <stack>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "DispUtil.h"
|
||||
|
||||
/******************************************************************************
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef DISPUTIL_H
|
||||
#define DISPUTIL_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef EXTERNALTRANSLATOR_H
|
||||
#define EXTERNALTRANSLATOR_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <stack>
|
||||
|
|
@ -33,7 +29,7 @@
|
|||
#else
|
||||
#include <strstream>
|
||||
#endif /* HAVE_SSTREAM */
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
#include "LtlFormula.h"
|
||||
#include "translate.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "FormulaRandomizer.h"
|
||||
#include "Random.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,14 +20,10 @@
|
|||
#ifndef FORMULARANDOMIZER_H
|
||||
#define FORMULARANDOMIZER_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "LtlFormula.h"
|
||||
|
||||
namespace Ltl
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -34,7 +34,7 @@ using SLIST_NAMESPACE::slist;
|
|||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "Exception.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
167
lbtt/src/LbttAlloc.h
Normal file
167
lbtt/src/LbttAlloc.h
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* 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 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef LBTTALLOC_H
|
||||
#define LBTTALLOC_H
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#ifdef HAVE_SINGLE_CLIENT_ALLOC
|
||||
#define ALLOC(typename) single_client_alloc
|
||||
#else
|
||||
#define ALLOC(typename) allocator<typename>
|
||||
#endif /* HAVE_SINGLE_CLIENT_ALLOC */
|
||||
|
||||
#ifdef HAVE_OBSTACK_H
|
||||
|
||||
/* GNU libc 2.3.2's copy of obstack.h uses a definition of __INT_TO_PTR
|
||||
which does not compile in C++. Fortunately it will not override
|
||||
an existing definition. */
|
||||
|
||||
#ifdef GLIBC_OBSTACK_WORKAROUND
|
||||
#define __INT_TO_PTR(P) ((P) + (char *) 0)
|
||||
#endif
|
||||
|
||||
#include <obstack.h>
|
||||
#include <cstdlib>
|
||||
#include <new>
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* A wrapper class for allocating memory through an obstack.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
class ObstackAllocator
|
||||
{
|
||||
public:
|
||||
ObstackAllocator(); /* Constructor. */
|
||||
|
||||
~ObstackAllocator(); /* Destructor. */
|
||||
|
||||
void* alloc(int size); /* Allocates memory. */
|
||||
|
||||
void free(void* obj); /* Deallocates memory. */
|
||||
|
||||
static void failure(); /* Callback function for
|
||||
* reporting a memory
|
||||
* allocation failure.
|
||||
*/
|
||||
private:
|
||||
ObstackAllocator(const ObstackAllocator&); /* Prevent copying and */
|
||||
ObstackAllocator& operator= /* assignment of */
|
||||
(const ObstackAllocator&); /* ObstackAllocator
|
||||
* objects.
|
||||
*/
|
||||
|
||||
struct obstack store; /* The obstack. */
|
||||
};
|
||||
|
||||
#define obstack_chunk_alloc std::malloc
|
||||
#define obstack_chunk_free std::free
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Inline function definitions for class ObstackAllocator.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/* ========================================================================= */
|
||||
inline ObstackAllocator::ObstackAllocator()
|
||||
/* ----------------------------------------------------------------------------
|
||||
*
|
||||
* Description: Constructor for class ObstackAllocator.
|
||||
*
|
||||
* Arguments: None.
|
||||
*
|
||||
* Returns: Nothing.
|
||||
*
|
||||
* ------------------------------------------------------------------------- */
|
||||
{
|
||||
obstack_init(&store);
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
||||
inline ObstackAllocator::~ObstackAllocator()
|
||||
/* ----------------------------------------------------------------------------
|
||||
*
|
||||
* Description: Destructor for class ObstackAllocator.
|
||||
*
|
||||
* Arguments: None.
|
||||
*
|
||||
* Returns: Nothing.
|
||||
*
|
||||
* ------------------------------------------------------------------------- */
|
||||
{
|
||||
obstack_free(&store, NULL);
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
||||
inline void* ObstackAllocator::alloc(int size)
|
||||
/* ----------------------------------------------------------------------------
|
||||
*
|
||||
* Description: Interface to the memory allocator.
|
||||
*
|
||||
* Argument: size -- Number of bytes to allocate.
|
||||
*
|
||||
* Returns: A pointer to the beginning of the newly allocated memory.
|
||||
*
|
||||
* ------------------------------------------------------------------------- */
|
||||
{
|
||||
return obstack_alloc(&store, size);
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
||||
inline void ObstackAllocator::free(void* obj)
|
||||
/* ----------------------------------------------------------------------------
|
||||
*
|
||||
* Description: Interface to the memory deallocation function.
|
||||
*
|
||||
* Argument: obj -- A pointer to the object to deallocate. (Because the
|
||||
* underlying memory allocator is an obstack, freeing
|
||||
* an object also releases all objects allocated after
|
||||
* the given object.)
|
||||
*
|
||||
* Returns: Nothing.
|
||||
*
|
||||
* ------------------------------------------------------------------------- */
|
||||
{
|
||||
obstack_free(&store, obj);
|
||||
}
|
||||
|
||||
/* ========================================================================= */
|
||||
inline void ObstackAllocator::failure()
|
||||
/* ----------------------------------------------------------------------------
|
||||
*
|
||||
* Description: Callback function for reporting memory allocation failures.
|
||||
*
|
||||
* Arguments: None.
|
||||
*
|
||||
* Returns: Nothing.
|
||||
*
|
||||
* ------------------------------------------------------------------------- */
|
||||
{
|
||||
throw std::bad_alloc();
|
||||
}
|
||||
|
||||
#endif /* HAVE_OBSTACK_H */
|
||||
|
||||
#endif /* !LBTTALLOC_H */
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "FormulaWriter.h"
|
||||
#include "LtlFormula.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,17 +20,13 @@
|
|||
#ifndef LTLFORMULA_H
|
||||
#define LTLFORMULA_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "Exception.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
bin_PROGRAMS = lbtt lbtt-translate
|
||||
lbtt_SOURCES = Alloc.h BitArray.h Bitset.h BitArray.cc BuchiAutomaton.h \
|
||||
lbtt_SOURCES = BitArray.h Bitset.h BitArray.cc BuchiAutomaton.h \
|
||||
BuchiAutomaton.cc Config-parse.yy Config-lex.ll Configuration.h \
|
||||
Configuration.cc DispUtil.h DispUtil.cc EdgeContainer.h Exception.h \
|
||||
FormulaRandomizer.h FormulaRandomizer.cc FormulaWriter.h LtlFormula.h \
|
||||
LtlFormula.cc main.cc PathEvaluator.h PathEvaluator.cc PathIterator.h \
|
||||
PathIterator.cc ProductAutomaton.h ProductAutomaton.cc Random.h SccIterator.h \
|
||||
SharedTestData.h StatDisplay.h StatDisplay.cc StateSpace.h StateSpace.cc \
|
||||
StateSpaceRandomizer.h StateSpaceRandomizer.cc StringUtil.h StringUtil.cc \
|
||||
TestOperations.h TestOperations.cc TestRoundInfo.h TestStatistics.h \
|
||||
TestStatistics.cc UserCommandReader.h UserCommandReader.cc UserCommands.h \
|
||||
UserCommands.cc
|
||||
FormulaRandomizer.h FormulaRandomizer.cc FormulaWriter.h LbttAlloc.h \
|
||||
LtlFormula.h LtlFormula.cc main.cc PathEvaluator.h PathEvaluator.cc \
|
||||
PathIterator.h PathIterator.cc ProductAutomaton.h ProductAutomaton.cc \
|
||||
Random.h SccIterator.h SharedTestData.h StatDisplay.h StatDisplay.cc \
|
||||
StateSpace.h StateSpace.cc StateSpaceRandomizer.h StateSpaceRandomizer.cc \
|
||||
StringUtil.h StringUtil.cc TestOperations.h TestOperations.cc TestRoundInfo.h \
|
||||
TestStatistics.h TestStatistics.cc UserCommandReader.h UserCommandReader.cc \
|
||||
UserCommands.h UserCommands.cc
|
||||
EXTRA_lbtt_SOURCES = gnu-getopt.h Config-parse.h
|
||||
lbtt_LDADD = @LIBOBJS@ @READLINELIBS@
|
||||
|
||||
lbtt_translate_SOURCES = Alloc.h BitArray.h BitArray.cc Exception.h \
|
||||
ExternalTranslator.h ExternalTranslator.cc FormulaWriter.h LbtWrapper.h \
|
||||
LtlFormula.h LtlFormula.cc NeverClaim-parse.yy NeverClaim-lex.ll \
|
||||
lbtt_translate_SOURCES = BitArray.h BitArray.cc Exception.h \
|
||||
ExternalTranslator.h ExternalTranslator.cc FormulaWriter.h LbttAlloc.h \
|
||||
LbtWrapper.h LtlFormula.h LtlFormula.cc NeverClaim-parse.yy NeverClaim-lex.ll \
|
||||
NeverClaimAutomaton.h NeverClaimAutomaton.cc SpinWrapper.h SpinWrapper.cc \
|
||||
StringUtil.h StringUtil.cc translate.h translate.cc TranslatorInterface.h
|
||||
EXTRA_lbtt_translate_SOURCES = gnu-getopt.h NeverClaim-parse.h
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstdio>
|
||||
#include <fstream>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,16 +20,12 @@
|
|||
#ifndef NEVERCLAIMAUTOMATON_H
|
||||
#define NEVERCLAIMAUTOMATON_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
|
||||
using namespace std;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <stack>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,13 +20,9 @@
|
|||
#ifndef PATHEVALUATOR_H
|
||||
#define PATHEVALUATOR_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "Exception.h"
|
||||
#include "LtlFormula.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "BitArray.h"
|
||||
#include "PathIterator.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef PATHITERATOR_H
|
||||
#define PATHITERATOR_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "StateSpace.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "ProductAutomaton.h"
|
||||
#include "SccIterator.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,15 +20,11 @@
|
|||
#ifndef PRODUCTAUTOMATON_H
|
||||
#define PRODUCTAUTOMATON_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "BuchiAutomaton.h"
|
||||
#include "EdgeContainer.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
#include <set>
|
||||
#include <stack>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Graph.h"
|
||||
|
||||
using namespace std;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
#define SHAREDTESTDATA_H
|
||||
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
#include "TestRoundInfo.h"
|
||||
#include "TestStatistics.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#ifdef HAVE_SSTREAM
|
||||
#include <sstream>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef SPINWRAPPER_H
|
||||
#define SPINWRAPPER_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <string>
|
||||
#include "ExternalTranslator.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <string>
|
||||
#include "DispUtil.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,14 +20,10 @@
|
|||
#ifndef STATDISPLAY_H
|
||||
#define STATDISPLAY_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Configuration.h"
|
||||
#include "TestStatistics.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <map>
|
||||
#include "DispUtil.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,12 +20,8 @@
|
|||
#ifndef STATESPACE_H
|
||||
#define STATESPACE_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "EdgeContainer.h"
|
||||
#include "Graph.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,14 +17,10 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <climits>
|
||||
#include <config.h>
|
||||
#include <map>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BitArray.h"
|
||||
#include "Exception.h"
|
||||
#include "StateSpaceRandomizer.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef STATESPACERANDOMIZER_H
|
||||
#define STATESPACERANDOMIZER_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "Random.h"
|
||||
#include "StateSpace.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstdlib>
|
||||
#include "StringUtil.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef STRINGUTIL_H
|
||||
#define STRINGUTIL_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
|
@ -33,7 +29,7 @@
|
|||
#include <strstream>
|
||||
#endif /* HAVE_SSTREAM */
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
|
||||
using namespace std;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,16 +20,12 @@
|
|||
#ifndef TESTOPERATIONS_H
|
||||
#define TESTOPERATIONS_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Configuration.h"
|
||||
#include "Exception.h"
|
||||
#include "StateSpace.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Exception.h"
|
||||
#include "LtlFormula.h"
|
||||
#include "ProductAutomaton.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "TestStatistics.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,14 +20,10 @@
|
|||
#ifndef TESTSTATISTICS_H
|
||||
#define TESTSTATISTICS_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BuchiAutomaton.h"
|
||||
#include "Configuration.h"
|
||||
#include "ProductAutomaton.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <csignal>
|
||||
#include <cstdio>
|
||||
|
|
@ -50,6 +46,13 @@
|
|||
#include <readline/history.h>
|
||||
#endif /* HAVE_READLINE */
|
||||
|
||||
#ifdef HAVE_ISATTY
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
#endif /* HAVE_ISATTY */
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
|
|
@ -131,20 +134,41 @@ void executeUserCommands()
|
|||
input_line = line;
|
||||
else
|
||||
{
|
||||
round_info.cout << '\n';
|
||||
round_info.cout.flush();
|
||||
}
|
||||
#else
|
||||
round_info.cout << prompt;
|
||||
round_info.cout.flush();
|
||||
getline(cin, input_line, '\n');
|
||||
if (cin.eof())
|
||||
{
|
||||
round_info.cout << '\n';
|
||||
round_info.cout.flush();
|
||||
cin.clear();
|
||||
#endif /* HAVE_READLINE */
|
||||
#ifdef HAVE_ISATTY
|
||||
/*
|
||||
* If standard input is not bound to a terminal, act on EOF as if the
|
||||
* `continue' command had been issued. Otherwise act as if an empty
|
||||
* line was given as input.
|
||||
*/
|
||||
if (!isatty(STDIN_FILENO))
|
||||
input_line = "continue";
|
||||
else
|
||||
{
|
||||
round_info.cout << '\n';
|
||||
round_info.cout.flush();
|
||||
}
|
||||
#else
|
||||
input_line = "continue";
|
||||
round_info.cout << input_line << '\n';
|
||||
round_info.cout.flush();
|
||||
#endif /* HAVE_ISATTY */
|
||||
}
|
||||
#endif /* HAVE_READLINE */
|
||||
|
||||
#ifdef HAVE_ISATTY
|
||||
if (!isatty(STDIN_FILENO))
|
||||
{
|
||||
round_info.cout << input_line << '\n';
|
||||
round_info.cout.flush();
|
||||
}
|
||||
#endif /* HAVE_ISATTY */
|
||||
|
||||
external_command = "";
|
||||
string::size_type pipe_pos = input_line.find_first_of('|');
|
||||
|
|
@ -166,8 +190,11 @@ void executeUserCommands()
|
|||
if (!input_tokens.empty())
|
||||
{
|
||||
#ifdef HAVE_READLINE
|
||||
add_history(line);
|
||||
free(line);
|
||||
if (line != static_cast<char*>(0)) /* line may be 0 on EOF */
|
||||
{
|
||||
add_history(line);
|
||||
free(line);
|
||||
}
|
||||
#endif /* HAVE_READLINE */
|
||||
round_info.cout << '\n';
|
||||
round_info.cout.flush();
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,15 +20,11 @@
|
|||
#ifndef USERCOMMANDREADER_H
|
||||
#define USERCOMMANDREADER_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Configuration.h"
|
||||
#include "Exception.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include "DispUtil.h"
|
||||
#include "Exception.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,17 +20,13 @@
|
|||
#ifndef USERCOMMANDS_H
|
||||
#define USERCOMMANDS_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <deque>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "BuchiAutomaton.h"
|
||||
#include "Configuration.h"
|
||||
#include "ProductAutomaton.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
#include <readline/readline.h>
|
||||
#include <readline/history.h>
|
||||
#endif /* HAVE_READLINE */
|
||||
#include "Alloc.h"
|
||||
#include "LbttAlloc.h"
|
||||
#include "Configuration.h"
|
||||
#include "DispUtil.h"
|
||||
#include "Exception.h"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -17,10 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <csignal>
|
||||
#include <fstream>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003
|
||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
|
||||
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef TRANSLATE_H
|
||||
#define TRANSLATE_H
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#include <config.h>
|
||||
#include <string>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue