অপারেটরের বাম-সংস্থান বজায় রেখে ব্যাকরণে বাম-পুনরাবৃত্তি সরানো


13

এই মহড়াটি নিয়ে আমার সমস্যা আছে:

জি-কে ul-ক্যালকুলাসের জন্য নিম্নলিখিত অস্পষ্ট ব্যাকরণ হতে দিন:

E → v | λv.E | EE | (E)

যেখানে E একক অ-টার্মিনাল প্রতীক, λv.E বিমূর্ততা E ​​তে ভেরিয়েবল ভিটি উপস্থাপন করে এবং EE অ্যাপ্লিকেশনকে উপস্থাপন করে।

  1. একটি এলএল (1) ব্যাকরণ জি সংজ্ঞা দিন L যেমন এল (জি ′) = এল (জি) এবং জি এর অস্পষ্টতা নীচের সাধারণ নিয়মাবলী আরোপ করে সমাধান করা হয়:
    1. বিমূর্তি সঠিক সাহসী;
    2. অ্যাপ্লিকেশন বামে মিশে আছে;
    3. অ্যাবস্ট্রাকশন চেয়ে অ্যাপ্লিকেশন উচ্চ অগ্রাধিকার আছে।
  2. জি for এবং স্ট্রিংকে বিশ্লেষণ করার সময় প্রাপ্ত পার্স গাছের জন্য এলএল (1) পার্সিং টেবিলটি দেখান λv1. λv2. v1v2v1

আমি এই ব্যাকরণটি অর্জন করে অস্পষ্টতা নির্ধারণের প্রাধান্য এবং সংস্থানটি দূর করেছি:

E -> EF | F
F -> λv.G | G
G -> (E) | v

যা এলএল (1) নয়, যেহেতু উত্পাদনটি E -> EFপুনরাবৃত্ত হয়। তবে, আমি যে উত্পাদনটি পেয়েছি তা থেকে বাম পুনরাবৃত্তি দূর করা:

E -> FE¹
E¹-> FE¹ | ɛ
F -> λv.G | G
G -> (E) | v

এটি প্রয়োজনীয়তার সাথে সামঞ্জস্য করে না 1.2।

আমি ইন্টারনেটে কোনও সমাধানের সন্ধান করেছি, তবে মনে হচ্ছে বাম সংশ্লেষ সংরক্ষণ করে বাম-পুনরাবৃত্তি দূর করা সম্ভব নয়।

যাইহোক, এই অনুশীলনটি কয়েক বছর আগে সংকলক পরীক্ষায় উপস্থিত হয়েছিল, সুতরাং একটি সঠিক উত্তর অবশ্যই থাকতে হবে।

আপনার সাহায্যের জন্য ধন্যবাদ।

উত্তর:


11

বাম সাহচর্য এবং এলএল (1) পার্সিংয়ের সামঞ্জস্য

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

প্রকৃতপক্ষে, যদি পার্স-ট্রিটি কোনও অপারেটরের বাম সাহচর্যকে প্রতিফলিত করতে হয় তবে ব্যাকরণটি অবশ্যই বাম-পুনরাবৃত্ত হয়, যেহেতু পার্স-গাছে শীর্ষ অ্যাপ্লিকেশন নোড অগত্যা পেরেথেসাইজড ক্রমাগত অ্যাপ্লিকেশনগুলির ডানতম শব্দটিকে যুক্ত করে চলেছে .. সুতরাং এলএল পার্সিং প্রশ্নটির বাইরে। তুমি ঠিক.

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

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

এই বিরোধী প্রয়োজনীয়তার যথাযথ উত্তর কী হিসাবে বিবেচনা করা যেতে পারে সে সম্পর্কে আমার কোনও ধারণা নেই।

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

জার্নালে বা পরীক্ষায় কিছু উপস্থিত হওয়ার বিষয়টি মোটামুটি গ্যারান্টি নয় যে এটি সঠিক। এবং আমিও ভুল হতে পারি ... তবে আমি এই সমস্যা সম্পর্কে নিজের জ্ঞান ছাড়াও কিছু পরীক্ষা করেছি।

এই নির্দিষ্ট উদাহরণ সম্পর্কে

এটি বলা হচ্ছে, আপনি যে প্রথম ব্যাকরণটি পরামর্শ দিচ্ছেন এটি বেশ সঠিক মনে হচ্ছে না। এটি producingu.λv.v উত্পাদন করার উপায় নেই।

জানতে একটি কৌশল হ'ল অপারেটরদের (এখানে বিমূর্তি বা প্রয়োগ) সর্বনিম্ন অগ্রাধিকার (বিমূর্ততা) দিয়ে শুরু করা। পাটিগণিতের প্রকাশের জন্য এটি একই It


আপনার বিস্তারিত মন্তব্যের জন্য আপনাকে অনেক ধন্যবাদ। আপনি ঠিক বলেছেন, আমি প্রথম ব্যাকরণ দিয়ে একটি ত্রুটি করেছি, এটির জন্যও আপনাকে ধন্যবাদ। আমি তখন অধ্যাপককে জিজ্ঞাসা করব।
মার্কো ডাল্লাগ

আপনি যদি আগ্রহী হন তবে আমি উত্তরটিতে যুক্ত করতে পারি, ডমিগুলির জন্য ব্যাকরণ ডিজাইনের একটি ছোট নোট (আমাকেও) দিয়ে। এছাড়াও, আপনার অধ্যাপক এ সম্পর্কে যা বলে তা আমাদের জানান।
বাবু

প্রফেসর এই প্রশ্নের উত্তর দিলে আমি থ্রেড আপডেট করব। যাইহোক, আপনার জন্য যদি সমস্যা না হয় তবে আরও তথ্য যুক্ত করতে নির্দ্বিধায় অবশ্যই অবশ্যই আমি এটিকে অনেক প্রশংসা করব। আপনার সাহায্যের জন্য আপনাকে আবার ধন্যবাদ
মার্কো ডালাগ 13

পিয়ার্সের ট্যাপেলে কাজ করার সময় @ মারকোডালাগ এটি জুড়ে এসেছিল। আপনার এই অধ্যাপক এই উত্তর থেকে আলাদা কিছু বলতে কি ঘটেছে? :)
lcn

0

আমার প্রচেষ্টা:

E  -> A | λv.E
A  -> FA'
A' -> A | ɛ
F  -> (E) | v

এই ব্যাকরণটি এলএল (1) এবং প্রয়োজনীয় বৈশিষ্ট্যগুলির সম্মান করা উচিত।

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