కంపైలర్ మరియు సమీకరించేవారి మధ్య వ్యత్యాసం
విషయము
ప్రోగ్రామ్ అమలులో కంపైలర్ మరియు అస్సెంబ్లర్ ముఖ్యమైన పాత్ర పోషిస్తాయి. కొన్ని కంపైలర్లు అసెంబ్లీ కోడ్కు బదులుగా ఎక్జిక్యూటబుల్ కోడ్ను నేరుగా ఉత్పత్తి చేస్తాయి. కంపైలర్ ప్రిప్రాసెసెస్డ్ సోర్స్ కోడ్ను తీసుకొని అసెంబ్లీ కోడ్లోకి అనువదిస్తుంది. సమీకరించేవాడు కంపైలర్ నుండి అసెంబ్లీ కోడ్ను తీసుకొని దానిని పున oc స్థాపించదగిన యంత్ర కోడ్కు అనువదిస్తాడు. ఈ వ్యాసంలో, క్రింద చూపిన పోలిక చార్ట్ సహాయంతో కంపైలర్ మరియు సమీకరించేవారి మధ్య తేడాలను చర్చించాను, ఒక్కసారి చూడండి.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | కంపైలర్ | సమీకరించేది |
---|---|---|
ప్రాథమిక | అసెంబ్లీ భాషా కోడ్ను లేదా నేరుగా ఎక్జిక్యూటబుల్ కోడ్ను ఉత్పత్తి చేస్తుంది. | పున oc స్థాపించదగిన యంత్ర కోడ్ను ఉత్పత్తి చేస్తుంది. |
ఇన్పుట్ | ముందే ప్రాసెస్ చేసిన సోర్స్ కోడ్. | అసెంబ్లీ భాషా కోడ్. |
దశలు / పాస్లు | సంకలన దశలు లెక్సికల్ ఎనలైజర్, సింటాక్స్ ఎనలైజర్, సెమాంటిక్ ఎనలైజర్, ఇంటర్మీడియట్ కోడ్ జనరేషన్, కోడ్ ఆప్టిమైజేషన్, కోడ్ జనరేషన్. | సమీకరించినవాడు ఇచ్చిన ఇన్పుట్పై రెండు పాస్లు చేస్తాడు. |
అవుట్పుట్ | కంపైలర్ సృష్టించిన అసెంబ్లీ కోడ్ మెషిన్ కోడ్ యొక్క జ్ఞాపక సంస్కరణ. | సమీకరించేవాడు సృష్టించిన పున oc స్థాపించదగిన యంత్ర కోడ్ బైనరీ కోడ్ ద్వారా సూచించబడుతుంది. |
కంపైలర్ యొక్క నిర్వచనం
ది కంపైలర్ ఒక కంప్యూటర్ ప్రోగ్రామ్, ఇది మూల భాషలో వ్రాసిన ప్రోగ్రామ్ను చదివి, దానికి సమానమైనదిగా అనువదిస్తుంది అసెంబ్లీ భాష మరియు అసెంబ్లీ భాషా కోడ్ను ఫార్వార్డ్ చేస్తుంది సమీకరించేది. అసెంబ్లీ కోడ్కు సోర్స్ కోడ్ను అనువదించినప్పుడు కంపైలర్ కూడా నివేదిస్తుంది లోపం దాని వినియోగదారుకు సోర్స్ కోడ్లో.
కంపైలర్లను కూడా వర్గీకరించారు సింగిల్-పాస్, మల్టీ-పాస్, లోడ్-అండ్-గో, డీబగ్గింగ్ మరియు ఆప్టిమైజేషన్. కంపైలర్ ఏ ఫంక్షన్ చేస్తుంది మరియు ఎలా నిర్మించబడింది అనే దాని ఆధారంగా వర్గీకరణ జరుగుతుంది. ఈ సంక్లిష్టతలు ఉన్నప్పటికీ, కంపైలర్ యొక్క ప్రాథమిక పని అలాగే ఉంటుంది.
సంకలనం రెండు భాగాలుగా జరుగుతుంది, విశ్లేషణ భాగం మరియు సంశ్లేషణ భాగం. ది విశ్లేషణ భాగం సోర్స్ కోడ్ను రాజ్యాంగ ముక్కలుగా విభజిస్తుంది మరియు సోర్స్ కోడ్ యొక్క ఇంటర్మీడియట్ ప్రాతినిధ్యాన్ని ఏర్పరుస్తుంది. ది సంశ్లేషణ భాగం ఇంటర్మీడియట్ ప్రాతినిధ్యం నుండి లక్ష్య కోడ్ను రూపొందిస్తుంది.
సంకలనం క్రింది దశలలో నిర్వహిస్తారు:
లెక్సికల్ ఎనలైజర్, సింటాక్స్ ఎనలైజర్, సెమాంటిక్ ఎనలైజర్, ఇంటర్మీడియట్ కోడ్ జెనరేటర్, కోడ్ ఆప్టిమైజర్, కోడ్ జెనరేటర్, సింబల్ టేబుల్ మరియు ఎర్రర్ హ్యాండ్లర్.
- ది లెక్సికల్ ఎనలైజర్ సోర్స్ కోడ్ యొక్క అక్షరాలను చదువుతుంది మరియు వాటిని సమూహపరుస్తుంది టోకెన్ల ప్రవాహాలు. ప్రతి టోకెన్ వంటి అక్షరాల తార్కిక క్రమాన్ని సూచిస్తుంది కీవర్డ్, ఐడెంటిఫైయర్స్, ఆపరేటర్లు. టోకెన్ను రూపొందించే అక్షర క్రమాన్ని అంటారు లేక్జీం.
- ది సింటాక్స్ ఎనలైజర్ లెక్సికల్ ఎనలైజర్ మరియు గ్రూపుల టోకెన్ల నుండి పొందిన టోకెన్ను పార్స్ చేస్తుంది క్రమానుగత నిర్మాణం.
- ది సెమాంటిక్ ఎనలైజర్ ఏదైనా సోర్స్ కోడ్ను తనిఖీ చేస్తుంది అర్థ లోపం.
- ఇంటర్మీడియట్ కోడ్ జెనరేటర్ ఉత్పత్తి చేస్తుంది ఇంటర్మీడియట్ ప్రాతినిధ్యం సోర్స్ కోడ్
- ది కోడ్ ఆప్టిమైజర్ ఇంటర్మీడియట్ కోడ్ను వేగంగా నడుస్తున్న మెషిన్ కోడ్లోకి ఆప్టిమైజ్ చేస్తుంది.
- ది కోడ్ జెనరేటర్ చివరకు లక్ష్య కోడ్ను ఉత్పత్తి చేస్తుంది a పున oc స్థాపించదగిన యంత్ర కోడ్ లేదా అసెంబ్లీ కోడ్.
- ది గుర్తు పట్టిక సోర్స్ కోడ్లోని ప్రతి ఐడెంటిఫైయర్ కోసం రికార్డ్ను కలిగి ఉన్న డేటా స్ట్రక్చర్.
- లోపం హ్యాండ్లర్ ప్రతి దశలో లోపాన్ని గుర్తించి, ఆ లోపాలను నిర్వహిస్తుంది.
సమీకరించేవారి నిర్వచనం
కొంతమంది కంపైలర్లు సమీకరించే పనిని చేస్తారు మరియు అసెంబ్లీ కోడ్కు బదులుగా పున oc స్థాపించదగిన మెషిన్ కోడ్ను నేరుగా ఉత్పత్తి చేస్తారు, ఇది నేరుగా లింకర్ / లోడర్కు పంపబడుతుంది. ది సమీకరించేది కంపైలర్ సృష్టించిన అసెంబ్లీ కోడ్ను ఇన్పుట్గా తీసుకుంటుంది మరియు దానిని అనువదిస్తుంది పున oc స్థాపించదగిన యంత్ర కోడ్.
అసెంబ్లీ కోడ్ నుండి మెషిన్ కోడ్ ఎలా భిన్నంగా ఉంటుందో చూద్దాం. అసెంబ్లీ కోడ్ ఉంది జ్ఞాపకానికి మెషిన్ కోడ్ వెర్షన్. దీని అర్థం అసెంబ్లీ కోడ్ కార్యకలాపాలను సూచించడానికి పేర్లను ఉపయోగిస్తుంది మరియు ఇది మెమరీ చిరునామాలకు పేర్లను కూడా ఇస్తుంది. మరోవైపు, ది యంత్ర కోడ్ ఉపయోగాలు బైనరీ సంకేతాలు కార్యకలాపాలు మరియు మెమరీ చిరునామాల ప్రాతినిధ్యం కోసం.సమీకరించేవారి యొక్క సరళమైన రూపం కూడా చేస్తుంది రెండు పాస్లు ఇన్పుట్ ద్వారా. ది మొదటి పాస్ అన్నింటినీ కనుగొంటుంది ఐడెంటిఫైయర్లు నిల్వ స్థానాన్ని సూచించే అసెంబ్లీ కోడ్లో మరియు వాటిని నిల్వ చేయండి గుర్తు పట్టిక (కంపైలర్స్ సింబల్ టేబుల్ కాకుండా). ది నిల్వ స్థానం కేటాయించబడింది మొదటి పాస్లో ఎదురైన ఐడెంటిఫైయర్కు.
లో రెండవ పాస్, ఇన్పుట్ మళ్లీ స్కాన్ చేయబడుతుంది మరియు ఈసారి ఆపరేషన్ కోడ్ ఉన్నాయి అనువాదం ఒక లోకి బిట్స్ క్రమం యంత్ర కోడ్లో ఆ ఆపరేషన్ను సూచిస్తుంది. రెండవ పాస్ కూడా అనువదిస్తుంది ఐడెంటిఫైయర్లు లోకి చిరునామాలు గుర్తు పట్టికలో నిర్వచించబడింది. ఈ విధంగా రెండవ పాస్ ఉత్పత్తి చేస్తుంది పున oc స్థాపించదగిన యంత్ర కోడ్.
- కంపైలర్ మరియు సమీకరించేవారి మధ్య ఉన్న ముఖ్యమైన వ్యత్యాసం ఏమిటంటే కంపైలర్ అసెంబ్లీ కోడ్ను ఉత్పత్తి చేస్తుంది మరియు కొన్ని కంపైలర్లు నేరుగా ఎక్జిక్యూటబుల్ కోడ్ను కూడా ఉత్పత్తి చేయగలవు, అయితే సమీకరించేది పున oc స్థాపించదగిన యంత్ర కోడ్ను ఉత్పత్తి చేస్తుంది.
- కంపైలర్ ఇన్పుట్ గా తీసుకుంటుంది ముందస్తు ప్రాసెస్ చేసిన కోడ్ ప్రిప్రాసెసర్ ద్వారా ఉత్పత్తి చేయబడింది. మరోవైపు, సమీకరించేవాడు తీసుకుంటాడు అసెంబ్లీ కోడ్ ఇన్పుట్గా.
- సంకలనం రెండు దశల్లో జరుగుతుంది విశ్లేషణ దశ మరియు సంశ్లేషణ దశ. విశ్లేషణ దశలో, ఇన్పుట్ ద్వారా వెళుతుంది లెక్సికల్ ఎనలైజర్, సింటాక్స్ ఎనలైజర్, సెమాంటిక్ ఎనలైజర్ అయితే, సంశ్లేషణ విశ్లేషణ ద్వారా జరుగుతుంది ఇంటర్మీడియట్ కోడ్ జెనరేటర్, కోడ్ ఆప్టిమైజర్, కోడ్ జెనరేటర్. మరోవైపు, సమీకరించేవాడు ఇన్పుట్ గుండా వెళుతుంది రెండు దశలు. మొదటి దశ ఐడెంటిఫైయర్లను కనుగొంటుంది మరియు రెండవ దశలో అసెంబ్లీ కోడ్ బైనరీ కోడ్కు అనువదించబడుతుంది.
- కంపైలర్ సృష్టించిన అసెంబ్లీ కోడ్ a జ్ఞాపకశక్తి వెర్షన్ యంత్ర కోడ్. ఏదేమైనా, సమీకరించేవాడు సృష్టించిన పున oc స్థాపించదగిన యంత్ర కోడ్ a బైనరీ పున oc స్థాపించదగిన కోడ్.
ముగింపు:
కొన్ని కంపైలర్లు నేరుగా ఎక్జిక్యూటబుల్ కోడ్ను ఉత్పత్తి చేస్తున్నందున సమీకరించేవాడు అవసరం లేదు. సమీకరించేవాడు ఉపయోగించినట్లయితే, సోర్స్ కోడ్లో ఉపయోగించే లైబ్రరీ ఫంక్షన్లకు అన్ని అంతర్నిర్మిత లైబ్రరీలను లింక్ చేయడానికి లింకర్ అవసరం.