ক্রিয়াকলাপ শব্দার্থক শব্দগুলি যে প্রশ্নগুলি উত্তর দিতে পারে না অপারেশনাল শব্দার্থকগুলি পারে না?


14

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

উত্তর:


11

ডোনোটেশনাল শব্দার্থবিজ্ঞানের বৈশিষ্ট্যযুক্ত কোন বাস্তব চুক্তি নেই ( এই নিবন্ধটিও দেখুন) কেবল এটি গঠনমূলক হতে হবে । তার মানে যদি শব্দার্থক ক্রিয়াকলাপ, তাদেরঅর্থগুলির সাথেম্যাপিং প্রোগ্রামগুলি, নীচের মতো কিছু অবশ্যই সমস্ত এন- ক্যারি প্রোগ্রাম কনস্ট্রাক্টর f এবং সমস্ত প্রোগ্রাম এম 1 , ..., এম এন (স্পষ্টতই ভাল-টাইপনে ধরে নিচ্ছেন):[[]]nfM1Mn

[[f(M1,...,Mn)]]=trans(f)([[M1]],...,[[Mn]])

এখানে হল সিনেটিক ডোমেনের f এর সাথে সম্পর্কিত ruct রচনাটি বীজগণিতের মধ্যে হোমোর্ফিজমের ধারণার অনুরূপ।trans(f)f

ক্রিয়ামূলক শব্দার্থবিজ্ঞান এই অর্থে গঠনমূলক নয়। Orতিহাসিকভাবে, ডায়নোটেশনাল শব্দার্থকগুলি আংশিকভাবে বিকশিত হয়েছিল কারণ অপারেশনাল শব্দার্থকগুলি গঠনমূলক ছিল না। ডি স্কটের যুগান্তকারী অর্ডার-তত্ত্বীয় এর denotational শব্দার্থবিদ্যা অনুসরণ -calculus, সবচেয়ে denotational শব্দার্থবিদ্যা অর্ডার-তত্ত্বীয় ব্যবহার করা হয়। আমি ধারণা করি যে - খাঁটি বৌদ্ধিক আগ্রহ ব্যতীত - ডায়নোটেশনাল শব্দার্থ আবিষ্কারগুলি বেশিরভাগ সময় আবিষ্কার করা হয়েছিল কারণ সেই সময় (1960):λ

  1. অপারেশনাল শব্দার্থবিদ্যার বিষয়ে যুক্তি দেখাতে অসুবিধা হত।
  2. অ-তুচ্ছ ভাষাগুলিতে অ্যাক্সিয়োমেটিক শব্দার্থবিদ্যা দিতে অসুবিধা হত।

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

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

এখানে চিত্র বর্ণনা লিখুন

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

  • এটি সরাসরি বস্তুর স্তরে প্রমাণ করুন।

  • প্রমাণ করুন যে মেটা-স্তরের অনুবাদটি (এবং পিছনে) সম্পত্তি 'সংরক্ষণ করে', এবং তারপরে এটি মেটা-স্তরের জন্য প্রমাণ করুন এবং তারপরে ফলাফলটি বস্তুর স্তরে ফিরে যান।

পরবর্তীকালের সম্মিলিত ব্যয় সম্ভবত পূর্বের ব্যয়ের চেয়ে বেশি, তবে অনুবাদ প্রমাণ করার ব্যয়টি ভবিষ্যতের সমস্ত ব্যবহারের তুলনায় সাদৃশ্যযুক্ত হতে পারে, যখন মেটা-স্তরের জন্য সম্পত্তি প্রমাণ করার জন্য ব্যয় প্রমাণের তুলনায় অনেক কম অবজেক্ট স্তরে

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


এটি ডিনোটেশনাল শব্দার্থবিজ্ঞান শেখার মূল্য? যদি আপনি বোঝাতে চান অর্ডার-তাত্ত্বিক শব্দটি ডেনোটেশনাল শব্দার্থবিজ্ঞানের কাছে পৌঁছায় তবে সম্ভবত না, আপনি যদি প্রোগ্রামিং ভাষার তত্ত্বটিতে কাজ করতে না চান এবং পুরানো কাগজগুলি বুঝতে না চান। অর্ডার-তাত্ত্বিক দৃষ্টিভঙ্গিটি ডেনোটেশনাল শব্দার্থবিদ্যার কাছে শেখার জন্য আরেকটি কারণ হ'ল এই পদ্ধতির সৌন্দর্য।


4

O(p,σ)σp,σσD(p)pO(p,σ)=D(p)(σ)S(p)σO(p,σ)D(p)

C:XXS(C(p))=S(p)pσO(C(p),σ)=O(p,σ)pD(C(p))=D(p)σ

নির্বোধ উদাহরণ:

C(p)=(q;q)(skip;q;skip;q;skip)

pC

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.