2010-01-25 2 views
19

I am writingGLR parser generator과 인터넷 및 사기 나무 다양성 (괴짜에 익숙하지 않은 사람들을위한 책) 모두에서이 알고리즘과 관련된 리소스에 대한 조언을 듣고 싶습니다.GLR 구문 분석 알고리즘 리소스

나는 Bison이 GLR 파서를 생성 할 수 있다는 것을 알고 있으며, GPL에서 코드를 검사 할 수는 있지만 알고리즘에 대한 자세한 설명은 좋을 것입니다.

그래서 아무도 내가 사용할 수있는 좋은 자원을 알고 있지 않습니까? 감사.

+0

아주 멋진 프로젝트입니다 (파서 생성기가 아닌 간략한 프로젝트). 나는 그 발전에 관심을 기울일 것입니다. –

+0

불행히도 저는 많은 일들에 정신이 산 적이 있었기 때문에 프로젝트가 중단되었지만 더 많은 작업이 곧 시작될 것입니다! – ljs

답변

10

내가 온라인 전에 건너 한 일부 좋은 물건 :

에서 더 상세히 님

그리고 세 번째 오픈 소스 GLR 파서 : DParser을 알고 있습니다.

+0

우수! 고맙습니다. – ljs

2

내가 아는 바로는 모호성이 발생할 경우를 제외하고는 LALR 파서와 동일하게 작동합니다.

그럴 때는 기본적으로 가능한 옵션에 해당하는 별도의 구문으로 나누어서 연속으로 처리합니다. 구문 분석에 실패하면 (잘못된 요소가 발생하여) 간단히 삭제됩니다. 더 이른 모호함에 틀린 추측 이었음에 틀림 없다.

결국 하나의 구문 분석을 제외한 모든 것이 죽었어야하며 살아남은 것은 모호한 점의 "올바른"구문 분석입니다.

+0

정말 그렇게 간단합니까?아니면 거기에 특정 대안 GLR 알고리즘이 있습니까? – ljs

+0

그건 기본적으로 필자가 Bison 매뉴얼 (http://www.gnu.org/software/bison/manual/bison.html#GLR-Parsers)을 읽은 것입니다. GLR 파서가 어떻게 작동하는지는 분명히 분명합니다. –

+0

이보다 조금 더 복잡 할 수도 있습니다. –

3

내가 알고리즘의 각 단계를 보여주는 사진과 함께, 본 가장 좋은 설명은이 책에 포함되어 있습니다 : 의사에 대한

http://books.google.ca/books?id=05xA_d5dSwAC&lpg=PA381&dq=generalized%20deterministic%20parsers&pg=PA381#v=onepage&q=generalized%20deterministic%20parsers&f=false

가 소스로 이동 : 토미 타에 의해 일반화 LR 구문 분석, 70 쪽 정도. 파시의 논문은 간단한 설명을 담고있다.

http://books.google.ca/books?id=PvZiZiVqwHcC&lpg=PP1&dq=generalized%20lr%20parsing&pg=PA70#v=onepage&q=&f=false

내가 qb.js 위해 노력 기술 (qbasic in javascript) 중 하나입니다.

5

Adrian Johnstone은 GLR 알고리즘의 고급 버전에서 많은 작업을 게시합니다. 그의 publications website은 아마도 흥미로운 리소스가 될 것입니다.