Комментарий к tex.SE заставил меня задуматься. Утверждение по существу:
Если я могу написать компилятор для языка X на языке X, то X полон по Тьюрингу.
В терминах вычислимости и формальных языков это:
Если решает , L ⊆ L T M и ⟨ M ⟩ ∈ L , то F L = R E .
Здесь обозначает язык всех машины Тьюринга кодирования и F L обозначает множество функций , вычисленных машин в L .
Это правда?
computability
turing-completeness
Рафаэль
источник
источник
Ответы:
Неформальное утверждение не соответствует действительности, как показано на следующем языке программирования. Любая строка, скажем, символов ASCII, является допустимой программой, и смысл каждой программы: «Вывести программу, которая просто выводит копию своего ввода». Таким образом, каждая программа на этом языке является компилятором для языка, но язык не является тьюрингово-полным.
источник