Compilers & Interpreters (Edexcel GCSE Computer Science)
Revision Note
What is a translator?
A translator is a program that translates program source code into machine code so that it can executed directly by a processor
Low-level languages such as assembly code are translated using an assembler
High-level languages such as Python are translated using a compiler or interpreter
Compilers & Interpreters
What is a compiler?
A compiler translates high-level languages into machine code all in one go
Compilers are generally used when a program is finished and has been checked for syntax errors
Compiled code can be distributed (creates an executable) and run without the need for translation software
If compiled code contains any errors, after fixing, it will need re-compiling
Advantages | Disadvantages |
---|---|
Speed of execution | Can be memory intensive |
Optimises the code | Difficult to debug |
Original source code will not be seen | Changes mean it must be recompiled |
| It is designed solely for one specific processor |
What is an interpreter?
An interpreter translates high-level languages into machine code one line at a time
Each line is executed after translation and if any errors are found, the process stops
Interpreters are generally used when a program is being written in the development stage
Interpreted code is more difficult to distribute as translation software is needed for it to run
Advantages | Disadvantages |
---|---|
Stops when it finds a specific syntax error in the code | Slower execution |
Easier to debug | Every time the program is run it has to be translated |
Require less RAM to process the code | Executed as is, no optimisation |
Worked Example
A computer program is written in a high-level programming language.
(a) State why the computer needs to translate the code before it is executed.[1]
(b) Either a compiler or an interpreter can translate the code. Describe two differences between how a compiler and an interpreter would translate the code.[2]
How to answer this question
(a) what time of language does a computer understand?
(b) the keyword is 'how'
Answer
(a)
To convert it to binary/machine code
The processor can only understand machine code
(b)
Compiler translates all the code in one go...
...whereas an interpreter translates one line at a time
Compiler creates an executable...
...whereas an interpreter does not/executes one line at a time
Compiler reports an error at the end...
...whereas an interpreter stops when it finds an error
Last updated:
You've read 0 of your 10 free revision notes
Unlock more, it's free!
Did this page help you?