5.4 Translator Software

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Computer Science 9608 (Notes)

Chapter: 1.5 System software

Chapter 5
Language translators

The final type of system software that you need to know is translator software. This is software that allows
new programs to be written and run on computers, by converting source code (human readable) into
machine code. There are three types that we'll cover in a lot more detail shortly:

 Assembler - converts assembly code into machine code

 Interpreter - converts 3rd generation languages such as JavaScript into machine code one
line at a time

 Compiler - converts 3rd generation languages such as C++ into machine code all at once

Assembler

An a ssembler t ranslates assembly language into machine code. Assembly language consists of
0T 0 T 0T 0 T

mnemonics for machine opcodes so assemblers perform a 1:1 ratio translation from mnemonic to a direct
instruction. For example:

L DA #4 c onverts to 0 001001000100100
30T 300TT 0 T 0T 03 0T

Conversely, one instruction in a high level language will translate to one or more instructions at machine
level.

Advantages of using an Assembler Disadvantages of using Assembler


Very fast in translating assembly language to Assembly language is written for a certain
machine code as 1 to 1 relationship instruction set and/or processor

Assembly code is often very efficient (and Assembly tends to be optimized for the
therefore fast) because it is a low level hardware it's designed for, meaning it is
language incompatible with different hardware
Assembly code is fairly easy to understand due Lots of assembly code is needed to do
to the use of English-like mnemonics relatively simple tasks, and complex programs
require lots of programming time
Computer Science 9608 (Notes)
Chapter: 1.5 System software

Compiler
A C ompiler i s a computer program that t ranslates code written in a high level language to a lower level
0T 0T 0T 0 T 0T 0 T 0T

language, object/machine code. The most common reason for translating source code is to create an
executable program (converting from a high level language into machine language).

Advantages of using a compiler Disadvantages of using a compiler


Source code is not included, therefore Object code needs to be produced
compiled code is more secure than before a final executable file, this can
interpreted code be a slow process
Tends to produce faster code than The source code must be 100% correct
interpreting source code for the executable file to be produced
Produces an executable file, and
therefore the program can be run
without need of the source code

I nterpreter
35T

An interpreter program executes other programs directly, running through program code and executing it
line-by-line. As it analyses every line, an interpreter is slower than running compiled code but it can take
less time to interpret program code than to compile and then run it — this is very useful when prototyping
and testing code. Interpreters are written for multiple platforms, this means code written once can be run
immediately on different systems without having to recompile for each. Examples of this include flash
based web programs that will run on your PC, MAC, games console and Mobile phone.

Advantages of using an Interpreter Disadvantages of using an Interpreter

Easier to debug(check errors) than a Source code is required for the


Compiler program to be executed, and this

Easier to create multi-platform code, source code can be read making it


as each different platform would have insecure
an interpreter to run the same code Interpreters are generally slower than

Useful for prototyping software and compiled programs due to the per-line
testing basic program logic translation method.
Computer Science 9608 (Notes)
Chapter: 1.5 System software

Language translators
Few of the high-level language programs may be partially compiled and partially interpreted, such as Java. Typical
Java environment consists of two programs: Java compiler and Java Virtual Machine. Java compiler takes the source
code written in Java programming language, together with precompiled libraries, and compiles programs written in
Java programming languages into class files containing Java byte-code.

The Java Virtual Machine takes the byte code prepared by the Java compiler and executes it. The byte-code itself is
platform-independent; it is the responsibility of the Java Virtual Machine implementation to execute the program in
the byte-code form on the real computer.

So, the java code is partially compiled for optimization by the programmer. The user runs the code on a Java virtual
machine on their computers that interprets the java code for the users' computer specific architecture.

You might also like