প্রোগ্রামিং ভাষার শব্দার্থবিজ্ঞানের ক্ষেত্রে কী কী?


9

প্রোগ্রামিং ল্যাঙ্গুয়েজগুলির ব্যবহারিক ভিত্তিগুলির প্রথম অধ্যায়টিতে লেখক উল্লেখ করেছেন যে বিমূর্ত সিনট্যাক্স গাছগুলি সাজানোর সাথে যুক্ত ।

স্বজ্ঞাতভাবে, প্রকারগুলি ধরণের মতো, তবে আমি তাদের সঠিক সংজ্ঞা দিচ্ছি কিনা তা জানতে চাই। কিছু রেফারেন্সও সরবরাহ করা থাকলে আমি খুশি হব।

উত্তর:


4

এটি নির্ভর করে আমরা কী ধরণের শব্দার্থক পদার্থ এবং প্রকারের জন্য গ্রহণ করব। - তবে একটি সংক্ষিপ্ত - সামান্য অনানুষ্ঠানিক - সংজ্ঞাগুলি হতে পারে - প্রকারভেদগুলি এএসটিগুলির শ্রেণি এবং প্রকারগুলি মানগুলির শ্রেণি


4

বিমূর্ত সিনট্যাক্স এবং সাধারণত বোঝা যায় এমন ধরণের জন্য প্রকারের মধ্যে আসলে অনেক মিল রয়েছে much তবে প্রকারভেদগুলি একটি আনুষ্ঠানিক সিনট্যাকটিক ধারণা এবং এএস গাছগুলিও সিনট্যাক্স হয়, তবে প্রকারভেদগুলি শব্দার্থক ধারণা

পরিভাষাটি বীজ বীজগণিত ( ফ্রি বীজগণিতও বলা হয় ) এবং সর্বজনীন বীজগণিত থেকে আসে । এগুলি মূলত বীজগণিত কাঠামোর সিনট্যাকটিক তত্ত্ব, কোনও ব্যাখ্যা থেকে স্বতন্ত্রভাবে বিশ্লেষণ করা হয়। এগুলি বিশ শতকের প্রথমার্ধে বিকশিত হয়েছিল।

একটি শব্দ গাছ হিসাবে দেখা যেতে পারে, যেখানে অপারেটরগুলির একটি সীমাবদ্ধ সেট থেকে নোডগুলি লেবেলযুক্ত থাকে, প্রতিটি অপারেটরের একটি নির্দিষ্ট স্থায়িত্ব থাকে যা গাছের কন্যার সংখ্যা নির্দিষ্ট করে। আরিটি 0 পাতার জন্য। ইন বহু-সাজানো algebras প্রতিটি মেয়ের জন্য তার মাথা অপারেটর সাজানোর এই প্রকারের সঙ্গে পরিশ্রুত করা হয়, যাতে কেমন অন্তর্গত প্রতিটি অপারেটর, এবং arities প্রকারের একটি আদেশ তালিকা দ্বারা প্রতিস্থাপিত হয়, যে সংশোধন করা হয়েছে। কোনও অপারেটর বাছাই করা, তার মেয়ের প্রকারের তালিকা সহ, অপারেটরের স্বাক্ষর বলে ।

সর্বজনীন বীজগণিতগুলিতে, শর্তাবলীর মধ্যে সমতাগতভাবে সংজ্ঞায়িত সমতুল্য সম্পর্ক প্রবর্তন করে এটিকে আরও পরিশুদ্ধ করা হয়।

যদিও এটি কিছুটা ম্লান হয়ে গেছে বলে মনে হয়, এই ধারণাগুলি 20 শতকের শেষদিকে কম্পিউটার বিজ্ঞানে বেশ জনপ্রিয় এবং অনেকগুলি অধ্যয়ন করা হয়েছিল, বিমূর্ত বীজগণিত হিসাবে যেখানে তখন বিমূর্ত তথ্যের ধরণের ভিত্তি হিসাবে দেখা যায়, যা কিছু অংশে পূর্ববর্তী হিসাবে রয়েছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে নো ক্লাস।

