라이브러리
[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 메소드의 기본 사용법을 보여주며, 계산기 파서를 빌드하고 테스트하는 방법을 설명합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.