Pugs (compiler)
पग्स राकू प्रोग्रामिंग भाषा के लिए एक संकलक और दुभाषिया है, जिसे 1 फरवरी 2005 को ऑड्रे टैंग द्वारा शुरू किया गया था। (उस समय, राकू को पर्ल 6 के नाम से जाना जाता था।) पग्स के विकास को अब विराम पर रखा गया है, अब राकुडो पर अधिकांश राकु कार्यान्वयन प्रयास किए जा रहे हैं। अवलोकन पग्स परियोजना का उद्देश्य पूर्ण पर्ल 6 विनिर्देश को लागू करके पर्ल 6 को बूटस्ट्रैप करना था, जैसा कि सारांश में विस्तृत है। यह हास्केल में लिखा गया है, विशेष रूप से ग्लासगो हास्केल संकलक को लक्षित करते हुए। पग्स में दो मुख्य निष्पादन शामिल हैंः पग्स एक इंटरैक्टिव शेल वाला दुभाषिया है। पग्ससी पर्ल 6 प्रोग्रामों को हास्केल कोड, पर्ल 5, जावास्क्रिप्ट, या तोता आभासी मशीन की पी. आई. आर. असेंबली में संकलित कर सकता है। पग्स एक मुफ्त सॉफ्टवेयर है, जिसे जीएनयू जनरल पब्लिक लाइसेंस या आर्टिस्टिक लाइसेंस की शर्तों के तहत वितरित किया जा सकता है। ये पर्ल के समान शब्द हैं। संस्करण संख्या पग्स की प्रमुख/लघु संस्करण संख्या 2π में परिवर्तित हो जाती है (जो टेक्स और मेटाफोंट की याद दिलाती है, जो एक समान योजना का उपयोग करती है); लघु संस्करण में प्रत्येक महत्वपूर्ण अंक सफलतापूर्वक पूरा किए गए मील के पत्थर का प्रतिनिधित्व करता है। प्रत्येक रिलीज के लिए तीसरा अंक बढ़ाया जाता है। वर्तमान मील के पत्थर हैंः 6.0: प्रारंभिक रिलीज। 2. 2: बुनियादी आई. ओ. और नियंत्रण प्रवाह तत्व; परिवर्तनशील चर; कार्य। 6.28: वर्ग और लक्षण। 6.283: नियम और व्याकरण। 6.2831: सिस्टम टाइप करें और लिंक करें। 6.28318: मैक्रो। 6.283185: यदि आवश्यक हो तो पग्स को पर्ल 6 में पोर्ट करें। पर्ल 5 संगतता संस्करण 6.2.6 के रूप में, पग्स में पर्ल 5 को एम्बेड करने और सिस्टम पर स्थापित सी. पी. ए. एन. मॉड्यूल का उपयोग करने की क्षमता भी है। नीचे दिया गया उदाहरण डेटाबेस को प्रबंधित करने के लिए लोकप्रिय पर्ल डी. बी. आई. मॉड्यूल के उपयोग को दर्शाता हैः #!/यू. एस. आर./बिन/पग्स वी6 का उपयोग करते हैं; पर्ल5: डी. बी. आई. का उपयोग करते हैं; मेरा $डी. बी. एच. = DBI.connect ('डी. बी. आई.: एस. क्यू. एल. आई. टी.: डी. बी. एन. एम. = test.db'); $dbh.do ("क्रिएट टेबल टेस्ट (प्रोजेक्ट, पम्पिंग)"); मेरा $एस. टी. एच. = $dbh.prepare ("आई. एन. एस. ई. आर. टी. आई. एन. टी. ओ. टेस्ट वैल्यूज़ (???????????????? ) "); $sth.execute (<PGE पैट्रिक>); $sth.execute (<पग्स ऑड्रे>); $sth.execute (<तोता लियो>); मेरा $रेस = $dbh.selectall_hashref ('सेलेक्ट * फ्रॉम टेस्ट', 'पम्पकिंग'); #बस एक और पग्स हैकर कहता है" बस एक और $रेस <ऑड्रे> <प्रोजेक्ट> हैकर "; विकास मॉडल पग्स की प्रगति के कारणों के रूप में कई कारकों का सुझाव दिया गया हैः हास्केल की स्थिर टाइपिंग प्रोग्राम बग का संकलन समय पर पता लगाना आसान बना सकती है। हास्केल कोड को भी अक्सर संक्षिप्त माना जाता है। पार्सेक पुस्तकालय, पूरी तरह से हास्केल में लिखा गया एक monadic संयोजक पार्सर, पार्सिंग को सरल बनाता है। क्योंकि हास्केल एक विशुद्ध रूप से कार्यात्मक भाषा है, कार्यात्मक कोड को वास्तविक दुनिया (इनपुट/आउटपुट और समय-संचालित वातावरण) के साथ बातचीत करने के लिए विचार की आवश्यकता होती है। इसे प्राप्त करने के लिए, पग्स मोनाड का व्यापक उपयोग करता है। पग्स द्वारा परीक्षण-संचालित पद्धति का उपयोग (चरम प्रोग्रामिंग का एक सिद्धांत)। यह कार्यप्रणाली निर्धारित करती है कि प्रत्येक मॉड्यूल में परीक्षण कोड होना चाहिए, मॉड्यूल के लागू होने से पहले भी। इस पद्धति के अधिवक्ताओं का तर्क है कि यह सॉफ्टवेयर की गुणवत्ता में सुधार करता है। हालाँकि, परियोजना अक्सर रिलीज़ से पहले असफल प्रतिगमन परीक्षणों को चुप कर देती थी, जिससे परीक्षण-संचालित विकास के अधिकांश लाभ को हटा दिया जाता था। टैंग की उदार स्वीकृति। पग्स विकास वर्तमान में एक सबवर्जन रिपॉजिटरी के आसपास आधारित है, और पहुंच स्वतंत्र रूप से दी जाती है-विशेष रूप से परीक्षण लिखने के इच्छुक लोगों के लिए। इस वजह से, परीक्षणों का एक विशाल पुस्तकालय जमा हो गया है। पर्ल 6 के अन्य कार्यान्वयन पर्ल 6 के निष्पादन योग्य विनिर्देश के रूप में पग्स के लिए विकसित कई परीक्षणों पर निर्भर करते हैं। तांग की संचार शैली; उनकी पत्रिका (नीचे लिंक की गई) ने कई लोगों को इस परियोजना की ओर आकर्षित किया। इन कारकों के बावजूद, हास्केल कार्यान्वयन पर प्रगति 2006 के अंत में रुक गई, क्योंकि व्यक्तिगत मुद्दों ने ऑड्रे को परियोजना के लिए उतना समय देने से रोक दिया जितना 2005 में था। कई पग्स योगदानकर्ता तब से पर्ल 5 पर सी. पी. ए. एन. मॉड्यूल के रूप में पर्ल 6-प्रेरित प्रणालियों को लागू करने के लिए आगे बढ़े हैं, जैसे कि मूस परियोजना। संदर्भ बाहरी लिंक pugscode.org-पग्स होमपेज पग्स जर्नल-ओफ़नः फन पर्ल के लिए अनुकूलन 6: पर्ल 6 डिज़ाइन टीम राकू (प्रोग्रामिंग भाषा) से सी. पी. ए. एन. पर पग्स मुफ्त संकलक और दुभाषिया हास्केल में प्रोग्राम किए गए मुफ्त सॉफ्टवेयर