라이브러리

[PHP] ParleLexer::dump - 상태 머신 덤프




ParleLexer::dump

ParleLexer는 PHP의 파서 라이브러리 중 하나로, PHP 7.4 이상에서 사용할 수 있습니다. ParleLexer::dump 메서드는 파서 트리(DOM)를 문자열로 덤프하는 메서드입니다.

dump 메서드의 사용법

dump 메서드는 파서 트리(DOM)를 문자열로 덤프하는 메서드입니다. 파서 트리(DOM)는 PHP의 파서가 생성하는 트리 구조의 데이터입니다. dump 메서드는 이 트리 구조의 데이터를 문자열로 덤프하여 반환합니다.

예제

다음 예제는 ParleLexer::dump 메서드를 사용하여 파서 트리(DOM)를 덤프하는 방법을 보여줍니다.

#hostingforum.kr
php

use ParleLexer;



// 파서 트리(DOM) 생성

$parser = new Lexer();

$parser->addRule('start', 'a|b');

$parser->addRule('a', 'A');

$parser->addRule('b', 'B');

$parser->parse('AB');



// 덤프

$dump = $parser->dump();

print($dump);



이 예제에서는 `ParleLexer` 클래스의 인스턴스를 생성하고, 파서 규칙을 추가합니다. 파서 규칙은 `start` 규칙이 `a` 또는 `b` 규칙을 가리키는 규칙입니다. `a` 규칙은 `A` 문자를 가리키는 규칙이고, `b` 규칙은 `B` 문자를 가리키는 규칙입니다. 파서가 `AB` 문자열을 파싱한 후, `dump` 메서드를 사용하여 파서 트리(DOM)를 덤프합니다.

덤프 결과

덤프 결과는 다음과 같습니다.

#hostingforum.kr
php

#0 [0..1] 'A'

  - type: 'a'

  - start: 0

  - end: 1

  - value: 'A'

#1 [1..2] 'B'

  - type: 'b'

  - start: 1

  - end: 2

  - value: 'B'



덤프 결과는 파서 트리(DOM)의 노드 정보를 보여줍니다. 각 노드는 `#`로 식별되고, `type` 속성은 노드의 타입을 나타내고, `start`와 `end` 속성은 노드의 시작과 끝 위치를 나타내고, `value` 속성은 노드의 값입니다.

덤프 옵션

덤프 옵션을 사용하여 덤프 결과를 조정할 수 있습니다. 덤프 옵션은 다음과 같습니다.

* `indent`: 덤프 결과를 들여쓰기합니다.
* `max_depth`: 덤프 결과의 최대 깊이를 지정합니다.
* `max_width`: 덤프 결과의 최대 너비를 지정합니다.

덤프 옵션을 사용하는 예제는 다음과 같습니다.

#hostingforum.kr
php

$dump = $parser->dump([

    'indent' => true,

    'max_depth' => 2,

    'max_width' => 80,

]);



덤프 옵션을 사용하여 덤프 결과를 조정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색