একটি জিপিএল বাইসন ব্যাকরণ আমার প্রয়োগকে সংক্রামিত করে?


10

আমি আমার নিজস্ব সংকলকটির জন্য একটি জিপিএল বাইসন ব্যাকরণ ব্যবহার করার বিষয়ে ভাবছি।

ব্যাকরণটি কীভাবে আমার পার্সারটিকে "সংক্রামিত" করবে এটির ওপেন সোর্স হওয়া দরকার?

ব্যাকরণ - শর্তাবলী - বাইসনের ইনপুট হ'ল জিপিএল।


2
পরিষ্কার করে বলো. আপনার ব্যাকরণটি (অর্থাত্ বাইসনের ইনপুট) মানে জিপিএল বা আপনি বাইসনকে জিপিএল বলে ব্যবহার করার বিষয়ে উদ্বিগ্ন?
ক্রেগ

@ ক্র্যাগ একটি প্রোগ্রামের আউটপুট সাধারণত প্রোগ্রামটির লাইসেন্সের আওতায় আসে না যা এটি তৈরি করে। তবে, bisonএর আউটপুটে জিপিএল এর অধীনে থাকা একটি প্রচুর পরিমাণের কোড অন্তর্ভুক্ত রয়েছে, যার অর্থ এই যে এটি ব্যবহার করা যে কোনও কিছুই জিপিএল এর অধীনে থাকবে ... যদি না জিপিএল বিবিহীন প্রোগ্রামগুলির জন্য বাইসন ব্যবহার করতে সক্ষম না হয় তবে ।

@ মিশেলটি হ্যাঁ তবে যদি তার অর্থ ব্যাকরণটি নিজেই জিপিএল দ্বারা আচ্ছাদিত হয় (যেমন এটি একটি জিপিএল প্রোগ্রাম থেকে নেওয়া হয়েছিল) তবে ব্যাকরণের জিপিএল সম্ভবত তার প্রোগ্রামটিকে একটি উদ্দীপ্ত কাজ হিসাবে তৈরি করবে। প্রকৃত প্রশ্নের স্পষ্টকরণ দরকার।
ক্রেগ

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

স্পষ্টতার জন্য: আমি বাইসনের ইনপুটটি বোঝাতে
চাইছিলাম

উত্তর:


7

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

বাইসন ব্যবহারের শর্তাদি

বিসন-উত্পাদিত পার্সারদের বিতরণ শর্তাদি ননফ্রি প্রোগ্রামগুলিতে পার্সার ব্যবহারের অনুমতি দেয়। বাইসন সংস্করণ ২.২-এর আগে, এই অতিরিক্ত অনুমতিগুলি তখনই প্রয়োগ করা হয় যখন সিলে বিসন এলএলআর (1) পার্সার তৈরি করছিল এবং বাইসনের সংস্করণ 1.24 এর আগে বাইসন-উত্পাদিত পার্সারগুলি কেবলমাত্র বিনামূল্যে সফ্টওয়্যারযুক্ত প্রোগ্রামগুলিতে ব্যবহার করা যেতে পারে।

সূত্র: http://www.gnu.org/software/bison/manual/bison.html# শর্তাদি

তবে, জিপিএল-লাইসেন্সযুক্ত ব্যাকরণ থেকে তৈরি একটি পার্সার সম্ভবত জিপিএল দ্বারাও আচ্ছাদিত হয়েছে, কারণ এটি ব্যাকরণের উপর ভিত্তি করে একটি "কাজ (এটি একটি স্বয়ংক্রিয় রূপান্তর যা কোনও প্রোগ্রাম সংকলনের মতো)"।

অবশ্যই, সমস্ত আইনী বিষয়গুলির মতোই এখানেও কোনও নির্দিষ্ট উত্তর নেই, এমনকি আইনজীবী ও বিচারকরাও একমত হতে পারেন না, তবে আমি বিশ্বাস করি এটিই সাধারণ sensকমত্য।


2
আমি মনে করি না যে তিনি বাইসনের লাইসেন্স সম্পর্কে জিজ্ঞাসা করছেন, তিনি ব্যাকরণের লাইসেন্স সম্পর্কে জিজ্ঞাসা করছেন।
জার্গ ডব্লু মিটাগ

3
নিখরচায় প্রকল্পগুলিতে আপনাকে বাইসন-উত্পাদিত পার্সার ব্যবহার করতে দেয় এমন আসল লাইসেন্স ব্যতিক্রম এখানে পাওয়া যাবে: git.savannah.gnu.org/cgit/bison.git/tree/src/parse-gram.h
বার্ট ভ্যান ইনজেন শেহানাউ

3
@ জার্গডব্লিউমিত্যাগ: বাইসন যেমন জিপিএল সফ্টওয়্যার এবং বাইসনের কিছু অংশ এটিকে উত্পন্ন ব্যাকরণে পরিণত করে, তাই বাইসনের লাইসেন্স অত্যন্ত প্রাসঙ্গিক।
বার্ট ভ্যান ইনজেন শেহেনো

@ বার্টওয়ানআইংজেনচেনা: হ্যাঁ, তবে এটি প্রশ্নের সাথে অপ্রাসঙ্গিক। ওপি জিজ্ঞাসা করছিল না যে জিপিসুল হওয়ায় জিপিএল তার পার্সারকে বাইসনের উদ্ভূত কাজ করে কিনা, তিনি জিজ্ঞাসা করছিলেন যে জিপিএল হওয়ায় ব্যাকরণ তাঁর পার্সারকে ব্যাকরণের একটি উদ্ভূত কাজ করে?
Jörg ডব্লু মিটাগ

@ জার্গডব্লিউমিত্যাগ: আমি দেখতে পাচ্ছি যে কোথা থেকে বিভ্রান্তি এসেছে। এটি ওপি
বার্ট ভ্যান ইনজেন শেহানাউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.