Term | Definition |
Lexical analysis | 1) Input stream broken into tokens 2) Comments and unneeded spaces removed 3) Symbol table produced to contain programmer-defined identifiers 4) Error messages generated if appropriate (must be listed in order). |
Special Purpose Language | 1) might have features relevant to the application 2) are available for simulation, control etc 3) might cost more / not be readily available etc |
4GL | 1) is a high level programming language 2) would be useful in a database query 3) has many features such as query, manipulation features 4) may have report generators and possibly application generators 5) may attempt to produce natural language interface |
OO Language | 1) uses objects - include both data and associated processing 2) enables production of buttons / icons etc - useful in a visual environment 3) uses features such as inheritance, encapsulation, etc (Accepted not expected) |
Scripting Language | 1) is a high-level programming language(once only) 2) is interpreted not compiled 3) is often embedded in other languages 4) can add functionality to web pages etc. |
CASE tool | is a computer program / piece of software used in the design or development of a computer application. (1) |
CASE tool (Functions) | 1) Provides a number of functions which assist with design/testing... 2) Provides a data dictionary, a diagram production feature, a code generator, repositories of reusable code, project management tools, incorporate version control & report generation. |
Program trace/Step-through (Debugging program feature) | enables the programmer to see the progress through the program - which statements/procedures are being executed at any time |
Break point (Debugging program feature) | allows the programmer temporarily to halt execution in order to ascertain the value of variables at that point (or to step through the program from that point) |
Variable watch (Debugging program feature) | lists the value of a variable at specific points during the execution |
Store dump (Debugging program feature) | lists the entire contents of memory at a specific point |
Error diagnostics (Debugging program feature) | provision of messages relating to errors in the program. |
Post-mortem routines (Debugging program feature) | enables programmer to see the values of variables at the point where the program failed. |
Backus-Naur Form (BNF) -purpose | is used to describe unambiguously the syntax / grammar / rules of a programming language. |
Translation program | converts the source code into machine code ready for execution by the computer. |
Assembler program (function) | converts a program written in assembly language machine code / binary / a form ready for execution by the computer. A programme might choose to use an assembler programme if the application requires maximum computer efficiency / performance. |
Procedural vs Non-procedural language | Non-procedural languages are to do with facts / rules / making queries. Procedural languages are concerned with carrying out actions / calculations etc. or obeying (ordered) set of instructions. |
Visual programming languages (benefits) | 1) Particularly suitable for production of objects / buttons / icons... 2) Particularly suitable for developing in a GUI content/event driven environment. 3) May be easier to learn / more intuitive because visual / very good help / tools available. |
Application packages can have programming capabilities | 1) Additional functionality can be added without a programmer / buying another package / program. 2) Can customise the package / tailor to specific needs etc. |
Why is careful version control important? | 1) If programmer A modifies current version, and programmer B modifies an earlier version, neither new version will contain both modifications 2) Any amendments must be made to the most recent versions. |
Standardise computer languages | 1) Program written in a certain language on one computer is likely to run easily on a different computer. 2) Programmer familiar with the language on one computer is likely to be able to adapt easily to working on a different computer/environment. |
Relocatable code | is program code which can be moved (by the operating system) from one area of computer memory to another. |
Subprogram libraries | contain (well-tested) utilities / common tasks, etc and can be used by any user, avoiding re-writing. |
Why compile modules of a program separately | 1) Modules do not need to be compiled each time they are required. 2) Modules can become a part of a subprogram library (or can be used again in another program). 3) Each can be (thoroughly) tested before using in the whole program. |
Link loader (role) | A link loader is a software tool which combines already compiled modules/subprograms into the executable program. |
Link loader error | 1) Link editor cannot find a compiled module/subprogram / it doesn’t exist 2) The number or type of parameters provided is wrong. |
Compiler | is a software tool which is used to translate a program in HLL into a LLL ready for execution on the computer. It has various stages: lexical analysis, syntax analysis, semantic analysis, code generation, and optimisation. |
Lexical Analysis | input stream is broken into tokens, spaces etc, removed |
Syntax Analysis | symbol table is produced, tokens are checked for fit to grammar |
Semantic Analysis | a check is made that all variables are declared, and operations are legal eg real values are not being assigned to integer variables |
Code Generation | machine code is generated |
Optimisation | the code is improved if necessary to make it more efficient / faster / less resource greedy. Produces error messages at any stage when needed. |