1.2.2 Applications Generation Flashcards
(18 cards)
application software
help boost productivity
types of software
-application
-system (OS and utility)
types and examples of applications
-generic: word processor, spreadsheet, web browsing, email
-specific: database
utility software examples
-defragmentation
-file management
-file repair
-compression
-anti malware
-device driver
-backup
open source
anyone without a license can access it
closed source
requires an appropriate license to use
translator
-interpreter
-compiler
-assembler
interpreters
program that converts an entire program from high-level code to machine code one by one
compilers
program that converts an entire program from high-level code to machine code at once
assemblers
convert object code to machine code
(low-level)
stages of compilation
- Lexical analysis
- Syntax analysis
- code generation
- code optimisation
lexical analysis
- remove empty spaces and comments
- series of tokens generated
- symbol table created by indexing the token stream
syntax analysis
- look at the rules of the language
- to check for errors and report them
- then build an abstract syntax tree/parse tree
code generation
- convert abstract syntax tree to object code
- machine code is then generated with the linker (?)
code optimisation
- spot redundant instruction
- remove unreachable code/dead code
- generate object code without the redundancy
linkers
Software that links external modules and libraries included within the code
putting address in external call so that external libraries are linked
the code can be separately compiled
-static
-dynamic
loaders
part of the os that loads the machine code into memory(RAM) to be run
libraries
pre-built and pre-tested programs that can be run when needed