संकलक शुद्धता प्रमाण


20

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

वैकल्पिक रूप से, क्या आप कुछ सरल संकलक उदाहरणों के बारे में जानते हैं जिनका उपयोग मैं मुद्दों को चित्रित करने के लिए कर सकता हूं? (पहला उदाहरण जो मेरे साथ हुआ था, वह इन्फिक्स से पोस्टफिक्स एक्सप्रेशन के लिए एक अनुवादक था। लेकिन यह सिंटैक्स पर इंडक्शन करने के अलावा कुछ और दिलचस्प दिखाने में विफल रहा।)

जवाबों:


10

मुझे अच्छे ट्यूटोरियल सामग्री का पता नहीं है, लेकिन ऐसे पेपर हैं जो एक स्नातक छात्र (मेरे जैसे) के लिए पर्याप्त रूप से प्राथमिक हैं। पहला वह हो सकता है जिसे आप ढूंढ रहे हैं (जोर मेरा है)।

स्थैतिक विश्लेषण और कार्यक्रम परिवर्तनों , निक बेंटन के लिए सरल संबंधपरक शुद्धता प्रमाण । 2004।

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

ये कागज भी आपको रुचि दे सकते हैं। उन्होंने मेरी बहुत मदद की!

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

10

आपको अंकन को आधुनिक बनाने की आवश्यकता होगी, लेकिन अरिथमेटिक एक्सप्रेशंस के लिए एक संकलक के मैकार्थी और पेंटर की सहीता सरल और अच्छी है, और ऐतिहासिक रुचि की भी है (मेरे ज्ञान के सर्वश्रेष्ठ के बाद से यह इस विषय पर पहला पेपर है)।


7

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


1
वह बहुत अच्छा पेपर है।
नील कृष्णस्वामी

7

ग्राहम हटन ने अपनी पुस्तक "हास्केल में प्रोग्रामिंग" में एक छोटा सा उदाहरण दिया है जो शुरू करने के लिए एक शानदार जगह है।

मेरे पास अपनी पीएचडी के लिए की गई रिपोर्ट में मैककार्थी-पेंटर कंपाइलर के कुछ मैकेनाइज्ड सबूत (विभिन्न लॉजिक्स) भी हैं ।


7

शायद सबसे सरल उदाहरण नहीं है, लेकिन जेवियर लेरॉय ने इस क्षेत्र में बहुत काम किया है, जैसे कि औपचारिक रूप से सत्यापित कंपाइलर । उन्होंने एक छोटी अनिवार्य भाषा IMP का उपयोग करते हुए एक समर स्कूल प्रस्तुति दी , जो कि अधिक उन्नत कार्य के लिए एक सुलभ परिचय है।

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