मेरे पास एक निश्चित भाषा का वर्णन करने वाली एक yacc फ़ाइल है जिसके लिए मैं आईएमपी (ग्रहण परियोजना) का उपयोग कर एक संपादक विकसित कर रहा हूं। मैं एक पार्सर जनरेटर के रूप में एलपीजी का उपयोग कर रहा हूं, इसलिए मुझे एक बीएनएफ नियम निकालने की आवश्यकता है मेरी yacc फ़ाइल से। प्राप्त की गई yacc फ़ाइल में नियम और कार्य शामिल हैं। हालांकि, मैं एलपीजी में उपयोग किए जाने वाले व्याकरण विवरण के नियमों को निकालना चाहता था। ऐसा करने का एक तरीका है मैन्युअल रूप से नियमों को निकालने और बीएनएफ वाक्यविन्यास में इसे दोबारा सुधारना (या इसे जिस तरह से मैं चाहता हूं उसे परिवर्तित करने के लिए एक प्रोग्राम लिख रहा हूं)। मैं सोच रहा था कि ऐसा करने का एक स्वचालित तरीका है या नहीं। मैंने कुछ ब्लॉगों में पढ़ा है कि बाइसन मदद कर सकता है लेकिन मुझे उचित आदेश बिल्कुल नहीं मिल सका। क्या कोई इस समस्या से निपटने के लिए जानता है।yacc फ़ाइल से बीएनएफ व्याकरण नियम निकालें
मैं वास्तव में वाईएसी फाइल पोस्ट नहीं कर सकता क्योंकि मेरे पास गोपनीय है। लेकिन मैं एक उदाहरण के रूप में निम्न प्रकार
argExprList:
assignExp
{
// some rules here
}
| assignExpList ',' assignExp
{
//some other rules here
}
;
मैं क्या चाहता था इसे करने के लिए परिवर्तित किया, बस
argExpList ::= assignExp|assignExpList ',' assignExp
वही था जो मैं पूछ रहा था। यह मेरी समस्या हल हो गया। – lferasu
@ इफेरासु: ... फिर रिकी के जवाब को स्वीकार करें –