संचालनात्मक शब्दार्थ: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(19 intermediate revisions by 4 users not shown)
Line 2: Line 2:
{{Semantics}}
{{Semantics}}


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


प्रोग्रामिंग भाषा के लिए परिचालन शब्दार्थ यह बताता है कि वैध प्रोग्राम को कम्प्यूटेशनल चरणों के अनुक्रम के रूप में कैसे समझा जाता है। ये अनुक्रम तब कार्यक्रम का अर्थ '' हैं''। [[कार्यात्मक प्रोग्रामिंग]] के संदर्भ में, समापन अनुक्रम में अंतिम चरण प्रोग्राम का मान लौटाता है। (सामान्य तौर पर  ही प्रोग्राम के लिए कई रिटर्न मान हो सकते हैं, क्योंकि प्रोग्राम [[गैर-नियतात्मक एल्गोरिथ्म]] हो सकता है, और यहां तक ​​कि नियतात्मक प्रोग्राम के लिए कई गणना अनुक्रम भी हो सकते हैं क्योंकि शब्दार्थ यह निर्दिष्ट नहीं कर सकता है कि संचालन का कौन सा क्रम उस मूल्य पर आता है।)
प्रोग्रामिंग लैंगवेज के लिए ऑपरेशनल सिमेंटिक्स यह बताता है कि वैध प्रोग्राम को कम्प्यूटेशनल चरणों के अनुक्रम के रूप में कैसे समझा जाता है। ये अनुक्रम तब प्रोग्राम का अर्थ हैं। [[कार्यात्मक प्रोग्रामिंग]] के संदर्भ में, समापन अनुक्रम में अंतिम चरण प्रोग्राम का मान लौटाता है। सामान्यतः ही प्रोग्राम के लिए कई रिटर्न मान हो सकते हैं, क्योंकि प्रोग्राम [[गैर-नियतात्मक एल्गोरिथ्म|अन्य-नियतात्मक एल्गोरिथ्म]] हो सकता है, एवं यहां तक ​​कि नियतात्मक प्रोग्राम के लिए कई गणना अनुक्रम भी हो सकते हैं क्योंकि सिमेंटिक्स यह निर्दिष्ट नहीं कर सकता है कि संचालन का कौन सा क्रम उस मूल्य पर आता है।


