Turing makinesinin bant içeriğini duyarlı formlarda kodlarız; özel bir terminal olmayan set mevcut durumu kodlar. TM'nin şu anda işaret ettiği simgenin sağına yerleştirilen herhangi bir zamanda duygusal formda bunlardan sadece biri olabilir.
İkinci önemli fikir, süreci tersine çevirmemiz gerektiğidir: TM'ler kelimeyi girdi olarak alır ve veya dönüştürür veya sonlandırmazlar. Ancak dilbilgisi sözcüğü oluşturmak zorundadır. Neyse ki, gramerler doğal olarak deterministik değildir, bu yüzden kabul eden nereden geldiğini "tahmin etmesine" izin verebiliriz ; TM'nin kabul etmesine neden olan tüm kelimeler üretilebilir.0 1101
Let devlet nonterminallerin grubu; wlog, başlangıç-durumu-terminal olmayan ve kabul-durumları-terminal-dışı kümesi olmasını sağlar. İlk olarak, tüm olası kabul yapılandırmalarını oluşturan başlangıç kurallarına ihtiyacımız var:Q 0 Q F ⊆ QS ={ S0, … , Qk}S0SF⊆ S
S→ # 1 Sf# tüm için .Sf∈ SF
Benzer şekilde, başlangıç durumuna doğru konumda, yani ilk simgeye "ulaştığımızda" son veririz:
# a Q0→ # a için .a ∈ Σ
Gerçek durum geçişlerini çevirmek basittir:
bir Qa Q ba b Q→ c Q' için bir , c ∈ Σ ∧ ( a , Q , K) ∈ δ( c , Q')→ a c Q' için bir , b , c ∈ Σ ∧ ( b , Q , L ) ∈ ö( c , Q')→ c Q'b for a,b,c∈Σ∧(a,Q,R)∈δ(c,Q′)
Ütülemek için bazı teknik karışıklıklar vardır; örneğin, sonunda sınır işaretlerinden kurtulmanız gerekir . Bu, sonlandırma yerine iki özel terminale yumurtlama, bunları uçlara değiştirme ve sonra ile birlikte kaldırılarak yapılabilir . Ayrıca, talep üzerine daha fazla oluşturulması gerekir; ile kuralların bir miktar kesilmesini gerektirir .###d=#
TM, giriş dışı semboller kullanıyorsa, yapı biraz daha karmaşık hale gelir. Bu durumda, sonlandırma kuralları yanlış olabilir: kaset üzerinde bir yerde giriş olmayan semboller varsa, uygun bir kelime oluşturmadık. Bu, : sağa takas edilen ve yalnızca tüm semboller geliyorsa kaldırılan özel bir terminali çıkarmaya benzer şekilde düzeltilebilir .#Q0Σ