நிரல்மொழிமாற்றி

நிரல்மொழிமாற்றி அல்லது தொகுப்பி (compiler) என்பது ஒரு நிரல் மொழியில் எழுதப்பட்ட நிரலை (source program), இன்னுமொரு நிரல் மொழிக்கு மாற்றும் ஒரு நிரல் (object level program) ஆகும். பொதுவாக சி++, ஜாவா போன்ற ஒரு மேல்நிலை மொழிகளில் இருந்து நிரல் மொழிமாற்றி கீழ்நிலை பொறி மொழிக்கு மாற்றும்.  நிரல் எழுதப்பட்ட மொழி மூல மொழி என்றும், அது மாற்றப்படும் மொழி பெயர்ப்பு மொழி என்றும் அழைக்கப்படும்.

கணினி வன்பொருள்கள் பொறி மொழியையே புரிந்து கொள்வதால் ஒரு மேல் நிலையில் எழுதப்பட்ட ஒரு நிரல் கணினியில் இயங்குவதற்கு நிரல்மொழிமாற்றி அவசியம்.  இணையாக, ஏற்கனவே மொழிமாற்றப்பட்ட நிறைவேற்றத்தகு நிரலாக  இருந்தாலும் கணினி அந்நிரலை நிறைவேற்றும். கணினி இயங்கும் நேரத்தில் மொழிமாற்றும் நிரல் மொழிமாற்றிகள் interpreters எனப்படும்.

ஒரு நிரல்மொழிமாற்றியில் ஆறு கட்டங்கள் உள்ளன. அவை  பின்வருமாறு
சொல் பகுப்பாய்வு (Lexical analysis)
தொடரியல் பகுப்பாய்வு (Syntax analysis)
சொற்பொருளியல் பகுப்பாய்வு (Semantic analysis)
இடைநிலை குறியீடு உருவாக்கம் (Generation of intermediate code)
குறியீடு தேர்வுமுறை (Code optimisation)
குறியீடு உருவாக்கம் (Code generation)

சொல் பகுப்பாய்வு: 
ஒரு தொகுப்பியின்  சொல் பகுப்பாய்வு நிலையின் போது, உள்ளீடு சரம் (input string) அடையாளங்களாக (token) மாற்றப்படுகிறது.

தொடரியல் பகுப்பாய்வு: 
தொடரியல் பகுப்பாய்வின் போது, ஒரு டோக்கன் என்பது மரம் என்று அழைக்கப்படும் தொடரியல் மரம் (syntax tree) அல்லது இட மரமாக (parse tree) மாற்றப்படுகிறது.

சொற்பொருளியல் பகுப்பாய்வு: 
சொற்பொருளியல் பகுப்பாய்வு நிலையின் போது, இட மரத்தின் நிலைத்தன்மை சோதிக்கப்படுகிறது. மேலும் அதில் இருக்கும் மேலும் சீரற்ற காரணி நீக்கப்படும்.

இடைநிலை குறியீடு உருவாக்கம்: 
இடைநிலை குறியீடு என்பது நிலை நிரல் மற்றும் மூல நிலை நிரலுக்கு இடையில் உள்ள ஓர் குறியீடு ஆகும். அது போன்ற ஒரு குறியீடு இந்த கட்டத்தில் உருவாக்கப்படுகிறது.

குறியீடு தேர்வுமுறை: 
இடைநிலை குறியீடு செயலாக்காப் படிகள் எண்ணிக்கையை குறைத்தல்.

குறியீடு உருவாக்கம்: 
உகந்த குறியீட்டை உருவாக்க உதவும்.

நுட்பியல் சொற்கள் 
 நிரல்மொழிமாற்றி - Compiler
 மேல்நிலை நிரல்மொழி - High Level Languages
 கீழ்நிலை நிரல்மொழி - Low Level Languages
 மூல மொழி - Source Language or Source Code
 பெயர்ப்பு மொழி - Target Language 
 வன்பொருள் - Hardware
 பொறி மொழி - Machine Language
 நிறைவேற்றத்தகு நிரல் - Executable Program
 நிறைவேற்று- Execute
 Source Code Optimizer - மூல மொழி ஊகவுறுத்தி
 Code Generator - குறிமுறை இயற்றி/நிரல் இயற்றி
 Target Code Optimizer - பெயர்ப்பு மொழி ஊகவுறுத்தி

கருத்தியல் கணிமை
நிரல்மொழிமாற்றி
அமெரிக்கக் கண்டுபிடிப்புகள்