Back to 课程

Computer Science GCES OCR

0% Complete
0/0 Steps
  1. Cpu Architecture Performance And Embedded Systems Ocr
    5 主题
  2. Primary And Secondary Storage Ocr
    6 主题
  3. Data Storage And Compression Ocr
    12 主题
  4. Networks And Topologies Ocr
    6 主题
  5. Wired And Wireless Networks Protocols And Layers Ocr
    6 主题
  6. Identifying And Preventing Threats To Computer Systems And Networks Ocr
    2 主题
  7. Operating Systems And Utility Software Ocr
    2 主题
  8. Ethical Legal Cultural And Environmental Impact Ocr
    2 主题
  9. Computational Thinking Searching And Sorting Algorithms Ocr
    3 主题
  10. Designing Creating And Refining Algorithms Ocr
    5 主题
  11. Programming Fundamentals And Data Types Ocr
    5 主题
  12. Additional Programming Techniques Ocr
    7 主题
  13. Defensive Design And Testing Ocr
    6 主题
  14. Boolean Logic Diagrams Ocr
    2 主题
  15. Programming Languages And Integrated Development Environments Ides Ocr
    3 主题
  16. The Exam Papers Ocr
    2 主题
  17. Structuring Your Responses Ocr
    3 主题
课 Progress
0% Complete

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

您的邮箱地址不会被公开。 必填项已用 * 标注