2. Language Processor
• A program that performs tasks, such as
translating and interpreting, required for
processing a specified programming language
2
3. Eidtor
• Provides facility to write, store and manage
code.
• Provides other tools for programming like
compiler, debugger, linker etc.
3
4. 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
5. Interpreter
• Interpret one instruction at a time.
• It checks, translate and execute the instruction
• Does not produce object code.
High level input Interpreter output Result of
program
language
execution
program
5
6. 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
Machine language
• Assembly input Assembler output program
language program
6
7. Linker
• Resolves the relative location
Lib
of instructions and data Obj Obj
• Links libraries with the object
and put them together as Linker
executable.
Lib dll exe
7
8. 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
9. 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
10. Program Development cycle
• Define the problem
I. Careful reading of the problem.
II. We are not focusing on solution part here.
● Analyze the problem
I. Determine all possible solutions and select
the best from them.
II. We can break whole problem in to sub
problems.
10
11. Cont….
• Design the solution
I. Create an outline on how the program
should execute.
II. Expand it in to steps (algorithm) which
describe the order of tasks to be carried out
• Code the program
I. Begins only after we have clear idea about
algorithm of solution.
II. We can use appropriate language and edit or
to write the code
11
12. Cont..
• Compilation of code
I. Find the syntax and semantic errors.
II. Compiler or Interpreters of corresponding
language can be used.
III. If error occurs, we need to change the code
to solve errors.
IV. After successful compilation, object code is
generated that a machine can understand
12
13. Cont..
• Linking of object code
I. Linker links the libraries and object code then
puts all objects in to correct order in the
executable.
II. If error occurs during linking, it might be a
problem in writing code of linking.
• Loading of program
I. Loader loads the program in to main memory
and control is passed to processor.
13
14. ii. Loading includes reading an executable
,checking permission , initializing registers
• Program execution and testing
I. Execution of program is done by processor.
II. Debugger can be used to trace the error
III. We verify the output. If the desired output is
not achieved, we need to revice the whole
process.
14
15. Problem
Analysis
Algorithm
design
Coding
Error
Library Compilation
Error
Linking
Loading
Execution
Error
15
result