शायद परिचालन शब्दार्थ का पहला औपचारिक अवतार [[लिस्प (प्रोग्रामिंग भाषा)]] के शब्दार्थ को परिभाषित करने के लिए [[लैम्ब्डा कैलकुलस]] का उपयोग था।<ref>{{Cite web |title=प्रतीकात्मक अभिव्यक्तियों के पुनरावर्ती कार्य और मशीन द्वारा उनकी गणना, भाग I|last=McCarthy |first=John |author-link=John McCarthy (computer scientist) |url=http://www-formal.stanford.edu/jmc/recursive.html |access-date=2006-10-13 |url-status=dead |archive-url=https://web.archive.org/web/20131004215327/http://www-formal.stanford.edu/jmc/recursive.html |archive-date=2013-10-04}}</ref> [[एसईसीडी मशीन]] की परंपरा में [[सार मशीन]]ें भी निकटता से संबंधित हैं।
संभवतः ऑपरेशनल सिमेंटिक्स का प्रथम औपचारिक अवतार [[लिस्प (प्रोग्रामिंग भाषा)|लिस्प (प्रोग्रामिंग लैंगवेज)]] के सिमेंटिक्स को परिभाषित करने के लिए [[लैम्ब्डा कैलकुलस]] का उपयोग था।<ref>{{Cite web |title=प्रतीकात्मक अभिव्यक्तियों के पुनरावर्ती कार्य और मशीन द्वारा उनकी गणना, भाग I|last=McCarthy |first=John |author-link=John McCarthy (computer scientist) |url=http://www-formal.stanford.edu/jmc/recursive.html |access-date=2006-10-13 |url-status=dead |archive-url=https://web.archive.org/web/20131004215327/http://www-formal.stanford.edu/jmc/recursive.html |archive-date=2013-10-04}}</ref> [[एसईसीडी मशीन]] की परंपरा में [[सार मशीन|सार]] [[एसईसीडी मशीन|मशीन]] भी निकटता से संबंधित हैं।


== इतिहास ==
== इतिहास ==
[[अल्गोल 68]] के शब्दार्थ को परिभाषित करने में पहली बार परिचालन शब्दार्थ की अवधारणा का उपयोग किया गया था।
[[अल्गोल 68|ALGOL 68]] के सिमेंटिक्स को परिभाषित करने में प्रथम बार ऑपरेशनल सिमेंटिक्स की अवधारणा का उपयोग किया गया था। निम्नलिखित कथन संशोधित ALGOL 68 रिपोर्ट का उद्धरण है:
निम्नलिखित कथन संशोधित ALGOL 68 रिपोर्ट का उद्धरण है:


<ब्लॉककोट>
सख्त लैंगवेज में किसी प्रोग्राम का अर्थ काल्पनिक कंप्यूटर के संदर्भ में समझाया गया है जो उस प्रोग्राम के विस्तार को बनाने वाली क्रियाओं का समूह निष्पादित करता है।  
सख्त भाषा में किसी प्रोग्राम का अर्थ काल्पनिक कंप्यूटर के संदर्भ में समझाया गया है
जो उस कार्यक्रम के विस्तार को बनाने वाली क्रियाओं का समूह निष्पादित करता है। (#एल्गोल68, धारा 2)
</ब्लॉककोट>


ऑपरेशनल सिमेंटिक्स शब्द का इसके वर्तमान अर्थ में पहला उपयोग किसके लिए जिम्मेदार है
ऑपरेशनल सिमेंटिक्स शब्द का इसके वर्तमान अर्थ में प्रथम उपयोग [[दाना स्कॉट]] (plotkin04) को दिया गया है।औपचारिक सिमेंटिक्स विज्ञान पर स्कॉट के मौलिक पेपर का उद्धरण इस प्रकार है, जिसमें उन्होंने सिमेंटिक्स के ऑपरेशनल पहलुओं का उल्लेख किया है।
[[दाना स्कॉट]] (#plotkin04)
औपचारिक शब्दार्थ विज्ञान पर स्कॉट के मौलिक पेपर का उद्धरण इस प्रकार है,
जिसमें उन्होंने शब्दार्थ के परिचालन पहलुओं का उल्लेख किया है।


<ब्लॉककोट>
सिमेंटिक्स के प्रति अधिक 'सार' एवं 'स्वच्छ' दृष्टिकोण का लक्ष्य रखना बहुत उचित विषय है, किन्तु यदि योजना उचित होनी है, तो ऑपरेशनल पहलुओं को पूर्ण रूप से अस्वीकार नहीं किया जा सकता है।
अधिक 'सार' और 'स्वच्छ' दृष्टिकोण का लक्ष्य रखना बहुत अच्छी बात है
शब्दार्थ, लेकिन यदि योजना अच्छी होनी है, तो परिचालन संबंधी पहलू नहीं हो सकते
पूरी तरह से नजरअंदाज किया जाए. (#स्कॉट70)
</ब्लॉककोट>


== दृष्टिकोण ==
== दृष्टिकोण ==
[[गॉर्डन प्लॉटकिन]] ने संरचनात्मक परिचालन शब्दार्थ, [[मैथ्यू फेलिसेन]] और रॉबर्ट हीब ने कमी शब्दार्थ, पेश किया।<ref name="felleisen-hieb-92">{{cite journal |title=अनुक्रमिक नियंत्रण और राज्य के वाक्यात्मक सिद्धांतों पर संशोधित रिपोर्ट|journal=Theoretical Computer Science |last1=Felleisen |first1=M. |last2=Hieb |first2=R. |year=1992 |volume=103 |issue=2 |pages=235–271 |doi=10.1016/0304-3975(92)90014-7|doi-access=free }}</ref> और गाइल्स कहन प्राकृतिक शब्दार्थ।
[[गॉर्डन प्लॉटकिन]] ने स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स, [[मैथ्यू फेलिसेन]] एवं रॉबर्ट हीब ने कमी सिमेंटिक्स,<ref name="felleisen-hieb-92">{{cite journal |title=अनुक्रमिक नियंत्रण और राज्य के वाक्यात्मक सिद्धांतों पर संशोधित रिपोर्ट|journal=Theoretical Computer Science |last1=Felleisen |first1=M. |last2=Hieb |first2=R. |year=1992 |volume=103 |issue=2 |pages=235–271 |doi=10.1016/0304-3975(92)90014-7|doi-access=free }}</ref> एवं गाइल्स कहन ने प्राकृतिक सिमेंटिक्स का प्रारम्भ किया था।


=== लघु-चरण शब्दार्थ ===
=== लघु-चरण सिमेंटिक्स ===


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


सरल उदाहरण के लिए, हम साधारण प्रोग्रामिंग भाषा के शब्दार्थ के भाग पर विचार करते हैं; #plotkin81 और #hennessybook, और अन्य पाठ्यपुस्तकों में उचित चित्रण दिए गए हैं। होने देना <math>C_1, C_2</math> भाषा के कार्यक्रमों की रेंज, और चलो <math>s</math> विभिन्न राज्यों में सीमा (उदाहरण के लिए मेमोरी स्थानों से लेकर मानों तक के फ़ंक्शन)। यदि हमारे पास अभिव्यक्तियाँ हैं (क्रमानुसार)। <math>E</math>), मान {{nobreak|(<math>V</math>)}} और स्थान (<math>L</math>), तो मेमोरी अपडेट कमांड में शब्दार्थ होगा:
सरल उदाहरण के लिए, हम साधारण प्रोग्रामिंग लैंगवेज के सिमेंटिक्स के भाग पर विचार करते हैं; plotkin81 एवं hennessy90, एवं अन्य पाठ्यपुस्तकों में उचित चित्रण दिए गए हैं। <math>C_1, C_2</math> लैंगवेज के प्रोग्रामों की रेंज, एवं विभिन्न अवस्थाओं <math>s</math> में सीमा होती है। यदि हमारे पास अभिव्यक्तियाँ (क्रमानुसार <math>E</math>), मान {{nobreak|(<math>V</math>)}} एवं स्थान (<math>L</math>) हैं, तो मेमोरी अपडेट कमांड में सिमेंटिक्स


<math>
<math>
\frac{\langle E,s\rangle \Rightarrow V}{\langle L:=E\,,\,s\rangle\longrightarrow (s\uplus (L\mapsto V))}
\frac{\langle E,s\rangle \Rightarrow V}{\langle L:=E\,,\,s\rangle\longrightarrow (s\uplus (L\mapsto V))}
</math>
</math> होता है।                                                                                                                                                  अनौपचारिक रूप से, नियम कहता है कि यदि अभिव्यक्ति <math>E</math> अवस्था <math>s</math> में मूल्य <math>V</math> कम कर देता है, तत्पश्चात प्रोग्राम <math>L:=E</math> अवस्था <math>s</math> को असाइनमेंट <math>L=V</math>के साथ अद्यतन करता है।
<!-- NOTE: This is only a fragment of a full semantics. I've tried to include enough to illustrate the points but not so much that it takes a disproportionate amount of space.  -->
अनौपचारिक रूप से, नियम कहता है कि यदि अभिव्यक्ति <math>E</math> राज्य में <math>s</math> मूल्य कम कर देता है <math>V</math>, फिर कार्यक्रम <math>L:=E</math> राज्य को अद्यतन करेगा <math>s</math> असाइनमेंट के साथ <math>L=V</math>.


अनुक्रमण का शब्दार्थ निम्नलिखित तीन नियमों द्वारा दिया जा सकता है:
अनुक्रमण का सिमेंटिक्स निम्नलिखित तीन नियमों द्वारा दिया जा सकता है:


<math>
<math>
Line 55: Line 42:
\frac{}
\frac{}
{\langle \mathbf{skip} ,s\rangle\longrightarrow s}
{\langle \mathbf{skip} ,s\rangle\longrightarrow s}
</math>
</math> अनौपचारिक रूप से, प्रथम नियम कहता है कि यदि अवस्था <math>s</math> में प्रोग्राम <math>C_1</math>अवस्था <math>s'</math> में समाप्त होता है, तत्पश्चात प्रोग्राम <math>C_1;C_2</math> अवस्था <math>s</math> में प्रोग्राम <math>C_2</math> अवस्था में <math>s'</math>में कमी आएगी। (आप इसे औपचारिकता के रूप में सोच सकते हैं<math>C_1</math>, एवं तत्पश्चात <math>C_2</math> परिणामी मेमोरी स्टोर का उपयोग करना कर सकते हैं।) दूसरा नियम यही कहता है, यदि प्रोग्राम <math>C_1</math> अवस्था <math>s</math> में प्रोग्राम <math>C_1'</math> अवस्था <math>s'</math>के साथ कम कर सकते हैं, तत्पश्चात प्रोग्राम <math>C_1;C_2</math> अवस्था <math>s</math> में प्रोग्राम <math>C_1';C_2</math>अवस्था <math>s'</math> में कमी आएगी, आप इसे अनुकूलन कंपाइलर के लिए सिद्धांत को औपचारिक बनाने के रूप में सोच सकते हैं: "आपको परिवर्तन करने की अनुमति है जैसे कि यह <math>C_1</math> अकेले ही हो, भले ही यह किसी प्रोग्राम का प्रथम भाग ही क्यों न हो।"
अनौपचारिक रूप से, पहला नियम कहता है कि,
यदि प्रोग्राम <math>C_1</math> राज्य में <math>s</math> अवस्था में समाप्त होता है <math>s'</math>, फिर कार्यक्रम <math>C_1;C_2</math> राज्य में <math>s</math> कार्यक्रम में कमी आएगी <math>C_2</math> राज्य में <math>s'</math>.
(आप इसे औपचारिकता के रूप में सोच सकते हैं आप चला सकते हैं <math>C_1</math>, और फिर चलाएँ <math>C_2</math>
परिणामी मेमोरी स्टोर का उपयोग करना।)
दूसरा नियम यही कहता है
यदि प्रोग्राम <math>C_1</math> राज्य में <math>s</math> प्रोग्राम को कम कर सकते हैं <math>C_1'</math> राज्य के साथ <math>s'</math>, फिर कार्यक्रम <math>C_1;C_2</math> राज्य में <math>s</math> कार्यक्रम में कमी आएगी <math>C_1';C_2</math> राज्य में <math>s'</math>.
(आप इसे अनुकूलन कंपाइलर के लिए सिद्धांत को औपचारिक बनाने के रूप में सोच सकते हैं:
आपको बदलने की अनुमति है <math>C_1</math> मानो यह अकेला हो, भले ही यह सिर्फ हो
किसी कार्यक्रम का पहला भाग. )
शब्दार्थ संरचनात्मक है, क्योंकि अनुक्रमिक कार्यक्रम का अर्थ है <math>C_1;C_2</math>, के अर्थ से परिभाषित किया गया है <math>C_1</math> और का अर्थ <math>C_2</math>.


यदि हमारे पास राज्य पर बूलियन अभिव्यक्तियाँ भी हैं, तो सीमा से अधिक <math>B</math>, तो हम while कमांड के शब्दार्थ को परिभाषित कर सकते हैं:
 
<math>
 
सिमेंटिक्स संरचनात्मक है, क्योंकि अनुक्रमिक प्रोग्राम <math>C_1;C_2</math>, <math>C_1</math> एवं <math>C_2</math> के अर्थ से परिभाषित किया गया है।
 
यदि हमारे पास अवस्था पर बूलियन अभिव्यक्तियाँ भी हैं, तो सीमा से अधिक <math>B</math>, तो हम while कमांड के सिमेंटिक्स को परिभाषित कर सकते हैं:<math>
\frac{\langle B,s\rangle \Rightarrow \mathbf{true}}{\langle\mathbf{while}\ B\ \mathbf{ do }\ C,s\rangle\longrightarrow \langle C;\mathbf{while}\ B\ \mathbf{do}\ C,s\rangle}
\frac{\langle B,s\rangle \Rightarrow \mathbf{true}}{\langle\mathbf{while}\ B\ \mathbf{ do }\ C,s\rangle\longrightarrow \langle C;\mathbf{while}\ B\ \mathbf{do}\ C,s\rangle}
\quad
\quad
\frac{\langle B,s\rangle \Rightarrow \mathbf{false}}{\langle\mathbf{while}\ B\ \mathbf{ do }\ C,s\rangle\longrightarrow s}
\frac{\langle B,s\rangle \Rightarrow \mathbf{false}}{\langle\mathbf{while}\ B\ \mathbf{ do }\ C,s\rangle\longrightarrow s}
</math>
</math> ऐसी परिभाषा प्रोग्रामों के व्यवहार के औपचारिक विश्लेषण की अनुमति देती है, प्रोग्रामों के मध्य [[संबंध (गणित)|संबंध]] के अध्ययन की अनुमति देती है। महत्वपूर्ण संबंधों में [[अनुकरण पूर्वआदेश]] एवं [[द्विसिमुलेशन]] सम्मिलित हैं। ये [[कंप्यूटर विज्ञान|समवर्ती सिद्धांत]] के संदर्भ में विशेष रूप से उपयोगी हैं।
ऐसी परिभाषा कार्यक्रमों के व्यवहार के औपचारिक विश्लेषण की अनुमति देती है, कार्यक्रमों के बीच [[संबंध (गणित)]] के अध्ययन की अनुमति देती है। महत्वपूर्ण संबंधों में [[अनुकरण पूर्वआदेश]] और [[द्विसिमुलेशन]] शामिल हैं।
ये Concurrency ([[कंप्यूटर विज्ञान]]) के संदर्भ में विशेष रूप से उपयोगी हैं।


इसके सहज स्वरूप और अनुसरण करने में आसान संरचना के लिए धन्यवाद,
इसके सहज स्वरूप एवं अनुसरण करने में सरल संरचना के लिए धन्यवाद, एसओएस ने लोकप्रियता प्राप्त की है एवं परिभाषित करने में यह वास्तविक मानक बन गया है। ऑपरेशनल सिमेंटिक्स सफलता के संकेत के रूप में, मूल रिपोर्ट (तथाकथित आरहूस रिपोर्ट) CiteSeer [http://citeseer.ist.psu.edu/673965.html] के अनुसार 1000 से अधिक उद्धरण आकर्षित किए हैं। इसे कंप्यूटर विज्ञान में सर्वाधिक उद्धृत प्रौद्योगिकी रिपोर्टों में से एक बना दिया गया है।
एसओएस ने काफी लोकप्रियता हासिल की है और परिभाषित करने में यह वास्तविक मानक बन गया है
परिचालन शब्दार्थ. सफलता के संकेत के रूप में, मूल रिपोर्ट (तथाकथित आरहूस)
CiteSeer [http://citeseer.ist.psu.edu/673965.html] के अनुसार SOS (#plotkin81) पर रिपोर्ट ने 1000 से अधिक उद्धरण आकर्षित किए हैं।
इसे कंप्यूटर विज्ञान में सर्वाधिक उद्धृत तकनीकी रिपोर्टों में से बना दिया गया है।


==== न्यूनीकरण शब्दार्थ ====
==== रिडक्शन सिमेंटिक्स ====
न्यूनीकरण शब्दार्थ परिचालन शब्दार्थ की  वैकल्पिक प्रस्तुति है। इसके मुख्य विचारों को पहली बार 1975 में गॉर्डन प्लॉटकिन द्वारा लैम्ब्डा कैलकुलस के नाम और कॉल द्वारा मूल्य वेरिएंट के अनुसार पूरी तरह से कार्यात्मक कॉल पर लागू किया गया था।<ref>{{cite journal|last=Plotkin|first=Gordon|date=1975|title=Call-by-name, call-by-value and the λ-calculus|journal=Theoretical Computer Science|volume=1|issue=2|pages=125–159|doi=10.1016/0304-3975(75)90017-1|url=https://www.sciencedirect.com/science/article/pii/0304397575900171/pdf?md5=db2e67c1ada7163a28f124934b483f3a&pid=1-s2.0-0304397575900171-main.pdf|access-date=July 22, 2021|doi-access=free}}</ref> और अपने 1987 के शोध प्रबंध में मैथियास फेलिसेन द्वारा अनिवार्य विशेषताओं के साथ उच्च-क्रम कार्यात्मक भाषाओं के लिए सामान्यीकृत किया गया।<ref>{{cite thesis|type=PhD|last=Felleisen|first=Matthias|date=1987|title=The calculi of Lambda-v-CS conversion: a syntactic theory of control and state in imperative higher-order programming languages|publisher=Indiana University|url=https://www2.ccs.neu.edu/racket/pubs/dissertation-felleisen.pdf|access-date=July 22, 2021}}</ref> इस विधि को 1992 में मैथियास फेलिसेन और रॉबर्ट हीब द्वारा नियंत्रण प्रवाह और [[कार्यक्रम स्थिति]] के लिए पूर्ण [[समीकरण सिद्धांत]] में विस्तारित किया गया था।<ref name="felleisen-hieb-92" />वाक्यांश "रिडक्शन सिमेंटिक्स" पहली बार फेलिसेन और फ्रीडमैन द्वारा PARLE 1987 के पेपर में गढ़ा गया था।<ref>{{cite conference|last1=Felleisen|first1=Matthias|last2=Friedman|first2=Daniel P.|date=1987|title=अनिवार्य उच्च-क्रम भाषाओं के लिए एक न्यूनीकरण शब्दार्थ|book-title=Proceedings of the Parallel Architectures and Languages Europe|volume=1|pages=206–223|conference=International Conference on Parallel Architectures and Languages Europe|publisher=Springer-Verlag|doi=10.1007/3-540-17945-3_12}}</ref>
रिडक्शन सिमेंटिक्स ऑपरेशनल सिमेंटिक्स की  वैकल्पिक प्रस्तुति है। इसके मुख्य विचारों को प्रथम बार 1975 में गॉर्डन प्लॉटकिन द्वारा लैम्ब्डा कैलकुलस के नाम एवं कॉल द्वारा मूल्य वेरिएंट के अनुसार पूर्ण रूप से कार्यात्मक कॉल पर प्रस्तुत किया गया था।<ref>{{cite journal|last=Plotkin|first=Gordon|date=1975|title=Call-by-name, call-by-value and the λ-calculus|journal=Theoretical Computer Science|volume=1|issue=2|pages=125–159|doi=10.1016/0304-3975(75)90017-1|url=https://www.sciencedirect.com/science/article/pii/0304397575900171/pdf?md5=db2e67c1ada7163a28f124934b483f3a&pid=1-s2.0-0304397575900171-main.pdf|access-date=July 22, 2021|doi-access=free}}</ref> एवं अपने 1987 के शोध प्रबंध में मैथियास फेलिसेन द्वारा अनिवार्य विशेषताओं के साथ उच्च-क्रम कार्यात्मक लैंगवेजों के लिए सामान्यीकृत किया गया।<ref>{{cite thesis|type=PhD|last=Felleisen|first=Matthias|date=1987|title=The calculi of Lambda-v-CS conversion: a syntactic theory of control and state in imperative higher-order programming languages|publisher=Indiana University|url=https://www2.ccs.neu.edu/racket/pubs/dissertation-felleisen.pdf|access-date=July 22, 2021}}</ref> इस विधि को 1992 में मैथियास फेलिसेन एवं रॉबर्ट हीब द्वारा नियंत्रण प्रवाह एवं [[कार्यक्रम स्थिति|प्रोग्राम समष्टि]] के लिए पूर्ण [[समीकरण सिद्धांत]] में विस्तारित किया गया था।<ref name="felleisen-hieb-92" />वाक्यांश "रिडक्शन सिमेंटिक्स" प्रथम बार फेलिसेन एवं फ्रीडमैन द्वारा PARLE 1987 के पेपर में गढ़ा गया था।<ref>{{cite conference|last1=Felleisen|first1=Matthias|last2=Friedman|first2=Daniel P.|date=1987|title=अनिवार्य उच्च-क्रम भाषाओं के लिए एक न्यूनीकरण शब्दार्थ|book-title=Proceedings of the Parallel Architectures and Languages Europe|volume=1|pages=206–223|conference=International Conference on Parallel Architectures and Languages Europe|publisher=Springer-Verlag|doi=10.1007/3-540-17945-3_12}}</ref>रिडक्शन सिमेंटिक्स को कमी नियमों के सेट के रूप में दिया गया है, जिनमें से प्रत्येक संभावित कमी चरण को निर्दिष्ट करता है। उदाहरण के लिए, निम्नलिखित न्यूनीकरण नियम में कहा गया है कि असाइनमेंट स्टेटमेंट को कम किया जा सकता है यदि वह अपने परिवर्तनीय घोषणा के ठीक बगल में बैठता है:
कटौती शब्दार्थ को कमी नियमों के सेट के रूप में दिया गया है, जिनमें से प्रत्येक संभावित कमी चरण को निर्दिष्ट करता है। उदाहरण के लिए, निम्नलिखित कटौती नियम में कहा गया है कि असाइनमेंट स्टेटमेंट को कम किया जा सकता है यदि वह अपने परिवर्तनीय घोषणा के ठीक बगल में बैठता है:


<math>\mathbf{let\ rec}\ x = v_1\ \mathbf{in}\ x \leftarrow v_2;\ e\ \ \longrightarrow\ \ \mathbf{let\ rec}\ x = v_2\ \mathbf{in}\ e</math>
<math>\mathbf{let\ rec}\ x = v_1\ \mathbf{in}\ x \leftarrow v_2;\ e\ \ \longrightarrow\ \ \mathbf{let\ rec}\ x = v_2\ \mathbf{in}\ e</math> असाइनमेंट स्टेटमेंट को ऐसी समष्टि में लाने के लिए इसे फ़ंक्शन एप्लिकेशन एवं असाइनमेंट स्टेटमेंट के दाईं ओर के माध्यम से "बबल अप" किया जाता है जब तक कि यह उचित बिंदु तक नहीं पहुंच जाता है। हस्तक्षेप करने के पश्चात से <math>\mathbf{let}</math> अभिव्यक्ति भिन्न-भिन्न वेरिएंट घोषित कर सकती है, कैलकुलस भी <math>\mathbf{let}</math> भाव के लिए एक्सट्रूज़न नियम की मांग करता है। रिडक्शन सिमेंटिक्स के अधिकांश प्रकाशित उपयोग मूल्यांकन संदर्भों की सुविधा के साथ ऐसे "बबल नियमों" को परिभाषित करते हैं। उदाहरण के लिए, मूल्य लैंगवेज द्वारा साधारण कॉल में मूल्यांकन संदर्भों का व्याकरण इस प्रकार दिया जा सकता है,
असाइनमेंट स्टेटमेंट को ऐसी स्थिति में लाने के लिए इसे फ़ंक्शन एप्लिकेशन और असाइनमेंट स्टेटमेंट के दाईं ओर के माध्यम से "बबल अप" किया जाता है जब तक कि यह उचित बिंदु तक नहीं पहुंच जाता। हस्तक्षेप करने के बाद से <math>\mathbf{let}</math> अभिव्यक्ति अलग-अलग चर घोषित कर सकती है, कैलकुलस भी ्सट्रूज़न नियम की मांग करता है <math>\mathbf{let}</math> भाव. कटौती शब्दार्थ के अधिकांश प्रकाशित उपयोग मूल्यांकन संदर्भों की सुविधा के साथ ऐसे "बबल नियमों" को परिभाषित करते हैं। उदाहरण के लिए, मूल्य भाषा द्वारा साधारण कॉल में मूल्यांकन संदर्भों का व्याकरण इस प्रकार दिया जा सकता है


<math>
<math>
   E ::= [\,]\ \big|\ v\ E\ \big|\ E\ e\ \big|\ x \leftarrow E
   E ::= [\,]\ \big|\ v\ E\ \big|\ E\ e\ \big|\ x \leftarrow E
   \ \big|\ \mathbf{let\ rec}\ x = v\ \mathbf{in}\ E\ \big|\ E;\ e
   \ \big|\ \mathbf{let\ rec}\ x = v\ \mathbf{in}\ E\ \big|\ E;\ e
</math>
</math> जहाँ <math>e</math> अभिव्यक्ति को दर्शाता है एवं <math>v</math> पूर्ण रूप से कम किए गए मूल्यों को दर्शाता है। प्रत्येक मूल्यांकन संदर्भ में  छेद <math>[\,]</math> सम्मिलित होता है जिसमें  शब्द को कैप्वेरिएंटिंग फैशन में प्लग किया गया है। संदर्भ का आकार इस छेद से इंगित करता है कि कहां कमी हो सकती है। मूल्यांकन संदर्भों की सहायता से "बुलबुले" का वर्णन करने के लिए, एकल सिद्धांत पर्याप्त है:
कहाँ <math>e</math> मनमाना अभिव्यक्ति को दर्शाता है और <math>v</math> पूरी तरह से कम किए गए मूल्यों को दर्शाता है। प्रत्येक मूल्यांकन संदर्भ में बिल्कुल छेद शामिल होता है <math>[\,]</math> जिसमें  शब्द को कैप्चरिंग फैशन में प्लग किया गया है। संदर्भ का आकार इस छेद से इंगित करता है कि कहां कमी हो सकती है। मूल्यांकन संदर्भों की सहायता से "बुलबुले" का वर्णन करने के लिए, सिद्धांत पर्याप्त है:


<math>E[\,x \leftarrow v;\ e\,]\ \ \longrightarrow\ \ x \leftarrow v;\ E[\,e\,]  \qquad  \text{(lift assignments)}</math>
<math>E[\,x \leftarrow v;\ e\,]\ \ \longrightarrow\ \ x \leftarrow v;\ E[\,e\,]  \qquad  \text{(lift assignments)}</math> यह एकल न्यूनीकरण नियम असाइनमेंट स्टेटमेंट के लिए फेलिसेन एवं हिएब के लैम्ब्डा कैलकुलस से लिफ्ट नियम है। मूल्यांकन संदर्भ इस नियम को कुछ शर्तों तक सीमित रखते हैं, किन्तु यह लैम्ब्डा सहित किसी भी अवधि में स्वतंत्र रूप से प्रस्तुत होता है।
यह ल कटौती नियम असाइनमेंट स्टेटमेंट के लिए फेलिसेन और हिएब के लैम्ब्डा कैलकुलस से लिफ्ट नियम है। मूल्यांकन संदर्भ इस नियम को कुछ शर्तों तक सीमित रखते हैं, लेकिन यह लैम्ब्डा सहित किसी भी अवधि में स्वतंत्र रूप से लागू होता है।


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


कटौती शब्दार्थ विशेष रूप से उपयोगी होते हैं, जिससे आसानी से मूल्यांकन संदर्भ राज्य या असामान्य नियंत्रण संरचनाओं (उदाहरण के लिए, प्रथम श्रेणी निरंतरता) को मॉडल कर सकते हैं। इसके अलावा, [[ वस्तु के उन्मुख ]] भाषाओं को मॉडल करने के लिए रिडक्शन सिमेंटिक्स का उपयोग किया गया है,<ref>{{cite book|title=वस्तुओं का एक सिद्धांत|last1=Abadi|first1=M.|last2=Cardelli|first2=L.|date=8 September 2012|isbn=9781441985989|url=https://books.google.com/books?id=AgzSBwAAQBAJ&q=%22operational+semantics%22}}</ref> अनुबंध, अपवाद, वायदा, कॉल-बाय-नीड और कई अन्य भाषा सुविधाओं द्वारा डिज़ाइन। कटौती शब्दार्थ विज्ञान का संपूर्ण, आधुनिक उपचार जो ऐसे कई अनुप्रयोगों पर विस्तार से चर्चा करता है, पीएलटी रेडेक्स के साथ शब्दार्थ इंजीनियरिंग में मैथियास फेलिसेन, रॉबर्ट ब्रूस फाइंडलर और मैथ्यू फ़्लैट द्वारा दिया गया है।<ref>{{cite book|last1=Felleisen|first1=Matthias|last2=Findler|first2=Robert Bruce|last3=Flatt|first3=Matthew|title=पीएलटी रिडेक्स के साथ सिमेंटिक्स इंजीनियरिंग|year=2009|publisher=The MIT Press|isbn=978-0-262-06275-6|url=https://mitpress.mit.edu/books/semantics-engineering-plt-redex}}</ref>
रिडक्शन सिमेंटिक्स विशेष रूप से उपयोगी होते हैं, जिससे सरली से मूल्यांकन संदर्भ अवस्था या असामान्य नियंत्रण संरचनाओं (उदाहरण के लिए, प्रथम श्रेणी निरंतरता) को प्रारूप कर सकते हैं। इसके अतिरिक्त, [[ वस्तु के उन्मुख |वस्तु उन्मुख]] लैंगवेजों<ref>{{cite book|title=वस्तुओं का एक सिद्धांत|last1=Abadi|first1=M.|last2=Cardelli|first2=L.|date=8 September 2012|isbn=9781441985989|url=https://books.google.com/books?id=AgzSBwAAQBAJ&q=%22operational+semantics%22}}</ref> अनुबंध, अपवाद, वायदा, कॉल-बाय-नीड एवं कई अन्य लैंगवेज सुविधाओं को प्रारूप करने के लिए रिडक्शन सिमेंटिक्स का उपयोग किया गया है। रिडक्शन सिमेंटिक्स विज्ञान का संपूर्ण, आधुनिक उपचार जो ऐसे कई अनुप्रयोगों पर विस्तार से वेरिएंट्चा करता है, पीएलटी रेडेक्स के साथ सिमेंटिक्स इंजीनियरिंग में मैथियास फेलिसेन, रॉबर्ट ब्रूस फाइंडलर एवं मैथ्यू फ़्लैट द्वारा दिया गया है।<ref>{{cite book|last1=Felleisen|first1=Matthias|last2=Findler|first2=Robert Bruce|last3=Flatt|first3=Matthew|title=पीएलटी रिडेक्स के साथ सिमेंटिक्स इंजीनियरिंग|year=2009|publisher=The MIT Press|isbn=978-0-262-06275-6|url=https://mitpress.mit.edu/books/semantics-engineering-plt-redex}}</ref>


'''बड़ा कदम शब्दार्थ'''
'''बड़ा चरण सिमेंटिक्स'''
====प्राकृतिक शब्दार्थ====
====प्राकृतिक सिमेंटिक्स====
बिग-स्टेप स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स, रिलेशनल सिमेंटिक्स और मूल्यांकन सिमेंटिक्स के नाम से भी जाना जाता है।<ref>[https://web.archive.org/web/20131019133339/https://fsl.cs.illinois.edu/images/6/63/CS422-Spring-2010-BigStep.pdf University of Illinois CS422]</ref> मिनी-एमएल, [[एमएल (प्रोग्रामिंग भाषा)]] की शुद्ध बोली प्रस्तुत करते समय गाइल्स काह्न द्वारा बिग-स्टेप ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स के नाम से पेश किया गया था।
बिग-स्टेप स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स, रिलेशनल सिमेंटिक्स एवं मूल्यांकन सिमेंटिक्स के नाम से भी जाना जाता है।<ref>[https://web.archive.org/web/20131019133339/https://fsl.cs.illinois.edu/images/6/63/CS422-Spring-2010-BigStep.pdf University of Illinois CS422]</ref> मिनी-एमएल, [[एमएल (प्रोग्रामिंग भाषा)|एमएल (प्रोग्रामिंग लैंगवेज)]] की शुद्ध लैंगवेज प्रस्तुत करते समय गाइल्स काह्न द्वारा बिग-स्टेप ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स के नाम से प्रस्तुत किया गया था।


कोई व्यक्ति बड़ी-चरणीय परिभाषाओं को कार्यों की परिभाषाओं के रूप में, या अधिक सामान्यतः संबंधों की परिभाषाओं के रूप में देख सकता है, प्रत्येक भाषा निर्माण को उपयुक्त डोमेन में व्याख्या कर सकता है। इसकी सहजता इसे प्रोग्रामिंग भाषाओं में शब्दार्थ विनिर्देश के लिए लोकप्रिय विकल्प बनाती है, लेकिन इसमें कुछ कमियां हैं जो इसे कई स्थितियों में उपयोग करने में असुविधाजनक या असंभव बनाती हैं, जैसे नियंत्रण-गहन सुविधाओं या समवर्ती भाषाओं वाली भाषाएं।
कोई व्यक्ति बड़ी-चरणीय परिभाषाओं को कार्यों की परिभाषाओं के रूप में, या अधिक सामान्यतः संबंधों की परिभाषाओं के रूप में देख सकता है, प्रत्येक लैंगवेज निर्माण को उपयुक्त डोमेन में व्याख्या कर सकता है। इसकी सहजता इसे प्रोग्रामिंग लैंगवेजों में सिमेंटिक्स विनिर्देश के लिए लोकप्रिय विकल्प बनाती है, किन्तु इसमें कुछ कमियां हैं जो इसे कई समष्टियों में उपयोग करने में असुविधाजनक या असंभव बनाती हैं, जैसे नियंत्रण-गहन सुविधाओं वाली लैंगवेज या समवर्ती है।


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


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


बड़े-चरण वाले शब्दार्थ अक्सर सरल होते हैं (कम अनुमान नियमों की आवश्यकता होती है) और अक्सर सीधे भाषा के लिए दुभाषिया के कुशल कार्यान्वयन के अनुरूप होते हैं (इसलिए कहन उन्हें प्राकृतिक कहते हैं।) दोनों सरल प्रमाणों की ओर ले जा सकते हैं, उदाहरण के लिए जब कुछ [[कार्यक्रम परिवर्तन]] के तहत शुद्धता के संरक्षण को साबित किया जाता है।<ref name="leroy-coinductivebigstep">[[Xavier Leroy]]. "Coinductive big-step operational semantics".</ref>
बड़े-चरण वाले सिमेंटिक्स प्रायः सरल होते हैं (कम अनुमान नियमों की आवश्यकता होती है) एवं प्रायः सीधे लैंगवेज के लिए दुभाषिया के कुशल कार्यान्वयन के अनुरूप होते हैं (इसलिए कहन उन्हें प्राकृतिक कहते हैं।) दोनों सरल प्रमाणों की ओर ले जा सकते हैं, उदाहरण के लिए जब कुछ [[कार्यक्रम परिवर्तन|प्रोग्राम परिवर्तन]] के अंतर्गत शुद्धता के संरक्षण को प्रमाणित किया जाता है।<ref name="leroy-coinductivebigstep">[[Xavier Leroy]]. "Coinductive big-step operational semantics".</ref>बड़े-चरण वाले सिमेंटिक्स की मुख्य हानि यह है कि अन्य-समाप्ति [[विचलन (कंप्यूटर विज्ञान)|विचलन]] गणनाओं में कोई अनुमान वृक्ष नहीं होता है, जिससे ऐसी गणनाओं के विषय में गुणों को बताना एवं प्रमाणित करना असंभव हो जाता है।<ref name="leroy-coinductivebigstep" />
बड़े-चरण वाले शब्दार्थ का मुख्य नुकसान यह है कि गैर-समाप्ति ([[विचलन (कंप्यूटर विज्ञान)]]) गणनाओं में कोई अनुमान वृक्ष नहीं होता है, जिससे ऐसी गणनाओं के बारे में गुणों को बताना और साबित करना असंभव हो जाता है।<ref name="leroy-coinductivebigstep" />


छोटे-चरण वाले शब्दार्थ विवरण और मूल्यांकन के क्रम पर अधिक नियंत्रण देते हैं। इंस्ट्रुमेंटेड ऑपरेशनल सिमेंटिक्स के मामले में, यह ऑपरेशनल सिमेंटिक्स को ट्रैक करने और सिमेंटिस्ट को भाषा के रन-टाइम व्यवहार के बारे में अधिक सटीक प्रमेयों को बताने और साबित करने की अनुमति देता है। परिचालन शब्दार्थ के विरुद्ध  प्रकार की प्रणाली की [[प्रकार की सुदृढ़ता]] साबित करते समय ये गुण छोटे-चरण के शब्दार्थ को अधिक सुविधाजनक बनाते हैं।<ref name="leroy-coinductivebigstep" />
छोटे-चरण वाले सिमेंटिक्स विवरण एवं मूल्यांकन के क्रम पर अधिक नियंत्रण देते हैं। इंस्ट्रुमेंटेड ऑपरेशनल सिमेंटिक्स के विषय में, यह ऑपरेशनल सिमेंटिक्स को ट्रैक करने एवं सिमेंटिस्ट को लैंगवेज के रन-टाइम व्यवहार के विषय में अधिक त्रुटिहीन प्रमेयों को बताने एवं प्रमाणित करने की अनुमति देता है। ऑपरेशनल सिमेंटिक्स के विरुद्ध  प्रकार की सिस्टम की [[प्रकार की सुदृढ़ता]] प्रमाणित करते समय ये गुण छोटे-चरण के सिमेंटिक्स को अधिक सुविधाजनक बनाते हैं।<ref name="leroy-coinductivebigstep" />


== यह भी देखें ==
== यह भी देखें ==
* [[बीजगणितीय शब्दार्थ (कंप्यूटर विज्ञान)]]
* [[बीजगणितीय शब्दार्थ (कंप्यूटर विज्ञान)|बीजगणितीय सिमेंटिक्स (कंप्यूटर विज्ञान)]]
* स्वयंसिद्ध शब्दार्थ
* स्वयंसिद्ध सिमेंटिक्स
* सांकेतिक शब्दार्थ
* सांकेतिक सिमेंटिक्स
* प्रोग्रामिंग भाषाओं का औपचारिक शब्दार्थ
* प्रोग्रामिंग लैंगवेजों का औपचारिक सिमेंटिक्स


== संदर्भ ==
== संदर्भ ==
Line 141: Line 110:


{{Authority control}}
{{Authority control}}
[[Category: संचालनात्मक शब्दार्थ| संचालनात्मक शब्दार्थ]] [[Category: औपचारिक विशिष्टता भाषाएँ]] [[Category: कंप्यूटर विज्ञान में तर्क]] [[Category: प्रोग्रामिंग भाषा शब्दार्थ]]


[[Category: Machine Translated Page]]
[[Category:All articles with dead external links]]
[[Category:Articles with dead external links from March 2018]]
[[Category:Articles with permanently dead external links]]
[[Category:Created On 24/07/2023]]
[[Category:Created On 24/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:औपचारिक विशिष्टता भाषाएँ]]
[[Category:कंप्यूटर विज्ञान में तर्क]]
[[Category:प्रोग्रामिंग भाषा शब्दार्थ]]
[[Category:संचालनात्मक शब्दार्थ| संचालनात्मक शब्दार्थ]]

Latest revision as of 13:57, 14 August 2023

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

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

संभवतः ऑपरेशनल सिमेंटिक्स का प्रथम औपचारिक अवतार लिस्प (प्रोग्रामिंग लैंगवेज) के सिमेंटिक्स को परिभाषित करने के लिए लैम्ब्डा कैलकुलस का उपयोग था।[1] एसईसीडी मशीन की परंपरा में सार मशीन भी निकटता से संबंधित हैं।

इतिहास

ALGOL 68 के सिमेंटिक्स को परिभाषित करने में प्रथम बार ऑपरेशनल सिमेंटिक्स की अवधारणा का उपयोग किया गया था। निम्नलिखित कथन संशोधित ALGOL 68 रिपोर्ट का उद्धरण है:

सख्त लैंगवेज में किसी प्रोग्राम का अर्थ काल्पनिक कंप्यूटर के संदर्भ में समझाया गया है जो उस प्रोग्राम के विस्तार को बनाने वाली क्रियाओं का समूह निष्पादित करता है।

ऑपरेशनल सिमेंटिक्स शब्द का इसके वर्तमान अर्थ में प्रथम उपयोग दाना स्कॉट (plotkin04) को दिया गया है।औपचारिक सिमेंटिक्स विज्ञान पर स्कॉट के मौलिक पेपर का उद्धरण इस प्रकार है, जिसमें उन्होंने सिमेंटिक्स के ऑपरेशनल पहलुओं का उल्लेख किया है।

सिमेंटिक्स के प्रति अधिक 'सार' एवं 'स्वच्छ' दृष्टिकोण का लक्ष्य रखना बहुत उचित विषय है, किन्तु यदि योजना उचित होनी है, तो ऑपरेशनल पहलुओं को पूर्ण रूप से अस्वीकार नहीं किया जा सकता है।

दृष्टिकोण

गॉर्डन प्लॉटकिन ने स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स, मैथ्यू फेलिसेन एवं रॉबर्ट हीब ने कमी सिमेंटिक्स,[2] एवं गाइल्स कहन ने प्राकृतिक सिमेंटिक्स का प्रारम्भ किया था।

लघु-चरण सिमेंटिक्स

स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स

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

सरल उदाहरण के लिए, हम साधारण प्रोग्रामिंग लैंगवेज के सिमेंटिक्स के भाग पर विचार करते हैं; plotkin81 एवं hennessy90, एवं अन्य पाठ्यपुस्तकों में उचित चित्रण दिए गए हैं। लैंगवेज के प्रोग्रामों की रेंज, एवं विभिन्न अवस्थाओं में सीमा होती है। यदि हमारे पास अभिव्यक्तियाँ (क्रमानुसार ), मान () एवं स्थान () हैं, तो मेमोरी अपडेट कमांड में सिमेंटिक्स

होता है। अनौपचारिक रूप से, नियम कहता है कि यदि अभिव्यक्ति अवस्था में मूल्य कम कर देता है, तत्पश्चात प्रोग्राम अवस्था को असाइनमेंट के साथ अद्यतन करता है।

अनुक्रमण का सिमेंटिक्स निम्नलिखित तीन नियमों द्वारा दिया जा सकता है:

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


सिमेंटिक्स संरचनात्मक है, क्योंकि अनुक्रमिक प्रोग्राम , एवं के अर्थ से परिभाषित किया गया है।

यदि हमारे पास अवस्था पर बूलियन अभिव्यक्तियाँ भी हैं, तो सीमा से अधिक , तो हम while कमांड के सिमेंटिक्स को परिभाषित कर सकते हैं: ऐसी परिभाषा प्रोग्रामों के व्यवहार के औपचारिक विश्लेषण की अनुमति देती है, प्रोग्रामों के मध्य संबंध के अध्ययन की अनुमति देती है। महत्वपूर्ण संबंधों में अनुकरण पूर्वआदेश एवं द्विसिमुलेशन सम्मिलित हैं। ये समवर्ती सिद्धांत के संदर्भ में विशेष रूप से उपयोगी हैं।

इसके सहज स्वरूप एवं अनुसरण करने में सरल संरचना के लिए धन्यवाद, एसओएस ने लोकप्रियता प्राप्त की है एवं परिभाषित करने में यह वास्तविक मानक बन गया है। ऑपरेशनल सिमेंटिक्स सफलता के संकेत के रूप में, मूल रिपोर्ट (तथाकथित आरहूस रिपोर्ट) CiteSeer [1] के अनुसार 1000 से अधिक उद्धरण आकर्षित किए हैं। इसे कंप्यूटर विज्ञान में सर्वाधिक उद्धृत प्रौद्योगिकी रिपोर्टों में से एक बना दिया गया है।

रिडक्शन सिमेंटिक्स

रिडक्शन सिमेंटिक्स ऑपरेशनल सिमेंटिक्स की वैकल्पिक प्रस्तुति है। इसके मुख्य विचारों को प्रथम बार 1975 में गॉर्डन प्लॉटकिन द्वारा लैम्ब्डा कैलकुलस के नाम एवं कॉल द्वारा मूल्य वेरिएंट के अनुसार पूर्ण रूप से कार्यात्मक कॉल पर प्रस्तुत किया गया था।[3] एवं अपने 1987 के शोध प्रबंध में मैथियास फेलिसेन द्वारा अनिवार्य विशेषताओं के साथ उच्च-क्रम कार्यात्मक लैंगवेजों के लिए सामान्यीकृत किया गया।[4] इस विधि को 1992 में मैथियास फेलिसेन एवं रॉबर्ट हीब द्वारा नियंत्रण प्रवाह एवं प्रोग्राम समष्टि के लिए पूर्ण समीकरण सिद्धांत में विस्तारित किया गया था।[2]वाक्यांश "रिडक्शन सिमेंटिक्स" प्रथम बार फेलिसेन एवं फ्रीडमैन द्वारा PARLE 1987 के पेपर में गढ़ा गया था।[5]रिडक्शन सिमेंटिक्स को कमी नियमों के सेट के रूप में दिया गया है, जिनमें से प्रत्येक संभावित कमी चरण को निर्दिष्ट करता है। उदाहरण के लिए, निम्नलिखित न्यूनीकरण नियम में कहा गया है कि असाइनमेंट स्टेटमेंट को कम किया जा सकता है यदि वह अपने परिवर्तनीय घोषणा के ठीक बगल में बैठता है:

असाइनमेंट स्टेटमेंट को ऐसी समष्टि में लाने के लिए इसे फ़ंक्शन एप्लिकेशन एवं असाइनमेंट स्टेटमेंट के दाईं ओर के माध्यम से "बबल अप" किया जाता है जब तक कि यह उचित बिंदु तक नहीं पहुंच जाता है। हस्तक्षेप करने के पश्चात से अभिव्यक्ति भिन्न-भिन्न वेरिएंट घोषित कर सकती है, कैलकुलस भी भाव के लिए एक्सट्रूज़न नियम की मांग करता है। रिडक्शन सिमेंटिक्स के अधिकांश प्रकाशित उपयोग मूल्यांकन संदर्भों की सुविधा के साथ ऐसे "बबल नियमों" को परिभाषित करते हैं। उदाहरण के लिए, मूल्य लैंगवेज द्वारा साधारण कॉल में मूल्यांकन संदर्भों का व्याकरण इस प्रकार दिया जा सकता है,

जहाँ अभिव्यक्ति को दर्शाता है एवं पूर्ण रूप से कम किए गए मूल्यों को दर्शाता है। प्रत्येक मूल्यांकन संदर्भ में छेद सम्मिलित होता है जिसमें शब्द को कैप्वेरिएंटिंग फैशन में प्लग किया गया है। संदर्भ का आकार इस छेद से इंगित करता है कि कहां कमी हो सकती है। मूल्यांकन संदर्भों की सहायता से "बुलबुले" का वर्णन करने के लिए, एकल सिद्धांत पर्याप्त है:

यह एकल न्यूनीकरण नियम असाइनमेंट स्टेटमेंट के लिए फेलिसेन एवं हिएब के लैम्ब्डा कैलकुलस से लिफ्ट नियम है। मूल्यांकन संदर्भ इस नियम को कुछ शर्तों तक सीमित रखते हैं, किन्तु यह लैम्ब्डा सहित किसी भी अवधि में स्वतंत्र रूप से प्रस्तुत होता है।

प्लॉटकिन के पश्चात, न्यूनीकरण नियमों के सेट से प्राप्त कैलकुलस की उपयोगिता दिखाते हुए (1) चरण संबंध के लिए वेरिएंट्च-रोसेर लेम्मा की मांग की जाती है, जो मूल्यांकन फ़ंक्शन को प्रेरित करता है, एवं (2) चरण संबंध के ट्रांजिटिव-रिफ्लेक्टिव क्लोजर के लिए करी-फ़े मानकीकरण लेम्मा, जो मूल्यांकन फ़ंक्शन में अन्य-नियतात्मक शोध को नियतात्मक बाएं-सबसे बाहरी शोध से परिवर्तित कर देता है। फ़ेलिसेन ने दिखाया कि इस कलन के अनिवार्य विस्तार इन प्रमेयों को संतुष्ट करते हैं। इन प्रमेयों का परिणाम यह है कि समीकरण सिद्धांत - सममित-संक्रमणीय-प्रतिवर्ती समापन इन लैंगवेजों के लिए ठोस तर्क सिद्धांत है। चूँकि, व्यवहार में, रिडक्शन सिमेंटिक्स के अधिकांश अनुप्रयोग कैलकुलस से दूर हो जाते हैं एवं केवल मानक न्यूनीकरण (एवं मूल्यांकनकर्ता जो इससे प्राप्त किया जा सकता है) का उपयोग करते हैं।

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

बड़ा चरण सिमेंटिक्स

प्राकृतिक सिमेंटिक्स

बिग-स्टेप स्ट्रक्चरल ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स, रिलेशनल सिमेंटिक्स एवं मूल्यांकन सिमेंटिक्स के नाम से भी जाना जाता है।[8] मिनी-एमएल, एमएल (प्रोग्रामिंग लैंगवेज) की शुद्ध लैंगवेज प्रस्तुत करते समय गाइल्स काह्न द्वारा बिग-स्टेप ऑपरेशनल सिमेंटिक्स को प्राकृतिक सिमेंटिक्स के नाम से प्रस्तुत किया गया था।

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

बड़ा चरण सिमेंटिक्स डिवाइड एंड कांकेर विधि से वर्णन करता है कि कैसे लैंगवेज निर्माण के अंतिम मूल्यांकन परिणाम उनके वाक्यात्मक समकक्षों (उपअभिव्यक्ति, उपकथन, आदि) के मूल्यांकन परिणामों को मिलाकर प्राप्त किए जा सकते हैं।

अपेक्षा

छोटे-चरण एवं बड़े-चरण वाले सिमेंटिक्स के मध्य कई अंतर हैं जो प्रभावित करते हैं कि प्रोग्रामिंग लैंगवेज के सिमेंटिक्स को निर्दिष्ट करने के लिए कोई दूसरा अधिक उपयुक्त आधार बनाता है या नहीं बनाता है।

बड़े-चरण वाले सिमेंटिक्स प्रायः सरल होते हैं (कम अनुमान नियमों की आवश्यकता होती है) एवं प्रायः सीधे लैंगवेज के लिए दुभाषिया के कुशल कार्यान्वयन के अनुरूप होते हैं (इसलिए कहन उन्हें प्राकृतिक कहते हैं।) दोनों सरल प्रमाणों की ओर ले जा सकते हैं, उदाहरण के लिए जब कुछ प्रोग्राम परिवर्तन के अंतर्गत शुद्धता के संरक्षण को प्रमाणित किया जाता है।[9]बड़े-चरण वाले सिमेंटिक्स की मुख्य हानि यह है कि अन्य-समाप्ति विचलन गणनाओं में कोई अनुमान वृक्ष नहीं होता है, जिससे ऐसी गणनाओं के विषय में गुणों को बताना एवं प्रमाणित करना असंभव हो जाता है।[9]

छोटे-चरण वाले सिमेंटिक्स विवरण एवं मूल्यांकन के क्रम पर अधिक नियंत्रण देते हैं। इंस्ट्रुमेंटेड ऑपरेशनल सिमेंटिक्स के विषय में, यह ऑपरेशनल सिमेंटिक्स को ट्रैक करने एवं सिमेंटिस्ट को लैंगवेज के रन-टाइम व्यवहार के विषय में अधिक त्रुटिहीन प्रमेयों को बताने एवं प्रमाणित करने की अनुमति देता है। ऑपरेशनल सिमेंटिक्स के विरुद्ध प्रकार की सिस्टम की प्रकार की सुदृढ़ता प्रमाणित करते समय ये गुण छोटे-चरण के सिमेंटिक्स को अधिक सुविधाजनक बनाते हैं।[9]

यह भी देखें

संदर्भ

  1. McCarthy, John. "प्रतीकात्मक अभिव्यक्तियों के पुनरावर्ती कार्य और मशीन द्वारा उनकी गणना, भाग I". Archived from the original on 2013-10-04. Retrieved 2006-10-13.
  2. 2.0 2.1 Felleisen, M.; Hieb, R. (1992). "अनुक्रमिक नियंत्रण और राज्य के वाक्यात्मक सिद्धांतों पर संशोधित रिपोर्ट". Theoretical Computer Science. 103 (2): 235–271. doi:10.1016/0304-3975(92)90014-7.
  3. Plotkin, Gordon (1975). "Call-by-name, call-by-value and the λ-calculus" (PDF). Theoretical Computer Science. 1 (2): 125–159. doi:10.1016/0304-3975(75)90017-1. Retrieved July 22, 2021.
  4. Felleisen, Matthias (1987). The calculi of Lambda-v-CS conversion: a syntactic theory of control and state in imperative higher-order programming languages (PDF) (PhD). Indiana University. Retrieved July 22, 2021.
  5. Felleisen, Matthias; Friedman, Daniel P. (1987). "अनिवार्य उच्च-क्रम भाषाओं के लिए एक न्यूनीकरण शब्दार्थ". Proceedings of the Parallel Architectures and Languages Europe. International Conference on Parallel Architectures and Languages Europe. Vol. 1. Springer-Verlag. pp. 206–223. doi:10.1007/3-540-17945-3_12.
  6. Abadi, M.; Cardelli, L. (8 September 2012). वस्तुओं का एक सिद्धांत. ISBN 9781441985989.
  7. Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew (2009). पीएलटी रिडेक्स के साथ सिमेंटिक्स इंजीनियरिंग. The MIT Press. ISBN 978-0-262-06275-6.
  8. University of Illinois CS422
  9. 9.0 9.1 9.2 Xavier Leroy. "Coinductive big-step operational semantics".


अग्रिम पठन


बाहरी संबंध