현재 언어에 대한 영어 설명을 취한 다음 해당 설명을 사용하여 해당 사양의 DFA를 만드는 프로그램을 작성 중입니다. 나는 특정 작업을 허용한다. example {w | w는 처음에는 01이라는 서브 문자열을 가짐} 및 짝수 홀수 서브 스트링, k 서브 스트링보다 덜 정확하거나 정확하게 같은 다른 옵션을 갖는다. 사용자는 또한 알파벳을 선택한다.런타임에 DFA 만들기. 얼마나 많은 주?
내 질문은 내가 얼마나 많은 주를 필요로하는지 어떻게 알 수 있습니까? 사용자가 내 알파벳과 규칙을 제공하기 때문에 런타임까지는 아무 것도 모른다. 이전에 DFA/전환 테이블을 만들었지 만 이러한 경우에는 DFA가 무엇인지 알았고 클래스에서이를 선언하거나 정적으로 설정할 수있었습니다. 나는 5 개의 tupil (Q, Σ, δ, q0, F)을 사용해야합니까? 아니면 다른 접근법을 취하고 있습니까? 문제 해결에 도움이된다면 고맙겠습니다.