LXR Cross Referencer
ایل ایکس آر کراس ریفرنسر، جسے عام طور پر ایل ایکس آر کے نام سے جانا جاتا ہے، کوڈ کی فہم کے لیے ایک عام مقصد کا سورس کوڈ انڈیکس اور کراس ریفرنسر ہے جو کسی بھی شناخت کنندہ کی تعریف اور استعمال کے لنکس کے ساتھ سورس کوڈ کی ویب پر مبنی براؤزنگ فراہم کرتا ہے۔ تاریخ ایل ایکس آر اس کی ترقی کے دوران لینکس دانا پر مصنوعی نظر رکھنے کے لیے ایک ٹول کی ضرورت سے پیدا ہوا تھا (جہاں سے اس کا اصل نام: ایل ایکس آر "لینکس کراس ریفرنسر" کے لیے کھڑا تھا)۔ اس طرح کا ٹول اتنا ہی زیادہ ضروری ہے کیونکہ دستاویزات کی کمی ہے اور تعاون کرنے والوں کی تعداد زیادہ ہے۔ لینکس فن تعمیر کے بارے میں متجسس ناروے کے دو طلباء، آرن جارج گلیڈش اور پیر کرسچن جیرمس نے ایک چھوٹا سا پروگرام لکھنا شروع کیا جس میں اس کی فائلوں کو ویب براؤزر کے ذریعے دکھایا گیا اور نام پر کلک کرنے کے بعد متغیر استعمال دکھائے گئے۔ عام دلچسپی سے آگاہ، انہوں نے اسے تیزی سے سورس فورج پر پوسٹ کیا (1994 کے اوائل میں؟)۔ وقت گزرنے کے ساتھ، شائقین کوڈ کو مزید پختگی دینے کے لیے ڈویلپمنٹ ٹیم میں شامل ہو گئے ؛ تاہم ان کی تعداد کبھی بھی دس سے زیادہ نہیں ہوئی۔ ان خصوصیات کے ساتھ، ایل ایکس آر ایک عام سورس فورج کی میزبانی والا پروجیکٹ ہے لیکن چھوٹے منصوبوں میں ایک غیر معمولی زندگی کی مدت ظاہر کرتا ہے۔ ابتدائی تخلیق کاروں میں سے ایک نے ایل ایکس آر این جی اسپن آف دیتے ہوئے نئی ٹیکنالوجیز کی کھوج کی۔ یہ تجرباتی ترقی روایتی ورژن میں موجود تمام خصوصیات پر مشتمل نہیں ہے اور خاص طور پر ایل ایکس آر کے بنیادی اصولوں سے الگ ہے۔ اگرچہ ٹول کے ارد گرد واقعی کبھی کوئی بات چیت نہیں کی گئی تھی، لیکن ایل ایکس آر نے کچھ کاغذی کالموں کے ذریعے اپنا راستہ بنایا، جیسے۔ لینکس جرنل۔ تاہم، انٹرنیٹ پر ایل ایکس آر کے حوالے جمع کرتے وقت، خود ٹول اور انڈیکسڈ سورس کوڈ کو ظاہر کرنے والے ایل ایکس آر کی مثالوں کے درمیان ابہام ہوتا ہے (چونکہ بہت سی سائٹیں "لینکس کراس ریفرنسر" کے اپنے اصل معنی میں "ایل ایکس آر" کا استعمال کرتی ہیں)۔ موزیلا ایپلیکیشن سویٹ کے سورس کوڈ کو انڈیکس کرنے کے لیے ایل ایکس آر کو اپنانے کے بعد، موزیلا نے ایل ایکس آر کو ایم ایکس آر (موزیلا کراس ریفرنس) میں جوڑ دیا۔ ایم ایکس آر کو موزیلا کی ترقی کی ضروریات کو پورا کرنے کے لیے فورک کیا گیا تھا، یعنی مخلوط سی + + اور جاوا اسکرپٹ کوڈ بیس کی کوڈ نیویگیشن۔ کئی سالوں کے ایم ایکس آر کے استعمال کے بعد، موزیلا نے بہتر جامد تجزیہ اور متحرک ایجیکس یو آئی پر توجہ مرکوز کرتے ہوئے ایک نئے ٹول پر کام شروع کیا۔ نتیجہ ڈی ایکس آر (ڈی ہائیڈرا کراس ریفرنس) ہے۔ ڈی ایکس آر کے پختگی تک پہنچنے کے بعد، mxr.mozilla.org پر ایم ایکس آر مثال کو ختم کر دیا گیا۔ ٹیکنالوجی ایل ایکس آر کم سے کم ہے اور کم سے کم کوشش کے اصول پر عمل پیرا ہے۔ کم از کم کی طرف جان بوجھ کر تعصب بہت زیادہ مختلف ٹیکنالوجیز کے استعمال سے گریز کرتا ہے۔ اس طرح، یہ انحصار کو محدود کرتا ہے اور سافٹ ویئر کو خصوصی موافقت کے بغیر بہت سی ترتیبات کے ذریعے سپورٹ کیا جا سکتا ہے۔ ڈیزائن کے انتخاب میں تشریح شدہ زبانیں (جیسے جاوا یا جاوا اسکرپٹ) شامل ہیں جن میں پابندی یا سخت ایچ ٹی ایم ایل 4.51 مطابقت شامل ہے۔ کم سے کم کوشش کا اصول ٹول پروگرامنگ کی ممانعت کرتا ہے اگر یہ پہلے سے موجود ہے (کم از کم اوپن سورس کے طور پر)۔ اس کے نتیجے میں ڈسپلے کے لیے ویب براؤزر کا استعمال (ایچ ٹی ایم ایل اور سی ایس ایس فینسی پیج لے آؤٹ کی اجازت دیتے ہیں)، تعریفیں اور حوالہ جات دستیاب ریلیشنل ڈیٹا بیس میں محفوظ ہوتے ہیں اور ایکزوبرنٹ سی ٹیگز ٹول کے ساتھ فائل کی تجزیہ ہوتی ہے۔ ایل ایکس آر پرل میں لکھا جاتا ہے، جو سی جی آئی اسکرپٹ کے لیے آسان انتخاب ہے، لیکن لفظی یا نحو تجزیہ کے لیے واقعی موزوں نہیں ہے۔ ایل ایکس آر زیادہ سے زیادہ کم رکاوٹیں عائد کرنے کی کوشش کرتا ہے: کئی ڈیٹا بیس کے انتخاب: مائی ایس کیو ایل، پوسٹگری ایس کیو ایل، ایس کیو لائٹ یا اوریکل، گلیمپس اور سویش-ای کے درمیان مکمل ٹیکسٹ سرچ کے لیے انتخاب، ایچ ٹی ٹی پی سرور کے لیے مفت انتخاب بشرطیکہ یہ سی جی آئی اسکرپٹ کو انجام دے سکے (ہدایات اپاچی، چیروکی، لائٹ ٹی پی ڈی، نگنکس اور ٹی ٹی ٹی پی ڈی کے لیے دی گئی ہیں)، حقیقی ڈائرکٹری میں یا ورژن مینجمنٹ سسٹم کے ذخیرے میں محفوظ کردہ سورس فائل (سی وی ایس، گٹ، مرکیوریل اور سبورژن کے درمیان انتخاب)۔ استعمال سافٹ ویئر انسٹال کرنے کے بعد، جو کوئی معمولی کام نہیں ہے لیکن اس میں مہارت کی ضرورت نہیں ہے، سورس کوڈ کو پہلے سے پروسیس کیا جانا چاہیے اور اسے ظاہر کرنے کے لیے ایل ایکس آر کو ترتیب دیا جانا چاہیے۔ مختلف سورس کوڈ ورژن ذیلی ڈائریکٹریز کے طور پر نافذ کیے جاتے ہیں۔ ورژن مینجمنٹ سسٹم میں ایک متبادل سورس کوڈ اسٹور کرتا ہے۔ کوڈ کو دوسرے مرحلے کے دوران انڈیکس کیا جاتا ہے: شناخت کنندگان کو جمع کیا جاتا ہے اور ان کے مقامات کو ڈیٹا بیس میں درج کیا جاتا ہے۔ ری انڈیکسنگ صرف اس صورت میں ضروری ہے جب سورس کوڈ میں ترمیم کی جائے یا نیا ورژن شامل کیا جائے۔ اس کے بعد، صرف اتنا درکار ہے کہ سورس کوڈ سے مطابقت رکھنے والے یو آر ایل کے ساتھ ویب براؤزر لانچ کیا جائے اور شناخت کاروں سے وابستہ ہائپر لنکس کے ذریعے فائلوں میں نیویگیٹ کیا جائے۔ صلاحیتوں اور حدود ماخذ کوڈ کو کسی بھی زبان میں لکھا جا سکتا ہے جسے Exuberant ctags سنبھال سکتے ہیں، لیکن تجزیہ کار یکساں طور پر باریک نہیں ہوتے ہیں۔ ایک ہی فائل کے دو ورژن کا موازنہ شانہ بشانہ کیا جا سکتا ہے جس میں اختلافات کو بصری طور پر بڑھایا جا سکتا ہے (ایل ایکس آر کے ذریعے شروع کردہ ڈف کمانڈ کے ذریعے)۔ متغیرات کے تحت ہائپر لنکس کے علاوہ، ایک فارم صارف کے ذریعہ ٹائپ کردہ شناخت کنندہ کو تلاش کرنے کی اجازت دیتا ہے۔ انڈیکسنگ مرحلے کی حدود کے ارد گرد کام کرنے کے لیے، کسی بھی کردار کی ترتیب کو (مکمل متن) ایک وسیع ماخذ فائلوں کے ٹریورسل کی قیمت پر تلاش کیا جا سکتا ہے۔ ایل ایکس آر کی حدود سپورٹ ٹولز کی ہیں، خاص طور پر ایکسیوبرنٹ سی ٹیگز۔ لیکن مشکلات کی بنیادی وجہ بنیادی طور پر فائلوں تک غلط رسائی کی اجازتوں سے آتی ہے۔ ایک اور حد صرف جامد کوڈ تجزیہ کرنے کے لیے ڈیزائن کے انتخاب سے آتی ہے، دوسرے حلوں کے برعکس جو سیمنٹک تجزیہ کو مرتب کرنے کے مرحلے کے طور پر کرتے ہیں، ایک اعلی درجے کا صارف ایل ایکس آر ترتیب کو تبدیل کر سکتا ہے اور پیج ٹیمپلیٹس (ایچ ٹی ایم ایل میں لکھا ہوا) اور کیسکیڈنگ اسٹائل شیٹ (سی ایس ایس) کو حسب ضرورت بنا سکتا ہے۔ ایل ایکس آر کلیکشنز ایل ایکس آر خود لینکس کرنل براؤزنگ ایل ایکس آر (سابقہ "لینکس کراس ریفرنسر") (lxr.linux.no کے ذریعہ فراہم کردہ تجرباتی ایل ایکس آر این جی فورک چلا رہا ہے) لینکس کرنلز براؤزنگ (2017 تک ایک بہت پرانا ایل ایکس آر ورژن چلا رہا ہے) گلبک 2.2 اسی سائٹ سے کچھ دیگر ایل ایکس آر (آرکائیوز صرف ڈائرکٹری ڈھانچہ دکھاتے ہیں-مارچ 2016) موزیلا کراس ریفرنس، اپاچی ایچ ٹی ٹی پی ڈی کے لیے Mozilla.org ایل ایکس آر کے کئی منصوبوں کے لیے (آرکائیو صرف ڈائرکٹری ڈھانچہ دکھاتا ہے-مارچ 2016) کے ڈی ای کراس ریفرنس GNOME کراس ریفرنس (آرکائیو دستیاب نہیں-مارچ 2016) بھی دیکھیں۔