Странная ошибка в flex, вызванная reg exp - PullRequest
0 голосов
/ 04 апреля 2019

Я попытался запустить 2 фрагмента кода на flex. Первый код работает нормально. Я изменил только строку 5 с «printable ([bc])» на «printable ((?! A) [abc])» что является точно таким же значением, и код не с этими ошибками:

...(lots of bad character errors)
ex.lex:21: bad character: %
ex.lex:21: bad character: %
ex.lex:21: EOF encountered inside pattern
ex.lex:21: unrecognized rule
ex.lex:21: fatal parse error

Есть предложения?

Спасибо, Надав

This code works:(didn't add the functions' declerations)

%}
%option noyywrap
letter [a-zA-Z]
lower [a-z]
printable ([bc])
%x COMMENT
%%
\/\* BEGIN(COMMENT);
<COMMENT>\/\* error(1);
<COMMENT>\*\/ BEGIN(INITIAL);
<COMMENT>{printable}* showToken("comment");
<COMMENT>. error(1);
@import showToken("import");
@ error(2);
. showToken("idk");
%%

This code doesn't work:

...
printable ((?!a)[abc])
...
...