लाडा भाषा में अपनाई गई बुनियादी अवधारणाएँ

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

1. वस्तुओं के नामकरण के नियम।
2. वस्तुओं को समूहीकृत करने के नियम। वस्तुओं का संघ।
3. वस्तुओं के घोंसले का सिद्धांत।
4. वस्तु बनाने के नियम।
5. वस्तु कार्यान्वयन नियम (संपत्ति के मूल्यों को निर्दिष्ट करना, नए गुणों, विधियों और घटनाओं को जोड़ना)।

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

ऑब्जेक्ट बनाते समय, आपको यह निर्धारित करना होगा:
1. वस्तु का वर्ग। आवश्यक है।
2. वस्तु का नाम। जरूरी नहीं है।
3. गुणों को मान दें, नए गुण जोड़ें (वर्ग में परिभाषित उन लोगों से अलग), विधियों और घटनाओं।
4. नेस्टेड ऑब्जेक्ट जोड़ें।

ऑब्जेक्ट का वर्ग और नाम निम्नलिखित सिंटैक्स द्वारा परिभाषित किया गया है:

ऑब्जेक्ट = "क्लास का नाम" "ऑब्जेक्ट का नाम"

किसी ऑब्जेक्ट की परिभाषा के बाद कोष्ठक में निम्नलिखित ऑपरेटरों द्वारा संपत्तियों, विधियों और घटनाओं को मूल्यों का असाइनमेंट किया जाता है। इस उद्देश्य के लिए कोष्ठक (वस्तुओं का समूह) का उपयोग कार्यान्वयन कहा जाता है और समूहन नियमों और कार्यान्वयन नियमों के अनुसार किया जाता है। (धारा ३)।

