Pugs (compiler)
پگ راکو پروگرامنگ زبان کے لیے ایک مرتب اور مترجم ہے، جس کا آغاز یکم فروری 2005 کو آڈری تانگ نے کیا تھا۔ (اس وقت راکو کو پرل 6 کے نام سے جانا جاتا تھا۔) پگ کی ترقی کو اب وقفے پر رکھا گیا ہے، راکو کے نفاذ کی زیادہ تر کوششیں اب راکوڈو پر ہو رہی ہیں۔ جائزہ پگ پروجیکٹ کا مقصد پرل 6 کی مکمل تفصیلات کو نافذ کرکے پرل 6 کو بوٹسٹریپ کرنا ہے، جیسا کہ خلاصہ میں تفصیل سے بتایا گیا ہے۔ یہ ہاسکل میں لکھا گیا ہے، خاص طور پر گلاسگو ہاسکل مرتب کو نشانہ بناتے ہوئے۔ پگ میں دو اہم قابل عمل شامل ہیں: پگ ایک انٹرایکٹو شیل والا مترجم ہے۔ پگسی سی پرل 6 پروگراموں کو ہاسکل کوڈ، پرل 5، جاوا اسکرپٹ، یا طوطے ورچوئل مشین کی پی آئی آر اسمبلی میں مرتب کر سکتا ہے۔ پگ ایک مفت سافٹ ویئر ہے، جو جی این یو جنرل پبلک لائسنس یا آرٹسٹک لائسنس کی شرائط کے تحت تقسیم کیا جا سکتا ہے۔ یہ وہی اصطلاحات ہیں جو پرل کی ہیں۔ ورژن نمبرنگ پگ کے بڑے/چھوٹے ورژن نمبر 2π میں ضم ہو جاتے ہیں (ٹیک اور میٹا فونٹ کی یاد دلاتے ہوئے، جو اسی طرح کی اسکیم استعمال کرتے ہیں) ؛ معمولی ورژن میں ہر اہم ہندسہ کامیابی سے مکمل ہونے والے سنگ میل کی نمائندگی کرتا ہے۔ ہر ریلیز کے لیے تیسرا ہندسہ بڑھایا جاتا ہے۔ موجودہ سنگ میل یہ ہیں: 6.0: ابتدائی ریلیز۔ 6. 2: بنیادی آئی او اور کنٹرول فلو عناصر ؛ متغیر متغیرات ؛ تفویض۔ 2. 28: کلاسیں اور خصلتیں۔ 6.283: قواعد اور گرامر۔ 6.2831: ٹائپ سسٹم اور لنکنگ۔ 6.28318: میکروس۔ 6.283185: اگر ضرورت ہو تو پگس کو پرل 6 میں پورٹ کریں۔ پرل 5 مطابقت ورژن 6.2.6 کے مطابق، پگ میں پرل 5 کو سرایت کرنے اور سسٹم پر نصب سی پی اے این ماڈیولز استعمال کرنے کی صلاحیت بھی ہے۔ نیچے دی گئی مثال ڈیٹا بیس کو منظم کرنے کے لیے مقبول پرل ڈی بی آئی ماڈیول کے استعمال کو ظاہر کرتی ہے: #!/usr/sin/پگ v6 کا استعمال کرتے ہیں ؛ perl5: DBI کا استعمال کرتے ہیں ؛ میرا $dbh = DBI.connect ('dbi: SQLite: dbname = test.db') ؛ $dbh.do ("CREATE TABLE ٹیسٹ (پروجیکٹ، پمپنگ)") ؛ میرا $sth = $dbh.prepare ("INSERT INTO ٹیسٹ ویلیوز (؟؟؟؟؟؟؟؟؟" ") ؛ $sth.execute (<PGE پیٹرک>) ؛ $sth.execute (<پگس آڈری>) ؛ $sth.execute (<طوطا لیو>) ؛ میرا $ریز = $dbh.selectall_hashref ('ٹیسٹ سے منتخب کریں'، 'پمپکنگ') ؛ #صرف ایک اور پگس ہیکر کہتا ہے کہ" صرف ایک اور $ریز <آڈری> <پروجیکٹ> ہیکر "؛ ترقیاتی ماڈل پگس کی پیشرفت کی وجوہات کے طور پر کئی عوامل تجویز کیے گئے ہیں: ہاسکل کی جامد ٹائپنگ پروگرام کی کیڑے کو مرتب کرنے کے وقت پتہ لگانا آسان بنا سکتی ہے۔ ہاسکل کوڈ کو بھی اکثر مختصر سمجھا جاتا ہے۔ پارسیک لائبریری، جو مکمل طور پر ہاسکل میں لکھا گیا ایک موناڈک مشترکہ تجزیہ کار ہے، تجزیہ کو آسان بناتا ہے۔ چونکہ ہاسکل ایک خالص طور پر فعال زبان ہے، اس لیے فعال کوڈ کو حقیقی دنیا (ان پٹ/آؤٹ پٹ اور وقت پر مبنی ماحول) کے ساتھ تعامل کرنے کے لیے سوچ کی ضرورت ہوتی ہے۔ اسے حاصل کرنے کے لیے، پگ موناڈ کا وسیع استعمال کرتے ہیں۔ پگ کا ٹیسٹ پر مبنی طریقہ کار کا استعمال (انتہائی پروگرامنگ کا ایک اصول)۔ یہ طریقہ کار یہ بتاتا ہے کہ ماڈیولز کے نافذ ہونے سے پہلے ہی ہر ماڈیول میں ٹیسٹ کوڈ ہونا چاہیے۔ اس طریقہ کار کے وکلاء کا کہنا ہے کہ یہ سافٹ ویئر کے معیار کو بہتر بناتا ہے۔ تاہم، اس پروجیکٹ نے اکثر ریلیز سے پہلے ناکام رجعت ٹیسٹوں کو خاموش کر دیا، جس سے ٹیسٹ پر مبنی ترقی کے زیادہ تر فوائد ختم ہو گئے۔ تانگ کی لبرل گرانٹنگ آف دی کمٹ بٹ۔ پگ کی ترقی فی الحال سبورژن ریپوزیٹری کے ارد گرد مبنی ہے، اور رسائی آزادانہ طور پر دی جاتی ہے-خاص طور پر ان لوگوں کے لیے جو ٹیسٹ لکھنا چاہتے ہیں۔ اس کی وجہ سے ٹیسٹوں کی ایک بہت بڑی لائبریری جمع ہو گئی ہے۔ دیگر پرل 6 نفاذ پرل 6 کے لیے قابل عمل تفصیلات کے طور پر پگ کے لیے تیار کردہ بہت سے ٹیسٹوں پر انحصار کرتے ہیں۔ تانگ کا مواصلاتی انداز ؛ اس کا جریدہ (نیچے منسلک) نے بہت سے لوگوں کو اس منصوبے کی طرف راغب کیا۔ ان عوامل کے باوجود، ہاسکل کے نفاذ پر پیش رفت 2006 کے آخر میں رک گئی، کیونکہ ذاتی مسائل نے آڈری کو اس منصوبے کے لیے اتنا وقت دینے سے روک دیا جتنا 2005 میں تھا۔ اس کے بعد سے بہت سے پگ شراکت دار پرل 5 پر سی پی اے این ماڈیولز کے طور پر پرل 6 سے متاثر نظام کو نافذ کرنے کے لیے آگے بڑھے ہیں، جیسے کہ موز پروجیکٹ۔ حوالہ جات بیرونی لنکس pugscode.org-پگز ہوم پیج پگز جرنل-افیون: آپٹیمائزنگ فار فن پرل 6:: پگز آن سی پی اے این کوڈوز فرام پرل 6 ڈیزائن ٹیم راکو (پروگرامنگ زبان) مفت مرتب اور ترجمان ہاسکل میں پروگرام کردہ مفت سافٹ ویئر