Tomita가 GLR을 생성하고 Earley를 사용하지 않은 이유는 무엇입니까?


11

Earley 파싱을 볼 때 매우 우아해 보이며 GLR 기술이 인기를 얻는 이유가 궁금합니다. Tomita가 GLR을 만든 Earley 구문 분석의 문제점을 아는 사람이 있습니까? 공연? 이 토론에 대한 모든 출판물은 높이 평가됩니다.


5
GLR은 문법의 일부에 대한 결정론적인 구문 분석을 허용합니다. 이 아이디어가 채택 된 Elkhound ( scottmcpeak.com/elkhound )를 참조하십시오 . 그러나 자연어의 경우 GLR이 Earley보다 낫다는 것은 분명하지 않습니다.
Sylvain

1
@Sylvain : 나에게 대답처럼 들린다 ...
Joshua Grochow

답변:


5

안하는 것보다 늦게하는 것이 낫다.

내가 올바르게 이해한다면 Earley는 하향식이며 주어진 S (i)에서 모든 프로덕션에 대해 Earley 항목을 만드는 데 시간과 메모리를 소비 할 것 입니다. 이것은 자연어의 경우 S (0)에서 문장을 시작하는 모든 가능한 단어에 대해 Earley 항목을 만들고 확인한다는 것을 의미하며 그 단어가 많이 있습니다.

그러나 GLR은 상향식이므로 효율적인 해시 테이블 / 상태 조회를 가정하면 첫 번째 토큰은 일정한 시간에 다음 전환을 선택합니다.

이것은 자연어의 경우, 특히 엄청나게 많은 제작물이있는 경우에 해당됩니다. 그러나 매우 적은 양의 제작으로 프로그래밍 언어에는 의미가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.