উত্তর:
বিমূর্ত সিনট্যাক্স এবং সাধারণত বোঝা যায় এমন ধরণের জন্য প্রকারের মধ্যে আসলে অনেক মিল রয়েছে much তবে প্রকারভেদগুলি একটি আনুষ্ঠানিক সিনট্যাকটিক ধারণা এবং এএস গাছগুলিও সিনট্যাক্স হয়, তবে প্রকারভেদগুলি শব্দার্থক ধারণা ।
পরিভাষাটি বীজ বীজগণিত ( ফ্রি বীজগণিতও বলা হয় ) এবং সর্বজনীন বীজগণিত থেকে আসে । এগুলি মূলত বীজগণিত কাঠামোর সিনট্যাকটিক তত্ত্ব, কোনও ব্যাখ্যা থেকে স্বতন্ত্রভাবে বিশ্লেষণ করা হয়। এগুলি বিশ শতকের প্রথমার্ধে বিকশিত হয়েছিল।
একটি শব্দ গাছ হিসাবে দেখা যেতে পারে, যেখানে অপারেটরগুলির একটি সীমাবদ্ধ সেট থেকে নোডগুলি লেবেলযুক্ত থাকে, প্রতিটি অপারেটরের একটি নির্দিষ্ট স্থায়িত্ব থাকে যা গাছের কন্যার সংখ্যা নির্দিষ্ট করে। আরিটি 0 পাতার জন্য। ইন বহু-সাজানো algebras প্রতিটি মেয়ের জন্য তার মাথা অপারেটর সাজানোর এই প্রকারের সঙ্গে পরিশ্রুত করা হয়, যাতে কেমন অন্তর্গত প্রতিটি অপারেটর, এবং arities প্রকারের একটি আদেশ তালিকা দ্বারা প্রতিস্থাপিত হয়, যে সংশোধন করা হয়েছে। কোনও অপারেটর বাছাই করা, তার মেয়ের প্রকারের তালিকা সহ, অপারেটরের স্বাক্ষর বলে ।
সর্বজনীন বীজগণিতগুলিতে, শর্তাবলীর মধ্যে সমতাগতভাবে সংজ্ঞায়িত সমতুল্য সম্পর্ক প্রবর্তন করে এটিকে আরও পরিশুদ্ধ করা হয়।
যদিও এটি কিছুটা ম্লান হয়ে গেছে বলে মনে হয়, এই ধারণাগুলি 20 শতকের শেষদিকে কম্পিউটার বিজ্ঞানে বেশ জনপ্রিয় এবং অনেকগুলি অধ্যয়ন করা হয়েছিল, বিমূর্ত বীজগণিত হিসাবে যেখানে তখন বিমূর্ত তথ্যের ধরণের ভিত্তি হিসাবে দেখা যায়, যা কিছু অংশে পূর্ববর্তী হিসাবে রয়েছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে নো ক্লাস।
ইউনিভার্সাল বীজগণিতগুলি বিভাগের তত্ত্বের বিকাশের সাথে সম্পর্কিত যা প্রকারভেদ এবং প্রোগ্রামিং ভাষার বর্তমান দৃষ্টিভঙ্গিতেও ভিত্তিযুক্ত।
বীজগণিতগুলি সিনট্যাকটিক অবজেক্ট এবং কিছু ধরণের ডোমেন (টি) ধরণের সাথে সম্পর্কিত একটি ব্যাখ্যার সাথে ব্যবহার করার উদ্দেশ্যে। একটি ব্যাখ্যা একটি হোমোর্ফিজম যা মান (প্রকার) এর ডোমেনগুলিতে এবং অপারেটরদের সেই ডোমেনগুলির মধ্যে ফাংশনগুলিতে মানচিত্র তৈরি করে, যাতে স্বাক্ষরগুলি সম্মানিত হয়, এবং সমীকরণ বীজগণিত ক্ষেত্রে সমীকরণগুলিও। এইভাবে আপনি কোনও গ্রুপের সংজ্ঞা সম্মান করে এমন কোনও অপারেশন সহ যে কোনও ডোমেনে গ্রুপ তত্ত্বের ফলাফলগুলি প্রয়োগ করতে পারেন।
এই সংগঠনটিকে প্রাথমিকভাবে গবেষকরা প্রোগ্রামিং ভাষাগুলির বিশেষ সুবিধাজনক হিসাবে বিবেচনা করেছিলেন বিশেষত যারা প্রোগ্রামিং ভাষাগুলি আনুষ্ঠানিককরণের সাথে জড়িত। এটি সিনট্যাক্স এবং শব্দার্থবিজ্ঞান পৃথক করে এবং গাণিতিকভাবে ভাল বোঝার সুবিধা ছিল।
এটিকে গ্রহণ করার আরেকটি কারণ ছিল প্রোগ্রামগুলিকে হস্তান্তর করার সরঞ্জামগুলির বিকাশের সাথে উদ্বেগ, যা বিকাশের পরিবেশে বা প্রোগ্রামগুলির বৈশিষ্ট্য প্রমাণ করার জন্য আনুষ্ঠানিক পদ্ধতিতে (যা আরও বেশি দ্বিগুণ সমস্যা হিসাবে প্রমাণিত হয়েছিল)।
এটি প্রোগ্রামিং ভাষার জন্য অ্যাবস্ট্রাক্ট সিনট্যাক্স ট্রি (এএসটি) ধারণার উত্থানের দিকে পরিচালিত করে, যা মূলত বহু-বাছাই করা বীজগণিতের শর্ত হয় (কখনও কখনও কিছু সংশ্লেষে সাজানোর ইউনিয়নের ব্যবহারের সাথে পরিমার্জিত হয়)। এএসটি হ'ল কোনও ভাষার রেফারেন্স সিনট্যাক্স, যেখান থেকে শব্দার্থবিজ্ঞান সংজ্ঞাবহ শব্দার্থবিজ্ঞানের মতো হোমোমর্ফিজম দ্বারা সংজ্ঞায়িত করা যায়।
ভাষাগুলির শব্দার্থবিজ্ঞান অধ্যয়ন করার জন্য কেবল এটিই সুবিধাজনক নয়, গাছগুলি থ্রিং স্ট্রিংগুলির চেয়ে আরও ভাল কাঠামোযুক্ত এবং সুতরাং প্রোগ্রামিং সরঞ্জাম এবং প্রোগ্রামিং পরিবেশের বিকাশের জন্য আরও ভাল ভিত্তি।
পার্সিং প্রযুক্তির সীমাবদ্ধতা বিকৃত ব্যাকরণ ব্যবহার করতে বাধ্য করায় এটি পার্সিংকে আলাদা করতে দেয় যা প্রচলিতভাবে অদৃশ্য অংশ ছিল। এটি উপস্থাপনা সংক্রান্ত বিষয়গুলিও বের করে দেয়।
এটি প্রোগ্রামগুলির একাধিক কংক্রিট (স্ট্রিং বা গ্রাফিক) উপস্থাপনের জন্য অনুমতি দেয় যা কখনও কখনও সুবিধাজনক হতে পারে (প্রোগ্রাম বাক্সে বিরামচিহ্নগুলি ব্যবহার করার পরিবর্তে বা কনভার্সের কোনও কারণই লোকদের উপর চাপ দেওয়া উচিত নয়)।
বিমূর্ত ব্যাখ্যার সাথে প্রোগ্রামের যথাযথ বিশ্লেষণের জন্য প্রোগ্রাম এবং বিভিন্ন প্রকারের ব্যাখ্যা ব্যাখ্যা করা সহজ করে তোলে ।
এটি (আধা) স্বয়ংক্রিয় প্রোগ্রাম ম্যানিপুলেশন সরঞ্জামগুলি লেখার জন্য সুবিধাজনক, উদাহরণস্বরূপ স্বয়ংক্রিয় প্রোগ্রাম রূপান্তরকরণ, বা ভাষার মধ্যে অনুবাদগুলির জন্য।
অনুশীলনে জিনিসগুলি মাঝে মাঝে আরও জটিল হয়ে উঠতে পারে, কারণ অ্যাবস্ট্রাক্ট সিনট্যাক্সের কিছু ফর্ম কিছু অপারেটরকে বিভিন্ন ধরণের (এটি দেখার একটি অনানুষ্ঠানিক উপায়) অন্তর্ভুক্ত গাছ (অভিব্যক্তি) ক্রয় করতে দেয়। উদাহরণস্বরূপ সিনথেটিক কনস্ট্রাক্টসগুলির জন্য বাছাই করতে পারে যা ভেরিয়েবলগুলি (এসাইনিয়েবল সত্তা) উপস্থাপন করে এবং অন্যরকম এক্সপ্রেশনগুলির জন্য। তবে কোনও পরিবর্তনশীল একটি এক্সপ্রেশন হিসাবে ব্যবহার করা যেতে পারে, কনভার্সটি মিথ্যা।
প্রোগ্রামিং ভাষার জন্য এটি সম্পর্কিত প্রাথমিক কাগজপত্র সত্তরের দশকের মাঝামাঝি date তত্ক্ষণিক ধারণাটি সিন্ট্যাক্স সচেতন (তখন "নির্দেশিত" শব্দটি ব্যবহৃত হত) প্রোগ্রামিং পরিবেশের জন্য নির্মিত হয়েছিল। ইউরোপে মেন্টর এবং সেন্টাওর এবং মার্কিন যুক্তরাষ্ট্রে কর্নেল প্রোগ্রাম সিন্থেসাইজারের সন্ধান করুন। তারা প্রথম দুটি সিস্টেম যা প্রকৃতপক্ষে ব্যবহারিক উপায়ে এই জাতীয় ধারণাগুলি ব্যবহার করে। এরপরে আরও অনেকের বিকাশ ঘটে।
তবে বিমূর্ত সিনট্যাক্স এই সিস্টেমগুলির পূর্বাভাস দেয়। লিস্প ভাষায় (১৯৫৮) বিমূর্ত সিনট্যাক্স ছিল, এটি কোনও বিস্ময়ের বিষয় নয় কারণ এটি কোনও লজিস্টিয়ান দ্বারা তৈরি করা হয়েছিল, এবং প্রোগ্রামগুলি যাতে ম্যানিপুলেট করে এমন প্রোগ্রাম তৈরি করার উদ্দেশ্যে (এছাড়াও এমএল এবং এলসিএফ দেখুন ... যা পরে এসেছিল)। তবে লিস্পকে বাছাই করা হয়নি: সবকিছু সিন্টেক্সিকভাবে একটি তালিকা এবং আরও পরিশ্রুত কাঠামো মূলত শব্দার্থবিজ্ঞানের উপর নির্ভরশীল ছিল। এটি কিছু লোককে কিছুটা ভুলভাবে বিবেচনা করতে নেতৃত্ব দেয় যে লিস্পের কোনও বাক্য গঠন ছিল না।
এটি চতুর্থ অধ্যায়ে প্রদর্শিত হবে যে প্রকারগুলি সিনট্যাক্সের জন্য এবং প্রকারগুলি শব্দার্থবিজ্ঞানের জন্য।
পৃষ্ঠা 40 এর উদাহরণ বাক্য গঠন চার্চটি L {num str language ভাষায় সাজানো নিয়ে কাজ করে} দৃশ্যত সাজানো ভাষার বাক্য গঠনের বিভাগসমূহ।
বিশেষত, "প্লাস" এর একটি বাছাই রয়েছে যা এটির ফলাফলের সিনট্যাকটিক বিভাগ। অপারেটর "প্লাস" এর বাছাইয়ের নাম দেওয়া হয়েছে "এক্সপ"। এটি সিন্থেটিকভাবে, অপারেটর "প্লাস" এর একটি অনুরোধ একটি অভিব্যক্তি হিসাবে প্রতিনিধিত্ব করে। অপারেটর "প্লাস" এর একটি অনুরোধ একটি বিমূর্ত সিনট্যাক্স ট্রি যেখানে একটি অভিব্যক্তি অনুমোদিত হয় একটি পদ পূরণ করতে পারে। এটি "প্লাস" কী ধরণের নির্মাণ। এটি কোনও প্রোগ্রামের প্রতিনিধিত্ব করে এমন কোনও পাঠ্যের কাঠামোর সাথে এটি খাপ খায়।
পৃষ্ঠা 41 এ টাইপ সিস্টেমটি L {num str language ভাষার ধরণগুলির সাথে সম্পর্কিত} অপারেটর "প্লাস" এর ধরণটি দেওয়া হয়েছে যে এর অপারেন্টগুলিতে "num" টাইপ রয়েছে, এটি হল "নাম" " এই রায়টি অপারেটর "প্লাস" এর শব্দার্থবিজ্ঞানের আংশিক বিবরণ is অর্থাৎ অপারেটর "প্লাস" এর অর্থের একটি অংশটি একটি সংখ্যা উত্পাদন করতে দুটি সংখ্যার সমন্বয়। এই অর্থটি "যোগ" অন্যান্য অভিব্যক্তি থেকে পৃথক করে।
তদ্ব্যতীত, "টাইপ" নামে একটি বাছাই করা আছে যা "নাম" এবং "টিআর" এই দুটি প্রকার ধারণ করে।
প্রথম অধ্যায়ের শুরুতে, হার্পার বাছাই শব্দের দ্বারা তার অর্থ কী তা বোঝাতে একটি ইঙ্গিত দেয় :
কোনও ভাষার বাক্য গঠনটি সেই উপায়গুলি নির্দিষ্ট করে যার মাধ্যমে বিভিন্ন ধরণের শব্দগুচ্ছগুলি (অভিব্যক্তি, আদেশ, ঘোষণা এবং এরূপে) প্রোগ্রাম গঠনে একত্রিত হতে পারে।
তিনি শব্দ সংজ্ঞায়িত ফ্রেজ একটি বিমূর্ত সিনট্যাক্স গাছ, যা তিনি তারপর আলোচনা করা হয়।