▲lifthrasiir 2021-04-05 | parent | favorite | on: 파서 제너레이터도 오류를 잘 생성할 수 있다.(dalinaum.github.io)현실에서 볼 수 있는 거의 모든 언어는 LL(1) 문법을 가지고 있어서 LR 파서를 쓰지 않아도 선형 시간 파싱이 가능합니다. (해당 언어에 선호되는 문법이 LL(1)이라는 뜻은 아닙니다.) 따라서 선형 시간 파싱을 위해서 LR 파서를 써야 하는데 파싱 테이블을 만들기 어렵기 때문에 생성기가 필요하다는 말씀은 선후관계가 뒤집힌 것입니다. 또한 파싱 테이블을 만드는 과정 자체가 본질적으로 복잡하지는 않습니다(알고리즘의 증명이 어렵죠).
현실에서 볼 수 있는 거의 모든 언어는 LL(1) 문법을 가지고 있어서 LR 파서를 쓰지 않아도 선형 시간 파싱이 가능합니다. (해당 언어에 선호되는 문법이 LL(1)이라는 뜻은 아닙니다.) 따라서 선형 시간 파싱을 위해서 LR 파서를 써야 하는데 파싱 테이블을 만들기 어렵기 때문에 생성기가 필요하다는 말씀은 선후관계가 뒤집힌 것입니다. 또한 파싱 테이블을 만드는 과정 자체가 본질적으로 복잡하지는 않습니다(알고리즘의 증명이 어렵죠).