"빈 문자열"을 제외하고 엡실론 의미는 무엇입니까?
이 ε 기호는 가장 간단한 방법으로는 아무 의미도 없습니다.
$ 의미?
$는 입력의 시작 또는 입력의 끝을 의미 할 수 있습니다. 그러나 여기에 시작 상태가 stmt
인 CFG가 있기 때문에 입력 시작으로 end of input
이 $로 시작할 수 없음을 의미합니다.
어떻게 R3가 가능합니까? 그것에는 입력 스트림에 존재하지 않는 무엇인가로가는 이 될 요인으로 갈 용어가 있습니다.
초심자에게는 이런 종류의 문제가 있습니다. 그것은 정상적인 것이어야합니다. 이런 종류의 생산은 일종의 재귀 적 생산입니다. 그러나 입력을 파싱 할 때 쉽게 해결됩니다. 다음 생산 R4 인 term_tail ---> ε을 볼 수 있습니다. term_tail을 대체 할 때마다 입력이 필요하지 않을 때마다이 제작을 사용하여 해당 단계를 처리 할 수 있습니다. 그래서, 당신이 생각해 왔던 것에 대한 무한 재귀가 없습니다 ...
세 번째 글 머리 기호는 두 번째 페이지입니까?
문법에서 term_tail을 따라갈 수있는 입력 문자입니다.이 문장은 두 번째 글 머리 기호 에서 언급 한 질문에 대한 대답입니다. "그렇다면 R4를 적용 할 때 어떤 입력 문자가 소비 될 수 있습니까?" 사실, term_tail 위해 파생 될 것입니다 입력 문자열은 2 가지 방법으로 수행 할 수 있습니다 -
그 글 머리 기호 포인트의 도움을 통해
EITHER term_tail ---> add_op term term_tail OR term_tail ---> ϵ
, 저자의 실제적인 중요성을 강조하기 위해 노력하고있다 하향식 구문 분석에서 FOLLOW() 함수는입니다. 저자의 의도는 두 번째 페이지 상단에 "R4를 적용 할 수있는 입력 문자가 무엇입니까?"에서 언급 한 바와 같이 R4가 하향식 구문 분석에 적용될 수있는 조건을 평가하는 것입니다.
FOLLOW() of term_tail
은 '$', ')'이됩니다. FOLLOW() 함수의 규칙을 연구 할 때 이것을 계산할 수 있습니다.
NOTE (VERY VERY-중요) -
팔로우() 우리 파생 비 종단 후에 올 수있는 단말기를 도시한다. 이것은 비 터미널에서 파생 된 마지막 터미널을 의미하지 않는다는 점에 유의하십시오. 그 다음에 올 수있는 단말기 세트입니다. 우리는 문법의 모든 비 - 터미널에 대해 FOLLOW()를 정의합니다.
FOLLOW()를 어떻게 알 수 있습니까? 화살표의 오른쪽에있는 각 문구의 첫 번째 터미널을 보는 대신, 우리는 비 터미널이 화살표의 오른쪽에있는 모든 장소를 찾습니다. 그런 다음 우리는 일부 터미널을 찾습니다.
[ask]를 읽으십시오. 지금이 문제는 SO에 적합하지 않습니다. –
ε은 정확히 "전혀 아님"을 의미합니다. $는 관행에 따라 입력의 끝을 의미합니다. R3은 term-tail은 add-op 다음에 term-tail이 뒤따라 오는 term이라는 것을 말합니다. add-op는'+'또는'-' (규칙 11과 12)이므로 입력의 다음 토큰 ('+')과 일치합니다. 그리고 이것은 적절한 질문이 아닙니다. – rici
@EngineerDollery는 그것을 삭제해야합니까? – mmswe