Ի՞նչ է կոմպիլյատորը, կամ ինչպե՞ս ստիպել համակարգչին հասկանալ, թե ինչ եք ուզում դրանից:

Բովանդակություն:

Ի՞նչ է կոմպիլյատորը, կամ ինչպե՞ս ստիպել համակարգչին հասկանալ, թե ինչ եք ուզում դրանից:
Ի՞նչ է կոմպիլյատորը, կամ ինչպե՞ս ստիպել համակարգչին հասկանալ, թե ինչ եք ուզում դրանից:

Video: Ի՞նչ է կոմպիլյատորը, կամ ինչպե՞ս ստիպել համակարգչին հասկանալ, թե ինչ եք ուզում դրանից:

Video: Ի՞նչ է կոմպիլյատորը, կամ ինչպե՞ս ստիպել համակարգչին հասկանալ, թե ինչ եք ուզում դրանից:
Video: Marlin Firmware 2.0.x Explained 2024, Մայիս
Anonim

Ծրագրի ստեղծման վերջին փուլը ծրագրավորման լեզուներից մեկով (C/C++, Pascal և այլն) գրված ալգորիթմը ցածր մակարդակի մեքենայական լեզվի թարգմանելն է: Դա պայմանավորված է նրանով, որ ցանկացած առաջադրանք կատարելու համար համակարգիչներին անհրաժեշտ է հրամաններ տալ իրենց հասկանալի լեզվով, որը մոտ է երկուականին և գործում է պարզունակ տվյալների կառուցվածքներով (բիթ, բայթ կամ բառ): Բարձր մակարդակի լեզուների տիրույթին հատուկ հայտարարությունները երկուական կոդի թարգմանելու գործընթացը կոչվում է թարգմանություն: Թարգմանության երկու եղանակ կա՝ հավաքագրում և մեկնաբանում։

կոմպիլյատորն է
կոմպիլյատորն է

Կազմող - ի՞նչ է դա:

«Կազմող» և «կազմող» տերմինների բազմաթիվ մեկնաբանությունների վերլուծությունը թույլ է տալիս առանձնացնել հետևյալ սահմանումը. Կոմպիլյատորը ծրագիր է, որը նախատեսված է սկզբնաղբյուրի ալգորիթմի տեքստը բարձր մակարդակի լեզվից թարգմանելու մեքենայի վրա հիմնված լեզվով հրահանգների համարժեք փաթեթի: Սա, այսպես կոչված, օբյեկտի ծածկագիրն է՝ ստացված օբյեկտի կոդի հետագա հավաքման համար պատրաստի ծրագրի մոդուլում:

Կազմող և թարգմանիչ - նմանություններ և տարբերություններ

Թարգմանիչը օգտակար գործիք է, որըինչպես նաև կոմպիլյատոր, որը նախատեսված է սկզբնական ծածկագիրը մեքենայի կոդերի վերածելու համար: Այնուամենայնիվ, ի տարբերություն կոմպիլյատորի, թարգմանիչը ամեն անգամ աշխատում է ծրագրի հետ և կատարում է թարգմանությունը տող առ տող:

Կարող եք ասել, որ կոմպիլյատորը և թարգմանիչը լեզվի պրոցեսորներ են, որոնք թույլ են տալիս համակարգչին ճանաչել և կատարել ծրագրավորողի կողմից տրված հրամանները:

Կազմողի դասակարգում

կոմպիլյատորը ծրագիր է
կոմպիլյատորը ծրագիր է

Կազմողները դասակարգվում են հիմնականում ըստ իրենց գործնական կիրառման ոլորտների հետ կապված հատկանիշների:

Vectorizing compiler-ը օգտակար ծրագիր է, որը սկզբնական կոդը թարգմանում է օբյեկտի կոդի և հարմարեցված է վեկտորային պրոցեսորներով հագեցած համակարգիչների համար:

Ճկուն կոմպիլյատորը ծրագրավորված է բարձր մակարդակի լեզվով մոդուլային եղանակով: Դրա կառավարումն իրականացվում է աղյուսակների միջոցով: Հնարավոր է նաև այն կատարել՝ օգտագործելով կոմպիլյատորների կոմպիլյատորը։

