GB2043311A - Text processing - Google Patents
Text processing Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, 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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593663A (en) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | Data saving and restorating system |
-
1979
- 1979-03-02 GB GB7907406A patent/GB2043311B/en not_active Expired
-
1980
- 1980-02-29 JP JP55024240A patent/JPS6037945B2/en not_active Expired
Cited By (27)
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 |