LL과 LR 문법의 언어 이론 비교


67

사람들은 종종 LR (k) 파서가 LL (k) 파서 보다 강력 하다고 말합니다 . 이 진술은 대부분 모호하다. 특히, 고정 대한 클래스 케이또는 모든 대한 결합을 비교해야 케이합니까? 상황은 어떻습니까? 특히, 나는 LL (*)이 어떻게 적용되는지에 관심이 있습니다.

내가 아는 한, LL 및 LR 파서가 허용하는 각 문법 세트는 직교이므로 각 문법 세트에 의해 생성 된 언어에 대해 이야기합시다. 하자 에 의해 구문 분석 할 수 문법에 의해 생성 된 언어의 클래스 나타내는 파서를, 그리고 다른 클래스와 유사한.L R ( k )LR(케이)엘아르 자형(케이)

다음 관계에 관심이 있습니다.

  • 엘엘(케이)⊆?엘아르 자형(케이)
  • ⋃나는=1∞엘엘(케이)⊆?⋃나는=1∞엘아르 자형(케이)
  • ⋃나는=1∞엘엘(케이)=?엘엘(※)
  • 엘엘(※)∘?⋃나는=1∞엘아르 자형(케이)

이들 중 일부는 아마도 쉬울 것입니다. 나의 목표는 "완전한"비교를 수집하는 것입니다. 참조가 감사합니다.


2
아마도 이것이 당신을 도울 수 있습니다! 문법 계층 이미지
— Andrea Tucci

1
@AndreaTucci : 그렇습니다. 그러나 생성 된 언어가 아닌 문법만을 다루고 있습니다.
— 라파엘

답변:


60

알려진 많은 봉쇄가 있습니다. 하자 봉쇄 및 나타내는 ⊂ 적절한 봉쇄. 하자 ×이 incomparability을 나타낸다.⊆⊂×

하자 , L을 R = ⋃ k 값 L을 R ( K ) .엘엘=⋃케이엘엘(케이)엘아르 자형=⋃케이엘아르 자형(케이)

문법 수준

LL

  • 엘엘(0)⊂엘엘(1)⊂엘엘(2)⊂엘엘(2)⊂⋯⊂엘엘(케이)⊂⋯⊂엘엘⊂엘엘(※)
  • 에스엘엘(1)=엘엘(1),에스엘엘(케이)⊂엘엘(케이),에스엘엘(케이+1)×엘엘(케이)

이들 중 대부분은 Rosenkrantz와 Stearns 의 결정 론적 하향식 문법 속성 에서 입증되었습니다 . 는 다소 사소한 운동입니다. 이 프레젠테이션 테렌스 파르 의해 장소 L의 L ( *를 ) 슬라이드 (13)의 용지 LL-정규 Jarzabek 및 크라우 지크 표시하여 문법 L L의 ⊂ L의 L을 R , 그 증명은 소소 확장 L의 L의 ⊂의 L의 L ( * )에스엘엘(케이+1)×엘엘(케이)엘엘(※)엘엘⊂엘엘아르 자형엘엘⊂엘엘(※)

LR 용

  • 엘아르 자형(0)⊂에스엘아르 자형(1)⊂엘에이엘아르 자형(1)⊂엘아르 자형(1)
  • SLR(k)⊂LALR(k)⊂LR(k)
  • SLR(1)⊂SLR(2)⊂⋯⊂SLR(k)
  • LALR(1)⊂LALR(2)⊂⋯⊂LALR(k)
  • LR(0)⊂LR(1)⊂LR(2)⊂⋯⊂LR(k)⊂⋯⊂LR

이것들은 모두 간단한 연습입니다.

LL 대 LR

  • (결정 론적 하향식 문법과 왼쪽 재귀 문법의속성)LL(k)⊂LR(k)
  • (간단한 운동)엘엘(케이)×에스엘아르 자형(케이),엘에이엘아르 자형(케이),엘아르 자형(케이−1)
  • (모든 왼쪽 재귀 문법)엘엘⊂엘아르 자형
  • (왼쪽 재귀 대 임의 예측)엘엘(※)×엘아르 자형

언어 수준

LL

  • 엘엘(0)⊂엘엘(1)⊂엘엘(2)⊂⋯⊂엘엘(케이)⊂⋯⊂엘엘⊂엘엘(※)
  • 에스엘엘(케이)=엘엘(케이)

엘엘(케이)⊂엘엘(※)엘엘⊂엘엘아르 자형엘엘⊂엘엘(※)

LR 용

  • 엘아르 자형(0)⊂에스엘아르 자형(1)=엘에이엘아르 자형(1)=엘아르 자형(1)=에스엘아르 자형(케이)=엘에이엘아르 자형(케이)=엘아르 자형(케이)=엘아르 자형

이들 중 일부는 LR (k)을 도입 한 왼쪽에서 오른쪽 으로 의 언어 번역 에 관한 논문에서 Knuth에 의해 입증되었으며 , 나머지는 LR (k) 문법을 LR (1), SLR (1) 로 변환 하는 것으로 입증되었습니다 . 및 (1,1) Bounded Right-Context Grammars by Mickunas et al.

LL 대 LR

  • 엘엘⊂엘아르 자형(1){에이나는비제이|나는≥제이}
  • 엘엘(※)×엘아르 자형{에이나는비제이|나는≥제이}
  • 엘아르 자형(1)=디씨에프엘

그래도 훌륭한 대답은 이미 찬성했습니다. Frank deRemer가 자신의 원래 LALR 논문에서 LALR <= LR을 증명했다고 생각했을까요? (1969?)
— user207421

엘에이엘아르 자형(케이)⊆엘아르 자형(케이)엘에이엘아르 자형엘아르 자형

1
@AlextenBrink 나는 신문을 읽었고 Frank de Remer가 가르쳤다. 그러나 30 년 전이었다. ;-) 모든 세부 사항에 감사드립니다.
— user207421

각 불평등에 대한 예제 문법을 수집하는 것이 좋습니다.
— o11c

1
@ o11c 나는 단일 답변에 부담을 줄 것이라고 생각합니다. Alex는 필요한 경우 좋은 참고 자료를 제공했습니다. 그는 일부 사람들에게 "쉬운 운동"이라고 말합니다. 독자가 문법을 만들 수 없다면, 특정 사례를 묻는 새로운 질문을 게시 할 수 있습니다.
— Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.