ইউনিভার্সাল বীজগণিতগুলি বিভাগের তত্ত্বের বিকাশের সাথে সম্পর্কিত যা প্রকারভেদ এবং প্রোগ্রামিং ভাষার বর্তমান দৃষ্টিভঙ্গিতেও ভিত্তিযুক্ত।

বীজগণিতগুলি সিনট্যাকটিক অবজেক্ট এবং কিছু ধরণের ডোমেন (টি) ধরণের সাথে সম্পর্কিত একটি ব্যাখ্যার সাথে ব্যবহার করার উদ্দেশ্যে। একটি ব্যাখ্যা একটি হোমোর্ফিজম যা মান (প্রকার) এর ডোমেনগুলিতে এবং অপারেটরদের সেই ডোমেনগুলির মধ্যে ফাংশনগুলিতে মানচিত্র তৈরি করে, যাতে স্বাক্ষরগুলি সম্মানিত হয়, এবং সমীকরণ বীজগণিত ক্ষেত্রে সমীকরণগুলিও। এইভাবে আপনি কোনও গ্রুপের সংজ্ঞা সম্মান করে এমন কোনও অপারেশন সহ যে কোনও ডোমেনে গ্রুপ তত্ত্বের ফলাফলগুলি প্রয়োগ করতে পারেন।

এই সংগঠনটিকে প্রাথমিকভাবে গবেষকরা প্রোগ্রামিং ভাষাগুলির বিশেষ সুবিধাজনক হিসাবে বিবেচনা করেছিলেন বিশেষত যারা প্রোগ্রামিং ভাষাগুলি আনুষ্ঠানিককরণের সাথে জড়িত। এটি সিনট্যাক্স এবং শব্দার্থবিজ্ঞান পৃথক করে এবং গাণিতিকভাবে ভাল বোঝার সুবিধা ছিল।

এটিকে গ্রহণ করার আরেকটি কারণ ছিল প্রোগ্রামগুলিকে হস্তান্তর করার সরঞ্জামগুলির বিকাশের সাথে উদ্বেগ, যা বিকাশের পরিবেশে বা প্রোগ্রামগুলির বৈশিষ্ট্য প্রমাণ করার জন্য আনুষ্ঠানিক পদ্ধতিতে (যা আরও বেশি দ্বিগুণ সমস্যা হিসাবে প্রমাণিত হয়েছিল)।

এটি প্রোগ্রামিং ভাষার জন্য অ্যাবস্ট্রাক্ট সিনট্যাক্স ট্রি (এএসটি) ধারণার উত্থানের দিকে পরিচালিত করে, যা মূলত বহু-বাছাই করা বীজগণিতের শর্ত হয় (কখনও কখনও কিছু সংশ্লেষে সাজানোর ইউনিয়নের ব্যবহারের সাথে পরিমার্জিত হয়)। এএসটি হ'ল কোনও ভাষার রেফারেন্স সিনট্যাক্স, যেখান থেকে শব্দার্থবিজ্ঞান সংজ্ঞাবহ শব্দার্থবিজ্ঞানের মতো হোমোমর্ফিজম দ্বারা সংজ্ঞায়িত করা যায়।

ভাষাগুলির শব্দার্থবিজ্ঞান অধ্যয়ন করার জন্য কেবল এটিই সুবিধাজনক নয়, গাছগুলি থ্রিং স্ট্রিংগুলির চেয়ে আরও ভাল কাঠামোযুক্ত এবং সুতরাং প্রোগ্রামিং সরঞ্জাম এবং প্রোগ্রামিং পরিবেশের বিকাশের জন্য আরও ভাল ভিত্তি।

পার্সিং প্রযুক্তির সীমাবদ্ধতা বিকৃত ব্যাকরণ ব্যবহার করতে বাধ্য করায় এটি পার্সিংকে আলাদা করতে দেয় যা প্রচলিতভাবে অদৃশ্য অংশ ছিল। এটি উপস্থাপনা সংক্রান্ত বিষয়গুলিও বের করে দেয়।

