Unit 5 SoftwareTools
Unit 5 SoftwareTools
Unit 5 SoftwareTools
Software Tools
Software Tools
A programming tool or software development
tool is a program or application that software
developers use to create, debug, maintain or
otherwise support other programs and
applications.
Software Tools : Definition
A software tool is a system program which
search commands.
Stream Editor
Both line and steam editors typically
maintain multiple representation of text:
the display form shows the text as a
sequence of lines.
the internal form which is used to perform
the edit operation.
Screen Editors
Use what – you – see – is – what – you – get
principle.
◦ Displays a screen full of text.
◦ The user can move cursor over the screen,
position it at the point to perform some editing.
◦ Thus the effect of operation can be seen on the
screen.
◦ Useful while formatting text.
◦ e.g. Notepad, WordPad.
Word Processor
These are basically document editors with
additional features to produce well
formatted hard copy output.
◦ Essential features are:
moving sections of text
merging text
searching and replacement of words.
may also support spell – check and grammar
check.
e.g. Microsoft Word
Structure Editor
They incorporate an awareness of the
structure of a document.
e.g. syntax directed editors used in
programming environments.
Design of Editor
The fundamental functions in editing are:-
◦ Traveling
◦ Editing
◦ Viewing
◦ Display
Design of Editor
Traveling: - movement of the editing
context to a new position within the text.
Editing: -
Viewing: - formatting the text in a manner
testing.
Debug Monitor: - help in obtaining
program statement.
Program execution continues if the assertion
modules.
Using this information, the programmer can
A(){
--- B(){
--- ---
B() ---
--- ---
--- }
}
Coroutines
Coroutines are functions where the control is
transferred from one function to the other
function in a way that the exit point from
the first function and the entry point to
the second function are remembered –
without changing the context.
Thus, each function remembers where it left
one another.
A(){
B(){
---
---
---
____
B()
Resume A()
---
---
Resume B()
Resume A()
---
--
Resume B()
}
}
Coroutine
int function(void) {
int i;
for (i = 0; i < 10; i++)
return i;
/* won't work, but wouldn't it be nice */
}
We want have ten successive calls to the function
fun1.
After fun1 completes, the control is again transferred to fun2 and
int fun1(int i)
{
return i * 5;
}
int fun2(int i)
{
return fun1(i) * 5;
}