0% found this document useful (0 votes)
462 views24 pages

Lecture 3 & 4 Editors and Its Types

The document discusses a course on system programming. It introduces the course objectives which are to understand concepts like assemblers, compilers, and linkers. It aims to teach writing low-level programs, using preprocessors for portability, and implementing binary file routines. The document outlines the course outcomes and topics to be covered like editors, the editing process, types of editors including word processors, structure editors, stream editors, line editors, and screen editors.

Uploaded by

rsrinet.876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
462 views24 pages

Lecture 3 & 4 Editors and Its Types

The document discusses a course on system programming. It introduces the course objectives which are to understand concepts like assemblers, compilers, and linkers. It aims to teach writing low-level programs, using preprocessors for portability, and implementing binary file routines. The document outlines the course outcomes and topics to be covered like editors, the editing process, types of editors including word processors, structure editors, stream editors, line editors, and screen editors.

Uploaded by

rsrinet.876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

UNIVERSITY INSTITUTE OF TECHNOLOGY

COMPUTER SCIENCE & ENGINEERING


Bachelor of Engineering (Computer Science & Engineering)
System Programming
CST-344
Richa Singh (E10605)

Introduction to Editor and its Types DISCOVER . LEARN . EMPOWER


COURSE OBJECTIVES

The general objective of this course is to introduce students basic concepts, techniques and skills for
systems programming. Specific objectives include:

• Understand the concept of Assembler, Loader, Linkers, Macros & Compilers.


• Design, write, and test moderately complicated low-level programs using a systems programming
language.
• Proficiently use a pre-processor to implement code that is portable between different computing
platforms.
• Implement routines that read and write structured binary files such as word processing
documents,  index systems, or serialized hierarchical data

2
COURSE OUTCOMES
CO Title Level
Number
CO1 Define the basic concepts in systems programming, types of editor and Remember
debugger.
CO2 Understand & apply
Apply intermediate code generation in context of language designing.

CO3 Analyse operating system functions such as memory management as Analyze


pertaining to run time storage management and the basics of socket
programming.
CO4 Implement
Implement and evaluate the basic design of system software.
CO5 Evaluate
Design, write, and test the HLL and LLL program using a systems
programming language.

3
Table of Content

• Editor

• Editing process

• Types of Editor

• Some other editors

• User Interface for editors


Editors

• Editors or text editors are software programs that enable the user to create and edit
text files.

• In the field of programming, the term editor usually refers to source code editors
that include many special features for writing and editing code.

• Notepad, Wordpad are some of the common editors used on Windows OS and vi,
emacs, Jed, pico are the editors on UNIX OS.

• Features normally associated with text editors are — moving the cursor, deleting,
replacing, pasting, finding, finding and replacing, saving etc.

5
Overview of the Editing Process

An interactive editor is a computer program that allows a user to create an revise a target document.

•  The document means an object such as computer programs, text, equations tables, diagrams, photographs
etc.

• The  document editing process in an interactive user computer dialogue designed to accomplish four tasks:

1)Select the part of the target document to be viewed & manipulated.


2)Determine how to format this view online and how to display it.
3)Specify and execute operations that modify the target document.
4)Update the view appropriately.
Overview of the Editing Process(Cont..)

• Selection of the part of the document to be viewed and edited involves first traveling through the document
to locate the area of interest.

• Traveling implies movement of the editing context to a new position within the text. The selection of what is
to be viewed and manipulated that is controlled by filtering.

• Filtering extracts the relevant subset of the target document at the point of interest, such as the next
screenful of text or the next statement.

• Formatting determines how the result of the filtering will be seen as a visible representation on a display
screen or other devices.

• In the actual editing phase, the target document is created or altered with a set of operations such as insert,
delete, replace, move and copy.
Types of Editor
Types of Editors in System Programming
There are generally five types of editors as described below:
• Word Processor: Overcoming the limitations of screen editors, it allows one to use some format to insert images, files,
videos, use font, size, style features. It majorly focuses on Natural language.
• Structure Editor: Structure editor focuses on programming languages. It provides features to write and edit source
code.
Ex : Netbeans IDE, gEdit.

Curtesy:https://www.geeksforgeeks.org/editors-types-system- 9
programming/
Stream Editors

• A stream editor views the entire text as a stream of characters. This permits edit operations to cross line
boundaries.

