शिफ्ट-हल पार्सिंग - प्रश्न


10

मैं हाल ही में एक पेपर में आया हूं जो शीर्षक में वर्णित पार्सिंग तकनीक का वर्णन करता है। दुर्भाग्य से, उक्त कागज में प्रयुक्त शब्दावली कुछ हद तक मेरी समझ से परे है, इसलिए मैं निर्माण एल्गोरिथम को अधिक सहजता से समझने का प्रयास कर रहा हूं। मेरा मानना ​​है कि मैं सफल हुआ ( यह प्रस्तुति आह-हा क्षण का स्रोत थी), लेकिन तकनीक से परिचित किसी व्यक्ति की शुद्धता का सत्यापन या उसमें मौजूद शब्दावली की बहुत सराहना की जाएगी।

मैं अपने समाधान पर अपना वर्णन करने जा रहा हूं (यदि यह सही है, मेरा मानना ​​है कि यह तकनीक को समझने का प्रयास करने वाले अन्य लोगों की मदद हो सकती है) और बाद में अतिरिक्त प्रश्न पूछें। : वहाँ कोई गलतफहमी है सुनिश्चित करने के लिए, मैं निम्नलिखित मानक संकेतन का उपयोग करने के लिए जा रहा हूँ a,b,c,...∈T , A,B,C,...∈N , ...X,Y,Z∈N∪T , α,β,γ,...∈{N∪T}∗ और, कागज, के रूप मेंA→iω नियम संख्या को निरूपित करने केi । हालाँकि, मैं शायद मूल पेपर की तुलना में अवधारणाओं के लिए अलग-अलग नामों का उपयोग करूँगा।

साथ ही, वर्णन भर, तुल्यता संबंध κ0 प्रयोग किया जाता है।

निर्माण

पार्स आटोमैटिक मशीन के अंदर आइटम के दो प्रकार के होते हैं: सरल एलआर (0) फार्म के आइटम जो मैं फोन पारी आइटम और फार्म का एक मैं → अल्फा ∙ बीटा , मीटर , एन जो मैं फोन संकल्प आइटम ; ये पार्सर को n प्रतीकों को इनपुट स्ट्रीम को पीछे धकेलने के लिए कहते हैं और फिर upon के पहले प्रतीक पर नियम संख्या m से घटाते हैं ।A→iα∙βA→iα∙β,m,nnmβ

व्याकरण नियम के साथ संवर्धित है और पारी आइटम के साथ निर्माण शुरू होता है एस ' 0 → ∙ एस $ में प्रारंभिक अवस्था।S′→0S$S′→0∙S$

अब, ऑटोमेटन का निर्माण करने के लिए, राज्य में प्रत्येक आइटम के लिए इन विकल्पों के बीच निर्णय लें :q

  1. आइटम एक पारी आइटम है एक संक्रमण, वहाँ हो जाएगा क्ष एक्स → क्ष ' आटोमैटिक मशीन में, जहां एक्स के पहले प्रतीक है बीटा ।A→iα∙βq→Xq′Xβ

  2. यदि आइटम एक समाप्त पारी मद है , एक संकल्प आइटम जोड़ने के बी जे → अल्फा एक ∙ बीटा , मैं , 0 प्रत्येक नियम के लिए बी जे → अल्फा एक बीटा ।A→iω∙B→jαA∙β,i,0B→jαAβ

  3. आइटम एक संकल्प आइटम है , चलो एक्स के पहले प्रतीक हो बीटा । यदि एक्स ∈ एन , एक पारी आइटम जोड़ने एक्स जे → ∙ ω के लिए प्रत्येक नियम एक्स जे → ω । अगर तुलना में अन्य मदों एक मैं → अल्फा ∙ बीटा , मीटर , n है एक्स एक संक्रमण उनके डॉट अग्रदर्शी के रूप में जोड़ क्ष एक्स → क्यू 'A→iα∙β,m,nXβX∈NX→j∙ωX→jωA→iα∙β,m,nXq→Xq′ऑटोमेटन को। हर संकल्प आइटम में क्ष एक संकल्प आइटम का परिणाम देगा सी मैं → अल्फा एक्स ∙ बीटा , मीटर , n + 1 में क्ष ' ।C→iα∙Xβ,m,nqC→iαX∙β,m,n+1q′

  4. आइटम एक संकल्प आइटम है यह किसी भी अग्रदर्शी जानकारी योगदान देगा नहीं और त्याग किया जा सकता है, लेकिन पहले एक संकल्प आइटम जोड़ने के बी जे → अल्फा एक ∙ बीटा , मीटर , एन प्रत्येक नियम के लिए बी j → α ए β ।A→iω∙,m,nB→jαA∙β,m,nB→jαAβ

