নিয়মিত এক্সপ্রেশন কি


16

আমার যদি টাইপ 3 ব্যাকরণ থাকে তবে এটি পুশডাউন অটোমেটনে উপস্থাপন করা যেতে পারে (স্ট্যাকের উপর কোনও অপারেশন না করে) তাই আমি প্রাসঙ্গিক ভাষা ব্যবহার করে নিয়মিত প্রকাশের প্রতিনিধিত্ব করতে পারি। তবে আমি কি জানতে পারি যে কোনও টাইপ 3 ব্যাকরণটি কোনও পার্স টেবিল তৈরি না করে , , ইত্যাদি কিনা ?এল এল ( 1 ) এস এল আর ( 1 )LR(1)LL(1)SLR(1)

উত্তর:


15

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

যাইহোক, নিয়মিত ভাষা না সব এল আর (0)। LR (0) ভাষার খুব নির্দিষ্ট বৈশিষ্ট্য রয়েছে - বিশেষত, এগুলি অবশ্যই উপসর্গমুক্ত থাকতে হবে be সুতরাং এটি নিয়মিত ভাষা {ক, আ L এলআর (0) নয়, যদিও এটি স্পষ্টভাবে নিয়মিত (রেজেক্স এ | (এএ))। তবে, নিয়মিত ভাষার মধ্যে এলআর (0) ভাষা সঠিকভাবে অন্তর্ভুক্ত নয়; gram 0 n 21 n এর জন্য এই ব্যাকরণ n ≥ 1 হল এলআর (0), তবে ভাষাটি নিয়মিত নয়:

S -> E
E -> 0E1 | 2

আশাকরি এটা সাহায্য করবে!


2
ডান-নিয়মিত ব্যাকরণকারীরা নিয়মিত ভাষার সেটটি ঠিক গ্রহণ করেন তা সাধারণত ক্লাসে (বা অনুশীলনগুলি) করা হয়, সুতরাং উত্তরটি আরও তাত্ক্ষণিক।
রাফেল

2

(সাধারণ পুরানো) নিয়মিত প্রকাশের বাক্য গঠন (আপনি "প্রতিনিধিত্ব" বলেছিলেন) হ'ল এলআর (0)। একটি রেজেক্স উপস্থাপন করে একটি স্ট্রিং পার্স করার জন্য আপনার কোনও লুকোচুরির দরকার নেই। আপনি সহজেই রেজেক্সেসের জন্য ব্যাকরণে পার্সার জেনারেটর চালিয়ে এটি সিদ্ধান্ত নিতে পারেন: - easily আপনি সহজেই একটি সাধারণ পুনরাবৃত্ত বংশদ্ভুত (এলএল (0)) পার্সার কোড করতে পারেন রিজেক্সপ্সের জন্য; এলএল (0) যা কিছু তা হ'ল এলআর (0)।

পার্লসের মতো আরও জটিল তথাকথিত "রেজেক্সপস" এর সিনট্যাক্স এর মতো কিনা তা আমি জানি না; তবে পার্লের রেগেক্সপসগুলি রেগেক্সপসের চেয়ে কঠোরভাবে শক্তিশালী তাই এগুলি সাদামাটা পুরানো রিজেগস্পস নয়।

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


পার্ল নিয়মিত প্রকাশগুলি এনএফএ

পার্ল কীভাবে কাজ করেছিল তা নিয়ে প্রশ্ন ছিল না। এটি ছিল (পার্ল?) রেগেক্সপগুলি নির্দিষ্ট প্রযুক্তি দ্বারা পার্সেবল ছিল কিনা about আমি বিশ্বাস করতে পারি যে পার্ল রেজেক্সপগুলি কিছু অন্যান্য প্রসঙ্গ-সংবেদনশীল ডেটা ক্যাপচারের সাথে তাদের মিলগুলি করার জন্য একটি এনএফএ ব্যবহার করে তবে আমি প্রশ্নের প্রাসঙ্গিকতা দেখতে পাচ্ছি না।

3
-1 নিয়মিত এক্সপ্রেশন LR হয় না (0)। এলআর (0) ভাষা অবশ্যই উপসর্গমুক্ত থাকতে হবে, তবে নিয়মিত অভিব্যক্তি a|(aa)এমন একটি ভাষা বর্ণনা করে যা উপসর্গমুক্ত নয়। অতিরিক্তভাবে, এলআর (0) ভাষাগুলি এপসিলন প্রডাকশনগুলির সাথে ব্যাকরণ পরিচালনা করতে পারে না, তাই নিয়মিত ভাষা {এপসিলন, একটি L এলআর (0) নয়। যাইহোক, নিয়মিত ভাষায় হয় কলিজা (1), কারণ আপনি সেগুলির নিয়মিত ব্যাকরণ যেমন লিখতে পারেন, এবং এইভাবে তারা সব এল আর (1) হয়। যেহেতু যে কোনও এলআর (1) ভাষার একটি এসএলআর (1) ব্যাকরণ রয়েছে, এর অর্থ সমস্ত নিয়মিত ভাষা এসএলআর (1) হয়।
টেম্পলেটটিফাইফ

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

1
@ ইরাব্যাক্সটার- নিয়মিত এক্সপ্রেশনগুলির বাক্য গঠনটি LR (0) নয় হয় কারণ নিয়মিত প্রকাশগুলি উপসর্গটি মুক্ত হয় না। এগুলি উভয়ই এলএল (0) নয়, কারণ এলএল (0) ভাষায় কেবল একটি একক স্ট্রিং থাকতে পারে (বা কোনও স্ট্রিং নেই)।
টেম্পলেটটিফাইফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.