मैंने इस सवाल को स्टैवेरोफ़्लो से स्थानांतरित किया जहां आईडी को कोई जवाब नहीं मिला। हमारे पास एक समान सवाल था कि क्या JSON नियमित है :
JSON और XML दोनों को अक्सर संदर्भ-मुक्त भाषा कहा जाता है - ये दोनों मुख्य रूप से EBNF में एक औपचारिक व्याकरण द्वारा निर्दिष्ट हैं। हालांकि यह JSON के लिए केवल RFC 4329, खंड 2.2 में परिभाषित है , जिसके लिए ऑब्जेक्ट कुंजियों की विशिष्टता की आवश्यकता नहीं है (कई को पता नहीं हो सकता है लेकिन {"a": 1, "a": 2} वैध JSON है!)। लेकिन अगर आपको JSON में अद्वितीय कुंजियों की आवश्यकता है या XML में अद्वितीय विशेषता नामों को संदर्भ-मुक्त व्याकरण द्वारा व्यक्त नहीं किया जा सकता है। लेकिन जो JSON की भाषा वर्ग है जिसमें अद्वितीय कुंजियाँ हैं और अच्छी तरह से बनाई गई XML के लिए (जिसका अर्थ है विशिष्ट विशेषता नाम?)।
इस विषय पर मुझे मिले सबसे अच्छे कागजों में से एक (मुराटो एट अल, 2001: फॉर्मल लैंग्वेज थ्योरी का उपयोग करने वाली एक्सएमएल स्कीमा लैंग्वेजेज की टैक्सोनॉमी ) स्पष्ट रूप से अखंडता बाधाओं जैसे कि / कीरएफ़्स और एक अतिरिक्त परत पर जाँच की जाने वाली विशिष्टता को बाहर करती है। इसके अलावा XML स्कीमा या एक DTD द्वारा परिभाषित XML का सबसेट संदर्भ-मुक्त है। लेकिन सभी अच्छी तरह से गठित XML दस्तावेजों का पूरा सेट नहीं।
मुझे लगता है कि एक नेस्टेड स्टैक ऑटोमेटन (= अनुक्रमित भाषा) को JSON को अद्वितीय कुंजी बाधा के साथ पार्स करने में सक्षम होना चाहिए। एक्सएमएल के लिए भाषा को प्रश्न को अद्वितीय पूर्णांकों की सभी अल्पविराम द्वारा अलग-अलग सूचियों की भाषा में जोड़ा जा सकता है। क्या किसी को अधिक पता है, अधिमानतः उद्धरणों के साथ?
पुनश्च: भाषाओं को तय करने के लिए एक सरल एल्गोरिथ्म (संदर्भ-मुक्त भाग के बगल में) एक अच्छी छँटाई एल्गोरिथ्म पर आधारित है। इसलिए यह ओ (एन लॉग एन) सबसे खराब स्थिति के साथ "लीनियरथिमिक समय" में निर्णायक होना चाहिए। मुझे अभी तक यह पता नहीं चला है कि क्या जटिलता वर्ग उदाहरण के लिए "हल्के संदर्भ-संवेदनशील" , या "अनुक्रमित" है, लेकिन शायद संदर्भ-मुक्त और संदर्भ-संवेदनशील (?) के बीच कुछ है।
संपादित करें: हो सकता है कि मैं अधिक सैद्धांतिक कंप्यूटर वैज्ञानिकों के लिए प्रश्न का बेहतर सुधार करूं। सभी भाषाओं के वर्ग सीएफएल को देखते हुए जिन्हें पुनरावृत्ति ( ) के साथ बैकस- -फॉर्म द्वारा व्यक्त किया जा सकता है । यदि मैं "अद्वितीय उदाहरणों के साथ पुनरावृत्ति" ऑपरेटर का परिचय देता हूं, तो अब मैं कम्प्यूटेशनल शक्ति में क्या हासिल कर सकता हूं , इसलिए यह एक क्रम है जहां प्रत्येक तत्व टर्मिनलों के एक अलग अनुक्रम में परिणत होता है?x := a+
x := a | x a
^
a^
a