टॉप-डाउन पार्सिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 4: Line 4:
टॉप-डाउन पार्सिंग सामान्य पार्स ट्री संरचनाओं की परिकल्पना करके अज्ञात डेटा संबंधों का विश्लेषण करने की एक विधि है और फिर यह विचार करना कि ज्ञात मूलभूत संरचनाएं परिकल्पना के अनुकूल हैं या नहीं। यह प्राकृतिक [[भाषा]]ओं और [[कंप्यूटर भाषा]]ओं दोनों के विश्लेषण में होता है।
टॉप-डाउन पार्सिंग सामान्य पार्स ट्री संरचनाओं की परिकल्पना करके अज्ञात डेटा संबंधों का विश्लेषण करने की एक विधि है और फिर यह विचार करना कि ज्ञात मूलभूत संरचनाएं परिकल्पना के अनुकूल हैं या नहीं। यह प्राकृतिक [[भाषा]]ओं और [[कंप्यूटर भाषा]]ओं दोनों के विश्लेषण में होता है।


टॉप-डाउन पार्सिंग को संदर्भ-मुक्त व्याकरण # डेरिवेशन और सिंटैक्स ट्री खोजने के प्रयास के रूप में देखा जा सकता है | पार्स ट्री की खोज करके इनपुट-स्ट्रीम के सबसे बाएं डेरिवेशन | दिए गए औपचारिक के टॉप-डाउन विस्तार का उपयोग करके पार्स-ट्री व्याकरण के नियम। व्याकरण के नियमों के सभी वैकल्पिक दाएं-पक्षों का विस्तार करके वाक्यात्मक अस्पष्टता को समायोजित करने के लिए समावेशी विकल्प का उपयोग किया जाता है।<ref name="AhoSethiUllman 1986">{{cite book |last1=Aho |first1=Alfred V. |authorlink1=Alfred Aho |last2=Sethi |first2=Ravi |authorlink2=Ravi Sethi |last3=Ullman |first3=Jeffrey D. |authorlink3=Jeffrey Ullman |title=Compilers, principles, techniques, and tools |year=1986 |publisher=Addison-Wesley Pub. Co. |isbn=978-0201100884 |edition=Rep. with corrections. |url=https://archive.org/details/compilersprincip00ahoa }}</ref>
टॉप-डाउन पार्सिंग को दिए गए औपचारिक व्याकरण नियमों के टॉप-डाउन विस्तार का उपयोग करके पार्स ट्री खोज करके इनपुट-स्ट्रीम के बाएं-सबसे डेरिवेशन खोजने के प्रयास के रूप में देखा जा सकता है। व्याकरण के नियमों के सभी वैकल्पिक दाएं-पक्षों का विस्तार करके अस्पष्टता को समायोजित करने के लिए समावेशी विकल्प का उपयोग किया जाता है।<ref name="AhoSethiUllman 1986">{{cite book |last1=Aho |first1=Alfred V. |authorlink1=Alfred Aho |last2=Sethi |first2=Ravi |authorlink2=Ravi Sethi |last3=Ullman |first3=Jeffrey D. |authorlink3=Jeffrey Ullman |title=Compilers, principles, techniques, and tools |year=1986 |publisher=Addison-Wesley Pub. Co. |isbn=978-0201100884 |edition=Rep. with corrections. |url=https://archive.org/details/compilersprincip00ahoa }}</ref>
टॉप-डाउन पार्सिंग के सरल कार्यान्वयन [[बाएं रिकर्सन]] के लिए समाप्त नहीं होते हैं। लेफ्ट-रिकर्सिव व्याकरण, और बैकट्रैकिंग के साथ टॉप-डाउन पार्सिंग में अस्पष्ट संदर्भ-मुक्त व्याकरण के लिए इनपुट की लंबाई के संबंध में [[घातीय समय]] जटिलता हो सकती है।<ref name="AhoUllman 1972">{{cite book |last1=Aho |first1=Alfred V. |authorlink1=Alfred Aho |last2=Ullman |first2=Jeffrey D. |authorlink2=Jeffrey Ullman |title=The Theory of Parsing, Translation, and Compiling (Volume 1: Parsing.) |year=1972 |publisher=Prentice-Hall |location=Englewood Cliffs, NJ |isbn=978-0139145568 |edition=Repr. |url=https://archive.org/details/theoryofparsingt00ahoa }}</ref> हालाँकि, अधिक परिष्कृत टॉप-डाउन पार्सर फ्रॉस्ट, हाफिज और कैलाघन द्वारा बनाए गए हैं,<ref name="FrostHafizCallaghan 2007">Frost, R., Hafiz, R. and Callaghan, P. (2007) " [https://aclanthology.info/pdf/W/W07/W07-2215.pdf Modular and Efficient Top-Down Parsing for Ambiguous Left-Recursive Grammars] ." ''10th International Workshop on Parsing Technologies (IWPT), ACL-SIGPARSE '', Pages: 109 - 120, June 2007, Prague.  [https://web.archive.org/web/20181112231051/https://aclanthology.info/pdf/W/W07/W07-2215.pdf Archived] from the original on 12 November 2018.</ref><ref name="FrostHafizCallaghan 2008">Frost, R., Hafiz, R. and Callaghan, P. (2008) " [http://scholar.uwindsor.ca/cgi/viewcontent.cgi?article=1411&context=etd#page=61 Parser Combinators for Ambiguous Left-Recursive Grammars]." '' 10th International Symposium on Practical Aspects of Declarative Languages (PADL), ACM-SIGPLAN '', Volume 4902/2008, Pages: 167-181, January 2008, San Francisco.</ref> जो समय जटिलता # बहुपद समय में टॉप-डाउन पार्सिंग में #Accommodating बाएं रिकर्सन करते हैं और जो पार्स पेड़ की संभावित घातीय संख्या के बहुपद आकार के प्रतिनिधित्व उत्पन्न करते हैं।
 
टॉप-डाउन पार्सिंग के सरल कार्यान्वयन [[बाएं रिकर्सन|बाएं पुनरावर्ती]] व्याकरण के लिए समाप्त नहीं होते हैं, और बैकट्रैकिंग के साथ टॉप-डाउन पार्सिंग में अस्पष्ट सीएफजी के लिए इनपुट की लंबाई के संबंध में [[घातीय समय]] जटिलता हो सकती है।<ref name="AhoUllman 1972">{{cite book |last1=Aho |first1=Alfred V. |authorlink1=Alfred Aho |last2=Ullman |first2=Jeffrey D. |authorlink2=Jeffrey Ullman |title=The Theory of Parsing, Translation, and Compiling (Volume 1: Parsing.) |year=1972 |publisher=Prentice-Hall |location=Englewood Cliffs, NJ |isbn=978-0139145568 |edition=Repr. |url=https://archive.org/details/theoryofparsingt00ahoa }}</ref> चूँकि अधिक परिष्कृत टॉप-डाउन पार्सर फ्रॉस्ट, हाफिज और कैलाघन द्वारा बनाए गए हैं,<ref name="FrostHafizCallaghan 2007">Frost, R., Hafiz, R. and Callaghan, P. (2007) " [https://aclanthology.info/pdf/W/W07/W07-2215.pdf Modular and Efficient Top-Down Parsing for Ambiguous Left-Recursive Grammars] ." ''10th International Workshop on Parsing Technologies (IWPT), ACL-SIGPARSE '', Pages: 109 - 120, June 2007, Prague.  [https://web.archive.org/web/20181112231051/https://aclanthology.info/pdf/W/W07/W07-2215.pdf Archived] from the original on 12 November 2018.</ref><ref name="FrostHafizCallaghan 2008">Frost, R., Hafiz, R. and Callaghan, P. (2008) " [http://scholar.uwindsor.ca/cgi/viewcontent.cgi?article=1411&context=etd#page=61 Parser Combinators for Ambiguous Left-Recursive Grammars]." '' 10th International Symposium on Practical Aspects of Declarative Languages (PADL), ACM-SIGPLAN '', Volume 4902/2008, Pages: 167-181, January 2008, San Francisco.</ref> जो अस्पष्टता को समायोजित करते हैं और बहुपद समय में पुनरावृत्ति छोड़ देते हैं और और जो पार्स ट्री की संभावित घातीय संख्या के बहुपद-आकार के प्रतिनिधित्व उत्पन्न करते हैं। .


== प्रोग्रामिंग भाषा अनुप्रयोग ==
== प्रोग्रामिंग भाषा अनुप्रयोग ==

Revision as of 01:22, 26 February 2023

कंप्यूटर विज्ञान में टॉप-डाउन पार्सिंग विधि है जहां एक पहले पार्स ट्री के उच्चतम स्तर को देखता है और एक औपचारिक व्याकरण के पुनर्लेखन नियमों का उपयोग करके पार्स ट्री पर काम करता है।।[1] एलएल पार्सर एक प्रकार का पार्सर है जो टॉप-डाउन पार्सिंग विधि का उपयोग करता है।

टॉप-डाउन पार्सिंग सामान्य पार्स ट्री संरचनाओं की परिकल्पना करके अज्ञात डेटा संबंधों का विश्लेषण करने की एक विधि है और फिर यह विचार करना कि ज्ञात मूलभूत संरचनाएं परिकल्पना के अनुकूल हैं या नहीं। यह प्राकृतिक भाषाओं और कंप्यूटर भाषाओं दोनों के विश्लेषण में होता है।

टॉप-डाउन पार्सिंग को दिए गए औपचारिक व्याकरण नियमों के टॉप-डाउन विस्तार का उपयोग करके पार्स ट्री खोज करके इनपुट-स्ट्रीम के बाएं-सबसे डेरिवेशन खोजने के प्रयास के रूप में देखा जा सकता है। व्याकरण के नियमों के सभी वैकल्पिक दाएं-पक्षों का विस्तार करके अस्पष्टता को समायोजित करने के लिए समावेशी विकल्प का उपयोग किया जाता है।[2]

टॉप-डाउन पार्सिंग के सरल कार्यान्वयन बाएं पुनरावर्ती व्याकरण के लिए समाप्त नहीं होते हैं, और बैकट्रैकिंग के साथ टॉप-डाउन पार्सिंग में अस्पष्ट सीएफजी के लिए इनपुट की लंबाई के संबंध में घातीय समय जटिलता हो सकती है।[3] चूँकि अधिक परिष्कृत टॉप-डाउन पार्सर फ्रॉस्ट, हाफिज और कैलाघन द्वारा बनाए गए हैं,[4][5] जो अस्पष्टता को समायोजित करते हैं और बहुपद समय में पुनरावृत्ति छोड़ देते हैं और और जो पार्स ट्री की संभावित घातीय संख्या के बहुपद-आकार के प्रतिनिधित्व उत्पन्न करते हैं। .

प्रोग्रामिंग भाषा अनुप्रयोग

एक संकलक आने वाले प्रतीकों को औपचारिक व्याकरण # व्याकरण के वाक्य-विन्यास से मेल करके एक प्रोग्रामिंग भाषा से एक आंतरिक प्रतिनिधित्व के लिए इनपुट पार्स करता है। उत्पादन नियम आमतौर पर बैकस-नौर फॉर्म का उपयोग करके परिभाषित किए जाते हैं। एक एलएल पार्सर एक प्रकार का पार्सर है जो प्रत्येक उत्पादन नियम को आने वाले प्रतीकों पर लागू करके टॉप-डाउन पार्सिंग करता है, उत्पादन नियम पर उत्पन्न बाएं-सबसे प्रतीक से काम करता है और फिर प्रत्येक गैर-टर्मिनल प्रतीक के लिए अगले उत्पादन नियम पर आगे बढ़ता है। सामना करना पड़ा। इस तरह पार्सिंग उत्पादन नियम के परिणाम पक्ष (दाईं ओर) के बाईं ओर शुरू होती है और पहले बाएं से गैर-टर्मिनलों का मूल्यांकन करती है और इस प्रकार, अगले जारी रखने से पहले प्रत्येक नए गैर-टर्मिनल के लिए पार्स ट्री को आगे बढ़ाती है। एक उत्पादन नियम के लिए प्रतीक।

उदाहरण के लिए:

जो स्ट्रिंग ए = एसीडीएफ उत्पन्न करता है

मेल खाएगा और मिलान करने का प्रयास करें अगला। तब कोशिश की जाएगी। जैसा कि कोई उम्मीद कर सकता है, कुछ भाषाएँ दूसरों की तुलना में अधिक अस्पष्ट हैं। एक गैर-संदिग्ध भाषा के लिए, जिसमें एक गैर-टर्मिनल के लिए सभी निर्माण अलग-अलग तार उत्पन्न करते हैं, एक उत्पादन द्वारा उत्पादित स्ट्रिंग उसी प्रतीक के साथ शुरू नहीं होगी, जो किसी अन्य उत्पादन द्वारा निर्मित स्ट्रिंग है। एक गैर-संदिग्ध भाषा को एलएल (1) व्याकरण द्वारा पार्स किया जा सकता है जहां (1) पार्सर एक समय में एक टोकन को आगे पढ़ता है। एलएल पार्सर द्वारा एक अस्पष्ट भाषा को पार्स करने के लिए, पार्सर को 1 से अधिक प्रतीकों को देखना चाहिए, उदा। डालूँगा (3).

इस समस्या का सामान्य समाधान एक एलआर पार्सर का उपयोग करना है, जो एक प्रकार का शिफ्ट-कम पार्सर है, और नीचे-ऊपर पार्सिंग करता है।

== टॉप-डाउन पार्सिंग == में बाएं रिकर्सन को समायोजित करना एक औपचारिक व्याकरण जिसमें बायाँ पुनरावर्तन होता है, एक भोले-भाले पुनरावर्ती वंश पार्सर द्वारा पार्स नहीं किया जा सकता है जब तक कि वे एक कमजोर समतुल्य दाएं-पुनरावर्ती रूप में परिवर्तित नहीं हो जाते। हालांकि, हाल के शोध से पता चलता है कि कटौती के उपयोग से अधिक परिष्कृत टॉप-डाउन पार्सर में बाएं-पुनरावर्ती व्याकरण (सामान्य संदर्भ-मुक्त व्याकरण के अन्य सभी रूपों के साथ) को समायोजित करना संभव है। एक पहचानकर्ता एल्गोरिदम जो अस्पष्ट व्याकरण को समायोजित करता है और इनपुट लंबाई और वर्तमान इनपुट स्थिति के संबंध में गहराई प्रतिबंध लगाकर एक सतत-बढ़ते प्रत्यक्ष बाएं-पुनरावर्ती पार्स को कम करता है, 2006 में फ्रॉस्ट और हाफ़िज़ द्वारा वर्णित किया गया है।[6] उस एल्गोरिदम को अप्रत्यक्ष (वर्तमान संदर्भ के साथ पहले गणना किए गए संदर्भ की तुलना करके) के साथ-साथ बहुपद समय में प्रत्यक्ष बाएं-रिकर्सन को समायोजित करने के लिए एक पूर्ण पार्सिंग एल्गोरिदम तक बढ़ाया गया था, और पार्स पेड़ की संभावित घातीय संख्या के कॉम्पैक्ट बहुपद-आकार के प्रतिनिधित्व उत्पन्न करने के लिए 2007 में फ़्रॉस्ट, हाफ़िज़ और कैलाघन द्वारा अत्यधिक अस्पष्ट व्याकरण।[4]एल्गोरिथम तब से हास्केल (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा में लिखे गए पार्सर कॉम्बिनेटर के एक सेट के रूप में लागू किया गया है। कॉम्बिनेटर के इन नए सेट के कार्यान्वयन का विवरण एक पेपर में पाया जा सकता है[5]लेखकों द्वारा, जिसे PADL'08 में प्रस्तुत किया गया था। X-SAIGA साइट में एल्गोरिदम और कार्यान्वयन विवरण के बारे में अधिक जानकारी है।

इसके अतिरिक्त, ऊपर उल्लिखित कटौती के अलावा एक ग्राफ़-संरचित स्टैक (GSS) का उपयोग किया जा सकता है ताकि आम उपसर्गों के साथ 'मर्जिंग' स्टैक द्वारा बाएं रिकर्सन को समायोजित किया जा सके और अनंत रिकर्सन को रोका जा सके, जिससे प्रत्येक स्टैक की संख्या और सामग्री को कम किया जा सके, जिससे पार्सर के समय और स्थान की जटिलता को कम करना। यह एक एल्गोरिथ्म की ओर जाता है जिसे सामान्यीकृत एलएल पार्सिंग के रूप में जाना जाता है, जिसमें आप एक दिए गए संदर्भ-मुक्त व्याकरण के सापेक्ष इनपुट स्ट्रिंग्स को पार्स करने के लिए एक जीएसएस, बाएं-रिकर्सन कर्टेलमेंट और एक एलएल (के) पार्सर का उपयोग करते हैं।[7][8]


== टॉप-डाउन पार्सिंग == का समय और स्थान जटिलता जब टॉप-डाउन पार्सर एक अस्पष्ट CFG के संबंध में एक अस्पष्ट इनपुट को पार्स करने का प्रयास करता है, तो उसे सभी संभावित पार्स पेड़ बनाने के लिए CFG के सभी विकल्पों को आज़माने के लिए चरणों की संख्या (इनपुट की लंबाई के संबंध में) की आवश्यकता हो सकती है। , जिसके लिए अंततः एक्सपोनेंशियल मेमोरी स्पेस की आवश्यकता होगी। 1991 में पीटर नॉरविग द्वारा परस्पर पुनरावर्ती कार्यों के सेट के रूप में निर्मित टॉप-डाउन पार्सर्स में घातीय समय जटिलता की समस्या को हल किया गया है।[9] उनकी तकनीक गतिशील प्रोग्रामिंग और अर्ली पार्सर में स्टेट-सेट के उपयोग के समान है। अर्ली सीवाईके एल्गोरिदम (1970), और कॉके, यंगर और कासमी के CYK एल्गोरिथ्म में टेबल।

मुख्य विचार पार्सर लगाने के परिणामों को संग्रहित करना है p स्थिति पर j एक यादगार और पुन: उपयोग करने के लिए परिणाम जब भी वही स्थिति उत्पन्न होती है। फ्रॉस्ट, हाफिज और कैलाघन[4][5]बहुपद समय में सीएफजी के किसी भी रूप को समायोजित करने के लिए निरर्थक संगणनाओं से बचने के लिए memoization का उपयोग करें4) बाएं-पुनरावर्ती व्याकरण और बिग ओ नोटेशन के लिए|Θ(n3) गैर वाम-पुनरावर्ती व्याकरण के लिए)। उनके टॉप-डाउन पार्सिंग एल्गोरिदम को 'कॉम्पैक्ट प्रतिनिधित्व' और 'स्थानीय अस्पष्टता समूह' द्वारा संभावित घातीय अस्पष्ट पार्स पेड़ के लिए बहुपद स्थान की भी आवश्यकता होती है। उनका कॉम्पैक्ट प्रतिनिधित्व मैंने इसे मसरू के रूप में देखा के नीचे-ऊपर पार्सिंग के कॉम्पैक्ट प्रतिनिधित्व के साथ तुलना करने योग्य है।[10] पीईजी का उपयोग करना, व्याकरण का एक और प्रतिनिधित्व, पैकरैट पार्सर्स एक सुरुचिपूर्ण और शक्तिशाली पार्सिंग एल्गोरिदम प्रदान करते हैं। पार्सिंग अभिव्यक्ति व्याकरण देखें।

उदाहरण

टॉप-डाउन पार्सिंग का उपयोग करने वाले कुछ पार्सर्स में शामिल हैं:

यह भी देखें

  • बॉटम-अप पार्सिंग
  • पार्सिंग
  • पार्सिंग अभिव्यक्ति व्याकरण

संदर्भ

  1. Dick Grune; Ceriel J.H. Jacobs (29 October 2007). Parsing Techniques: A Practical Guide. Springer Science & Business Media. ISBN 978-0-387-68954-8.
  2. Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers, principles, techniques, and tools (Rep. with corrections. ed.). Addison-Wesley Pub. Co. ISBN 978-0201100884.
  3. Aho, Alfred V.; Ullman, Jeffrey D. (1972). The Theory of Parsing, Translation, and Compiling (Volume 1: Parsing.) (Repr. ed.). Englewood Cliffs, NJ: Prentice-Hall. ISBN 978-0139145568.
  4. 4.0 4.1 4.2 Frost, R., Hafiz, R. and Callaghan, P. (2007) " Modular and Efficient Top-Down Parsing for Ambiguous Left-Recursive Grammars ." 10th International Workshop on Parsing Technologies (IWPT), ACL-SIGPARSE , Pages: 109 - 120, June 2007, Prague. Archived from the original on 12 November 2018.
  5. 5.0 5.1 5.2 Frost, R., Hafiz, R. and Callaghan, P. (2008) " Parser Combinators for Ambiguous Left-Recursive Grammars." 10th International Symposium on Practical Aspects of Declarative Languages (PADL), ACM-SIGPLAN , Volume 4902/2008, Pages: 167-181, January 2008, San Francisco.
  6. Frost, R. and Hafiz, R. (2006) " A New Top-Down Parsing Algorithm to Accommodate Ambiguity and Left Recursion in Polynomial Time." ACM SIGPLAN Notices, Volume 41 Issue 5, Pages: 46 - 54. doi:10.1145/1149982.1149988
  7. http://dotat.at/tmp/gll.pdf[bare URL PDF]
  8. https://pure.royalholloway.ac.uk/portal/files/26408385/postprint.pdf[bare URL PDF]
  9. Norvig, P. (1991) “Techniques for automatic memoisation with applications to context-free parsing.” Journal - Computational Linguistics Volume 17, Issue 1, Pages: 91 - 98.
  10. Tomita, M. (1985) “Efficient Parsing for Natural Language.” Kluwer, Boston, MA.
  11. Pereira, Fernando CN, and David HD Warren. "Definite clause grammars for language analysis—a survey of the formalism and a comparison with augmented transition networks." Artificial intelligence 13.3 (1980): 231-278.


बाहरी संबंध

  • X-SAIGA - eXecutable SpecificAtIons of GrAmmars