Software Development Environment Flashcards
(20 cards)
Editor
Allows a programmer to enter, format and edit source code
Compiler
Converts source code into executable machine code. Once compiled, a program can
be run at any time
Interpreter
Converts each line of source code into machine code, and executes it as each line of
code is run. The conversion process is performed each time the program needs to be
run
Linker
A program which allows previously compiled code, from software libraries, to be
linked together
Loader
A program which loads previously compiled code into memory
Debugger
A program which helps locate, identify and rectify errors in a program
Trace
A facility which displays the order in which the lines of a program are executed, and
possibly the values of variables as the program is being run
Break point
A facility which interrupts a program on a specific line of code, allowing the
programmer to compare the values of variables against expected values. The
program code can then usually be executed one line at a time. This is called single-
stepping
Variable watch
A facility that displays the current value of any variable. The value can be ‘watched’
as the program code is single-stepped to see the effects of the code on the variable.
Alternatively a variable watch may be set, which will interrupt the program flow if
the watched variable reaches a specified value
Memory inspector
A facility which will display the contents of a section of memory
Error diagnostics
Used when a program fails to compile or to run. Error messages are displayed to
help the programmer diagnose what has gone wrong
Software development environment
Software development environments, also known as Integrated Development Environments
(IDE), provide programmers with various tools that are needed to create computer
programs.
Lexical analysis
• Comments and unneeded spaces are removed.
• Keywords, constants and identifiers are replaced by ‘tokens’.
• A symbol table is created which holds the addresses of variables, labels and
subroutines.
Syntax analysis
• Tokens are checked to see if they match the spelling and grammar expected, using
standard language definitions. This is done by parsing each token to determine if it
uses the correct syntax for the programming language.
• If syntax errors are found, error messages are produced.
Semantic analysis
• Variables are checked to ensure that they have been properly declared and used.
• Variables are checked to ensure that they are of the correct data type, e.g. real
values are not being assigned to integers.
• Operations are checked to ensure that they are legal for the type of variable being
used, e.g. you would not try to store the result of a division operation as an integer.
Code generation
• Machine code is generated.
• Code optimisation may be employed to make it more efficient/faster/less resource
intense.
Interpreters
Before high level programming languages can be run, code is converted by an interpreter,
one line at a time, into machine code, which is then executed by the CPU.
Compilers
A compiler is used when high-level programming languages are converted into machine
code, ready to be executed by the CPU.
Assemblers
An assembler is a program which coverts the low level assembly programming language into
machine code. The assembler does this by converting the one-word assembly instructions
into an opcode, e.g. converting AND to 0010. It also allocates memory to variables, often
resulting in an operand.
Translators
A translator changes (translates) a program written in one language into an equivalent
program written in a different language. For example, a program written using the PASCAL
programming language may be translated into a program written in one of the C
programming languages using a translator.