나는 현재 GNU Bison을보고 프로그램 코드를 파싱하고있다. (실제로는 Bison을 사용하는 프로그램을 확장하기 위해). Bison은 LR (1) 문법 (즉, 특수 문맥없는 문법)만을 처리 할 수 있습니다 (또는 : 최선). 사실 저는 문맥 자유 및 LR (1) 문법의 규칙을 이해하고 있습니다.LR (1) 문법 : 말하는 법? for/against에 대한 예제?
그러나 어쨌든 저는 LR (1) 문법의 개념을 잘 이해하지 못하고 있습니다. 예를 들어, SQL을 가정하십시오. SQL은 문맥이없는 문법을 사용합니다. LR (1) 문법입니까? 내가 어떻게 말할 수 있니? 그리고 그렇다면 LR (1) 규칙을 위반하는 것은 무엇입니까?
실제로 : 부울 쿼리 및 부울 x 및 y에있는 SQL의 AND는 어떨까요? 그것은 LR을 위반합니까 (1)? – navige