நிரல்மொழிமாற்றி
நிரல்மொழிமாற்றி அல்லது தொகுப்பி (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 - பெயர்ப்பு மொழி ஊகவுறுத்தி