Charm (programming language)
கவர்ச்சி என்பது 1990 களின் முற்பகுதியில் வடிவமைக்கப்பட்ட ஒரு கணினி நிரலாக்க மொழியாகும், இது ஆர்டிஎல்/2, பாஸ்கல் மற்றும் சி மொழிகளுடன் ஒற்றுமையைக் கொண்டுள்ளது, மேலும் அதன் சொந்த சில தனித்துவமான அம்சங்களைக் கொண்டுள்ளது. கம்பைலர் வடிவமைப்பு குறித்த அடிப்படை புத்தகங்களில் விவரிக்கப்பட்டுள்ளபடி, கவர்ச்சியான மொழி ஒரு சூழல் இல்லாத இலக்கணத்தால் வரையறுக்கப்படுகிறது, இது தொடர்ச்சியான வம்சாவளி பாகுபடுத்தியால் செயலாக்கப்படுவதற்கு ஏற்றது. அக்கார்னின் RISC OS இயங்குதளத்திற்கு ஒரு தொகுப்பாளர், அசெம்ப்ளர் மற்றும் லிங்கர் உள்ளிட்ட கவர்ச்சியான கருவிகளின் தொகுப்பு கிடைத்தது. RISC OS இயங்குதளங்களுக்காக மறுசீரமைக்கப்பட்ட கவர்ச்சி பின்னர் காப்பக இதழில் மதிப்பாய்வு செய்யப்பட்டுள்ளது. சார்மிங் இன் சார்ம் ஆன் தி ராஸ்பெர்ரி பை என்ற மின் புத்தகத்தில் கவர்ச்சி மேலும் விவரிக்கப்பட்டுள்ளது. இலக்கணமானது பேக்கஸ்-நௌர் வடிவத்தில் கவர்ச்சியான இலக்கணத்தின் வரையறையும், கவர்ச்சியான கட்டமைப்புகளின் விளக்கமான எடுத்துக்காட்டுகளும் கவர்ச்சியான மொழி பக்கத்தில் வரையறுக்கப்பட்டுள்ளன. மொழி தொகுதி கட்டமைக்கப்பட்டுள்ளது, ஒவ்வொரு தொகுதியும் ஒரு மொழி முக்கிய வார்த்தையால் அறிமுகப்படுத்தப்படுகிறது, இது தொகுதியில் நிகழ்த்தப்படும் செயல்பாட்டை விவரிக்கிறது. எ. கா. ,, (மறு செய்கை), (தேர்வு). ஒவ்வொரு தொகுதியும் {மற்றும்} வரையறைகளால் சூழப்பட்டுள்ளது. கூடுதலாக, ஒரு தொகுதிக்குள் உள்ள மொழி கோடுகள் பொதுவாக தெளிவுக்காக குறிக்கப்படுகின்றன, இருப்பினும் வெள்ளை இடம் புறக்கணிக்கப்படுவதால் இது தேவையில்லை. ஒவ்வொரு இலக்கண இணக்கமான உரையும் செயல்படுத்தக்கூடிய குறியீடு மற்றும் அதனுடன் தொடர்புடைய தரவுகளின் தொகுப்பைக் குறிக்கிறது, இது ஒரு சார்ம் கருவி தொகுப்பால் ஒரு கூறாகப் பயன்படுத்தப்படலாம், இது ஒரு இயக்க முறைமையின் கீழ் இயக்கக்கூடிய ஒரு நிரலைச் சேகரிக்கும் போது, தரவு செயலாக்கம் அல்லது வரைகலை பயனர் இடைமுகம் (GUI) மூலம் பயனர்களுடன் தொடர்புகொள்வது போன்ற பயனுள்ள வேலைகளைச் செய்ய அது வழங்கும் சேவைகளைப் பயன்படுத்துகிறது. சார்ம் என்பது வலுவாக தட்டச்சு செய்யப்பட்ட மொழியாகும், ஆனால் எண் மற்றும் மிதக்கும் புள்ளி வகைகளுக்கு இடையில் சில மறைமுகமான மாற்றங்களை அனுமதிக்கிறது. பின்வரும் அடிப்படை மாறி வகைகள் ஆதரிக்கப்படுகின்றனஃ-முழு எண்கள்-எழுத்துக்கள்-பூலியன் மதிப்புகள் (அல்லது)-மிதக்கும் புள்ளி எண்கள் அதே வகையின் தரவு திரட்டல்கள் முக்கிய வார்த்தையைப் பயன்படுத்தி அறிவிக்கப்பட்டு நிலையான முறையில் துவக்கப்படலாம், இவை பன்முகத்தன்மையுடன் இருக்கலாம். பல்வேறு வகையான திரட்டல்கள் முக்கிய வார்த்தையைப் பயன்படுத்தி அறிவிக்கப்படலாம், மேலும் சேமிப்பு ஒதுக்கீட்டின் அடிப்படையில் ஒருவருக்கொருவர் இணைக்கப்பட்டுள்ள பதிவு புலங்களின் வரையறையை வரையறுப்பது அத்தகைய அறிவிப்புக்கு அனுமதிக்கப்படுகிறது. தொகுதிகள் நிலையான மற்றும் மாறும் தரவு உறுப்பினர்களின் கலவையையும் திரட்டலாம். பதிவுகள் மற்றும் தொகுதிகள் (மாறும் உள்ளடக்கம் மட்டுமே) ஆகிய இரண்டின் நிகழ்வுகளையும் அடுக்கில் அல்லது ஆபரேட்டர் வழியாக குவியலில் உடனடியாக உறுதிப்படுத்த முடியும். சி + + மொழியைப் போலவே வளங்களை வெளியிடுவதற்கு டைனமிக் தரவு மற்றும் தொடர்புடைய டிகன்ஸ்ட்ரக்டர் நடைமுறையைத் தொடங்குவதற்கான ஒரு கட்டமைப்பாளர் நடைமுறையையும் தொகுதிகள் வரையறுக்கலாம். ஒரு தொகுதியின் எல்லைக்குள் உள்ள தரவு அல்லது நடைமுறைகளைக் குறிப்பிடுவது முக்கிய வார்த்தையைப் பயன்படுத்துவதன் மூலம் இறுதி பயன்பாட்டிற்கு உலகளாவியதாக மாற்றப்படலாம். ஒரு தொகுதி மற்றொரு கவர்ச்சியான தொகுதியிலிருந்து ஒரு நடைமுறை அல்லது தரவைக் குறிப்பிட விரும்பினால், அது முக்கிய வார்த்தையைப் பயன்படுத்தி அவ்வாறு செய்கிறது. தொகுதிகள் எடுத்துக்காட்டு அடிப்படையிலான உறுப்பினர் மாறிகளைக் கொண்டிருக்கலாம், அவை மறைமுகமான முதல் அளவுரு சுட்டிக்காட்டி மூலம் முக்கிய வார்த்தையுடன் அறிவிக்கப்பட்ட நடைமுறைகள் மூலம் அணுகக்கூடியவை. தரவு கட்டமைப்புகள் மற்றும் நடைமுறைகள் பற்றிய குறிப்புகள் முக்கிய வார்த்தையைப் பயன்படுத்தி செய்யப்படலாம். இவற்றை முக்கிய வார்த்தையைப் பயன்படுத்தி குறிப்பிடலாம். குறிப்பு மாறிகளைப் பயன்படுத்தும் போது, இரண்டு குறிப்பு மாறிகள் ஒரே தரவு உருப்படியைக் குறிக்கிறதா (: =:) அல்லது அவர்கள் சுட்டிக்காட்டும் தரவு ஒரே (=) என்பதைச் சரிபார்க்க ஒப்பீட்டு ஆபரேட்டர்கள் கிடைக்கின்றனர். எடுத்துக்காட்டு கவர்ச்சியில் எழுதப்பட்ட அசல் கிளாசிக் ஹலோ வேர்ல்ட் நிரல்ஃ எக்ஸ்ட்ரோக் ரைட் _ ஸ்ட்ரிங் (ரெஃப் அரே சார்); தொகுதி ஹலோ; என்ட்ரோக் ஸ்டார்ட் (); ரைட் _ ஸ்ட்ரிங் ("ஹலோ வேர்ல்ட்"); எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக்; எண்ட்ரோக் என்எல் ();} கருவி தொகுப்பு செயலாக்கங்கள் கவர்ச்சியான மூலக் குறியீடு மற்றும் அசெம்பிளர் மூலக் குறியீட்டிலிருந்து பொருள் கோப்புகளை உருவாக்க ஒரு தொகுப்பாளர் மற்றும் ஒரு அசெம்பிளரை வழங்கும் என்று எதிர்பார்க்கப்படுகிறது, பின்னர் அவை நூலகத்துடன் இணைக்கப்படலாம் மற்றும் இயக்கக்கூடிய நிரலை உருவாக்க நேர ஆதரவு கோப்புகளை இயக்கலாம். எழுதும் நேரத்தில் ஒரு கவர்ச்சியான கருவி தொகுப்பு நிறுவல் மட்டுமே பதிவிறக்கத்திற்கு (இலவசமாக) கிடைக்கிறது. கருவிகள் கவர்ச்சியான மொழியில் எழுதப்பட்டுள்ளன, மேலும் மூலக் குறியீடு குனு பொது பொது உரிமத்தின் விதிமுறைகளின் கீழ் கிடைக்கிறது. அவை ஆர்ஐசிசி ஓஎஸ் பிசிக்கள் மற்றும் ஏஆர்எம் சிபியுக்களுடன் (ராஸ்பெர்ரி பை போன்றவை) இயங்குதளங்களிலும், விண்டோஸ் அல்லது லினக்ஸ் இயங்குதளங்களில் (ஆர்பிசிஈமு போன்றவை) ஹோஸ்ட் செய்யப்படும் ஆர்ஐசிசி ஓஎஸ்-க்கான முன்மாதிரிகளிலும் இயங்குகின்றன. வன்பொருள் உதவியுடன் இரட்டை துல்லிய மிதக்கும் புள்ளி செயல்பாடுகளுக்கான குறியீடு உருவாக்கம் விஎஃப்பி பதிப்பு 2 இணை செயலி கட்டமைப்பை ஆதரிக்கும் ஏஆர்எம் சில்லுகளை அடிப்படையாகக் கொண்ட தளங்களுக்கு ஆதரிக்கப்படுகிறது. கம்பைலர் சார்ம் கம்பைலர் என்பது ஒரு தொடர்ச்சியான ஒற்றை பாஸ் கம்பைலர் ஆகும், இது சார்ம் மூலக் குறியீட்டைப் பகுத்து படிவ முடிவின் நான்கு மடங்குகளை உருவாக்குகிறதுஃ = lhs op rhs ஒரு இடைநிலை மொழியில் எண்கணிதம், தர்க்கரீதியான மற்றும் கட்டுப்பாட்டு செயல்பாடுகளின் ஓட்டத்தை ஆதரிக்கிறது. தரவு தற்காலிகங்களில் சேமிக்கப்படுகிறது, அவை தொகுப்பின் பின்புற முனையில் உள்ள பதிவேடுகள் மற்றும் நினைவக இருப்பிடங்களுக்கு ஒதுக்கப்படுகின்றன. இரண்டு பின்புற முனைகள் தற்போது உள்ளன, ஒன்று மோட்டோரோலா 68000 அசெம்பிளி மொழியை உருவாக்குகிறது, மற்றொன்று ஏஆர்எம் கட்டமைப்பை உருவாக்குகிறது. ஹலோ உலக உதாரணத்திலிருந்து நான்கு மடங்கு வெளியீடு பின்வருமாறுஃ பாரம் l1 $கால் ரைட் _ ஸ்ட்ரிங் [புரோக் (ரிஃப் அரே சார்) வெற்றிடமானது] மற்றும் அசெம்பிளர் வெளியீடு பின்வருமாறுஃ சரம் "ஹலோ" xdef _ ஸ்டார்ட் அலைன் _ ஸ்டார்ட் xref _ வ்ராய்ட் _ ஸ்ட்ரிங் stmfd sp!, {rp} adr r0, _ l1 $bl _ வ்ராய்ட் _ ஸ்ட்ரிங் ldmfd sp!, {pc} முகவரி அலைன் _ l1 $சரம் "ஹலோ வேர்ல்ட்" நேரடி முடிவு சார்மின் சமீபத்திய வெளியீடுகளில், I/O நடைமுறைகள் அவற்றின் சொந்த தொகுதிகளாக உள்ளேயும் வெளியேயும் பிரிக்கப்பட்டுள்ளன. பிற நிலையான நூலக நடைமுறைகள் செயல்முறை குறிப்புகளை புலங்களாகக் கொண்ட பதிவுகளின் தொகுப்பாக ஒழுங்கமைக்கப்பட்டுள்ளன. இந்த மறுசீரமைப்பின் ஒரு பகுதியாக, எழுத _ சரம் முறை இப்போது நிலையான உறுப்பினர் குறிப்பு வழியாக இயக்க நேர நூலக தொகுதி அவுட் மூலம் செயல்படுத்தப்படுகிறது. மேலே உள்ள வணக்கம் உலக எடுத்துக்காட்டில் எழுது _ சரம் ("வணக்கம் உலகம்") Out.vdu.str ("வணக்கம் உலகம்") ஆகிறது. அசெம்ப்ளர் அறிவுறுத்தல் நினைவகம், தரவு அறிவிப்புகள் மற்றும் வழிகாட்டுதல்களை ஏற்றுக்கொள்கிறது மற்றும் இலக்கு செயலியின் CPU ஆல் எளிதில் புரிந்துகொள்ளக்கூடிய தகவல்களைக் கொண்ட ஒரு பொருள் கோப்பை உருவாக்குகிறது, குறிப்பாக பைனரியில் குறியிடப்பட்ட குறியீடு அறிவுறுத்தல்களில். லிங்கர் ஒன் மற்றும் செயல்படுத்தக்கூடிய நிரலை உருவாக்க இணைக்கப்பட்ட கவர்ச்சியான தொகுதிகளில் ஒன்று மட்டுமே கையொப்பங்களில் ஒன்றுடன் பொருந்தக்கூடிய ஒரு செயல்முறையைக் கொண்டிருக்க வேண்டும்ஃ ஏற்றுமதி புரோக் ~ தொடக்க () ஏற்றுமதி புரோக் ~ தொடக்க (இன்ட் ஆர்ஜிசி, ரெஃப் அரே ரெஃப் அரே சார் ஆர்ஜிவி) இது சி மற்றும் ஜாவா மொழிகளில் உள்ள முக்கிய செயல்பாட்டிற்கு ஒத்ததாகும். இங்கே ஆர்ஜிசி கட்டளை வரியில் அனுப்பப்பட்ட அளவுருக்களின் எண்ணிக்கையைக் கொண்டுள்ளது மற்றும் ஆர்ஜிவி ஆர்ஜிசி + 1 சரங்களின் வரிசையைக் குறிக்கிறது (வரிசையில் ஒரு நிலை அளவுருவுக்கு ஒரு சரம் மற்றும் ஒரு முடிவடையும் நில்). கூடுதலாக, தொகுதிகள் விருப்பப்படி நிரல் தொடக்க மற்றும் பணிநிறுத்தத்தின் போது அழைக்கப்படும் நிலையான தொடக்க மற்றும் பணிநிறுத்த நடைமுறைகளைக் கொண்டிருக்கலாம், அவை கையொப்பங்களுடன் பொருந்துகின்றனஃ ஏற்றுமதி புரோக் ~ தொடக்க () ஏற்றுமதி புரோக் ~ பணிநிறுத்தம் () நிரலைச் செயல்படுத்த இயக்க முறைமைக்குத் தேவையான எந்தவொரு தலைப்பு தகவலையும் இணைப்பான் சேர்க்கிறது, மேலும் இயக்க நேர நூலக அசெம்பிளர் ஆதரவு குறியீடு இயங்குவதை உறுதிசெய்கிறது, இது இயக்க நேர சூழலை (தரவு மற்றும் அடுக்கு சுட்டிகள்) அமைக்கிறது மற்றும் பயன்பாட்டின் தொடக்க செயல்முறைக்கு கட்டுப்பாட்டை அனுப்புகிறது. உலகளாவிய தரவு மற்றும் குறியீடு குறிப்புகளுடன் நிரலை உருவாக்க இணைக்கப்பட்டுள்ள அனைத்து தொகுதிகளின் பெயர்களையும் காட்டும் ஒரு வரைபடக் கோப்பு விருப்பப்படி தயாரிக்கப்படுகிறது, இது பிழைத்திருத்தக்காரர்கள் மற்றும் விவரக்குறிப்பாளர்களால் பயன்படுத்தப்படலாம். குறிப்புகள் வெளிப்புற இணைப்புகள் சார்ம் ஃபார் ஆர்ஐஎஸ்சி ஓஎஸ் ரிஸ்க் பிசி எம்யுலேட்டர் ஏஆர்எம் தகவல் மையம் நிரலாக்க மொழிகள் ஆர்ஐஎஸ்சி ஓஎஸ் நிரலாக்க கருவிகள் எடுத்துக்காட்டு குறியீட்டுடன் கட்டுரைகள்