Translator (computing): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: date, title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by BrownHairedGirl | Linked from User:BrownHairedGirl/Articles_with_bare_links | #UCB_webform_linked 1814/2171
CE, combined many identical references, improved ref
Line 2:
{{Short description|Computer program that translates code from one programming language to another}}
{{Use dmy dates|date=February 2020|cs1-dates=y}}
{{Use list-defined references|date=January 2022}}
{{Program execution}}
A '''translator''' or '''programming language processor''' is a generic term that can refer to anything that [[Data conversion|converts]] code from one computer language into another.<ref name="MCTThornton_2017"/><ref name="Intel_1983_SH"/> A program written in high-level language is called source program. These include translations between [[high-level language|high-level]] and [[Source code|human-readable computer languages]] such as [[C++]] and [[Java (programming language)|Java]], intermediate-level languages such as [[Java bytecode]], [[low-level language]]s such as the [[assembly language]] and [[machine code]], and between similar levels of language on different [[computing platform]]s, as well as from any of the above to another.<ref name="MCTThornton_2017"/>
 
The term is also used for translators between software implementations and hardware implementations ([[ASIC]]s [[microchip]]s) of the same program, and from software descriptions of a microchip to the [[logic gate]]s needed to build it.{{Citation needed|date=July 2019}}
Line 15 ⟶ 16:
A [[compiler]] is a translator used to convert [[high-level programming language]] to [[low-level programming language]]. It converts the whole [[Computer program|program]] in one session and reports [[Software bug|errors]] detected after the conversion. The compiler takes time to do its work as it translates high-level code to lower-level code all at once and then saves it to memory.
A compiler is [[Central processing unit|processor]]-dependent and [[Cross-platform software|platform-dependent]].
It has been addressed by alternate names as the following: special compiler, cross-compiler and, source-to-source compiler.<ref name="TCS_2018"/><ref name="Thornton_2017"/><ref name="Pasteur_2008"/>
It has been addressed by alternate names as the following: special compiler, cross-compiler and, source-to-source compiler.<ref>{{Cite web|url=https://teachcomputerscience.com/translators/|title=Translators &#124; Purpose, Types, Examples & Advantages|date=11 January 2018}}</ref><ref>{{Cite web|url=https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/|title = What are compilers, translators, interpreters, and assemblers?}}</ref><ref name="Pasteur_2008">{{cite book |author-first1=Katja |author-last1=Schuerer |author-first2=Catherine |author-last2=Letondal |author-first3=Eric |author-last3=Deveaud |date=2008-02-04 |orig-year=2003-01-06 |publisher=[[Pasteur Institute]] |title=Introduction to Programming using Python - Programming Course for Biologists at the Pasteur Institute |chapter=Chapter 5. Program execution, Section 5.2. Interpreter and Compiler |website=pasteur.fr |pages=37–40 |chapter-url=http://www.pasteur.fr/formation/infobio/python/ch05s02.html <!-- |url=http://www.pasteur.fr/formation/infobio/python/index.html -->|access-date=2015-01-07 |url-status=dead |archive-url=https://web.archive.org/web/20151111024459/http://www.pasteur.fr/formation/infobio/python/ch05s02.html |archive-date=2015-11-11}} [https://web.archive.org/web/20151124102155/http://www.pasteur.fr/formation/infobio/python/support.pdf]</ref>
 
=== Interpreter ===
Line 21 ⟶ 22:
The [[Interpreter (computing)|interpreter]] is similar to a compiler, as it is a translator used to convert [[high-level programming language]] to [[low-level programming language]]. The difference is that it converts the program one line of code at a time and reports errors when detected, while also doing the conversion.
An interpreter is faster than a compiler as it immediately executes the code upon reading the code.
It is often used as a [[debugging tool]] for [[software development]] as it can execute a single line of [[computer code|code]] at a time. An interpreter is also more portable than a compiler as it is [[Central processing unit|processor]]-independent, you can work between different [[Computer hardware|hardware]] [[Computer architecture|architectures]].<ref>{{Cite web|urlname=https:"TCS_2018"//teachcomputerscience.com/translators/|title=Translators &#124; Purpose, Types, Examples & Advantages|date=11 January 2018}}</ref><ref>{{Cite web|urlname=https:"Thornton_2017"//www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/|title = What are compilers, translators, interpreters, and assemblers?}}</ref><ref name="Pasteur_2008">{{cite book |author-first1=Katja |author-last1=Schuerer |author-first2=Catherine |author-last2=Letondal |author-first3=Eric |author-last3=Deveaud |date=2008-02-04 |orig-year=2003-01-06 |publisher=[[Pasteur Institute]] |title=Introduction to Programming using Python - Programming Course for Biologists at the Pasteur Institute |chapter=Chapter 5. Program execution, Section 5.2. Interpreter and Compiler |website=pasteur.fr |pages=37–40 |chapter-url=http://www.pasteur.fr/formation/infobio/python/ch05s02.html <!-- |url=http://www.pasteur.fr/formation/infobio/python/index.html -->|access-date=2015-01-07 |url-status=dead |archive-url=https://web.archive.org/web/20151111024459/http://www.pasteur.fr/formation/infobio/python/ch05s02.html |archive-date=2015-11-11}} [https://web.archive.org/web/20151124102155/http://www.pasteur.fr/formation/infobio/python/support.pdf]</ref>
 
=== Assembler ===
{{main|Assembly language#Assembler}}
An [[Assembler (computing)|assembler]] is a translator used to translate [[assembly language]] into [[machine language]]. It has the same function as a compiler for the assembly language but works like an interpreter. Assembly language is difficult to understand as it is a low-level programming language. An assembler translates a [[low-level language]], such as an assembly language to an even lower-level language, such as the [[machine code]].<ref>{{Cite web|urlname=https:"TCS_2018"//teachcomputerscience.com/translators/|title=Translators &#124; Purpose, Types, Examples & Advantages|date=11 January 2018}}</ref><ref>{{Cite web|urlname=https:"Thornton_2017"//www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/|title = What are compilers, translators, interpreters, and assemblers?}}</ref>
 
== See also ==
Line 37 ⟶ 38:
== References ==
{{Reflist|refs=
<ref name="Intel_1983_SH">{{cite book |title=Software Handbook |chapter=Translators And Utilities For Program Development |page=3-1 |date=1984 |orig-yeardate=1983 |publisher=[[Intel Corporation]] |id=230786-001 |url=http://bitsavers.trailing-edge.com/components/intel/_dataBooks/230786-001_Intel_Software_Handbook_1984.pdf |access-date=2020-01-29 |url-status=live |archive-url=https://web.archive.org/web/20200129010534/http://bitsavers.trailing-edge.com/components/intel/_dataBooks/230786-001_Intel_Software_Handbook_1984.pdf |archive-date=2020-01-29}}</ref>
<ref name="MCTTCS_2018">{{cite web |title=WhatTranslators: are compilersPurpose, translatorsTypes, interpreters,Examples and& assemblers?Advantages |date=20172018-0201-1711 |author-firstpublisher=ScottTeach |author-last=ThorntonComputer |work=MicrocontrollerTipsScience |url=httphttps://www.microcontrollertipsteachcomputerscience.com/compilers-translators-interpreters-assemblers-faq/ |access-date=20202022-0201-0209 |url-status=live |archive-url=https://web.archive.org/web/2019071922360920220109223333/https://www.microcontrollertipsteachcomputerscience.com/compilers-translators-interpreters-assemblers-faq/ |archive-date=20192022-0701-1909}}</ref>
<ref name="Thornton_2017">{{cite web |title=What are compilers, translators, interpreters, and assemblers? |date=2017-02-17 |author-first=Scott |author-last=Thornton |work=MicrocontrollerTips |url=http://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/ |access-date=2020-02-02 |url-status=live |archive-url=https://web.archive.org/web/20190719223609/https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/ |archive-date=2019-07-19}}</ref>
<ref name="Pasteur_2008">{{cite book |author-first1=Katja |author-last1=Schuerer |author-first2=Catherine |author-last2=Letondal |author-first3=Eric |author-last3=Deveaud |date=2008-02-04 |orig-yeardate=2003-01-06 |publisher=[[Pasteur Institute]] |title=Introduction to Programming using Python - Programming Course for Biologists at the Pasteur Institute |chapter=Chapter 5. Program execution, Section 5.2. Interpreter and Compiler |website=pasteur.fr |pages=37–40 |chapter-url=http://www.pasteur.fr/formation/infobio/python/ch05s02.html <!-- |url=http://www.pasteur.fr/formation/infobio/python/index.html -->|access-date=2015-01-07 |url-status=dead |archive-url=https://web.archive.org/web/20151111024459/http://www.pasteur.fr/formation/infobio/python/ch05s02.html |archive-date=2015-11-11}} [https://web.archive.org/web/20151124102155/http://www.pasteur.fr/formation/infobio/python/support.pdf]</ref>
}}
 
== Further reading ==
* {{cite book |title=Assemblers, Compilers, and Program Translation |author-first=Peter |author-last=Calingaert |editor-first=Ellis |editor-last=Horowitz |editor-link=Ellis Horowitz |date=1979 |orig-yeardate=1978-11-05 |series=Computer software engineering series |publisher=[[Computer Science Press, Inc.]] |publication-place=Potomac, Maryland, USA |___location=[[University of North Carolina at Chapel Hill]] |edition=1st printing, 1st |isbn=0-914894-23-4 |issn=0888-2088 |lccn=78-21905 |url=https://books.google.com/books?id=x84mAAAAMAAJ |access-date=2020-03-20 |url-status=live |archive-url=https://web.archive.org/web/20200320183710/https://books.google.de/books?id=x84mAAAAMAAJ&redir_esc=y |archive-date=2020-03-20}} (2+xiv+270+6 pages)
* {{cite web |title=Why Hasn't AI Mastered Language Translation? |author-first=David |author-last=Pring-Mill |work=Singularity Hub |publisher=[[Singularity University]] |date=2018-03-04 |url=https://singularityhub.com/2018/03/04/why-hasnt-ai-mastered-language-translation/#sm.00000g1rmbl85mcrmqbgjyoco3zrf |access-date=2020-02-02 |url-status=live |archive-url=https://web.archive.org/web/20191229055424/https://singularityhub.com/2018/03/04/why-hasnt-ai-mastered-language-translation/#sm.00000g1rmbl85mcrmqbgjyoco3zrf |archive-date=2019-12-29}}
* {{cite web |title=Language processors |author-first=Stephen A. |author-last=Edwards |publisher=[[Columbia University]] |date=Fall 2013 |url=http://www1.cs.columbia.edu/~sedwards/classes/2013/w4115-fall/processors.pdf |access-date=2020-02-02 |url-status=live |archive-url=https://web.archive.org/web/20190624175913/http://www1.cs.columbia.edu/~sedwards/classes/2013/w4115-fall/processors.pdf |archive-date=2019-06-24}}