나는 다음과 같은 문법을 작성했습니다), (()()) 등SLR 문법에 빈 프로덕션이 포함될 수 있습니까?</p> <pre><code>S->S (S) S S->e </code></pre> <p>전자 그래서이 문법 인식 언어 (처럼 왼쪽과 오른쪽 괄호 일치하는 모든 문자열을 포함</p> <p>"빈 문자열"), (() 의미 :
그리고 이것은 문법, 여기에 내가 SLR 파싱 테이블 구성 방법하지 SLR입니다 :
기능 보강이 g를 rammar :
가S1-> S S-> S (S) S S-> E
그럼 위해 LR (0)을 구성하는 기계적 :
I0 : S1->. S S -> S (S) S S ->.
I1 : S1-> S.
I0에 대한 양해 바랍니다 S-> S.는 (S) S
...을 처음 토큰 어긋남 또는 '('입력 심볼에 대한 작업을 줄일 없다 . 임의의 문자열이 문법이 생성
이그래서 SLR 파싱 테이블 상태 I0에 있기 때문에 오류가 발생합니다, 그것은 문자열을 구문 분석 할 때 무엇을 해야할지하지 않습니다. (())
내 질문은 :
이 문법을 SLR이 아닌 범인은 무엇입니까? 빈 문자열 제작입니까? 즉 : S-> e. ?
그리고 일반적으로 SLR 문법은 빈 프로덕션을 가질 수 있습니까? 이 예에서 S-> e와 같습니다. 감사합니다. .