• Stream editor typically support character line and context orient commands.

• In stream editor, the current editing context indicated by the position of text pointer. This pointer can be
manipulated using positioning.

• Stream editor maintain multiple representations. In this type of editors, the file is treated as continuous
flow or sequence of characters instead of line numbers, which means here you can type paragraphs.
Ex : Sed editor in UNIX
Line Editor
• Line editor is one of the simplest type of editor which uses a buffer to store information.

• It operates in command mode. User give the command to the editor for any operation. Editor will respond this
command.

• Buffer is in the main memory. That is set aside to store the information which is entered from the keyboard.

• In this, you can only edit one line at a time or an integral number of lines. You cannot have a free-flowing
sequence of characters. It will take care of only one line.
Ex : Teleprinter, edlin, teco

• Merits:
1)Simple for read and write.
2) Simple in design and implementation.
3)Command and responses are interleaved.

Demerits:
1 )Not user friendly.
2) Context of the text is not displayed.
3)Only single line is used for editing.
Screen Editors
• Screen editor uses the what you see is what you get principle in editor design.

• A editor displays a screenful of text at a time. The user can move the cursor over the screen,
position it at the point where user desires to perform some .editing and proceed with the editing
directly.

• The user has full control over the entire terminal. For example over an type exiting string
which user wishes to replace . User can bring the cursor over a character to be deleted and
press a delete key.

• It is possible to see the effect of an edit operation on the screen.

• In this type of editors, the user is able to see the cursor on the screen and can make a copy,
cut, paste operation easily. It is very easy to use mouse pointer.
Ex : vi, emacs, Notepad
Word Processor and Structure Editor

• Word Processor: Overcoming the limitations of screen editors, it allows one to use some format to insert
images, files, videos, use font, size, style features. It majorly focuses on Natural language.

• Structure Editor: Structure editor focuses on programming languages. It provides features to write and edit
source code.
Ex : Netbeans IDE, gEdit.
Some Other editors in System Programming

Full Screen Editors:

• In computers, a full-screen editor or distraction-free editor is a text editor that occupies full display with
the purpose of side-lining the user from the OS and the other applications.

• It helps the user to focus on writing only and do not get distracted by the other applications and the
cluttered interface.

• Often full screen editors has a dark background and a text field with a light coloured text. They include
customizable interfaces and feature like word count.

• Ex : Acme, Coderoom, FocusWriter

Curtesy:https://www.geeksforgeeks.org/editors-types-system-
programming/
Some Other editors in System Programming
Multiple Window Editor:

• Multiple window editor allows you to work on more than one file one file at a time and cut and paste
text from file into another via yanking and putting.

The two fundamental concepts that lie behind multi-window editors are buffer and windows.

• Buffer: Buffer holds the text to be edited. The text may come from a file or a brand new text that you
want to write on a file. A file only has one buffer associated with it.
• Windows: Windows provides a view to the buffer to see what the buffer holds and edit and modify it.

• A buffer may have multiple windows. Any changes made in any of the windows will be reflected in all
other windows associated with the same buffer.

• Once the last window associated with a buffer is closed, the file gets hidden. But if you have made any
changes to the buffer and not have written them into the disk, it may not allow you to close the window.

Curtesy:https://www.geeksforgeeks.org/editors-types-system-
programming/
Some Other editors in System Programming

DOS-Editor:

• MS-DOS editor or sometimes also known as just edit is a character based text editor that comes with
MS-DOS and a 32-bit version of windows.

• Previously, it was QBASIC running in editor mode but after DOS-7, it became a standalone program. It is
also used as a substitute for Notepad since notepad can work only on small files, DOS editor can work
on around 66, 257 lines and up to 5 MB file size.

• It has features like a customizable colour theme, it can open up to 9 files at a time, it can open files in
binary mode.

Curtesy:https://www.geeksforgeeks.org/editors-types-system- 16
programming/
Some Other editors in System Programming

VI editor :

• The vi editor (short name for the visual editor) is a screen editor which is available in UNIX OS.

• Vi has no menus instead it uses a combination of keystrokes to accomplish tasks.

• An improved version of vi is vim(vi improved).

• Vi editor is usually available in all versions of UNIX OS, its implementation is very easy, it requires only a few
resources and it is more user-friendly.
Some Other editors in System Programming

Online Editors:

