Computer Systems Nat 4/5 Computing Science Translator Programs
Lesson Aims By the end of this lesson: All pupils will be able to: Describe and compare the following types of languages: Machine Code High Level Languages Describe why High Level Languages require translation. Describe how interpreters and compilers function.
Types Of Languages Machine Code is made up of only 2 symbols. 1 and 0 (On and Off) High Level Languages such as Visual Basic are written using some English words. They are not written IN english! Nat 4/5
High Level Languages Nat 4/5 General Purpose Pascal, C, C++ and COMAL ALGOL (Initially used for Mainframes) Artificial Intelligence PROLOG (PROgramming in LOGic) LISP (Probably 2 nd oldest language still in use ) Education Pascal COMAL BASIC Operating Systems C C++,C#
Why do we need them? The source code you write is instructions for the computer They are in a High Level Language The computer needs these instructions translated into machine code It’s the only language it understands! Nat 4/5
Types of Translators These programs convert High Level Language Source code into machine code (binary) Interpreter Translates and executes one line at a time Compiler Translates and executes the entire program at once This program can then be ran repeatedly Nat 4/5 Think complete!
Interpreter Functions like a spoken language interpreter. Translates and executes a single line at a time The interpreter is ALWAYS loaded in memory Error feedback is provided line by line Like in Smallbasic Interpreted programs have to be re- interpreted every single execution Nat 4/5
How an interpreter works Nat 4/5 Original Source Code Pctoutput.print “Hello” Pctoutput.isible = true Interpreter Syntax Error
How the compiler works Nat 4/5 Original Source Code Pctoutput.print “Hello” Pctoutput.isible = true Compiler Syntax Error Object Code Can be saved and ran later
Summary Compilers translate source code once into an executable program Only has to be translated once! Cannot see the source code in a compiled program Interpreters translate source code line by line Always has to be re-interpreted Spots errors line by line Nat 4/5