కంపైలర్ డిజైన్ పదకోశం
అక్షర క్రమ సూచిక
- అబ్స్ట్రాక్ట్ సింటాక్స్ ట్రీ
- యాక్టివేషన్
- యాక్టివేషన్ రికార్డ్
- యాక్టివేషన్ ట్రీ
- అస్పష్ట వ్యాకరణం
- లక్షణాలు (Attributes)
- బేసిక్ బ్లాక్
- బాటమ్-అప్ పార్సర్లు
- కోడ్ జనరేషన్
- కోడ్ ఆప్టిమైజేషన్
- కంపైలర్
- కంపైలర్ డిజైన్
- కాన్స్టాంట్ ఫోల్డింగ్
- కంటెక్స్ట్-ఫ్రీ వ్యాకరణం
- కంట్రోల్ ఫ్లో గ్రాఫ్
- డెడ్ కోడ్ ఎలిమినేషన్
- ఐడెంటిఫైయర్లు
- ఇన్హెరిటెడ్ లక్షణాలు
- ఇంటర్మీడియట్ కోడ్ జనరేషన్
- కీవర్డ్లు
- L-లక్షణ వ్యాకరణం
- లెక్సీమ్
- లెక్సికల్ అనాలిసిస్
- లింకింగ్
- LL(1) పార్సర్
- లోడింగ్
- లూప్ ఆప్టిమైజేషన్
- LR పార్సర్
- లిటరల్స్ (స్థిరాంకాలు)
- ఆపరేటర్లు
- పార్స్ ట్రీ
- పార్సర్
- పీప్హోల్ ఆప్టిమైజేషన్
- కంపైలర్ దశలు
- పంక్చుయేషన్
- రన్టైమ్ ఎన్విరాన్మెంట్
- S-లక్షణ వ్యాకరణం
- సెమాంటిక్ అనాలిసిస్
- షిఫ్ట్-రిడ్యూస్ చర్యలు
- స్టాటిక్ సింగిల్ అసైన్మెంట్
- సింబల్ టేబుల్
- సింటాక్స్ అనాలిసిస్
- సింటాక్స్ డైరెక్టెడ్ ట్రాన్స్లేషన్
- సింథసైజ్డ్ లక్షణాలు
- త్రీ-అడ్రస్ కోడ్
- టోకెన్
- టాప్-డౌన్ పార్సర్లు
సాధారణ భావనలు
- కంపైలర్ డిజైన్
- హై-లెవల్ ప్రోగ్రామింగ్ భాషలను మెషీన్ కోడ్లోకి అనువదించే ఒక ప్రోగ్రామ్ అయిన కంపైలర్ని ఎలా నిర్మించాలో అధ్యయనం చేయడం. ఈ ప్రక్రియలో అనువాదంలో ఖచ్చితత్వం మరియు కోడ్ సామర్థ్యంపై దృష్టి సారించడం జరుగుతుంది.
- కంపైలర్
- హై-లెవల్ ప్రోగ్రామింగ్ భాషలను (ఉదా. పైథాన్, C++, లేదా జావా) ఒక కంప్యూటర్ హార్డ్వేర్ నేరుగా అమలు చేయగల మెషీన్ కోడ్లోకి అనువదించే ఒక ప్రోగ్రామ్.
- కంపైలర్ దశలు
- కంపైలేషన్ ప్రక్రియలో ఉన్న వేర్వేరు దశలు. ప్రధాన దశలు: లెక్సికల్ అనాలిసిస్, సింటాక్స్ అనాలిసిస్, సెమాంటిక్ అనాలిసిస్, ఇంటర్మీడియట్ కోడ్ జనరేషన్, కోడ్ ఆప్టిమైజేషన్, మరియు కోడ్ జనరేషన్.
లెక్సికల్ అనాలిసిస్
- లెక్సికల్ అనాలిసిస్ (స్కానింగ్)
- కంపైలర్ యొక్క మొదటి దశ, ఇది సోర్స్ కోడ్ని చిన్న, అర్థవంతమైన యూనిట్లుగా, టోకెన్లుగా విడగొడుతుంది. ఇది సోర్స్ ప్రోగ్రామ్లోని అక్షరాలను ఒక్కొక్కటిగా చదివి వాటిని టోకెన్లుగా వర్గీకరిస్తుంది.
- టోకెన్
- ప్రోగ్రామింగ్ భాష యొక్క వ్యాకరణంలో ఒకే యూనిట్గా పరిగణించబడే అక్షరాల అర్థవంతమైన క్రమం. ఉదాహరణకు కీవర్డ్లు, ఐడెంటిఫైయర్లు మరియు ఆపరేటర్లు.
- లెక్సీమ్
- సోర్స్ కోడ్లో ఉన్న నిజమైన అక్షరాల శ్రేణి, ఇది ఒక నమూనాతో సరిపోలి ఒక టోకెన్ను ఉత్పత్తి చేస్తుంది. ఉదాహరణకు,
float x;
అనే స్టేట్మెంట్లో, “float” అనేది “కీవర్డ్” టోకెన్కు ఒక లెక్సీమ్, మరియు “x” అనేది “ఐడెంటిఫైయర్” టోకెన్కు ఒక లెక్సీమ్. - కీవర్డ్లు
- భాషలో నిర్దిష్ట అర్థాలను కలిగి ఉన్న రిజర్వ్డ్ పదాలు. వీటిని వేరియబుల్ పేర్లుగా లేదా ఐడెంటిఫైయర్లుగా ఉపయోగించలేము.
- ఐడెంటిఫైయర్లు
- వేరియబుల్స్, ఫంక్షన్లు, అరేలు లేదా ఇతర యూజర్-డిఫైన్డ్ ఐటెమ్లకు ఇవ్వబడిన పేర్లు.
- లిటరల్స్ (స్థిరాంకాలు)
- కోడ్లో ఉన్న స్థిర విలువలు, అవి ప్రోగ్రామ్ రన్నింగ్లో మారవు.
- ఆపరేటర్లు
- ఆపరేషన్లను నిర్వహించడానికి ఉపయోగించే చిహ్నాలు.
- పంక్చుయేషన్ (డిలిమిటర్లు)
- ప్రోగ్రామ్ను నిర్మాణించే చిహ్నాలు, ఉదాహరణకు కామాలు, కుండలీకరణాలు మరియు కర్లీ బ్రేస్లు.
- సింబల్ టేబుల్
- వేరియబుల్స్, ఫంక్షన్లు మరియు ఇతర ఐడెంటిఫైయర్ల గురించి సమాచారాన్ని నిల్వ చేయడానికి కంపైలర్ ఉపయోగించే ఒక డేటా స్ట్రక్చర్.
సింటాక్స్ అనాలిసిస్ మరియు పార్సింగ్
- సింటాక్స్ అనాలిసిస్ (పార్సింగ్)
- కంపైలర్ యొక్క రెండవ దశ, ఇది టోకెన్లు ప్రోగ్రామింగ్ భాష యొక్క వ్యాకరణ నియమాలను అనుసరిస్తున్నాయో లేదో తనిఖీ చేస్తుంది.
- పార్సర్
- ఇన్పుట్ టోకెన్లు భాష యొక్క వ్యాకరణం ప్రకారం చెల్లుబాటు అయ్యే నిర్మాణాన్ని ఏర్పరుస్తాయో లేదో తనిఖీ చేయడం ద్వారా సింటాక్స్ అనాలిసిస్ చేసే కంపైలర్ యొక్క ఒక భాగం. ఇది టోకెన్ల స్ట్రీమ్ను ఇన్పుట్గా తీసుకొని పార్స్ ట్రీ లేదా సింటాక్స్ ఎర్రర్లను అవుట్పుట్గా ఇస్తుంది.
- పార్స్ ట్రీ
- వ్యాకరణ నియమాల ప్రకారం ఒక ప్రోగ్రామ్ యొక్క సింటాక్టిక్ నిర్మాణాన్ని సూచించే ఒక శ్రేణి డేటా స్ట్రక్చర్. ఇది అన్ని నాన్-టెర్మినల్స్ మరియు టెర్మినల్స్ను కలిగి ఉంటుంది.
- అబ్స్ట్రాక్ట్ సింటాక్స్ ట్రీ (AST)
- ఒక పార్స్ ట్రీ యొక్క సరళీకృత, మరింత అబ్స్ట్రాక్ట్ వెర్షన్, ఇది కోడ్ యొక్క సెమాంటిక్ నిర్మాణాన్ని సూచిస్తుంది మరియు ముఖ్యమైన అంశాలపై దృష్టి పెడుతుంది.
- కంటెక్స్ట్-ఫ్రీ వ్యాకరణం (CFG)
- ప్రోగ్రామింగ్ భాషల సింటాక్స్ నియమాలను నిర్వచించడానికి ఉపయోగించే ఒక ఫార్మల్ వ్యాకరణం.
- అస్పష్ట వ్యాకరణం
- ఒకే స్ట్రింగ్కు ఒకటి కంటే ఎక్కువ పార్స్ ట్రీలు ఉండే వ్యాకరణం.
- టాప్-డౌన్ పార్సర్లు
- రూట్ (ప్రారంభ చిహ్నం) నుండి లీవ్స్ (టెర్మినల్స్) వరకు పార్స్ ట్రీని నిర్మించే పార్సర్లు. అవి ఎడమవైపు నుండి డెరివేషన్ను ఉపయోగిస్తాయి.
- LL(1) పార్సర్
- ఒక రకమైన టాప్-డౌన్ పార్సర్, ఇది ఇన్పుట్ను ఎడమ నుండి కుడికి చదువుతుంది, ఎడమవైపు నుండి డెరివేషన్ను నిర్మిస్తుంది మరియు పార్సింగ్ చర్యలను నిర్ణయించడానికి ఒక “లుక్అహెడ్” టోకెన్ను ఉపయోగిస్తుంది.
- బాటమ్-అప్ పార్సర్లు
- లీవ్స్ (టెర్మినల్స్) నుండి రూట్ (ప్రారంభ చిహ్నం) వరకు పార్స్ ట్రీని నిర్మించే పార్సర్లు. అవి కుడివైపు నుండి డెరివేషన్ను రివర్స్లో నిర్మిస్తాయి.
- LR పార్సర్
- ఒక రకమైన బాటమ్-అప్ పార్సర్, ఇది ఇన్పుట్ను ఎడమ నుండి కుడికి చదువుతుంది మరియు కుడివైపు నుండి డెరివేషన్ను రివర్స్లో నిర్మిస్తుంది.
- షిఫ్ట్-రిడ్యూస్ చర్యలు
- బాటమ్-అప్ పార్సింగ్లో రెండు ప్రాథమిక చర్యలు. షిఫ్ట్ తదుపరి ఇన్పుట్ చిహ్నాన్ని ఒక స్టాక్లోకి కదిలిస్తుంది, మరియు రిడ్యూస్ స్టాక్లో ఉన్న చిహ్నాల శ్రేణిని ఒక నాన్-టెర్మినల్తో భర్తీ చేస్తుంది.
ఇంటర్మీడియట్ కోడ్ మరియు ఆప్టిమైజేషన్
- త్రీ-అడ్రస్ కోడ్ (3AC)
- ప్రతి స్టేట్మెంట్లో గరిష్టంగా మూడు ఆపరేండ్లు ఉండే కోడ్ ప్రాతినిధ్యం. ఇది ఆప్టిమైజేషన్ మరియు పోర్టబిలిటీ కోసం ఉపయోగించే ఒక ఇంటర్మీడియట్ ప్రాతినిధ్యం.
- స్టాటిక్ సింగిల్ అసైన్మెంట్ (SSA)
- కోడ్లోని ప్రతి వేరియబుల్కు ఒకే అసైన్మెంట్ ఉండే కోడ్ ప్రాతినిధ్యం. ఇది ఆప్టిమైజేషన్ను సులభతరం చేస్తుంది.
- కంట్రోల్ ఫ్లో గ్రాఫ్ (CFG)
- నోడ్స్ (బేసిక్ బ్లాక్లు) మరియు ఎడ్జెస్ (కంట్రోల్ ఫ్లో) ఉపయోగించి ఒక ప్రోగ్రామ్ యొక్క ప్రాతినిధ్యం.
- బేసిక్ బ్లాక్
- ఒకే ఎంట్రీ పాయింట్ మరియు ఒకే ఎగ్జిట్ పాయింట్ ఉన్న సూచనల క్రమం.
- కోడ్ ఆప్టిమైజేషన్
- ఎగ్జిక్యూషన్ సమయం మరియు మెమరీ వినియోగాన్ని తగ్గించడానికి ఇంటర్మీడియట్ కోడ్ను మెరుగుపరిచే ప్రక్రియ.
- కాన్స్టాంట్ ఫోల్డింగ్
- కంపైల్ సమయంలో కాన్స్టాంట్ ఎక్స్ప్రెషన్లను మూల్యాంకనం చేయడం.
- డెడ్ కోడ్ ఎలిమినేషన్
- ప్రోగ్రామ్ యొక్క అవుట్పుట్ను ప్రభావితం చేయని కోడ్ను తొలగించడం.
- లూప్ ఆప్టిమైజేషన్
- ఆప్టిమైజేషన్ల యొక్క ఒక వర్గం, ఇందులో కోడ్ మోషన్ (లూప్-ఇన్వేరియంట్ కోడ్ను లూప్ బయటకి తరలించడం) మరియు లూప్ అన్రోలింగ్ (ఒకేసారి బహుళ ఇటరేషన్లను అమలు చేయడం ద్వారా లూప్ ఓవర్హెడ్ను తగ్గించడం) వంటి పద్ధతులు ఉంటాయి.
- పీప్హోల్ ఆప్టిమైజేషన్
- సూచనల యొక్క ఒక చిన్న క్రమాన్ని (“పీప్హోల్”) విశ్లేషించడం మరియు దానిని వేగవంతమైన ప్రత్యామ్నాయంతో భర్తీ చేయడం.
రన్టైమ్ ఎన్విరాన్మెంట్
- రన్టైమ్ ఎన్విరాన్మెంట్
- లక్ష్య మెషీన్ యొక్క స్థితి, ఇందులో సాఫ్ట్వేర్ లైబ్రరీల మరియు ఎన్విరాన్మెంట్ వేరియబుల్స్ ఉంటాయి, ఇవి రన్ అవుతున్న ప్రోగ్రామ్కు సేవలను అందిస్తాయి.
- యాక్టివేషన్
- ఒక విధానం యొక్క ప్రతి అమలు.
- యాక్టివేషన్ ట్రీ
- నియంత్రణ విధాన యాక్టివేషన్లలోకి ఎలా ప్రవేశిస్తుందో మరియు బయటకు వెళ్తుందో చూపించే ఒక ట్రీ, దీనిలో ప్రతి నోడ్ ఒక యాక్టివేషన్ను సూచిస్తుంది. ట్రీ యొక్క రూట్ ప్రధాన ఫంక్షన్.
- యాక్టివేషన్ రికార్డ్ (ఫ్రేమ్)
- ఒక విధానం యొక్క ఒకే అమలుకు అవసరమైన సమాచారాన్ని నిర్వహించే ఒక డేటా స్ట్రక్చర్. ఒక విధానాన్ని పిలిచినప్పుడు ఇది కంట్రోల్ స్టాక్లోకి నెట్టబడుతుంది మరియు అది తిరిగి వచ్చినప్పుడు పాప్ చేయబడుతుంది.
- లింకింగ్
- బహుళ ఆబ్జెక్ట్ ఫైళ్ళను కలిపి, సింబాలిక్ రిఫరెన్స్లను పరిష్కరించి, ఒకే ఎగ్జిక్యూటబుల్ ఫైల్ను సృష్టించే ప్రక్రియ.
- లోడింగ్
- ఎగ్జిక్యూటబుల్ ఫైల్ను మెమరీలోకి ఉంచడం, రన్టైమ్ అడ్రస్లను పరిష్కరించడం మరియు CPU ద్వారా అమలు చేయడానికి దానిని సిద్ధం చేసే ప్రక్రియ.
సింటాక్స్ డైరెక్టెడ్ ట్రాన్స్లేషన్
- సింటాక్స్ డైరెక్టెడ్ ట్రాన్స్లేషన్ (SDT)
- పార్సింగ్ సమయంలో అర్థాన్ని కేటాయించడానికి లేదా చర్యలను నిర్వహించడానికి ఒక కంటెక్స్ట్-ఫ్రీ వ్యాకరణాన్ని సెమాంటిక్ నియమాలతో కలిపే ఒక పద్ధతి. ఇది కోడ్ను రూపొందించడానికి, రకాలను తనిఖీ చేయడానికి మరియు అబ్స్ట్రాక్ట్ సింటాక్స్ ట్రీలను నిర్మించడానికి ఉపయోగించబడుతుంది.
- లక్షణాలు (Attributes)
- వ్యాకరణ చిహ్నాలకు జోడించబడిన విలువలు, ఇవి సెమాంటిక్ నియమాల ద్వారా లెక్కించబడతాయి.
- సింథసైజ్డ్ లక్షణాలు
- పార్స్ ట్రీలోని ఒక నోడ్ యొక్క పిల్లల లక్షణాల నుండి లెక్కించబడిన లక్షణాలు (బాటమ్-అప్ ప్రవాహం).
- ఇన్హెరిటెడ్ లక్షణాలు
- ఒక నోడ్ యొక్క పేరెంట్ లేదా సిబ్లింగ్స్ లక్షణాల నుండి లెక్కించబడిన లక్షణాలు (టాప్-డౌన్ లేదా లాటరల్ ప్రవాహం).
- S-లక్షణ వ్యాకరణం
- సింథసైజ్డ్ లక్షణాలను మాత్రమే ఉపయోగించే వ్యాకరణం.
- L-లక్షణ వ్యాకరణం
- సింథసైజ్డ్ లక్షణాలను మరియు ఇన్హెరిటెడ్ లక్షణాల యొక్క పరిమిత రూపాన్ని (పేరెంట్ లేదా ఎడమ సిబ్లింగ్స్ నుండి) ఉపయోగించే వ్యాకరణం.
TECH TALENTS
Average rating: 0 reviews