FSA가 'nice'문자열을 허용하는 방법을 알고 있지만 (FSA가 허용하는 언어는 프로그래밍 언어 일 수 있습니까?(프로그래밍) 언어 수락 자로 유한 상태 오토 마톤
이 같은가요?; 내가 알파벳 A = {1,2, +, -} 및 언어 L = {1 + 1,1 + 2,1-1,1-2}라고 말하면 내 FSA는 이렇게 보입니다.
-->[1]--1-->[2]--+-->[3]--1-->[[5]]
| |
- 2-->[[6]]
|
v
[4]--1-->[[7]]
|
2-->[[8]]
수용 상태가 5, 6, 7, 8에 도달하면 가치가 있어야하며 따라서 프로그래밍 언어를 정의 했습니까?
그리고 중첩 된 FSA를 포함하도록 확장하면 '1plus2'및 'sqrt (9)'와 같은 문자열을 계산할 수 있습니다.
이 생각이 맞습니까?
는 "중첩 된 FSA"같은 일이 있습니까? 내 인상은 (무제한) 중첩이 무한 상태로 연결된다는 것입니다. – delnan
그럼 내 지식이 부족합니다. 중첩 된 FSA는 실제로 튜링 기계와 비슷할 것입니다. FSA 내에서 서브 루틴을 실행하는 방법을 생각하고있었습니다. 불가능할 수도 있지만 실제적인 질문은 어떻게 할 수 있습니까? FSA는 프로그래밍 언어 수락 자의 역할을합니까? 나는 언어가 어떻게 받아 들여지는지 알지 만, 어떻게 행동을합니까? 즉 상태 5를 쳤을 때 레지스터에 저장할 수 있거나 내가해야 할 일을하기 위해 가치 2를 가지고 있음을 어떻게 알 수 있습니까? 어떤 식 으로든 확장하면 더 이상 FSA가되지 않습니다. – Neilos
A + B = C를 계산하는 것은 유한 상태 오토 마톤 이상을 필요로합니다. 왜냐하면 펌핑 보조 정리에 의해 언어가 정규 언어가 아니라는 간단한 이유 때문입니다. – Patrick87