এমন কিছু বাস্তবায়নের জন্য অনেকগুলি উপায় রয়েছে যার মাধ্যমে কেউ কোনও টিউরিং মেশিন প্রয়োগ করতে পারে।
আপনি যেমন প্রসেসরের দিকে নজর দিচ্ছেন, সম্ভবত এটি সবচেয়ে বেশি প্রযোজ্য তা হ'ল রেজিস্টার মেশিন মডেল । এর মধ্যে সবচেয়ে সহজ (প্রতীকগুলির নিরিখে) মুলিট টেপ দুটি প্রতীক ( mark
এবং blank
)। আপনি গুপ্ত কিছু হিসাবে যান না, the inc(r)
, dec(r)
এবং jz(r,z)
(নিবন্ধকরণ যদি r
নির্দেশের শূন্য হয় z
) বা clr(r)
(পরিষ্কার r
) inc
, je(i,j,z)
(নিবন্ধকরণ যদি আমি এবং জে নির্দেশ z এর সমান হয়)।
আমি একটি রেজিস্টার মেশিনের উল্লেখ দেখেছি যে:
- ইনক (আই, এম) - ইনক্রিমেন্ট রেজিস্টার i এবং লাইন এম এ যান
- জজেডেক (i, এম 1, এম 2) - নিবন্ধিত হলে আমি 0 হয় লাইন এম, অন্য হ্রাস i, এবং লাইন এম 2 এ যান
যা সম্পূর্ণরূপে ট্যুরিওর হয় - এটি একটি মিনস্কি রেজিস্ট্রার মেশিন যদিও টেপে থাকা ডেটা সম্পর্কিত অন্যান্য বাধা রয়েছে (এটি পৃথক রেজিস্টারের পরিবর্তে রাজ্যকে স্টোর করে গুডেল নম্বর হতে হবে)
এটাই. বেশি না.
সুতরাং, কেন এই পরিবর্তে এই আল্ট্রা রিস্ক প্রসেসরগুলি ব্যবহার করা হচ্ছে না? তাদের জন্য একটি সংকলক লেখার জন্য এটি একটি সত্যিকারের ব্যথা এবং আপনি প্রসেসরটি করতে পারেন এমন আরও অনেক কিছুই ত্যাগ করেন। কিছুটা হলেও ভাল লাগছে and
, এবং add
রেজিস্ট্রার বৃদ্ধি এবং লুপিংয়ের সাহায্যে সবকিছু করার চেয়ে বরং। ব্রেনফাক শিরোনামে একটি প্রিয় প্রোগ্রামিং ভাষার ভিত্তিতে 8 টি নির্দেশ রয়েছে।
>
ডেটা পয়েন্টার বৃদ্ধি
<
হ্রাস তথ্য পয়েন্টার
+
ডেটা পয়েন্টারে ডেটা বৃদ্ধি করুন
-
ডেটা পয়েন্টারে ডেটা হ্রাস
.
ডাটা পয়েন্টারে ডাটা আউটপুট দেয়
,
ইনপুট পড়ুন, ডেটা পয়েন্টারে ডেটা সঞ্চয় করে
[
যদি পয়েন্টার এ ডেটা শূন্য হয়, পরিবর্তে এগিয়ে এক নির্দেশ পয়েন্টার সরানোর, ম্যাচিং পর কমান্ড এটি ফরওয়ার্ড তিড়িং লাফ ]
কমান্ড
]
যদি পয়েন্টারে থাকা ডেটা যদি ননজারো হয় তবে নির্দেশ পয়েন্টারটিকে এগিয়ে নিয়ে যাওয়ার পরিবর্তে ম্যাচিং ]
কমান্ডের পরে কমান্ডটিতে ফিরে যান jump
এক কম্পাইলার জানতে পারেন করতে , Brainfuck যদিও তার সত্যিই না মজা এমনকি সহজ কিছু করার। হতাশাকে উপভোগ না করা হলে ভাষাটির উদ্দেশ্য এটিই।
সম্পর্কিত পড়া: