[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>
|
||||
|
||||
* src/main.cc: Include <climits> for LONG_MAX. lbtt won't
|
||||
|
|
@ -25,13 +35,13 @@
|
|||
Update description of the --formulafile command line option.
|
||||
(Configuration::print): Do not display a file name when reading
|
||||
formulas from standard input.
|
||||
|
||||
|
||||
* src/SpotWrapper.h, src/SpotWrapper.cc: Merge files from
|
||||
Spot 0.2 (contributed by Alexandre Duret-Lutz); remove #pragma
|
||||
definitions.
|
||||
* src/ExternalTranslator.h, src/Makefile.in, src/translate.cc:
|
||||
Merge changes from Spot 0.2 (contributed by Alexandre Duret-Lutz).
|
||||
|
||||
|
||||
* doc/lbtt.texi: Fix typo in URL of the FormulaOptions block
|
||||
generator. Update version, add documentation and references about
|
||||
support for Spot. Describe the new semantics of the --formulafile
|
||||
|
|
@ -133,7 +143,7 @@
|
|||
log file.
|
||||
|
||||
* configure.ac: Add test for the setsid library function.
|
||||
|
||||
|
||||
2004-07-31 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* src/Product.h (ProductEdge::edge_1, ProductEdge::edge_2):
|
||||
|
|
@ -187,7 +197,7 @@
|
|||
* doc/texinfo.tex: New upstream version.
|
||||
* doc/lbtt.texi: Update to edition 1.1.0.
|
||||
* NEWS: Update.
|
||||
|
||||
|
||||
2004-07-02 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* src/UserCommandReader.cc (parseCommand): Recognize
|
||||
|
|
@ -266,13 +276,13 @@
|
|||
New files for providing specializations of the general product
|
||||
computation operation applicable to Büchi automata and state
|
||||
spaces.
|
||||
|
||||
|
||||
* src/Makefile.am: Add BuchiProduct.h, BuchiProduct.cc,
|
||||
Product.h, SccCollection.h and StateSpaceProduct.h to
|
||||
lbtt_SOURCES.
|
||||
Remove ProductAutomaton.h, ProductAutomaton.cc and
|
||||
SccIterator.h from lbtt_SOURCES.
|
||||
|
||||
|
||||
* src/Graph.h.in (Graph::EdgeContainerType, Graph::Path): New
|
||||
type definitions.
|
||||
(Graph::PathElement): New class.
|
||||
|
|
@ -346,7 +356,7 @@
|
|||
(printAcceptingCycle): Update parameter list and documentation.
|
||||
Display all relevant information about an accepting execution
|
||||
of a Büchi automaton.
|
||||
|
||||
|
||||
2004-05-18 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* configure.ac (YACC): Do not add `-d' here.
|
||||
|
|
@ -374,7 +384,7 @@
|
|||
|
||||
* src/NeverClaim-lex.ll: Add %option nounput to avoid a
|
||||
compiler warning.
|
||||
|
||||
|
||||
* src/ExternalTranslator.h: Include the TempFsysName.h header.
|
||||
(ExternalTranslator::TempFileObject): Remove.
|
||||
(ExternalTranslator::registerTempFileObject): Change
|
||||
|
|
@ -484,7 +494,7 @@
|
|||
command line option.
|
||||
(printCommandHelp): Update the description of the `formula'
|
||||
command.
|
||||
|
||||
|
||||
* src/UserCommandReader.cc (executeUserCommands): Accept one
|
||||
optional parameter for the `formula' command. Pass the input
|
||||
tokens as an additional parameter in the printFormula call.
|
||||
|
|
@ -514,7 +524,7 @@
|
|||
* src/TempFsysName.h, src/TempFsysName.cc New files.
|
||||
* src/Makefile.am: Add TempFsysName.h and TempFsysName.cc to
|
||||
lbtt_SOURCES.
|
||||
|
||||
|
||||
* src/TestRoundInfo.h: Include the TempFsysName.h header.
|
||||
(TestRoundInfo::formula_file_name[])
|
||||
(TestRoundInfo::automaton_file_name)
|
||||
|
|
@ -522,7 +532,7 @@
|
|||
TempFsysName*.
|
||||
(TestRoundInfo::TestRoundInfo): Initialize temporary file
|
||||
name pointers to 0.
|
||||
|
||||
|
||||
* src/main.cc: Include the TempFsysName.h header.
|
||||
(allocateTempFilenames, deallocateTempFilenames): New functions.
|
||||
(abortHandler): New signal handler.
|
||||
|
|
@ -867,7 +877,7 @@
|
|||
after colon in output. Return 3 if an unexpected exception
|
||||
occurred. In this case print an additional newline before the
|
||||
error message.
|
||||
|
||||
|
||||
2004-02-19 Heikki Tauriainen <heikki.tauriainen@hut.fi>
|
||||
|
||||
* src/StringUtil.h: Include the IntervalList.h header.
|
||||
|
|
@ -935,7 +945,7 @@
|
|||
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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
|
@ -94,58 +94,7 @@ extern int yylex(); /* Reads the next token
|
|||
* the lexer).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* 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);
|
||||
}
|
||||
void yyerror(const char* error_message); /* Fwd. definition. See below. */
|
||||
|
||||
%}
|
||||
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue