मैं अभद्र-संवेदनशील भाषाओं के लिए व्याकरण के बारे में सोच रहा था और ऐसा लग रहा है कि सीएफ व्याकरण अगर मापदंडों के साथ संयुक्त हो जाए तो यह चाल चलेगा। एक उदाहरण के रूप में, ANTLR जैसे प्रारूप में सरलीकृत अजगर व्याकरण के लिए इस टुकड़े पर विचार करें:
// on top-level the statements have empty indent
program
: statement('')+
;
// let's consider only one compound statement and one simple statement for now
statement(indent)
: ifStatement(indent)
| passStatement(indent)
;
passStatement(indent)
: indent 'pass' NEWLINE
;
// statements under if must have current indent plus 4 spaces
ifStatement(indent)
: indent 'if' expression ':' NEWLINE (statement(indent ' ')+)
;
मेरा प्रश्न: क्या इस तरह के व्याकरण (मापदंडों के साथ सीएफजी) का कोई नाम है?
ऐसा लगता है कि इस व्याकरण के लिए एक पुनरावर्ती वंश पार्सर लिखना मुश्किल नहीं होगा (पैरामीटर मूल रूप से पार्सर होना चाहिए)। इस दृष्टिकोण के साथ क्या कठिनाइयाँ हो सकती हैं?
क्या मापदंडों के अतिरिक्त समर्थित भाषा वर्ग को संदर्भ-मुक्त से ऊपर उठाता है?