Program Construction Flashcards

1
Q

Assembly Code

A

a low-level programming language designed for a specific type of processor that can be converted to machine code using an assembler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

High-Level Language

A

a programming language designed to simplify computer programs, is high-level because it is several steps removed from the actual code run on the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Intermediate Code

A

used as an intermediary when translating source code into machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Lexeme

A

character sequence forming a specific instance of a token, such as num

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Linker

A

combines pre-compiled modules of code, such as standard libraries, and your program into a single executable file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Loader

A

executes at runtime, part of the OS, checks there is enough memory for the program and allocates RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Low Level Language

A

a programming language that contains basic instructions recognised by a CPU, such as assembly code and machine code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Machine Code

A

code that the computer can understand, made up of 1s and 0s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mnemonics

A

short code used in assembly language, chosen to remind the programmer of the program instruction it represents

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Object Code

A

code that is executed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Source Code

A

code that you type

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Translator

A

tool that translates source code into object code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Assembler

A

a computer program that will take the mnemonics used in assembly language and convert them into machine code so they can be processed by the computer. This is done by converting one word assembly instructions into opcode, and allocating memory to variables, often resulting in an operand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Compiler

A

converts the whole program into a single executable program in one go

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Interpreter

A

takes code written in high-level language and translates it into machine code. It translates everything one line at a time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Lexical Analysis

A

translates code into a series of tokens, removing any white space, indentation and comments

17
Q

Symbol Table Construction

A

created to store variables, comments and non key-words, involves simple error checking

18
Q

Syntax Analysis

A

breaks up strings into statements, which are parsed using syntax or BNF definitions; information on data types and scope of variables is added to the symbol table and errors are reported

19
Q

Semantic Analysis

A

type checking occurs and checks all variables have been declared

20
Q

Code Generation

A

produces an object code version of the program, producing several instructions for high-level instruction; variables and constants are given symbolic addresses and immediate byte code is generated

21
Q

Optimisation

A

optimises the program for the processor that it is run on, either by improve processing speed, reducing number of instructions or reducing memory needed (only on compilers)

22
Q

Parsing

A

where strings are broken up into statements then checked against he rules of the language

23
Q

Low Level Language

A

a programming language that contains basic instructions recognised by a CPU, such as assembly code and machine code

24
Q

Reverse Engineering

A

involves extracting design information from code

25
Q

Type Checking

A

verifies that the types of values and expressions in a program are consistent and compatible

26
Q

Strongly Typed Languages

A

a language with firm restrictions imposed on data types and values

27
Q

Weakly Typed Languages

A

a language without firm restrictions imposed on data types and values

28
Q

Virtual Machine

A

computer system where software on one computer is used to emulate the functionality of another computer, for example, emulating Windows XP on Windows 10