Правило по умолчанию:
.|\n ECHO;
(при каждом условии запуска)
Помните, что .
в (f) лекс не соответствует символу новой строки.
Чтобы отключить правило по умолчанию, используйте объявление
%option nodefault
Как только вы это сделаете, вы получите предупреждение, если ваши правила не охватывают все возможные случаи.Если вы проигнорируете предупреждение и воспользуетесь сгенерированным сканером, он остановится с фатальной ошибкой, если входные данные не будут совпадать ни с одним шаблоном.
Поскольку вам вряд ли когда-нибудь понадобится правило по умолчанию, я рекомендую всегда использовать приведенный выше %option
.
Если у вас есть какое-то собственное правило по умолчанию, вы можете поместить его в качестве последнего правила в вашем файле:
<*>.|\n /* default action here */