ML/I
எம்எல்/1 (மேக்ரோ மொழி/ஒன்று) ஒரு சக்திவாய்ந்த பொது-நோக்க மேக்ரோ செயலி ஆகும். எம்எல்/1 இன் பொதுவான பயன்பாடுகளில் பின்வருவன அடங்கும்ஃ ஒரு நிரலாக்க மொழியிலிருந்து மற்றொரு நிரலாக்க மொழிக்கு மூலக் குறியீட்டை மொழிபெயர்க்கும் உரைக் கோப்புகளைத் திருத்துதல், மாற்றியமைத்தல், திருத்துதல் அல்லது மறுசீரமைத்தல், இது ஒரு மூலக் குறியீடு முன் செயலியாக செயல்படுகிறது, இது நிரல் மூலக் குறியீடு அளவுருவை ஆதரிக்கும் ஏற்கனவே உள்ள நிரலாக்க மொழியில் புதிய சொற்பொருள் வடிவங்களைச் சேர்க்க பயனரை அனுமதிக்கிறது (எ. கா. தொகுப்பாளருக்கு அனுப்பப்படும் நிரல் மூலக் குறியீட்டில் பிழைத்திருத்த அறிக்கைகள் சேர்க்கப்பட வேண்டுமா என்பதை ஒரு அளவுரு தீர்மானிக்கலாம்) எம். எல்/1 1966 இல் பீட்டர் ஜே. இங்கிலாந்தில் உள்ள கேம்பிரிட்ஜ் பல்கலைக்கழகத்தில் முனைவர் பட்ட ஆராய்ச்சியின் ஒரு பகுதியாக பிரவுன். 1984 ஆம் ஆண்டில், கென்ட் பல்கலைக்கழகத்தில் பீட்டர் பிரவுனின் சக ஊழியர்களில் ஒருவரான ராபர்ட் டி. ஈகர், எம்எல்/ஐ ஐ மீண்டும் எழுதினார், முதலில் 1981 இல் பிசிபிஎல் மற்றும் பின்னர் 1984 இல் சி இல், இது அதன் பெயர்வுத்திறனை அதிகரித்தது. பீட்டர் பிரவுனின் மொழியின் அசல் பெயர் எம்எல்/ஐ என்பதைக் கவனியுங்கள், அங்கு (ஐபிஎம் இன் பிஎல்/ஐ போல) கடைசி எழுத்து ரோமானிய எண் "ஐ", அரபு எண் "1" அல்ல. இருப்பினும், பெரும்பாலான அடுத்தடுத்த செயல்பாடுகள் எம்எல்/1 என்று அழைக்கப்படுகின்றன (இதில் கடைசி எழுத்து அரபு எண் "1" ஆகும்). அப்போதிருந்து, எம்எல்/1 விஎம்எஸ், எம்விஎஸ், எம்எஸ்-டாஸ், ஓஎஸ்/2 மற்றும் யுனிக்ஸ் உள்ளிட்ட பல இயங்குதளங்கள் மற்றும் இயக்க முறைமைகளுக்கு அனுப்பப்பட்டுள்ளது. எம்எல்/1 இன் செயல்பாடுகளில், பாப் ஈகர் பீட்டர் பிரவுனின் ஆய்வறிக்கையில் முதலில் குறிப்பிடப்பட்டவற்றுடன் கூடுதலாக அம்சங்களையும் திறன்களையும் சேர்த்துள்ளார். அந்த பதிப்பு எம்எல்/1 வலைத்தளம், http://www.ml1.org.uk வழியாக பல தளங்களுக்கு கிடைக்கிறது. எம்எல்/1 வலைத்தளம் எம்எல்/1 பற்றிய கூடுதல் தகவல்களையும், ஆவணங்களையும் (பயிற்சி, எளிய அறிமுக வழிகாட்டி மற்றும் முழு பயனர் கையேடு உட்பட) வழங்குகிறது. உலகில் எம்எல்/1 பயனர்களின் மொத்த எண்ணிக்கை சிறியதாக இருந்தாலும், உலகம் முழுவதும் எம்எல்/1 பயனர்கள் உள்ளனர், மேலும் பாப் அமெரிக்கா, கனடா, ஆஸ்திரேலியா, நியூசிலாந்து, ஜெர்மனி, ஹாலந்து மற்றும் இந்தியாவில் எம்எல்/1 பயனர்களுடன் தொடர்புகொண்டுள்ளார். 1976 ஆம் ஆண்டு ஆய்வறிக்கையில், ஆண்ட்ரூ எஸ். டனென்பாம் எம்எல்/ஐ ஐ ஒரு தொகுப்பாளர்-தொகுப்பாளராகப் பயன்படுத்துவதை விவரிக்கிறார். கண்ணோட்டம் எம்எல்/ஐ உள்ளீட்டை முற்றிலும் இலவச வடிவத்தில் ஏற்றுக்கொள்கிறது, தரவை தொடர்ச்சியான கோடுகள் அல்லது பதிவுகளுக்கு பதிலாக பைட்டுகளின் நீரோட்டமாக கருதுகிறது. மேக்ரோ விரிவாக்கத்தை குறிக்க எந்த குறிப்பிட்ட கொடியும் தேவையில்லை, இது தன்னிச்சையான உரையை செயலாக்குவதற்கு குறிப்பாக பயனுள்ளதாக இருக்கும். உரையை மாற்றுவது எளிமையானதாக இருக்கலாம் (எ. கா. பிஐஜிக்கு பதிலாக டிஓஜி) அல்லது காம்ப்ளக்ஸ் (எ. கா. கடைசி முழு நிறுத்தத்திற்குப் பிறகு மூன்றாவது மற்றும் நான்காவது காற்புள்ளிகளுக்கு இடையில் உள்ள உருப்படியை சில கவுண்டரின் உள்ளடக்கங்களால் மாற்றவும்). எம்எல்/ஐ தன்னை உட்பட சிறிய மென்பொருளின் பல உருப்படிகளை செயல்படுத்த பயன்படுத்தப்பட்டது. இது முதலில் ஒரு சிறப்பு விளக்க மொழியில் எழுதப்பட்டது, பின்னர் ஒவ்வொரு இலக்கு அமைப்புக்கும் பொருத்தமான மொழியில் வரைபடமாக்கப்பட்டது. இந்த வரைபடம் எம்எல்/ஐ பயன்படுத்தி செய்யப்பட்டது. இந்த விளக்க மொழியின் இரண்டு வெவ்வேறு வடிவங்கள் இருந்தன; உயர் நிலை மற்றும் குறைந்த நிலை. இந்த வரைபடத்திற்குப் பிறகு எம்எல்/ஐ பெரும்பாலும் புதிய தலைமுறை 16-பிட் கட்டிடக்கலை மினிகம்ப்யூட்டர்களுக்கு எஸ். ஐ. எல் (சிஸ்டம் இம்ப்லிமெண்டேஷன் மொழிகள், சி போன்றவை) ஐ செயல்படுத்த பயன்படுத்தப்பட்டது. எம்எல்/1 எவ்வாறு செயல்படுகிறது என்பது மிக அடிப்படையான சொற்களில், எம்எல்/1 எவ்வாறு செயல்படுகிறது என்பது இங்கே. உள்ளீட்டு உரையைக் கொண்ட கோப்புடன் எம்எல்/1 ஐ பயனர் வழங்குகிறார். மற்றொரு கோப்பில் (அல்லது, விருப்பப்படி, அதே கோப்பில்) பயனர் எம்எல்/1 மேக்ரோக்களின் தொகுப்பை வழங்குகிறார். உள்ளீட்டு உரையில் பயனர் என்ன செருகல்கள், நீக்குதல்கள், விரிவாக்கங்கள், மொழிபெயர்ப்புகள் மற்றும் பிற மாற்றங்களைச் செய்ய விரும்புகிறார் என்பதை மேக்ரோக்கள் எம்எல்/1 மொழிபெயர்ப்பாளரிடம் கூறுகின்றன. உள்ளீட்டு உரையில் எம்எல்/1 இயக்கப்படும்போது, எம்எல்/1 எம்எல்/1 மேக்ரோக்களில் உள்ள வழிமுறைகளைப் பின்பற்றுகிறது, உரையை மாற்றுகிறது, மேலும் மாற்றியமைக்கப்பட்ட உரையைக் கொண்ட ஒரு புதிய கோப்பை எழுதுகிறது. எம்எல்/1 இன் தனித்துவமான அம்சங்கள் எளிய "ஸ்கேன் மற்றும் மாற்று" பயன்பாடுகளை விட எம்எல்/1 மிகவும் சக்திவாய்ந்த பல வழிகள் உள்ளன. எம்எல்/1 எழுத்து-சரம் அடிப்படையில் எழுத்தை செயலாக்காது; இது ஒரு வார்த்தையின் அடிப்படையில் உரையை செயலாக்குகிறது (அல்லது, எம்எல்/1 இன் சொற்களில், "அணு மூலம் அணு" அடிப்படையில்). பல பயன்பாடுகளுக்கு, ஒரு உரையை எழுத்துக்களின் வரிசையை விட அணுக்களின் வரிசையாக செயலாக்குவது மிகவும் பயனுள்ளதாக இருக்கும். எடுத்துக்காட்டாக, ஒரு நிரலை ஒரு டிஓ. எண்ட் தொடரமைப்பைக் கொண்ட நிரலாக்க மொழியிலிருந்து, ஒரு பெகின். எண்ட் தொடரமைப்பைக் கொண்ட மொழிக்கு மொழிபெயர்க்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். எனவே "செய்ய" என்பதை "தொடங்க" என்று மாற்ற விரும்புகிறோம். ஒரு சாதாரண ஸ்கேன்-அண்ட்-ரீப்லேஸ் பயன்பாட்டுடன் மாற்றலைச் செய்தால், "டோ" சரத்தின் அனைத்து நிகழ்வுகளும் "தொடக்க" என்று மாற்றப்படும், இதில் "ஆவணங்கள்" (இது "தொடக்க" ஆக மாறும்) போன்ற சொற்களில் உட்பொதிக்கப்பட்டுள்ள எந்த "டோ" களும் அடங்கும். எம்எல்/1 உடன், இதற்கு மாறாக, இது நடக்காது, ஏனெனில் "டிஓ" சரம் ஒரு வார்த்தையாக ஏற்படும் போது மட்டுமே உரை-மாற்றத்தைத் தூண்டும் (அதாவது, அதற்கு முன் இடைவெளிகள், தாவல்கள், புதிய கோடுகள் அல்லது நிறுத்தற்குறி எழுத்துக்கள் போன்ற வரையறைகள் இருக்கும்போது). எம்எல்/1, ஒரு வரி-மூலம்-வரி அடிப்படையில் செயல்படுவதை விட, மிகவும் சிக்கலான, கூடு கட்டப்பட்ட, பல வரையறைகளுடன் மற்றும் பல வரிகளில் பரவியிருக்கும் உரையின் வடிவங்களை அங்கீகரிக்கிறது. எம்எல்/1, எடுத்துக்காட்டாக, பொதுவான நிரலாக்க மொழி ஐ. எஃப். தென் போன்ற ஒரு வடிவத்தை செயலாக்கலாம். ELSE. ENDIF அமைப்பு பல வரிகளில் பரவியுள்ளது, மேலும் உட்பொதிக்கப்பட்ட உரையைக் கொண்டுள்ளது, அதில் ஒரு உள்ளமைக்கப்பட்ட IF. பின்னர் இருக்கலாம். ELSE. ENDIF அமைப்பு. எம்எல்/1 உட்பொதிக்கப்பட்ட கருத்துகளையும் நேரடி மேற்கோள்களையும் அடையாளம் கண்டு அவற்றை மாற்றத்திலிருந்து பாதுகாக்க முடியும். சாதாரண ஸ்கேன் மற்றும் மாற்று பயன்பாடுகள் சரங்களை கண்மூடித்தனமாக மாற்றுகின்றன, அவை நிரல் உரையில் ஒரு முக்கிய வார்த்தையாகவோ அல்லது மாறி பெயராகவோ, ஒரு கருத்தில் உட்பொதிக்கப்பட்டிருந்தாலும் அல்லது மேற்கோள் காட்டப்பட்ட சொல்லில் இருந்தாலும் நிகழ்கின்றன. இத்தகைய சிக்கலான வடிவங்களைக் கையாள, எம்எல்/1 அதன் சொந்த உரிமையில் ஒரு நிரலாக்க மொழியாக இருக்க வேண்டும். மற்ற நிரலாக்க மொழிகளைப் போலவே, எம். எல்/1 மாறிகள் மற்றும் அசைன்மென்ட் அறிக்கைகள், ஜி. ஓ. டி. ஓக்கள் மற்றும் லேபிள்கள், ஐ. எஃப். பின்னர் சோதனைகள் மற்றும் சுழல்களை ஆதரிக்கிறது. இந்த அம்சங்கள் எம்எல்/1 க்கு அசாதாரணமான சக்தி மற்றும் நெகிழ்வுத்தன்மையைக் கொடுக்கின்றன. வரம்புகள் எம்எல்/1 வழக்கு-உணர்திறன் கொண்டது, எனவே இது வழக்கு-உணர்திறன் இல்லாத உரை செயலாக்கத்தை ஆதரிக்காது. குறிப்புகள் வெளிப்புற இணைப்புகள் http://www.ml1.org.uk மேக்ரோ நிரலாக்க மொழிகள்