Merge branch 'master' into next
* configure.ac, NEWS: Bump version to 1.99a at the same time.
This commit is contained in:
commit
8c2efa6615
8 changed files with 222 additions and 37 deletions
|
|
@ -69,6 +69,7 @@
|
|||
using namespace spot::ltl;
|
||||
static bool accept_all_needed = false;
|
||||
static bool accept_all_seen = false;
|
||||
static std::map<std::string, spot::location> labels;
|
||||
}
|
||||
|
||||
%token NEVER "never"
|
||||
|
|
@ -88,7 +89,7 @@ static bool accept_all_seen = false;
|
|||
%type <str> opt_dest formula_or_ident
|
||||
%type <p> transition src_dest
|
||||
%type <list> transitions transition_block
|
||||
%type <str> ident_list
|
||||
%type <str> one_ident ident_list
|
||||
|
||||
|
||||
%destructor { delete $$; } <str>
|
||||
|
|
@ -118,13 +119,22 @@ states:
|
|||
| states ';' state
|
||||
| states ';'
|
||||
|
||||
ident_list:
|
||||
IDENT ':'
|
||||
one_ident: IDENT ':'
|
||||
{
|
||||
namer->new_state(*$1);
|
||||
std::pair<std::map<std::string, spot::location>::const_iterator, bool>
|
||||
res = labels.insert(std::make_pair(*$1, @1));
|
||||
if (!res.second)
|
||||
{
|
||||
error(@1, std::string("redefinition of ") + *$1 + "...");
|
||||
error(res.first->second, std::string("... ") + *$1 + " previously defined here");
|
||||
}
|
||||
$$ = $1;
|
||||
}
|
||||
| ident_list IDENT ':'
|
||||
|
||||
|
||||
ident_list: one_ident
|
||||
| ident_list one_ident
|
||||
{
|
||||
namer->alias_state(namer->get_state(*$1), *$2);
|
||||
// Keep any identifier that starts with accept.
|
||||
|
|
@ -319,6 +329,7 @@ namespace spot
|
|||
}
|
||||
accept_all_needed = false;
|
||||
accept_all_seen = false;
|
||||
labels.clear();
|
||||
|
||||
delete namer;
|
||||
return result;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue