కంపైలర్: కూర్పుల మధ్య తేడాలు

పంక్తి 12:
ఒక కంపైలర్ హై లెవల్ ప్రోగ్రామును మెషీన్ భాషకు మార్చడంలో వివిధ దశలున్నాయి.
# నైఘంటిక విశ్లేషణ (lexical analysis)
# వాక్యవ్యాకరణ విశ్లేషణ (syntactic analysis)
# అర్థ విశ్లేషణ (semantic analysis)
# క్రమణికల ఉత్ప్పత్తి (code generation)
# సర్వోత్తమ క్రమణికల ఎంపిక (code optimization)
# కోడ్ ఆప్టిమైజేషన్
ఈ దశలని ఇప్పుడు వివరంగా పరిశీలిద్దాం.
 
నైఘంటిక విశ్లేషణ (lexical analysis): ఈ దశలో క్రమణికని ఆనవాళ్లు (tokens) గా విరగ్గొడతారు.
లెక్సికల్ అనాలిసిస్ లో కంప్యూటర్ ప్రోగ్రామును టోకెన్లు (విడి భాగాలు) గా విభజిస్తారు. వీటికోసం రెగ్యులర్ ఎక్స్‌ప్రెషన్లను వాడతారు. సింటాక్స్ అనాలిసిస్ లో పైన విభజించిన విడిభాగాలు వ్యాకరణ పరంగా సరియైన ప్రోగ్రామును ఏర్పరుస్తాయో లేదో నిర్ణయిస్తుంది. అంతే కాకుండా టోకెన్ల నుంచి సింటాక్స్ ట్రీను నిర్మిస్తారు. సిమాంటిక్ విశ్లేషణలో ప్రోగ్రాము అర్థవంతమైనదా లేదా అని పరీక్షిస్తారు.
కోడ్వ్యాకరణ జనరేషన్విశ్లేషణ దశలోలో సింటాక్స్పైన ట్రీవిభజించిన లనివిడిభాగాలు వ్యాకరణ పరంగా సరియైన క్రమణికని ఏర్పరుస్తాయో లేదో నిర్ణయిస్తారు. అంతే కాకుండా ఆనవాళ్లని ఉపయోగించి వ్యాకరణ వృక్షాన్ని (syntax tree) నిర్మిస్తారు. తరువాత అర్థ విశ్లేషణ చేసి క్రమణిక అర్థవంతంగా ఉందో లేదో పరీక్షిస్తారు. క్రమణికల ఉత్ప్పత్తి దశలో వ్యాకరణ వృక్షాన్ని ఆధారంగా చేసుకుని ఒక మధ్యస్థ స్థాయి భాషలో ఇన్‌స్ట్రక్షన్స్ఆదేశాలు (instructions) గా మారుస్తారు. కోడ్సర్వోత్తమ క్రమణికల ఆప్టిమైజేషన్ఎంపిక దశలో ప్రోగ్రామ్క్రమణికల సామర్థ్యాన్ని పెంచడానికి ఇన్‌స్ట్రక్షన్స్ఆదేశాల నిర్మాణంలో మార్పులు చేస్తారు.
 
== మూలాలు ==
"https://te.wikipedia.org/wiki/కంపైలర్" నుండి వెలికితీశారు