Protel
প্রোটেল মানে "পদ্ধতি ভিত্তিক প্রকার প্রয়োগকারী ভাষা"। এটি নর্টেল নেটওয়ার্ক দ্বারা তৈরি একটি প্রোগ্রামিং ভাষা এবং ডিএমএস-100 এর মতো টেলিযোগাযোগ স্যুইচিং সিস্টেমে ব্যবহৃত হয়। প্রোটেল-2 হল প্রোটেলের অবজেক্ট-ওরিয়েন্টেড সংস্করণ। প্রোটেল ভাষা ডিজিটাল টেলিফোনির চাহিদা মেটানোর জন্য ডিজাইন করা হয়েছিল এবং এটি ডিএমএস-100 লাইন অফ সুইচিং সিস্টেমের ভিত্তি, প্রোটেল একটি দৃঢ়ভাবে টাইপ করা, ব্লক-স্ট্রাকচার্ড ভাষা যা পরিবর্তনশীল অ্যাসাইনমেন্ট, পরিবর্তনশীল আকারের অ্যারে এবং এক্সটেনসিবল স্ট্রাকচারের বাম-থেকে-ডান শৈলী সহ প্যাসকেল এবং এএলজিওএল 68-এর উপর ভিত্তি করে তৈরি। প্রোটেলের ডিজাইনাররা বাহ্যিক সংকলন যোগ করে এবং ভাষায় উপলব্ধ তথ্য কাঠামো প্রসারিত করে দিনের প্যাসকেলকে উল্লেখযোগ্যভাবে প্রসারিত করেছিলেন। প্রোটেল কম্পাইলারটি অপারেটিং সিস্টেম (এস. ও. এস), অ্যাপ্লিকেশন (সি. এ. এল. এল. পি), ডেভেলপমেন্ট এনভায়রনমেন্ট (পি. এল. এস) এবং মূলত প্রসেসরের (এন. টি. 40) সাথে শক্তভাবে সমন্বিত। পি. এল. এস, এস. ও. এস, সি. এ. এল. এল. পি এবং কম্পাইলার নিজেই প্রোটেলে লেখা। প্রোটেল ভাষার কোনও বিবরণ সাহায্য করতে পারে না তবে অন্যান্য উপাদানগুলির কিছু দিক অন্তর্ভুক্ত করতে পারে। প্রোটেলের খুব কঠোর ধরনের প্রয়োগ রয়েছে তবে উপাদানগুলির টাইট কাপলিং সরাসরি অভ্যন্তরীণ সংকলক বৈশিষ্ট্যগুলি ব্যবহার করে দক্ষ কোডারগুলির জন্য কিছু ধরণের চেকিংকে বাইপাস করার সুযোগ তৈরি করে। প্রোটেলকে 'শব্দার্থ' হিসাবে বিবেচনা করা হয়, যার মধ্যে প্রচুর সংখ্যক সংরক্ষিত শব্দ থাকে এবং কিছু বিবৃতি ইংরেজির মতো পড়ে। প্রোটেল সোর্স কোড কেস অসংবেদনশীল তবে প্রচলিত নিয়ম অনুসারে সংরক্ষিত শব্দের জন্য আপার কেস ব্যবহার করা হয়। ভেরিয়েবল এবং অ্যাসাইনমেন্ট বেশিরভাগ গ্লোবাল এবং সমস্ত স্থানীয় ভেরিয়েবল ডিইসিএল সংরক্ষিত শব্দ ব্যবহার করে ঘোষণা করা হয়। ডিইসিএল মাইভার আইএনটি; ভেরিয়েবলগুলি আইএনআইটি কীওয়ার্ড ব্যবহার করে শুরু করা যেতে পারে। ডিইসিএল মাইভার আইএনটি আইএনআইটি 42; ধ্রুবক আইএস কীওয়ার্ড ব্যবহার করে, হেক্সাডেসিমাল #ব্যবহার করে। ডিইসিএল মাইকনস্ট আইএনটি আইএস #F00D; গ্লোবাল ভেরিয়েবলগুলি যথাক্রমে সুরক্ষিত ডেটা বা থ্রেড স্থানীয় ডেটা সংজ্ঞায়িত করতে সুরক্ষিত, বা ব্যক্তিগত ঘোষণা ব্যবহার করতে পারে। সুরক্ষিত উপাত্তে লেখার জন্য অন্তর্নির্মিত আদিম ব্যবহার প্রয়োজন যা সুরক্ষিত উপায়ে সুরক্ষিত উপাত্তকে পরিবর্তন করে। সুরক্ষিত তথ্য একটি সিস্টেম ইমেজ রিলোডের কম সময়ে সমস্ত পুনঃসূচনা থেকে যায়। প্রোটেক্টেড মাইপ্রোটডাটা আইএনটি; রাইট _ প্রোটেক্টেড _ স্টোর (মাইপ্রোটডাটা, মান); নোট রাইট _ প্রোটেক্টেড _ স্টোর আর্গুমেন্টগুলি অজ্ঞেয়বাদী টাইপের হয় যতক্ষণ না উভয় আর্গুমেন্টের ধরন মিলে যায়। বেসরকারী এটি ব্যবহার করে এমন প্রতিটি প্রক্রিয়ার জন্য তথ্যের একটি ব্যক্তিগত অনুলিপি সরবরাহ করে। কোনও সিওডাব্লু কার্যকারিতা নেই, প্রতিটি প্রক্রিয়াটির নিজস্ব অনুলিপি বরাদ্দ করা হয় এবং বিকল্পভাবে এটি তৈরির সময় শুরু করা হয়। প্রাইভেট মাইপ্রিভেটেডাটা আইএনটি; নোট ডিইসিএল ব্যবহার করে সংজ্ঞায়িত স্থানীয় ভেরিয়েবলগুলি স্বাভাবিকভাবেই প্রাইভেট। গাজিন্তা গাজিন্তা হল অ্যাসাইনমেন্ট অপারেটর '->'-এর জন্য ব্যবহৃত কথ্য নাম। এর নাম 'যায়' থেকে এসেছে যার অর্থ অভিব্যক্তি গাজিন্তা (যায়) পরিবর্তনশীল। অভিব্যক্তিগুলি কোনও অপারেটর অগ্রাধিকার ছাড়াই কঠোর বাম থেকে ডান ক্রমে মূল্যায়ন করা হয়। অপারেটরের অগ্রাধিকারের অভাব হল এন. টি. 40 প্রসেসরের একটি উত্তরাধিকার যা আর. পি. এন যুক্তি ব্যবহার করে একটি স্ট্যাক ভিত্তিক এ. এল. ইউ ব্যবহার করে। উপ-অভিব্যক্তিগুলিকে অগ্রাধিকার দিতে প্যারেন্থেসিস ব্যবহার করা হয়। অভিব্যক্তি-> মাইভার; পয়েন্টার পয়েন্টার অপারেটর হল @এবং পিটিআর-এর পরে স্থাপন করা হয়। একটি এন. ইউ. এল. এল পয়েন্টার হল একটি পূর্বনির্ধারিত মান যা একটি ম্যাপ করা ঠিকানায় নির্দেশ না করার নিশ্চয়তা দেয়। এটি 0 বা-1 বা অন্য কোনও পূর্বনির্ধারিত প্রাথমিক মেমরি প্যাটার্ন (#FDFD) নয়। অন্য কথায়, একটি পয়েন্টার ডিফল্টরূপে এন. ইউ. এল. এল নয়, এটি অবশ্যই কোডে সেট করতে হবে। পয়েন্টার গাণিতিক সমর্থিত নয়। ডি. ই. সি. এল মাইপ্টার পিটিআর-কে আইএনটি নাল-এ প্রবেশ করানোর জন্য; ডি. ই. সি. এল মাইডাটা আইএনটি; মাইপ্টার @-> মাইডাটা; নোট একটি এন. ইউ. এল. এল পয়েন্টারকে নির্দেশ করা ডেটা অ্যাক্সেস ট্র্যাপের কারণ হবে। বর্ণনাকারী 'ডিইএসসি' একটি কম্পাইলার সংজ্ঞায়িত কাঠামো যা একটি অ্যারে এবং অ্যারে উপরের দিকে একটি পয়েন্টার ধারণ করে। একটি বর্ণনামূলক অ্যারে সহজ অ্যারে সিনট্যাক্স 'এমওয়াই _ ডিইএসসি [আই]' ব্যবহার করে সূচীভুক্ত করা হয় এবং ইউপিবি অপারেটরকে উপরের দিকে 'ইউপিবি এমওয়াইডিইএসসি' অ্যাক্সেস করতে ব্যবহার করা যেতে পারে। একটি টি. ডি. এস. আই. জেড. ই অপারেটর এন. টি. 40-এ বর্ণনাকারী বাস্তবায়নের উত্তরাধিকার হিসাবেও বিদ্যমান রয়েছেঃ টি. ডি. এস. আই. জেড. ই = ইউ. পি. বি + 1। বর্ণনাকারীদের গতিশীলভাবে বরাদ্দকৃত অ্যারেগুলির উপর স্বয়ংক্রিয় রান টাইম বাউন্ড চেকিং থাকে। একটি বর্ণনাকারীকে সীমার বাইরে সূচীভুক্ত করা বা একটি এন. ইউ. এল. এল বর্ণনাকারীকে সূচীভুক্ত করা একটি বর্ণনাকারী পরিসীমা চেক ট্র্যাপের কারণ হবে। ইউপিবি সাধারণত অ্যাপ্লিকেশন সফ্টওয়্যার দ্বারা ব্যাপ্তির বাইরে সূচককে আরও সুন্দরভাবে পরিচালনা করতে ব্যবহৃত হয়। ডি. ই. সি. এল মাই _ ইন্ট _ অ্যারে ডি. ই. এস. সি অফ আইএনটি এন. ইউ. এল.; নোট এন. ইউ. এল. এল পয়েন্টার এবং বর্ণনাকারীর জন্য ব্যবহার করা যেতে পারে। স্ট্রিং ব্যাপকভাবে বর্ণনাকারী ব্যবহার করে। স্ট্রিংগুলি একটি নির্দিষ্ট দৈর্ঘ্যের হয় যার কোনও এন. ইউ. এল. এল অক্ষর সমাপ্তি নেই। ডিইসিএল ফো ডিইএসসি অফ চার হল "আমার স্ট্রিং নাম ফো"; ব্লক ব্লকের সুযোগটি ব্লক এবং এন্ডব্লক বিবৃতি দ্বারা সংজ্ঞায়িত করা হয়, যা পাস্কেলে শুরু শেষ বা সি-তে {}-এর অনুরূপ। ব্লকগুলিকে বিকল্পভাবে বর্ধিত কম্পাইলার চেকিং এবং কার্যকারিতার জন্য লেবেল করা যেতে পারে। [লেবেলঃ] কিছু কোড EXIT [লেবেল] ব্লক করুন; আরও কোড ENDBLOCK [লেবেল] পদ্ধতি এবং ফাংশনগুলি শুধুমাত্র রিটার্নস ধারার উপস্থিতি এবং একটি রিটার্ন বিবৃতি অন্তর্ভুক্ত করার প্রয়োজনীয়তার দ্বারা পৃথক করা হয়। একটি রিটার্ন বিবৃতি কোনও ফাংশন বা পদ্ধতির যে কোনও জায়গায় সন্নিবেশ করা যেতে পারে। ডিক্লারেশন পিআরওসি মাইপ্রোকনাম (আর্গুমেন্ট তালিকা) ফরওয়ার্ড; পিআরওসি মাইফান্কনাম (আর্গুমেন্ট তালিকা) রিটার্ন টাইপ ফরওয়ার্ড; ইমপ্লিমেন্টেশন পিআরওসি মাইফান্কনাম (আর্গুমেন্ট তালিকা) রিটার্ন টাইপ ব্লক. কোড। কিছু মান ফিরিয়ে দিন; এন্ডব্লক স্ট্রাকচার টেবিল হল মৌলিক অ্যারে কাঠামো। টেবিল শুধুমাত্র অ্যারেগুলির জন্য ব্যবহৃত হয় যার আকার সংকলনের সময় জানা যায়। বর্ণনাকারী হল অ্যারে উল্লেখ করার পছন্দের উপায়। একটি টেবিলকে সীমার বাইরে সূচিবদ্ধ করলে একটি টেবিল রেঞ্জ চেক ট্র্যাপ তৈরি হবে। ইউপিবি এবং টিডিএসআইজেডই অপারেটররা টেবিলের ক্ষেত্রেও প্রয়োগ করে। ইউনিয়ন ওভারলে হল মৌলিক ইউনিয়ন কাঠামো। এটি পাস্কাল-বংশোদ্ভূত ভাষাগুলির অনুরূপ পদ্ধতিতে ঘোষিত এবং ব্যবহৃত হয়। এরিয়া হল মেমোরি ব্লক যা টেবিল এবং ওভারলেতে রাখা যেতে পারে। এগুলি বাইটে ঘোষণা করা হয় এবং সাধারণত ভবিষ্যতের সম্প্রসারণের অনুমতি দেওয়ার জন্য যথেষ্ট বড় ঘোষণা করা হয়। এটি পুনরায় চালু করার প্রয়োজন ছাড়াই ডিএমএস সফ্টওয়্যার 'লাইভ' আপগ্রেড করার ইচ্ছার কারণে। প্রোটেলের মডুলার প্রকৃতি কোডের তুলনামূলকভাবে ছোট অংশকে একটি লোডে অদলবদল করার অনুমতি দেয়; যদি এআরইএগুলি চতুরতার সাথে পরিকল্পনা করা হয়, তবে এটি মেমরিতে মডিউল স্থাপনের উপর প্রভাব ফেলবে না, যার ফলে পুনরায় চালু করা এড়ানো যায়। সাবসিস্টেম, মডুল এবং সেকশন একটি সেকশন হল একটি টেক্সট ফাইল যা সোর্স কোড এবং নির্দেশাবলী ধারণ করে যাতে মডিউল শ্রেণিবিন্যাসে বিভিন্ন বিভাগের প্রকার এবং তাদের অবস্থান পরিচালনা করা যায়। একটি বিভাগ হল সংকলনের ক্ষুদ্রতম একক। একটি মডুল হল সংযোগ এবং লোডিংয়ের ক্ষুদ্রতম একক এবং এতে এক বা একাধিক বিভাগ থাকে। একটি সাবসিস্টেম হল প্যাকেজিংয়ের ক্ষুদ্রতম একক এবং এতে এক বা একাধিক মডিউল থাকে। প্রবাহ নিয়ন্ত্রণ কেস (সুইচ) বিবৃতির 2টি রূপ রয়েছে। CASE কীওয়ার্ড ব্যবহার করে একটি জাম্প টেবিল ব্যবহার করা হয় এবং SELECT ক্রমানুসারে যদি-তারপর-অন্য যুক্তি ব্যবহার করে। কেসগুলি একচেটিয়া, তারা সি রেফারেন্সের মতো পড়ে না পদ্ধতিগত প্রোগ্রামিং ভাষাগুলি 20 শতকে তৈরি করা নর্টেল প্রোগ্রামিং ভাষাগুলি