Секция правил – обязательная секция файла спецификации лексем. Она должна начинаться после первой разделительной пары знаков процента %%, и может продолжаться либо до секции подпрограмм, либо до конца файла спецификации лексем, если секция подпрограмм отсутствует. Эта секция предназначена для спецификации набора правил распознавания и обработки лексем во входном потоке стандартного ввода символьной информации. Любые входные символы, которые не соответствуют заданному набору правил, передаются в выходной поток стандартного вывода без изменений. Таким образом, лексический анализатор интерпретирует входной поток в соответствии с заданным набором правил.
Каждое правило должно начинаться с первой позиции новой строки секции правил и может занимать произвольное число строк. Между строками правил может произвольное число пустых строк и строк, содержащих комментарии или объявления глобальных переменных, которые оформляются в соответствии с синтаксисом языка программирования C. Аналогично секции описаний, комментарии и объявления глобальных переменных могут начинаться с любой позиции своих строк, кроме первой.
Количество правил непосредственно не регламентировано, но в неявной форме ограничено принятыми размерами внутренних таблиц программы лексического анализатора. В большинстве случаев, когда гарантирована однозначность интерпретации лексем, порядок перечисления правил не имеет значения. В общем случае правило состоит из двух частей и имеет следующий формат:

REGULAR       ACTION

В этой спецификации REGULAR обозначает регулярное выражение для распознавания лексем входного потока, а ACTION – действие, которое предусмотрено для обработки лексем. Обе части правила должен разделять, по крайней мере, один символ пробела или табуляции.
В левой части правила может быть задано любое регулярное выражение. При необходимости в нем могут присутствовать макросы регулярных определений и метки предусловий из секции описаний, указанные, соответственно, в фигурных и угловых скобках. В частном случае в правиле может отсутствовать регулярное выражение.
В правой части действия правила могут быть специфицированы любые синтаксически корректные инструкции языка программирования C, которые должны выполняться лексическим анализатором, когда обнаружено соответствие символов входного потока регулярному выражению правила. Если соответствие регулярным выражениям правил не обнаружено, выполняется действие по умолчанию, которое обеспечивает автоматическое копирование символов входного потока стандартного ввода в выходной поток стандартного вывода. Таким образом, можно сказать, что действие это набор инструкций, которые выполняются вместо копирования входного потока в выходной.
В действия правил могут быть включены комментарии, декларации локальных переменных, операторы, выражения и вызовы стандартных функций системы программирования C или функций, специфицированных в секции подпрограмм, которые необходимы для реализации требуемой обработки лексем входного потока. Кроме того, в блоках действий доступны внешние переменные и макроопределения констант из секции описаний, а также собственные встроенные переменные, стандартные функции и операторы генератора LEX.
Количество инструкций в действиях правил не регламентировано. В частности, допустимы правила даже с пустым действием, однако, правила без действий не разрешены. С другой стороны гарантирована корректная обработка многострочных спецификаций действий с произвольным количеством строк и инструкций в них, которые объединяются в блок действий, ограниченный фигурными скобками. При этом блок действий должен начинаться в той же строке, где указано регулярное выражение правила.
На практике в секцию правил могут быть включены правила, которые обладают различными специфическими особенностями своей структуры. Типичными частными разновидностями правил являются:


Перечисленные структурные особенности действий и регулярных выражений можно комбинировать для построения правил, которые обеспечивают требуемую обработку входного потока. Различные варианты формирования правил рассмотрены ниже.