Ezhil : A Tamil Programming Language
முனைவர் இரா.ஜீவாராணி
உதவிப் பேராசிரியர்
அய்ய நடார் ஜானகி அம்மாள் கல்லூரி (தன்னாட்சி)
சிவகாசி
முன்னுரை
தமிழ் மொழியில் நிரலாக்கம் என்பது பெரும் சவாலாகவே இருந்து வருகின்றது. இத்தகைய சாதனையைச் செய்தவர் முத்து அண்ணாமலை. இவர் எழில் (Ezhil) என்னும் தமிழ் மொழியில் எழுதக்கூடிய நிரலாக்க மொழியை உருவாக்கியுள்ளார். அதனைப் பற்றி இக்கட்டுரையில் காண்போம்.
நிரவாக்க மொழி – விளக்கம்
- நிரலாக்க மொழி என்பது கணினி மொழியாகும்,
- கணினியின் நடத்தையைக் கட்டுப்படுத்த புரோகிராம்கள் அல்லது அல்காரிதம்களை வடிவமைக்க அல்லது உருவாக்க நிரலாக்க மொழிகளைப் பயன்படுத்தலாம்.
- நிரலாக்க மொழி என்பது ஒரு நிலையான கட்டளை வடிவத்தை உருவாக்க வடிவமைக்கப்பட்ட கணினி மொழி.
- ஒரு நிரல் குறிமுறை (code) மூலம் அதனை என்ன செய்ய வேண்டும் என்று கட்டளைகளைக் கொடுக்க வேண்டும்.
ஆரம்ப கால கட்ட தமிழ் நிரலாக்க மொழிகள்
- ஆரம்ப கால கட்டத்தில் இன்றியமையாத நிரலாக்க மொழியாக ஸ்வரம் எனப்படும் நிரலாக்க மொழி அறிமுகப்படுத்தப்பட்டது. ஸ்வரம் எனப்படும் நிலையான-வகையான தமிழ்-மொழி அமைப்பு 2003 இல் அறிமுகப்படுத்தப்பட்டது.
- ஸ்வரம் என்பது சி-நிரலாக்க மொழியைப் போன்ற ஒரு அம்சத் தொகுப்பைக் கொண்ட ஒரு முழுமையான நிலையான நிரலாக்க மொழியாகும்.
- ஸ்வரம் தான் முதல் தமிழ் நிரலாக்க மொழி ஆகும்.
- ஸ்வரம் நிரலாக்க மொழி மிகவும் எளிதாக இருக்கும். இது ஆங்கிலம் மற்றும் தமிழ் அடையாளங்காட்டிகளைக் கலக்க அனுமதிக்கிறது.
- எந்தவொரு தமிழ் நிரலாக்க மொழி அமைப்பும் பயனுள்ளதாக இருக்க அது சில வடிவம்/வகைகளை வழங்க வேண்டும். அதனை ஸ்வரம் நிரலாக்க மொழி வழங்குகிறது.
- எழில் அமைப்பு ஸ்வரம் அமைப்பிலிருந்து சில சிறந்த யோசனைகளைச் சுதந்திரமாகக் கடன் வாங்குகிறது.
- தமிழ் மொழி நிரலைச் சமமான ஆங்கில மொழியாக மாற்றுவதற்கு முன்-செயலிகளைப் பயன்படுத்துவது அத்தகைய ஒன்றாகும்.
- யூனிகோட் (UTF-8)க்கான ஹாஷ்-ஜெனரேட்டரின் நிரல், மற்றொரு மொழியின் சட்ட சரங்களாகி தொகுக்கப்படும். விளைவாக நிரல். Pytham [3] (Python நிரலாக்க மொழியைக் குறிவைக்கிறது) போன்ற முன்-செயலிகள் இல்லை.
எழில் நிரலாக்க மொழியின் நோக்கம்
ஆங்கிலத்தின் துணையின்றி தமிழ் மொழியைக் கொண்டே எளிதாக நிரல் எழுதலாம். எழில் நிரல் மொழியில் தமிழச் சொற்களும், இலக்கணமும் மிக எளிதாக அமைக்கப்பட்டுள்ளன. அதே நேரத்தில் ஆங்கில மொழியை அடிப்படையாகக் கொண்டும் நிரலாக்கம செய்யலாம். எழில் நிரலாக்க மொழி 2007 ஆம் ஆண்டு முத்து அண்ணமலை அவர்களால் உருவாக்கப்பட்டு முறைப்படி 2009 ஆம் ஆண்டு முறைப்படி வெளியானது.
எழில் நிரலாக்க மொழி உருவாக்கப்பட காரணம்.
- கணினி நிரல் மொழிகளை எழுத விரும்புவோர், ஆங்கிலம் அறிந்திருக்க வேண்டும். காரணம் அம்மொழிகளுக்குரிய குறிச்சொற்கள் அனைத்தும் ஆங்கிலத்தில் அமைந்துள்ளன. இதனால், ஆங்கிலம் அறியாதோர் அல்லது ஓரளவுமட்டும் அறிந்தோர் நிரலாக்கத்துறையில் சிறந்த வல்லுனராக மாறுவ கடினம்.
- இந்நிலையை மாற்றுவதற்காக, ஆங்கிலம் அறியாதவர்களும் தங்கள் தாய்மொழியில் எளிதாக நிரல்களை எழுதும் நிலையைக் கொண்டுவருவதற்காகப் பலர் முயன்று வருகிறார்கள்.
- இவ்வகையில் பிரெஞ்சு, அரபி, உருசியம், ஜப்பானியம் உள்ளிட்ட பல மொழிகளில் கணினி நிரலாக்க மொழிகள் உருவாக்கப்பட்டுள்ளன. அந்த வரிசையில், எழில் தமிழ் மொழிக்குரிய நிரலாக்க மொழியாக உருவாகியுள்ளது.
தமிழ் இலக்கணப்படி எழில் நிரலாக்க மொழி
- எழில் மொழியே முதன்மையான தமிழ் நிரலாக்க மொழியாகும்.
- தமிழ் இலக்கணப்படி நிரலாக்க மொழிகள் உருவாக்கப்படுகின்றன. அவற்றில் ஒன்று தான் ”எழில்” என்ற நிரலாக்க மொழி
- இதில் தமிழ் கலைச் சொற்களைக் கொண்டே நிரல்கள் எழுத முடியும்.
- இது விலை இல்லாமல் கிடைக்கக்கூடிய ஒரு நிரல் மொழியாகும். இம்மொழி பைத்தான் என்ற மொழியுடன் ஒத்து இயங்கும்படி உருவாக்கப்பட்டுள்ளது.
- பைத்தானின் நிரலகங்களைப் பயன்படுத்தி இயங்கும் இந்த மொழியில், ஆங்கிலத்திலும் நிரல்களை எழுத முடியும்.
- மாணவர்கள் edit-compile-re-edit-compileexecute சுழற்சிக்குப் பதிலாக, உடனடி பின்னூட்டத்தில் எடிட்-ரன்-எடிட்-ரன் சுழற்சிமூலம் கற்றுக்கொள்ள வேண்டும்.
- மேலும் மொழி சொற்பொருள்கள் முடிந்தவரை நெருக்கமாகப் பின்பற்றுகின்றன
எழில் நிரலாக்க மொழி அமைப்பு:
- பகுத்தறிவு மற்றும் தர்க்கத்தின் சங்கிலி தமிழ் மொழியிலேயே பின்பற்றப்படுகிறது. இதன் விளைவாக வரும் தொடரியல் அதில் குறிப்பிடத் தக்க அம்சமாகும்.
- LISP போன்ற வெளிப்பாட்டைத் தொடர்ந்து வரும் முன்னறிவிப்பு, இது தமிழரின் இயல்பான பகுத்தறிவு வழி மொழி இலக்கணம். நிபந்தனை அறிக்கைகள் IF-ELSEIF-ELSE அறிக்கையின் படி வடிவமைக்கப்பட்டுள்ளன.
- மாறிக் கிளை SELECT-CASE அறிக்கையைத் தொடர்ந்து அறிக்கை, அறிக்கை மற்றும் பல லூப் கட்டுப்பாட்டு அறிக்கைகள் பெறப்பட்டவை. செயல்பாட்டு அறிவிப்பு தொடரியல் எளிமையாக வைக்கப்பட்டுள்ளது. இவை அட்டவணையில் வழங்கப்பட்டுள்ளது.
Keyword List
ஆக – for | பின்கொடு – return |
ஆனால் – if | தேர்ந்தெடு – select |
இல்லைஆனால் – elseif | தேர்வு – case |
இல்லை – else | செய் – do |
தொடர் – continue | வரை – while |
Control Flow Statement syntax
IF-ELSE IF ELSE statement | SELECT-CASE statement |
@(X<>Y) ஆனால் ## பல விஷயம் செய்க @(அ+ஆ) இல்லைஆனால் ## சில செய்க இல்லை ## கடைசி செய்க முடி | @(அ+ஆ) தேர்ந்தெடு தேர்வு @ (ஆ) ஏதேனில் ## கடைசி செய்க முடி |
FOR Loop | While Loop |
ஆக (x) முடி | @(X< O) வரை ## பல விஷயம் செய்க முடி |
Do Until | Function declaration syntax |
செய் ## பல விஷயம் செய்க முடியேனில் @ (X<o) | நிரல்பாகம் [பெயர்]@ ( ) முடி |
எழில் அமைப்பு செயல்படும் விதம்
- எழுதும் நேரத்தில் எழில் மொழி பைதான் நிரலாக்கத்தில் பொருள் சார்ந்த பாணியில் செயல்படுத்தப்படுகிறது.
- மொழி. மொழிபெயர்ப்பாளரின் மையமானது கையால் எழுதப்பட்ட லெக் சிக்கல் பகுப்பாய்வு மற்றும் சுழல்நிலை வம்சாவளி பாகுபடுத்துதல் ஆகியவற்றை அடிப்படையாகக் கொண்டது.
- நிரல் குறியீடு பைதான் ஏஎஸ்டி பொருள்களாகவும், பைத்தானுக்கு முழு அணுகலுடன் பைதான் பொருள்களாகவும் செயல்படுத்துகிறது
- குறியீட்டின் மொத்த அளவுக் கருத்துகள் இல்லாமல் 1350 கோடுகளைக் கொண்டுள்ளது. மொழிபெயர்ப்பாளர் குறியீடுகீழ் உரிமம் பெற்றுள்ளது
- GNU-GPL, மற்றும் URL இலிருந்து மேம்பாட்டு நோக்கங்களுக்காகப் பதிவிறக்கம் செய்யலாம்
- பைதான் பில்டின் செயல்பாடுகள் மற்றும் பைதான் நூலகங்களின் மற்ற பகுதிகளுக்குச் சாத்தியமான நீட்டிப்புகள் ஒத்த முறையில். வரிசைகள், பட்டியல்கள், அகராதிகள் ஆகியவற்றிற்கு ஆதரவை வழங்குவதற்கு மொழி ஆதரவைச் சேர்ப்பதே எதிர்கால வேலை.
- பொது நோக்கச் சேமிப்பு. வரிசை வகைகளுக்கு வலுவான வகை சரிபார்ப்பு, பொருந்தக்கூடிய குறியீடுகள் மற்றும் வகைகளைத் துவக்குதல் ஆகியவை தேவையான ஒன்று.
தொகுப்புரை
- நிரலாக்க மொழி என்பது கணினி மொழியாகும், இது குறிப்பாகக் கணினியுடன் தொடர்பு கொள்ள வடிவமைக்கப்பட்டுள்ளது.
- ஆரம்ப கால கட்டத்தில் இன்றியமையாத நிரலாக்க மொழியாக ஸ்வரம் எனப்படும் நிரலாக்க மொழி அறிமுகப்படுத்தப்பட்டது.
- அதன் பின் ஆங்கிலத்தின் துணையின்றி தமிழ் மொழியைக் கொண்டே எளிதாக நிரல் எழுத எழில் என்னும் நிரலாக்க மொழி அறிமுகப்படுத்தப்பட்டது.
- தமிழ் இலக்கணப்படி நிரலாக்க மொழிகள் உருவாக்க ”எழில்” என்ற நிரலாக்க மொழி பயன்படுகிறது.
துணைநின்றவை
1. S.G. Ganesh, G.R. Prakash and K.K. Ravi Kumar, An overview of ‘Swaram’ : A programming language in Tamil, Proceedings of Tamil Internet Conference, 2003.
2. Guido Van Rossum, FL Drake Jr , Extending and embedding the Python interpreter , Amsterdam: Stichting Mathematisch Centrum, 1995.
3. R. Ganesh, An overview of ‘Swaram’ : Pytham: Python Pre-Processor Utility, Proceedings of Tamil Internet Conference, 2003 .
4. McCarthy, Recursive Functions of Symbolic Expressions and their Computation by Machine, Part I, CACM, April, 1960. 5. Muthiah Annamalai, Ezhil Language Project http://students.uta.edu/mx/mxa6471/download.html.