Table of Contents
언어 파싱 알고리즘은 자연 언어 및 프로그래밍 언어의 이해와 처리에 필수적입니다. 다양한 응용 분야에 대한 효율성과 적합성을 평가하는 데 도움이되는 계산 복잡성을 분석합니다.
Parsing Algorithms의 유형
파싱 알고리즘은 최고 수준의 기능과 하단 업 접근 방식에 따라 분류될 수 있습니다. 탑다운 파서들은 시작 기호에서 시작되며 입력을 일치시키기 위해 다시 작성하려고 시도합니다. 아래 파서는 입력 토큰에서 파스 트리를 구축하면서 입력 토큰을 상향합니다.
공통 알고리즘
파싱 알고리즘의 계산성 복잡성은 유형과 문법에 따라 다릅니다. 예를 들어, 반복적인 백열 파서들은 일반적으로 LL(k) 문법에 대한 선형 시간에서 작동하며, 이어리 파서들은 최악의 경우 입방 시간 복잡성을 가진 모든 컨텍스트 프리 문법을 처리할 수 있습니다.
공장의 부합
- Grammar Type: 문법이 LL, LR, 또는 주변인지 여부에 관계없이 복잡성에 따라 달라집니다.
- 입력 길이:입력은 일반적으로 처리 시간을 증가시킵니다.
- Parser 구현: 최적화는 효율성을 향상시킬 수 있습니다.
- Lookahead: 의 양은 의 닮은 영향력을 활용한 것이다.