Lecture 3 & 4 Editors and Its Types
Lecture 3 & 4 Editors and Its Types
The general objective of this course is to introduce students basic concepts, techniques and skills for
systems programming. Specific objectives include:
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.
3
Table of Content
• Editor
• Editing process
• Types of Editor
• 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:
• 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.
• 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
• 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.
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 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.
• 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.
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:
23
THANK
YOU
Any Query…?
Contact: [email protected]