Parle Parle\RLexer::push
(PECL parle >= 0.5.1)
Parle\RLexer::push — Add a lexer rule
설명
public Parle\RLexer::push(string $regex
, int $id
): void
public Parle\RLexer::push( string $state, string $regex, int $id, string $newState ): void
public Parle\RLexer::push(string $state
, string $regex
, string $newState
): void
어휘 인식을 위한 패턴을 푸시합니다.
적절한 서명을 사용하여 'start state' 및 'exit state'를 지정할 수 있습니다.
매개변수
regex
- 토큰 일치에 사용되는 정규식입니다.
id
- 토큰 아이디. 렉서 인스턴스가 독립 실행형으로 사용되는 경우 임의의 숫자가 될 수 있습니다. 렉서 인스턴스가 파서에 전달될 예정이라면 Parle\RParser::tokenid()에 의해 반환된 ID여야 합니다.
state
- 주 이름. '*'가 시작 상태로 사용되면 규칙이 모든 렉서 상태에 적용됩니다.
newState
- 규칙이 적용된 후의 새 상태 이름입니다.
만약에 '.' 종료 상태로 지정된 경우 해당 규칙이 일치할 때 렉서 상태는 변경되지 않습니다. 이름 앞에 '>'가 있는 종료 상태는 푸시를 의미합니다. 연속 또는 재귀가 필요한 경우 연속 또는 일치 시작에 id가 없는 서명을 사용합니다.
종료 상태로 '<'를 지정하면 팝업을 의미합니다. 이 경우 ID가 포함된 서명을 사용하여 일치 항목을 식별할 수 있습니다. id가 지정된 경우에도 이전 푸시가 모두 팝업되면 규칙이 먼저 완료됩니다.
반환 값
값이 반환되지 않습니다.