Поддерживать
www.wikidata.ru-ru.nina.az
Eta statya o yazykah programmirovaniya o estestvennyh yazykah sm Perevod Eta statya vklyuchaet opisanie termina Translyaciya sm takzhe drugie znacheniya Translya tor programma ili tehnicheskoe sredstvo vypolnyayushee translyaciyu programmy Translya ciya progra mmy preobrazovanie programmy predstavlennoj na odnom iz yazykov programmirovaniya v programmu napisannuyu na drugom yazyke Translyator obychno vypolnyaet takzhe diagnostiku oshibok formiruet slovari identifikatorov vydayot dlya pechati tekst programmy i t d Yazyk na kotorom predstavlena vhodnaya programma nazyvaetsya ishodnym yazykom a sama programma ishodnym kodom Vyhodnoj yazyk nazyvaetsya celevym yazykom V obshem sluchae ponyatie translyacii otnositsya ne tolko k yazykam programmirovaniya no i k drugim yazykam kak formalnym kompyuternym vrode yazykov razmetki tipa HTML tak i estestvennym russkomu anglijskomu i t p Vidy translyatorovSushestvuet neskolko vidov translyatorov Dialogovyj translyator translyator obespechivayushij ispolzovanie yazyka programmirovaniya v rezhime razdeleniya vremeni Sintaksicheski orientirovannyj sintaksicheski upravlyaemyj translyator translyator poluchayushij na vhod opisanie sintaksisa i semantiki yazyka tekst na opisannom yazyke i vypolnyayushij translyaciyu v sootvetstvii s zadannym opisaniem Odnoprohodnoj translyator translyator preobrazuyushij ishodnyj kod pri ego odnokratnom posledovatelnom chtenii za odin prohod Mnogoprohodnoj translyator translyator preobrazuyushij ishodnyj kod posle ego neskolkih chtenij za neskolko prohodov Optimiziruyushij translyator translyator vypolnyayushij optimizaciyu sozdavaemogo koda Sm optimiziruyushij kompilyator Testovyj translyator translyator poluchayushij na vhod ishodnyj kod i vydayushij na vyhode izmenyonnyj ishodnyj kod Zapuskaetsya pered osnovnym translyatorom dlya dobavleniya v ishodnyj kod otladochnyh procedur Naprimer translyator s yazyka assemblera mozhet vypolnyat zamenu makrokomand na kod Obratnyj translyator translyator vypolnyayushij preobrazovanie mashinnogo koda v tekst na kakom libo yazyke programmirovaniya Sm dizassembler dekompilyator RealizaciiCel translyacii preobrazovanie teksta s odnogo yazyka na yazyk ponyatnyj adresatu Pri translyacii kompyuternoj programmy adresatom mozhet byt ustrojstvo processor translyaciya nazyvaetsya kompilyaciej programma interpretator translyaciya nazyvaetsya interpretaciej Vidy translyacii kompilyaciya v ispolnyaemyj kod v mashinnyj kod v bajt kod transpilyaciya interpretaciya dinamicheskaya kompilyaciya Kompilyaciya Osnovnaya statya Kompilyator Yazyk processora ustrojstva mashiny nazyvaetsya mashinnym yazykom mashinnym kodom Kod na mashinnom yazyke ispolnyaetsya processorom Obychno mashinnyj yazyk yazyk nizkogo urovnya no sushestvuyut processory ispolzuyushie yazyki vysokogo urovnya naprimer iAPX 432 Odnako takie processory ne poluchili rasprostraneniya v silu svoej slozhnosti i dorogovizny Kompilyator eto vid translyatora preobrazuyushij ishodnyj kod s kakogo libo yazyka programmirovaniya na mashinnyj yazyk Process kompilyacii kak pravilo sostoit iz neskolkih etapov leksicheskij analiz sintaksicheskij analiz semanticheskij analiz sozdanie na osnove rezultatov analizov promezhutochnogo koda optimizaciya promezhutochnogo koda sozdanie obektnogo koda v dannom sluchae mashinnogo Programma mozhet ispolzovat servisy predostavlyaemye operacionnoj sistemoj i storonnie biblioteki naprimer biblioteki dlya raboty s fajlami i biblioteki dlya sozdaniya graficheskogo interfejsa Dlya dobavleniya v obektnyj fajl mashinnogo koda iz drugih obektnyh fajlov koda staticheskih bibliotek i informacii o dinamicheskih bibliotekah vypolnyaetsya svyazyvanie angl link ili komponovka Svyazyvanie ili komponovka vypolnyaetsya redaktorom svyazej ili komponovshikom Komponovshik mozhet byt otdelnoj programmoj ili chastyu kompilyatora Komponovshik sozdayot ispolnyaemyj fajl Ispolnyaemyj fajl programma zapuskaetsya sleduyushim obrazom po zaprosu polzovatelya v yadre operacionnoj sistemy sozdayotsya obekt process zagruzchik programm operacionnoj sistemy vypolnyaet sleduyushie dejstviya chitaet ispolnyaemyj fajl zagruzhaet ego v pamyat zagruzhaet v pamyat dinamicheskie biblioteki vypolnyaet svyazyvanie mashinnogo koda programmy s dinamicheskimi bibliotekami dinamicheskoe svyazyvanie peredayot upravlenie programme Dostoinstva kompilyacii kompilyaciya programmy vypolnyaetsya odin raz nalichie kompilyatora na ustrojstve dlya kotorogo kompiliruetsya programma ne trebuetsya Nedostatki kompilyacii kompilyaciya medlennyj process pri vnesenii izmenenij v ishodnyj kod trebuetsya povtornaya kompilyaciya Assembler kompilyator preobrazuyushij tekst s yazyka assemblera na mashinnyj yazyk Yazyk assemblera yazyk blizkij k mashinnomu yazyku yazyk nizkogo urovnya Interpretaciya Osnovnaya statya Interpretator Interpretaciya process chteniya i vypolneniya ishodnogo koda Realizuetsya programmoj interpretatorom Interpretator mozhet rabotat dvumya sposobami chitat kod i ispolnyat ego srazu chistaya interpretaciya chitat kod sozdavat v pamyati promezhutochnoe predstavlenie koda bajt kod ili p kod vypolnyat promezhutochnoe predstavlenie koda smeshannaya realizaciya V pervom sluchae translyaciya ne ispolzuetsya a vo vtorom ispolzuetsya translyaciya ishodnogo koda v promezhutochnyj kod Etapy raboty interpretatora leksicheskij analiz sintaksicheskij analiz semanticheskij analiz sozdanie promezhutochnogo predstavleniya koda pri chistoj interpretacii ne vypolnyaetsya ispolnenie Interpretator modeliruet mashinu virtualnuyu mashinu realizuet cikl vyborki ispolneniya komand mashiny Komandy mashiny zapisyvayutsya ne na mashinnom yazyke a na yazyke vysokogo urovnya Interpretator mozhno nazvat ispolnitelem yazyka virtualnoj mashiny Chistaya interpretaciya primenyaetsya obychno dlya yazykov s prostoj strukturoj naprimer yazykov scenariev yazykov APL i Lisp Primery interpretatorov sozdayushih bajt kod Perl PHP Python Erlang Dostoinstva interpretatorov po sravneniyu s kompilyatorami vozmozhnost raboty v interaktivnom rezhime otsutstvie neobhodimosti perekompilyacii ishodnogo koda posle vneseniya izmenenij i pri perenose koda na druguyu platformu Nedostatki interpretatorov po sravneniyu s kompilyatorami nizkaya proizvoditelnost mashinnyj kod ispolnyaetsya processorom a interpretiruemyj kod interpretatorom mashinnyj kod samogo interpretatora ispolnyaetsya processorom neobhodimost nalichiya interpretatora na ustrojstve na kotorom planiruetsya interpretaciya programmy obnaruzhenie oshibok sintaksisa na etape vypolneniya aktualno dlya chistyh interpretatorov Sravnenie chistogo interpretatora i interpretatora sozdayushego bajt kod chistyj interpretator proshe v realizacii tak kak dlya nego ne nuzhno pisat kod translyatora interpretator sozdayushij bajt kod mozhet vypolnyat ego optimizaciyu i dobivatsya bolshej proizvoditelnosti chem chistyj interpretator interpretator sozdayushij bajt kod potreblyaet bolshe resursov sistemy translyaciya v bajt kod zanimaet processornoe vremya bajt kod zanimaet mesto v pamyati Dinamicheskaya kompilyaciya Osnovnaya statya JIT kompilyaciya Dinamicheskaya ili JIT kompilyaciya translyaciya pri kotoroj ishodnyj ili promezhutochnyj kod preobrazuetsya kompiliruetsya v mashinnyj kod neposredstvenno vo vremya ispolneniya na letu angl just in time JIT Kompilyaciya kazhdogo uchastka koda vypolnyaetsya tolko odin raz skompilirovannyj kod sohranyaetsya v keshe i pri neobhodimosti ispolzuetsya povtorno Dostoinstva dinamicheskoj kompilyacii po sravneniyu s kompilyaciej skorost raboty dinamicheski kompiliruemyh programm blizka k skorosti raboty kompiliruemyh programm otsutstvie neobhodimosti perekompilyacii programmy pri perenose na druguyu platformu Nedostatki dinamicheskoj kompilyacii po sravneniyu s kompilyaciej i chistoj interpretaciej bo lshaya slozhnost realizacii bo lshie trebovaniya k resursam Dinamicheskaya kompilyaciya horosho podhodit dlya veb prilozhenij Dinamicheskaya kompilyaciya poyavilas i podderzhivaetsya v toj ili inoj mere v realizaciyah Java NET Framework Perl Python Smeshenie ponyatij translyacii i interpretaciiPonyatiya translyaciya i interpretaciya razlichayutsya Vo vremya translyacii vypolnyaetsya preobrazovanie koda programmy s odnogo yazyka na drugoj Vo vremya interpretacii programma ispolnyaetsya Tak kak celyu translyacii yavlyaetsya obychno podgotovka k interpretacii eti processy rassmatrivayutsya vmeste Naprimer yazyki programmirovaniya chasto harakterizuyutsya kak kompiliruemye ili interpretiruemye v zavisimosti ot togo chto preobladaet pri ispolzovanii yazyka kompilyaciya ili interpretaciya Prichyom prakticheski vse yazyki nizkogo urovnya i vrode assemblera Si ili Moduly 2 yavlyayutsya kompiliruemymi a bolee vysokourovnevye yazyki vrode Python ili SQL interpretiruemymi S drugoj storony sushestvuet vzaimoproniknovenie processov translyacii i interpretacii interpretatory mogut byt kompiliruyushimi v tom chisle s dinamicheskoj kompilyaciej a v translyatorah mozhet trebovatsya interpretaciya dlya realizacii metaprogrammirovaniya naprimer dlya makrosov v yazyke assemblera uslovnoj kompilyacii v Si ili shablonov v C Bolee togo odin i tot zhe yazyk programmirovaniya mozhet i translirovatsya i interpretirovatsya i v oboih sluchayah dolzhny prisutstvovat obshie etapy analiza i raspoznavaniya konstrukcij i direktiv ishodnogo yazyka Eto otnositsya i k programmnym realizaciyam i k apparatnym tak processory semejstva x86 pered ispolneniem instrukcij mashinnogo yazyka vypolnyayut ih dekodirovanie vydelyaya v opkodah polya operandov ukazanie registrov adresov v pamyati konstant razryadnosti i t p a v processorah Pentium s arhitekturoj NetBurst tot zhe samyj mashinnyj kod pered sohraneniem vo vnutrennem keshe dopolnitelno transliruetsya v posledovatelnost mikrooperacij PrimechaniyaGOST 19781 83 Vychislitelnaya tehnika Terminologiya Spravochnoe posobie Vypusk 1 Recenzent kand tehn nauk Yu P Selivanov M Izdatelstvo standartov 1989 168 s 55 000 ekz ISBN 5 7050 0155 X Pershikov V I Savinkov V M Tolkovyj slovar po informatike Recenzenty kand fiz mat nauk A S Markov i d r fiz mat nauk I V Pottosin M Finansy i statistika 1991 543 s 50 000 ekz ISBN 5 279 00367 0 ST ISO 2382 7 77 Vychislitelnaya tehnika Terminologiya Ukaz soch Tolkovyj slovar po vychislitelnym sistemam Dictionary of Computing Pod red V Illinguorta i dr Per s angl A K Belockogo i dr Pod red E K Maslovskogo M Mashinostroenie 1990 560 s 70 000 dop ekz ISBN 5 217 00617 X SSSR ISBN 0 19 853913 4 Velikobritaniya Organik E Organizaciya sistemy Intel 432 A Programmer s View of the Intel 432 System Per s angl M Mir 1987 S 20 31 446 s 59 000 ekz Robert U Sebesta 1 7 Metody realizacii Osnovnye koncepcii yazykov programmirovaniya Concepts of Programming Languages Per s angl 5 e izd M 2001 S 45 52 672 s 5000 ekz ISBN 5 8459 0192 8 rus ISBN 0 201 75295 6 angl LiteraturaKasyanov V N Pottosin I V Metody postroeniya translyatorov Novosibirsk Nauka 1986 344 s
Вершина