Мазмуну:
- Компилятор - бул эмне?
- Түзүүчү жана котормочу - окшоштуктар жана айырмачылыктар
- Түзүүчү классификация
- Компилятор түзмөгү
- Программалоо тилдери жана которуу ыкмалары
- Компиляторлордун жана котормочулардын артыкчылыктары жана кемчиликтери. Колдонмолор
Video: Компилятор деген эмне, же компьютер андан эмнени каалап жатканын кантип түшүнсө болот?
2024 Автор: Henry Conors | [email protected]. Акыркы өзгөртүү: 2024-02-12 10:15
Программаны түзүүнүн акыркы этабы программалоо тилдеринин биринде жазылган алгоритмди (C/C++, Pascal ж.б.) төмөнкү деңгээлдеги машина тилине которуу. Себеби, кандайдыр бир тапшырманы аткаруу үчүн компьютерлерге экиликке жакын жана примитивдүү маалымат структуралары (бит, байт же сөз) менен иштеген алар түшүнгөн тилде буйруктар берилиши керек. Жогорку деңгээлдеги тилдердин доменге тиешелүү билдирүүлөрүн бинардык кодго которуу процесси котормо деп аталат. Котормонун эки ыкмасы бар - компиляция жана чечмелөө.
Компилятор - бул эмне?
"Компилятор" жана "компиляция" терминдеринин көптөгөн интерпретацияларынын анализи төмөнкү аныктаманы бөлүп көрсөтүүгө мүмкүндүк берет. Компилятор – бул баштапкы алгоритмдин текстин жогорку деңгээлдеги тилден машинага багытталган тилдеги нускамалардын эквиваленттүү топтомуна которуу үчүн арналган программа. Бул объект коду деп аталган, натыйжада объекттин кодун колдонууга даяр программа модулуна кийинчерээк чогултуу үчүн.
Түзүүчү жана котормочу - окшоштуктар жана айырмачылыктар
Котормочу бул пайдалуу программаошондой эле компилятор, баштапкы кодду машина кодуна которуу үчүн иштелип чыккан. Бирок, компилятордон айырмаланып, котормочу ар бир жолу программа менен иштейт жана котормону сап-сап аткарат.
Сиз компилятор жана котормочу бул компьютерге программист тарабынан берилген буйруктарды таанууга жана аткарууга мүмкүндүк берген тил процессорлору деп айта аласыз.
Түзүүчү классификация
Компиляторлор негизинен практикалык колдонуу чөйрөлөрүнө байланыштуу өзгөчөлүктөрү боюнча классификацияланат.
Векторизациялоочу компилятор бул баштапкы кодду объект кодуна которуучу утилита жана вектордук процессорлор менен жабдылган компьютерлерге ылайыкташтырылган.
Ийкемдүү компилятор модулдук түрдө жогорку деңгээлдеги тилде программаланган. Аны башкаруу таблицалардын жардамы менен ишке ашырылат. Аны компиляторлордун компилятору аркылуу да аткарууга болот.
Инкременттүү компилятор – бул баштапкы коддун айрым фрагменттерин жана ага кошумчаларды кайра которгон тил процессору. Бирок, ал толугу менен колдонмону кайра компиляциялоодон качат.
Тертмелөөчү (кадамдык) компилятор жогорку деңгээлдеги баштапкы коддун ар бир билдирүүсүн же буйругун көз карандысыз компиляциялоону ырааттуу аткарган утилита.
Компиляторлордун компилятору – бул программалоо тили үчүн расмий сүрөттөмөлөрдү кабыл алууга жана каалаган тил үчүн компиляторду өз алдынча түзүүгө жөндөмдүү котормочу.
Мүчүлүштүктөрдү оңдоо компилятору булак кодун жазууда кетирилген синтаксистик каталардын айрым түрлөрүн таап, оңдоого мүмкүндүк берет
Резиденттик компилятор оперативдүү эс тутумда туруктуу орунду ээлейт жана ошондуктан ар кандай тапшырмалар үчүн кайра колдонууга болот.
Өз алдынча түзүлгөн компилятор котормо менен бир тилде жазылган.
Универсалдуу компилятор киргизүү тилинин семантикалык жана синтаксистик параметрлеринин формалдуу сүрөттөлүшүнө негизделген. Мындай утилитанын негизги компоненттери болуп негизги, синтаксистик жана семантикалык жүктөөчүлөр саналат.
Компилятор түзмөгү
Компилятор жана байланыштыргыч бардык компилятордун өзөгүндө. Көбүнчө компиляциялоодо тышкы байланыштыргыч колдонулат, ал эми компилятор өзү котормо функциясын гана аткарат. Ошондой эле компилятор котормочу (же котормочулар, эгер баштапкы кодду жазууда ар кандай программалоо тилдери колдонулган болсо) жана шилтеме берүүчү менен байланышкан башкаруучу программанын бир түрү катары ишке ашырылат жана зарыл болгондо аларды аткарууну баштайт.
Программалоо тилдери жана которуу ыкмалары
Кандайдыр бир программалоо тилинде жазылган программа компиляцияга да, чечмелөөгө да боло тургандыгына карабастан, көптөгөн жогорку деңгээлдеги тилдер котормонун тигил же бул ыкмасына ыкташат. Ошентип, Си тили алгач компиляция үчүн, ал эми Java - жазылган программаны чечмелөө үчүн иштелип чыккан. Иштеп чыгуудаC компиляторлору салыштырмалуу төмөн деңгээли жана аз сандагы структуралык элементтеринин аркасында абдан оңой.
Компиляторлордун жана котормочулардын артыкчылыктары жана кемчиликтери. Колдонмолор
Көңүл буруңуз, компиляцияланган тиркемелер чечмеленгендерге караганда тезирээк, бирок ошол эле учурда компиляциянын натыйжасында алынган машина коду аппараттык платформадан көз каранды. Ошентип, Windows үчүн жазылган жана түзүлгөн программа, мисалы, Linuxда иштебейт. Ошондуктан, Интернет-тиркемелерде, алар кайсы чөйрөдө иштей турганын алдын ала айтуу мүмкүн болбогондо, алар интерпретацияны же байт-кодду колдонушат (бул учурда, баштапкы программа ар кандай жабдыкта аткарыла турган аралык формага айландырылат. платформалар).
Сунушталууда:
"Отурукташкан жашоо" деген сөздү кантип түшүнсө болот
Тарых илиминде адамдарды акылсыздыкка алып баруучу нерселер бар. Алар интуитивдик деп айтышат, декоддоону талап кылбайт. Бул окуучуларга жана студенттерге жеңилдик кылбайт. Мисалы, «туруктуу жашоо» деген эмне? Бул сөз айкашы элдерге карата колдонулганда башта кандай образ пайда болушу керек? Билбейм? Келгиле, аны аныктап көрөлү
Өзгөчө кырдаал деген эмне? Андан кантип чыгуу керек?
Адамдын ишинин бардык тармагында белгилүү бир бөлүмдү кадимки жана жакшы координацияланган (күнүмдүк) башкаруудан кандайдыр бир четтөө өзгөчө кырдаал деп аталган кырдаалга алып келиши мүмкүн. Ар бир бөлүм ченемдер менен кабыл алынган окуялардын жүрүшүнүн өзгөрүшү жөнүндө жогору турган органдарга токтоосуз билдирүүгө милдеттүү. Стандарттуу эмес кырдаалдарда көрүлүүгө тийиш болгон бардык чаралар жана аракеттер, эреже катары, тиешелүү расмий документтерде белгиленет
Эркек сени чындап сүйөрүн кантип түшүнсө болот? Үй-бүлөлүү адам сени сүйөрүн кантип түшүнсө болот?
Эркектин сени чындап сүйөрүн кантип түшүнсө болот, анын канчалык колдоо көрсөтөөрүн жана зодиактын белгилери кандайча сүйөрүн кантип түшүнсө болот - ушунун бардыгы жөнүндө ушул макаладан окуңуз
"Күн зенитинде" деген сөздү кантип түшүнсө болот
Жайдын аптаптуу күнүндө аба ырайы ачык болуп, жогорку температурадан чарчап турганда "күн зенитинде" деген сөздү көп угабыз. Биздин түшүнүгүбүздө биз асман телосу эң бийик жерде жайгашканы жана мүмкүн болушунча жылыганы, ал тургай жерди күйгүзүп жибериши жөнүндө сөз болуп жатат. Келгиле, астрономияга бир аз сүңгүп, бул сөздү жана бул сөздү түшүнгөнүбүздүн канчалык туура экенин тереңирээк түшүнүүгө аракет кылалы
"Ар бир тамашада тамаша бар" деген сөздү кантип түшүнсө болот?
Көбүбүз күлкү өмүрдү узартат деп ишенебиз, андыктан чын жүрөктөн күлүүгө жана көңүл ачууга каршы эмеспиз. Биз тамашалуу программаларды көрүп кубанабыз, бирок баары сүйгөн КВН жөнүндө айта турган эч нерсе жок, ал сынактын катышуучуларынын чыгармачылыгын күйөрмандарынын саны боюнча лидер. Бирок, жол боюндагы угу-луп жаткан пикирлер-ди угуп, тушунебуз: ар бир тамашада тамашанын улушу бар