Computer Science GCES OCR
-
Cpu Architecture Performance And Embedded Systems Ocr5 主题
-
Primary And Secondary Storage Ocr6 主题
-
Data Storage And Compression Ocr12 主题
-
Units Of Data Storage Ocr
-
Processing Binary Data Ocr
-
Data Capacity And Calculating Capacity Requirements Ocr
-
Converting Between Denary And Binary Ocr
-
Binary Addition Ocr
-
Converting Between Denary And Hexadecimal Ocr
-
Converting Between Binary And Hexadecimal Ocr
-
Binary Shifts Ocr
-
Representing Characters Ocr
-
Representing Images Ocr
-
Representing Sound Ocr
-
Compression Ocr
-
Units Of Data Storage Ocr
-
Networks And Topologies Ocr6 主题
-
Wired And Wireless Networks Protocols And Layers Ocr6 主题
-
Identifying And Preventing Threats To Computer Systems And Networks Ocr2 主题
-
Operating Systems And Utility Software Ocr2 主题
-
Ethical Legal Cultural And Environmental Impact Ocr2 主题
-
Computational Thinking Searching And Sorting Algorithms Ocr3 主题
-
Designing Creating And Refining Algorithms Ocr5 主题
-
Programming Fundamentals And Data Types Ocr5 主题
-
Additional Programming Techniques Ocr7 主题
-
Defensive Design And Testing Ocr6 主题
-
Boolean Logic Diagrams Ocr2 主题
-
Programming Languages And Integrated Development Environments Ides Ocr3 主题
-
The Exam Papers Ocr2 主题
-
Structuring Your Responses Ocr3 主题
Translators Compilers And Interpreters Ocr
Exam code:J277
Translators, Compilers & Interpreters
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
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
Responses