ব্যবসায়িক কাজে ব্যবহৃত এক বিশেষ ধরনের কম্পিউটার ভাষা
ID DIVISION
DATA DIVISION
01 HELLOWORLDBINARY
05 HE COMP PIC 9999
05 LL COMP PIC 9999
05 OCOMMA COMP PIC 9999
05 SPACEW COMP PIC 9999
05 ORTEXT COMP PIC 9999
05 LD COMP PIC 9999
05 EXCLAMATION COMP PIC 9999
01 FILLER REDEFINES HELLOWORLDBINARY
05 HELLOWORLDTEXT PIC XXXXXXXXXXXXX
05 FILLER PIC X
PROCEDURE DIVISION
MOVE 51333 TO HE
MOVE 37779 TO LL
MOVE 38507 TO OCOMMA
MOVE 16614 TO SPACEW
MOVE 38553 TO ORTEXT
MOVE 37764 TO LD
MOVE 23104 TO EXCLAMATION
DISPLAY HELLOWORLDTEXT
GOBACK
শুধুমাত্র সত্যিকারের আলফানিউমেরিক উত্স হওয়ার জন্য কিছু পরিবর্তন প্রয়োজন।
প্রোগ্রাম-আইডি বাদ দেওয়া যেতে পারে। আপনি একটি উত্পন্ন প্রোগ্রামের নাম পান (বার্তা দেখুন)।
ওয়ার্কিং-স্টোরেজ বাদ দেওয়া যেতে পারে। আবার সংকলক moans।
যেহেতু এই উভয় লাইনেরই পূর্বে পুরো স্টপস / পিরিয়ডগুলি অনুপস্থিত ছিল, যা বিবরণ পুরোপুরি অনুপস্থিত থাকায় এখন আর প্রাসঙ্গিক নয়, ত্রুটি বার্তাগুলির সংখ্যা আগের মতোই এবং এখনও প্রোগ্রামের জন্য উত্পন্ন কোডটিকে প্রভাবিত করে না।
COMP-5 কে COMP এ পরিবর্তনের ক্ষেত্রে, VALUE ধারাগুলি আর অনুমোদিত হয় না, কারণ COMP 9999 কেবলমাত্র চার দশমিক সংখ্যা যেখানে COMP-5 একটি দুটি বাইট বাইনারি যা সমস্ত বিট-মান উপলব্ধ।
মুভের মানগুলি হল দশমিক মান যা বাইনারি মান দেয় যা অক্ষরের জোড় দেয়।
যদিও সিএমপি ফিল্ডগুলির চারটি সংখ্যা রয়েছে এবং চারটির বেশি সংখ্যার সাথে ভ্যালু ক্লজকে মঞ্জুরি দেয় না তবুও আপনি এই মুহুর্তে কাটা ছাড়াই আক্ষরিক মানের মুভে আরও বেশি সংখ্যা ব্যবহার করতে পারেন ... কেন আমাকে জিজ্ঞাসা করবেন না। সংকলক বিকল্প DIAGTRUNC (যা আমি বন্ধ করে দিয়েছি) এগুলির জন্য সতর্কতা ডায়াগোনস্টিক্স তৈরি করবে।
COMP-5 হিসাবে COMP হিসাবে চিকিত্সার জন্য সংকলক বিকল্প TRUNC (বিন) ব্যবহার করা যেতে পারে, তবে মোভগুলি এটি করার অন্য উপায়।
যেহেতু এটি কোবোল, তাই আউটপুটটি অবশ্যই UPPER CASE এ থাকতে হবে (একটি মিথ্যা, তবে কেবল মজাদার জন্য)।
HELLO WORLD!
ঠিক আছে, সংযুক্ত, এখন উত্পাদন করে:
Hello, World!
অক্ষরগুলির একটি বিজোড় সংখ্যা হওয়ায় এটি আরও কিছু পরিবর্তন প্রয়োজন, যেহেতু এই সংকলকটির সাথে আমাদের বিজোড় সংখ্যা-বাইট বাইনারি ক্ষেত্র থাকতে পারে না। 13 এক্স এর লাইন দেখুন! এটি সাধারণত এক্স (13) হিসাবে লেখা হবে, তবে আমি যেমন দেখিয়েছি তা হতে পারে ...
এবং নাম হিসাবে ORTEXT দরকার (বা ওআর, যাইহোক) প্রয়োজন কারণ ওআর সংকলকটির কাছে একটি সংরক্ষিত শব্দ (এটি অর্থ ওআর অবশ্যই)।
এএসসিআইআই নয়, এটি ইবিসিডিক মান, যেহেতু এটি একটি ইবিসিডিক-সচেতন এবং বিগ এন্ডিয়ান বাক্সে চলছে।
ওহ, COBOL এর জন্য প্রচুর পুরো স্টপস / পিরিয়ডের প্রয়োজন। আমি তাদের ছেড়ে দিয়েছি (তাদের নিষিদ্ধ করা হয়েছে) তাই প্রচুর সংকলন বার্তা পেয়েছি। যেভাবেই হোক কোড তৈরি করতে কম্পাইলারকে বলেছিলেন (কোনও বার্তাই কোনও অবজেক্ট কোডের সাথে সম্পর্কিত নয়)।
এমনকি ডিএজিজিআরআনসিবি ছাড়াই, বার্তাগুলি এখন 17 পর্যন্ত ...
1 IGYDS1003-E A "PROGRAM-ID" paragraph was not found.
Program-name "CBLNAM01" was assumed.
2 IGYDS1082-E A period was required. A period was assumed
before "DATA".
3 IGYDS1082-E A period was required. A period was assumed
before "01".
Same message on line: 11
3 IGYDS1040-E A data item was found in the "DATA DIVISION"
before a section header was encountered.
"WORKING-STORAGE SECTION" was assumed.
4 IGYDS1082-E A period was required. A period was assumed
before "05".
Same message on line: 5 6 7 8
9 10 12 13
14 IGYDS1082-E A period was required. A period was assumed
before "PROCEDURE".
15 IGYPS2145-E A period was required. A period was assumed
before "MOVE".
23 IGYSC1082-E A period was required. A period was assumed
before "END OF PROGRAM".