fix line number tracking in files with DOS newlines

* src/dstarparse/dstarscan.ll, src/kripkeparse/kripkescan.ll,
src/neverparse/neverclaimscan.ll, src/tgbaparse/tgbascan.ll:
Distinguish between 1-sized EOL and 2-sized EOL.
* src/kripketest/bad_parsing.test, src/tgbatest/neverclaimread.test,
src/tgbatest/readsave.test: Add more tests.
* NEWS: Mention it.
* src/kripkeparse/scankripke.ll: Remove this unused file.
This commit is contained in:
Alexandre Duret-Lutz 2014-11-18 11:07:02 +01:00
parent 881afd67ba
commit 45e9b96b66
9 changed files with 48 additions and 128 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2013 Laboratoire de Recherche et Développement
/* Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
** de l'Epita (LRDE).
**
** This file is part of Spot, a model checking library.
@ -31,7 +31,8 @@
typedef dstaryy::parser::token token;
%}
eol \n|\r|\n\r|\r\n
eol \n+|\r+
eol2 (\n\r)+|(\r\n)+
%x in_COMMENT in_STRING
%%
@ -42,6 +43,7 @@ eol \n|\r|\n\r|\r\n
%}
{eol} yylloc->lines(yyleng); return token::EOL;
{eol2} yylloc->lines(yyleng / 2); return token::EOL;
/* skip blanks and comments */
[ \t]+ yylloc->step();