GB2043311A - Text processing - Google Patents

Text processing Download PDF

Info

Publication number
GB2043311A
GB2043311A GB7907406A GB7907406A GB2043311A GB 2043311 A GB2043311 A GB 2043311A GB 7907406 A GB7907406 A GB 7907406A GB 7907406 A GB7907406 A GB 7907406A GB 2043311 A GB2043311 A GB 2043311A
Authority
GB
United Kingdom
Prior art keywords
block
text
header
processing system
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB7907406A
Other versions
GB2043311B (en
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to GB7907406A priority Critical patent/GB2043311B/en
Priority to JP55024240A priority patent/JPS6037945B2/en
Publication of GB2043311A publication Critical patent/GB2043311A/en
Application granted granted Critical
Publication of GB2043311B publication Critical patent/GB2043311B/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Document Processing Apparatus (AREA)

Abstract

A text processing system in which text is stored in a hierarchical tree structure form includes means to implement the forming of new blacks of text at any level in the tree structure and to move the display window up and down the tree structure in response to commands issued by a user at an interactive display terminal connected to a processing unit. <IMAGE>

Description

SPECIFICATION Improvements in text processing systems This invention relates to text processing systems which include a central processing system and at least one interactive display terminal and particularlyto such systems adapted to perform editing functions.
The ability of data processing system to store and manipulate data has already been exploited in the field of text processing. An author may use an interactive display terminal to enter text into a data processing system which displays the text on a display device such as a cathode ray tube and when the author is satisfied, the text is stored in a memory device which may, for example, be a magnetic disc store. In order to manipulate the data, the system must be adapted to perform editing functions. Editor programs are nowwell-known in the field of data processing and a comprehensive survey of editors is found in the paper On-line Text Editing: ASurvey by Andries van Dam and David E. Rice in Computing Surveys, Vol. 3, No. 3, Sept. 1971, pp 93-114.The paper describes several different approaches to editor programs, the most relevant to the present invention being an editor called NLS developed at Stanford University. It is pointed out in the paper that "Of particular significance is the ability of NLS to display a file from many different points of view. For example, the hierarchical outline structure of a text the various headings - may be stored as part of the data structure, and one may ask to see, for example, only section 3.1.4, or all sections down to two levels of subsections, or the first line in each of the subsections on the fourth level. The text is thus viewed as a collection of sections (called "statements") with a tree structure superimposed on this basic data structure.Each statement (less than 3000 characters) is meant to contain a single complete thought or idea, but may have substatements down to an arbitrary number of levels. Most standard tree manipulations are allowed at a given level in the tree; e.g., locating or deleting the next node or the previous one, locating the first subnode, re arranging neighbouring nodes, etc;" This hierarchic- al approach to files is useful for documents and for editing computer programs.
It should be noted that in the NLS approach to editors the text has a structure imposed upon it by the program. It is an object of the present invention to provide an editor in which the data is selfstructuring and in which the structure can be changed by changing the data.
UK Patent Specification 1,363,910 describes a text manipulating processing system in which a text may be edited by using a series of symbolic variables and in which the lines of data or text are presented to the user as a continuous scroll. It is a further object of the present invention to provide a structured editor program that permits a file of data to be broken down into a series of blocks of lines which are essentially self indexing and self documenting and which form a tree structure which the user may traverse at will.
A common concept in the field of data processing is that of a 'file' of data which may hold numerical data, computer programs, documentation (text), as well as other information. If it is required to make a change to a file of data it is necessary to use a program performed by the computer to access the file and allow the user to effect the changes, such as alternating lines, copying groups of lines, moving data around the file etc. Usually the file is presented to the user as though it is a long scroll or block, which may be many thousands of lines in length (see UK Patent 1,363,910).
A major limitation of the productivity of the user editing the file is the time taken to locate a position in a a file, since in a large file (more than a few hundred lines) it is difficult to maintain an awareness of the current position in the file and to keep a sense of context. For example, in editing a document which consists of a number of chapters, the chapters are normally presented one after the other and the user has no easy way of telling exactly where he is editing if it is not obvious from the few lines presented on the display device.
Similarly a computer program has a logical structurewhich is known by the authorofthe program: however this structure does not normally physically exist in the file due to the sequential nature of the file itself. If the logical structure was mirrored by a physical structure in the file, the structure would be immediately apparent to any person who accesses the file (not only the author), and lower levels of programming could be by-passed when scanning the file in order to edit it.
It is therefore a further object of the invention to provide a text processing system in which a file of data can be broken down into logical blocks which can then be independently accessed by a user, while maintaining the interdependencies of the blocks and the physical integrity of the file.
According to the invention, there is provided, a text processing system including a processing unit and at least one interactive display terminal, the processing unit including a main store and-processing means adapted to perform a text editing process under control of commands received from the interactive display terminal, the text being stored in the form of blocks of text lines, each block being identified by a header record in a list of header records and associated with other blocks in a hierarchical tree structure so that at least one record in a high level block includes an identification of a next lower level block and including means to form a new block from text data entered at the interactive display terminal by adding a new block header record to the list of header records and inserting in the new block header record a pointer to the storage position of the first and the last line of the associated text data.
In order that the invention may be fully understood a preferred embodiment thereof will now be described with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of a text proces sing system, Figure 2 shows the data structure within the text processing system of the present invention, Figure 3 shows part of a sample list of basic data, Figures 4A and B illustrate a method used in the text processing system, and Figure Sshows a display of file structure.
The structural editing data processing system allows the user to manipulate groups of lines (called 'Blocks') as easily as the other editors permit the manipulation of single lines. A multiple level tree structure of blocks may be naturally and easily created, either from the time of file creation or, if necessary, by structuring an existing sequential file.
When required, a conventional file may be 'built' from the structured file in order to be processed by other routines in the system (such as compilers, text formatters, assemblers) which cannot directly handle structured files.
In the preferred embodiment of the invention the text processing system allows the userlaccess to a structured file (in addition to conventional sequential files) and the permits the user to edit the various component blocks of the file using a conventional display screen together with a keyboard, such as the IBM 3277 (IBM is a Registered Trade Mark). The display screen acts as a 'window' into a small portion of the file. The keyboard is used for entering data and also various commands which manipulate the data or blocks in the file and adjust the window into the file as seen by the user on the display screen. Most of the normal editing commands such as those for writing the file on to a magnetic disk, locating text strings, etc., are implemented.However the present invention is only concerned with those that deal with the structure of the file and these will be described below.
Referring now more particularly to the drawings, Figure 1 shows in schematic form the hardware required for a basic text processing system. An interactive terminal 1, comprising a display screen and a keyboard is connected to a processing unit 2.
The processing unit, which may be a machine such as an IBM 370/168 processor, includes an operating system and system control programs which enable a user of the terminal 1 to have interactive communication with an application program being run in the processor. Application programs and data files are stored in an auxilliary memory 3 which is connected to the processor 2. The auxilliary memory may be a magnetic disc store such as is commonly used with data processing systems. Of course a processor such as an IBM 370/168 will support many interactive terminals simultaneously and the connection may be over many kinds of communication link.There will also be several types of auxilliary store connected to the main processing unit. Howeverthe processing ability of the processing unit is not directly concerned with the present invention and it is possible, with the advances of today's technology, to envisage the invention being embodied in a system contained in a single unit incorporating all three components of Figure 1.
The preferred embodiment of the text processing system of the present invention will now be described with reference to Figures 2 - 5.
A A structured file is held in the auxilliary store 3 (Figure 1) e.g., a magnetic disk, in a special format which is then read into the main store of the processing unit 2 when a at terminal 1 desires to edit this file.
As shown in Figure 2 the basic data forming the file is then held as a series of lists (1 - j and 1 - k; one list for each block of lines) which in turn are descendants of a single linked list of data items, each of which comprises a 'header record' for one block (M, N) of lines. The list of header records is itself dependant on a fixed item of data termed the 'Rock' which also contains basic information about the file (such as the format of the file, the current tabulation settings, etc.).
For efficiency, an alphabetically sorted index to the block is also constructed by the structured editing program: this allows a rapid binary search for blocks to be made when required.
Figure 3 shows several consecutive lines of data in this particular example part of the text of a computer program. In it most of the lines (x through x + 4) are 'true data' i.e., they are lines of the program. Lines 'a' and 'b' however are 'block references': these are distinguished by a special character selected by the user (in this case ")") being the first non-blank character of the I:ne.
The following non-blank characters (up to 16 in the preferred embociment) form the name of the block that is being referenced. Each block reference refers to another block In the file which therefore appears to be at a lower level from the user's point of view.
The block references therefore both define the structure of the file and act as an automatic index to the tree structure. Since the block references are held in the same way as data lines they can be altered as easily as the data itself. Any block may contain any number of block references, or may even consist solely of block references. A powerful and very flexible multi-level tree structure can be set up and manipulated easily by the user.
An important facility is the ability to 'Form' a block from a previously selected group of lines. First a new block header is added to the list of headers, then the selected group of lines is moved to form the new block, and finally a block reference to the new block is inserted into the original block at the point where the group of lines used to be. This facility makes it possible to quick liy structure an existing sequential file or reduce the size of blocks that have grown too large.
Three commands, usually assigned a special function key on the keyboard allow the user to tr#averse the tree structure that has been built with the minimum of effort. The first of these commands is 'Down' which carries out the following operation: The current blocs is scanned, from the top of the current window, for any block references. If one is found (nothing happens otherwise), the block named in the block reference becomes the current block, i.e., the too of the new b!ock becomes the window into the file. The 'Down' command therefore has the effect of moving down a level in the file. Each time a 'downwards' movement is made in the file the movement is recorded by the text processing system, so building up a history of the path the user used to get to the current block.This path can then be retraced by issuing a second traversing command 'Back', which therefore is only valid following a 'Down' command. The 'Back' command has the effect of moving back up a level, in that it takes the user from the current block up to the block above, e.g., the block from which the current block was entered. The current window is set to the line below the block reference that was used when the last 'Down' command was issued. The third traversing command which is especially useful is 'Next'. This has the same effect as a Back commandfollowed by a Down command and takes the user to the next block at the same level as the current block.
Because most processing systems do not, as yet, accept structured data files directly, it is necessary to be able to produce a sequential file from the structured data. A 'build' command makes the text processing system scan the file (either from the top of the tree structure, the root, or from the current block) and replace all block references at all levels with the data lines from the referenced blocks. This generates a conventional sequential file without any block references. The method used to accomplish this build procedure is shown in Figures 4A and 4B.
Figure 4A shows a flow chart of the build method in general form. Initially a decision is taken at Step 41 whether to build from the 'ROOT' or from the current block. If from the ROOT the root is selected at Step 42, if from the current block, the name of the current block is selected at Step 43. This is then followed by the Step 44 which is illustrated in more detail in Figure 4B.
Step 44 'Call Build Process with Selected Name' comprises the steps shown in Figure 4B starting at Step 45 in which a decision is taken as to whether there are any more lines in the block. If not, the routine returns to Step 44 and Finishes. If there are, then at Step 46 the next line is read. Step 47 is then a decision step as to whether what has been read is a block reference or not? If not the line is output at Step 48 as part of the sequential file and the next line is read. If it is a block reference then at Step 48 the name is extracted from the block reference and the new build block is recursively called at Step 50 to re-enter the routine at Step 45.
Since the text editing processing system contains information about the structure of the data file because the structure is part of the data, the structure may be shown to the user on demand. A 'List' command causes a listing of the blocks to be displayed indenting according to their level in the file. Figure 5 shows an example of such a display.
The listing can be of all the file, part of the file, or just a a certian number of levels in the file. The process used to generate the structure display is identical to that used for Build (Figures 4A and B), except that instead of outputting all data lines encountered during the search, the process just displays the name of each block as it is entered during the search.
A text editing processing system has been described above embodying the present invention, it is apparent that there may be other features used in an editing system which have not been described, but are not required for an understanding of the invention.

Claims (6)

1. Atext processing system including a processing unit and at least one interactive display terminal, the processing unit including a main store and processing means adapted to perform a text editing process under control of commands received from the interactive display terminal, the text being stored in the form of blocks of text lines, each block being identified by a header record in a list of header records and associated with other blocks in a hierarchical tree structure so that at least one record in a high level block includes an identification of a next lower level block and including means to form a new block from text data entered at the interactive display terminal by adding a new block header record to the list of header records and inserting in the new block header record a pointer to the storage position of the first and the last line of the associated text data.
2. A text processing system as claimed in claim 1 including means to display a block of data text at the interactive display terminal and means to scan the current block for a reference to a lower level block header reference and, when one is found, to replace the block currently being displayed with the block currently being displayed with the block of text associated with the lower level block header.
3. A text processing system as claimed in claim 2 including means to store the route of associated blocks through which a user reaches a currently displayed block and means to retrace the route so that a currently displayed block is replaced by the previously displayed block of text data.
4. A text processing system as claimed in claim 3 in which the means to scan the current block for a reference to a lower level block stores the first occurrence of a lower level block header reference and in response to a command issued at the interactive display terminal scans the current block for further lower level block header references and replaces the current block with the block associated with the next block header reference found.
5. A text processing system as claimed in any one of claims 1 to 4 including means to construct a sequential file from a set of text data stored in a hierarchical tree structure form.
6. A text processing system substantially as hereinbefore described with reference to, and as illustrated in, Figures 2 to 5 of the accompanying drawings.
GB7907406A 1979-03-02 1979-03-02 Text processing Expired GB2043311B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB7907406A GB2043311B (en) 1979-03-02 1979-03-02 Text processing
JP55024240A JPS6037945B2 (en) 1979-03-02 1980-02-29 How to display hierarchical tree-structured text in an ordered structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB7907406A GB2043311B (en) 1979-03-02 1979-03-02 Text processing

Publications (2)

Publication Number Publication Date
GB2043311A true GB2043311A (en) 1980-10-01
GB2043311B GB2043311B (en) 1982-06-23

Family

ID=10503563

Family Applications (1)

Application Number Title Priority Date Filing Date
GB7907406A Expired GB2043311B (en) 1979-03-02 1979-03-02 Text processing

Country Status (2)

Country Link
JP (1) JPS6037945B2 (en)
GB (1) GB2043311B (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0042895A1 (en) * 1980-06-30 1982-01-06 International Business Machines Corporation Text processing terminal with editing of stored document at each keystroke
GB2154035A (en) * 1984-02-04 1985-08-29 Casio Computer Co Ltd Document creating and editing apparatus
EP0163503A2 (en) * 1984-05-31 1985-12-04 Sony Corporation Text processing system
EP0200227A2 (en) * 1985-05-03 1986-11-05 Minolta Camera Kabushiki Kaisha Word processor system capable of displaying and arranging stored documents
EP0241646A2 (en) * 1986-04-18 1987-10-21 Kabushiki Kaisha Toshiba Document processing apparatus
EP0250677A1 (en) * 1986-03-29 1988-01-07 Kabushiki Kaisha Toshiba Document processing apparatus
EP0286110A2 (en) * 1987-04-09 1988-10-12 Crowninshield Software Outline-driven database editing and retrieval system
EP0361820A2 (en) * 1988-09-26 1990-04-04 Sharp Kabushiki Kaisha Text processing apparatus with support function for text preparation
EP0384184A2 (en) * 1989-02-24 1990-08-29 International Business Machines Corporation A technique for contracting element marks in a structured document
EP0384185A2 (en) * 1989-02-24 1990-08-29 International Business Machines Corporation A technique for creating and expanding element marks in a structured document
EP0461400A2 (en) * 1990-05-11 1991-12-18 Sharp Kabushiki Kaisha Text processing device
EP0185905B1 (en) * 1984-12-26 1992-03-11 International Business Machines Corporation Method of creating a document
EP0185904B1 (en) * 1984-12-26 1992-03-11 International Business Machines Corporation Tailored document building
GB2377306A (en) * 2001-03-21 2003-01-08 Hewlett Packard Co Apparatus for designing forms

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593663A (en) * 1982-06-30 1984-01-10 Fujitsu Ltd Data saving and restorating system

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0042895A1 (en) * 1980-06-30 1982-01-06 International Business Machines Corporation Text processing terminal with editing of stored document at each keystroke
GB2154035A (en) * 1984-02-04 1985-08-29 Casio Computer Co Ltd Document creating and editing apparatus
EP0163503A2 (en) * 1984-05-31 1985-12-04 Sony Corporation Text processing system
EP0163503A3 (en) * 1984-05-31 1987-04-29 Sony Corporation Display editing apparatus
EP0185904B1 (en) * 1984-12-26 1992-03-11 International Business Machines Corporation Tailored document building
EP0185905B1 (en) * 1984-12-26 1992-03-11 International Business Machines Corporation Method of creating a document
EP0200227A3 (en) * 1985-05-03 1988-12-28 Minolta Camera Kabushiki Kaisha Word processor system capable of displaying and arranging stored documents
EP0200227A2 (en) * 1985-05-03 1986-11-05 Minolta Camera Kabushiki Kaisha Word processor system capable of displaying and arranging stored documents
EP0250677A1 (en) * 1986-03-29 1988-01-07 Kabushiki Kaisha Toshiba Document processing apparatus
US4813010A (en) * 1986-03-29 1989-03-14 Kabushiki Kaisha Toshiba Document processing using heading rules storage and retrieval system for generating documents with hierarchical logical architectures
US4876665A (en) * 1986-04-18 1989-10-24 Kabushiki Kaishi Toshiba Document processing system deciding apparatus provided with selection functions
EP0241646A3 (en) * 1986-04-18 1989-02-01 Kabushiki Kaisha Toshiba Document processing apparatus
EP0241646A2 (en) * 1986-04-18 1987-10-21 Kabushiki Kaisha Toshiba Document processing apparatus
EP0286110A2 (en) * 1987-04-09 1988-10-12 Crowninshield Software Outline-driven database editing and retrieval system
EP0286110A3 (en) * 1987-04-09 1992-06-10 Crowninshield Software Outline-driven database editing and retrieval system
EP0361820A2 (en) * 1988-09-26 1990-04-04 Sharp Kabushiki Kaisha Text processing apparatus with support function for text preparation
EP0361820A3 (en) * 1988-09-26 1991-11-21 Sharp Kabushiki Kaisha Text processing apparatus with support function for text preparation
EP0384184A2 (en) * 1989-02-24 1990-08-29 International Business Machines Corporation A technique for contracting element marks in a structured document
EP0384185A2 (en) * 1989-02-24 1990-08-29 International Business Machines Corporation A technique for creating and expanding element marks in a structured document
EP0384185A3 (en) * 1989-02-24 1992-12-30 International Business Machines Corporation A technique for creating and expanding element marks in a structured document
EP0384184A3 (en) * 1989-02-24 1993-01-07 International Business Machines Corporation A technique for contracting element marks in a structured document
EP0461400A2 (en) * 1990-05-11 1991-12-18 Sharp Kabushiki Kaisha Text processing device
EP0461400A3 (en) * 1990-05-11 1993-12-15 Sharp Kk Text processing device
US5331555A (en) * 1990-05-11 1994-07-19 Sharp Kabushiki Kaisha Electronic apparatus
GB2377306A (en) * 2001-03-21 2003-01-08 Hewlett Packard Co Apparatus for designing forms
GB2377306B (en) * 2001-03-21 2005-02-09 Hewlett Packard Co Apparatus and method for forming processed data
US7124361B2 (en) 2001-03-21 2006-10-17 Hewlett-Packard Development Company, L.P. Apparatus and method for forming processed data

Also Published As

Publication number Publication date
JPS55119776A (en) 1980-09-13
GB2043311B (en) 1982-06-23
JPS6037945B2 (en) 1985-08-29

Similar Documents

Publication Publication Date Title
US5537528A (en) System and method for inputting scene information
US5819295A (en) Document storing and managing system
JP4058118B2 (en) Program generation system and method
US6313834B1 (en) Multi-format and multi-view synchronized data editor
US6691138B1 (en) Flexible configuration file manager
US5754840A (en) System, method, and computer program product for developing and maintaining documents which includes analyzing a patent application with regards to the specification and claims
US5553226A (en) System for displaying concept networks
US6192367B1 (en) Data file editor presenting semi-formatted view
EP0638870B1 (en) Information retrieval method
US7770123B1 (en) Method for dynamically generating a “table of contents” view of a HTML-based information system
GB2043311A (en) Text processing
US5982365A (en) System and methods for interactively generating and testing help systems
US6343294B1 (en) Data file editor for multiple data subsets
US5563997A (en) Method and apparatus for sorting records into a list box in a graphic user interface
KR20000062514A (en) Method for automatically sorting and searching patent materials and analyzing searched data
US5040113A (en) Data manipulation program
JP2686758B2 (en) Graphic editing device
US5258910A (en) Text editor with memory for eliminating duplicate sentences
JPH08137887A (en) Information storage and retrieval device
JPH0816601A (en) Data retrieving condition setting method
Jesshope et al. An intelligent Pascal editor for a graphical oriented workstation
JP2820473B2 (en) Logical structure editing device
JP3444620B2 (en) Filing system equipment
JP3424558B2 (en) Object management method
JPH0749757A (en) Data list display device

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee