[lbtt] Adjust parser to Bison 2.4.1.
This commit is contained in:
parent
352984293a
commit
2cc7c253f1
2 changed files with 76 additions and 66 deletions
|
|
@ -1,3 +1,13 @@
|
||||||
|
2009-05-31 Alexandre Duret-Lutz <adl@gnu.org>
|
||||||
|
|
||||||
|
Adjust parser to Bison 2.4.1.
|
||||||
|
|
||||||
|
* src/Config-parse.yy (yyerror): Move to the end of the file, to
|
||||||
|
please newer versions of Bison. With Bison 2.4.1 the various
|
||||||
|
token used by yyerror() are now defined only after the first
|
||||||
|
%{...%} block has been emitted (in which yyerror() was previously
|
||||||
|
defined).
|
||||||
|
|
||||||
2008-03-13 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
2008-03-13 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||||
|
|
||||||
* src/main.cc: Include <climits> for LONG_MAX. lbtt won't
|
* src/main.cc: Include <climits> for LONG_MAX. lbtt won't
|
||||||
|
|
@ -25,13 +35,13 @@
|
||||||
Update description of the --formulafile command line option.
|
Update description of the --formulafile command line option.
|
||||||
(Configuration::print): Do not display a file name when reading
|
(Configuration::print): Do not display a file name when reading
|
||||||
formulas from standard input.
|
formulas from standard input.
|
||||||
|
|
||||||
* src/SpotWrapper.h, src/SpotWrapper.cc: Merge files from
|
* src/SpotWrapper.h, src/SpotWrapper.cc: Merge files from
|
||||||
Spot 0.2 (contributed by Alexandre Duret-Lutz); remove #pragma
|
Spot 0.2 (contributed by Alexandre Duret-Lutz); remove #pragma
|
||||||
definitions.
|
definitions.
|
||||||
* src/ExternalTranslator.h, src/Makefile.in, src/translate.cc:
|
* src/ExternalTranslator.h, src/Makefile.in, src/translate.cc:
|
||||||
Merge changes from Spot 0.2 (contributed by Alexandre Duret-Lutz).
|
Merge changes from Spot 0.2 (contributed by Alexandre Duret-Lutz).
|
||||||
|
|
||||||
* doc/lbtt.texi: Fix typo in URL of the FormulaOptions block
|
* doc/lbtt.texi: Fix typo in URL of the FormulaOptions block
|
||||||
generator. Update version, add documentation and references about
|
generator. Update version, add documentation and references about
|
||||||
support for Spot. Describe the new semantics of the --formulafile
|
support for Spot. Describe the new semantics of the --formulafile
|
||||||
|
|
@ -133,7 +143,7 @@
|
||||||
log file.
|
log file.
|
||||||
|
|
||||||
* configure.ac: Add test for the setsid library function.
|
* configure.ac: Add test for the setsid library function.
|
||||||
|
|
||||||
2004-07-31 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2004-07-31 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* src/Product.h (ProductEdge::edge_1, ProductEdge::edge_2):
|
* src/Product.h (ProductEdge::edge_1, ProductEdge::edge_2):
|
||||||
|
|
@ -187,7 +197,7 @@
|
||||||
* doc/texinfo.tex: New upstream version.
|
* doc/texinfo.tex: New upstream version.
|
||||||
* doc/lbtt.texi: Update to edition 1.1.0.
|
* doc/lbtt.texi: Update to edition 1.1.0.
|
||||||
* NEWS: Update.
|
* NEWS: Update.
|
||||||
|
|
||||||
2004-07-02 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2004-07-02 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* src/UserCommandReader.cc (parseCommand): Recognize
|
* src/UserCommandReader.cc (parseCommand): Recognize
|
||||||
|
|
@ -266,13 +276,13 @@
|
||||||
New files for providing specializations of the general product
|
New files for providing specializations of the general product
|
||||||
computation operation applicable to Büchi automata and state
|
computation operation applicable to Büchi automata and state
|
||||||
spaces.
|
spaces.
|
||||||
|
|
||||||
* src/Makefile.am: Add BuchiProduct.h, BuchiProduct.cc,
|
* src/Makefile.am: Add BuchiProduct.h, BuchiProduct.cc,
|
||||||
Product.h, SccCollection.h and StateSpaceProduct.h to
|
Product.h, SccCollection.h and StateSpaceProduct.h to
|
||||||
lbtt_SOURCES.
|
lbtt_SOURCES.
|
||||||
Remove ProductAutomaton.h, ProductAutomaton.cc and
|
Remove ProductAutomaton.h, ProductAutomaton.cc and
|
||||||
SccIterator.h from lbtt_SOURCES.
|
SccIterator.h from lbtt_SOURCES.
|
||||||
|
|
||||||
* src/Graph.h.in (Graph::EdgeContainerType, Graph::Path): New
|
* src/Graph.h.in (Graph::EdgeContainerType, Graph::Path): New
|
||||||
type definitions.
|
type definitions.
|
||||||
(Graph::PathElement): New class.
|
(Graph::PathElement): New class.
|
||||||
|
|
@ -346,7 +356,7 @@
|
||||||
(printAcceptingCycle): Update parameter list and documentation.
|
(printAcceptingCycle): Update parameter list and documentation.
|
||||||
Display all relevant information about an accepting execution
|
Display all relevant information about an accepting execution
|
||||||
of a Büchi automaton.
|
of a Büchi automaton.
|
||||||
|
|
||||||
2004-05-18 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2004-05-18 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* configure.ac (YACC): Do not add `-d' here.
|
* configure.ac (YACC): Do not add `-d' here.
|
||||||
|
|
@ -374,7 +384,7 @@
|
||||||
|
|
||||||
* src/NeverClaim-lex.ll: Add %option nounput to avoid a
|
* src/NeverClaim-lex.ll: Add %option nounput to avoid a
|
||||||
compiler warning.
|
compiler warning.
|
||||||
|
|
||||||
* src/ExternalTranslator.h: Include the TempFsysName.h header.
|
* src/ExternalTranslator.h: Include the TempFsysName.h header.
|
||||||
(ExternalTranslator::TempFileObject): Remove.
|
(ExternalTranslator::TempFileObject): Remove.
|
||||||
(ExternalTranslator::registerTempFileObject): Change
|
(ExternalTranslator::registerTempFileObject): Change
|
||||||
|
|
@ -484,7 +494,7 @@
|
||||||
command line option.
|
command line option.
|
||||||
(printCommandHelp): Update the description of the `formula'
|
(printCommandHelp): Update the description of the `formula'
|
||||||
command.
|
command.
|
||||||
|
|
||||||
* src/UserCommandReader.cc (executeUserCommands): Accept one
|
* src/UserCommandReader.cc (executeUserCommands): Accept one
|
||||||
optional parameter for the `formula' command. Pass the input
|
optional parameter for the `formula' command. Pass the input
|
||||||
tokens as an additional parameter in the printFormula call.
|
tokens as an additional parameter in the printFormula call.
|
||||||
|
|
@ -514,7 +524,7 @@
|
||||||
* src/TempFsysName.h, src/TempFsysName.cc New files.
|
* src/TempFsysName.h, src/TempFsysName.cc New files.
|
||||||
* src/Makefile.am: Add TempFsysName.h and TempFsysName.cc to
|
* src/Makefile.am: Add TempFsysName.h and TempFsysName.cc to
|
||||||
lbtt_SOURCES.
|
lbtt_SOURCES.
|
||||||
|
|
||||||
* src/TestRoundInfo.h: Include the TempFsysName.h header.
|
* src/TestRoundInfo.h: Include the TempFsysName.h header.
|
||||||
(TestRoundInfo::formula_file_name[])
|
(TestRoundInfo::formula_file_name[])
|
||||||
(TestRoundInfo::automaton_file_name)
|
(TestRoundInfo::automaton_file_name)
|
||||||
|
|
@ -522,7 +532,7 @@
|
||||||
TempFsysName*.
|
TempFsysName*.
|
||||||
(TestRoundInfo::TestRoundInfo): Initialize temporary file
|
(TestRoundInfo::TestRoundInfo): Initialize temporary file
|
||||||
name pointers to 0.
|
name pointers to 0.
|
||||||
|
|
||||||
* src/main.cc: Include the TempFsysName.h header.
|
* src/main.cc: Include the TempFsysName.h header.
|
||||||
(allocateTempFilenames, deallocateTempFilenames): New functions.
|
(allocateTempFilenames, deallocateTempFilenames): New functions.
|
||||||
(abortHandler): New signal handler.
|
(abortHandler): New signal handler.
|
||||||
|
|
@ -867,7 +877,7 @@
|
||||||
after colon in output. Return 3 if an unexpected exception
|
after colon in output. Return 3 if an unexpected exception
|
||||||
occurred. In this case print an additional newline before the
|
occurred. In this case print an additional newline before the
|
||||||
error message.
|
error message.
|
||||||
|
|
||||||
2004-02-19 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
2004-02-19 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||||
|
|
||||||
* src/StringUtil.h: Include the IntervalList.h header.
|
* src/StringUtil.h: Include the IntervalList.h header.
|
||||||
|
|
@ -935,7 +945,7 @@
|
||||||
Reformat the automata file format section to avoid overfull lines
|
Reformat the automata file format section to avoid overfull lines
|
||||||
in dvi generation.
|
in dvi generation.
|
||||||
Fix description of the Algorithm block used with lbtt-translate.
|
Fix description of the Algorithm block used with lbtt-translate.
|
||||||
|
|
||||||
* doc/testprocedure.txt, doc/intersectioncheck.txt: Add initial
|
* doc/testprocedure.txt, doc/intersectioncheck.txt: Add initial
|
||||||
newlines.
|
newlines.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009
|
||||||
* Heikki Tauriainen <Heikki.Tauriainen@tkk.fi>
|
* Heikki Tauriainen <Heikki.Tauriainen@tkk.fi>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
|
@ -94,58 +94,7 @@ extern int yylex(); /* Reads the next token
|
||||||
* the lexer).
|
* the lexer).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void yyerror(const char* error_message); /* Fwd. definition. See below. */
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
*
|
|
||||||
* Function for reporting parse errors.
|
|
||||||
*
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
/* ========================================================================= */
|
|
||||||
void yyerror(const char* error_message)
|
|
||||||
/* ----------------------------------------------------------------------------
|
|
||||||
*
|
|
||||||
* Description: Function for reporting parse errors.
|
|
||||||
*
|
|
||||||
* Arguments: error_message -- An error message.
|
|
||||||
*
|
|
||||||
* Returns: Nothing. Instead, throws a
|
|
||||||
* Configuration::ConfigurationException initialized with the
|
|
||||||
* given error message.
|
|
||||||
*
|
|
||||||
* ------------------------------------------------------------------------- */
|
|
||||||
{
|
|
||||||
const string unknown_token(yytext);
|
|
||||||
string msg;
|
|
||||||
|
|
||||||
switch (expected_token)
|
|
||||||
{
|
|
||||||
case CFG_BLOCK_ID :
|
|
||||||
msg = "`" + unknown_token + "' is not a valid block identifier";
|
|
||||||
break;
|
|
||||||
case CFG_OPTION_ID :
|
|
||||||
if (!unknown_token.empty())
|
|
||||||
msg = "`" + unknown_token + "' is not a valid option identifier";
|
|
||||||
else
|
|
||||||
msg = "'}' expected at the end of block";
|
|
||||||
break;
|
|
||||||
case CFG_LBRACE :
|
|
||||||
msg = "`{' expected after block identifier";
|
|
||||||
break;
|
|
||||||
case CFG_EQUALS :
|
|
||||||
msg = "`=' expected after option identifier";
|
|
||||||
break;
|
|
||||||
case CFG_VALUE :
|
|
||||||
msg = "value for option expected";
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
msg = error_message;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw Configuration::ConfigurationException(config_file_line_number, msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
|
@ -632,6 +581,57 @@ formula_option: CFG_ABBREVIATEDOPERATORS equals_value
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Function for reporting parse errors.
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/* ========================================================================= */
|
||||||
|
void yyerror(const char* error_message)
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* Description: Function for reporting parse errors.
|
||||||
|
*
|
||||||
|
* Arguments: error_message -- An error message.
|
||||||
|
*
|
||||||
|
* Returns: Nothing. Instead, throws a
|
||||||
|
* Configuration::ConfigurationException initialized with the
|
||||||
|
* given error message.
|
||||||
|
*
|
||||||
|
* ------------------------------------------------------------------------- */
|
||||||
|
{
|
||||||
|
const string unknown_token(yytext);
|
||||||
|
string msg;
|
||||||
|
|
||||||
|
switch (expected_token)
|
||||||
|
{
|
||||||
|
case CFG_BLOCK_ID :
|
||||||
|
msg = "`" + unknown_token + "' is not a valid block identifier";
|
||||||
|
break;
|
||||||
|
case CFG_OPTION_ID :
|
||||||
|
if (!unknown_token.empty())
|
||||||
|
msg = "`" + unknown_token + "' is not a valid option identifier";
|
||||||
|
else
|
||||||
|
msg = "'}' expected at the end of block";
|
||||||
|
break;
|
||||||
|
case CFG_LBRACE :
|
||||||
|
msg = "`{' expected after block identifier";
|
||||||
|
break;
|
||||||
|
case CFG_EQUALS :
|
||||||
|
msg = "`=' expected after option identifier";
|
||||||
|
break;
|
||||||
|
case CFG_VALUE :
|
||||||
|
msg = "value for option expected";
|
||||||
|
break;
|
||||||
|
default :
|
||||||
|
msg = error_message;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw Configuration::ConfigurationException(config_file_line_number, msg);
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
*
|
*
|
||||||
* Main interface to the parser.
|
* Main interface to the parser.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue