சூழல்-இலவச மொழி என்பது சூழல்-இலவச இலக்கணத்தைப் பயன்படுத்தி விவரிக்கக்கூடிய ஒரு வகை முறையான மொழியாகும். கணக்கீட்டு சிக்கலான கோட்பாட்டின் துறையில், சிக்கல்களின் சிக்கலான தன்மை மற்றும் கணக்கீட்டின் வரம்புகளைப் புரிந்துகொள்வதில் சூழல் இல்லாத மொழிகள் முக்கிய பங்கு வகிக்கின்றன. சூழல் இல்லாத மொழியின் கருத்தை முழுமையாகப் புரிந்துகொள்ள, அதன் வரையறை மற்றும் சூழல் இல்லாத இலக்கணத்தின் கூறுகளை ஆராய்வது அவசியம்.
சூழல்-இலவச மொழி என்பது சூழல்-இலவச இலக்கணத்தால் உருவாக்கக்கூடிய சரங்களின் தொகுப்பாக வரையறுக்கப்படுகிறது. சூழல் இல்லாத இலக்கணம் நான்கு கூறுகளைக் கொண்டுள்ளது: முனையமற்ற குறியீடுகளின் தொகுப்பு, முனையக் குறியீடுகளின் தொகுப்பு, உற்பத்தி விதிகளின் தொகுப்பு மற்றும் தொடக்கக் குறியீடு.
முனையமற்ற குறியீடுகள் சுருக்கமான நிறுவனங்களைக் குறிக்கின்றன, அவை மேலும் விரிவாக்கப்படலாம் அல்லது பிற குறியீடுகளால் மாற்றப்படலாம். இந்த குறியீடுகள் பொதுவாக பெரிய எழுத்துக்களால் குறிக்கப்படுகின்றன. எடுத்துக்காட்டாக, எண்கணித வெளிப்பாடுகளுக்கான சூழல் இல்லாத இலக்கணத்தில், E (ஒரு வெளிப்பாட்டைக் குறிக்கும்), T (ஒரு சொல்லைக் குறிக்கும்) மற்றும் F (ஒரு காரணியைக் குறிக்கும்) போன்ற முனையமற்ற குறியீடுகள் இருக்கலாம்.
மறுபுறம், முனைய குறியீடுகள் மொழியின் அடிப்படை அலகுகள். இந்த குறியீடுகளை மேலும் விரிவுபடுத்த முடியாது மற்றும் பொதுவாக சிறிய எழுத்துக்கள் அல்லது பிற எழுத்துக்களால் குறிப்பிடப்படுகின்றன. எண்கணித வெளிப்பாடுகளின் சூழலில், முனையக் குறியீடுகளில் எண்கள் (எ.கா., 0, 1, 2) மற்றும் எண்கணித ஆபரேட்டர்கள் (எ.கா., +, -, *, /) இருக்கலாம்.
உற்பத்தி விதிகள் டெர்மினல் அல்லாத சின்னங்களை எவ்வாறு விரிவாக்கலாம் அல்லது பிற குறியீடுகளால் மாற்றலாம் என்பதை வரையறுக்கிறது. ஒவ்வொரு உற்பத்தி விதியும் இடது புறத்தில் முனையமற்ற சின்னத்தையும் வலது புறத்தில் குறியீடுகளின் வரிசையையும் (முனையம் அல்லாத மற்றும் முனையம் இரண்டும்) கொண்டுள்ளது. இந்த விதிகள் மொழியில் செல்லுபடியாகும் சரங்களை உருவாக்கப் பயன்படுத்தக்கூடிய சாத்தியமான மாற்றங்கள் அல்லது வழித்தோன்றல்களைக் குறிப்பிடுகின்றன. எடுத்துக்காட்டாக, எண்கணித வெளிப்பாடுகளுக்கான சூழல்-இல்லாத இலக்கணத்தில், E -> E + T (ஒரு சொல்லைச் சேர்ப்பதன் மூலம் ஒரு வெளிப்பாட்டை விரிவாக்க முடியும் என்பதைக் குறிக்கிறது) அல்லது T -> F (ஒரு சொல் இருக்கலாம் என்பதைக் குறிக்கிறது) போன்ற உற்பத்தி விதிகள் இருக்கலாம். ஒரு காரணி மூலம் மாற்றப்பட்டது).
தொடக்கக் குறியீடு, செல்லுபடியாகும் சரங்களின் உருவாக்கம் தொடங்கும் ஆரம்ப முனையமற்ற குறியீட்டைக் குறிக்கிறது. இது பொதுவாக S ஆல் குறிக்கப்படுகிறது. எண்கணித வெளிப்பாடுகளின் சூழலில், தொடக்கக் குறியீடு E ஆக இருக்கலாம், இது சரியான வெளிப்பாடுகளின் உருவாக்கம் ஒரு வெளிப்பாட்டிலிருந்து தொடங்குகிறது என்பதைக் குறிக்கிறது.
சூழல்-இலவச மொழி மற்றும் அதன் கூறுகளின் கருத்தை விளக்குவதற்கு, சமச்சீர் அடைப்புக்குறிகளை உருவாக்கும் ஒரு மொழிக்கான எளிய சூழல்-இலவச இலக்கணத்தைக் கருத்தில் கொள்வோம். இலக்கணம் பின்வரும் கூறுகளைக் கொண்டுள்ளது:
முனையமற்ற சின்னங்கள்: எஸ் (தொடக்க சின்னம்)
டெர்மினல் சின்னங்கள்: (, )
உற்பத்தி விதிகள்: S -> (S) | SS | ε (இங்கு ε வெற்று சரத்தை குறிக்கிறது)
இந்த இலக்கணத்தில், முனையமற்ற குறியீடு S என்பது சமநிலை அடைப்புக்குறிகளின் சரத்தை குறிக்கிறது. அடைப்புக்குறிக்குள் ((S)) மற்றொரு S ஐ இணைத்து, இரண்டு S (SS)களை இணைத்து அல்லது வெற்று சரத்தை (ε) உருவாக்குவதன் மூலம் S ஐ விரிவாக்கலாம் என்று உற்பத்தி விதிகள் குறிப்பிடுகின்றன.
இந்த இலக்கணத்தைப் பயன்படுத்தி, சமச்சீர் அடைப்புக்குறிக்குள் உள்ள மொழியில் சரியான சரங்களை உருவாக்கலாம். எடுத்துக்காட்டாக, தொடக்கக் குறியீடு S இல் தொடங்கி, சரத்தை ((())) பெறுவதற்கு உற்பத்தி விதிகளைப் பயன்படுத்தலாம். இந்த சரம் சமநிலை அடைப்புக்குறிகளின் வரிசையைக் குறிக்கிறது.
சூழல்-இலவச மொழி என்பது சூழல்-இலவச இலக்கணத்தால் உருவாக்கக்கூடிய சரங்களின் தொகுப்பாக வரையறுக்கப்படுகிறது. சூழல் இல்லாத இலக்கணத்தின் கூறுகளில் முனையமற்ற குறியீடுகள், முனையக் குறியீடுகள், உற்பத்தி விதிகள் மற்றும் தொடக்கக் குறியீடு ஆகியவை அடங்கும். முனையமற்ற குறியீடுகள் விரிவுபடுத்தக்கூடிய அல்லது மாற்றப்படக்கூடிய சுருக்கமான நிறுவனங்களைக் குறிக்கின்றன, அதே சமயம் முனையக் குறியீடுகள் மொழியின் அடிப்படை அலகுகளாகும். உற்பத்தி விதிகள் சாத்தியமான மாற்றங்கள் அல்லது வழித்தோன்றல்களைக் குறிப்பிடுகின்றன, மேலும் தொடக்கக் குறியீடு செல்லுபடியாகும் சரங்களை உருவாக்குவதற்கான ஆரம்ப முனையமற்ற குறியீட்டைக் குறிக்கிறது.
தொடர்பான பிற சமீபத்திய கேள்விகள் மற்றும் பதில்கள் சூழல் உணர்திறன் மொழிகள்:
- ஒரு மொழி மற்றொன்றை விட சக்தி வாய்ந்தது என்றால் என்ன?
- சாம்ஸ்கியின் இலக்கண சாதாரண வடிவம் எப்போதும் தீர்மானிக்கக்கூடியதா?
- Type-0 ஐ அங்கீகரிப்பதற்கான தற்போதைய முறைகள் உள்ளதா? குவாண்டம் கணினிகள் அதை சாத்தியமாக்கும் என்று எதிர்பார்க்கிறோமா?
- மொழி D இன் எடுத்துக்காட்டில், S = 0^P 1^P 0^P 1^P சரத்திற்கு பம்ப் செய்யும் பண்பு ஏன் இல்லை?
- பம்ப்பிங் லெம்மாவைப் பயன்படுத்த சரத்தைப் பிரிக்கும்போது கருத்தில் கொள்ள வேண்டிய இரண்டு நிகழ்வுகள் யாவை?
- மொழி B இன் எடுத்துக்காட்டில், a^Pb^Pc^P சரத்திற்கு பம்ப் செய்யும் பண்பு ஏன் இல்லை?
- பம்பிங் சொத்தை வைத்திருப்பதற்கு என்ன நிபந்தனைகளை பூர்த்தி செய்ய வேண்டும்?
- ஒரு மொழி சூழல் இல்லாதது என்பதை நிரூபிக்க CFLகளுக்கான பம்ப்பிங் லெம்மாவை எவ்வாறு பயன்படுத்தலாம்?
- சூழல்-இல்லாத மொழிகளுக்கான பம்ப் லெம்மாவின் படி ஒரு மொழி சூழல்-இல்லாததாகக் கருதப்படுவதற்கு என்ன நிபந்தனைகள் பூர்த்தி செய்யப்பட வேண்டும்?
- சூழல் இல்லாத இலக்கணங்களின் பின்னணியில் மறுநிகழ்வு என்ற கருத்தை விளக்கவும் மற்றும் நீண்ட சரங்களை உருவாக்குவதற்கு அது எவ்வாறு அனுமதிக்கிறது.
சூழல் உணர்திறன் மொழிகளில் மேலும் கேள்விகள் மற்றும் பதில்களைக் காண்க