algorithm - data - parse 뜻




packrat 구문 분석이란 무엇입니까? (2)

Pyparsing 은 팩트 파싱을 지원하는 순수 Python 구문 분석 라이브러리이므로 구현 방법을 볼 수 있습니다. Pyparsing은 메모 작성 기술을 사용하여 입력 텍스트의 특정 위치에서 특정 문법 표현에 대한 이전 구문 분석을 저장합니다. 문법이 해당 위치에서 동일한 표현식을 다시 시도하는 경우 비싼 구문 분석 논리를 건너 뛰고 메모 저장 캐시에서 결과 또는 예외 만 반환합니다.

여기 pryshell의 FAQ 페이지 에는 Bryan Ford의 packrat 구문 분석에 대한 링크가 포함되어 있습니다.

나는 bison / yacc을 알고 사용합니다. 그러나 파싱 세계에서는 packrat 구문 분석과 관련하여 많은 소문이 있습니다.

이게 뭐야? 그게 실용 가치가 있니?


Packrat 파싱은 식 문법 (PEG)을 파싱 할 때 점근 적으로 더 나은 성능 을 제공하는 방법입니다. 특히 PEG의 경우 선형 시간 파싱을 보장 할 수 있습니다.

기본적으로 Packrat 구문 분석은 하위 표현식이 테스트 될 때 문자열의 현재 위치에서 일치하는지 여부를 캐싱하는 것을 의미합니다. 즉, 문자열을 표현식에 맞추려는 시도가 실패하면 다른 가능한 표현식에 맞추려는 시도가 도움이 될 수 있습니다. 이미 테스트 된 문자열의 지점에서 부분 표현의 합격 / 불합격.





parsing