Правило по умолчанию применяется только в том случае, если не найдено других правил.Таким образом, вы можете просто вставить свое собственное правило, которое соответствует любому отдельному символу, как последнее правило:
.|\n { /* Your default action. */ }
Оно должно идти в конце, потому что (F) lex будет отдавать приоритет более ранним правилам в файле, которые имеюттот же матчВам нужно явно упомянуть \n
(если вы не уверены, что какое-то другое правило будет ему соответствовать), поскольку в (F) lex, .
соответствует любому символу , за исключением новой строки.
Если вы используете Flex и не хотите, чтобы правило по умолчанию использовалось, рекомендуется ввести
%option nodefault
в ваш пролог.Это подавит правило по умолчанию и выдаст предупреждение, если есть входные данные, которые могут не соответствовать ни одному правилу.(Если вы проигнорируете предупреждение, для такого ввода будет выдана ошибка времени выполнения.)