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