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>
|
2003-07-18 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* UserCommands.cc (printAutomatonAnalysisResults): Ensure that
|
* UserCommands.cc (printAutomatonAnalysisResults): Ensure that
|
||||||
|
|
@ -7,7 +74,7 @@
|
||||||
state of the witness.
|
state of the witness.
|
||||||
|
|
||||||
* Version 1.0.2 released.
|
* Version 1.0.2 released.
|
||||||
|
|
||||||
2003-07-17 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2003-07-17 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* NeverClaimAutomaton.cc (ParseErrorException::ParseErrorException):
|
* NeverClaimAutomaton.cc (ParseErrorException::ParseErrorException):
|
||||||
|
|
@ -19,17 +86,17 @@
|
||||||
in previous releases.)
|
in previous releases.)
|
||||||
|
|
||||||
2002-11-04 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2002-11-04 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* StatDisplay.cc (printCollectiveStats): If using more than five
|
* StatDisplay.cc (printCollectiveStats): If using more than five
|
||||||
formula operators (but the total number of operators is not
|
formula operators (but the total number of operators is not
|
||||||
a multiple of 5), insert an empty line in the output before the
|
a multiple of 5), insert an empty line in the output before the
|
||||||
last row of the operator distribution table.
|
last row of the operator distribution table.
|
||||||
|
|
||||||
2002-10-21 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2002-10-21 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* BitArray.cc (BitArray::find): Fix bug in testing whether
|
* BitArray.cc (BitArray::find): Fix bug in testing whether
|
||||||
all accessed bytes were zero.
|
all accessed bytes were zero.
|
||||||
|
|
||||||
2002-10-01 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2002-10-01 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* Version 1.0.1 released.
|
* Version 1.0.1 released.
|
||||||
|
|
@ -38,21 +105,21 @@
|
||||||
|
|
||||||
* Alloc.h: Use preprocessor macro HAVE_SINGLE_CLIENT_ALLOC
|
* Alloc.h: Use preprocessor macro HAVE_SINGLE_CLIENT_ALLOC
|
||||||
instead of HAVE_SGI_STL in #ifdef conditionals.
|
instead of HAVE_SGI_STL in #ifdef conditionals.
|
||||||
|
|
||||||
* BitArray.cc (BitArray::BitArray): Do not clear the allocated
|
* BitArray.cc (BitArray::BitArray): Do not clear the allocated
|
||||||
array after initialization. All callers updated to reflect the
|
array after initialization. All callers updated to reflect the
|
||||||
changed constructor semantics.
|
changed constructor semantics.
|
||||||
|
|
||||||
* BitArray.cc (BitArray::bitwiseAnd, BitArray::bitwiseOr)
|
* BitArray.cc (BitArray::bitwiseAnd, BitArray::bitwiseOr)
|
||||||
(BitArray::bitwiseXor): New functions.
|
(BitArray::bitwiseXor): New functions.
|
||||||
|
|
||||||
* BitArray.cc (BitArray::equal, BitArray::subset)
|
* BitArray.cc (BitArray::equal, BitArray::subset)
|
||||||
(BitArray::count): Fix `&' operator precedence in comparisons.
|
(BitArray::count): Fix `&' operator precedence in comparisons.
|
||||||
|
|
||||||
* BitArray.cc (BitArray::hammingDistance): Use the `bit_counts'
|
* BitArray.cc (BitArray::hammingDistance): Use the `bit_counts'
|
||||||
array to compute the result instead of scanning the array bit by
|
array to compute the result instead of scanning the array bit by
|
||||||
bit.
|
bit.
|
||||||
|
|
||||||
* BitArray.cc: Documentation fixes.
|
* BitArray.cc: Documentation fixes.
|
||||||
|
|
||||||
* BitArray.h (BitArray::bitwiseAnd, BitArray::bitwiseOr)
|
* BitArray.h (BitArray::bitwiseAnd, BitArray::bitwiseOr)
|
||||||
|
|
@ -76,7 +143,7 @@
|
||||||
|
|
||||||
* BuchiAutomaton.cc: Documentation fixes.
|
* BuchiAutomaton.cc: Documentation fixes.
|
||||||
|
|
||||||
* BuchiAutomaton.h (BuchiAutomaton::regularize): Changed
|
* BuchiAutomaton.h (BuchiAutomaton::regularize): Changed
|
||||||
semantics (see above).
|
semantics (see above).
|
||||||
|
|
||||||
* BuchiAutomaton.h
|
* BuchiAutomaton.h
|
||||||
|
|
@ -108,14 +175,14 @@
|
||||||
preprocessor macro SLIST_NAMESPACE.
|
preprocessor macro SLIST_NAMESPACE.
|
||||||
|
|
||||||
* EdgeContainer.h: Remove uses of redundant preprocessor macros.
|
* EdgeContainer.h: Remove uses of redundant preprocessor macros.
|
||||||
|
|
||||||
* Graph.h: Renamed to Graph.h.in to implement the optional
|
* Graph.h: Renamed to Graph.h.in to implement the optional
|
||||||
inclusion of the slist header using an autoconf substitution
|
inclusion of the slist header using an autoconf substitution
|
||||||
variable.
|
variable.
|
||||||
|
|
||||||
* Graph.h.in: Use HAVE_SLIST macro instead of HAVE_SGI_STL in
|
* Graph.h.in: Use HAVE_SLIST macro instead of HAVE_SGI_STL in
|
||||||
#ifdef conditionals.
|
#ifdef conditionals.
|
||||||
|
|
||||||
* Graph.h.in (Graph::Edge, Graph::Node): Make classes public (to
|
* Graph.h.in (Graph::Edge, Graph::Node): Make classes public (to
|
||||||
prevent warnings from Intel C++ Compiler).
|
prevent warnings from Intel C++ Compiler).
|
||||||
|
|
||||||
|
|
@ -172,7 +239,7 @@
|
||||||
|
|
||||||
* src/Makefile.am: Remove redundant references to @LEXLIB@ (the
|
* src/Makefile.am: Remove redundant references to @LEXLIB@ (the
|
||||||
sources are independent of any external lexer library).
|
sources are independent of any external lexer library).
|
||||||
|
|
||||||
* NeverClaimAutomaton.cc (NeverClaimAutomaton::write): Add
|
* NeverClaimAutomaton.cc (NeverClaimAutomaton::write): Add
|
||||||
detection for jumps to undefined never claim labels.
|
detection for jumps to undefined never claim labels.
|
||||||
|
|
||||||
|
|
@ -185,7 +252,7 @@
|
||||||
* ProductAutomaton.cc (ProductAutomaton::computeProduct):
|
* ProductAutomaton.cc (ProductAutomaton::computeProduct):
|
||||||
Avoid creating a temporary Bitset object when checking the
|
Avoid creating a temporary Bitset object when checking the
|
||||||
enabledness of a product transition.
|
enabledness of a product transition.
|
||||||
|
|
||||||
* ProductAutomaton.cc (ProductAutomaton::findAcceptingExecution)
|
* ProductAutomaton.cc (ProductAutomaton::findAcceptingExecution)
|
||||||
Use BitArrays instead of Bitsets.
|
Use BitArrays instead of Bitsets.
|
||||||
|
|
||||||
|
|
@ -211,12 +278,12 @@
|
||||||
|
|
||||||
* TestOperations.cc (performEmptinessCheck): Added a colon to
|
* TestOperations.cc (performEmptinessCheck): Added a colon to
|
||||||
the end of the "Accepting cycles" message.
|
the end of the "Accepting cycles" message.
|
||||||
|
|
||||||
* TestRoundInfo.h: Removed redundant inclusion of BitArray.h.
|
* TestRoundInfo.h: Removed redundant inclusion of BitArray.h.
|
||||||
|
|
||||||
* translate.cc (main): Use autoconf-generated PACKAGE_VERSION
|
* translate.cc (main): Use autoconf-generated PACKAGE_VERSION
|
||||||
macro for displaying program version.
|
macro for displaying program version.
|
||||||
|
|
||||||
* translate.cc (main): Fix bug in checking the number of
|
* translate.cc (main): Fix bug in checking the number of
|
||||||
command line arguments.
|
command line arguments.
|
||||||
|
|
||||||
|
|
@ -227,7 +294,7 @@
|
||||||
against the internal model checking algorithm).
|
against the internal model checking algorithm).
|
||||||
|
|
||||||
* version.h.in: Removed.
|
* version.h.in: Removed.
|
||||||
|
|
||||||
2001-11-12 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2001-11-12 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* Version 1.0.0 released.
|
* Version 1.0.0 released.
|
||||||
|
|
|
||||||
12
lbtt/NEWS
12
lbtt/NEWS
|
|
@ -1,5 +1,5 @@
|
||||||
lbtt NEWS -- history of user-visible changes. 18 Jul 2003
|
lbtt NEWS -- history of user-visible changes. 13 Feb 2004
|
||||||
Copyright (C) 2003 Heikki Tauriainen
|
Copyright (C) 2004 Heikki Tauriainen
|
||||||
|
|
||||||
Permission is granted to anyone to make or distribute verbatim copies
|
Permission is granted to anyone to make or distribute verbatim copies
|
||||||
of this document as received, in any medium, provided that the
|
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>.
|
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
|
Version 1.0.2
|
||||||
|
|
||||||
* Bug fix release.
|
* 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
|
lbtt is a tool for testing programs that translate formulas
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.53])
|
AC_PREREQ([2.53])
|
||||||
AC_INIT([lbtt], [1.0.2], [heikki.tauriainen@hut.fi])
|
AC_INIT([lbtt], [1.0.3], [heikki.tauriainen@hut.fi])
|
||||||
AC_REVISION([Revision: 1.2])
|
AC_REVISION([Revision: 1.3])
|
||||||
AC_CONFIG_SRCDIR([src/main.cc])
|
AC_CONFIG_SRCDIR([src/main.cc])
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
AM_CONFIG_HEADER([config.h])
|
AM_CONFIG_HEADER([config.h])
|
||||||
|
|
@ -37,7 +37,7 @@ AC_ARG_WITH([readline],
|
||||||
# Check for the availability of headers.
|
# Check for the availability of headers.
|
||||||
|
|
||||||
AC_HEADER_STDC
|
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.
|
# Check for the availability of the GNU readline headers.
|
||||||
|
|
||||||
|
|
@ -51,6 +51,22 @@ fi
|
||||||
|
|
||||||
AC_LANG([C++])
|
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.
|
# Check for the availablility of the sstream or strstream header.
|
||||||
|
|
||||||
AC_CHECK_HEADERS([sstream],
|
AC_CHECK_HEADERS([sstream],
|
||||||
|
|
@ -131,11 +147,11 @@ AC_C_INLINE
|
||||||
# Checks for library functions.
|
# Checks for library functions.
|
||||||
|
|
||||||
AC_TYPE_SIGNAL
|
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
|
if test x"${ac_cv_func_getopt_long}" = xno; then
|
||||||
AC_LIBOBJ([getopt])
|
AC_LIBOBJ([getopt])
|
||||||
AC_LIBOBJ([getopt1])
|
AC_LIBOBJ([getopt1])
|
||||||
AC_CHECK_HEADERS([libintl.h string.h strings.h])
|
AC_CHECK_HEADERS([libintl.h])
|
||||||
AC_CHECK_FUNCS([memset])
|
AC_CHECK_FUNCS([memset])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -147,7 +163,8 @@ if test "${readline}" = yes; then
|
||||||
for READLINELIBS in "-lreadline" "-lreadline -lcurses" "-lreadline -ltermcap" error; do
|
for READLINELIBS in "-lreadline" "-lreadline -lcurses" "-lreadline -ltermcap" error; do
|
||||||
if test "${READLINELIBS}" != error; then
|
if test "${READLINELIBS}" != error; then
|
||||||
LIBS="${oldlibs} ${READLINELIBS}"
|
LIBS="${oldlibs} ${READLINELIBS}"
|
||||||
AC_TRY_LINK([#include <${rl_history_h}>
|
AC_TRY_LINK([#include <stdio.h>
|
||||||
|
#include <${rl_history_h}>
|
||||||
#include <${rl_readline_h}>],
|
#include <${rl_readline_h}>],
|
||||||
[using_history(); readline(""); add_history("");],
|
[using_history(); readline(""); add_history("");],
|
||||||
[break])
|
[break])
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
: LTL formula `f' :_____ : Negated LTL formula `!f' :
|
: LTL formula `f' :_____ : Negated LTL formula `!f' :
|
||||||
'''''''T''''''T'''' \ ___'''''''T'''''''''''T''''''''
|
'''''''T''''''T'''' \ ___'''''''T'''''''''''T''''''''
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
\input texinfo @c -*-texinfo-*-
|
\input texinfo @c -*-texinfo-*-
|
||||||
@c %**start of header
|
@c %**start of header
|
||||||
@setfilename lbtt.info
|
@setfilename lbtt.info
|
||||||
@settitle @command{lbtt}
|
@settitle @command{lbtt}
|
||||||
@afourpaper
|
@afourpaper
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
|
|
@ -13,8 +13,8 @@
|
||||||
@end ifhtml
|
@end ifhtml
|
||||||
This file documents how to use the LTL-to-B@"uchi
|
This file documents how to use the LTL-to-B@"uchi
|
||||||
translator testbench @command{lbtt}.
|
translator testbench @command{lbtt}.
|
||||||
|
|
||||||
Copyright @copyright{} 2003 Heikki Tauriainen
|
Copyright @copyright{} 2004 Heikki Tauriainen
|
||||||
@ifinfo
|
@ifinfo
|
||||||
@email{heikki.tauriainen@@hut.fi}
|
@email{heikki.tauriainen@@hut.fi}
|
||||||
@end ifinfo
|
@end ifinfo
|
||||||
|
|
@ -24,7 +24,7 @@ Copyright @copyright{} 2003 Heikki Tauriainen
|
||||||
@end ifnothtml
|
@end ifnothtml
|
||||||
@end ifnotinfo
|
@end ifnotinfo
|
||||||
|
|
||||||
@ifhtml
|
@ifhtml
|
||||||
@html
|
@html
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@end html
|
@end html
|
||||||
|
|
@ -32,7 +32,7 @@ Copyright @copyright{} 2003 Heikki Tauriainen
|
||||||
Permission is granted to make and distribute verbatim
|
Permission is granted to make and distribute verbatim
|
||||||
copies of this manual provided the copyright notice and
|
copies of this manual provided the copyright notice and
|
||||||
this permission notice are preserved on all copies.
|
this permission notice are preserved on all copies.
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
Permission is granted to process this file through TeX
|
Permission is granted to process this file through TeX
|
||||||
and print the results, provided the printed document
|
and print the results, provided the printed document
|
||||||
|
|
@ -48,7 +48,7 @@ entitled ``GNU General Public License'' is included exactly
|
||||||
as in the original, and provided that the entire resulting
|
as in the original, and provided that the entire resulting
|
||||||
derived work is distributed under the terms of a
|
derived work is distributed under the terms of a
|
||||||
permission notice identical to this one.
|
permission notice identical to this one.
|
||||||
|
|
||||||
Permission is granted to copy and distribute
|
Permission is granted to copy and distribute
|
||||||
translations of this manual into another language,
|
translations of this manual into another language,
|
||||||
under the above conditions for modified versions.
|
under the above conditions for modified versions.
|
||||||
|
|
@ -68,7 +68,7 @@ under the above conditions for modified versions.
|
||||||
@author Heikki Tauriainen <@email{heikki.tauriainen@@hut.fi}>
|
@author Heikki Tauriainen <@email{heikki.tauriainen@@hut.fi}>
|
||||||
@page
|
@page
|
||||||
@vskip 0pt plus 1filll
|
@vskip 0pt plus 1filll
|
||||||
Copyright @copyright{} 2003 Heikki Tauriainen
|
Copyright @copyright{} 2004 Heikki Tauriainen
|
||||||
<@email{heikki.tauriainen@@hut.fi}>
|
<@email{heikki.tauriainen@@hut.fi}>
|
||||||
|
|
||||||
The latest version of this manual can be obtained from@*
|
The latest version of this manual can be obtained from@*
|
||||||
|
|
@ -77,7 +77,7 @@ The latest version of this manual can be obtained from@*
|
||||||
Permission is granted to make and distribute verbatim
|
Permission is granted to make and distribute verbatim
|
||||||
copies of this manual provided the copyright notice and
|
copies of this manual provided the copyright notice and
|
||||||
this permission notice are preserved on all copies.
|
this permission notice are preserved on all copies.
|
||||||
|
|
||||||
Permission is granted to copy and distribute modified
|
Permission is granted to copy and distribute modified
|
||||||
versions of this manual under the conditions for
|
versions of this manual under the conditions for
|
||||||
verbatim copying, provided also that the section
|
verbatim copying, provided also that the section
|
||||||
|
|
@ -86,7 +86,7 @@ is included exactly as in the original, and provided
|
||||||
that the entire resulting derived work is distributed
|
that the entire resulting derived work is distributed
|
||||||
under the terms of a permission notice identical to this
|
under the terms of a permission notice identical to this
|
||||||
one.
|
one.
|
||||||
|
|
||||||
Permission is granted to copy and distribute
|
Permission is granted to copy and distribute
|
||||||
translations of this manual into another language,
|
translations of this manual into another language,
|
||||||
under the above conditions for modified versions.
|
under the above conditions for modified versions.
|
||||||
|
|
@ -103,7 +103,7 @@ under the above conditions for modified versions.
|
||||||
for translating propositional linear temporal logic formulas into
|
for translating propositional linear temporal logic formulas into
|
||||||
B@"uchi automata.
|
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.
|
applies to @command{lbtt} versions 1.0.x.
|
||||||
|
|
||||||
@command{lbtt} is free software, you may change and redistribute it
|
@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
|
* Analyzing test results:: Working with @command{lbtt}'s internal
|
||||||
commands.
|
commands.
|
||||||
|
|
||||||
* Interfacing with @command{lbtt}:: Interfacing LTL-to-B@"uchi translators
|
* Interfacing with lbtt:: Interfacing LTL-to-B@"uchi translators
|
||||||
with @command{lbtt}.
|
with @command{lbtt}.
|
||||||
* The @command{lbtt-translate} utility:: An interface for two LTL-to-B@"uchi
|
|
||||||
translators.
|
|
||||||
|
|
||||||
* References:: List of references.
|
* References:: List of references.
|
||||||
|
|
||||||
|
|
@ -271,7 +269,7 @@ for more information.
|
||||||
formulas in the same state space using
|
formulas in the same state space using
|
||||||
an LTL-to-B@"uchi translator should
|
an LTL-to-B@"uchi translator should
|
||||||
give consistent results.
|
give consistent results.
|
||||||
* B@"uchi automata intersection emptiness check::
|
* Automata intersection emptiness check::
|
||||||
The intersection of the languages
|
The intersection of the languages
|
||||||
accepted by two B@"uchi automata
|
accepted by two B@"uchi automata
|
||||||
constructed from two complementary
|
constructed from two complementary
|
||||||
|
|
@ -811,7 +809,7 @@ $$
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
where
|
where
|
||||||
@iftex
|
@iftex
|
||||||
@tex
|
@tex
|
||||||
$\it{op}'$
|
$\it{op}'$
|
||||||
|
|
@ -1129,16 +1127,9 @@ and the model checking result consistency check
|
||||||
on the model checking results, and reports all detected failures.
|
on the model checking results, and reports all detected failures.
|
||||||
|
|
||||||
The B@"uchi automata intersection emptiness check
|
The B@"uchi automata intersection emptiness check
|
||||||
@ifnottex
|
(@pxref{Automata intersection emptiness check}) operates as follows (note that
|
||||||
(@pxref{B@"uchi automata intersection emptiness check})
|
the LTL-to-B@"uchi translation phase is repeated in this figure only for
|
||||||
@end ifnottex
|
completeness; in reality, @command{lbtt} performs this phase only once):
|
||||||
@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):
|
|
||||||
@ifhtml
|
@ifhtml
|
||||||
@*
|
@*
|
||||||
@end 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
|
@section Model checking result consistency check
|
||||||
|
|
||||||
@cindex model checking result consistency check
|
@cindex model checking result consistency check
|
||||||
|
|
@ -1217,7 +1208,7 @@ LTL model checking tells whether any of the infinite paths starting from some
|
||||||
state of a state space satisfies a given LTL formula. If there
|
state of a state space satisfies a given LTL formula. If there
|
||||||
are no such paths beginning from the state, it follows that all infinite paths
|
are no such paths beginning from the state, it follows that all infinite paths
|
||||||
beginning from the state must then satisfy the @emph{negation} of the same
|
beginning from the state must then satisfy the @emph{negation} of the same
|
||||||
formula. Since all state spaces used by @command{lbtt} always have at least
|
formula. Since all state spaces used by @command{lbtt} always have at least
|
||||||
one path beginning from each state of the state space (guaranteed by the
|
one path beginning from each state of the state space (guaranteed by the
|
||||||
state space generation algorithms), at least
|
state space generation algorithms), at least
|
||||||
one path beginning from any state must satisfy either the formula or its
|
one path beginning from any state must satisfy either the formula or its
|
||||||
|
|
@ -1245,9 +1236,8 @@ section.
|
||||||
@end iftex
|
@end iftex
|
||||||
|
|
||||||
|
|
||||||
@node B@"uchi automata intersection emptiness check, , Model checking result consistency check, Test methods
|
@node Automata intersection emptiness check, , Model checking result consistency check, Test methods
|
||||||
@section B@"uchi automata intersection emptiness check
|
@section Automata intersection emptiness check
|
||||||
@anchor{Automata intersection emptiness check}
|
|
||||||
|
|
||||||
@cindex B@"uchi automata intersection emptiness check
|
@cindex B@"uchi automata intersection emptiness check
|
||||||
@cindex tests, 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.
|
are optional and can be used to override the default testing parameters.
|
||||||
|
|
||||||
@menu
|
@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
|
tested requires a separate
|
||||||
@samp{Algorithm} section in the
|
@samp{Algorithm} section in the
|
||||||
configuration file.
|
configuration file.
|
||||||
* @samp{GlobalOptions} section:: Options for changing the general
|
* GlobalOptions section:: Options for changing the general
|
||||||
behavior of @command{lbtt}.
|
behavior of @command{lbtt}.
|
||||||
* @samp{FormulaOptions} section:: Options controlling the way random
|
* FormulaOptions section:: Options controlling the way random
|
||||||
LTL formulas are generated.
|
LTL formulas are generated.
|
||||||
* @samp{StateSpaceOptions} section:: Options controlling the way random
|
* StateSpaceOptions section:: Options controlling the way random
|
||||||
state spaces are generated.
|
state spaces are generated.
|
||||||
* Sample configuration file:: An example of a configuration file.
|
* Sample configuration file:: An example of a configuration file.
|
||||||
@end menu
|
@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
|
@subsection The @samp{Algorithm} section
|
||||||
|
|
||||||
@cindex configuration file, @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
|
@subsection The @samp{GlobalOptions} section
|
||||||
|
|
||||||
@cindex configuration file, @samp{GlobalOption} 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 IntersectionCheck @r{[}GlobalOptions@r{]}
|
||||||
@findex IntersectionTest @r{[}GlobalOptions@r{]}
|
@findex IntersectionTest @r{[}GlobalOptions@r{]}
|
||||||
This option can be used to enable or disable the B@"uchi automata intersection
|
This option can be used to enable or disable the B@"uchi automata intersection
|
||||||
emptiness check
|
emptiness check (@pxref{Automata intersection emptiness check}). The test is
|
||||||
@ifnottex
|
enabled by default.
|
||||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
|
||||||
@end ifnottex
|
|
||||||
@iftex
|
|
||||||
(@pxref{Automata intersection emptiness check}).
|
|
||||||
@end iftex
|
|
||||||
The test is enabled by default.
|
|
||||||
|
|
||||||
@item ModelCheck = Local @r{|} Global
|
@item ModelCheck = Local @r{|} Global
|
||||||
@findex ModelCheck @r{[}GlobalOptions@r{]}
|
@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
|
@subsection The @samp{FormulaOptions} section
|
||||||
|
|
||||||
@cindex configuration file, @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
|
@subsection The @samp{StateSpaceOptions} section
|
||||||
|
|
||||||
@cindex configuration file, @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
|
Usually this should probably be the same as the maximum number of
|
||||||
different atomic propositions in the generated formulas
|
different atomic propositions in the generated formulas
|
||||||
@ifnottex
|
(@pxref{FormulaOptions section}).
|
||||||
(@pxref{@samp{FormulaOptions} section}).
|
|
||||||
@end ifnottex
|
|
||||||
@iftex
|
|
||||||
(see the previous section).
|
|
||||||
@end iftex
|
|
||||||
If the number of propositions attached to each state of
|
If the number of propositions attached to each state of
|
||||||
the state spaces is less than the maximum number of different propositions that
|
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
|
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
|
@end table
|
||||||
|
|
||||||
|
|
||||||
@node Sample configuration file, , @samp{StateSpaceOptions} section, Configuration file
|
@node Sample configuration file, , StateSpaceOptions section, Configuration file
|
||||||
@subsection Sample configuration file
|
@subsection Sample configuration file
|
||||||
|
|
||||||
@cindex configuration file, example
|
@cindex configuration file, example
|
||||||
|
|
@ -2211,13 +2190,7 @@ between test rounds to wait for user input.
|
||||||
@vindex --intersectiontest
|
@vindex --intersectiontest
|
||||||
@vindex --nointersectiontest
|
@vindex --nointersectiontest
|
||||||
These options enable or disable the B@"uchi automata intersection emptiness
|
These options enable or disable the B@"uchi automata intersection emptiness
|
||||||
check
|
check (@pxref{Automata intersection emptiness check}).
|
||||||
@ifnottex
|
|
||||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
|
||||||
@end ifnottex
|
|
||||||
@iftex
|
|
||||||
(@pxref{Automata intersection emptiness check}).
|
|
||||||
@end iftex
|
|
||||||
|
|
||||||
@item --localmodelcheck
|
@item --localmodelcheck
|
||||||
@vindex --localmodelcheck
|
@vindex --localmodelcheck
|
||||||
|
|
@ -2545,7 +2518,7 @@ This option can be used to change the size of the generated state spaces.
|
||||||
@vindex --truthprobability
|
@vindex --truthprobability
|
||||||
This option sets the probability that @command{lbtt} uses for choosing the
|
This option sets the probability that @command{lbtt} uses for choosing the
|
||||||
valuation for each atomic proposition in each state of the randomly generated
|
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.)
|
spaces.)
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
@ -2643,8 +2616,8 @@ Program configuration:
|
||||||
Atomic symbols in use (priority):
|
Atomic symbols in use (priority):
|
||||||
false (5); propositions (90); true (5)
|
false (5); propositions (90); true (5)
|
||||||
Operators used for random LTL formula generation:
|
Operators used for random LTL formula generation:
|
||||||
operator ! /\ U V X \/
|
operator ! /\ U V X \/
|
||||||
priority 10 20 20 20 10 20
|
priority 10 20 20 20 10 20
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@node Test round messages, Test statistics, Configuration information, Interpreting the output
|
@node Test round messages, Test statistics, Configuration information, Interpreting the output
|
||||||
|
|
@ -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
|
the tests. After this @command{lbtt} proceeds to the model checking result
|
||||||
cross-comparison test (@pxref{Model checking result cross-comparison test}) and
|
cross-comparison test (@pxref{Model checking result cross-comparison test}) and
|
||||||
the B@"uchi automata intersection emptiness test
|
the B@"uchi automata intersection emptiness test
|
||||||
@ifnottex
|
|
||||||
(@pxref{B@"uchi automata intersection emptiness check}).
|
|
||||||
@end ifnottex
|
|
||||||
@iftex
|
|
||||||
(@pxref{Automata intersection emptiness check}).
|
(@pxref{Automata intersection emptiness check}).
|
||||||
@end iftex
|
|
||||||
|
|
||||||
The model checking result cross-comparison test might result in the following
|
The model checking result cross-comparison test might result in the following
|
||||||
output:
|
output:
|
||||||
|
|
@ -2886,13 +2854,8 @@ state of the state space).
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Number of failures in the B@"uchi automata intersection emptiness check
|
Number of failures in the B@"uchi automata intersection emptiness check
|
||||||
@iftex
|
(@pxref{Automata intersection emptiness check}) for each pair of
|
||||||
(@pxref{Automata intersection emptiness check})
|
implementations.
|
||||||
@end iftex
|
|
||||||
@ifnottex
|
|
||||||
(@pxref{B@"uchi automata intersection emptiness check})
|
|
||||||
@end ifnottex
|
|
||||||
for each pair of implementations.
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
Note that the pairwise inconsistency results form a symmetric matrix (although
|
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
|
@chapter Analyzing test results
|
||||||
|
|
||||||
This chapter documents how to use @command{lbtt}'s internal commands to
|
This chapter documents how to use @command{lbtt}'s internal commands to
|
||||||
|
|
@ -2921,7 +2884,7 @@ case a test failure is detected) between test rounds to wait for user input by
|
||||||
showing a prompt of the form
|
showing a prompt of the form
|
||||||
|
|
||||||
@smallexample
|
@smallexample
|
||||||
** [Round 22 of 1000] >>
|
** [Round 22 of 1000] >>
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
|
|
@ -3217,12 +3180,7 @@ automata correctness tests. The second part describes the conventions that
|
||||||
@cindex failure analysis, B@"uchi automata intersection check
|
@cindex failure analysis, B@"uchi automata intersection check
|
||||||
@cindex analyzing test failures, B@"uchi automata intersection emptiness check
|
@cindex analyzing test failures, B@"uchi automata intersection emptiness check
|
||||||
Analyze a failure in the 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}).
|
(@pxref{Automata intersection emptiness check}).
|
||||||
@end iftex
|
|
||||||
The two implementation identifiers select the B@"uchi automata for which
|
The two implementation identifiers select the B@"uchi automata for which
|
||||||
to perform the analysis. The B@"uchi automata intersection emptiness
|
to perform the analysis. The B@"uchi automata intersection emptiness
|
||||||
check always involves automata constructed from the positive and the negative
|
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}
|
@chapter Interfacing LTL-to-B@"uchi translators with @command{lbtt}
|
||||||
|
|
||||||
@cindex LTL-to-B@"uchi translators, interfacing with
|
@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
|
This chapter gives the details on how to use @command{lbtt} for
|
||||||
testing LTL-to-B@"uchi translation algorithm implementations that are not
|
testing LTL-to-B@"uchi translation algorithm implementations that are not
|
||||||
supported by the basic distribution. (See
|
supported by the basic distribution. (See
|
||||||
@ifnottex
|
@ref{The lbtt-translate utility}
|
||||||
@ref{The @command{lbtt-translate} utility}
|
|
||||||
@end ifnottex
|
|
||||||
@iftex
|
|
||||||
the next chapter
|
|
||||||
@end iftex
|
|
||||||
for information on how to connect several publicly available
|
for information on how to connect several publicly available
|
||||||
LTL-to-B@"uchi translator implementations to @command{lbtt}.)
|
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.
|
LTL-to-B@"uchi translator.
|
||||||
* Format for LTL formulas:: How @command{lbtt} passes LTL formulas
|
* Format for LTL formulas:: How @command{lbtt} passes LTL formulas
|
||||||
to the translators.
|
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.
|
to present their output.
|
||||||
|
* The lbtt-translate utility:: An interface for two LTL-to-B@"uchi
|
||||||
|
translators.
|
||||||
@end menu
|
@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
|
@section Translator interface requirements
|
||||||
|
|
||||||
@cindex LTL-to-B@"uchi translators, 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{input-file} and write its output (a B@"uchi automaton) into
|
||||||
@var{output-file} (without removing the input file); see
|
@var{output-file} (without removing the input file); see
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@ref{Format for LTL formulas} and @ref{B@"uchi automata}
|
@ref{Format for LTL formulas} and @ref{Format for automata}
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
@iftex
|
@iftex
|
||||||
the following two sections
|
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
|
@section Input file format for LTL formulas
|
||||||
|
|
||||||
@cindex LTL-to-B@"uchi translators, LTL formula input file format
|
@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}
|
@node Format for automata, The lbtt-translate utility, Format for LTL formulas, Interfacing with lbtt
|
||||||
@section Output file format for B@"uchi automata
|
@section Output file format for automata
|
||||||
|
|
||||||
@cindex file formats, LTL-to-B@"uchi translator output file
|
@cindex file formats, LTL-to-B@"uchi translator output file
|
||||||
@cindex LTL-to-B@"uchi translators, automaton output file format
|
@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:
|
described using the following grammar:
|
||||||
|
|
||||||
@smallexample
|
@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}
|
@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{state-id} @r{::=} @r{[}0@r{---}9@r{]+}
|
||||||
|
|
||||||
@var{initial?} @r{::=} `0' @r{|} `1'
|
@var{initial?} @r{::=} `0' @r{|} `1'
|
||||||
|
|
||||||
@var{acceptance-conditions} @r{::=} @var{acceptance-conditions} @var{sp} @var{acceptance-set-id}
|
@var{conds} @r{::=} @var{conds} @var{sp} @var{acceptance-set-id}
|
||||||
@r{|} @r{// empty}
|
@r{|} @r{// empty}
|
||||||
|
|
||||||
@var{acceptance-set-id} @r{::=} @r{[}0@r{---}9@r{]+}
|
@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
|
states or acceptance conditions can be listed in any order. The only
|
||||||
restrictions are that the identifiers of different states and acceptance
|
restrictions are that the identifiers of different states and acceptance
|
||||||
conditions should be unique and that the total number of different identifiers
|
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
|
respectively. (The same identifiers can be shared between states and acceptance
|
||||||
conditions, however.)
|
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
|
@section The @command{lbtt-translate} utility
|
||||||
|
|
||||||
@cindex @command{lbtt-translate} (executable file)
|
@cindex @command{lbtt-translate} (executable file)
|
||||||
|
|
@ -3847,17 +3802,18 @@ installation instructions. Then add the following @samp{Algorithm} section in
|
||||||
@smallexample
|
@smallexample
|
||||||
Algorithm
|
Algorithm
|
||||||
@{
|
@{
|
||||||
Name = "@var{name for the implementation}"
|
Name = "@r{[@var{name for the implementation}]}"
|
||||||
Path = "@var{path-to-@command{lbtt-translate}} @var{implementation-selector} @var{path-to-executable}"
|
Path = "@r{[@var{path-to-@command{lbtt-translate}}]}"
|
||||||
|
Parameters = "@r{[@var{implementation selector}]} @r{[@var{path to executable}]}"
|
||||||
Enabled = Yes
|
Enabled = Yes
|
||||||
@}
|
@}
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@noindent
|
@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,
|
file name of the @command{lbtt-translate} tool executable,
|
||||||
@var{implementation-selector} is either of the options @samp{--lbt} or
|
[@var{implementation selector}] is either of the options @samp{--lbt} or
|
||||||
@samp{--spin}, and @var{path-to-executable} is the full path
|
@samp{--spin}, and [@var{path to executable}] is the full path
|
||||||
of the tool executable. The names of these executables are usually (assuming
|
of the tool executable. The names of these executables are usually (assuming
|
||||||
a normal installation) @command{lbt} and @command{spin}, respectively.
|
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
|
@unnumbered References
|
||||||
|
|
||||||
@table @asis
|
@table @asis
|
||||||
|
|
@ -3884,7 +3840,7 @@ E.@: Clarke Jr., O.@: Grumberg and D.@: Peled. Model checking. The MIT Press,
|
||||||
1999.
|
1999.
|
||||||
|
|
||||||
@item @anchor{[Cou99]} [Cou99]
|
@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
|
@i{Proceedings of the World Congress on Formal Methods in the Development of
|
||||||
Computing Systems (FM'99), volume I}, volume 1708 of
|
Computing Systems (FM'99), volume I}, volume 1708 of
|
||||||
@i{Lecture Notes in Computer Science}, pages 253---271. Springer-Verlag, 1999.
|
@i{Lecture Notes in Computer Science}, pages 253---271. Springer-Verlag, 1999.
|
||||||
|
|
@ -3892,7 +3848,7 @@ Computing Systems (FM'99), volume I}, volume 1708 of
|
||||||
@item @anchor{[DGV99]} [DGV99]
|
@item @anchor{[DGV99]} [DGV99]
|
||||||
M.@: Daniele, F.@: Giunchiglia and M.@: Y.@: Vardi. Improved automata
|
M.@: Daniele, F.@: Giunchiglia and M.@: Y.@: Vardi. Improved automata
|
||||||
generation for linear temporal logic. In @i{Proceedings of the 11th
|
generation for linear temporal logic. In @i{Proceedings of the 11th
|
||||||
International Conference on Computer Aided Verification (CAV'99)}, volume 1633
|
International Conference on Computer Aided Verification (CAV'99)}, volume 1633
|
||||||
of @i{Lecture Notes in Computer Science}, pages 249---260. Springer-Verlag,
|
of @i{Lecture Notes in Computer Science}, pages 249---260. Springer-Verlag,
|
||||||
1999.
|
1999.
|
||||||
|
|
||||||
|
|
@ -4001,7 +3957,7 @@ manipulates.
|
||||||
* LTL formulas:: @command{lbtt} uses traditional semantics
|
* LTL formulas:: @command{lbtt} uses traditional semantics
|
||||||
for propositional linear temporal
|
for propositional linear temporal
|
||||||
logic.
|
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
|
have one initial state, labels on
|
||||||
transitions and zero or more
|
transitions and zero or more
|
||||||
acceptance conditions.
|
acceptance conditions.
|
||||||
|
|
@ -4010,7 +3966,7 @@ manipulates.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
|
||||||
@node LTL formulas, Generalized B@"uchi automata, Definitions, Definitions
|
@node LTL formulas, Generalized automata, Definitions, Definitions
|
||||||
@appendixsec LTL formulas
|
@appendixsec LTL formulas
|
||||||
|
|
||||||
@command{lbtt} uses the traditional definition for propositional linear
|
@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
|
@node Generalized automata, State spaces, LTL formulas, Definitions
|
||||||
@appendixsec Generalized B@"uchi automata
|
@appendixsec Generalized automata
|
||||||
|
|
||||||
@cindex B@"uchi automata, formal definition
|
@cindex B@"uchi automata, formal definition
|
||||||
@cindex generalized 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
|
with one initial state, labels on transitions and zero or more acceptance
|
||||||
conditions.
|
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
|
Formally, a generalized B@"uchi automaton can be represented as a tuple
|
||||||
@iftex
|
@iftex
|
||||||
|
|
@ -4575,7 +4531,7 @@ $Q$,
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
the automaton may have many runs on the same input.
|
the automaton may have many runs on the same input.
|
||||||
|
|
||||||
A run
|
A run
|
||||||
@iftex
|
@iftex
|
||||||
@tex
|
@tex
|
||||||
$\langle q_0, q_1, q_2, \ldots\rangle$
|
$\langle q_0, q_1, q_2, \ldots\rangle$
|
||||||
|
|
@ -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
|
@appendixsec State spaces
|
||||||
|
|
||||||
@cindex state space, formal definition
|
@cindex state space, formal definition
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
,,,,,,,,,,,,,,,
|
,,,,,,,,,,,,,,,
|
||||||
: State space :
|
: State space :
|
||||||
'''''''''''''''
|
'''''''''''''''
|
||||||
|
|
|
||||||
6339
lbtt/doc/texinfo.tex
6339
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#ifdef HAVE_SSTREAM
|
#ifdef HAVE_SSTREAM
|
||||||
#include <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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef BITARRAY_H
|
#ifndef BITARRAY_H
|
||||||
#define BITARRAY_H
|
#define BITARRAY_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <string>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <stack>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,15 +20,11 @@
|
||||||
#ifndef BUCHIAUTOMATON_H
|
#ifndef BUCHIAUTOMATON_H
|
||||||
#define BUCHIAUTOMATON_H
|
#define BUCHIAUTOMATON_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "EdgeContainer.h"
|
#include "EdgeContainer.h"
|
||||||
#include "Exception.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -368,7 +368,7 @@ static inline bool isLocked(int option)
|
||||||
/* Punctuation symbols. */
|
/* Punctuation symbols. */
|
||||||
|
|
||||||
%token CFG_LBRACE CFG_RBRACE CFG_EQUALS
|
%token CFG_LBRACE CFG_RBRACE CFG_EQUALS
|
||||||
%token CFG_BLOCK_ID, CFG_OPTION_ID
|
%token CFG_BLOCK_ID CFG_OPTION_ID
|
||||||
|
|
||||||
/* The `unknown' token. */
|
/* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef CONFIGURATION_H
|
#ifndef CONFIGURATION_H
|
||||||
#define CONFIGURATION_H
|
#define CONFIGURATION_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
@ -31,7 +27,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "FormulaRandomizer.h"
|
#include "FormulaRandomizer.h"
|
||||||
#include "StateSpaceRandomizer.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "DispUtil.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef DISPUTIL_H
|
#ifndef DISPUTIL_H
|
||||||
#define DISPUTIL_H
|
#define DISPUTIL_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef EXTERNALTRANSLATOR_H
|
#ifndef EXTERNALTRANSLATOR_H
|
||||||
#define EXTERNALTRANSLATOR_H
|
#define EXTERNALTRANSLATOR_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
|
|
@ -33,7 +29,7 @@
|
||||||
#else
|
#else
|
||||||
#include <strstream>
|
#include <strstream>
|
||||||
#endif /* HAVE_SSTREAM */
|
#endif /* HAVE_SSTREAM */
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "LtlFormula.h"
|
#include "LtlFormula.h"
|
||||||
#include "translate.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "FormulaRandomizer.h"
|
#include "FormulaRandomizer.h"
|
||||||
#include "Random.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,14 +20,10 @@
|
||||||
#ifndef FORMULARANDOMIZER_H
|
#ifndef FORMULARANDOMIZER_H
|
||||||
#define FORMULARANDOMIZER_H
|
#define FORMULARANDOMIZER_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "LtlFormula.h"
|
#include "LtlFormula.h"
|
||||||
|
|
||||||
namespace Ltl
|
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -34,7 +34,7 @@ using SLIST_NAMESPACE::slist;
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "Exception.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "FormulaWriter.h"
|
#include "FormulaWriter.h"
|
||||||
#include "LtlFormula.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,17 +20,13 @@
|
||||||
#ifndef LTLFORMULA_H
|
#ifndef LTLFORMULA_H
|
||||||
#define LTLFORMULA_H
|
#define LTLFORMULA_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
bin_PROGRAMS = lbtt lbtt-translate
|
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 \
|
BuchiAutomaton.cc Config-parse.yy Config-lex.ll Configuration.h \
|
||||||
Configuration.cc DispUtil.h DispUtil.cc EdgeContainer.h Exception.h \
|
Configuration.cc DispUtil.h DispUtil.cc EdgeContainer.h Exception.h \
|
||||||
FormulaRandomizer.h FormulaRandomizer.cc FormulaWriter.h LtlFormula.h \
|
FormulaRandomizer.h FormulaRandomizer.cc FormulaWriter.h LbttAlloc.h \
|
||||||
LtlFormula.cc main.cc PathEvaluator.h PathEvaluator.cc PathIterator.h \
|
LtlFormula.h LtlFormula.cc main.cc PathEvaluator.h PathEvaluator.cc \
|
||||||
PathIterator.cc ProductAutomaton.h ProductAutomaton.cc Random.h SccIterator.h \
|
PathIterator.h PathIterator.cc ProductAutomaton.h ProductAutomaton.cc \
|
||||||
SharedTestData.h StatDisplay.h StatDisplay.cc StateSpace.h StateSpace.cc \
|
Random.h SccIterator.h SharedTestData.h StatDisplay.h StatDisplay.cc \
|
||||||
StateSpaceRandomizer.h StateSpaceRandomizer.cc StringUtil.h StringUtil.cc \
|
StateSpace.h StateSpace.cc StateSpaceRandomizer.h StateSpaceRandomizer.cc \
|
||||||
TestOperations.h TestOperations.cc TestRoundInfo.h TestStatistics.h \
|
StringUtil.h StringUtil.cc TestOperations.h TestOperations.cc TestRoundInfo.h \
|
||||||
TestStatistics.cc UserCommandReader.h UserCommandReader.cc UserCommands.h \
|
TestStatistics.h TestStatistics.cc UserCommandReader.h UserCommandReader.cc \
|
||||||
UserCommands.cc
|
UserCommands.h UserCommands.cc
|
||||||
EXTRA_lbtt_SOURCES = gnu-getopt.h Config-parse.h
|
EXTRA_lbtt_SOURCES = gnu-getopt.h Config-parse.h
|
||||||
lbtt_LDADD = @LIBOBJS@ @READLINELIBS@
|
lbtt_LDADD = @LIBOBJS@ @READLINELIBS@
|
||||||
|
|
||||||
lbtt_translate_SOURCES = Alloc.h BitArray.h BitArray.cc Exception.h \
|
lbtt_translate_SOURCES = BitArray.h BitArray.cc Exception.h \
|
||||||
ExternalTranslator.h ExternalTranslator.cc FormulaWriter.h LbtWrapper.h \
|
ExternalTranslator.h ExternalTranslator.cc FormulaWriter.h LbttAlloc.h \
|
||||||
LtlFormula.h LtlFormula.cc NeverClaim-parse.yy NeverClaim-lex.ll \
|
LbtWrapper.h LtlFormula.h LtlFormula.cc NeverClaim-parse.yy NeverClaim-lex.ll \
|
||||||
NeverClaimAutomaton.h NeverClaimAutomaton.cc SpinWrapper.h SpinWrapper.cc \
|
NeverClaimAutomaton.h NeverClaimAutomaton.cc SpinWrapper.h SpinWrapper.cc \
|
||||||
StringUtil.h StringUtil.cc translate.h translate.cc TranslatorInterface.h
|
StringUtil.h StringUtil.cc translate.h translate.cc TranslatorInterface.h
|
||||||
EXTRA_lbtt_translate_SOURCES = gnu-getopt.h NeverClaim-parse.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <fstream>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,16 +20,12 @@
|
||||||
#ifndef NEVERCLAIMAUTOMATON_H
|
#ifndef NEVERCLAIMAUTOMATON_H
|
||||||
#define NEVERCLAIMAUTOMATON_H
|
#define NEVERCLAIMAUTOMATON_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
|
|
||||||
using namespace std;
|
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <stack>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,13 +20,9 @@
|
||||||
#ifndef PATHEVALUATOR_H
|
#ifndef PATHEVALUATOR_H
|
||||||
#define PATHEVALUATOR_H
|
#define PATHEVALUATOR_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "LtlFormula.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "PathIterator.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef PATHITERATOR_H
|
#ifndef PATHITERATOR_H
|
||||||
#define PATHITERATOR_H
|
#define PATHITERATOR_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "StateSpace.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "ProductAutomaton.h"
|
#include "ProductAutomaton.h"
|
||||||
#include "SccIterator.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,15 +20,11 @@
|
||||||
#ifndef PRODUCTAUTOMATON_H
|
#ifndef PRODUCTAUTOMATON_H
|
||||||
#define PRODUCTAUTOMATON_H
|
#define PRODUCTAUTOMATON_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "BuchiAutomaton.h"
|
#include "BuchiAutomaton.h"
|
||||||
#include "EdgeContainer.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Graph.h"
|
#include "Graph.h"
|
||||||
|
|
||||||
using namespace std;
|
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
#define SHAREDTESTDATA_H
|
#define SHAREDTESTDATA_H
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "TestRoundInfo.h"
|
#include "TestRoundInfo.h"
|
||||||
#include "TestStatistics.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#ifdef HAVE_SSTREAM
|
#ifdef HAVE_SSTREAM
|
||||||
#include <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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef SPINWRAPPER_H
|
#ifndef SPINWRAPPER_H
|
||||||
#define SPINWRAPPER_H
|
#define SPINWRAPPER_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "ExternalTranslator.h"
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "DispUtil.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,14 +20,10 @@
|
||||||
#ifndef STATDISPLAY_H
|
#ifndef STATDISPLAY_H
|
||||||
#define STATDISPLAY_H
|
#define STATDISPLAY_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "TestStatistics.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "DispUtil.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,12 +20,8 @@
|
||||||
#ifndef STATESPACE_H
|
#ifndef STATESPACE_H
|
||||||
#define STATESPACE_H
|
#define STATESPACE_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "EdgeContainer.h"
|
#include "EdgeContainer.h"
|
||||||
#include "Graph.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <climits>
|
#include <climits>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BitArray.h"
|
#include "BitArray.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "StateSpaceRandomizer.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef STATESPACERANDOMIZER_H
|
#ifndef STATESPACERANDOMIZER_H
|
||||||
#define STATESPACERANDOMIZER_H
|
#define STATESPACERANDOMIZER_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "Random.h"
|
#include "Random.h"
|
||||||
#include "StateSpace.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include "StringUtil.h"
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef STRINGUTIL_H
|
#ifndef STRINGUTIL_H
|
||||||
#define STRINGUTIL_H
|
#define STRINGUTIL_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
@ -33,7 +29,7 @@
|
||||||
#include <strstream>
|
#include <strstream>
|
||||||
#endif /* HAVE_SSTREAM */
|
#endif /* HAVE_SSTREAM */
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
|
|
||||||
using namespace std;
|
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,16 +20,12 @@
|
||||||
#ifndef TESTOPERATIONS_H
|
#ifndef TESTOPERATIONS_H
|
||||||
#define TESTOPERATIONS_H
|
#define TESTOPERATIONS_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "StateSpace.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "LtlFormula.h"
|
#include "LtlFormula.h"
|
||||||
#include "ProductAutomaton.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "TestStatistics.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,14 +20,10 @@
|
||||||
#ifndef TESTSTATISTICS_H
|
#ifndef TESTSTATISTICS_H
|
||||||
#define TESTSTATISTICS_H
|
#define TESTSTATISTICS_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BuchiAutomaton.h"
|
#include "BuchiAutomaton.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "ProductAutomaton.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
@ -50,6 +46,13 @@
|
||||||
#include <readline/history.h>
|
#include <readline/history.h>
|
||||||
#endif /* HAVE_READLINE */
|
#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;
|
input_line = line;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
round_info.cout << '\n';
|
|
||||||
round_info.cout.flush();
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
round_info.cout << prompt;
|
round_info.cout << prompt;
|
||||||
round_info.cout.flush();
|
round_info.cout.flush();
|
||||||
getline(cin, input_line, '\n');
|
getline(cin, input_line, '\n');
|
||||||
if (cin.eof())
|
if (cin.eof())
|
||||||
{
|
{
|
||||||
round_info.cout << '\n';
|
|
||||||
round_info.cout.flush();
|
|
||||||
cin.clear();
|
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 = "";
|
external_command = "";
|
||||||
string::size_type pipe_pos = input_line.find_first_of('|');
|
string::size_type pipe_pos = input_line.find_first_of('|');
|
||||||
|
|
@ -166,8 +190,11 @@ void executeUserCommands()
|
||||||
if (!input_tokens.empty())
|
if (!input_tokens.empty())
|
||||||
{
|
{
|
||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
add_history(line);
|
if (line != static_cast<char*>(0)) /* line may be 0 on EOF */
|
||||||
free(line);
|
{
|
||||||
|
add_history(line);
|
||||||
|
free(line);
|
||||||
|
}
|
||||||
#endif /* HAVE_READLINE */
|
#endif /* HAVE_READLINE */
|
||||||
round_info.cout << '\n';
|
round_info.cout << '\n';
|
||||||
round_info.cout.flush();
|
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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,15 +20,11 @@
|
||||||
#ifndef USERCOMMANDREADER_H
|
#ifndef USERCOMMANDREADER_H
|
||||||
#define USERCOMMANDREADER_H
|
#define USERCOMMANDREADER_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Exception.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include "DispUtil.h"
|
#include "DispUtil.h"
|
||||||
#include "Exception.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,17 +20,13 @@
|
||||||
#ifndef USERCOMMANDS_H
|
#ifndef USERCOMMANDS_H
|
||||||
#define USERCOMMANDS_H
|
#define USERCOMMANDS_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "BuchiAutomaton.h"
|
#include "BuchiAutomaton.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "ProductAutomaton.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
#include <readline/readline.h>
|
#include <readline/readline.h>
|
||||||
#include <readline/history.h>
|
#include <readline/history.h>
|
||||||
#endif /* HAVE_READLINE */
|
#endif /* HAVE_READLINE */
|
||||||
#include "Alloc.h"
|
#include "LbttAlloc.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "DispUtil.h"
|
#include "DispUtil.h"
|
||||||
#include "Exception.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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* 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.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma implementation
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
#include <fstream>
|
#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>
|
* Heikki Tauriainen <Heikki.Tauriainen@hut.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -20,10 +20,6 @@
|
||||||
#ifndef TRANSLATE_H
|
#ifndef TRANSLATE_H
|
||||||
#define TRANSLATE_H
|
#define TRANSLATE_H
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#pragma interface
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue