Транслятордың түрлері


Жұмыс түрі: Реферат
Тегін: Антиплагиат
Көлемі: 9 бет
Таңдаулыға:
ЖОСПАР:
- Кіріспе
- Негізгі бөлім:
- Трансляторлар
- Транслятордың жұмыс кезеңдері
- Транслятордың түрлері
- Қорытынды
Қолданылған әдебиеттер тізімі
Кіріспе
Программалау тілдері- бұл компьютердің көмегімен есепті шешу алгоритмін сипаттауға арналған құрылған жасанды тіл.
Барлық программалау тілдерін төмен және жоғары дәрежелік программалау тілі деп бөлуге болады.
Төмен дәрежелі программалау тілі аппаратураның анықталған түріне арналған. Программаны құру микропроцессордың архитектурасын және компьютердің құрылғыларын жақсы білуді талап етеді. Бұндай тілдегі программа машина тілінде жазылған қарапайым командалардан тұрады. (Мысалы, Ассемблер тілі)
Жоғары дәрежелі программалау адамға жақын анықталған жүйе көмегімен компьютерге команда беруге мүмкіндік береді. (Мысалы, Бейсик, Паскаль, Фортран, Си)
Жоғары дәрежелі программалау тілінде жазылған программа мәтіні компьютерге түсінікті емес, сондықтан оны машина тіліне аудару керек.
Программаны жоғары дәрежелі программалау тілінен машиналық код тіліне ауыстыру трансляция деп аталады. Бұл аударулар арнайы программалармен -трансляторлармен жүзеге асады.
Трансляторлар компиляторлар және и интерпретаторларға бөлінеді.
Компилятор барлық программаны машина тіліне аударады, содан кейін оны орындайды. .
Интерпретатор командалық ауыстыру орындайды және шығатын программаны орындайды.
Трансляторлар
Жоғары деңгейлі тілдер көптеген алгоритмдерді үйреншікті математикалық амалдардың жазылуына жақын ыңғайлы түрде жазып түсіндіруге мүмкіндік береді. Бұл тілдерді пайдалану программалаудағы кездесетін қиындықтарды азайтады. Жоғары деңгейлі тілдерді программа жасауда пайдалану 60-шы жылдары басталды. Содан бері бүгінгі күнде дейін белгілі есептерді шешуге арналған әмбебап, сандай-ақ бағдарланған көптеген әртүрлі тілдер жасалып пайдаланылып келеді. Әрбр программалау тілінің өзінің аты бар. Көптеген программалау тілінің аты олар алғаш жасалғаннан бастап тіркелген. Содан бері программалау тілдерінде қолданылатын ережелер өзгергенімен тілдер аты сол бұрынғы күйінде өзгеріссіз қалуда. Қазіргі кезде жоғары деңгейлі программалау тілдері былай бөлінеді:
• процедуралы (көптеген классикалық программалау тілдері, мысалы, FORTAN, PASCAL, BASIC, C) ;
• логикалық (ЛИСПЫ, ПРОЛОГ т. б. ) ;
• объектік-бағдарланған (С++, Java т. б. ) .
Қысқа программаларды жасауда процедуралық программалау тілдерін пайдалану ыңғайлы; логикалық программалау тілдерін алгоритмдерді теориялық зерттеуде жасандsинтеллекті оқытып үйрену жұмыстарында деректер базасымен жасалатын операцияларда өндіріс объектілерін және әскери бөлімдерді басқару жүйелерін басқаруда, ал объектік-бағдарланған программалау тілдерін бәрінен де үлкен және күрделі программаларды (Мысалы, компьютерлік ойындарда), жасақтауда пайдаланған жөн. Әртүрлі программалау тілдерінің арасында айтарлықтай елеулі айырмашылықтардың болуына қарамастан олардың барлығында негізгі операцияларды жүзеге асырудың ұқсас құралдары бар. Бұдан басқа әртүрлі программалау тілдерін пайдаланғанда жұмыс істеу қиындығының түрліше болатындағына қарамастан кез келген программаны жасауда кез келген типтегі программалау тілін пайдалануға болады. Бұл тілдердің әрқайсысына тоқталмай-ақ, осы тілдерді машина тіліне аударушы трансляторлардың жұмысына тоқталайық. Машина тілінен өзгеше программалау тілінде құрылған программа компьютерде орындалу үшін жарамды түрде, яғни машина тіліне түрлендіруі тиіс. Мұндай түрлендіру трансляциялау деп аталады. Ассемблердің ендірілетін тілі мнемокод, макроассемблер-макротіл, ал компилятордікі-поцедуралы бағдарланған тілдер боып табылады. Осыған байланысты ендірілетін тілдерді транцлятордың түрлеріне қарай ассемблер тілі, макроассемблер тілі деп аталады т. с. с. Транслятор арқылы өңделіп алынған программа тікелей компьютерде орындалады немесе оны басқа транцлятордың өңдеуіне тура келеді. Трансляциялау мен программаның орындалуы уақыт жағынан бөлінген болады. Интерпретатордан басқа трансляторларда алдымен барлық программа трансляцияланады содан кейін орындалады. Осы режімде жұмыс істейтін трансляторлар компиляциялаушы типті трансляторлар деп аталады. Егер мұндай транслятордың ендірілетін тілі процедуралы-бағдарланған тіл болса, онда транслятор компилятор.
Транслятордың жұмыс кезеңдері
Машина тілінде немесе жүктелуші тілде ұсынылған программа транслятор жұмысының нәтижесі болып табылады.
Транслятордың жұмысын төрт кезеңге бөлуге болады:
• лексикалық талдау. Мұның негізгі атқаратын қызыметі программаның бастапқы мәтінін одан әрі қарай өңдеу үшін ең ықшамды және ыңғайлы етіп ұсыну. Осылауша алынған мәтін транслятордың синтаксистік талдаушы деп аталатын келесі бөліміне бастапқы деректер ретінде беріледі;
• синтаксистік талдау. Бұл кезңде бастапқы мәтінді синтаксистік талқылау жүргізіледі, яғни сөйлемдердің типтерін тану және программаның құрылымын айқындау, сонымен бірге синтаксистік қателіктерді айқындаушы синтаксистік бақылау;
• объктік программаны жасау. Бұл кезеңде шын тілдің баламалы сөйлемдерінің мәні зерттеліп, симантикалық талдау жасалады;
• объктік программаны безендіру және беру. Бұл транслятор жұмысының соңғы қорытынды кезеңі. Объктік программаны кітапханаға жазуға, баспаға шығаруға болады. Пайдаланушының нұсқауы бойынша транслятор ендіретін қосымша информацияның белгілі бір бөлігі ғана баспаға беріледі.
Шығарылатын есептің сипатына және пайдаланушылардың категориясына байланысты трансляторларға әртүрлі талаптар қойылады. Мысалы, берілген программалау тілін игергісі келетін жаңадан бастаушыларға транслятордың ең маңызды сипаттамасы диагностикалық хабарларының толық әрі қарапайым болуы болып табылады. Егер компьютерде сплыстырмалы түрде алғанда көп уақыт есептеуді қажет етпейтін көптеген майда есептер шығарылатын болса, онда сол есептерді шығару үшін алынған программаның сапасына айтарлықтай мән берілмейді. Транслятордың жұмыс істеу жылдамдығы үлкен рол атқарады. Ұзақ есептелетін күрлелі есептер үшін талап етілетін машиналық уақытты және программаның орындалуы үшін қажетті жадтың көлемін ескере отырып транслятордың жасаған программаның ұтымдылығы ең маңызды рол атқарады. Мұндай ұтымды программалар алу трансляциялау алгоритмдерін күрделендіре түсуді талап етеді, ол трансляторды күрделендіре түсуге және оның жұмыс істеу уақытын арттыруға алып келеді. Осыған байланысты программалау жүйесінің өзінде тіптен бір программалау тілі үшін де бірнеше әртүрлі трансляторлар қарастырылады, ал пайдаланушы өзіне ең керекті трансяторларды таңдап алады. Ассемблер бастапқы модульді объектік программаның бір түрі болып табылатын объектік модульге түрлендіреді. Объектік модульдің оны оған тәуелсіз трансляцияланған басқа модульдермен біріктіруге және оның жедел жадтағы орналасуын реттеуге арналған машиналық командалары және информациялары бар. Объектік модуль компьютерлерде тікелей орындалмайды, сондықтан да оны программа құрастырушының қосымша өңденуіне тура келеді.
Транслятордың түрлері
Ендірілетін тілге, трансляциялау кезеңдерінің өту ретіне және программа операторларының орындалуына байланысты транслятордың мынадай түрлері болады:
1. ассемблер;
2. компилятор;
3. интерпретатор.
Компиляторлар программалаудың барлық танымал тілдері, соның ішінде Бейсик үшін де құрылған.
Ассемблер
Ассемблер бастапқы модульді объектік программаның бір түрі болып табылатын объектік модульге түрлендіреді.
Объектік модульдің оны оған тәуелсіз трансляцияланған басқа модульдермен біріктіруге және оның жедел жадтағы орналасуын реттеуге арналған машиналық командалары және информациялары бар. Объектік модуль компьютерлерде тікелей орындалмайды, сондықтан да оны программа құрастырушының қосымша өңденуіне тура келеді.
Ассамблер-бұл төменгі деңгейлі тілдің трансляторы, оның жұмысы мына төменгі схемада бейнеленген.
Интерпретатор және компилятор
Жоғары деңгейлі тілдің трансляторы трансляциялау кезеңдерінің өту реттілігіне және программа операторының орындалуына байланысты интерпретатор немесе компилятор деп аталады. Интерпретатор әрбір жеке операторды трансляциялаған соң, оның тікелей тез орындалуын қамтамасыз етеді, яғни трансляция кезеңі мен орындалу кезеңі кезекпен қайталанады.
Программаны интерпретациялау схемасы мына суретте көрсетілген.
Интерпретатор
Компилятор программаның барлық операторларын трансляциялайды, ал программаның орындалуы жалпы алғанда оның қатынасуынсыз өтеді, яғни жеке операторларды трансляциялау кезеңдері тікелей бірінен соң бірі өтеді және программаның орындалуынан толық оқшауланған болады. Программаны компиляциялаудың қысқартылған схемасы мына суретте көрсетілген.
Компилятор
Жоғарғы деңгейлі тілдердің көпшілігі үшін комбиляторлар жасалған. Интерпретаторлар жасалған тілдердің мысалына BASIC және FOCAL тілдерін атауға болады. Компьютерлердің программалау жүйесінде комбилятордың екі түрі бар. Бірінші түрдегі комбиляторлар бастапқы модульді машина тіліндегі объектік программаға түрлендіреді, яғни объектік модульді ассемблар тіліндегі объектік программаға түрлендіреді. Екінші түрдегі комбилятор қалыптастырған осы программадан объектік модульді алу үшін қосымша ассемблерді пайдалану қажет болады.
Қорытынды
Кез келген компьютер информацияны жадына жүктелген программаны орындау арқылы өңдейді. Программалау тілі символдардың жиынынан, осы символдардан тұратын тілдік нұсқаулардың семантикасынан және синтаксистен, яғни программаларды құру ережелерінің жүйесінен құралады. Есептелуге тиісті есептерді шығаруға операторлы программалау тілдері пайдаланылады. Осы тілдердің көмегімен математикалық, физикалық және инженерлік есептерді шешу ыңғайлы. Бірақ есептелмейтін, яғни сандық емес есептерді шығаруда программаны сол есептерді шығару үшін арнайы жасалған, басқа тілдерден құрған дұрыс. Мысалы, бір тілден екінші тілге аудару немесе қателіктерді алдын ала болжау программаларын басқа тілдерде құру жақсы нәтиже береді. Операторлы тілдерде алгоритмнің әрбір элементі қандайда бір оператордың көмегімен жазылады. Программада әрбір оператор белгілі бір әрекетті (операцияны) орындайды. Кәдімгі жағдайда барлық операторлар арнайы ағылшын сөздерімен жазылады. Бір есепті шешуге арналған программа әртүрлі программалау тілдерінде жазылап трансляциялануы және әртүрлі компьютерлерде орындалуы мүмкін. Бір программаның өзін әр түрлі трансляторлар процессордың әртүрлі нұсқайлар тізбегіне түрлендіреді. Осыған қарамастан программаның орындалу барысында барлық айырмашылықтар жоғалып кетеді және бірдей нәтиже алынады. Осылайша, программа қандай программалау тілінде жазылмағандығына қарамастан, оның тұрақты нәтижесі болады және бұл есепті шешу тәсілін анықтайды. Шын мәнінде программа мүлтіксіз орындалғанда есептің шешімін алуға мүмкіндік беретін әрекеттердің реттелген тізбегінен тұрады. Бұл әректтердің қалайша орындалатындығынның ешқандай мазмұны жоқ, яғни компьютердің көмегімен бе, қарандаш пен қағазды пайдаланып қолмен есептеу жолымен бе немесе қандай да бір басқа тәсілмен бе бәрібір. Әректтердің мұндай ретті тізбегі бұрын айтып кеткеніміздей есепті шешу алгоритмі деп аталады. Осы тұрғыдан қарағанда программалау тілдері алгоритмдерді компьютердің көмегімен орындауға мүмкіндік беретін пішінде жазушы тілдер болып табылады. Алгоритмнің орындалуын берілген әректтерді ретімен іс жүзіне асыру деп түсіну керек. Сонымен программа дегеніміз-бұл алгоритмді компьютер түсінетін тілде жазып көрсету деген сөз. Қалай біз программалауды алгоритмдеуден бөліп қарасақ болады, алгоритмдерді жазу, сондай-ақ оны жасақтау проблемалары программалауда қиындықтар туғызатындығы түсінікті болады. Программалаудың осы екі кезеңін ажырата білу керек. Программалауды алгоритмді жасақтау және оны жүзеге асыру деп түсінген жөн. Алгоритмді жазуға байланысты қиындақтарды әдетте оңай жеңуге болады. Қазіргі заманғы программалау тілдерінде кез келген проблемаларды жеңіп шығуға болатын әртүрлі қуатты операторлардың саны жеткілікті.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz