Түзүүчү жана Котормочу
Компилятор жана котормочу экөө тең негизинен бир максатты аткарышат. Алар тилдин бир деңгээлин экинчи деңгээлге өткөрүшөт. Компилятор жогорку деңгээлдеги инструкцияларды машина тилине которот, ал эми котормочу жогорку деңгээлдеги нускаманы кандайдыр бир ортоңку формага которот жана андан кийин нускама аткарылат.
Түзүүчү
Компилятор жогорку деңгээлдеги нускамаларды же тилди компьютерге түшүнүктүү формага айландыруу үчүн колдонулган компьютердик программа катары аныкталат. Компьютер экилик сандарды гана түшүнө алгандыктан, боштукту толтуруу үчүн компилятор колдонулат, антпесе адам үчүн 0 жана 1 формасында маалыматты табуу кыйынга турмак.
Мурда компиляторлор символдорду биттерге айландыруу үчүн колдонулган жөнөкөй программалар болчу. Программалар да абдан жөнөкөй жана алар маалыматтарга кол менен которулган бир катар кадамдарды камтыган. Бирок, бул абдан көп убакытты талап кылган процесс болду. Ошентип, кээ бир бөлүктөрү программаланган же автоматташтырылган. Бул биринчи компиляторду түздү.
Көбүрөөк татаал комплеерлер жөнөкөйлөрү менен түзүлөт. Ар бир жаңы версия менен ага көбүрөөк эрежелер кошулуп, адам программист үчүн табигый тил чөйрөсү түзүлөт. Колдонуучу программалар ушундай жол менен өнүгүп жатат, бул аларды колдонуунун жеңилдигин жакшыртат.
Кайсы бир конкреттүү тилдер же тапшырмалар үчүн атайын комплеерлер бар. Compliers бир нече же көп баскычтуу өтүү болушу мүмкүн. Биринчи өтүү жогорку деңгээлдеги тилди компьютер тилине жакыныраак тилге айландыра алат. Андан кийин кийинки өтүүлөр аны аткаруу максатында акыркы этапка айландырышы мүмкүн.
Котормочу
Жогорку деңгээлдеги тилдерде түзүлгөн программаларды эки башка жол менен аткарууга болот. Биринчиси - компиляторду колдонуу, экинчиси - котормочуну колдонуу. Жогорку деңгээлдеги инструкция же тил котормочу тарабынан орто билимге которулат. Котормочуну колдонуунун артыкчылыгы - жогорку деңгээлдеги нускама көп убакытты талап кылган компиляция баскычынан өтпөйт. Ошентип, котормочуну колдонуу менен жогорку деңгээлдеги программа түздөн-түз аткарылат. Мына ушундан улам кээ бир программисттер котормочуларды колдонушат, анткени ал убакытты үнөмдөйт.
Дээрлик бардык жогорку деңгээлдеги программалоо тилдеринде компиляторлор жана котормочулар бар. Бирок LISP жана BASIC сыяктуу кээ бир тилдер аларды колдонуу менен жасалган программалар котормочу тарабынан аткарыла тургандай иштелип чыккан.
Компилятор менен котормочунун айырмасы
• Комплейер жогорку деңгээлдеги нускаманы машина тилине, котормочу жогорку деңгээлдеги нускаманы ортоңку формага которот.
• Аткаруу алдында бүт программа компилятор тарабынан аткарылат, ал эми биринчи сапты которгондон кийин котормочу аны аткарат ж.б.у.с.
• Каталардын тизмеси компиляция процессинен кийин компилятор тарабынан түзүлөт, ал эми котормочу биринчи катадан кийин которууну токтотот.
• Көз карандысыз аткарылуучу файл компилятор тарабынан түзүлөт, ал эми интерпретатор ар бир жолу интерпретацияланган программа тарабынан талап кылынат.