1.2.2 Application generation

studied byStudied by 3 people
0.0(0)
get a hint
hint

Source Code

1 / 27

28 Terms

1

Source Code

Program code written by the programmer in high level code e.g C++

New cards
2

Assembly code

Low level code, each instruction maps to a single machine code instruction. Each machine will have its own assembly code instruction set.

New cards
3

Translation

Converting high level language to machine code

New cards
4

Why use high level languages?

It is easier to learn, understand, and debug.

New cards
5

Complier

translates whole program into machine code into machine code in one operation, reporting errors at the end of the process.

New cards
6

Interpreter

translates and executes program into machine code line by line, stops if an error is encountered and waits for program to be debugged before running again.

New cards
7

What is the compilation process?

Set of stages that turns source code into executable object code

New cards
8

What happens in lexical analysis stage?

Remove comments and white space. Allocate tokens. Produce a symbol table. Optimise code.

New cards
9

tokenised

happens in lexical analysis stage when the purpose of each element is identified such as variable name, arithmetic operation, value.

New cards
10

Use of symbol table

Used by the complier to keep track of all the elements identified in the program.

New cards
11

Syntax analysis

Compiler checks that the tokens are in correct order and follow rules of the programming language being used.

New cards
12

AST

Abstract syntax tree maps the structure of the program.

New cards
13

Semantic Analysis

Used to highlight logic errors, determines whether the code that has been written has meaning within the language

New cards
14

Types of semantic error

Data type declaration mismatch , wrong parameters called in a subroutine, using primitive variables ( reserved words as variable names.

New cards
15

Code generation

Seprate program which is distinct of the source code, known as object code.

New cards
16

Distinguishes between compliers and interpreters

Code generation. Interpreters do not produce executable file.

New cards
17

Code optimisation.

Happens at each stage of the compilation process, optimisers identify redundant or repeated code and remove or rearrange the code if necessary.

New cards
18

Libraries

store of pre-written subroutines that gives access to many specialist functions for example maths linpbrary in Java.

New cards
19

Linkers

resolves issue if several object code files when dealing with compilations of higher level languages by creating a singular executable file

New cards
20

Loaders

Copies the executable code into the RAM,

New cards
21

advantages of compliers

executable code cannot be reverse engineered, source code is protected, benefits commercial developers.

faster running time, executable file doesn't need to be translated, good for performance intensive games.

program doesn’t need translation, translator doesn’t need to be installed on computer

well optimisatied

New cards
22

disadvantages of compliers

errors are reported at the end of a compilation process which means that debugging process is slower for large programs as errors can be interlinked.

recompiling to make changes

can’t be run across different processors

New cards
23

LSSCO

lexical, syntax, semantic, code generation, optimisation

New cards
24

advantages of interpreters

line-by-line allows for interpreters allows for the developers to identify and debug errors as they occur. very useful to use in the development stage of software development.

error reports are shown in the console, debugging is quicker and easier

can be used across platforms.

New cards
25

disadvantages of interpreters

source code runs more slowly that compiled code as translation process repeats itself.

program requires an interpreter.

interpreter takes up memory space.

New cards
26

use of byte code

intermediate stage used by interpreter languages to speed up the translation process.

New cards
27

assemblers

translate assembly code to executable code

New cards
28

assembling vs translation

simpler process as it uses a one-to-one relationship between assembly code and machine code.

New cards

Explore top notes

note Note
studied byStudied by 24 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 32 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 14 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 13 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 16 people
Updated ... ago
4.5 Stars(2)
note Note
studied byStudied by 51 people
Updated ... ago
4.5 Stars(4)
note Note
studied byStudied by 3 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 33238 people
Updated ... ago
4.9 Stars(62)

Explore top flashcards

flashcards Flashcard101 terms
studied byStudied by 5 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard34 terms
studied byStudied by 9 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard33 terms
studied byStudied by 7 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard45 terms
studied byStudied by 7 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard76 terms
studied byStudied by 41 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard59 terms
studied byStudied by 2 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard44 terms
studied byStudied by 10 people
Updated ... ago
4.0 Stars(1)
flashcards Flashcard46 terms
studied byStudied by 215 people
Updated ... ago
5.0 Stars(2)