문맥없는 문법으로 생성 된 언어 찾기


11

이것은 Dragon book의 질문입니다 (번역 실수로 사과드립니다. 영어 버전은 없습니다).

이 문법으로 어떤 언어가 생성됩니까?

에스에스에스에스에스ϵ

내가 여기서 무엇을해야하는지 모르겠습니다. 언어에 대한 책의 정의는 이것을 말합니다 (그리고 그것은 장에서 거의 같습니다).

언어는 구문 분석 트리에서 생성 할 수있는 모든 단어 집합입니다.

따라서이 문법에서 "임의의"구문 분석 트리를 만들려면 처음 두 규칙 만 사용하여 재귀 적으로 계속해서 작성할 수 있습니다. 조금 검색하고 모든 규칙을 한 번 사용해야한다는 인상을 받았지만 확실하지 않습니다. 누군가 이런 종류의 문제를 해결하는 데 도움이되는 팁을 제공 할 수 있다면 매우 도움이 될 것입니다.


1
힌트 : 정규 표현식 사용
Bartosz Przybylski

팁은 아래 답변을 참조하십시오. 귀하의 질문에 대한 답변으로 : 아니오, 모든 규칙을 적어도 한 번 사용할 필요는 없습니다. 시작 기호 (또는 공리)로 시작하고 터미널 기호 (여기서는 소문자) 만 남을 때까지 다시 쓰기 규칙을 적용하십시오.
Hendrik Jan

빈 문자열이 터미널 기호가 아니라고 가정하면 터미널 기호 만 남을 수는 없거나 잘못 이해하고 있습니까?
dan


에스에스에스에스에스에스에스

답변:


6

누군가 이런 종류의 문제를 해결하는 데 도움이되는 팁을 제공 할 수 있다면 매우 도움이 될 것입니다.

여기에는 한 가지 크기에 맞는 레시피가 없습니다. 두 개의 CFG가 동일한 언어를 생성하는지 또는 두 개의 CFL이 동일한 언어인지는 일반적으로 결정 불가능합니다. 유용한 방법은 생산 중에 변하지 않는 특성을 알아 내려고 노력하는 것입니다.


5

힌트 :이 문법으로 생성 된 단어를 구성하십시오. 패턴이 보입니까? 규칙을보고 문법으로 생성 된 모든 단어의 일부 속성을 설명 할 수 있습니까? 문법으로 생성 된 언어에 대해 (올바른) 추측을하면이를 증명하기가 어렵지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.