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가 지정된 경우에도 이전 푸시가 모두 팝업되면 규칙이 먼저 완료됩니다.


반환 값

값이 반환되지 않습니다.