2017-10-27 15 views
0

나는이 언어에 대한 npda를 그리려고하지만 캔트 나는에 대한 npda 수행 동작의 순서를 작성하는 방법을 알고 싶어 그것을공식 언어 Npda 그래프

enter image description here

을 얻을 수가 입력 시퀀스 w = aacb. 그리고 문자열 w가 받아 들여지 는가?

덕분에 난 그냥 캔트 스택을 건드리지 않고이

답변

1
  1. 적어도 두 개의 A의 읽기 할 것으로 보인다. 다른 것이 보이면 충돌이 발생합니다.
  2. 계속해서 a를 읽은 다음 읽은 스택마다 스택을 밀어 넣습니다.
  3. c를 읽은 경우 즉시 다음에 b를 읽거나 충돌해야합니다. 스택을 변경하지 마십시오.
  4. b를 읽으면 계속해서 (ac) 읽기를 시작할 준비를하십시오. 스택을 변경하지 마십시오.
  5. 스택이 비어 있지 않으면 a를 읽은 다음 c를 누르거나 충돌해야합니다. a를 읽은 다음 c를 읽으면 스택에서 하나의 a를 팝합니다.
  6. 크래시가 발생하거나 스택을 여러 번 읽은 후 스택이 비게 될 때까지 계속하십시오. 입력이 모두 소모되면 승인하십시오. 그렇지 않으면 충돌이 발생합니다.

더 자세한 내용을 보려면 상태 전환 다이어그램을 보려면 알려주십시오. 나는 당신이 먼저 자신의 것을 쓰는 것이 좋습니다.