Language Processor A program that performs tasks, such as translating and interpreting, required for processing a specified programming language 2
Eidtor Provides facility to write, store and manage code. Provides other tools for programming like compiler, debugger, linker etc. 3
Compiler Checks the code line by line to find syntax errors. If code is error free translate program in to machine language(object code). Object code is machine dependent. 4
Interpreter Interpret one instruction at a time. It checks, translate and execute the instruction Does not produce object code. input output Interpreter High level language program Result of program execution 5
Assembler Translates the assembly language program in to machine code. It Reserves space for data Replaces he mnemonic codes by machine code Replaces symbolic addresses by numeric addresses Determines machine representation of constants input output Assembly language program Machine language program Assembler 6
Linker Resolves the relative location of instructions and data Links libraries with the object and put them together as executable. Lib Lib dll exe Obj Obj Linker 7
Loader Inbuilt component of OS. Loads program in to main memory and prepare them for execution Debugger Used to find logical errors Allows you to stop program at any step of execution , check and change the values of different variables 8
Macro processor The repeated code (for e.g., UDF) of program is controlled by macro processor. It referred each repeated set of code by a name, and replace set of code when that name occurs in a program. 9
Program Development cycle Define the problem Careful reading of the problem. We are not focusing on solution part here. ● Analyze the problem Determine all possible solutions and select the best from them. We can break whole problem in to sub problems. 10
Cont…. Design the solution Create an outline on how the program should execute. Expand it in to steps (algorithm) which describe the order of tasks to be carried out Code the program Begins only after we have clear idea about algorithm of solution. We can use appropriate language and edit or to write the code 11
Cont.. Compilation of code Find the syntax and semantic errors. Compiler or Interpreters of corresponding language can be used. If error occurs, we need to change the code to solve errors. After successful compilation, object code is generated that a machine can understand 12
Cont.. Linking of object code Linker links the libraries and object code then puts all objects in to correct order in the executable. If error occurs during linking, it might be a problem in writing code of linking. Loading of program Loader loads the program in to main memory and control is passed to processor. 13
ii. Loading includes reading an executable ,checking permission , initializing registers Program execution and testing Execution of program is done by processor. Debugger can be used to trace the error We verify the output. If the desired output is not achieved, we need to revice the whole process. 14
Problem Analysis Algorithm design Coding Compilation Library Linking Loading Execution result Error Error Error 15