Integer literal
کمپیوٹر سائنس میں، انٹیجر لیٹرل ایک انٹیجر کے لیے ایک قسم کا لیٹرل ہوتا ہے جس کی قیمت براہ راست سورس کوڈ میں ظاہر ہوتی ہے۔ مثال کے طور پر، اسائنمنٹ سٹیٹمنٹ x = 1 میں، سٹرنگ 1 ایک انٹیجر لیٹرل ہے جو ویلیو 1 کی نشاندہی کرتا ہے، جبکہ سٹیٹمنٹ x = 0x10 میں سٹرنگ 0x10 ایک انٹیجر لیٹرل ہے جو ویلیو 16 کی نشاندہی کرتا ہے، جس کی نمائندگی ہیکساڈیسیمل میں 10 سے ہوتی ہے (0x پریفیکس سے ظاہر ہوتا ہے)۔ اس کے برعکس، x = cos (0) میں، اظہار cos (0) کا اندازہ 1 (0 کی کوسائن کے طور پر) ہوتا ہے، لیکن ویلیو 1 لفظی طور پر سورس کوڈ میں شامل نہیں ہے۔ مزید آسانی سے، x = 2 + 2 میں، اظہار 2 + 2 کا اندازہ 4 سے ہوتا ہے، لیکن قدر 4 لفظی طور پر شامل نہیں ہے۔ مزید برآں، x = "1" میں "1" ایک سٹرنگ لیٹرل ہے، انٹیجر لیٹرل نہیں، کیونکہ یہ کوٹس میں ہے۔ سٹرنگ کی قیمت 1 ہے، جو ایک انٹیجر سٹرنگ ہوتی ہے، لیکن یہ سٹرنگ کا لفظی تجزیہ ہے-نحو کی سطح پر "1" محض ایک سٹرنگ ہے، جو "فو" سے مختلف نہیں ہے۔ کسی سٹرنگ (سورس کوڈ میں حروف کی ترتیب) کو انٹیجر لیٹرل کے طور پر تسلیم کرنا لیکسیکل تجزیہ (لیکسنگ) مرحلے کا حصہ ہے، جبکہ لیٹرل کو اس کی قیمت کا اندازہ لگانا سیمنٹک تجزیہ مرحلے کا حصہ ہے۔ لیکسر اور فقرے کے گرائمر کے اندر، ٹوکن کلاس کو اکثر انٹیجر سے ظاہر کیا جاتا ہے، جس میں چھوٹے حروف کے ساتھ لیکسیکل سطح کے ٹوکن کلاس کی نشاندہی کی جاتی ہے، جیسا کہ فقرے کی سطح کے پروڈکشن رول (جیسے لسٹ آف انٹیجرز) کے برخلاف ہے۔ ایک بار جب کسی سٹرنگ کو انٹیجر لیٹرل کے طور پر لیکس (ٹوکنائزڈ) کیا جاتا ہے، تو اس کی قیمت کا تعین نحو طور پر نہیں کیا جا سکتا (یہ صرف ایک انٹیجر ہے)، اور اس کی قیمت کی تشخیص ایک بامعنی سوال بن جاتا ہے۔ انٹیجر لیٹرلز کو عام طور پر باقاعدہ تاثرات کے ساتھ لکھا جاتا ہے، جیسا کہ ازگر میں ہوتا ہے۔ تشخیص دیگر لفظی الفاظ کی طرح، انٹیجر لیٹرلز کا اندازہ عام طور پر مرتب کرنے کے وقت کیا جاتا ہے، معنی تجزیہ مرحلے کے حصے کے طور پر۔ بعض صورتوں میں یہ لفظی تجزیہ لیکسر میں کیا جاتا ہے، فوری طور پر ایک انٹیجر لیٹرل کی شناخت پر، جبکہ دیگر صورتوں میں اسے تجزیہ کے مرحلے تک، یا پارس ٹری کے مکمل طور پر تعمیر ہونے تک موخر کر دیا جاتا ہے۔ مثال کے طور پر، سٹرنگ 0x10 کو پہچاننے پر لیکسر فوری طور پر اس کا اندازہ 16 پر کر سکتا ہے اور اسے (ٹائپ انٹیجر اور ویلیو 16 کا ٹوکن) محفوظ کر سکتا ہے، یا تشخیص کو موخر کر سکتا ہے اور اس کے بجائے ٹائپ انٹیجر اور ویلیو 0x10 کا ٹوکن ریکارڈ کر سکتا ہے۔ ایک بار لفظی کا جائزہ لینے کے بعد، مستقل فولڈنگ کی شکل میں مزید لفظی تجزیہ ممکن ہے، جس کا مطلب ہے کہ لفظی اقدار پر مشتمل لفظی تاثرات کا مرتب مرحلے میں جائزہ لیا جا سکتا ہے۔ مثال کے طور پر، بیان x = 2 + 2 میں لفظی کا جائزہ لینے کے بعد اور اظہار 2 + 2 کو تجزیہ کرنے کے بعد، اس کا اندازہ 4 سے کیا جا سکتا ہے، حالانکہ قیمت 4 خود لفظی طور پر ظاہر نہیں ہوتی ہے۔ افیکس انٹیجر لٹریلز میں اکثر بیس کی نشاندہی کرنے والے سابقہ ہوتے ہیں، اور کم کثرت سے لاحقہ قسم کی نشاندہی کرتے ہیں۔ مثال کے طور پر، C + + 0x10ULL میں قیمت 16 (کیونکہ ہیکساڈیسیمل) کو غیر دستخط شدہ طویل عدد کے طور پر ظاہر کرتا ہے۔ عام سابقہ میں شامل ہیں: ہیکساڈیسیمل (بیس 16) کے لیے 0x یا 0X ؛ آکٹل (بیس 8) کے لیے 0، 0o یا 0O ؛ بائنری (بیس 2) کے لیے 0b یا 0B۔ عام لاحقہ جات میں شامل ہیں: طویل عدد کے لیے l یا L ؛ طویل طویل عدد کے لیے ll یا LL ؛ غیر دستخط شدہ عدد کے لیے u یا U۔ یہ افیکس کچھ حد تک سگلز سے ملتے جلتے ہیں، حالانکہ سگلز شناخت کاروں (ناموں) سے منسلک ہوتے ہیں، لفظی نہیں۔ ہندسوں کے جداکار کچھ زبانوں میں، انٹیجر لیٹرلز میں ہندسوں کے جداکار ہو سکتے ہیں تاکہ ہندسوں کو مزید پڑھنے کے قابل شکلوں میں گروپ کرنے کی اجازت دی جا سکے۔ اگر یہ دستیاب ہے، تو یہ عام طور پر فلوٹنگ پوائنٹ لیٹرلز کے لیے بھی کیا جا سکتا ہے۔ یہ خاص طور پر بٹ فیلڈز کے لیے مفید ہے اور ہندسوں کو گننے کے بجائے ذیلی شکل دے کر بڑی تعداد (جیسے ایک ملین) کے سائز کو ایک نظر میں دیکھنا آسان بناتا ہے۔ یہ ان نمبروں کے لیے بھی مفید ہے جو عام طور پر گروپ کیے جاتے ہیں، جیسے کریڈٹ کارڈ نمبر یا سوشل سیکیورٹی نمبر۔ بہت لمبی تعداد کو علیحدگی کاروں کو دوگنا کرکے مزید گروپ کیا جا سکتا ہے۔ عام طور پر اعشاریہ نمبروں (بیس-10) کو تین ہندسوں کے گروپوں میں تقسیم کیا جاتا ہے (جو 1000 ممکنہ اقدار میں سے ایک کی نمائندگی کرتا ہے)، بائنری نمبروں (بیس-2) کو چار ہندسوں کے گروپوں میں (ایک نبل، جو 16 ممکنہ اقدار میں سے ایک کی نمائندگی کرتا ہے)، اور ہیکساڈیسیمل نمبروں (بیس-16) کو دو ہندسوں کے گروپوں میں (ہر ہندسہ ایک نبل ہے، اس لیے دو ہندسوں میں ایک بائٹ ہوتا ہے، جو 256 ممکنہ اقدار میں سے ایک کی نمائندگی کرتا ہے)۔ دوسرے نظاموں کے نمبروں (جیسے آئی ڈی نمبروں) کو جو بھی روایت استعمال میں ہے اس کے بعد گروپ کیا جاتا ہے۔ مثالوں میں اڈا، سی #(ورژن 7 سے)، ڈی، ایفل، گو (ورژن 1.13 سے)، ہاسکل (جی ایچ سی ورژن 8.6.1 سے)، جاوا (ورژن 7 سے)، جولیا، پرل، ازگر (ورژن 3.6 سے)، روبی، رسٹ اور سوئفٹ، انٹیجر لٹریلز اور فلوٹ لٹریلز کو انڈر اسکور (_) سے الگ کیا جا سکتا ہے۔ پلیسمنٹ پر کچھ پابندیاں ہو سکتی ہیں ؛ مثال کے طور پر، جاوا میں وہ لفظی کے شروع یا آخر میں ظاہر نہیں ہو سکتے، اور نہ ہی اعشاریہ نقطہ کے ساتھ۔ نوٹ کریں کہ جب کہ پیریڈ، کوما، اور (پتلی) خالی جگہیں عام تحریر میں ہندسوں کی علیحدگی کے لیے استعمال کی جاتی ہیں، یہ پروگرامنگ زبانوں میں ریڈکس پوائنٹ، لسٹ سیپریٹر (اور سی/سی + + میں، کوما آپریٹر)، اور ٹوکن سیپریٹر کے طور پر ان کے موجودہ استعمال سے متصادم ہیں۔ مثالوں میں شامل ہیں: انٹ ون ملین = 1 _ 000 _ 000 ؛ انٹ کریڈٹ کارڈ نمبر = 1234 _ 5678 _ 9012 _ 3456 ؛ انٹ سوشل سیکیورٹی نمبر = 123 _ 45 _ 6789 ؛ سی + + 14 (2014) اور سی، سی 23 کے اگلے ورژن میں، اپوسٹروفی کردار کو عددی لفظی طور پر من مانی طور پر ہندسوں کو الگ کرنے کے لیے استعمال کیا جا سکتا ہے۔ انڈر اسکور ابتدائی طور پر تجویز کیا گیا تھا، 1993 میں ابتدائی تجویز کے ساتھ، اور پھر سی + + 11 کے لیے، دوسری زبانوں کے بعد۔ تاہم، اس کی وجہ سے صارف کے بیان کردہ لفظی الفاظ کے ساتھ تنازعہ پیدا ہوا، لہذا اس کے بجائے "اپر کوما" (جو کچھ دوسرے سیاق و سباق میں استعمال ہوتا ہے) کے طور پر اپوسٹروف کی تجویز پیش کی گئی۔ آٹو انٹیجر _ لیٹرل = 1'000'000 ؛ آٹو بائنری _ لیٹرل = 0b 0100'1100'0110 ؛ آٹو بہت _ لمبا _ بائنری _ لیٹرل = 0b 0000'0001'0010 '0011 "0100'0101'0110' 0111 ؛ نوٹ حوالہ جات لیٹرل سورس کوڈ