প্রশ্ন বরং বিস্তৃত। যুক্তিসঙ্গত জায়গায় এর উত্তর দেওয়ার জন্য আমি অনেকগুলি ওভারসিম্প্লিফিকেশন করব।
আসুন পরিভাষা সম্পর্কে একমত। যখন কোনও প্রোগ্রাম এর স্পেসিফিকেশনটি চাপায় তখন এটি সঠিক । এই অস্পষ্ট বিবৃতিটি বিভিন্নভাবে সুনির্দিষ্টভাবে তৈরি করা হয়, কোন প্রোগ্রামটি ঠিক কী এবং কোন স্পেসিফিকেশন ঠিক তা কী তা পিন করে। উদাহরণস্বরূপ, মডেল পরীক্ষায় প্রোগ্রামটি একটি ক্রিপকে কাঠামো এবং স্পেসিফিকেশনটি প্রায়শই একটি এলটিএল সূত্র হয়। বা, প্রোগ্রামটি পাওয়ারপিসির নির্দেশাবলীর একটি তালিকা হতে পারে এবং স্পেসিফিকেশনটি হোয়েরে-ফ্লয়েড সংস্থার একটি সেট হতে পারে , বলে, প্রথম-আদেশের যুক্তি। অনেকগুলি সম্ভাব্য প্রকরণ রয়েছে। এটি এক সিদ্ধান্তে লোভনীয় যে কোনও এক ক্ষেত্রে (ক্রিপকে কাঠামো) আমরা একটি আসল প্রোগ্রাম যাচাই করি না, যখন দ্বিতীয় ক্ষেত্রে (পাওয়ারপিসির নির্দেশাবলীর তালিকা) আমরা করি। তবে এটি উপলব্ধি করা জরুরী যে আমরা উভয় ক্ষেত্রেই গাণিতিক মডেলগুলি দেখছি এবং এটি পুরোপুরি ঠিক আছে। (পরিস্থিতিটি পদার্থবিজ্ঞানের সাথে একই রকম যেখানে উদাহরণস্বরূপ, শাস্ত্রীয় যান্ত্রিকতা বাস্তবের একটি গাণিতিক মডেল।)
বেশিরভাগ আনুষ্ঠানিককরণ একটি প্রোগ্রামের বাক্য গঠন এবং শব্দার্থবিজ্ঞানের মধ্যে পার্থক্য করে; এটি, এটি কীভাবে উপস্থাপিত হয় এবং এর অর্থ কী। কোনও প্রোগ্রামের শব্দার্থকতা যা প্রোগ্রাম যাচাইয়ের দৃষ্টিকোণ থেকে গণনা করা হয়। তবে, প্রোগ্রামগুলির (সিনট্যাকটিকাল উপস্থাপনা) অর্থগুলি নির্দিষ্ট করার একটি স্পষ্ট পদ্ধতি থাকা অবশ্যই গুরুত্বপূর্ণ। দুটি জনপ্রিয় উপায় নিম্নলিখিত:
- (ছোট পদক্ষেপ) অপারেশনাল শব্দার্থক শব্দসমূহ : এটি অনেকটা এর জন্য দোভাষী লিখে একটি প্রোগ্রামিং ভাষার সংজ্ঞা দেওয়ার মতো। এর জন্য আপনাকে রাষ্ট্রটি কী তা বলতে হবে এবং ভাষাতে প্রতিটি বিবৃতি দ্বারা এটি প্রভাবিত হয়। (আপনি ভাবতে পারেন যে আপনি কোন ভাষায় অনুবাদক লিখেছেন, তবে আমি ভান করছি আপনি নন))
- অ্যাকজিওমেটিক সিঁটমিকস : এখানে প্রতিটি স্টেটমেন্ট টাইপ একটি অ্যাকিয়োম স্কিমা সহ আসে। সুতরাং, মোটামুটি, যখনই এই ধরণের একটি নির্দিষ্ট বিবৃতি ব্যবহৃত হয়, এটি নির্দিষ্ট অক্ষ ব্যবহার করতে সক্ষম হয়ে অনুবাদ করে। উদাহরণস্বরূপ, অ্যাসাইনমেন্ট স্কিমা নিয়ে আসে { পি [ এক্স / ই ] }x : = ই ; নির্দিষ্ট অ্যাসাইনমেন্ট x : = x + 1 অক্ষর সাথে আসে { x + 1 = 1 }। পি[ এক্স / ই ] }x : = ই। পি}x : = x + 1 যদি আমরা সঙ্গে স্কিমা instantiate পি = ( x এর = 1 ) ।{ x + 1 =1}x : = x +1{ এক্স = 1 }পি= ( x = 1 )
(অন্যরাও রয়েছেন den ডোনোটেশনাল শব্দার্থবিজ্ঞান বাদ দেওয়ার জন্য বিশেষত আমার খারাপ লাগছে, তবে এই উত্তরটি ইতিমধ্যে দীর্ঘ)) মেশিন কোডের সাথে অপারেশনাল সিনটিক্স বেশিরভাগ লোকেরা 'রিয়েল প্রোগ্রাম' বলে ডাকে তার খুব কাছে। এখানে একটি সেমিনাল কাগজ রয়েছে, যা ডিসি আলফা মেশিন কোডের সাবসেটের জন্য অপারেশনাল শব্দার্থক ব্যবহার করতে দেখা যায়:
অ্যাকডিয়োমেটিকগুলির মতো আপনি কেন কিছু উচ্চ-স্তরের শব্দার্থবিজ্ঞান ব্যবহার করবেন? আপনি যে হার্ডওয়ারটি চালাচ্ছেন তার উপর নির্ভর করার জন্য আপনি যখন আপনার সঠিকতার প্রমাণটি চান না। এরপরে যোগাযোগটি হ'ল কিছু সুবিধাজনক উচ্চ-স্তরের শব্দার্থবিজ্ঞানের বিষয়ে একটি অ্যালগরিদমের যথার্থতা প্রমাণ করা এবং তারপরে প্রমাণ করা যায় যে প্রকৃত মেশিনের কাছাকাছি থাকা নিম্ন-স্তরের শব্দার্থবিজ্ঞানের ক্ষেত্রে শব্দার্থক শব্দগুলি শোনায়।
সংক্ষেপে, আমি তিনটি কারণ সম্পর্কে ভাবতে পারি যা আপনার প্রশ্নের দিকে পরিচালিত করেছিল:
- আপনি কেবলমাত্র উচ্চ-স্তরের শব্দার্থকগুলি দেখেছেন যা আপনাকে কোনও প্রোগ্রাম বলার জন্য ব্যবহার করা হয় এমনটি দেখে মনে হয় না এবং নিম্ন স্তরের কোনওগুলি রয়েছে কিনা তা আপনি ভাবছেন। উত্তরটি হল হ্যাঁ.
- আপনি আশ্চর্য হন যে আপনি কীভাবে প্রমাণ করেছেন যে কোনও মডেল বাস্তবের সাথে মিলে যায়। পদার্থবিজ্ঞানের মত, আপনি না। আপনি কেবল আরও ভাল মডেল নিয়ে আসেন এবং তাদের বাস্তবতার বিপরীতে পরীক্ষা করেন check
- সিনট্যাক্স এবং শব্দার্থবিজ্ঞানের মধ্যে পার্থক্য এবং প্রোগ্রামগুলিতে অর্থ নির্ধারণের বিভিন্ন উপায় আপনি দেখেন নি। আগের দুটি প্রশ্ন কয়েকটি বইয়ের তালিকা করে।
এই উত্তরটি কেবল তিনটি পৃথক উপায়ে সনাক্ত করার চেষ্টা করছে যাতে আমি প্রশ্নটি বুঝতে পারি। গভীর যাওয়া কোনো এই পয়েন্ট স্থান অনেক প্রয়োজন।