2016-10-10 3 views
0

+ является одним из Lex operators, поэтому, если он используется как текстовый символ, тогда он должен быть выполнен с помощью оператора эвакуации \. Поэтому почему эти два результата дают одинаковые результаты?Операторы Lex и escape-последовательности

[a+b] { printf("%s", yytext); } // matches a, +, or b 
[a\+b] { printf("%s", yytext); } // does same as above 

Почему первая строка не нарушает правило эвакуации?

ответ

0

Чтение несколько строк в ссылке документации, которую Вы предоставляете, Вы найдете:

В квадратных скобках большинство операторов игнорируются ...

(«Игнорируется», возможно, не Лучшее описание, символы не проигнорированы, они просто не являются специальными. Таким образом, плюс внутри квадратных скобок является просто плюсом.)

Смежные вопросы