কোবল (আইবিএম মেনফ্রেম)
ID DIVISION.
PROGRAM-ID. USELESS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 W-WHEN-COMPILED PIC X(8)BX(8) VALUE SPACE.
PROCEDURE DIVISION.
IF W-WHEN-COMPILED EQUAL TO SPACE
NEXT SENTENCE
END-IF
MOVE SPACE TO W-WHEN-COMPILED.
MOVE WHEN-COMPILED TO W-WHEN-COMPILED
DISPLAY W-WHEN-COMPILED " HELLO WORLD!"
GOBACK
.
আপনি যদি উপরের প্রোগ্রামটি চালনা করেন (কোন আইবিএম মেনফ্রেম সিওবিওএল দ্বিতীয় থেকে কোবল দ্বিতীয় (প্রথম আইবিএম সংকলক 1985 স্ট্যান্ডার্ড, সম্ভবত অন্যান্য আইবিএম সিওবিওএলও) আউটপুটটি হ'ল:
02/22/14 13.11.02 হেলো ওয়ার্ল্ড!
তবে, আপনি যদি ট্রিপলি-অকেজো লাইনটি "ডাব্লু-WHEN-COMPILED স্থান পরিবর্তন করুন।" (ক্ষেত্রটির জায়গার প্রাথমিক মূল্য রয়েছে এবং এটি পরবর্তী নির্দেশিকায় অন্য সামগ্রী রেখেছিল এবং এটি যেভাবেই ছড়িয়ে পড়ে) প্রোগ্রামটি কোনও আউটপুট তৈরি করে না এবং নীচের বার্তাটি দিয়ে আসলে অ্যাবেনডস (U4038) (এর অর্থ এটি ক্র্যাশ হয়) produces :
IGZ0037S The flow of control in program USELESS proceeded beyond the
last line of the program. From compile unit USELESS at entry
point USELESS at compile unit offset +000003AC at entry offset
+000003AC at address 119003AC.
(মেসেজ কোড এবং পাঠ্য সংকলকগুলির মধ্যে পৃথক হবে, অফসেটগুলি ব্যবহৃত প্রকৃত সংকলক এবং সংকলন বিকল্পগুলির উপর নির্ভর করে, ঠিকানাটি যখন এক্সিকিউট করা হয় তখন প্রোগ্রামটি কোথায় লোড হয় তার উপর নির্ভর করে)।
কারণ NEXT SENTENCE
। এটি একটি Secret GO TO
। সংকলক উত্সটিতে পরবর্তী পূর্ণ-স্টপ / পিরিয়ডের শিকার করে এবং নিম্নলিখিত নির্দেশাবলীতে একটি শাখা উত্পন্ন করে। COBOL II থেকে পূর্ণ-স্টপ / পিরিয়ডের ব্যবহার শিথিল করা হয়েছিল। একটি প্রোগ্রাম অবশ্যই একটি সম্পূর্ণ স্টপ / পিরিয়ডের সাথে শেষ হবে। এই ক্ষেত্রে, শাখাটি প্রোগ্রামের শেষের বাইরে।
উভয় প্রোগ্রামই 100% পরিষ্কার সংকলন করে (কোনও ডায়াগোনস্টিক বার্তা নয়, শূন্যের রিটার্ন কোড)।
এই আচরণটি COBOL এ বোবা "আইবিএম এক্সটেনশন"। 1985 স্ট্যান্ডার্ডটি / (এর পরিবর্তে ব্যবহৃত হয়, যা কোনও অপশন নেই) এর NEXT SENTENCE
মধ্যে অনুমতি দেয় না । আইবিএম এটির অনুমতি দিয়েছে - সময়ে সময়ে সময়ে ভয়াবহ গোচা সৃষ্টি করে।IF
END-IF
CONTINUE