यह, ज़ाहिर है, सिर्फ एक स्केच है; वास्तव में, राज्य के एक बंद को पहले गणना की जानी चाहिए और उसके बाद ही हम बदलाव / बदलाव और प्रस्तावों से निपट सकते हैं।

ऑटोमेटन को एक शिफ्ट-रिज़ॉल्यूशन पार्सिंग टेबल में बदलना बाद में तुच्छ है; बस, एक मामूली भिन्नता के रूप में, कागज के लेखक एक संकल्प को स्वीकार करते हैं , जो कि क्रिया को स्वीकार करते हैं। परिणामी ऑटोमेटन को देखते हुए, मुझे यह स्वीकार करने की क्रिया के रूप में $ की एक पारी का इलाज करने के लिए हाथ मिला ।r0,0$

प्रशन

पहला, स्पष्ट रूप से, ऊपर वर्णित प्रक्रिया सही है या नहीं।

दूसरा समतुल्यता संबंधों के बारे में है। मैं केवल अनुमान लगा सकते हैं कि तुल्यता संबंध क्या निर्णय लेने से जो संकल्प आइटम जब एक समाप्त पारी आइटम देखा गया है में लाया जाता है के लिए जिम्मेदार है। κ 0 का परिणाम एलएसएलआर पार्सर्स के एफ ओ एल एल ओ डब्ल्यू एल एम सेट के समान दिखने वाला है। पेपर पृष्ठ 11 पर "महीन तुल्यता संबंध" का वर्णन करता है; क्या सहज संबंध में इस संबंध की व्याख्या करने का एक तरीका है? क्या अन्य संबंध ज्ञात हैं?κκ0FOLLOWLM

और अंतिम एक संघर्ष समाधान के बारे में है। पेपर अच्छी तरह से वर्णन करता है कि शिफ्ट-रिज़ॉल्यूशन ऑटोमेटन में अपर्याप्तता क्या है; क्या पारंपरिक एलआर पार्सर में संघर्षों को सुलझाने के तरीकों के समान, इन अपर्याप्तताओं को हल करने का एक तरीका है? की तरह कुछ कर सके याक पूर्वता और संबद्धता के माध्यम से शैली संघर्ष समाधान एक ShRe पार्सर जेनरेटर में लागू किया?

धन्यवाद अगर आपने यह सब पढ़ा है और किसी भी उत्तर की बहुत सराहना की जाएगी :)


इस प्रश्न को cstheory पर माइग्रेट करने का सुझाव दें। कागज के लिए के रूप में, यह एक बहुत ही जटिल एल्गोरिथ्म लगता है कि "शायद" (?) किसी के द्वारा लागू नहीं किया गया है। लगता है कि मुख्य विचार मनमाने ढंग से संयोजन करने के लिए लगता है, लेकिन रैखिक समय पार्सिंग के साथ भी ...? लेकिन एक सरल, अधिक मानक, सुपरलाइन एल्गोरिथ्म के साथ कितने अनुप्रयोग ठीक होंगे? किसी भी विचार, क्या अनुप्रयोग इस दृष्टिकोण के साथ बेहतर काम करेगा? क्या आपके पास एक या एक का पता है?
— vzn

1
एक बहुत अच्छा सैद्धांतिक अभ्यास (हालांकि मैंने तकनीकी को नहीं देखा)। यह देखते हुए कि LR (k) की पूरी शक्ति अक्सर उपयोग नहीं की जाती है, कोई भी व्यावहारिक प्रभाव के बारे में आश्चर्यचकित हो सकता है। मैं इस तरह के काम के साथ 2 समस्याएं देखता हूं: (1) चूंकि एल्गोरिथ्म अधिक जटिल हो जाता है, क्या मानव मन के लिए व्याकरण को फिर से समझना और परिणामों को समझना संभव है, जब यह काम नहीं करने के लिए होता है। यह एक लगातार तथ्य है कि अत्यधिक परिष्कृत तकनीकें जब वे काम करती हैं तो बहुत फायदेमंद होती हैं, लेकिन जब वे नहीं करती हैं तो चीजें बदतर होती हैं। (2) क्या यह उन मामलों में रैखिक होगा जब सामान्य CF एल्गोरिदम रैखिक नहीं हैं।
— बबौ

जवाबों:


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.