திங்கட்கிழமை, ஜூலை 20, ஃபாஸ்ட் லெக்சிகல் அனலைசர் ஜெனரேட்டரான re2c வெளியிடப்பட்டது.
முக்கிய மாற்றங்கள்:
-
Go மொழி ஆதரவு சேர்க்கப்பட்டது
(re2c க்கான --lang go விருப்பத்தால் அல்லது ஒரு தனி re2go நிரலாக செயல்படுத்தப்பட்டது).
C மற்றும் Go க்கான ஆவணங்கள் ஒரே உரையிலிருந்து உருவாக்கப்பட்டன, ஆனால் வேறுபட்டவை
குறியீடு எடுத்துக்காட்டுகள். re2c இல் உள்ள குறியீடு உருவாக்க துணை அமைப்பு முற்றிலும் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது
எதிர்காலத்தில் புதிய மொழிகளை ஆதரிப்பதை எளிதாக்க வேண்டும். -
CMake க்கான மாற்று உருவாக்க அமைப்பு சேர்க்கப்பட்டது (நன்றி ligfx!).
CMakeக்கு re2c மொழிபெயர்ப்பதற்கான முயற்சிகள் நீண்ட காலமாக மேற்கொள்ளப்பட்டு வருகின்றன, ஆனால் ligfx க்கு முன் யாரும் இல்லை
ஒரு முழுமையான தீர்வை வழங்கியது.
Autotools இல் பழைய உருவாக்க அமைப்பு தொடர்ந்து ஆதரிக்கப்பட்டு பயன்படுத்தப்படுகிறது,
மற்றும் எதிர்காலத்தில் அதை கைவிட எந்த திட்டமும் இல்லை (ஓரளவு அதனால் உருவாக்க வேண்டாம்
விநியோக டெவலப்பர்களுக்கான சிக்கல்கள், ஒரு காரணம் பழைய கட்டுமான அமைப்பு
புதியதை விட நிலையானது மற்றும் சுருக்கமானது).
இரண்டு அமைப்புகளும் டிராவிஸ் CI ஐப் பயன்படுத்தி தொடர்ந்து சோதிக்கப்படுகின்றன. -
பயன்படுத்தும் போது உள்ளமைவுகளில் இடைமுகக் குறியீட்டை அமைக்கும் திறன் சேர்க்கப்பட்டது
பொதுவான API. முன்பு, பெரும்பாலான APIகள் படிவத்தில் குறிப்பிடப்பட வேண்டும்
செயல்பாடுகள் அல்லது செயல்பாடு மேக்ரோக்கள். இப்போது அவை தன்னிச்சையான வடிவத்தில் குறிப்பிடப்படலாம்
@@{name} அல்லது @@ போன்ற பெயரிடப்பட்ட டெம்ப்ளேட் அளவுருக்கள் கொண்ட கோடுகள் (என்றால்
ஒரே ஒரு அளவுரு உள்ளது மற்றும் தெளிவின்மை இல்லை). ஏபிஐ நடை உள்ளமைவு மூலம் குறிப்பிடப்படுகிறது
re2c:api:style (செயல்பாடுகளின் மதிப்பு ஒரு செயல்பாட்டு பாணியைக் குறிப்பிடுகிறது, மற்றும் இலவச வடிவம் தன்னிச்சையான பாணியைக் குறிப்பிடுகிறது). -
-c, --start-conditions விருப்பத்தின் செயல்பாடு மேம்படுத்தப்பட்டுள்ளது, இது பலவற்றை இணைக்க உங்களை அனுமதிக்கிறது.
ஒரு re2c தொகுதியில் ஒன்றோடொன்று இணைக்கப்பட்ட லெக்சர்கள். இப்போது நீங்கள் பயன்படுத்தலாம்
வழக்கமான தொகுதிகள் நிபந்தனைக்குட்பட்டவை மற்றும் பல தொடர்பில்லாத நிபந்தனைகளை குறிப்பிடுகின்றன
ஒரு கோப்பில் தொகுதிகள்.
-r, --reuse விருப்பத்தின் மேம்படுத்தப்பட்ட செயல்பாடு (ஒரு தொகுதியிலிருந்து குறியீட்டை மீண்டும் பயன்படுத்துதல்
மற்ற தொகுதிகளில்) -c, --start-conditions மற்றும் -f, --storable-state விருப்பங்களுடன் இணைந்து
(எந்த நேரத்திலும் குறுக்கிடக்கூடிய ஒரு மாநில லெக்சர்
பின்னர் செயல்படுத்துவதைத் தொடரவும்). -
சமீபத்தில் சேர்க்கப்பட்ட எண்ட்-ஆஃப்-இன்புட் அல்காரிதத்தில் பிழை சரி செய்யப்பட்டது
(EOF விதி), இது அரிதான சந்தர்ப்பங்களில் தவறான செயலாக்கத்திற்கு வழிவகுத்தது
ஒன்றுடன் ஒன்று விதிகள். -
பூட்ஸ்ட்ராப் செயல்முறை எளிமைப்படுத்தப்பட்டுள்ளது. முன்னதாக, உருவாக்க அமைப்பு ஏற்கனவே மாறும் வகையில் கண்டுபிடிக்க முயற்சித்தது
ஒரு re2c உருவாக்கம் தன்னை மீண்டும் உருவாக்க பயன்படுத்தப்படலாம்.
இது தவறான சார்புகளை ஏற்படுத்தியது (சார்பு வரைபடம் இருந்ததால்
டைனமிக், இது பெரும்பாலான உருவாக்க அமைப்புகள் விரும்புவதில்லை).
இப்போது, லெக்சர்களை மீண்டும் உருவாக்க, நீங்கள் வெளிப்படையாக செய்ய வேண்டும்
உருவாக்க அமைப்பை உள்ளமைத்து RE2C_FOR_BUILD மாறியை அமைக்கவும்.
இந்த வெளியீட்டின் தயாரிப்பில் பங்கேற்ற அனைவருக்கும் நன்றி!
ஆதாரம்: linux.org.ru