এটি প্রোগ্রামগুলির একাধিক কংক্রিট (স্ট্রিং বা গ্রাফিক) উপস্থাপনের জন্য অনুমতি দেয় যা কখনও কখনও সুবিধাজনক হতে পারে (প্রোগ্রাম বাক্সে বিরামচিহ্নগুলি ব্যবহার করার পরিবর্তে বা কনভার্সের কোনও কারণই লোকদের উপর চাপ দেওয়া উচিত নয়)।

বিমূর্ত ব্যাখ্যার সাথে প্রোগ্রামের যথাযথ বিশ্লেষণের জন্য প্রোগ্রাম এবং বিভিন্ন প্রকারের ব্যাখ্যা ব্যাখ্যা করা সহজ করে তোলে ।

এটি (আধা) স্বয়ংক্রিয় প্রোগ্রাম ম্যানিপুলেশন সরঞ্জামগুলি লেখার জন্য সুবিধাজনক, উদাহরণস্বরূপ স্বয়ংক্রিয় প্রোগ্রাম রূপান্তরকরণ, বা ভাষার মধ্যে অনুবাদগুলির জন্য।

অনুশীলনে জিনিসগুলি মাঝে মাঝে আরও জটিল হয়ে উঠতে পারে, কারণ অ্যাবস্ট্রাক্ট সিনট্যাক্সের কিছু ফর্ম কিছু অপারেটরকে বিভিন্ন ধরণের (এটি দেখার একটি অনানুষ্ঠানিক উপায়) অন্তর্ভুক্ত গাছ (অভিব্যক্তি) ক্রয় করতে দেয়। উদাহরণস্বরূপ সিনথেটিক কনস্ট্রাক্টসগুলির জন্য বাছাই করতে পারে যা ভেরিয়েবলগুলি (এসাইনিয়েবল সত্তা) উপস্থাপন করে এবং অন্যরকম এক্সপ্রেশনগুলির জন্য। তবে কোনও পরিবর্তনশীল একটি এক্সপ্রেশন হিসাবে ব্যবহার করা যেতে পারে, কনভার্সটি মিথ্যা।

প্রোগ্রামিং ভাষার জন্য এটি সম্পর্কিত প্রাথমিক কাগজপত্র সত্তরের দশকের মাঝামাঝি date তত্ক্ষণিক ধারণাটি সিন্ট্যাক্স সচেতন (তখন "নির্দেশিত" শব্দটি ব্যবহৃত হত) প্রোগ্রামিং পরিবেশের জন্য নির্মিত হয়েছিল। ইউরোপে মেন্টর এবং সেন্টাওর এবং মার্কিন যুক্তরাষ্ট্রে কর্নেল প্রোগ্রাম সিন্থেসাইজারের সন্ধান করুন। তারা প্রথম দুটি সিস্টেম যা প্রকৃতপক্ষে ব্যবহারিক উপায়ে এই জাতীয় ধারণাগুলি ব্যবহার করে। এরপরে আরও অনেকের বিকাশ ঘটে।

তবে বিমূর্ত সিনট্যাক্স এই সিস্টেমগুলির পূর্বাভাস দেয়। লিস্প ভাষায় (১৯৫৮) বিমূর্ত সিনট্যাক্স ছিল, এটি কোনও বিস্ময়ের বিষয় নয় কারণ এটি কোনও লজিস্টিয়ান দ্বারা তৈরি করা হয়েছিল, এবং প্রোগ্রামগুলি যাতে ম্যানিপুলেট করে এমন প্রোগ্রাম তৈরি করার উদ্দেশ্যে (এছাড়াও এমএল এবং এলসিএফ দেখুন ... যা পরে এসেছিল)। তবে লিস্পকে বাছাই করা হয়নি: সবকিছু সিন্টেক্সিকভাবে একটি তালিকা এবং আরও পরিশ্রুত কাঠামো মূলত শব্দার্থবিজ্ঞানের উপর নির্ভরশীল ছিল। এটি কিছু লোককে কিছুটা ভুলভাবে বিবেচনা করতে নেতৃত্ব দেয় যে লিস্পের কোনও বাক্য গঠন ছিল না।


