Browse Prior Art Database

Memory-And Processor-Efficient Generalized Markup Language-Based Text-Editing Mechanism

IP.com Disclosure Number: IPCOM000099387D
Original Publication Date: 1990-Jan-01
Included in the Prior Art Database: 2005-Mar-14
Document File: 6 page(s) / 204K

Publishing Venue

IBM

Related People

Richard, PG: AUTHOR

Abstract

A technique is described whereby a memory- and processor-efficient text-editing mechanism consists of a compact data structure and associated processing so as to manage text and text characteristics of a full screen GML-based text editor. The concept requires no external storage and is coupled with highly efficient algorithms for interactive manipulation of text objects.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 34% of the total text.

Memory-And Processor-Efficient Generalized Markup Language-Based Text-Editing Mechanism

       A technique is described whereby a memory- and
processor-efficient text-editing mechanism consists of a compact data
structure and associated processing so as to manage text and text
characteristics of a full screen GML-based text editor.  The concept
requires no external storage and is coupled with highly efficient
algorithms for interactive manipulation of text objects.

      Typically, GML refers to a generic coding concept to identify
the elements of a document, such as paragraphs, headings and lists.
A GML starter set is generally provided as part of the Document
Composition Facility program.  The concept described herein is
designed to permit truly interactive manipulation of text at a
workstation, so as to provide:

      a) A memory-efficient data structure, whereby the data
structure plus the text of the file being edited must not exceed 64K
due to operating system and compiler restrictions, such as within the
constraints of typical personal computers.

      b) A processor-efficient data structure, whereby the editor has
full interactivity and dynamic reformatting while maintaining its
memory efficiency.

      The concept utilizes a data structure, as shown in Fig. 1.  The
structure represents the whole memory and processor-efficient data
structure for a GML-based text editor.  All of the data buffers are
allocated from the random-access memory (RAM) so that no external
storage devices are required, such as disk storage.  This provides
for processor efficiency in order to format and display text as fast
as the user can enter information.

      The text of the document consists of the individual characters
and attributes of each character, such as font specification.  So as
to contain the information, a Text Component buffer (TC_buffer) and a
Field Cell buffer (FC_buffer) are allocated. TC_buffer
    The TC_buffer is a contiguous section of memory that
    wraps around on itself, such that the "next" byte of
    data after the last physical byte of the buffer, and is
    the first physical byte of the buffer.  Every character
    of text of the file being edited is stored in this
    buffer, as succeeding bytes, in the same order as they
    appear in the file.  Each character is a Text Component
    (TC).  The first implementation of this data structure
    is provided as a 35K TC_buffer, with a possibility of
    35,840 TCs.
    The structure of the TC_buffer has been designed to
    avoid movement of a large number of characters within
    the buffer.  The innovative introduction of a hole into
    the data structure leads to minimal movement of
    character data as text is entered and revised.  The
    design of the TC_buffer is based on the active record,
    such as the displayed line to which the cursor is
    pointing on the screen.  The...