தமிழில் சி லாங்குவேஜ்
கணிணி மொழி (computer language)
இனி கணிணி லாங்குவேஜ் பற்றி இங்கு காண்போம். இந்த லாங்குவேஜ் முதலாம் தலைமுறை லாங்குவேஜ் (first generation language), இரண்டாம் தலைமுறை லாங்குவேஜ் (second generation language) மற்றும் மூன்றாம் தலைமுறை லாங்குவேஜ் (third generation language) என மூன்று வகைப்படும்.
Types of Languages:
1) முதலாம் தலைமுறை லாங்குவேஜ் (first generation language) அல்லது மெஷின் லாங்குவேஜ் (machine level language)
2) ), இரண்டாம் தலைமுறை லாங்குவேஜ் (second generation language) அல்லது அசெம்ப்ளி லாங்குவேஜ் (assembly level language)
3) மூன்றாம் தலைமுறை லாங்குவேஜ் (third generation language) அல்லது ஹை லெவல் லாங்குவேஜ் (high level language)
முதலாம் தலைமுறை லாங்குவேஜ் (first generation language) அல்லது மெஷின் லாங்குவேஜ் (machine level language)
இந்த முதலாம் தலைமுறை லாங்குவேஜ் (first generation language) அல்லது மெஷின் லாங்குவேஜ் (machine level language) என்பது பைனரி (binary) எண் 0 அல்லது1 என்ற முறையில் இருக்கும். இந்த முறை படிக்கவும் எழுதவும் மிகவும் கடினமான முறையாகும்.
எடுத்துக்காட்டாக இம்முறையில் 1 என்ற எண் 0001 என்று குறிப்பிடப்படும். 2 என்ற எண் 0011 என்று குறிப்பிடப்படும். 02 என்பது 00000011 என்று குறிக்கப்படும். இதில் 0 1 போன்ற ஒவ்வொரு எண்ணும் ஒரு பிட் (bit) என்றழைக்கபடும்.
இரண்டாம் தலைமுறை லாங்குவேஜ் (second generation language) அல்லது அசெம்ப்ளி லாங்குவேஜ் (assembly level language)
இந்த இரண்டாம் தலைமுறை லாங்குவேஜ் (second generation language) அல்லது அசெம்ப்ளி லாங்குவேஜ் (assembly level language) கட்டளைகளைகக் கொண்டு அமைக்கப்படும் லாங்குவேஜ் ஆகும். இந்த கட்டளைகள் மினேமோனிக்ஸ் (mnemonics’) என்று அழைக்கப்படும். இதனை executeசெய்யும்போது mnemonics ஆனது machine level language 0,1 ஆக மாற்றப்பட்டு செயல்ப்படுத்தபடும். இது போன்று கட்டளைகளைக் கொண்டு அமைக்கப்பட்ட லாங்குவேஜ் ப்ரோக்ராம் (program) என்று அழைக்கப்படும்.
இதில் மினேமோனிக்ஸ் source program எனவும் machine language (0,1) ஆப்ஜெக்ட் (object) languageஎனவும் அழைக்கப்படும்.
எடுத்துக்காட்டாக mov a,b , mul a,b என்று இருக்கும்
மூன்றாம் தலைமுறை லாங்குவேஜ் (third generation language) அல்லது ஹை லெவல் லாங்குவேஜ் (high level language) என்பது ஆங்கில மொழி கட்டளைகளைகயும் குறியீட்டையும் (English language instructions and symbols) கொண்டு அமைக்கப்பட்ட ஒரு program ஆகும். இங்கு source program ஆனது compiler உதவியால் object program ஆக மாற்றப்பட்டு linker உதவியால் input (keyboard,mouse, etc..) மற்றும் output (monitor, printer, etc..) உடன் இணைக்கப்படும். இவையனைத்தும் compile time-ல் நடைபெறும். Execute time-ல் user- ரிடம் இருந்து input பெற்று output தருகிறது. தற்போது இந்த மூன்றாம் தலைமுறை லாங்குவேஜ் (third generation language) அல்லது ஹை லெவல் லாங்குவேஜ் (high level language) தான் அதிகம் பயன்படுத்தப்படுகிறது.
கணிணி லாங்குவேஜ் பயிள்கையில் சி லாங்குவேஜ் என்பது அடிப்படையாகும். இனி சி லாங்குவேஜ் பற்றி காண்போம்.
சி லாங்குவேஜ் ஒரு அறிமுகம். (Introduction of c language)
C language ஆனது மூன்றாம் தலைமுறை கணிணி மொழியாகும். இது டென்னிஸ் ரிட்ச் (Dennis Ritchie) என்பவரால் 1970-ல் பெல் ஆய்வுக்கூடத்தில் (Bell Laboratories) கண்டுபிடிக்கப்பட்டது.
சி லாங்குவேஜ் – ல் பயன்படுத்தப்படும் எழுத்துக்கள், எண்கள் மற்றும் குறியீடுகள்.
1) ஆங்கில எழுத்துக்கள் (alphabets) upper case (A – Z) மற்றும் Lower case (a – z)பயன்படுத்தபடுகின்றது.
2) எண்கள் (நம்பர்ஸ்) (0 – 9) பயன்படுத்தப்படுகின்றது.
3) மேலும் சில குறியீடுகளும் பயன்படுத்தப்படுகின்றது.
.
சி லாங்குவேஜ் ல் பயன்படுத்த்ப்படும் குறியீடுகளவான கீழே தரப்பட்டுள்ளது.
Ø + (plus) பிளஸ்
Ø - (minus) மைனஸ்
Ø * (asterisk) அஸ்டெரிக்
Ø / (forward slash) ஃபார்வார்டு ஷிலாஷ்
Ø % (percent / modulo) பர்சண்ட் / மாடுலோ
Ø \ (back slash) பேக் ஷிலாஷ்
Ø : (colon) கொலோன்
Ø ; (semicolon) சேமிகொலோன்
Ø . (dot / full stop) டாட் / ஃபுல் ஸ்டாப்
Ø ‘ (single quote) சிங்கிள் குவோட்
Ø “ (double quote) டபுள் குவோட்
Ø & (ampersand) ஆம்பர்ஸண்ட்
Ø ! (exclamation) எக்ஷ்க்லமேசன்
Ø | (vertical bar / pipe symbol) வெர்டிகல் பார் / பைப் சிம்பல்
Ø < (lesser than) லெஸ்சர் தண்
Ø > (greater than) க்ரேட்டர் தண்
Ø + (equal) ஈக்வல்
Ø [ (open square bracket) ஓபன் ஸ்குயர் ப்ராக்கெட்
Ø ] (close square bracket) குளோஸ் ஸ்குயர் ப்ராக்கெட்
Ø ( (open parenthesis) ஓபன் பாரெந்தெசிஸ்
Ø ) (close parenthesis) குளோஸ் பாரெந்தெசிஸ்
Ø { (open brace) ஓபன் பிரேஸ்
Ø } (close brace) குளோஸ் பிரேஸ்
Ø , (comma) கமா
Ø _ (underscore) அண்டர் ஸ்கோர்
Identifier
Identifier என்பது variable name எனவும் அழைக்கப்படும். நாம் நம்முடய data வை தற்க்காலிகமாக சேவ் செய்து வைக்க ஒரு மெமரி (memory) உருவாக்கப்பட்டு அதில் நம் data சேவ் செய்யப்படும். அந்த ஒவ்வொரு memory space க்கும் ஒரு தனி தனி பெயர் தரப்படும். எவ்வாறு ஒவ்வொரு மனிதனுக்கும் ஒரு பெயர் உள்ளதோ அதுபோல ஒவ்வொரு memory space க்கும் ஒரு தனி தனி பெயர் இருக்கும். அந்த பெயரைக்கொண்டுதான் நம் data வை எடுத்து பயன்படுத்த முடியும். இவ்வாறு ஒரு டேட்டாவை நாம் அடையாளம் (identification) காண இந்த பெயர் பயன்படுத்தப்படுவதால் இதற்க்கு identifier என்று பெயர். இந்த identifier name ஆக ஒரு ஆங்கில எழுத்து (single letter / character) முதல் 31 ஆங்கில எழுத்துக்கள் (31 letter / character) வரை பயன்படுத்தலாம். எழுத்து மட்டும் அல்ல எண்கள் மற்றும் _ (underscore) போன்றவற்றையும் கலந்து உபயோகபடுத்தலாம்.
எடுத்துக்காட்டாக name, name1, a, A, cus_name என பயன்படுத்தலாம்.
Identifier க்கான வரையறை (rules of identifier)
Ø Identifier இன் முதல் எழுத்தானது ஆங்கில எழுத்தாக(character) மட்டுமே இருக்கவேண்டும். அது (capital or small letter) a – z அல்லது A – Z என எப்படி வேண்டுமானாலும் இருக்கலாம்.
Ø ஒதுக்கப்பட்ட (keywords or reserved words) வார்தைகளாக இருக்கவேக்கூடாது. ஒதுக்கப்பட்ட (keywords or reserved words) வார்தைகள்
என்றால் என்ன என்பதை கீழே காண்க.
Ø Function name ஆக இருக்கவேக்கூடாது.
Ø Symbolic constant ஆக இருக்ககூடாது. அதாவது pi, sigma போன்று இருக்கவேக்கூடாது.
ஒதுக்கப்பட்ட வார்தைகள் (keywords or reserved words)
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
மேற்க்கண்ட வார்த்தைகள் அனைத்தும் ஒதுக்கப்பட்ட வார்தைகள் (keywords or reserved words)ஆகும். இந்த வார்த்தைகளை identifier ஆக பயன்படுத்த முடியாது. மேலும் சி லாங்குவேஜ் ஆனது பெரிய மற்றும் சிறிய எழுத்துகளை தனித்தனியாக பிரித்துணரும் திறன் கொண்டது. எனவேkeywords அனைத்தும் சிறிய எழுதுகளிலேயே (lower case) இருக்க வேண்டும்.
Tokens
சி லாங்குவேஜ் ஆனது எழுத்துக்கள் எண்கள் மற்றும் குறியீடுகளைக் கொண்டு அமைக்கப்படுவது என உங்களுக்கு தெரியும். இவை token எனப்படும். இதில் 6 வகையான tokenஉள்ளன. அவை
Ø Keywords
Ø Constants
Ø Identifiers
Ø String literals
Ø Operators
Ø Separators
இதில் keyword மற்றும் identifiers என்றால் என்ன என்பதை நாம் அறிவோம். மற்றவற்றை கீழே காண்போம்.
Constant மாறிலி
Constant மாறிலி என்பது “இதனுடைய மதிப்பானது program execution time முழுவதும் மாறாமல் இருக்கும்”. இதையே மாறிலி constant என்கிறோம்.
உதாரணமாக 1, 12,345, 30.40 போன்ற எண்களின் மதிப்பை மாற்ற முடியுமா? முடியாது. 1 இன் மதிப்பு எப்பவுமே ஒன்றுதான். 1இன் மதிப்பை 3 எனவோ அல்லது 5 எனவோ மாற்ற முடியுமா? முடியாதல்லவா? இது தான் constant மாறிலி எனப்படும்.
Types of constants (மாறிலியின் வகைகள்)
பொதுவாக constant ஐ 2 ஆக பிரிக்கலாம்.
1) Numeric constant
2) String or character constant
Numeric constant
Numeric constant என்பது எண்களை அடிப்படையாகக் கொண்டு அமைக்கப்படுவது ஆகும்.
இந்த numeric constant ஐ 2 ஆக பிரிக்கலாம். அவை
1) Integer constant
2) Real or floating point constant
Integer Constant
Integer constant என்பது முழு எண்களைக் கொண்டு அமைக்கப்படுவதாகும்.
எடுத்துக்காட்டாக 50 +100 -26 போன்றவையாகும்.
Real or floating point constant
இது புள்ளி எண்களை (fractional numbers) கொண்டு அமைக்கப்படுவதாகும்.
எடுத்துக்காட்டாக 50.02 +356.32 -286.54 போன்றவையாகும்
Character constant
இதில் எழுத்துக்கள் மற்றும் குறியீடுகள் ஆகியவை அடங்கும். இவை அனைத்தும் சிங்கிள் குவோட் – குல் இருக்கும்.
எடுத்துக்காட்டாக ‘a’, ‘$’, ‘-‘ போன்றவையாகும்
0 comments:
Post a Comment