18 문맥없는 문법에 다음과 같은 오토 마톤의 "죽은 상태"가 포함될 수 있습니다 G=({a,b,c},{A,B,C},{A→aB,B→b,B→C,C→cC},A)?G=({a,b,c},{A,B,C},{A→aB,B→b,B→C,C→cC},A)? 생산 규칙 및 는 영원히 반복되며 단어를 생성하지 않습니다. 이것이 허용되거나 생산 규칙이 어느 시점에서 터미널로 끝나야합니까?C → c CB→CB→CC→cCC→c씨 context-free automata formal-grammars — r3r57 소스
24 문맥이없는 문법에는 비생산적인 규칙 이 포함될 수 있습니다 . 모든 CFG는 비생산적인 규칙, 빈 문자열 생성 및주기가없는 적절한 CFG 와 동일한 언어를 생성하기 때문에 허용 됩니다. 따라서 CFG가 일반성을 잃지 않고 적절하다고 가정하는 것이 안전합니다. — ilke444 소스 확실하지 않음 : 적절한 CFG는 두 가지 요구 사항을 더 충족해야합니다. 그래서 저는 이것을 재구성 할 것입니다. — reinierpost @ reinierpost : 비생산적 규칙을 금지하지만 여전히 부적절한 CFG를 포함하는 CFG 클래스가 있다는 것을 의미한다고 생각합니다. 나는 재구성은 단순하게 할 수있을 것 같아요 : "하지 않는 예를 들어, 그들이" — mhelvens 비생산적인 규칙이없는 모든 CFG가 올바른 것은 아니며 이는 귀하의 진술과 모순됩니다. 그러나 비생산적인 규칙을 명시 적으로 배제함으로써 적절한 CFG의 정의는 이것이 임의의 CFG에서 가능하다는 것을 명확하게합니다. — reinierpost 개선해 주셔서 감사합니다. CFG에는 이러한 규칙을 포함 할 수없는 하위 클래스가 있다고 말하고 싶었습니다. — ilke444 비생산적인 규칙, 빈 문자열 생성 및 ({a}, {A}, {A-> epsilon}, A)와 동일한 언어를 생성하는주기가없는 올바른 CFG가 있습니까? 나는 첫 문장을 좋아한다. 어쩌면 두 번째 문장은 "CFG의 정의는 생산의 왼쪽으로 유한 한 터미널 및 비 터미널 문자열을 허용하기 때문입니다." — Theodore Norvell
3 네 물론 이죠 모든 NFA는 CFG로 작성 될 수 있습니다. '죽은 상태'(내가 가르친 용어는 '싱크')로 DFA를 구축하는 것은 쉽지 않습니다. G = ( { a } , { A } , { A → A } , A )지=({ㅏ},{ㅏ},{ㅏ→ㅏ},ㅏ){ a }{ㅏ} ϵϵ — 데이비드 소스