আপনি কি বলতে পারবেন যে 2 টি পৃথক শ্রেণিবদ্ধতা রয়েছে, একটি সিনট্যাক্স জমিতে এবং অন্যটি শব্দার্থক জমিতে। সিনট্যাক্সে আমাদের আপনার যেমন এএসটি এবং প্রকার এবং ধরণের শ্রেণি রয়েছে। শব্দার্থতত্ত্বগুলিতে আমাদের মান, প্রকার, প্রকার ... ইত্যাদি রয়েছে? এমন ভাষা কি নেই যা দ্বাদশ বা কোকের মতো এক বিকাশের পরিবেশে উভয়কে এক করে দেয়?
সিএমসিডিগ্রাগনকাই

@ সিএমসিডিগ্রাগনকাই আমি বললাম (সম্ভাব্য ভুলগুলি বাদ দিয়ে) আমি যা বলেছিলাম তা স্পষ্টভাবে। আমি এই স্তরক্রমগুলি বলব না, বরং (মেটা-) বক্তৃতার ডোমেনগুলি বলব। সিনট্যাক্স-শব্দার্থবিজ্ঞানের বিচ্ছেদটি আমরা কী বিষয়ে কথা বলি এবং কীভাবে এটি করি তার মধ্যে পার্থক্য করে, যার জন্য প্রতিনিধিত্ব প্রয়োজন। আপনার একই ভাষার সিনট্যাক্স এবং শব্দার্থবিজ্ঞান মিশ্রিত করা উচিত নয়, তবে একটি ভাষার বাক্য গঠনটি একটি বক্তৃতার বিষয় হতে পারে, তাই অন্য ভাষার শব্দার্থবিদ্যার সাথে সম্পর্কিত belong সেই অর্থে আপনি কিছু সংহত দেখতে পাবেন, যত্ন সহকারে পরিচালিত হতে। সিনট্যাক্স সর্বদা চূড়ান্তভাবে উত্পাদিত হয়, যখন শব্দার্থবিজ্ঞানের এমন কোনও বাধা নেই।
বাবু

2

এটি চতুর্থ অধ্যায়ে প্রদর্শিত হবে যে প্রকারগুলি সিনট্যাক্সের জন্য এবং প্রকারগুলি শব্দার্থবিজ্ঞানের জন্য।

পৃষ্ঠা 40 এর উদাহরণ বাক্য গঠন চার্চটি L {num str language ভাষায় সাজানো নিয়ে কাজ করে} দৃশ্যত সাজানো ভাষার বাক্য গঠনের বিভাগসমূহ।

বিশেষত, "প্লাস" এর একটি বাছাই রয়েছে যা এটির ফলাফলের সিনট্যাকটিক বিভাগ। অপারেটর "প্লাস" এর বাছাইয়ের নাম দেওয়া হয়েছে "এক্সপ"। এটি সিন্থেটিকভাবে, অপারেটর "প্লাস" এর একটি অনুরোধ একটি অভিব্যক্তি হিসাবে প্রতিনিধিত্ব করে। অপারেটর "প্লাস" এর একটি অনুরোধ একটি বিমূর্ত সিনট্যাক্স ট্রি যেখানে একটি অভিব্যক্তি অনুমোদিত হয় একটি পদ পূরণ করতে পারে। এটি "প্লাস" কী ধরণের নির্মাণ। এটি কোনও প্রোগ্রামের প্রতিনিধিত্ব করে এমন কোনও পাঠ্যের কাঠামোর সাথে এটি খাপ খায়।

পৃষ্ঠা 41 এ টাইপ সিস্টেমটি L {num str language ভাষার ধরণগুলির সাথে সম্পর্কিত} অপারেটর "প্লাস" এর ধরণটি দেওয়া হয়েছে যে এর অপারেন্টগুলিতে "num" টাইপ রয়েছে, এটি হল "নাম" " এই রায়টি অপারেটর "প্লাস" এর শব্দার্থবিজ্ঞানের আংশিক বিবরণ is অর্থাৎ অপারেটর "প্লাস" এর অর্থের একটি অংশটি একটি সংখ্যা উত্পাদন করতে দুটি সংখ্যার সমন্বয়। এই অর্থটি "যোগ" অন্যান্য অভিব্যক্তি থেকে পৃথক করে।

