এখানে একটি খুব সাধারণ ভাষার সংজ্ঞা দেওয়া হয়েছে:
A Variable is any string that does not contain ^, <, >, !, or ?
The empty string is a valid variable identifier
The value of every variable starts at 0.
A Statement is one of (var is a Variable, P is a Program):
var^ -> changes var to be equal to 1 more than itself
var<P> -> while var > 0, changes var to be equal to 1 less than itself, then runs P
var! -> output value of var
var? -> ask for non-negative integer as input, increase var by that value
A Program is a concatenation of Statements, running a Program means running each Statement in order
প্রোগ্রামগুলির উদাহরণ (নোট করুন যে খালি স্ট্রিংটি একটি পরিবর্তনশীল, তবে আমি স্বচ্ছতার জন্য এটিকে অল্প পরিমাণে ব্যবহার করব এবং কিছু ভেরিয়েবল প্রোগ্রামে সাধারণত শূন্য হয় যখন তারা সাধারণত ডিফল্ট হিসাবে 0 হয়):
<>: sets the value of the empty string variable to 0
b<>b?b<a^>: asks for b, then adds the value stored in b to a, zeroing b in the process
b<>b?a<>b<a^>: asks for b, then sets a to the value of b, zeroing b in the process
a<>c<>b<a^c^>c<b^> : copies the value in b into a without zeroing it
b<>c<>a<c^c^c<b^>>b! : outputs a multiplied by 2
b^b<a<>a?a!b^> : outputs what you input, forever
আপনার লক্ষ্য এই ভাষার জন্য ক্ষুদ্রতম দোভাষী লিখুন।
একটি ভেরিয়েবলের মানটি নির্বিচারে বড় হতে পারে এবং কেবলমাত্র তাত্ত্বিকভাবে আপনার ভাষাতে অ্যাক্সেস পাওয়া মোট স্মৃতি দ্বারা সীমাবদ্ধ হওয়া উচিত তবে আপনাকে কেবল 2 ^ 256 পর্যন্ত মানগুলি পরিচালনা করতে হবে।
আপনার প্রোগ্রামটি তাত্ত্বিকভাবে নির্বিচারে দীর্ঘ প্রোগ্রামগুলি পরিচালনা করতে সক্ষম হওয়া উচিত তবে আপনাকে কেবল 2 ^ 32 অক্ষরের দীর্ঘ প্রোগ্রামগুলির মধ্যে কাজ করতে হবে। আপনার পাশাপাশি 2 ^ 32 অবধি গভীরতার নেস্টেড লুপগুলি পরিচালনা করতে হবে।
আপনি ধরে নিতে পারেন যে প্রোগ্রামটি একটি বৈধ প্রোগ্রাম এবং আপনি যখনই ইনপুট চেয়েছেন তখনই আপনি কেবল অ-নেতিবাচক পূর্ণসংখ্যা পাবেন। আপনি ধরে নিতে পারেন যে কেবলমাত্র ASCII মুদ্রণযোগ্য অক্ষরগুলি ইনপুট স্ট্রিংয়ের অন্তর্ভুক্ত।
আপনি যে প্রোগ্রামটির ব্যাখ্যা করেছেন তার গতি তাতে কিছু যায় আসে না, এটি ইতিমধ্যে--সংখ্যার গুণকের মতো অপরিশোধন ছাড়াই যন্ত্রণাদায়কভাবে ধীর হয়ে যাবে।
আপনি যদি এমন কোনও ভাষা ব্যবহার করতে চান যা ভাষা দ্বারা বর্ণিত পদ্ধতিতে যুক্তিসঙ্গতভাবে ইনপুট গ্রহণ করতে বা আউটপুট তৈরি করতে না পারে, আপনি এটি সম্ভব করতে যে কোনও ব্যাখ্যা ব্যবহার করুন। এটি আপনার ভাষা কিছু প্রয়োজনীয় আচরণ বাস্তবায়িত করতে পারে না এমন কোনও কারণে প্রযোজ্য। আমি চাই সমস্ত ভাষা প্রতিযোগিতায় সক্ষম হোক to
সংক্ষিপ্ততম প্রোগ্রামের জয়। স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।