इस प्रकार सिंटैक्स के साथ ऑब्जेक्ट बनाए जाते हैं। और यह बिल्कुल स्पष्ट है कि वाक्य रचना द्वारा बनाई गई वस्तुएं अनुवाद के बाद दिखाई देंगी। लेकिन, कीबोर्ड से टूलबार या टाइपिंग लेटर से ऑब्जेक्ट्स बनाए जा सकते हैं। पत्र भी वस्तु हैं। यानी दस्तावेज़ बनाना और संपादित करना, हम वस्तुओं से निपटते हैं। इस तरह से बनाई गई वस्तुओं में एक ग्राफिक छवि होती है, यही कारण है कि हम उन्हें साइन ऑब्जेक्ट्स कहेंगे। ऐसी वस्तुओं के संपत्ति मूल्यों को बदलना आमतौर पर ऑब्जेक्ट के गुण पैनल (या राइट-क्लिक मेनू के संदर्भ मेनू में "गुण" आइटम को कॉल करके) होता है, जो वर्ग विवरण पर आधारित है। लेकिन सिस्टम में मानों को असाइन करने, नेस्टेड ऑब्जेक्ट्स को जोड़ने या नए गुणों, विधियों और घटनाओं के साथ ऑब्जेक्ट की क्षमताओं का विस्तार करने की क्षमता है, साथ ही ऑब्जेक्ट में नेस्टेड ऑब्जेक्ट्स को जोड़ने के लिए है। इस विशेषता को साइन ऑब्जेक्ट्स का कार्यान्वयन कहा जाता है। (धारा ३)।
यह स्पष्ट है कि ऑब्जेक्ट-संकेत और दस्तावेज़ की सामग्री हैं। इस रूप में इस दस्तावेज़ को संग्रहीत किया जा सकता है। हालांकि, वस्तुओं का एक और वर्ग है जो लेक्सिकल विश्लेषण के चरण में बनाया गया है। ये मूल्य वस्तुएं हैं। मूल्य ऑब्जेक्ट हम टाइप क्लास द्वारा उत्पन्न वस्तुओं को कॉल करेंगे और एक डिजिटल या पाठात्मक प्रतिनिधित्व करेंगे। उदाहरण के लिए, "21", "100 किग्रा" या "1 अक्टूबर, 1995"। और अगर जिस भाषा में हम काम करते हैं, उसमें शब्दावली है, तो एक दस्तावेज टाइप होने पर लेक्सिकल विश्लेषण तुरंत होता है, और यह लेक्सिकल विश्लेषण मूल्य ऑब्जेक्ट बनाता है।
तो, एक वस्तु बनाने की पहली विधि अक्षर (वर्ण), टोकन और मान बनाने के लिए है। साइन ऑब्जेक्ट आमतौर पर कीबोर्ड पर टाइप करके बनाए जाते हैं। शाब्दिक विश्लेषण के परिणामस्वरूप वर्णों के समूह से टोकन ऑब्जेक्ट और अर्थ उत्पन्न होते हैं। आइए एक उदाहरण के साथ इसका उदाहरण दें। तो निम्न पाठ
I के लिए = 30 से N {J +: = 1}
शाब्दिक विश्लेषण के परिणामस्वरूप इसे "फॉर", "आई", "=", "30", "टू", आदि में विभाजित किया गया है। इस अर्थ में, "फॉर", "आई" और "टू" "वर्ड" क्लास की टोकन ऑब्जेक्ट हैं। इसलिए, हम देखते हैं कि ऑब्जेक्ट "I" को अक्षर ऑब्जेक्ट के रूप में और वर्ड क्लास के टोकन के रूप में माना जा सकता है। यह इन वस्तुओं (शाब्दिक विश्लेषण के परिणामस्वरूप प्राप्त) है जो पार्सर को इनपुट श्रृंखला के रूप में (और फिर सिमेंटिक एक के लिए) परोसा जाएगा। पार्सर के काम के परिणामस्वरूप, मुझे नाम के साथ फॉर क्लास की एक वस्तु टोकन के अनुक्रम से बनाई जाएगी, जिसे बदले में लागू करने की आवश्यकता हो सकती है। आइए हम अलग-अलग मूल्य की वस्तुओं पर निवास करें। हमारे उदाहरण में, "30" संकेतों के शाब्दिक विश्लेषण के परिणामस्वरूप कक्षा एंगर की एक वस्तु और 30 का एक मूल्य बनाया जाएगा। यह एक मूल्य वस्तु है। मूल्य ऑब्जेक्ट हम टाइप क्लास द्वारा उत्पन्न वस्तुओं को कॉल करेंगे और एक डिजिटल या पाठात्मक प्रतिनिधित्व करेंगे। उदाहरण के लिए, "21", "100 किग्रा" या "1 अक्टूबर, 1995"।
और पार्सिंग के नियमों के अनुसार अनुवाद के दौरान ऑब्जेक्ट बनाने का अंतिम विकल्प। उदाहरण के लिए, इस वाक्यविन्यास Integer I = 30 से, अनुवाद के परिणामस्वरूप, मूल्य 30 I और नाम I के साथ वर्ग पूर्णांक की एक वस्तु।
तो, हमारे पास वस्तुओं का एक पदानुक्रम है। पहले, साइन ऑब्जेक्ट्स, फिर टोकन ऑब्जेक्ट्स, और अगले स्तर वाक्यविन्यास विश्लेषण के दौरान अनुवाद के परिणामस्वरूप प्राप्त की गई वस्तुएं हैं। ये सभी वस्तुएं स्थिर हैं, अर्थात दस्तावेज़ के शरीर में स्थित है। कार्यान्वयन का उपयोग करके, आप गुणों को बदल सकते हैं और ऑब्जेक्ट को कार्यात्मक सामग्री से भर सकते हैं। इस तथ्य के कारण कि गुणों को बदलना और कार्यात्मक को निष्पादित करना विभिन्न चरणों में किया जाना चाहिए और कई प्रकार के कार्यान्वयन हैं। तो वस्तुओं-संकेतों, टोकनों और मूल्यों का कार्यान्वयन शाब्दिक विश्लेषण के चरण में होता है और यह कोष्ठक (लेक्सिकल कोष्ठक) "" "" "द्वारा निर्धारित किया जाता है। किसी स्थान के बिना संकेत वस्तु का कार्यान्वयन तुरंत उस संकेत का अनुसरण करता है। कार्यान्वित वस्तु के बाद स्थान के माध्यम से टोकन और मूल्यों का कार्यान्वयन किया जाता है। और शाब्दिक विश्लेषण के दौरान प्रदर्शन किया। वाक्यविन्यास द्वारा बनाई गई वस्तुओं का कार्यान्वयन समूहीकरण नियमों का पालन करता है, अर्थात्। घुंघराले, गोल या चौकोर कोष्ठक। गुणों को अनुवाद के चरण में सौंपा गया है, और अनुवादित कार्यक्रम के लॉन्च होने पर कार्यात्मक भाग निष्पादित किया जाता है। इसके अलावा, प्रत्येक ऑब्जेक्ट में एक तार्किक कार्यान्वयन हो सकता है, जो कोष्ठक (तार्किक कोष्ठक) "से" और ">" द्वारा किया जाता है। और अंत में, नाम "" और "" कोष्ठक के साथ कार्यान्वित किए जाते हैं। नामों के क्रियान्वयन का अर्थ यह है कि किसी वस्तु या वस्तुओं के समूह (उदाहरण के लिए, कार्य या अवधारणाएं) को नाम से बुलाया और निष्पादित किया जा सकता है (संभवतः मापदंडों के साथ), लेकिन ऑब्जेक्ट के निष्पादन के बाद, कुछ अन्य क्रियाएं आवश्यक हो सकती हैं। यह उस तरह का कार्यान्वयन है जिसे हम नाम कार्यान्वयन या मेटालाइज़ेशन कहेंगे। धारा ३
और रनटाइम पर वस्तुओं को गतिशील रूप से बनाने के लिए एक और चौथा विकल्प है। इन ऑपरेटरों को ऑब्जेक्ट पर लागू करने की विधि द्वारा निष्पादन के परिणामस्वरूप डायम, न्यू, और वार ऑपरेटरों द्वारा गतिशील ऑब्जेक्ट बनाए जाते हैं।

Source: https://habr.com/ru/post/In100675/


All Articles