• Online text editors is an interface for editing the texts within a web browser.

• It aims to reduce the efforts made by the user by directly editing and updating into a valid HTML markup
language. Internet Explorer added first the feature of “design mode”.

• The design mode allows the user to edit their document and it also allows the use of the cursor to do the
editing.

• Ex : CKEditor, SnapEditor, designmode by Internet Explorer.


Some Other editors in System Programming
• We all by now understand that editors are the program which is used to create, edit and modify a
document.

• A document may include some images, files, text, equations, and diagrams as well. But we will be limited
to text editors only whose main elements are character strings.

The document editing process mainly compromises of the following four tasks :
1. The part of the document to edited or modifies is selected.
2. Determining how to format this lines on view and how to display it.
3. Specify and execute the operations that modify the document.
4. Update the view properly.

The above steps include filtering, formatting, and traveling.


Formatting : Visibility on display screen.
Filtering : Finding out the main/important subset.
Traveling : Locating the area of interest.

Curtesy:https://www.geeksforgeeks.org/editors-types-system- 19
programming/
User Interface of Editors
• The user interface of editors typically means the input, output and the interaction language.
• The input devices are used to enter text, data into a document or to process commands.
• The output devices are used to display the edited form of the document and the results of the
operation/commands executed.
• The interaction language provides the interaction with the editor.

Input Devices : Input devices are generally divided as text input, button devices and locator devices. Text
device is a keyboard. Button devices are special function keys. The locator devices include the mouse. There
are special voice devices as well which writes into ext whatever you speak.
Output Devices : TFT monitors, Printers, Teletypewriters, Cathode ray tube technology, Advanced CRT
terminals.
Interaction language : The interaction language could be, typing oriented or text command-oriented or
could be menu oriented user interface as well. Typing or text command-oriented interaction language is very
old used with the oldest editors, in the form of commands, use of functions and control keys etc.
Menu oriented interface has a menu with the set of multiple choice of text strings. The display area is limited
and the menus can be turned on/off by the user.

Curtesy:https://www.geeksforgeeks.org/editors-types-system- 20
programming/
Editor Structure https://www.geeksforgeeks.org/editors-types-system-programming/
User Interface of Editors
• The command language processor accepts commands, performs functions such as editing and viewing. It involves traveling,
editing, viewing and display. Editing operations are specified by the user and display operations are specified by the editor.
Traveling and viewing components are invoked by the editor or the user itself during the operations.

• Editing component is a module dealing with editing tasks. The current editing area is determined by the current editing
pointer associated with the editing component. When editing command is made, the editing component calls the editing
filter, generates a new editing buffer. Editing buffer contains the document to be edited at the current editor pointer
location.
• In viewing a document, the start of the area to be viewed is determined by the current viewing pointer. Viewing component
is a collection of modules used to see the next view. Current viewing can be made to set or reset depending upon the last
operation.
• When display needs to be updated, the viewing component invokes the viewing filter, generates a new buffer and it contains
the document to be viewed using the current view buffer. Then the viewing buffer is pass to the display component which
produces the display by buffer mapping. The editing and viewing buffers may be identical or completely disjoint. The editing
and viewing buffers can also partially overlap or can be contained one within the another. The component of the editor
interacts with the document from the user on two levels: main memory and the disk files system.

Curtesy:https://www.geeksforgeeks.org/editors-types-system- 22
programming/
REFERENCES

1. Reference Book:

• Aho A.V. and J.D. Ullman Principles of compiler Design Addison Wesley/ Narosa 1985.
• Billimoria. Hands-On System Programming with Linux: Explore Linux system programming interfaces, theory, and practice 1st Edition, Kindle
Edition

2. Text Book:

• Donovan J.J., Systems Programming, New York, Mc-Graw Hill, 1972.


• Dhamdhere, D.M., Introduction to Systems Software, Tata Mc-Graw Hill 1996.

3. Video Lecture on YouTube URL:


• https://www.youtube.com/watch?v=VG9VopzV_T0
• https://www.youtube.com/watch?v=LEKDkhvUKjA

4. Relevant Web Link


• https://www.geeksforgeeks.org/editors-types-system-programming/
• https://www.programming1011.com/2019/04/short-note-on-editors-in-system.html

23
THANK
YOU
Any Query…?
Contact: [email protected]

You might also like