(PECL parle >= 0.5.1)
Parle\RLexer::push — Добавляет правило лексера
Добавляет шаблон для распознавания лексемы.
"Начальное состояние" и "состояние выхода" можно указать с помощью подходящей сигнатуры.
regexРегулярное выражение, используемое для сопоставления токенов.
idИдентификатор токена. Если экземпляр лексера предназначен для автономного использования, это может быть произвольное число. Если экземпляр лексера будет передан синтаксическому анализатору, это должен быть идентификатор, возвращаемый Parle\RParser::tokenid().
stateНазвание состояния. Если в качестве начального состояния используется '*', то правило применяется ко всем состояниям лексера.
newStateНовое название состояния после применения правила.
Если в качестве состояния выхода указано '.', то состояние лексера не изменяется, когда правило совпадает. Состояние выхода с '>' перед именем означает добавление. Используйте сигнатуру без идентификатора либо для продолжения, либо для начала сопоставления, когда требуется продолжение или рекурсия.
Если в качестве состояния выхода указано '<', это означает извлечение. В этом случае сигнатура, содержащая идентификатор, может использоваться для идентификации совпадения. Обратите внимание, что даже в том случае, если указан идентификатор, правило завершится первым, когда будут выполнены все предыдущие добавления.
Функция не возвращает значения после выполнения.