DMS Software Reengineering Toolkit
டிஎம்எஸ் மென்பொருள் மறுசீரமைப்பு கருவித்தொகுப்பு என்பது தனிப்பயன் மூல நிரல் பகுப்பாய்வு, மாற்றம், மொழிபெயர்ப்பு அல்லது பெரிய அளவிலான மென்பொருள் அமைப்புகளுக்கான மூல மொழிகளின் தன்னிச்சையான கலவைகளுக்கான மென்பொருள் அமைப்புகளின் உருவாக்கம் ஆகியவற்றை தானியக்கமாக்குவதற்கு கிடைக்கக்கூடிய நிரல் மாற்ற கருவிகளின் தனியுரிம தொகுப்பாகும். டிஎம்எஸ் முதலில் வடிவமைப்பு பராமரிப்பு அமைப்புகள் எனப்படும் மென்பொருளின் வடிவமைப்புகளை பராமரிப்பதற்கான ஒரு கோட்பாட்டால் உந்தப்பட்டது. டிஎம்எஸ் மற்றும் "வடிவமைப்பு பராமரிப்பு அமைப்பு" ஆகியவை சொற்பொருள் வடிவமைப்புகளின் பதிவு செய்யப்பட்ட வர்த்தக முத்திரைகள் ஆகும். கள-குறிப்பிட்ட மொழிகள் (தொழிற்சாலை கட்டுப்பாட்டுக்கான குறியீடு உருவாக்கம் போன்றவை), சோதனை கவரேஜ் மற்றும் விவரக்குறிப்பு கருவிகள், குளோன் கண்டறிதல், மொழி இடம்பெயர்வு கருவிகள், சி + + கூறு மறுசீரமைப்பு ஆகியவற்றை செயல்படுத்தவும், சி + + ஐ நம்பகத்தன்மையுடன் மறுசீரமைப்பது போன்ற கடினமான தலைப்புகளில் ஆராய்ச்சிக்காகவும் பயன்பாட்டு டி. எம். எஸ் பயன்படுத்தப்படுகிறது. அம்சங்கள் கருவித்தொகுப்பு மொழி இலக்கணங்களை வரையறுப்பதற்கான வழிமுறைகளை வழங்குகிறது மற்றும் தானாகவே சுருக்க தொடரியல் மரங்களை (ஏஎஸ்டி) உருவாக்கும் பாகுபடுத்திகளையும், அசல் அல்லது மாற்றியமைக்கப்பட்ட ஏஎஸ்டிகளை மீண்டும் தொகுக்கக்கூடிய மூல உரையாக மாற்ற அழகான அச்சுப்பொறிகளையும் உருவாக்கும். பார்ஸ் மரங்கள் பிடிக்கின்றன, மேலும் அழகான அச்சுப்பொறிகள், மூல நிலை, கருத்துகள், ரேடிக்ஸ் மற்றும் எண்களின் வடிவமைப்பு உள்ளிட்ட அசல் மூல நிரலைப் பற்றிய முழுமையான விவரங்களை மீளுருவாக்கம் செய்கின்றன, இதனால் மீளுருவாக்கம் செய்யப்பட்ட மூல உரை ஒரு புரோகிராமருக்கு அசல் உரை மாடுலோவைப் போலவே அங்கீகரிக்கப்படுவதை உறுதிசெய்கின்றன. டிஎம்எஸ் ஜிஎல்ஆர் பகுப்பாய்வு தொழில்நுட்பத்தை சொற்பொருள் கணிப்புகளுடன் பயன்படுத்துகிறது. இது அனைத்து சூழல்-இல்லாத இலக்கணங்களையும், ஃபோர்ட்ரான் போன்ற பெரும்பாலான சூழல்-இல்லாத மொழி தொடரமைப்புகளையும் கையாள உதவுகிறது, இதற்கு லேபிள் மூலம் பகிரப்பட்ட தொடர் அறிக்கைகளுடன் பல டிஓ சுழல்களை பொருத்த வேண்டும், இது சரியாக உள்ளமைக்கப்பட்ட சுழல்களுக்கான ஏஎஸ்டிகளை உருவாக்குகிறது. சி + + 0x, சி #, ஜாவா, பைதான், பிஎச்பி, ஈஜிஎல், ஃபோர்ட்ரான், கோபோல், விஷுவல் பேசிக், வெரிலாக், விஎச்டிஎல் மற்றும் சில 20 அல்லது அதற்கு மேற்பட்ட பிற மொழிகள் உட்பட சி மற்றும் சி + + இன் பெரும்பாலான உண்மையான பேச்சுவழக்குகளை உள்ளடக்கிய பல்வேறு முன் வரையறுக்கப்பட்ட மொழி முனைகளை டிஎம்எஸ் கொண்டுள்ளது. DMS ஆல் ASCII, ISO-8859, UTF-8, UTF-16, EBCDIC, ஷிப்ட்-JIS மற்றும் பல்வேறு மைக்ரோசாஃப்ட் எழுத்து குறியீடுகளைக் கையாள முடியும். அளவீடுகள் போன்ற ஏஎஸ்டிகளில் தனிப்பயன் பகுப்பாய்வுகளைக் கணக்கிடுவதற்கான பண்புக்கூறு இலக்கண மதிப்பீட்டாளர்களை டிஎம்எஸ் வழங்குகிறது, மேலும் குறியீட்டு அட்டவணை கட்டுமானத்திற்கான ஆதரவையும் உள்ளடக்கியது. உள்ளமைக்கப்பட்ட கட்டுப்பாடு மற்றும் தரவு ஓட்ட பகுப்பாய்வு இயந்திரங்கள், உள்ளூர் மற்றும் உலகளாவிய சுட்டிக்காட்டி பகுப்பாய்வு, முழு நிரல் அழைப்பு வரைபட பிரித்தெடுத்தல் மற்றும் சுருக்கமான விளக்கத்தின் மூலம் குறியீட்டு வரம்பு பகுப்பாய்வு மூலம் பிற நிரல் உண்மைகளைப் பெறலாம். டிஎம்எஸ் ஒரு இணையான நிரலாக்க மொழியான பார்லன்ஸில் செயல்படுத்தப்படுகிறது, இது பெரிய பகுப்பாய்வுகள் மற்றும் மாற்றங்களை விரைவுபடுத்த சமச்சீர் பல செயலாக்கத்தைப் பயன்படுத்த அனுமதிக்கிறது. டி. எம். எஸ்ஸின் விதி விவரக்குறிப்பு மொழியைப் (ஆர். எஸ். எல்) பயன்படுத்தி, பிரித்தெடுக்கப்பட்ட நிரல் உண்மைகளால் நிபந்தனைக்குட்பட்ட மேற்பரப்பு-வரிசைமுறையைப் பயன்படுத்தி மீண்டும் எழுதும் விதிகளாக குறியிடப்பட்ட PARLANSE இல் குறியிடப்பட்ட நடைமுறை முறைகள் மற்றும் மூலத்திலிருந்து மூல மர மாற்றங்கள் ஆகிய இரண்டின் மூலமும் AST களில் மாற்றங்களை மீண்டும் எழுத முடியும். ஆர். எஸ். எல். ஐ ஆதரிக்கும் மறு எழுத்து விதி இயந்திரம் துணை மற்றும் பரிமாற்ற விதிகளைக் கையாளுகிறது. ஒரு சிக்கலான நிபந்தனையை மாற்றுவதற்கு C க்கு ஒரு மறு எழுத்து விதி? : இயக்குபவர் பின்வருமாறு எழுதப்பட வேண்டும்ஃ விதி எளிமைப்படுத்தல் _ நிபந்தனை _ பணி (v: இடது _ கை _ பக்கம், e1: வெளிப்பாடு, e2: வெளிப்பாடு, e3: வெளிப்பாடு): அறிக்கை-> அறிக்கை = "என்றால் (\e1) \v = \e2; இல்லையெனில் \v = e3";-> "\v = \e1? \e2: \e3" இல்லை என்றால் பக்க விளைவுகள் (v); மீண்டும் எழுதும் விதிகளுக்கு பெயர்கள் உள்ளன, எ. கா. நிபந்தனை _ அசைன்மென்ட் எளிமைப்படுத்தவும். ஒவ்வொரு விதியும் ஒரு "இதைப் பொருத்தவும்" மற்றும் "அதனுடன் மாற்றவும்" வடிவ ஜோடி-> ஆல் பிரிக்கப்பட்டுள்ளது, எங்கள் எடுத்துக்காட்டில், வாசிப்புத்திறனுக்காக தனித்தனி வரிகளில். வடிவங்கள் மொழி தொடரியல் வகைகளுடன் ஒத்திருக்க வேண்டும்; இந்த விஷயத்தில், இரண்டு வடிவங்களும் தொடரியல் வகை அறிக்கையாக இருக்க வேண்டும், மேலும் வடிவங்களுடன் அனுதாபத்துடன் பிரிக்கப்பட வேண்டும்->. இலக்கு மொழி (எ. கா., சி) மேற்பரப்பு தொடரியல் மெட்டா-மேற்கோள்களுக்குள் குறியிடப்பட்டுள்ளது, இலக்கு மொழியிலிருந்து மறு எழுத்து-விதி தொடரியல் பிரிக்க. மெட்டா-மேற்கோள்களுக்குள் உள்ள பின்னடைவுகள் டொமைன் தப்பிக்கும் தன்மையைக் குறிக்கின்றன, இது வடிவம் மெட்டா மாறிகளைக் குறிக்கிறது (எ. கா., \v, \e1, \e2) இது கையொப்ப வரியில் உள்ள மெட்டாவரி செய்யக்கூடிய அறிவிப்புடன் தொடர்புடைய எந்த மொழி கட்டமைப்புடனும் பொருந்துகிறது, எ. கா., e1 சொல்லியல் வகையைச் சேர்ந்ததாக இருக்க வேண்டும்ஃ (ஏதேனும்) வெளிப்பாடு. போட்டி வடிவத்தில் ஒரு மெட்டாவேரபிள் பல முறை குறிப்பிடப்பட்டிருந்தால், அது ஒரே மாதிரியான சப்ட்ரீஸ்களுடன் பொருந்த வேண்டும்; இந்த எடுத்துக்காட்டில் போட்டி வடிவத்தில் உள்ள இரண்டு பணிகளிலும் ஒரே மாதிரியான வடிவம் கொண்ட வி ஏற்பட வேண்டும். மாற்று வடிவத்தில் உள்ள மெட்டாவரியபில்கள் இடது பக்கத்திலிருந்து தொடர்புடைய பொருத்தங்களால் மாற்றப்படுகின்றன. ஒரு நிபந்தனை விதி விதியைப் பயன்படுத்துவதற்கு பூர்த்தி செய்யப்பட வேண்டிய கூடுதல் நிபந்தனையை வழங்கினால், எ. கா., பொருந்தக்கூடிய மெட்டாவரியபிள் வி, ஒரு தன்னிச்சையான இடது புறமாக இருப்பதால், ஒரு பக்க விளைவைக் கொண்டிருக்கக்கூடாது (எ. கா., ஒரு [i + +] வடிவத்தில் இருக்க முடியாது; நோ _ சைட் _ எஃபெக்ட்ஸ் பிரடிக்கேட் மற்ற டிஎம்எஸ் வழிமுறைகளுடன் கட்டப்பட்ட ஒரு பகுப்பாய்வாளரால் வரையறுக்கப்படுகிறது). குறியீட்டில் ஒரு சிக்கலான மாற்றத்தை அடைவது விரும்பிய விளைவை அடைய ஒத்துழைக்கும் பல விதிகளை வழங்குவதன் மூலம் நிறைவேற்றப்படுகிறது. PARLANSE இல் குறியிடப்பட்ட மெட்டாப்ரோகிராம்கள் மூலம் திட்டத்தின் சில பகுதிகளில் விதிகள் கவனம் செலுத்துகின்றன. ஒரு மொழி வரையறை மற்றும் வரையறுக்கப்பட்ட மற்றும் பயன்படுத்தப்பட்ட மூலத்திலிருந்து மூலத்திற்கு மாற்றும் விதிகளின் முழுமையான எடுத்துக்காட்டு உயர்நிலைப் பள்ளி இயற்கணிதத்தையும் ஒரு பிட் கால்குலஸையும் ஒரு கள-குறிப்பிட்ட மொழியாகப் பயன்படுத்துகிறது. குறிப்புகள் வெளிப்புற இணைப்புகள் டிஎம்எஸ் மென்பொருள் மறுசீரமைப்பு கருவித்தொகுப்பு முக்கிய வலைப்பக்கம் நிலையான நிரல் பகுப்பாய்வு கருவிகள் நிரல் மாற்றக் கருவிகள் கணினி உதவி மென்பொருள் பொறியியல் கருவிகள் மொழி பணிமனை