0

Left recursion은 재귀 적 파생 구문 분석의 기초 위에 구축 된 많은 파서 생성기에서 큰 문제인 것으로 보입니다. 내가 그것을 지원하는 PEG 기반 파서 생성기를 찾고 있어요 - 어떤 언어로. http://tratt.net/laurie/research/publications/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf왼쪽 재귀를 지원하는 PEG 기반 파서 생성기가 있습니까?

저자는 PEG/자료가 많 구문 분석에서 왼쪽 재귀 규칙을 처리하기위한 여러 방법을 설명합니다

+0

위키 백과에서 말한 것처럼 PEG는 왼쪽 재귀를 지원하지 않습니다. "PEG는 문자열에서 앞으로 이동하지 않고 규칙이 자체를 참조하는 왼쪽 재귀 규칙을 표현할 수 없습니다." 하지만 왼쪽 재귀를 제거하려고 시도 할 수도 있습니다. – delnan

+0

그럼 사용자 개입없이 왼쪽 재귀를 변형 시키거나 제거하는 PEG에 대해 열려 있습니다. –

+1

가능한 복제본 [왼쪽 재귀를 처리 할 수있는 모든 PEG 파서?] (http://stackoverflow.com/questions/4397039/any-peg-parser-capable-to-handle-left-reursion) – bummi

답변

2

여기에 사용할 수있는 주제에 대한 논문이있다.

+0

최대한 멀리 할 수 ​​있습니다. 한 가지 접근법과 그 주위의 몇 가지 문제를 처리 할 수있는 몇 가지 방법이 설명되어 있습니다 – ruediste

0

내 파서 생성기 AustenX (scratchy.nz/austen.php)는 옵션 순서가 중요한 곳에서 왼쪽 재귀 (간접 포함)를 지원합니다. 마음에 Packrat 파서이지만 기억을 떨어 뜨릴 수 있으며 아무런 차이가 없습니다.