కంపైలర్: కూర్పుల మధ్య తేడాలు
Luckas-bot (చర్చ | రచనలు) చి r2.7.1) (యంత్రము కలుపుతున్నది: ia:Compilator |
చి r2.7.2) (యంత్రము కలుపుతున్నది: ky:Компилер |
||
పంక్తి 56: | పంక్తి 56: | ||
[[kk:Компилятор]] |
[[kk:Компилятор]] |
||
[[ko:컴파일러]] |
[[ko:컴파일러]] |
||
[[ky:Компилер]] |
|||
[[la:Compilatrum]] |
[[la:Compilatrum]] |
||
[[lt:Kompiliatorius]] |
[[lt:Kompiliatorius]] |
02:30, 24 ఏప్రిల్ 2012 నాటి కూర్పు
ఈ వ్యాసం లేదా వ్యాసభాగాన్ని విస్తరించవలసి ఉంది. సముచితమైన సమాచారంతో వ్యాసాన్ని విస్తరించండి. విస్తరణ పూర్తయిన తర్వాత, ఈ నోటీసును తీసివేయండి. |
కంపైలర్ (Compiler) అనగా హై లెవల్ ప్రోగ్రామింగ్ భాషలో రాసిన ప్రోగ్రాములను కంప్యూటర్ కు అర్థమయ్యే మెషీన్ భాషకు తర్జుమా చేసే ఒక సాఫ్టువేరు. ప్రతి హై లెవల్ భాషకు ఒక కంపైలర్ ఉంటుంది. ఒక భాషకు కంపైలర్ తయారు చేయాలంటే ముందు ఆ భాషకు వ్యాకరణాన్ని (గ్రామర్) ను రూపొందించాలి. ఈ వ్యాకరణాన్ని అనుసరించి మనం రాసిన ప్రోగ్రాములను కంపైలర్ సరియైనదా? కాదా? అనేది నిర్ణయిస్తుంది. మెషీన్ భాష నుంచి హైలెవెల్ కంప్యూటర్ భాషకు మార్చే సాఫ్టువేర్లను డీకంపైలర్ అని వ్యవహరిస్తుంటారు.
చరిత్ర
కంప్యూటర్ కనుగొన్న తొలినాళ్ళలో కొన్ని సంవత్సరాలపాటు సాఫ్టువేర్ ను అసెంబ్లీ భాషలో రాసేవారు.
ఒక కంపైలర్ హై లెవల్ ప్రోగ్రామును మెషీన్ భాషకు మార్చడం లో వివిధ దశలున్నాయి.
- లెక్సికల్ అనాలిసిస్
- సింటాక్స్ అనాలిసిస్
- సిమాంటిక్ అనాలిసిస్
- కోడ్ జనరేషన్
- కోడ్ ఆప్టిమైజేషన్
లెక్సికల్ అనాలిసిస్ లో కంప్యూటర్ ప్రోగ్రామును టోకెన్లు (విడి భాగాలు) గా విభజిస్తారు. వీటికోసం రెగ్యులర్ ఎక్స్ప్రెషన్లను వాడతారు. సింటాక్స్ అనాలిసిస్ లో పైన విభజించిన విడిభాగాలు వ్యాకరణ పరంగా సరియైన ప్రోగ్రామును ఏర్పరుస్తాయో లేదో నిర్ణయిస్తుంది. అంతే కాకుండా టోకెన్ల నుంచి సింటాక్స్ ట్రీ ను నిర్మిస్తారు. సిమాంటిక్ విశ్లేషణలో ప్రోగ్రాము అర్థవంతమైనదా లేదా అని పరీక్షిస్తారు. కోడ్ జనరేషన్ దశలో సింటాక్స్ ట్రీ లని ఆధారంగా చేసుకుని ఒక మధ్యస్థ స్థాయి భాషలో ఇన్స్ట్రక్షన్స్ గా మారుస్తారు. కోడ్ ఆప్టిమైజేషన్ దశలో ప్రోగ్రామ్ సామర్థ్యాన్ని పెంచడానికి ఇన్స్ట్రక్షన్స్ నిర్మాణంలో మార్పులు చేస్తారు.