Skip to content

9618 · 16.2

Translation Software flashcards

Revision flashcards for Cambridge 9618 Translation Software (syllabus 16.2). Flip, recall, then mark a real past-paper question.

  • Card

    What is a compiler?

    A program that translates an entire high-level language source file into a standalone executable file (object code or machine code) in one go, before the program is run.

  • Card

    What is an interpreter?

    A program that reads a high-level language source file one statement at a time, translating and executing each statement before moving to the next. It does not produce a separate executable file.

  • Card

    What is an assembler?

    A program that translates low-level assembly language into machine code. The translation is typically a one-to-one or one-to-few mapping of mnemonics to binary instructions.

  • Card

    What is source code?

    The original program code written by a human programmer in a high-level or low-level language.

  • Card

    What is object code?

    The intermediate code produced by a compiler. It may not be fully executable as it might need to be linked with other object code files or libraries to resolve external references.

  • Card

    What is the main advantage of a compiler over an interpreter for a distributed application?

    Execution speed. The compiled program runs as native machine code, which is much faster than an interpreter translating line-by-line. Also, the source code is not revealed to the end-user.

  • Card

    What is the main advantage of an interpreter over a compiler during development?

    Debugging is easier. Errors are reported on a line-by-line basis as they are encountered, and there's no need for a lengthy recompilation after each small change.

  • Card

    What is Lexical Analysis?

    The first stage of compilation. It removes comments and whitespace, then scans the source code to group characters into tokens (e.g., keywords, identifiers, operators).

  • Card

    What is Syntax Analysis?

    The second stage of compilation. It checks if the sequence of tokens from the lexical analyser follows the grammatical rules of the language, often by building a parse tree.

  • Card

    What is the purpose of optimisation in compilation?

    To make the generated code more efficient, either by making it run faster or use less memory. It can occur on intermediate code or the final machine code.

  • Card

    What is the role of a linker?

    To combine one or more object code files (produced by a compiler) with necessary library code to produce a single, final executable file.

  • Card

    Is Java compiled or interpreted?

    It's a hybrid. Java source code is compiled into platform-independent bytecode. This bytecode is then interpreted (or just-in-time compiled) by a Java Virtual Machine (JVM) on the target machine.