라이브러리

[PHP] ParleLexer::build - 렉서 규칙 세트 완성




ParleLexer::build 소개

ParleLexer는 PHP의 파서 라이브러리 중 하나로, Parle는 PHP에서 사용할 수 있는 파서 생성기입니다. ParleLexer::build 메소드는 ParleLexer 인스턴스를 생성하고, 파서를 빌드하는 메소드입니다.

ParleLexer::build 사용법

ParleLexer::build 메소드는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
php

$lexer = ParleLexer::build($grammar);



* `$grammar`: 파서를 빌드할 때 사용할 그라프리즘을 지정합니다. 그라프리즘은 파서의 구문 분석 규칙을 정의합니다.

예제

다음 예제에서는 ParleLexer::build 메소드를 사용하여 간단한 계산기 파서를 빌드하는 방법을 보여줍니다.

#hostingforum.kr
php

// 그라프리즘 정의

$grammar = [

    'expr' => [

        ['term', '+', 'term'],

        ['term', '-', 'term'],

        ['term'],

    ],

    'term' => [

        ['factor', '*', 'factor'],

        ['factor', '/', 'factor'],

        ['factor'],

    ],

    'factor' => [

        ['number'],

        ['variable'],

        ['(', 'expr', ')'],

    ],

    'number' => [

        ['[0-9]+'],

    ],

    'variable' => [

        ['[a-zA-Z]+'],

    ],

];



// 파서 빌드

$lexer = ParleLexer::build($grammar);



// 파서 테스트

$input = '2 + 3 * 4';

$tokens = $lexer->tokenize($input);

foreach ($tokens as $token) {

    echo $token->type . ': ' . $token->value . "
";

}



이 예제에서는 계산기 파서를 빌드하고, 그 파서를 사용하여 입력 문자열을 토큰으로 분해하는 방법을 보여줍니다.

결과

파서 테스트를 실행하면 다음과 같은 결과가 출력됩니다.

#hostingforum.kr


NUMBER: 2

PLUS: +

NUMBER: 3

TIMES: *

NUMBER: 4



이 예제는 ParleLexer::build 메소드의 기본 사용법을 보여주며, 계산기 파서를 빌드하고 테스트하는 방법을 설명합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 344 페이지

검색

게시물 검색