தொகுப்பிகள்: எல்.எல் (0) மற்றும் எல்ஆர் (0) பாகுபடுத்தல்களுக்கு இடையிலான வேறுபாடு என்ன? எல்.எல் (0) பாகுபடுத்திகள் போன்ற ஒன்று இருக்கிறதா?


மறுமொழி 1:

இந்த கேள்வி எல்.எல் (0) பாகுபடுத்திகளில் கவனம் செலுத்துவதாகத் தெரிகிறது, எனவே அவற்றை வரையறுப்போம். ஒரு எல்.எல் (0) பாகுபடுத்தி, எந்த உற்பத்தியைப் பயன்படுத்த வேண்டும் என்பதைத் தீர்மானிக்க உற்பத்தியின் தொடக்கத்தில் 0 டோக்கன்களைப் பயன்படுத்தி இடமிருந்து வலமாக பாகுபடுத்துகிறது. அந்த 0 டோக்கன்கள் எதைக் குறிக்கின்றன, இதன் பொருள் எந்த உற்பத்தியைப் பயன்படுத்த வேண்டும் என்பதை தீர்மானிக்க பாகுபடுத்தி உரையை பாகுபடுத்த முடியாது. அதாவது பாகுபடுத்தி எந்த தேர்வுகளையும் செய்ய முடியாது. டோக்கன்களின் வரிசையை அலசத் தொடங்குவதற்கு முன்பு அது பாகுபடுத்தும். டோக்கன்களின் வரிசை சரி செய்யப்பட வேண்டும், அதாவது பாகுபடுத்தி அலசும் ஒரு வரிசை மட்டுமே இருக்க முடியும். எனவே, "ஹலோ உலகம்" என்று ஏற்றுக்கொள்ளும் ஒரு பாகுபடுத்தி உங்களிடம் இருக்கலாம். இது போன்ற இலக்கணத்துடன்:

இலக்கு: "ஹலோ" வைட்ஸ்பேஸ் "உலகம்" ஆச்சரியக் குறி;

லெக்ஸர் டோக்கன்களுடன் எவ்வாறு பொருந்துகிறது என்பது மட்டுமே அனுமதிக்கப்பட்ட வேறுபாடுகள் என்பதை நினைவில் கொள்க.

(குறியீடு வெளிப்படையானது என்று நான் நம்புகிறேன் - இது அடிப்படையில் நான் யாக் ++ இல் பயன்படுத்துகிறேன். மேற்கோள் காட்டப்பட்ட சரங்கள் டோக்கன்கள், வரையறுக்கப்படாத எந்த அடையாளங்காட்டிகளும் உள்ளன.)

டோக்கன்களின் அதே வரிசையை பாகுபடுத்தி எப்போதும் எதிர்பார்க்கிறார். எங்கள் முதல் எடுத்துக்காட்டு போலவே இதற்கு ஒரே ஒரு விதி இருக்க வேண்டியதில்லை. இது இப்படி இருக்கக்கூடும்.

இலக்கு: ஹலோ-பகுதி இடைவெளியின் இறுதி பகுதி;

ஹலோ-பகுதி: ஹலோ 1;

hello1: "ஹலோ";

இறுதி பகுதி: உலக பகுதி கடைசி பகுதி;

உலக பகுதி: "உலகம்";

கடைசி பகுதி: "!";

இருப்பினும், எந்த விதிகளிலும் "அல்லது" (|) ஆபரேட்டர்கள் இல்லை என்பதையும், முனையம் அல்லாதவருக்கு ஒரே ஒரு விதி மட்டுமே இருப்பதையும் கவனியுங்கள். எந்தவொரு பாகுபாடும் டோக்கன்களையும் (பாகுபடுத்தி எந்த வழியில் செல்கிறது என்பதைத் தேர்ந்தெடுக்கும் டோக்கன்கள்) பயன்படுத்தாமல் ஒவ்வொரு விதிகளையும் எவ்வாறு பொருத்துவது என்பதை பாகுபடுத்தி அறிய இது அனுமதிக்கிறது, இது இலக்கணத்தை எல்.எல் (0) ஆக்குகிறது.

இப்போது, ​​ஒரு சுழல்நிலை உற்பத்தியைப் பயன்படுத்த முடியுமா மற்றும் இன்னும் எல்.எல் (0) இலக்கணம் இருக்க முடியுமா? பதில் "இல்லை". நமக்கு ஒரு சுழல்நிலை விதி இருந்தால் என்ன ஆகும் என்று பார்ப்போம்.

இலக்கு: "x" இலக்கு "y";

நினைவில் கொள்ளுங்கள், முனையம் அல்லாத ஒன்றுக்கு ஒரு விதி மட்டுமே எங்களுக்கு அனுமதிக்கப்படுகிறது, மேலும் "அல்லது" ஆபரேட்டர்கள் இல்லை. ஆகவே, நாம் குறிக்கோளின் சுழல்நிலை அழைப்பிற்கு வரும்போது, ​​நம்மை மீண்டும் ஒரு பாதைக்கு அழைத்துச் செல்ல வேண்டும், அங்கு மீண்டும் மீண்டும் அந்த சுழல்நிலை அழைப்பிற்கு, எல்லையற்ற வளையத்திற்கு வருவோம். நீங்களே நிரூபிக்கவும், அந்த அழைப்பை நாங்கள் எவ்வாறு கூடு கட்டுகிறோம் அல்லது மறுநிகழ்வு மறைமுகமாக இருக்கிறதா என்பது முக்கியமல்ல. இது எப்போதும் எல்லையற்ற வளையத்தை ஏற்படுத்தும்.

