চমস্কি হায়ারার্কিতে কীভাবে ফিট হয় সেই প্রসঙ্গে ভাষা পার্সারদের বিকাশের বিষয়টি আমি ইদানীং কিছুটা মজা করছি।
একটি প্রাসঙ্গিক সংবেদনশীল ব্যাকরণের ভাল রিয়েল-ওয়ার্ল্ড (যেমন তাত্ত্বিক নয়) কী?
চমস্কি হায়ারার্কিতে কীভাবে ফিট হয় সেই প্রসঙ্গে ভাষা পার্সারদের বিকাশের বিষয়টি আমি ইদানীং কিছুটা মজা করছি।
একটি প্রাসঙ্গিক সংবেদনশীল ব্যাকরণের ভাল রিয়েল-ওয়ার্ল্ড (যেমন তাত্ত্বিক নয়) কী?
উত্তর:
ভাল প্রশ্ন. যদিও মন্তব্যগুলিতে উল্লেখ করা হয়েছে যে অনেকগুলি প্রোগ্রামিং ল্যাঙ্গুয়েজ প্রসঙ্গ-সংবেদনশীল, সেই প্রসঙ্গ-সংবেদনশীলতা প্রায়শই পার্সিং পর্যায়ে সমাধান করা হয় না তবে পরবর্তী পর্যায়ে - অর্থাত্ ভাষাটির একটি সুপারকে প্রসঙ্গ-মুক্ত ব্যাকরণ ব্যবহার করে পার্স করা হয়, এবং p পার্স গাছের কিছু পরে ফিল্টার আউট হয়।
তবে, এর অর্থ এই নয় যে এই ভাষাগুলি প্রসঙ্গে সংবেদনশীল নয় , তাই এখানে কয়েকটি উদাহরণ দেওয়া হল:
হাস্কেল আপনাকে অপারেটর হিসাবে ব্যবহৃত ফাংশনগুলি সংজ্ঞায়িত করতে এবং সেই অপারেটরগুলির নজির এবং সাহচর্যতা সংজ্ঞায়িত করতে সহায়তা করে। অন্য কথায়, আপনি অপারেটরের এক্সপ্রেশনগুলির জন্য সঠিক পার্স গাছটি তৈরি করতে পারবেন না:
a @@ b @@ c ## d ## e
যদি না আপনি ইতিমধ্যে @@
এবং এর জন্য প্রাধান্য / সাহসিকতার ঘোষণাগুলি বিশ্লেষণ করেছেন ##
:
infixr 8 @@
infixr 6 ##
দ্বিতীয় উদাহরণ হ'ল বেনকোড , এমন একটি ডেটা ল্যাঙ্গুয়েজ যা সামগ্রীর দৈর্ঘ্যের সাথে উপসর্গ করে:
<length>:<contents>
এই ফর্ম্যাটটির সমস্যাটি হ'ল প্রসঙ্গ-সংবেদনশীল কিছু ছাড়াই পার্স করা অসম্ভব অসম্ভব, কারণ "ক্ষেত্র" আকারগুলি খুঁজে বের করার একমাত্র উপায় হ'ল ... স্ট্রিংটি বিশ্লেষণ করে।
তৃতীয় উদাহরণটি এক্সএমএল, নির্ধারণ করে দেওয়া যথেচ্ছ ট্যাগ নামগুলি অনুমোদিত: খোলার ট্যাগের নামগুলিতে অবশ্যই মেলানো ট্যাগ থাকতে হবে:
<hi>
<bye>
the closing tag has to match bye
</bye>
</hi> <!-- has to match "hi" -->
আমি যতক্ষণ জানি, প্রাসঙ্গিক সংবেদনশীল ব্যাকরণগুলি কেবল প্রাকৃতিক ভাষা প্রক্রিয়াকরণে ব্যবহৃত হয় । প্রোগ্রামিং ভাষার দোভাষী এবং সংকলক জটিলতার কারণে প্রসঙ্গ-মুক্ত ব্যাকরণ বিশ্লেষণ করার চেষ্টা করেন না (এমনকি কিছু চেষ্টা অতীতেও করা হয়েছিল)।
হতে পারে, আপনি এই লাইব্রেরির একটিতে প্রকৃত ব্যবহারের কয়েকটি উদাহরণ খুঁজে পেতে পারেন:
http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits
প্রসঙ্গ সংবেদনশীল ব্যাকরণ কখনও কখনও প্রোগ্রামিং ভাষার শব্দার্থবিজ্ঞানের বর্ণনায় ব্যবহৃত হয়। সংবেদনশীল ব্যাকরণগুলির সম্ভবত সবচেয়ে বিস্তৃত ব্যবহার ছিল আলগোল 68 ভাষার সংজ্ঞা। এটি আলগোল 68৮ প্রোগ্রামের বাক্য গঠন এবং শব্দার্থক উভয়কেই বর্ণনা করতে দ্বি-স্তরের প্রেক্ষাপট মুক্ত ব্যাকরণ ( http://en.wikedia.org/wiki/Two-level_grammar দেখুন ) ব্যবহার করেছে।
আমার বেশ কয়েকজন সহকর্মী তাদের Algol68 বাস্তবায়ন পরিচালনার জন্য ভ্যান উইজঙ্গার্ডেন ব্যাকরণ ব্যবহার করেছেন (দেখুন http://en.wikedia.org/wiki/FLACC )।