سیاق و سباق سے پاک زبان رسمی زبان کی ایک قسم ہے جسے سیاق و سباق سے پاک گرامر کا استعمال کرتے ہوئے بیان کیا جاسکتا ہے۔ کمپیوٹیشنل پیچیدگی تھیوری کے میدان میں، سیاق و سباق سے پاک زبانیں مسائل کی پیچیدگی اور کمپیوٹیشن کی حدود کو سمجھنے میں اہم کردار ادا کرتی ہیں۔ سیاق و سباق سے پاک زبان کے تصور کو مکمل طور پر سمجھنے کے لیے، اس کی تعریف اور سیاق و سباق سے پاک گرامر کے اجزاء کو تلاش کرنا ضروری ہے۔
سیاق و سباق سے پاک زبان کو تاروں کے ایک سیٹ کے طور پر بیان کیا جاتا ہے جو سیاق و سباق سے پاک گرامر کے ذریعہ تیار کیا جاسکتا ہے۔ سیاق و سباق سے پاک گرامر چار اجزاء پر مشتمل ہوتا ہے: غیر ٹرمینل علامتوں کا ایک مجموعہ، ٹرمینل علامتوں کا ایک مجموعہ، پیداواری اصولوں کا ایک مجموعہ، اور ایک آغاز کی علامت۔
غیر ٹرمینل علامتیں تجریدی ہستیوں کی نمائندگی کرتی ہیں جنہیں مزید توسیع یا دوسری علامتوں سے تبدیل کیا جا سکتا ہے۔ یہ علامتیں عام طور پر بڑے حروف سے ظاہر ہوتی ہیں۔ مثال کے طور پر، ریاضی کے اظہار کے لیے سیاق و سباق سے پاک گرامر میں، ہمارے پاس غیر ٹرمینل علامتیں ہو سکتی ہیں جیسے E (اظہار کی نمائندگی کرنا)، T (ایک اصطلاح کی نمائندگی کرنا) اور F (عنصر کی نمائندگی کرنا)۔
دوسری طرف ٹرمینل علامتیں زبان کی ابتدائی اکائیاں ہیں۔ ان علامتوں کو مزید پھیلایا نہیں جا سکتا ہے اور عام طور پر چھوٹے حروف یا دوسرے حروف سے ظاہر ہوتے ہیں۔ ریاضی کے اظہار کے تناظر میں، ٹرمینل علامتوں میں اعداد (مثلاً، 0، 1، 2) اور ریاضی کے آپریٹرز (مثال کے طور پر، +، -، *، /) شامل ہو سکتے ہیں۔
پیداواری اصول اس بات کی وضاحت کرتے ہیں کہ غیر ٹرمینل علامتوں کو کس طرح بڑھایا جا سکتا ہے یا دوسری علامتوں سے تبدیل کیا جا سکتا ہے۔ ہر پروڈکشن قاعدہ بائیں طرف ایک غیر ٹرمینل علامت اور دائیں طرف علامتوں کی ایک ترتیب (غیر ٹرمینل اور ٹرمینل دونوں) پر مشتمل ہوتا ہے۔ یہ اصول ان ممکنہ تبدیلیوں یا اخذات کی وضاحت کرتے ہیں جن کا اطلاق زبان میں درست سٹرنگ بنانے کے لیے کیا جا سکتا ہے۔ مثال کے طور پر، ریاضی کے تاثرات کے لیے سیاق و سباق سے پاک گرائمر میں، ہمارے پاس پیداواری اصول ہو سکتے ہیں جیسے E -> E + T (یہ بتاتا ہے کہ کسی اصطلاح کو شامل کر کے اظہار کو بڑھایا جا سکتا ہے) یا T -> F (یہ بتاتا ہے کہ ایک اصطلاح ہو سکتی ہے۔ ایک عنصر کی طرف سے تبدیل کیا جاتا ہے).
شروعاتی علامت ابتدائی غیر ٹرمینل علامت کی نمائندگی کرتی ہے جہاں سے درست تاروں کی نسل شروع ہوتی ہے۔ اسے عام طور پر S سے ظاہر کیا جاتا ہے۔ ریاضی کے تاثرات کے تناظر میں، شروعاتی علامت E ہو سکتی ہے، جو اس بات کی نشاندہی کرتی ہے کہ درست اظہار کی تخلیق کسی اظہار سے شروع ہوتی ہے۔
سیاق و سباق سے پاک زبان کے تصور اور اس کے اجزاء کو واضح کرنے کے لیے، آئیے ایک ایسی زبان کے لیے ایک سادہ سیاق و سباق سے پاک گرامر پر غور کریں جو متوازن قوسین پیدا کرتی ہے۔ گرامر مندرجہ ذیل اجزاء پر مشتمل ہے:
غیر ٹرمینل علامتیں: S (شروع کی علامت)
ٹرمینل علامات: ( )
پیداوار کے قوانین: S -> (S) | ایس ایس | ε (جہاں ε خالی تار کی نمائندگی کرتا ہے)
اس گرامر میں، غیر ٹرمینل علامت S متوازن قوسین کی ایک تار کی نمائندگی کرتی ہے۔ پیداواری اصول بتاتے ہیں کہ قوسین (S) کے اندر ایک اور S کو بند کر کے، دو S's (SS) کو جوڑ کر، یا خالی سٹرنگ (ε) بنا کر S کو بڑھایا جا سکتا ہے۔
اس گرامر کا استعمال کرتے ہوئے، ہم متوازن قوسین کی زبان میں درست تاریں بنا سکتے ہیں۔ مثال کے طور پر، آغاز کی علامت S سے شروع کرتے ہوئے، ہم سٹرنگ ((())) اخذ کرنے کے لیے پیداواری اصول لاگو کر سکتے ہیں۔ یہ تار متوازن قوسین کی ترتیب کی نمائندگی کرتا ہے۔
سیاق و سباق سے پاک زبان کو تاروں کے ایک سیٹ کے طور پر بیان کیا جاتا ہے جو سیاق و سباق سے پاک گرامر کے ذریعہ تیار کیا جاسکتا ہے۔ سیاق و سباق سے پاک گرائمر کے اجزاء میں غیر ٹرمینل علامتیں، ٹرمینل علامتیں، پیداوار کے قواعد، اور آغاز کی علامت شامل ہیں۔ غیر ٹرمینل علامتیں تجریدی ہستیوں کی نمائندگی کرتی ہیں جنہیں بڑھایا یا تبدیل کیا جا سکتا ہے، جبکہ ٹرمینل علامتیں زبان کی ابتدائی اکائیاں ہیں۔ پیداوار کے اصول ممکنہ تبدیلیوں یا اخذات کی وضاحت کرتے ہیں، اور شروعاتی علامت درست تاریں پیدا کرنے کے لیے ابتدائی غیر ٹرمینل علامت کی نمائندگی کرتی ہے۔
سے متعلق دیگر حالیہ سوالات اور جوابات حساس حساس زبانیں:
- اس کا کیا مطلب ہے کہ ایک زبان دوسری زبان سے زیادہ طاقتور ہے؟
- کیا چومسکی کی گرامر نارمل شکل ہمیشہ فیصلہ کن ہوتی ہے؟
- کیا ٹائپ 0 کو پہچاننے کے موجودہ طریقے ہیں؟ کیا ہم توقع کرتے ہیں کہ کوانٹم کمپیوٹرز اسے قابل عمل بنائیں گے؟
- زبان D کی مثال میں، S = 0^P 1^P 0^P 1^P کے لیے پمپنگ پراپرٹی کیوں نہیں رکھتی؟
- پمپنگ لیما لگانے کے لیے سٹرنگ کو تقسیم کرتے وقت کن دو صورتوں پر غور کرنا چاہیے؟
- زبان B کی مثال میں، پمپنگ پراپرٹی سٹرنگ a^Pb^Pc^P کے لیے کیوں نہیں رکھتی؟
- پمپنگ پراپرٹی کو رکھنے کے لیے کن شرائط کو پورا کرنے کی ضرورت ہے؟
- CFLs کے لیے پمپنگ لیما کو یہ ثابت کرنے کے لیے کیسے استعمال کیا جا سکتا ہے کہ کوئی زبان سیاق و سباق سے پاک نہیں ہے؟
- سیاق و سباق سے پاک زبانوں کے لیے پمپنگ لیما کے مطابق سیاق و سباق سے پاک سمجھے جانے کے لیے وہ کون سی شرائط ہیں جن کا پورا ہونا ضروری ہے؟
- سیاق و سباق سے پاک گرامر کے سیاق و سباق میں تکرار کے تصور کی وضاحت کریں اور یہ کہ یہ کس طرح لمبی تاروں کی تخلیق کی اجازت دیتا ہے۔
سیاق و سباق کی حساس زبانوں میں مزید سوالات اور جوابات دیکھیں