मैं एक व्याकरण बनाना चाहता हूं जो करीबी फ़ंक्शन कॉल की अनुमति देगा। यही कारण है: ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
fncall : expr '(' (expr (',' expr)*)? ')';
expr : I
मुझे इस व्याकरण में बाएं रिकर्सन के साथ एक छोटी सी समस्या है। मैं प्रोलॉग में इसे लिखने की कोशिश कर रहा हूं, लेकिन मुझे नहीं पता कि बाएं रिकर्सन को कैसे हटाया जाए। <expression> -> <simple_expression>