Parle Parle\Parser 클래스

(PECL parle >= 0.5.1)


소개

파서 클래스. 규칙은 즉석에서 정의할 수 있습니다. 완료되면 Parle\Lexer 인스턴스가 토큰 스트림을 전달하는 데 필요합니다.


클래스 개요

                  
class Parle\Parser {

  /* Constants */
  const int ACTION_ERROR = 0;
  const int ACTION_SHIFT = 1;
  const int ACTION_REDUCE = 2;
  const int ACTION_GOTO = 3;
  const int ACTION_ACCEPT = 4;
  const int ERROR_SYNTAX = 0;
  const int ERROR_NON_ASSOCIATIVE = 1;
  const int ERROR_UNKNOWN_TOKEN = 2;

  /* Properties */
  public int $action = 0;
  public int $reduceId = 0;

  /* Methods */
  public advance(): void
  public build(): void
  public consume(string $data, Parle\Lexer $lexer): void
  public dump(): void
  public errorInfo(): Parle\ErrorInfo
  public left(string $tok): void
  public nonassoc(string $tok): void
  public precedence(string $tok): void
  public push(string $name, string $rule): int
  public reset(int $tokenId = ?): void
  public right(string $tok): void
  public sigil(int $idx): string
  public token(string $tok): void
  public tokenId(string $tok): int
  public trace(): string
  public validate(string $data, Parle\Lexer $lexer): bool
}
                  
                

미리 정의된 상수

Parle\Parser::ACTION_ERROR
Parle\Parser::ACTION_SHIFT
Parle\Parser::ACTION_REDUCE
Parle\Parser::ACTION_GOTO
Parle\Parser::ACTION_ACCEPT
Parle\Parser::ERROR_SYNTAX
Parle\Parser::ERROR_NON_ASSOCIATIVE
Parle\Parser::ERROR_UNKNOWN_TOKEN

Properties

action
작업 클래스 상수 중 하나와 일치하는 현재 파서 작업, 읽기 전용.
reduceId
감소 작업에서 방금 처리된 문법 규칙 ID입니다. 값은 토큰 또는 프로덕션 ID에 해당합니다. 읽기 전용.

목차