Program Development and Compilation Flashcards
Agile
Software development concept which uses multiple methods to facilitate interactive and collaborative projects
Assembler
Program that converts assembly code into object code
Assembly Language
Low-level language in which each instruction represents a single machine code instruction
Code Generation
Stage of the compilation process where an abstract syntax tree is converted into object code
Code Optimisation
Stage of the compilation process where redundant code is removed and code is made more efficient if possible
Compiler
Program that converts an entire program from high-level code to machine code at once
Dijkstra’s Shortest Path
Algorithm that finds the most optimal route from one node of a weighted graph to another without using heuristics
Direct
Memory addressing method where the operand represents the memory location
of the data to be used
High-Level
Category of programming language in which human-readable instructions represent machine code instructions
Immediate
Memory addressing method where the data to be used is hard-coded in the operand itself
Indexed
Memory addressing method where the operand, added to the value of the index register, is the memory location to be usedI
Indirect
Memory addressing method where the operand is the memory location of the memory location to be used
Interpreter
Program that converts a program from high-level code to machine code, one line at a time
Lexical Analysis
Stage of the compilation process where each line of source code is converted Linto a series of individual tokens
Library
Collection of pre-written and tested programming code which can be imported and used to write new programs
Linker
Adds any library code needed by a program to its compiled code so that it is included in the executable file
Loader
Part of the operating system that loads programs and libraries
Low-Level
Category of programming language in which each instruction represents a single machine code instruction
Machine Code
Binary instructions that can be processed by a computer
Object Code
Compiled code that can be run as an executable file
Rapid Application Development
Agile development methodology that creates prototype versions of a system until a final product that meets all requirements is approved
Source Code
Uncompiled high-level code
Spiral Model
Development model where a series of prototypes are designed, created and tested, and a new prototype is planned at the end of each cycle
Syntax Analysis
Stage of the compilation process where tokens are checked to make sure that the code is valid syntax
Waterfall Model
Development model where each development stage must be completed before the next stage can begin