எனவே, ஒரு எல்.எல் (0) இலக்கணம் டோக்கன்களின் வரையறுக்கப்பட்ட பட்டியலை அலச வேண்டும், சரியாக ஒரு வரையறுக்கப்பட்ட பட்டியல் (ஒவ்வொரு முறையும் ஒரே பட்டியல்).

எல்ஆர் (0) என்பதன் அர்த்தத்திற்கான வேறுபாட்டைக் கவனியுங்கள். ஒரு எல்.ஆர் (கே) பாகுபடுத்தி ஒரு தயாரிப்புக்குள்ளேயே எந்தவொரு (அது விரும்பும் பல) டோக்கன்களையும் பாகுபாடு காட்ட பயன்படுத்த அனுமதிக்கப்படுகிறது, மேலும் உற்பத்தி குறைக்கப்படும்போது தீர்மானிக்கும்போது சூழலில் இருந்து கே டோக்கன்கள் வரை. எல்ஆர் (0) வழக்கில், அதைக் குறைக்க வேண்டுமா என்பதை தீர்மானிக்க கூடுதல் டோக்கன்களைப் பயன்படுத்த முடியாது. குறைக்கப்பட்ட விதியின் டோக்கன்களின் அடிப்படையில் இது எளிமையாக முடிவு செய்ய வேண்டும். இங்கே ஒரு எளிய எல்ஆர் (0) இலக்கணம்:

இலக்கு: "x" | "(" இலக்கு ")";

இந்த இலக்கணம் சில "அடைப்புக்குறிப்புகளால் சூழப்பட்ட" x "ஐ பாகுபடுத்துகிறது. எந்த விதியைப் பயன்படுத்த வேண்டும் என்பதைத் தீர்மானிக்க இது "x" டோக்கனையும் "(" டோக்கனையும் பயன்படுத்தலாம் என்பதை நினைவில் கொள்க. எல்ஆர் (0) இல் உள்ள 0 எல்.எல் (0) இல் உள்ளதைப் போல ஒரு விதிக்குள் டோக்கன்களைப் பயன்படுத்துவதை கட்டுப்படுத்தாது. குறைக்கத் தீர்மானிக்கும் போது டோக்கன்களைப் பயன்படுத்துவது (சூழலின், முனையம் அல்லாத சிலவற்றின் விதிமுறைக்குப் பிறகு) கட்டுப்படுத்துவது மட்டுமே. இந்த இலக்கணத்தை குறைக்க முடிவு செய்ய எந்த சூழலும் தேவையில்லை. முதல் மாற்றீட்டில், அதைப் பார்க்கும்போது குறைகிறது ஒரு "x" வினாடிக்கு ஒரு ")" ஐப் பார்த்த பிறகு குறைகிறது. ஒரு விதியின் டோக்கன்கள் விதி எப்போது குறைக்கப்பட வேண்டும் என்பதை தீர்மானிக்கிறது.


மறுமொழி 2:

எல்.எல் (0) பாகுபடுத்திகள் டோக்கன் ஸ்ட்ரீமை இடமிருந்து வலமாக செயலாக்குகின்றன, இடதுபுறம் வழித்தோன்றலைப் பயன்படுத்தி முன்னோக்கிப் பார்க்காது. கோட்பாட்டளவில், எல்.எல் (0) பாகுபடுத்திகள் சாத்தியம், ஆனால் அவை இருந்தாலும் கூட, நான் அவர்களுக்கு அதிக பயன்பாட்டைக் காணவில்லை. எல்.எல் (0) பாகுபடுத்திகள் பூஜ்ஜிய தோற்றத்துடன் தற்போதைய முனையம் அல்லாதவற்றின் அடிப்படையில் எந்த தயாரிப்புகளைப் பயன்படுத்த வேண்டும் என்று கணிக்க வேண்டும். அத்தகைய இலக்கணங்களில், ஒவ்வொரு முனையமும் அல்லாத ஒரு தயாரிப்பு மட்டுமே அதனுடன் தொடர்புடையதாக இருக்க முடியும், மேலும் எந்த மறுநிகழ்வும் இருக்கக்கூடாது.

எல்ஆர் (0) பாகுபடுத்திகள் டோக்கன் ஸ்ட்ரீமை இடமிருந்து வலமாக செயலாக்குகின்றன, வலதுபுற வழித்தோன்றலைப் பயன்படுத்தி பூஜ்ஜிய தோற்றத்துடன் இருக்கும். இதன் பொருள் அவர்கள் பாகு மரத்தை கீழிருந்து மேலாக உருவாக்குகிறார்கள், எல்.எல் (0) பாகுபடுத்திகள் பாகு மரத்தை மேலிருந்து கீழாக உருவாக்குகின்றன.