এটি এমন একাধিক প্রশ্নের অংশ যা বোন প্রকল্পটি অ্যাবস্ট্রাকশন প্রকল্পের দিকে দৃষ্টি নিবদ্ধ করে, যার লক্ষ্য ফ্রেমওয়ার্ক আকারে ভাষা নকশায় ব্যবহৃত ধারণাগুলি বিমূর্ত করা। বোনের প্রকল্পটিকে ওআইএলএক্সার বলা হয়, যার লক্ষ্য ম্যাচগুলিতে কোড ইনজেকশন ব্যবহার না করে ব্যাকরণ ফাইলগুলি থেকে একটি পার্সার তৈরি করা।
কাঠামোগত টাইপিং সম্পর্কিত এই প্রশ্নগুলির সাথে যুক্ত আরও কিছু পৃষ্ঠা এখানে দেখা যায় এবং ব্যবহারের সহজলভ্যতা এখানে পাওয়া যায় । কাঠামো এবং পোস্টের যথাযথ স্থান সম্পর্কে তদন্তের সাথে সম্পর্কিত মেটা-বিষয় এখানে পাওয়া যাবে ।
আমি সেই বিন্দুতে পৌঁছে যাচ্ছি যেখানে প্রদত্ত ব্যাকরণ থেকে পার্স গাছটি বের করা শুরু করব, তারপরে একটি রিকার্সিভ ডেসেন্ট পার্সার থাকবে যা ডিএফএ ব্যবহার করে সামনের পথগুলি সনাক্ত করতে (এএনটিএলআর 4 এর এলএল (*)) এর সমান, তাই আমি অন্তর্দৃষ্টি পেতে আমি এটি খুলতে চাই অনুভূত।
পার্সার সংকলকটিতে, কী ধরণের বৈশিষ্ট্য আদর্শ?
এখন পর্যন্ত কী বাস্তবায়িত হয়েছে তার একটি সংক্ষিপ্ত বিবরণ এখানে দেওয়া হয়েছে:
- টেমপ্লেট
- একটি নির্দিষ্ট বিন্দুতে বৈধ কি তা জেনে ভবিষ্যদ্বাণীটি দেখুন।
- বিধিগুলির মধ্যে আক্ষরিক গ্রহণ করা এবং কোন টোকেনটি সেগুলি থেকে সমাধান করে সেটিকে 'ডিলিটালাইজেশন' বিধি বিধান করুন।
- ননডেটেরিমেন্টিক অটোমাতা
- নির্ধারক অটোমাতা
- টোকেন স্বীকৃতির জন্য সরল লেজিকাল স্টেট মেশিন
- টোকেন অটোমেশন পদ্ধতি:
- স্ক্যান - মন্তব্যগুলির জন্য দরকারী: মন্তব্য: = "/ *" স্ক্যান ("* /");
- বিয়োগ - সনাক্তকারীদের জন্য দরকারী: সনাক্তকারী: = বিয়োগ (আইডেন্টিফায়ারবডি, কীওয়ার্ড);
- শনাক্তকারী কীওয়ার্ড গ্রহণ না করে তা নিশ্চিত করে।
- এনকোড - বেস এন ট্রানজিশনের সিরিজ এক্স গণনা হিসাবে একটি অটোমেশনকে এনকোড করে।
- ইউনিকোডেস্কেপ: = "\\ u" বেসইনকোড (আইডেন্টিফায়ারচর্নোস্কেপ, 16, 4);
- হেক্সা 4-ট্রানজিশন সহ হেক্সাডেসিমালে একটি ইউনিকোড পলায়ন করে। এই এবং: [0-9A-Fa-f] {4 between এর মধ্যে পার্থক্য হ'ল এনকোড সহ ফলাফলযুক্ত অটোমেশন হেক্সাডেসিমাল মানগুলির অনুমোদিত সেটটিকে আইডেন্টিফায়ারচরনোস্ক্রপের স্কোপে সীমিত করে। সুতরাং আপনি যদি এটি \ u005c দেন তবে এনকোড সংস্করণ মানটি গ্রহণ করবে না। এর মতো জিনিসের একটি গুরুতর সতর্কতা রয়েছে: অল্প পরিমাণে ব্যবহার করুন। ফলাফল অটোমেশন বেশ জটিল হতে পারে।
- ইউনিকোডেস্কেপ: = "\\ u" বেসইনকোড (আইডেন্টিফায়ারচর্নোস্কেপ, 16, 4);
যা বাস্তবায়িত হয়নি তা হ'ল সিএসটি জেনারেশন, এই কাজটি করার জন্য যথাযথ প্রসঙ্গটি বহন করার জন্য আমাকে ডিটারমিনিস্টিক অটোমেশনগুলি সামঞ্জস্য করতে হবে।
আগ্রহীদের জন্য, আমি টি * y♯ প্রকল্পের মূল ফর্মটির একটি সুন্দর মুদ্রিত আপলোড করেছি । প্রতিটি ফাইলের প্রত্যেকটি ফাইলের সাথে লিঙ্ক করা উচিত, আমি সেগুলি অনুসরণ করার জন্য পৃথক নিয়মে লিঙ্ক করতে শুরু করেছি, তবে এটি অনেক দীর্ঘ সময় নিয়েছে (স্বয়ংক্রিয়ভাবে সহজ হওয়া সহজ হত!)
যদি আরও প্রসঙ্গে প্রয়োজন হয়, দয়া করে সেই অনুযায়ী পোস্ট করুন।
5-14-2013 সম্পাদনা করুন : আমি একটি নির্দিষ্ট ভাষার মধ্যে রাষ্ট্রের মেশিনগুলির জন্য গ্রাফভিজ গ্রাফগুলি তৈরি করতে কোড লিখেছি। এখানে অ্যাসেম্বলি পার্টের একটি গ্রাফিজ ডিগ্রাফ রয়েছে । ভাষা বর্ণনায় লিঙ্ক করা সদস্যদের সেই নিয়মের জন্য ডিজিট্রাফের সাথে তাদের আপেক্ষিক ফোল্ডারে একটি নিয়মনামাটিএসটিএস্ট থাকতে হবে। আমি উদাহরণ পোস্ট করার পরে কিছু ভাষার বর্ণনার পরিবর্তন হয়েছে, এটি ব্যাকরণ সম্পর্কে জিনিসগুলি সরলকরণের কারণে। এখানে একটি আকর্ষণীয় গ্রাফভিজ চিত্র ।