তদ্ব্যতীত, "টাইপ" নামে একটি বাছাই করা আছে যা "নাম" এবং "টিআর" এই দুটি প্রকার ধারণ করে।


1
ঠিক আছে, তিনি এই ধারণাটিতে এটি ব্যবহার করেন তবে তিনি এটিকে স্পষ্টভাবে সংজ্ঞায়িত করেন না। আমি "বহু-বাছাই করা যুক্তি" শব্দটি পেয়েছি যা আমার কাছে মনে হয় যে প্রকার এবং প্রকারগুলি সত্যই সম্পর্কিত সম্পর্কিত ধারণাগুলি বন্ধ। আমি কেবল উভয়ের জন্য একটি পরিষ্কার সংজ্ঞা জানতে চেয়েছিলাম।
rslima

"খাঁটি টাইপ সিস্টেমগুলি" এর সাথে এটি করার কিছু। আমি সন্দেহ করি যে আমরা " ল্যাম্বডা কলকুলি টাইপস টাইপস " তে উপস্থাপনাটিকে প্রচলিত হিসাবে বিবেচনা করতে পারি। তবে এটি সংক্ষিপ্ত নয়। আমি এখনও এমন একটি রেফারেন্স পাইনি যা পরিস্কার, সংক্ষিপ্ত সংজ্ঞাগুলি পদ, প্রকার, ধরনের এবং সাজানোর সরবরাহ করে।
মিনিপ্রেট

একটি পার্সার উত্পাদন মাথা সম্পর্কে কি? এক্সপ্রেশন বা টাইপের মতো একই নামে আপনি ব্যাকরণকে শ্রেণিবদ্ধ করে তোলার অনেক সময়।
সিএমসিডিগ্রাগনকাই

1

প্রথম অধ্যায়ের শুরুতে, হার্পার বাছাই শব্দের দ্বারা তার অর্থ কী তা বোঝাতে একটি ইঙ্গিত দেয় :

কোনও ভাষার বাক্য গঠনটি সেই উপায়গুলি নির্দিষ্ট করে যার মাধ্যমে বিভিন্ন ধরণের শব্দগুচ্ছগুলি (অভিব্যক্তি, আদেশ, ঘোষণা এবং এরূপে) প্রোগ্রাম গঠনে একত্রিত হতে পারে।

তিনি শব্দ সংজ্ঞায়িত ফ্রেজ একটি বিমূর্ত সিনট্যাক্স গাছ, যা তিনি তারপর আলোচনা করা হয়।


আমার কাছে মনে হয় যেন এখানে "প্রকারের" প্রতিশব্দ হিসাবে এর স্বাভাবিক ইংরেজি অর্থ ব্যবহার করা হয়েছিল।
রাফেল

@ রাফেল হ্যাঁ, তবে মনে হচ্ছে এই অর্থটি পরবর্তী রীতিমত ব্যবহারের সাথে সামঞ্জস্যপূর্ণ, আপনি কি একমত হবেন না?
jcora 10

বেশ না। "এই ধরণের এক্স" বাক্যাংশটি বইটিতে প্রায়শই উপস্থিত হতে পারে; এই বাক্যটি কোনওভাবে সংজ্ঞায়িত করে না যে কোনও কিছু সংজ্ঞায়িত করা হচ্ছে। (এছাড়াও, এই অনুচ্ছেদটির সাথে আমি কীভাবে "সাজান" শব্দটি বুঝি তার সাথে মেলে না)
রাফেল

@ রাফেল ঠিক আছে, দয়া করে ব্যাখ্যা করুন যে এই বিশেষ ব্যবহারটি কীভাবে বেমানান, এটি অবশ্যই আমাকে অবহিত করবে, কারণ আমি বর্তমানে এটি বুঝতে পারি।
jcora

আমি জানি "সাজান" এর ধারণাটি এটিএসটির পৃথক নোডগুলির সাথে সম্পর্কিত, একটি সম্পূর্ণ গাছ নয় (যা আপনি "উত্স" বলতে আপনার উত্সটির অর্থ)।
রাফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.