छोटे और बड़े चरण के परिचालन शब्दार्थों के बीच मूलभूत अंतर क्या है?
मैं एक मुश्किल समय लोभी है जो यह है और दोनों के लिए प्रेरणा है।
x = 0; while ( true ) { x = x + 1; }
?
छोटे और बड़े चरण के परिचालन शब्दार्थों के बीच मूलभूत अंतर क्या है?
मैं एक मुश्किल समय लोभी है जो यह है और दोनों के लिए प्रेरणा है।
x = 0; while ( true ) { x = x + 1; }
?
जवाबों:
लघु-चरण शब्दार्थ एक समय में एक गणना कदम के भावों का मूल्यांकन करने के लिए एक विधि को परिभाषित करता है। औपचारिक रूप से, एक अभिव्यक्ति भाषा लिए एक छोटा कदम शब्दार्थ एक संबंध है को कमी संबंध कहा जाता है । लघु-चरण शब्दार्थ बताता है कि अभिव्यक्ति का विस्तार से क्या होता है। यह एक गैर-समाप्ति कार्यक्रमों का एक सटीक खाता देने में सक्षम है, जिसमें अनंत श्रृंखला । एक टर्मिनेटिंग प्रोग्राम एक ऐसा है जो एक वैल्यू साथ समाप्त होता है जैसे कि । \ newcommand {\ llbracket} {[\]! \ newcommand {\ rrbracket {{]!]}→ : ई × ईई 0 → ई 1 → ⋯ → v ∀ ई ' ∈ ई , वी ↛
स्पेक्ट्रम के दूसरे छोर पर डीनोटेशनल शब्दार्थ है । विवादास्पद शब्दार्थ प्रत्येक अभिव्यक्ति को एक "अर्थ" प्रदान करता है। यह अभिव्यक्तियों से लेकर तक का कार्य है: ( को डोमेन कहा जाता है)। डिनोटेशंस का स्थान पूरी तरह से सिंटैक्टिक स्पेस से असंबंधित हो सकता है, उदाहरण के लिए एक संख्या का मूल्यांकन करने वाले भाव हो सकते हैं और या जैसे नंबरों का एक सेट हो सकता है ।डी ई डी एन एन आर
बिग-स्टेप शब्दार्थ मध्य में एक प्रकार का होता है। एक अभिव्यक्ति भाषा और मूल्यों का एक सेट पर एक बड़ा कदम शब्दार्थ एक रिश्ता है । यह अपने मूल्य के लिए एक अभिव्यक्ति से संबंधित है (संभवतः कई मान यदि भाषा गैर-नियतात्मक है)। अक्सर, गैर-समाप्ति अभिव्यक्तियों के लिए एक विशेष मूल्य का उपयोग किया जाता है।वी ⇓ : ई × वी ⊥
तो हमारे पास ये तीन धारणाएं क्यों हैं? ये सभी धारणाएं एक-दूसरे को मॉडल कर सकती हैं, लेकिन मॉडल जटिलता की डिग्री जोड़ता है।
संचालन के लिए, छोटे चरण के शब्दार्थ भाषा के लिए दुभाषिया द्वारा किए गए प्रत्येक ऑपरेशन को देखने से मेल खाते हैं। बिग-स्टेप शब्दार्थ केवल परिणामी मूल्य को देखता है। विवादास्पद शब्दार्थ एक गणितीय व्याख्या को देखता है जो कंप्यूटर पर क्या होता है, इसके साथ कुछ भी नहीं हो सकता है या नहीं हो सकता है।
लघु-चरण शब्दार्थ सबसे स्पष्ट है। यह स्पष्ट रूप से गैर-समाप्ति कार्यक्रमों के बारे में उपयोगी जानकारी प्रदान करता है। अधिक सामान्यतः, यह कार्यक्रम के व्यवहार के बारे में विस्तृत जानकारी प्रदान करता है।
नकारात्मक शब्दार्थ सिंटैक्टिक निर्माणों को मनमाना गणितीय वस्तुओं में बदल देता है; यह वैज्ञानिक जो कुछ भी चाहते हैं उसे व्यक्त कर सकते हैं (आप इससे अभिव्यक्ति की परिभाषा को परिभाषित कर सकते हैं कि इसमें सभी संभव कटौती श्रृंखलाएं हो सकती हैं), लेकिन जटिलता के स्तर को जोड़ने की कीमत पर। इसका उपयोग तब किया जाता है जब हम कुछ विवरणों का सार निकालना चाहते हैं जैसे कि अभिव्यक्ति का मूल्यांकन कैसे किया जाता है।
बिग-स्टेप शब्दार्थ बीच में है: यह मूल्यांकन के विवरण को दूर करता है, लेकिन परिणाम की वाक्यात्मक प्रकृति को बनाए रखता है। आमतौर पर अवधारणा का उपयोग तब किया जाता है जब एक अंतर्निहित छोटे-चरण के शब्दार्थ होते हैं, जिस तरह से संक्षिप्त रूप से व्यक्त करने का एक तरीका है " '' ' के रूप में । इस तरह के निर्माणों में, जबकि अवधारणाएं बहुत अलग हैं (एक हमें व्यक्तिगत गणना चरणों के बारे में और गैर-समाप्ति कार्यक्रमों के बारे में बात करने की अनुमति देता है, दूसरा नहीं करता है), परिभाषाएं बहुत समान दिखेंगी, क्योंकि इस मामले में नियम जो परिभाषित करते हैं बड़े चरण के शब्दार्थ मूल रूप से "if और ... और और ई ⇓ ई एनई एन → * वी वी ई 1 ⇓ vएक मान है तो ”।
3
में ((2+1)+1)⇓3
मेरा अनुमान है कि 'denotational' कुछ अंत सभी मूल्य है, लेकिन क्या उदाहरण में 'बड़ा कदम' जरूरी नहीं कि सीधे उस करने के लिए नक्शे होगा? क्या अंतर का संदर्भ के साथ कुछ लेना-देना है, जैसे (a + 1)
पर्यावरण पर निर्भर करता है a
?
3