1.2.2 Flashcards
What is the characteristic of Closed-Source software? [2]
Source code is not freely available [1]. It is developed and provided to the user as a fully compiled program [1]
What is the characteristic of Open-Source software? [2]
The source code is freely available… [1] to edit / amend recompile [1]
Explain the benefits to the users of the software being open source [3]
Free of cost. [1] Code open for bugs to be spotted and fixed. [1] Can tailor the program to their specific needs. [1]
What are the difference between open source and closed source software? [4]
Open source has the source code freely available…[1] to copy/recompile [1]. Closed source code is not made available… [1] There are licensing conditions restricting the redistribution [1]
Describe what is meant by the term utility software? [2]
A piece of software with one purpose. [1] usually to do with the upkeep / maintenance of a computer.[1]
State how an application differs from a utility. [2]
Application performs tasks for the user [1] Utility programs are for the upkeep of the system.[1]
What is a Compiler? [3]
A group of programs [1] utilised to generate [1] and (often) optimise object code [1]
What are the 4 stages of Compilation? [4]
Lexical Analysis [1] Syntax Analysis [1] Code Generation [1] Code Optimisation [1]
What happens during the Lexical Analysis stage? [3]
The Comments and Whitespaces are removed [1] Variable Names are added to a symbol table [1] Reserved words (such as while) are tokenized [1]
What happens during the Syntax Analysis stage? [4]
The code is checked to ensure it follows the rules of the language [1] Often by placing the tokens into a (abstract syntax) tree [1] Errors are generated where the language rules are broken [1] type error checking [1]
What happens during the Code Generation stage? [2]
The object/machine code is created [1] This code may be inefficient [1]
What happens during the Code Optimisation stage? [2]
Redundant/Repeated Code is identified [1] and is rearranged or removed [1]
Why is the Lexical Analysis Stage necessary? [1]
To put the code into a format which can be read and processed by the syntax analyser [1]
to put the code into a format that the processor can understand [1] Not nessesary; ensures code works better/using less memory [1]
Why is the Syntax Analysis Stage necessary? [1]
To ensure the code is valid and will run [1]
What is a Linker? [3]
A utility [1] program used during Compilation [1] that links object files (contain object code) [1]