Incremental compiler-ը լեզվի պրոցեսոր է, որը վերաթարգմանում է սկզբնաղբյուրի առանձին հատվածներ և դրան լրացումներ: Այնուամենայնիվ, այն խուսափում է ամբողջ հավելվածը վերահամալրելուց:

Մեկնման (քայլային) կոմպիլյատորը օգտակար ծրագիր է, որը հաջորդաբար կատարում է բարձր մակարդակի սկզբնաղբյուրի յուրաքանչյուր հայտարարության կամ հրամանի անկախ հավաքում:

Կոմպիլյատորների կոմպիլյատորը թարգմանիչ է, որը կարող է ընդունել ծրագրավորման լեզվի պաշտոնական նկարագրությունը և ինքնուրույն ստեղծել ցանկացած լեզվի համար կոմպիլյատոր:

կոմպիլյատոր և թարգմանիչ
կոմպիլյատոր և թարգմանիչ

Վրիպազերծիչը թույլ է տալիս գտնել և ուղղել որոշ տեսակի շարահյուսական սխալներ, որոնք թույլ են տրվել սկզբնական կոդը գրելիս

Ռեզիդենտ կոմպիլյատորը մշտական տեղ է զբաղեցնում RAM-ում և, հետևաբար, կարող է վերօգտագործվել առաջադրանքների լայն շրջանակի համար:

Ինքնահավաք կազմողը գրված է նույն լեզվով, ինչ թարգմանությունը։

Ունիվերսալ կոմպիլյատորը հիմնված է մուտքային լեզվի իմաստային և շարահյուսական պարամետրերի պաշտոնական նկարագրության վրա: Նման օգտակարության հիմնական բաղադրիչներն են միջուկը, շարահյուսական և իմաստային բեռնիչները:

Կազմող սարք

Կոմպիլյատորը և կապակցիչը ցանկացած կոմպիլյատորի հիմքում են: Հաճախ կոմպիլյացիայի ժամանակ օգտագործվում է արտաքին կապող սարք, իսկ կոմպիլյատորն ինքն է կատարում միայն թարգմանության գործառույթը։ Պատահում է նաև, որ կոմպիլյատորն իրականացվում է որպես մի տեսակ մենեջեր ծրագիր, որը կապված է թարգմանչի (կամ թարգմանիչների, եթե սկզբնական կոդը գրելիս օգտագործվել են տարբեր ծրագրավորման լեզուներ) և կապողին և անհրաժեշտության դեպքում սկսում է դրանց կատարումը:

Ծրագրավորման լեզուներ և թարգմանության մեթոդներ

լեզվի կոմպիլյատոր
լեզվի կոմպիլյատոր

Չնայած այն հանգամանքին, որ ցանկացած ծրագրավորման լեզվով գրված ծրագիրը կարող է և՛ կազմվել, և՛ մեկնաբանվել, շատ բարձր մակարդակի լեզուներ ունեն նախատրամադրվածություն թարգմանության այս կամ այն մեթոդի նկատմամբ: Այսպիսով, C լեզուն ի սկզբանե նախատեսված էր կոմպիլյացիայի համար, իսկ Java-ն՝ գրավոր ծրագրի մեկնաբանման համար։ Մշակվում ենC կոմպիլյատորները բավականին հեշտ են՝ շնորհիվ համեմատաբար ցածր մակարդակի և կառուցվածքային տարրերի փոքր քանակի։

Կոմպիլյատորների և թարգմանիչների առավելություններն ու թերությունները. Դիմումներ

Նշեք, որ կոմպիլացված հավելվածներն ավելի արագ են, քան մեկնաբանվողները, բայց միևնույն ժամանակ, կոմպիլյացիայի արդյունքում ստացված մեքենայի կոդը կախված է ապարատային հարթակից: Այսպիսով, Windows-ի համար գրված և կազմված ծրագիրը չի աշխատի, օրինակ, Linux-ում։ Հետևաբար, ինտերնետ հավելվածների դեպքում, երբ հնարավոր չէ նախապես ասել, թե որ միջավայրում են աշխատելու, օգտագործում են մեկնաբանություն կամ բայթկոդ (այս դեպքում սկզբնաղբյուր ծրագիրը վերածվում է միջանկյալ ձևի, որը կարող է իրականացվել տարբեր սարքավորումների վրա հարթակներ).

Խորհուրդ ենք տալիս: