parseaut: fix parsing of /*****/

* spot/parseaut/scanaut.ll: Here.
* tests/core/strength.test: Add a test.
* NEWS: Mention the bug.
This commit is contained in:
Alexandre Duret-Lutz 2016-04-18 18:38:55 +02:00
parent 17c57b5272
commit ae82f1a85d
3 changed files with 8 additions and 6 deletions

1
NEWS
View file

@ -3,6 +3,7 @@ New in spot 2.0a (not yet released)
Bug fixes:
* Typo in documentation of the -H option in --help output.
* The automaton parser would choke on comments like /******/.
New in spot 2.0 (2016-04-11)

View file

@ -76,7 +76,7 @@ identifier [[:alpha:]_][[:alnum:]_.-]*
{eol} yylloc->lines(yyleng); yylloc->step();
{eol2} yylloc->lines(yyleng / 2); yylloc->step();
[ \t\v\f]+ yylloc->step();
"/""*"+ {
"/*" {
orig_cond = YY_START;
BEGIN(in_COMMENT);
comment_level = 1;
@ -281,13 +281,13 @@ identifier [[:alpha:]_][[:alnum:]_.-]*
<in_COMMENT>{
"/""*"+ ++comment_level;
"/*" ++comment_level;
[^*/\n\r]* continue;
"/"[^*\n\r]* continue;
"*"+[^*/\n\r]* continue;
{eol} yylloc->lines(yyleng); yylloc->end.column = 1;
"*" continue;
{eol} yylloc->lines(yyleng); yylloc->end.column = 1;
{eol2} yylloc->lines(yyleng / 2); yylloc->end.column = 1;
"*"+"/" {
"*/" {
if (--comment_level == 0)
{
yylloc->step();

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2015 Laboratoire de Recherche et Developpement
# Copyright (C) 2015, 2016 Laboratoire de Recherche et Developpement
# de l'Epita
#
# This file is part of Spot, a model checking library.
@ -588,3 +588,4 @@ State: 4
EOF
diff out expected
autfilt -q expected