Ada banyak cara untuk mengimplementasikan sesuatu yang bisa diterapkan oleh mesin turing.
Saat Anda melihat prosesor, salah satu yang paling berlaku mungkin adalah model mesin register . Yang paling sederhana dari ini (dalam hal simbol) adalah simbol mulit-tape dua ( mark
dan blank
). Jika Anda menggunakan sesuatu yang tidak terlalu esoterik, maka inc(r)
, dec(r)
dan jz(r,z)
(lompat jika register r
nol untuk instruksi z
) atau clr(r)
(bersih r
) inc
,, je(i,j,z)
(lompat jika register i dan j sama dengan instruksi z).
Saya telah melihat penyebutan mesin register yaitu:
- inc (i, m) - register kenaikan i dan pergi ke baris m
- jzdec (i, m1, m2) - jika register i adalah 0 pergi ke baris m, kalau tidak decrement saya, dan pergi ke baris m2
yang turing lengkap juga - ini adalah mesin register Minsky meskipun memiliki kendala lain pada data dalam rekaman (itu harus nomor Gödel menyimpan negara daripada register individu)
Itu dia. Tidak ada lagi.
Jadi, mengapa prosesor ultra risc ini tidak digunakan? Sungguh menyakitkan untuk menulis kompiler untuk mereka dan Anda menyerahkan banyak hal lain yang dapat dilakukan prosesor. Ini benar-benar baik untuk memiliki bitwise and
, dan add
daripada mencoba melakukan semuanya dengan register dan perulangan yang meningkat. Itulah dasar bahasa pemrograman favorit berjudul Brainfuck yang memiliki 8 instruksi.
>
menambah penunjuk data
<
mengurangi pointer data
+
increment data di penunjuk data
-
mengurangi data pada penunjuk data
.
mengeluarkan data pada penunjuk data
,
baca input, simpan data di pointer data
[
jika data pada pointer adalah nol, bukannya bergerak penunjuk instruksi maju satu, melompat ke depan untuk perintah setelah pencocokan ]
perintah
]
jika data pada pointer adalah nol, bukannya bergerak instruksi pointer ke depan, melompat kembali ke perintah setelah pencocokan ]
perintah
Seseorang dapat menemukan kompiler untuk Brainfuck, meskipun itu benar-benar tidak menyenangkan untuk melakukan bahkan hal-hal sederhana di dalamnya. Kecuali Anda menikmati frustrasi, yang merupakan tujuan dari bahasa tersebut.
Bacaan terkait: