WO1998059302A1 - Method and data processing device for inputting an input sequence and method for accessing a storage unit and a corresponding storage unit - Google Patents

Method and data processing device for inputting an input sequence and method for accessing a storage unit and a corresponding storage unit Download PDF

Info

Publication number
WO1998059302A1
WO1998059302A1 PCT/DE1998/001754 DE9801754W WO9859302A1 WO 1998059302 A1 WO1998059302 A1 WO 1998059302A1 DE 9801754 W DE9801754 W DE 9801754W WO 9859302 A1 WO9859302 A1 WO 9859302A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
input
word
sequence
input section
Prior art date
Application number
PCT/DE1998/001754
Other languages
German (de)
French (fr)
Inventor
Frank Karl
Original Assignee
Frank Karl
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 Frank Karl filed Critical Frank Karl
Priority to AU85334/98A priority Critical patent/AU8533498A/en
Publication of WO1998059302A1 publication Critical patent/WO1998059302A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Definitions

  • the invention relates to a method for operating a data processing system, in which a data input unit generates an input sequence from data words with a predetermined number of bit positions. Different characters are displayed on a display unit depending on the value of the data words. At least one predefined value characterizes separating data words which subdivide the input sequence into input sections. Several of these input sections are stored in a memory. In addition, depending on the new data words generated since the last separation data word, an input section belonging to the new data words is read at least once during the generation of the input sequence and is automatically appended or inserted at the end of the input sequence.
  • a disadvantage of the known method is that only four letters per word have to be entered until a word can be clearly selected from the memory, which is then inserted completely or partially into the input sequence.
  • the known method as indicated, for example, on page 69 of the book mentioned, can be perceived by some operators to be rather confusing than helpful, so that it is recommended that these persons switch off the "auto-complete" method. As confusing is felt especially when the automatically inserted letters are not confirmed and therefore have to be removed.
  • the invention is based on the knowledge that there are input sequences in which the probability that an input section repeats decreases with the number of data words entered since the input section was entered. In other words: there is a high probability that an input section repeats itself after the input of a few data words. If the input units e.g. generated when entering a text, words that already occurred when another font was entered do not appear as often in the current font as words that have already been entered in the current font. Words that occur in a paragraph of the current font that has already been entered do not appear as often in the paragraph that is currently entered as words that have already been entered in the paragraph that is currently entered. The same applies to different sentences.
  • the input section or a part of the input section which was last accessed is therefore read from the memory from a plurality of input sections which belong to the new data words entered since the last separation data word.
  • Access means reading the memory only if no input sections are written to the memory during the method. However, if additional entries are saved in the memory during the procedure, the saving is also an access.
  • the time of the last access to the input sections is taken into account in addition to the sequence of letters within the input sections.
  • This alphabetical and chronological procedure allows you to automatically insert a word residue after entering the first letter or, in the case of an abbreviation, an entire word that is highly likely to be confirmed.
  • the probability of wrong decisions also decreases disproportionately if two or even three letters have to be selected, taking into account the last access, if the suggestion made after entering the first letter or the first two letters of the currently entered word is not confirmed has been and had to be removed.
  • the disproportionate decrease in the probability of wrong decisions includes to be attributed to the fact that with increasing number of letters of a word already entered there are fewer associated input sections.
  • the number of data words entered between the associated input sections increases, so that the number of wrong decisions is reduced due to the above-mentioned temporal relationships.
  • the memory is only searched when the first new data word has a specific value from a predetermined value set.
  • the memory takes several process steps to be accessed only for selected inputs, and the implementation of the method is accelerated. This is important for a method that is carried out, so to speak, in real time for the input of the input sequence, because otherwise there may be delays in the input.
  • This measure can also increase the likelihood of the entries being confirmed. For example, only when entering nouns in start the German language with a capital letter, made a proposal by the method according to the invention, so very high confirmation rates can be achieved. When entering a program text in a programming language in which the program commands begin with uppercase letters, almost all automatically inserted insertions are confirmed.
  • the method according to the invention is further accelerated if the memory is searched only if the number of data words entered after the input of the last separation data word does not exceed a predetermined number. E.g. If only a maximum of two suggestions are inserted per word, the memory no longer has to be searched after entering the third letter.
  • the copying processes for inserting the proposal and removing them in the absence of confirmation are also eliminated. This measure is also advantageous because, in the case of two or three unsuccessful suggestions within one word, the relationships explained above obviously do not apply.
  • the input section is checked whether the input section is already stored in the memory. If this is not the case, the input section is automatically added to the memory.
  • the automatic entry of input sections takes place immediately after the first use of the relevant input sections. Without this measure, the entry is usually made manually and only after the input section, e.g. a word that has already been entered several times.
  • the second time the entry section is entered e.g. with a keyboard, keystrokes can be saved.
  • This Memory has the advantage that it "forgets" input sections that have not been accessed for a long time, that is, automatically deletes them. This is advantageous, for example, for words that have been stored in the wrong spelling in the memory or if input sequences for new subject areas, ie also with a changing vocabulary, are entered.
  • the method according to the invention with a short-term memory is very powerful in terms of the confirmation rate with a small memory requirement. Good results can be achieved with a memory for fifty or a hundred input units. Such a small memory can also be searched very quickly.
  • the method according to the invention can be used advantageously if input sections are repeated in the input sequence, e.g. is the case when entering legal or technical texts.
  • the method according to the invention is also advantageously used in word processing programs for inputting programs in programming languages such as C, C ++, Java, etc., since there are only a predetermined number of upper and / or lower case keywords in the respective programming language, depending on which entered program still a relatively limited number of recurring variable names.
  • the time sequence of the accesses can advantageously be taken into account if the input sections form an input section sequence in which the input sections are arranged depending on the last access time.
  • certain groups of input sections e.g. all input sections beginning with the letter "A" can be contained in different input section sequences. Since the individual input section sequences do not contain as many input sections, the time for searching is shortened.
  • the invention also relates to a data processing system for carrying out the method according to the invention or its further educations.
  • the technical effects mentioned also apply to the data processing system.
  • the known access methods are used to realize the access to the memory, such as associative memory, linked data lists or hash search methods.
  • the invention relates to a method for accessing a storage unit and this storage unit itself.
  • This access method and the storage unit are used in particular when executing the inventive method for entering the input sequence.
  • the special feature of the access method according to the invention and the memory unit according to the invention is that, in addition to the known assignment, e.g. via an address or, as in the case of an associative memory, via the content of the memory cells, the chronological order of access to the memory words is also taken into account.
  • several memory words can belong to one input word.
  • one is selected in the memory unit according to the invention in the case of a plurality of memory words which belong to an input word and is output completely or only partially.
  • the selection is preferably made within the memory unit, so that essentially only the input word has to be entered from the outside and the output word has to be read.
  • An access unit such as a processor, is therefore no longer required than in conventional memory accesses.
  • the time selection takes place, for example, according to the LIFO principle (last in first out) or according to the FIFO principle (first in first out). In the first case, one of the memory words belonging to the input word is selected which has not been accessed for the longest time.
  • the memory word that was last accessed is selected from the associated memory words.
  • the storage unit according to the invention already allows an output word to be output when the input word has only been partially defined and entered into the memory.
  • the access time when reading a memory word is reduced in cases in which a suitable output word is already read out, although the input word has not yet been completely entered.
  • An example of an application for the storage unit and the access method is, for example, the input of a sequence of letters in which, depending on the part of the word already entered, a new word or a remainder of the word is proposed, which is confirmed or rejected by an operator.
  • Associative memories are commercially available memory modules which are also referred to as "content addressable memory". Depending on the input word, a memory word is determined which contains the input word. Then either the entire determined memory word or only a part of it is output.
  • FIG. 1 essential electronic functional units for entering an input sequence
  • FIGS. 3A and 3B show a flow diagram with method steps which are carried out when the input sequence is input.
  • FIG. 1 shows essential electronic functional units for entering an input sequence with a commercially available keyboard 10.
  • FIG. 1 shows five keys 12 to 20 of the keyboard keys, which are connected to a keyboard controller 22 contained in the keyboard 10 via connecting lines 24 to 30.
  • the key 16 is used, for example, when entering the letters "a” and "A", in the latter case the key 12 must also be pressed.
  • the keyboard 10 is connected via a multi-core line 34 to a computer 40 which, among other things. includes a processor 42 and memory 44.
  • the processor 42 processes the commands of a word processing program 46 stored in the memory 44, a text being entered into an input file using the keyboard 10.
  • the processor 42 is controlled by the method steps stored as an instruction sequence in the memory 44 as an instruction sequence.
  • the memory 44 also contains a short-term memory 48, in which input sections of an input sequence entered with the keyboard 10 are stored.
  • the word processing program is e.g. the well-known program "WinWord" or "Word 97", which can be expanded with the associated macro programming language by the macro blocks explained below.
  • a letter macro is processed, of which letter macros 50, 52 and 54 are shown in FIG. 1, which in this order belong to the letters "a", "b" and "Z".
  • the letter macro 50, 52, 54 belonging to the just actuated key 12 to 20 transfers the ASCII code (American Standard Code II) of the entered character to a main macro 56 and then starts the execution of the main macro 56 explained below with reference to FIGS. 3A and 3B.
  • the computer 40 is connected via a connecting line 58 to a screen 60 on which the letters entered are displayed.
  • the current end of the input sequence is shown on the Screen 60 is displayed by a cursor 62. It can be seen on the screen 60 shown in FIG. 1 that the letter "A” has already been entered.
  • the word extension "bsatz” has then been inserted automatically and can be confirmed by the operator by entering a "7". Details of these operations are explained below.
  • FIG. 2 shows an auxiliary file 100 which is used when the input sequence is input into the input file.
  • the lines of the auxiliary file 100 are labeled ZI to Z6.
  • line ZI the ASCII data word of the key just pressed is transferred to the main macro 56, compare FIG. 1.
  • FIG. 3 the key "7" was just pressed so that the transferred data word has the value "55” according to the ASCII code . This value leads to the display of the "7" when the auxiliary file 100 is displayed on the display unit 60 (see FIG. 1).
  • the word "paragraph” was determined in line Z5 of the short-term memory 48 and the word residue "bsatz", which had not yet been entered, was automatically added to the current end of the input sequence in the input file.
  • the appended word residue is stored in line Z4 of the auxiliary file 100 for further processing.
  • the value of a variable IMWORD is stored which is the current one Has value one. The value one indicates that a noun is currently being entered, ie for a German text a word that begins with an uppercase letter. If no noun is currently entered, the variable IMWORT has the value zero.
  • the auxiliary file 100 also contains a movable text mark TM, which is moved within the short-term memory 48 in order to avoid identical suggestions during the input of a word.
  • FIGS. 3A and 3B show a flowchart with method steps which are processed by the processor 42 when executing the instructions of the main macro 56, compare FIG. 1.
  • the method begins in a step 150 in which the variable IMWORT is assigned the value stored in line Z3 of the auxiliary file 100.
  • the currently entered data word, ie the currently entered letter or character, from line ZI of the auxiliary file 100 is stored in a variable b $.
  • the previously entered data words of the currently entered word stored in line Z2 of the auxiliary file 100 are assigned to a variable w $.
  • the appended word remainder stored in line Z4 is assigned to a variable r $.
  • Step 150 is always carried out immediately after a letter macro 50 to 54 has been processed, see FIG. 1.
  • step 152 it is checked whether the currently entered data word, ie the variable b $, has a value which identifies separating data words. Separation data words are generated when entering a space, a comma or a period. If it is determined in step 152 that the current data word b $ is not a separating data word, a step 154 follows in which it is checked whether the variable IMWORT is zero. This can only be the case if the first letter of a word has just been entered.
  • Step 156 it is checked based on the data word b $ whether the first letter is an uppercase letter and thus a noun is currently to be entered. If the data word b $ belongs to an uppercase letter, the variable IMWORT is set to the value one in a step 158. Step 156 is omitted in another exemplary embodiment, in which suggestions can be generated when all the words entered are entered, so that, for example, repetitive verbs or nouns written in lower case, for example, are processed in the same way as in the exemplary embodiment in FIGS. 3A and 3B is the case for nouns capitalized in German.
  • step 160 follows immediately after step 156 and the variable IMWORT remains at the value zero.
  • step 160 the processing in the input file is continued. The execution of the main macro 56, compare FIG. 1, is thus ended for the currently entered letter, since a second part shown in FIG. 3B is only processed if the variable IMWORD has the value one.
  • step 154 If, on the other hand, it is already determined in step 154 that the variable IMWORT has the value one, this means that a noun is currently being processed. The procedure in this case immediately continued with the second part shown in Figure 3B.
  • step 162 follows immediately after method step 152.
  • step 162 it is checked whether the variable IMWORD has the value zero. If this is the case, no noun is currently being processed and step 164 follows, in which the input file is returned to. The second part shown in FIG. 3B is then not carried out.
  • step 166 follows immediately after step 162. Step 166 is only carried out if the processing of a noun has ended with the current input. In step 166, the variable IMWORT is set to the value zero to mark the completion of the entry of the noun. A step 168 then follows.
  • step 168 the bookmark TM, cf. Figure 2, placed at the beginning of the short-term memory 48, i.e. to the beginning of line Z5 of the auxiliary file 100. This is necessary because the bookmark TM is displaced during the process in order to avoid repetitive suggestions in the case of several suggestions per word.
  • the short-term memory 48 is searched for the noun stored in the variable w $, i.e. after the last word entered.
  • the short-term memory 48 is always searched during the search to the end of the file of the auxiliary file 100, i.e. towards the right end of line Z6.
  • step 172 It is then checked in a step 172 whether the noun contained in the variable w $ has been found. If this word was not found, step 174 follows immediately after step 172, in which the current processing position is set to the bookmark TM in the auxiliary file 100, which, as already mentioned, was placed in step 168 at the beginning of the short-term memory 48. At this point, the noun stored in the variable w $ is inserted, ie written into the short-term memory 48.
  • step 176 the processing position in the auxiliary file 100 is moved to the end of the auxiliary file 100.
  • step 180 the word stored at the end of the auxiliary file 100 and thus also at the end of the temporary memory 100 is deleted, compare step 178.
  • the entry of this word was a long time ago, so that it is relatively unlikely that this word will be used again soon is entered.
  • the number of words stored in the short-term memory 48 remains constant if a word which has already been stored is deleted for each new word inserted into the short-term memory 48.
  • step 180 the word stored in the variable w $ is deleted.
  • the variable r $ only contains a suggestion if such a suggestion was made while entering the last noun entered.
  • step 172 If, on the other hand, it is determined in step 172 that the last entered noun has been found when searching the short-term memory 48, this noun is removed from the short-term memory 48 in step 182, the words in the short-term memory 48 adjacent to the noun to be removed closing the gap that arises. This is due to the fact that the data words of the auxiliary file 100 are managed in a manner similar to a so-called linked list.
  • step 184 and 185 the removed noun, which is also contained in the variable w $, is inserted again at the beginning of the short-term memory 48.
  • the number of in Short-term memory 48 words thus remains unchanged here.
  • step 186 as in step 180, the noun stored in the variable w $ and the remainder of the word possibly stored in the variable r $ are deleted.
  • step 164 already explained, in which the input of the input sequence in the input file is continued.
  • the short-term memory 48 stores the last words entered in line Z5 and the first words entered in line Z6. The last words entered are to the left of a line. So the word “Berlin” was entered before the word "bus", see Figure 2. The entry of the word "car” is furthest back.
  • the words in the short-term memory 48 thus form a sequence in which the position of the respective word is determined by the access time at which this word was last accessed. If you access the access times on a timeline, the order of the times corresponds to the order of the words belonging to the times in the sequence.
  • the short-term memory 48 is searched line by line from top to bottom.
  • the search within the lines is from left to right.
  • a search order is thus defined in the short-term memory 48.
  • This search sequence takes into account the chronological order of access in the case of several words which contain the letter sequence sought, starting from the text mark TM. From the words stored between the bookmark TM and the end of the short-term memory 48 with the searched letter sequence, the word that was last accessed is found.
  • a second part of the method shown in FIG. 3B is only processed if it is determined in a step 190 that the variable IMWORT has the value one and thus a noun is currently being entered. Otherwise, editing the last entered letter ended in a step 192 explained below.
  • step 194 follows, in which it is checked whether the currently entered character is a "7", i.e. see FIG. 1 to determine whether the key 20 was pressed.
  • a “7” is generally never entered when the letters of a noun are entered correctly, so that the “7” that is easy to enter on the keyboard 10 when entering the input sequence was selected as the confirmation character , which indicates that a previous proposal has been accepted.
  • a step 196 follows immediately after step 194.
  • step 196 the proposal stored in the variable r $ is added to the letter sequence of the noun currently entered in the variable w $.
  • the variable w $ thus contains all previously entered or confirmed letters of the noun just entered, so that the current input status is always stored in the variable w $ when the noun currently entered is edited further.
  • step 198 a return is made to the input file and any "7" that may have already been inserted into the input sequence is removed, since it was obviously only entered as confirmation, step 200. Then in a step 202 the current input position is added to the end of the one already inserted Proposal. An operator can now either continue entering the noun to be currently entered or end the input of this noun with a separating data word.
  • step 194 If, on the other hand, it is determined in step 194 that no "7" has been entered, it can be assumed that either no proposal has been made or that an already inserted proposal has not been confirmed. In both cases, a step 204 follows immediately after step 194, in which it is checked whether the currently entered noun already has more than two letters Has. This query makes it possible to suppress suggestions after the second letter, so that a maximum of two suggestions are made for each noun entered. The suppression takes place in that the current processing position in the auxiliary file 100 is set at the end thereof, and thus no word can be found when searching the short-term memory 48 starting at the current processing position, step 206.
  • the processing position in the auxiliary file 100 is set in step 208 to the position at which the bookmark TM is currently located.
  • the bookmark TM is located at the beginning of the short-term memory 48, where it has been moved to after the last noun has been entered, cf. Step 168.
  • the bookmark TM is located at a different location, if it has already been moved during the input of the currently entered noun, compare step 216 explained below.
  • the number of suggestions per noun entered is not limited. In this case, steps 204 to 208 are omitted and step 210 immediately follows step 210 if no "7" has currently been entered.
  • Step 206 is followed, like step 208, by step 210, in which the noun part previously stored in the variable w $ is supplemented by the currently entered letter, which is stored in the variable b $.
  • step 212 the short-term memory 48 is searched from the current position of the bookmark TM for a stored word which contains the letter sequence stored in the variable w $.
  • the search starts from the current position of the bookmark TM if step 208 has been carried out immediately before step 210. Otherwise it will be a positive one Search result suppressed by starting the search at the end of the short-term memory 48.
  • step 214 it is checked whether the search was successful. If so, i.e. If a word was found in the short-term memory 48, the processing is continued in step 216.
  • step 216 the bookmark TM is placed behind the found word in the short-term memory in the search direction, so that this word cannot be found again in the next search when further letters of the currently entered noun are entered. This measure prevents the same suggestion from being made twice while entering a noun.
  • step 218 follows.
  • step 218 it is checked whether the word found in the short-term memory 48 contains other letters in addition to the letters contained in the variable w $. If this is not the case, i.e. if the word found is identical to the sequence of letters stored in the variable w $, no new suggestion can currently be made, and the processing is continued in step 220. In an alternative exemplary embodiment, however, instead of step 220 and the steps following this step, step 212 is returned, and the short-term memory is searched again in order to eventually find another word which, in addition to the letters contained in the variable w $, contains further words Contains letters, see arrow 221.
  • step 220 the variable r $ is used to check whether an old suggestion was inserted into the input sequence when the method steps shown in FIGS. 3A and 3B were last processed. If this is the case, the letters in the variable r $ must be removed, since the old proposal has obviously not been accepted. These letters are deleted in step 222. The input file is then returned in step 224. In step 226, the old proposal, which is no longer valid, is removed from the input sequence. After that The processing of the last letter entered is ended in step 192.
  • step 228 follows immediately after step 220, in which a return is made to the input file. The processing of the letter currently entered is then ended in step 192.
  • step 230 follows immediately after step 218.
  • the variable r $ is used to check whether an old suggestion is contained in the input file which was obviously not accepted, since otherwise steps 194 to 202 would have been branched to in step 194. If an old suggestion is present, the letter sequence of the old suggestion in the variable r $ is overwritten by the letter or the letter sequence by which the word found in the short-term memory 48 differs from the content of the variable w $, i.e. through the new proposal, compare step 232.
  • step 234 the input file is returned and the old proposal is overwritten with the new proposal stored in the variable r $, step 236.
  • the processing of the letter currently entered is then ended in step 192.
  • step 238 follows immediately after step 230, in which the new proposal is stored in the variable r $.
  • the input file is then activated in step 240 and the new proposal is inserted at the current input position, step 242.
  • step 192 in which, as already mentioned, the processing of the letter currently entered is ended.
  • step 220 ′ follows the step 214 immediately after step 214 220 corresponds, but was shown again for reasons of clarity.
  • Steps 222 ', 224', 226 'and 228' following step 220 ' also correspond in this order to steps 222, 224, 226 and 228 already explained above.
  • step 192 the current values of the variables w $, r $ and IMWORT are stored in the auxiliary file 100 so that they can be used when processing the next letter or character entered.
  • FIGS. 3A and 3B The method shown in FIGS. 3A and 3B is carried out when the input sequence is input for each input letter and for selected or all input characters.
  • the entered letters and characters are processed immediately after entry, similar to what is known as real-time processing. This is the only way to insert or remove suggestions in the input sequence without delay if they are not confirmed.
  • the procedure for automatically generating suggestions when entering an input sequence can also be carried out without macros.
  • the method steps explained with reference to FIGS. 3A and 3B are contained in the instruction sequence of the word processing program 46.
  • the auxiliary file 100 is in this If a memory area is used in the computer 40 according to FIG. 1. Switching between auxiliary file 100 and input file is then also omitted, since the task of auxiliary file 100 is carried out by the memory area.
  • the auxiliary file 100 is not a so-called document that can be edited like the input file, but a storage file in the memory 44 of the computer 40 or on its hard disk memory.
  • corrections made are also taken into account when entering a noun. This results in the possibility of accepting changes in the short-term memory 48 after confirming a proposal, e.g. if the ending of the proposed noun is changed.
  • a table is used for administration.
  • the words retain their position within the sequence of their memory cells in memory 44 and 48, respectively, so that copying operations are eliminated.
  • the table contains the address values of the memory cells in which the words are stored as well as the position of the words within the sequence assigned to these address values. Using the table are preferably both assigned certain addresses to positions in the sequence as well as vice versa to determined positions in the sequence addresses in the memory.
  • Access to the memory 44 can be simplified by using a table called a mirror table. While the table for consecutive memory addresses stores the positions that are generally not consecutive within the sequence, the mirror addresses for consecutive positions within the sequence store the memory addresses that are generally also not consecutive.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

The invention relates to a method for operating a data processing device, in which a short-term storage (48) is used. When the short-term storage (48) is read, both the content of the stored memory word and the time sequence of access to the memory word are taken into account.

Description

Verfahren und Datenverarbeitungsanlage zum Eingeben einer Eingabefolge sowie Verfahren zum Zugriff auf eine Speichereinheit und zugehörige SpeichereinheitMethod and data processing system for entering an input sequence and method for accessing a storage unit and associated storage unit
Die Erfindung betrifft ein Verfahren zum Betreiben einer Datenverarbeitungsanlage, bei dem eine Dateneingabeeinheit eine Eingabefolge aus Datenworten mit einer vorgegebenen Zahl Bitstellen erzeugt. Auf einer Anzeigeeinheit werden abhängig vom Wert der Datenworte verschiedene Zeichen dargestellt. Mindestens ein vorgegebener Wert kennzeichnet Trenndatenworte, welche die Eingabefolge in Eingabeabschnitte unterteilen. In einem Speicher werden mehrere dieser Eingabeabschnitte gespeichert. Außerdem wird mindestens einmal während des Erzeugens der Eingabefolge abhängig von den seit dem letzten Trenndatenwort erzeugten neuen Datenworten aus dem Speicher ein zu den neuen Datenworten gehörender Eingabeabschnitt gelesen und automatisch am Ende der Eingabefolge angehängt bzw. eingefügt.The invention relates to a method for operating a data processing system, in which a data input unit generates an input sequence from data words with a predetermined number of bit positions. Different characters are displayed on a display unit depending on the value of the data words. At least one predefined value characterizes separating data words which subdivide the input sequence into input sections. Several of these input sections are stored in a memory. In addition, depending on the new data words generated since the last separation data word, an input section belonging to the new data words is read at least once during the generation of the input sequence and is automatically appended or inserted at the end of the input sequence.
In dem Buch "Word 97 - Das große Buch" von U. BretSchneider und B. Matthies, Data Becker, 1997, wird auf den Seiten 462 bis 464 ein "AutoVervollständigen" genanntes Verfahren erläutert, bei dem über eine Tastatur Buchstaben eingegeben werden. Sobald mehr als vier Buchstaben eines Wortes eingegeben worden sind, wird ein Speicher nach einem Wort durchsucht, das mit den bereits eingegebenen Buchstaben beginnt bzw. dem die bereits eingegebenen Buchstaben als Kürzel zugeordnet sind. Solche zu Kürzeln gehörende Worte werden auch als "AutoText" oder "Textbaustein" bezeichnet.In the book "Word 97 - The Big Book" by U. BretSchneider and B. Matthies, Data Becker, 1997, on pages 462 to 464 an "AutoComplete" procedure is explained, in which letters are entered using a keyboard. As soon as more than four letters of a word have been entered, a memory is searched for a word which begins with the letters already entered or to which the letters already entered are assigned as an abbreviation. Such words belonging to abbreviations are also referred to as "AutoText" or "text module".
Nachteilig an dem bekannten Verfahren ist, daß erst vier Buchstaben je Wort eingegeben werden müssen, bis aus dem Speicher eindeutig ein Wort ausgewählt werden kann, das dann vollständig oder teilweise in die Eingabefolge eingefügt wird. Das bekannte Verfahren kann, wie z.B. auf Seite 69 des genannten Buches angedeutet, von einigen Bedienpersonen eher verwirrend als hilfreich empfunden werden, so daß diesen Personen empfohlen wird, das "AutoVervollständigen"-Verfahren auszuschalten. Als verwirrend wird insbesondere empfunden, wenn die automatisch eingefügten Buchstaben nicht bestätigt werden und somit wieder entfernt werden müssen.A disadvantage of the known method is that only four letters per word have to be entered until a word can be clearly selected from the memory, which is then inserted completely or partially into the input sequence. The known method, as indicated, for example, on page 69 of the book mentioned, can be perceived by some operators to be rather confusing than helpful, so that it is recommended that these persons switch off the "auto-complete" method. As confusing is felt especially when the automatically inserted letters are not confirmed and therefore have to be removed.
Es ist Aufgabe der Erfindung, ein einfaches Verfahren zum Eingeben einer Eingabefolge anzugeben, bei dem ein hoher Prozentsatz der Einfügungen in der Eingabefolge verbleiben kann.It is an object of the invention to provide a simple method for entering an input sequence, in which a high percentage of the insertions can remain in the input sequence.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind in den auf diesen Anspruch rückbezogenen Unteransprüchen angegeben.This object is achieved by a method having the features of patent claim 1. Advantageous further developments are specified in the subclaims which refer back to this claim.
Die Erfindung geht von der Erkenntnis aus, daß es Eingabefolgen gibt, in denen die Wahrscheinlichkeit, daß sich ein Eingabeabschnitt wiederholt, mit der Zahl der seit der Eingabe dieses Eingabeabschnitts eingegebenen Datenworte abnimmt. Mit anderen Worten: die Wahrscheinlichkeit ist groß, daß sich ein Eingabeabschnitt nach der Eingabe weniger Datenworte wiederholt. Werden die Eingabeeinheiten z.B. beim Eingeben eines Textes erzeugt, so treten im aktuell eingegebenen Schriftsatz Worte, die bei der Eingabe eines anderen Schriftsatzes bereits auftraten, im aktuellen Schriftsatz nicht so häufig auf wie Worte, die bereits im aktuellen Schriftsatz eingegeben worden sind. Worte, die in einem bereits eingegebenen Absatz des aktuellen Schriftsatzes aufgetreten sind, treten im aktuell eingegebenen Absatz nicht so häufig auf wie Worte, die bereits im aktuell eingegebenen Absatz eingegeben worden sind. Ähnliches gilt auch für verschiedene Sätze.The invention is based on the knowledge that there are input sequences in which the probability that an input section repeats decreases with the number of data words entered since the input section was entered. In other words: there is a high probability that an input section repeats itself after the input of a few data words. If the input units e.g. generated when entering a text, words that already occurred when another font was entered do not appear as often in the current font as words that have already been entered in the current font. Words that occur in a paragraph of the current font that has already been entered do not appear as often in the paragraph that is currently entered as words that have already been entered in the paragraph that is currently entered. The same applies to different sentences.
Beim Verfahren nach der Erfindung wird deshalb von mehreren Eingabeabschnitten, die zu den seit dem letzten Trenndatenwort eingegebenen neuen Datenworten gehören, der Eingabeabschnitt bzw. ein Teil des Eingabeabschnitts aus dem Speicher ausgelesen, auf den zuletzt zugegriffen worden ist. Ein Zugriff bedeutet dabei ausschließlich Lesen des Speichers, falls während des Verfahrens keine Eingabeabschnitte in den Speicher geschrieben werden. Werden jedoch während des Verfahrens weitere Einträge im Speicher gespeichert, so ist auch das Speichern ein Zugriff.In the method according to the invention, the input section or a part of the input section which was last accessed is therefore read from the memory from a plurality of input sections which belong to the new data words entered since the last separation data word. Access means reading the memory only if no input sections are written to the memory during the method. However, if additional entries are saved in the memory during the procedure, the saving is also an access.
Somit wird beim Zugriff auf die gespeicherten Eingabeabschnitte zusätzlich zur Buchstabenabfolge innerhalb der Eingabeabschnitte der Zeitpunkt des letzten Zugriffs auf die Eingabeabschnitte berücksichtigt. Dieses alphabetische und chronologische Vorgehen erlaubt es, bei der Eingabe von Worten bereits nach dem ersten eingegebenen Buchstaben automatisch einen Wortrest oder im Fall eines Kürzels ein ganzes Wort einzufügen, das mit hoher Wahrscheinlichkeit bestätigt wird. Die Wahrscheinlichkeit von Fehlentscheidungen nimmt außerdem weiter überproportional ab, wenn anhand zweier oder sogar dreier Buchstaben unter Berücksichtigung des letzten Zugriffs eine Auswahl getroffen werden muß, falls der nach dem Eingeben des ersten Buchstabens bzw. der ersten beiden Buchstaben des momentan eingegebenen Wortes erfolgte Vorschlag nicht bestätigt worden ist und somit wieder entfernt werden mußte. Das überproportionale Abnehmen der Wahrscheinlichkeit von Fehlentscheidungen ist u.a. darauf zurückzuführen, daß es mit zunehmender Zahl von bereits eingegebenen Buchstaben eines Wortes weniger zugehörige Eingabeabschnitte gibt. Außerdem steigt die Zahl der zwischen den zugehörigen Eingabeabschnitten eingegebenen Datenworte an, so daß sich aufgrund der oben genannten zeitlichen Zusammenhänge die Zahl der Fehlentscheidungen verringert.Thus, when the stored input sections are accessed, the time of the last access to the input sections is taken into account in addition to the sequence of letters within the input sections. This alphabetical and chronological procedure allows you to automatically insert a word residue after entering the first letter or, in the case of an abbreviation, an entire word that is highly likely to be confirmed. The probability of wrong decisions also decreases disproportionately if two or even three letters have to be selected, taking into account the last access, if the suggestion made after entering the first letter or the first two letters of the currently entered word is not confirmed has been and had to be removed. The disproportionate decrease in the probability of wrong decisions includes to be attributed to the fact that with increasing number of letters of a word already entered there are fewer associated input sections. In addition, the number of data words entered between the associated input sections increases, so that the number of wrong decisions is reduced due to the above-mentioned temporal relationships.
In einer Weiterbildung des Verfahrens nach der Erfindung wird der Speicher nur dann durchsucht, wenn das erste neue Datenwort einen bestimmten Wert aus einem vorgegebenen Wertevorrat hat. Durch diese Maßnahme erfolgt das mehrere Verfahrensschritte dauernde Zugreifen auf den Speicher nur für ausgewählte Eingaben, und die Durchführung des Verfahrens beschleunigt sich. Dies ist bei einem Verfahren, das sozusagen in Echtzeit zur Eingabe der Eingabefolge durchgeführt wird, deshalb von Bedeutung, weil es sonst zu Verzögerungen bei der Eingabe kommen kann. Auch die Wahrscheinlichkeit einer Bestätigung der Eingaben läßt sich durch diese Maßnahme erhöhen. Wird z.B. nur bei der Eingabe von Substantiven, die in der deutschen Sprache mit einem Großbuchstaben beginnen, durch das Verfahren nach der Erfindung ein Vorschlag gemacht, so lassen sich sehr hohe Bestätigungsraten erzielen. Bei der Eingabe eines Programmtextes in einer Programmiersprache, in welcher die Pro- grammbefehle ausschließlich mit Großbuchstaben beginnen, werden fast alle automatisch eingefügte Einfügungen bestätigt.In a development of the method according to the invention, the memory is only searched when the first new data word has a specific value from a predetermined value set. As a result of this measure, the memory takes several process steps to be accessed only for selected inputs, and the implementation of the method is accelerated. This is important for a method that is carried out, so to speak, in real time for the input of the input sequence, because otherwise there may be delays in the input. This measure can also increase the likelihood of the entries being confirmed. For example, only when entering nouns in start the German language with a capital letter, made a proposal by the method according to the invention, so very high confirmation rates can be achieved. When entering a program text in a programming language in which the program commands begin with uppercase letters, almost all automatically inserted insertions are confirmed.
Das Verfahren nach der Erfindung wird weiter beschleunigt, wenn der Speicher nur dann durchsucht wird, wenn die Anzahl der nach der Eingabe des letzten Trenndatenworts eingegebenen Datenworte eine vorgegebene Anzahl nicht übersteigt. Werden z.B. nur maximal zwei Vorschläge je Wort eingefügt, so muß nach der Eingabe des dritten Buchstabens der Speicher nicht mehr durchsucht werde. Auch die Kopiervorgänge zum Einfügen des Vorschlags und das Entfernen beim Fehlen der Bestätigung entfallen. Diese Maßnahme ist auch deshalb vorteilhaft, weil bei zwei oder drei erfolglosen Vorschlägen innerhalb eines Wortes die oben erläuterten Zusammenhänge offensichtlich nicht gelten.The method according to the invention is further accelerated if the memory is searched only if the number of data words entered after the input of the last separation data word does not exceed a predetermined number. E.g. If only a maximum of two suggestions are inserted per word, the memory no longer has to be searched after entering the third letter. The copying processes for inserting the proposal and removing them in the absence of confirmation are also eliminated. This measure is also advantageous because, in the case of two or three unsuccessful suggestions within one word, the relationships explained above obviously do not apply.
In einer anderen Weiterbildung des Verfahrens nach der Erfindung wird nach der Eingabe eines ganzen Eingabeabschnitts geprüft, ob der Eingabeabschnitt bereits im Speicher gespeichert ist. Ist dies nicht der Fall, so wird der Eingabeabschnitt automatisch im Speicher ergänzt. Durch diese Maßnahme erfolgt das automatische Eintragen von Eingabeabschnitten sofort nach dem ersten Verwenden der betreffenden Eingabeabschnitte. Ohne diese Maßnahme erfolgt der Eintrag in der Regel manuell und erst nachdem der Eingabeabschnitt, z.B. ein Wort, bereits mehrere Male vollständig eingegeben worden ist. Somit können beim automatischen Eintragen bereits beim zweiten Eingeben des Eingabeabschnitts, z.B. mit einer Tastatur, Tastenanschläge eingespart werden.In another development of the method according to the invention, after an entire input section has been entered, it is checked whether the input section is already stored in the memory. If this is not the case, the input section is automatically added to the memory. With this measure, the automatic entry of input sections takes place immediately after the first use of the relevant input sections. Without this measure, the entry is usually made manually and only after the input section, e.g. a word that has already been entered several times. In the case of automatic entry, the second time the entry section is entered, e.g. with a keyboard, keystrokes can be saved.
Wird beim Ergänzen des Speichers eine vorgegebene Anzahl von Eingabeabschnitten im Speicher nicht überschritten, indem der Eingabeabschnitt überschrieben wird, auf den am längsten nicht zugegriffen worden ist, so entsteht ein Kurzzeitspeicher. Dieser Speicher hat den Vorteil, daß er Eingabeabschnitte, auf die bereits längere Zeit nicht zugegriffen worden ist, "vergißt", d.h. automatisch löscht. Dies ist z.B. bei Worten vorteilhaft, die in falscher Schreibweise im Speicher gespeichert worden sind oder wenn Eingabefolgen zu neuen Sachgebieten, d.h. auch mit wechselndem Wortschatz, eingegeben werden. Das Verfahren nach der Erfindung mit einem Kurzzeitspeicher ist bei kleinem Speicherbedarf sehr leistungsstark hinsichtlich der Bestätigungsrate. So werden gute Ergebnisse schon mit einem Speicher für fünfzig oder hundert Eingabeeinheiten erreicht. Ein derartig kleiner Speicher kann außerdem sehr schnell durchsucht werden.If, when the memory is supplemented, a predetermined number of input sections in the memory are not exceeded by overwriting the input section which has not been accessed for a long time, a short-term memory is created. This Memory has the advantage that it "forgets" input sections that have not been accessed for a long time, that is, automatically deletes them. This is advantageous, for example, for words that have been stored in the wrong spelling in the memory or if input sequences for new subject areas, ie also with a changing vocabulary, are entered. The method according to the invention with a short-term memory is very powerful in terms of the confirmation rate with a small memory requirement. Good results can be achieved with a memory for fifty or a hundred input units. Such a small memory can also be searched very quickly.
Das Verfahren nach der Erfindung ist dann vorteilhaft einzusetzen, wenn sich Eingabeabschnitte in der Eingabefolge wiederholen, wie es z.B. bei der Eingabe von juristischen oder technischen Fachtexten der Fall ist. Auch bei Textverarbeitungsprogrammen zur Eingabe von Programmen in Programmiersprachen wie C, C++, Java usw. wird das Verfahren nach der Erfindung vorteilhaft eingesetzt, da es in der jeweiligen Programmiersprache nur eine vorgegebene Anzahl von groß und/oder klein geschriebenen Schlüsselworten gibt, zu denen abhängig vom eingegebenen Programm noch eine relativ begrenzte Anzahl von immer wiederkehrenden Variablennamen hinzutritt.The method according to the invention can be used advantageously if input sections are repeated in the input sequence, e.g. is the case when entering legal or technical texts. The method according to the invention is also advantageously used in word processing programs for inputting programs in programming languages such as C, C ++, Java, etc., since there are only a predetermined number of upper and / or lower case keywords in the respective programming language, depending on which entered program still a relatively limited number of recurring variable names.
Das Berücksichtigen der zeitlichen Reihenfolge der Zugriffe läßt sich vorteilhaft realisieren, wenn die Eingabeabschnitte eine Eingabeabschnittsfolge bilden, in der die Eingabeabschnitte abhängig vom letzten Zugriffszeitpunkt geordnet sind. Alternativ können auch bestimmte Gruppen von Eingabeabschnitten, z.B. alle mit dem Buchstaben "A" beginnende Eingabeabschnitte, in verschiedenen Eingabeabschnittsfolgen enthalten sein. Da die einzelnen Eingabeabschnittsfolgen nicht so viele Eingabeabschnitte enthalten verkürzt sich die zeit für das Durchsuchen.The time sequence of the accesses can advantageously be taken into account if the input sections form an input section sequence in which the input sections are arranged depending on the last access time. Alternatively, certain groups of input sections, e.g. all input sections beginning with the letter "A" can be contained in different input section sequences. Since the individual input section sequences do not contain as many input sections, the time for searching is shortened.
Die Erfindung betrifft auch eine Datenverarbeitungsanlage zum Durchführen des erfindungsgemäßen Verfahrens bzw. dessen Weiter- bildungen. Die genannten technischen Wirkungen gelten auch für die Datenverarbeitungsanlage. Zur Realisierung des Zugriffs auf den Speicher werden die bekannten Zugriffsverfahren verwendet, wie z.B. assoziative Speicher, verkettete Datenlisten oder Hash- Suchverfahren .The invention also relates to a data processing system for carrying out the method according to the invention or its further educations. The technical effects mentioned also apply to the data processing system. The known access methods are used to realize the access to the memory, such as associative memory, linked data lists or hash search methods.
In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Zugriff auf eine Speichereinheit sowie diese Speichereinheit selbst. Dieses Zugriffsverfahren und die Speichereinheit werden insbesondere beim Ausführen des erfindungsgemäßen Verfahrens zur Eingabe der Eingabefolge verwendet. Das besondere Merkmal des erfindungsgemäßen Zugriffsverfahrens und der erfindungsgemäßen Speichereinheit liegt darin, daß beim Zugriff in der Speichereinheit auf gespeicherte Speicherworte neben der bekannten Zuordnung, z.B. über eine Adresse oder wie bei einem Assoziativspeicher über den Inhalt der Speicherzellen, zusätzlich auch die zeitliche Reihenfolge der Zugriffe auf die Speicherworte berücksichtigt wird.In a further aspect, the invention relates to a method for accessing a storage unit and this storage unit itself. This access method and the storage unit are used in particular when executing the inventive method for entering the input sequence. The special feature of the access method according to the invention and the memory unit according to the invention is that, in addition to the known assignment, e.g. via an address or, as in the case of an associative memory, via the content of the memory cells, the chronological order of access to the memory words is also taken into account.
Im Gegensatz zu einer bekannten Speichereinheit können zu einem Eingabewort mehrere Speicherworte gehören. Anhand des chronologischen Auswahlkriteriums wird in der erfindungsgemäßen Speichereinheit bei mehreren Speicherworten, die zu einem Eingabewort gehören, eines ausgewählt und vollständig oder auch nur teilweise ausgegeben. Die Auswahl erfolgt dabei vorzugsweise innerhalb der Speichereinheit, so daß von außen im wesentlichen nur das Eingabewort eingegeben und das Ausgabewort gelesen werden muß. Somit wird eine Zugriffseinheit, wie z.B. ein Prozessor, nicht mehr als bei herkömmlichen Speicherzugriffen beansprucht. Die zeitliche Auswahl erfolgt z.B. nach dem LIFO-Prinzip (last in first out) oder nach dem FIFO-Prinzip (first in first out) . Im ersten Fall wird von den zum Eingabewort gehörenden Speicherworten dasjenige gewählt, auf das am längsten nicht zugegriffen worden ist. Im zweiten Fall wird von den zugehörigen Speicherworten das Speicherwort ausgewählt, auf das zuletzt zugegriffen worden ist. Die erfindungsgemäße Speichereinheit gestattet es, bereits ein Ausgabewort auszugeben, wenn das Eingabewort erst teilweise festgelegt und in den Speicher eingegeben worden ist. Die Zugriffszeit beim Lesen eines Speicherwortes wird in den Fällen verringert, in denen bereits ein passendes Ausgabewort ausgelesen wird, obwohl das Eingabewort noch nicht vollständig eingegeben worden ist. Ein Anwendungsbeispiel für die Speichereinheit und das Zugriffsverfahren ist z.B. die Eingabe einer Buchstabenfolge, bei der abhängig vom bereits eingegebenen Wortteil ein neues Wort oder ein Wortrest vorgeschlagen wird, das bzw. der von einer Bedienperson bestätigt oder verworfen wird.In contrast to a known memory unit, several memory words can belong to one input word. On the basis of the chronological selection criterion, one is selected in the memory unit according to the invention in the case of a plurality of memory words which belong to an input word and is output completely or only partially. The selection is preferably made within the memory unit, so that essentially only the input word has to be entered from the outside and the output word has to be read. An access unit, such as a processor, is therefore no longer required than in conventional memory accesses. The time selection takes place, for example, according to the LIFO principle (last in first out) or according to the FIFO principle (first in first out). In the first case, one of the memory words belonging to the input word is selected which has not been accessed for the longest time. In the second case, the memory word that was last accessed is selected from the associated memory words. The storage unit according to the invention already allows an output word to be output when the input word has only been partially defined and entered into the memory. The access time when reading a memory word is reduced in cases in which a suitable output word is already read out, although the input word has not yet been completely entered. An example of an application for the storage unit and the access method is, for example, the input of a sequence of letters in which, depending on the part of the word already entered, a new word or a remainder of the word is proposed, which is confirmed or rejected by an operator.
Enthält die Speichereinheit einen assoziativen Speicher, so werden die Vorteile des assoziativen Zugriffs genutzt, wie z.B. die kurze Zugriffszeit. Assoziative Speicher sind handelsübliche Speicherbausteine, die englisch auch als "content adressable memory" bezeichnet werden. Abhängig vom Eingabewort wird ein Speicherwort ermittelt, welches das Eingabewort enthält. Anschließend wird entweder das gesamte ermittelte Speicherwort oder nur ein Teil desselben ausgegeben.If the storage unit contains an associative memory, the advantages of associative access are used, e.g. the short access time. Associative memories are commercially available memory modules which are also referred to as "content addressable memory". Depending on the input word, a memory word is determined which contains the input word. Then either the entire determined memory word or only a part of it is output.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der beiliegenden Zeichnungen erläutert. Darin zeigen:Exemplary embodiments of the invention are explained below with reference to the accompanying drawings. In it show:
Figur 1 wesentliche elektronische Funktionseinheiten zur Eingabe einer Eingabefolge,FIG. 1 essential electronic functional units for entering an input sequence,
Figur 2 eine Hilfsdatei, die beim Eingeben der Eingabefolge verwendet wird, und2 shows an auxiliary file which is used when entering the input sequence, and
Figuren 3A und 3B ein Flußdiagramm mit Verfahrensschritten, die beim Eingeben der Eingabefolge ausgeführt werden.FIGS. 3A and 3B show a flow diagram with method steps which are carried out when the input sequence is input.
Figur 1 zeigt wesentliche elektronische Funktionseinheiten zur Eingabe einer Eingabefolge mit einer handelsüblichen Tastatur 10. In Figur 1 sind von den Tasten der Tastatur fünf Tasten 12 bis 20 dargestellt, die mit einer in der Tastatur 10 enthaltenen Tastatursteuerung 22 über Verbindungsleitungen 24 bis 30 verbunden sind. Die Taste 16 wird z.B. bei der Eingabe der Buchstaben "a" und "A" verwendet, wobei im letzteren Fall zusätzlich die Taste 12 gedrückt werden muß.FIG. 1 shows essential electronic functional units for entering an input sequence with a commercially available keyboard 10. FIG. 1 shows five keys 12 to 20 of the keyboard keys, which are connected to a keyboard controller 22 contained in the keyboard 10 via connecting lines 24 to 30. The key 16 is used, for example, when entering the letters "a" and "A", in the latter case the key 12 must also be pressed.
Die Tastatur 10 ist über eine mehradrige Leitung 34 mit einem Rechner 40 verbunden, der u.a. einen Prozessor 42 und einen Speicher 44 enthält. Der Prozessor 42 arbeitet die Befehle eines im Speicher 44 gespeicherten Textverarbeitungsprogramms 46 ab, wobei mit der Tastatur 10 ein Text in eine Eingabedatei eingegeben wird. Mit anderen Worten: der Prozessor 42 wird durch die als Befehlsfolge im Speicher 44 als Befehlsfolge gespeicherten Verfahrensschritte gesteuert. Der Speicher 44 enthält außerdem einen Kurzzeitspeicher 48, in welchem Eingabeabschnitte einer mit der Tastatur 10 eingegebenen Eingabefolge gespeichert werden. Das Textverarbeitungsprogramm ist z.B. das bekannte Programm "WinWord" oder "Word 97", das mit der zugehörigen Makroprogrammiersprache um die im folgenden erläuterten Makrobausteine erweitert werden kann.The keyboard 10 is connected via a multi-core line 34 to a computer 40 which, among other things. includes a processor 42 and memory 44. The processor 42 processes the commands of a word processing program 46 stored in the memory 44, a text being entered into an input file using the keyboard 10. In other words: the processor 42 is controlled by the method steps stored as an instruction sequence in the memory 44 as an instruction sequence. The memory 44 also contains a short-term memory 48, in which input sections of an input sequence entered with the keyboard 10 are stored. The word processing program is e.g. the well-known program "WinWord" or "Word 97", which can be expanded with the associated macro programming language by the macro blocks explained below.
Beim Betätigen jeder Taste 12 bis 20 wird ein Buchstabenmakro abgearbeitet, von denen in Figur 1 Buchstabenmakros 50, 52 und 54 dargestellt sind, die in dieser Reihenfolge zu den Buchstaben "a", "b" und "Z" gehören. Das zur gerade betätigten Taste 12 bis 20 gehörende Buchstabenmakro 50, 52, 54 übergibt den ASCII Code (American Standard Code II) des eingegebenen Zeichens an ein Hauptmakro 56 und startet anschließend die Ausführung des Hauptmakros 56. Die beim Ausführen des Hauptmakros 56 durchgeführten Verfahrensschritte werden unten anhand der Figuren 3A und 3B erläutert.When each key 12 to 20 is pressed, a letter macro is processed, of which letter macros 50, 52 and 54 are shown in FIG. 1, which in this order belong to the letters "a", "b" and "Z". The letter macro 50, 52, 54 belonging to the just actuated key 12 to 20 transfers the ASCII code (American Standard Code II) of the entered character to a main macro 56 and then starts the execution of the main macro 56 explained below with reference to FIGS. 3A and 3B.
Der Rechner 40 ist über eine Verbindungsleitung 58 mit einem Bildschirm 60 verbunden, auf dem die eingegebenen Buchstaben angezeigt werden. Das aktuelle Ende der Eingabefolge wird auf dem Bildschirm 60 durch einen Cursor 62 angezeigt. Auf dem in Figur 1 dargestellten Bildschirm 60 ist zu erkennen, daß bereits der Buchstabe "A" eingegeben worden ist. Automatisch ist danach die Wortergänzung "bsatz" eingefügt worden, die durch die Bedienperson durch Eingabe einer "7" bestätigt werden kann. Einzelheiten zu diesen Vorgängen werden im folgenden erläutert.The computer 40 is connected via a connecting line 58 to a screen 60 on which the letters entered are displayed. The current end of the input sequence is shown on the Screen 60 is displayed by a cursor 62. It can be seen on the screen 60 shown in FIG. 1 that the letter "A" has already been entered. The word extension "bsatz" has then been inserted automatically and can be confirmed by the operator by entering a "7". Details of these operations are explained below.
Figur 2 zeigt eine Hilfsdatei 100, die beim Eingeben der Eingabefolge in die Eingabedatei verwendet wird. Die Zeilen der Hilfsdatei 100 sind mit ZI bis Z6 bezeichnet. In der Zeile ZI wird das ASCII-Datenwort der gerade betätigten Taste an das Hauptmakro 56 übergeben, vergleiche Figur 1. In Figur 3 wurde gerade die Taste "7" betätigt, so daß das übergebene Datenwort gemäß ASCII-Code den Wert "55" hat. Dieser Wert führt bei der Anzeige der Hilfsdatei 100 auf der Anzeigeeinheit 60 (vergleiche Figur 1) zur Darstellung der "7".FIG. 2 shows an auxiliary file 100 which is used when the input sequence is input into the input file. The lines of the auxiliary file 100 are labeled ZI to Z6. In line ZI the ASCII data word of the key just pressed is transferred to the main macro 56, compare FIG. 1. In FIG. 3 the key "7" was just pressed so that the transferred data word has the value "55" according to the ASCII code . This value leads to the display of the "7" when the auxiliary file 100 is displayed on the display unit 60 (see FIG. 1).
Zur Erläuterung sei angenommen, daß das Wort "Absatz" eingegeben werden soll. Der Anfangsbuchstabe "A" wurde bereits vor der eine Bestätigung eines eingefügten Vorschlags angebenden "7" eingegeben. Die bereits eingegebenen Buchstaben eines aktuell eingegebenen Wortes werden in der Zeile Z2 der Hilfsdatei 100 gespeichert. Dies ist in Figur 2 der Buchstabe "A" . Das unten anhand der Figuren 3A und 3B erläuterte Verfahren fügt automatisch Vorschläge in die Eingabefolge ein, die aus dem Kurzzeitspeicher 48 gelesen werden, vergleiche auch Figur 1. Der Inhalt des Kurzzeitspeichers 48 ist in den Zeilen Z5 und Z6 der Hilfsdatei 100 dargestellt.For explanation purposes, assume that the word "paragraph" is to be entered. The initial letter "A" was already entered before "7", which indicates the confirmation of an inserted proposal. The letters of a currently entered word that have already been entered are stored in line Z2 of the auxiliary file 100. This is the letter "A" in Figure 2. The method explained below with reference to FIGS. 3A and 3B automatically inserts suggestions into the input sequence that are read from the short-term memory 48, see also FIG. 1. The content of the short-term memory 48 is shown in lines Z5 and Z6 of the auxiliary file 100.
Nach dem Eingeben des Buchstaben "A" wurde das Wort "Absatz" in Zeile Z5 des Kurzzeitspeichers 48 ermittelt und der noch nicht eingegebene Wortrest "bsatz" an das aktuelle Ende der Eingabefolge in der Eingabedatei automatisch angefügt. Der angefügte Wortrest wird in der Zeile Z4 der Hilfsdatei 100 zur weiteren Bearbeitung gespeichert. In der Zeile Z3 der Hilfsdatei 100 ist der Wert einer Variable IMWORT gespeichert, die den aktuellen Wert Eins hat. Der Wert Eins zeigt an, daß momentan ein Substantiv eingegeben wird, d.h. bei einem deutschen Text ein Wort, das mit einem Großbuchstaben beginnt. Wird aktuell kein Substantiv eingegeben, so hat die Variable IMWORT den Wert Null. Die Hilfsdatei 100 enthält weiterhin eine versetzbare Textmarke TM, die innerhalb des Kurzzeitspeichers 48 versetzt wird, um identische Vorschläge während der Eingabe eines Wortes zu vermeiden.After entering the letter "A", the word "paragraph" was determined in line Z5 of the short-term memory 48 and the word residue "bsatz", which had not yet been entered, was automatically added to the current end of the input sequence in the input file. The appended word residue is stored in line Z4 of the auxiliary file 100 for further processing. In line Z3 of the auxiliary file 100, the value of a variable IMWORD is stored which is the current one Has value one. The value one indicates that a noun is currently being entered, ie for a German text a word that begins with an uppercase letter. If no noun is currently entered, the variable IMWORT has the value zero. The auxiliary file 100 also contains a movable text mark TM, which is moved within the short-term memory 48 in order to avoid identical suggestions during the input of a word.
Wird die Taste "7" während der Eingabe eines Substantivs eingegeben, so bedeutet dies also, daß der eingefügte Vorschlag akzeptiert wird, so daß er in der Eingabefolge verbleiben kann. Wird eine "7" außerhalb eines Substantivs eingegeben, so wird dies nicht als Bestätigung gewertet und es erfolgt die normale Eingabe der "7" in die Eingabedatei.If the "7" key is entered while entering a noun, this means that the inserted suggestion is accepted so that it can remain in the input sequence. If a "7" is entered outside of a noun, this is not counted as confirmation and the "7" is entered normally in the input file.
Die Figuren 3A und 3B zeigen ein Flußdiagramm mit Verfahrensschritten, die beim Ausführen der Befehle des Hauptmakros 56 vom Prozessor 42 abgearbeitet werden, vergleiche Figur 1. Beim Erläutern der Figuren 3A und 3B wird im folgenden auch ohne ausdrückliche Hinweise auf die Figuren 1 und 2 Bezug genommen. Das Verfahren beginnt in einem Schritt 150, in welchem die Variable IMWORT mit dem in der Zeile Z3 der Hilfsdatei 100 gespeicherten Wert belegt wird. Außerdem wird das aktuell eingegebene Datenwort, d.h. der aktuell eingegebene Buchstabe bzw. ein aktuell eingegebenes Zeichen, aus Zeile ZI der Hilfsdatei 100 in einer Variable b$ gespeichert. Die in Zeile Z2 der Hilfsdatei 100 gespeicherten bisher eingegebenen Datenworte des aktuell eingegebenen Wortes werden einer Variable w$ zugewiesen. Der in Zeile Z4 gespeicherte angefügte Wortrest wird einer Variable r$ zugewiesen. Das Verfahren wird beschleunigt, wenn die genannten Zuweisungen in einem anderen Ausführungsbeispiel nur dann ausgeführt werden, wenn die Variablen auch tatsächlich benötigt werden. Der Schritt 150 wird immer unmittelbar nach dem Abarbeiten eines Buchstabenmakros 50 bis 54 ausgeführt, vergleiche Figur 1. Im auf den Schritt 150 folgenden Schritt 152 wird geprüft, ob das aktuell eingegebene Datenwort, d.h. die Variable b$, einen Wert hat, der Trenndatenworte kennzeichnet. Trenndatenworte werden u.a. bei der Eingabe eines Leerzeichens, eines Kommas oder eines Satzpunktes erzeugt. Wird im Schritt 152 festgestellt, daß das aktuelle Datenwort b$ kein Trenndatenwort ist, so folgt ein Schritt 154, in welchem geprüft wird, ob die Variable IMWORT gleich Null ist. Dies kann nur dann der Fall sein, wenn gerade der erste Buchstabe eines Wortes eingegeben worden ist. Ist dies der Fall, so wird anschließend in einem Schritt 156 anhand des Datenworts b$ geprüft, ob der erste Buchstabe ein Großbuchstabe ist, und somit aktuell ein Substantiv eingegeben werden soll. Gehört das Datenwort b$ zu einem Großbuchstaben, so wird in einem Schritt 158 die Variable IMWORT auf den Wert Eins gesetzt. Der Schritt 156 entfällt in einem anderen Ausführungsbeispiel, in welchem bei der Eingabe aller eingegebenen Worte Vorschläge erzeugt werden können, so daß z.B. auch sich wiederholende Verben bzw. zum Beispiel im Englischen kleingeschriebene Substantive so bearbeitet werden, wie es im Ausführungsbeispiel der Figuren 3A und 3B für im Deutschen groß geschriebene Substantive der Fall ist.FIGS. 3A and 3B show a flowchart with method steps which are processed by the processor 42 when executing the instructions of the main macro 56, compare FIG. 1. In the explanation of FIGS. 3A and 3B, reference will also be made below to FIGS. 1 and 2 without express reference taken. The method begins in a step 150 in which the variable IMWORT is assigned the value stored in line Z3 of the auxiliary file 100. In addition, the currently entered data word, ie the currently entered letter or character, from line ZI of the auxiliary file 100 is stored in a variable b $. The previously entered data words of the currently entered word stored in line Z2 of the auxiliary file 100 are assigned to a variable w $. The appended word remainder stored in line Z4 is assigned to a variable r $. The method is accelerated if the assignments mentioned are only carried out in another exemplary embodiment when the variables are actually required. Step 150 is always carried out immediately after a letter macro 50 to 54 has been processed, see FIG. 1. In step 152 following step 150, it is checked whether the currently entered data word, ie the variable b $, has a value which identifies separating data words. Separation data words are generated when entering a space, a comma or a period. If it is determined in step 152 that the current data word b $ is not a separating data word, a step 154 follows in which it is checked whether the variable IMWORT is zero. This can only be the case if the first letter of a word has just been entered. If this is the case, then in a step 156 it is checked based on the data word b $ whether the first letter is an uppercase letter and thus a noun is currently to be entered. If the data word b $ belongs to an uppercase letter, the variable IMWORT is set to the value one in a step 158. Step 156 is omitted in another exemplary embodiment, in which suggestions can be generated when all the words entered are entered, so that, for example, repetitive verbs or nouns written in lower case, for example, are processed in the same way as in the exemplary embodiment in FIGS. 3A and 3B is the case for nouns capitalized in German.
Wird dagegen im Schritt 156 festgestellt, daß der erste Buchstabe des momentan eingegebenen Wortes kein Großbuchstabe ist, so folgt unmittelbar nach dem Schritt 156 ein Schritt 160 und die Variable IMWORT bleibt auf dem Wert Null. Im Schritt 160 wird die Bearbeitung in der Eingabedatei fortgesetzt. Die Ausführung des Hauptmakros 56, vergleiche Figur 1, ist damit für den aktuell eingegebenen Buchstaben beendet, da ein in Figur 3B gezeigter zweiter Teil nur dann abgearbeitet wird, wenn die Variable IMWORT den Wert Eins hat.If, on the other hand, it is determined in step 156 that the first letter of the word currently entered is not an uppercase letter, a step 160 follows immediately after step 156 and the variable IMWORT remains at the value zero. In step 160, the processing in the input file is continued. The execution of the main macro 56, compare FIG. 1, is thus ended for the currently entered letter, since a second part shown in FIG. 3B is only processed if the variable IMWORD has the value one.
Wird andererseits bereits im Schritt 154 festgestellt, daß die Variable IMWORT den Wert Eins hat, so bedeutet dies, daß aktuell ein Substantiv bearbeitet wird. Das Verfahren wird in diesem Fall unmittelbar mit dem in Figur 3B gezeigten zweiten Teil fortgesetzt.If, on the other hand, it is already determined in step 154 that the variable IMWORT has the value one, this means that a noun is currently being processed. The procedure in this case immediately continued with the second part shown in Figure 3B.
Wird im Schritt 152 festgestellt, daß die aktuell betätigte Taste zu einem Trenndatenwort gehört, so folgt unmittelbar nach dem Verfahrensschritt 152 ein Verfahrensschritt 162. Im Schritt 162 wird geprüft, ob die Variable IMWORT den Wert Null hat. Ist dies der Fall, so wird momentan kein Substantiv bearbeitet und es folgt ein Schritt 164, in welchem zur Eingabedatei zurückgekehrt wird. Der in Figur 3B dargestellte zweite Teil wird dann nicht ausgeführt.If it is determined in step 152 that the currently actuated key belongs to a separating data word, a method step 162 follows immediately after method step 152. In step 162 it is checked whether the variable IMWORD has the value zero. If this is the case, no noun is currently being processed and step 164 follows, in which the input file is returned to. The second part shown in FIG. 3B is then not carried out.
Hat die Variable IMWORT bei der Abfrage im Schritt 162 dagegen den Wert Eins, so folgt unmittelbar nach dem Schritt 162 ein Schritt 166. Der Schritt 166 wird nur dann ausgeführt, wenn mit der aktuellen Eingabe die Bearbeitung eines Substantivs beendet wurde. Im Schritt 166 wird die Variable IMWORT auf den Wert Null gesetzt, um den Abschluß der Eingabe des Substantivs zu vermerken. Anschließend folgt ein Schritt 168.If, on the other hand, the variable IMWORT has the value one when queried in step 162, a step 166 follows immediately after step 162. Step 166 is only carried out if the processing of a noun has ended with the current input. In step 166, the variable IMWORT is set to the value zero to mark the completion of the entry of the noun. A step 168 then follows.
Im Schritt 168 wird die Textmarke TM, vgl. Figur 2, an den Anfang des Kurzzeitspeichers 48 gesetzt, d.h. an den Anfang der Zeile Z5 der Hilfsdatei 100. Dies ist erforderlich, weil die Textmarke TM während des Verfahrens versetzt wird, um bei mehreren Vorschlägen je Wort sich wiederholende Vorschläge zu vermeiden.In step 168, the bookmark TM, cf. Figure 2, placed at the beginning of the short-term memory 48, i.e. to the beginning of line Z5 of the auxiliary file 100. This is necessary because the bookmark TM is displaced during the process in order to avoid repetitive suggestions in the case of several suggestions per word.
Im folgenden Schritt 170 wird der Kurzzeitspeicher 48 nach dem in der Variable w$ gespeicherten Substantiv durchsucht, d.h. nach dem zuletzt eingegebenen Wort. Der Kurzzeitspeicher 48 wird beim Durchsuchen immer zum Dateiende der Hilfsdatei 100 hin durchsucht, d.h. in Richtung des rechten Endes der Zeile Z6.In the following step 170, the short-term memory 48 is searched for the noun stored in the variable w $, i.e. after the last word entered. The short-term memory 48 is always searched during the search to the end of the file of the auxiliary file 100, i.e. towards the right end of line Z6.
Anschließend wird in einem Schritt 172 geprüft, ob das in der Variable w$ enthaltene Substantiv gefunden worden ist. Wurde dieses Wort nicht gefunden, so folgt unmittelbar nach dem Schritt 172 der Schritt 174, in welchem die aktuelle Bearbeitungsposition in der Hilfsdatei 100 an die Textmarke TM gesetzt wird, die wie bereits erwähnt im Schritt 168 an den Anfang des Kurzzeitspeichers 48 gesetzt worden ist. An dieser Stelle wird das in der Variable w$ gespeicherte Substantiv eingefügt, d.h. in den Kurzzeitspeicher 48 geschrieben.It is then checked in a step 172 whether the noun contained in the variable w $ has been found. If this word was not found, step 174 follows immediately after step 172, in which the current processing position is set to the bookmark TM in the auxiliary file 100, which, as already mentioned, was placed in step 168 at the beginning of the short-term memory 48. At this point, the noun stored in the variable w $ is inserted, ie written into the short-term memory 48.
In einem folgenden Schritt 176 wird die Bearbeitungsposition in der Hilfsdatei 100 an das Ende der Hilfsdatei 100 versetzt. Und im Schritt 180 wird das am Ende der Hilfsdatei 100 und somit auch am Ende des Kurzzeitspeichers 100 gespeicherte Wort gelöscht, vergleiche Schritt 178. Die Eingabe dieses Wortes liegt bereits sehr lange zurück, so daß es relativ unwahrscheinlich ist, daß dieses Wort demnächst noch einmal eingegeben wird. Außerdem bleibt die Anzahl der im Kurzzeitspeicher 48 gespeicherten Worte konstant, wenn für jedes neu in den Kurzzeitspeicher 48 eingefügte Wort ein bereits gespeichertes Wort gelöscht wird.In a subsequent step 176, the processing position in the auxiliary file 100 is moved to the end of the auxiliary file 100. And in step 180, the word stored at the end of the auxiliary file 100 and thus also at the end of the temporary memory 100 is deleted, compare step 178. The entry of this word was a long time ago, so that it is relatively unlikely that this word will be used again soon is entered. In addition, the number of words stored in the short-term memory 48 remains constant if a word which has already been stored is deleted for each new word inserted into the short-term memory 48.
Im Schritt 180 wird das in der Variable w$ gespeicherte Wort gelöscht. Außerdem wird in diesem Schritt ein gegebenenfalls in der Variable r$ gespeicherter Wortrest gelöscht, der den zuletzt gemachten Vorschlag enthält. In der Variable r$ ist nur dann ein Vorschlag enthalten, wenn ein solcher während der Eingabe des zuletzt eingegebenen Substantivs gemacht worden ist.In step 180, the word stored in the variable w $ is deleted. In addition, in this step, a remainder of the word, possibly stored in the variable r $, which contains the last suggestion, is deleted. The variable r $ only contains a suggestion if such a suggestion was made while entering the last noun entered.
Wird dagegen im Schritt 172 festgestellt, daß beim Durchsuchen des Kurzzeitspeichers 48 das zuletzt eingegebene Substantiv gefunden worden ist, so wird dieses Substantiv im Schritt 182 aus dem Kurzzeitspeicher 48 entfernt, wobei die dem zu entfernenden Substantiv benachbarten Worte im Kurzzeitspeicher 48 die entstehende Lücke schließen. Dies ist darauf zurückzuführen, daß die Datenworte der Hilfsdatei 100 ähnlich einer sogenannten verketteten Liste verwaltet werden.If, on the other hand, it is determined in step 172 that the last entered noun has been found when searching the short-term memory 48, this noun is removed from the short-term memory 48 in step 182, the words in the short-term memory 48 adjacent to the noun to be removed closing the gap that arises. This is due to the fact that the data words of the auxiliary file 100 are managed in a manner similar to a so-called linked list.
Anschließend wird in den Schritten 184 und 185 das entfernte Substantiv, das auch in der Variable w$ enthalten ist, am Anfang des Kurzzeitspeichers 48 wieder eingefügt. Die Anzahl der im Kurzzeitspeicher 48 enthaltenen Worte bleibt somit auch hier unverändert. Im folgenden Schritt 186 werden, wie im Schritt 180, das in der Variable w$ gespeicherte Substantiv sowie der gegebenenfalls in der Variable r$ gespeicherte Wortrest gelöscht. Nach dem Schritt 186 folgt der bereits erläuterte Schritt 164, in dem die Eingabe der Eingabefolge in der Eingabedatei fortgesetzt wird.Then in steps 184 and 185 the removed noun, which is also contained in the variable w $, is inserted again at the beginning of the short-term memory 48. The number of in Short-term memory 48 words thus remains unchanged here. In the following step 186, as in step 180, the noun stored in the variable w $ and the remainder of the word possibly stored in the variable r $ are deleted. Step 186 is followed by step 164, already explained, in which the input of the input sequence in the input file is continued.
Im Kurzzeitspeicher 48 sind die zuletzt eingegebenen Worte in der Zeile Z5 und die zuerst eingegebenen Worte in der Zeile Z6 gespeichert. Innerhalb einer Zeile stehen die zuletzt eingegebenen Worte am weitesten links. So wurde das Wort "Berlin" vor dem Wort "Bus" eingegeben, vergleiche Figur 2. Die Eingabe des Wortes "Auto" liegt am weitesten zurück. Die Worte im Kurzzeitspeicher 48 bilden somit eine Folge, in der die Position des jeweiligen Wortes durch den Zugriffszeitpunkt festgelegt ist, zu dem zum letzten Mal auf dieses Wort zugegriffen worden ist. Trägt man die Zugriffszeitpunkte auf einem Zeitstrahl ab, so entspricht die Reihenfolge der Zeitpunkte der Reihenfolge der zu den Zeitpunkten gehörenden Worte in der Folge.The short-term memory 48 stores the last words entered in line Z5 and the first words entered in line Z6. The last words entered are to the left of a line. So the word "Berlin" was entered before the word "bus", see Figure 2. The entry of the word "car" is furthest back. The words in the short-term memory 48 thus form a sequence in which the position of the respective word is determined by the access time at which this word was last accessed. If you access the access times on a timeline, the order of the times corresponds to the order of the words belonging to the times in the sequence.
Das Durchsuchen des Kurzzeitspeichers 48 erfolgt, wie bereits erwähnt, zeilenweise von oben nach unten. Innerhalb der Zeilen erfolgt die Suche von links nach rechts. Somit ist im Kurzzeitspeicher 48 eine Suchreihenfolge festgelegt. Durch diese Suchreihenfolge wird bei mehreren Worten, die die gesuchte Buchstabenfolge enthalten, ausgehend von der Textmarke TM die zeitliche Reihenfolge des Zugriffs berücksichtigt. Es wird von den zwischen der Textmarke TM und dem Ende des Kurzzeitspeichers 48 gespeicherten Worten mit der gesuchten Buchstabenfolge dasjenige Wort gefunden, auf das zuletzt zugegriffen worden ist.As already mentioned, the short-term memory 48 is searched line by line from top to bottom. The search within the lines is from left to right. A search order is thus defined in the short-term memory 48. This search sequence takes into account the chronological order of access in the case of several words which contain the letter sequence sought, starting from the text mark TM. From the words stored between the bookmark TM and the end of the short-term memory 48 with the searched letter sequence, the word that was last accessed is found.
Ein in Figur 3B gezeigter zweiter Teil des Verfahrens wird nur dann abgearbeitet, wenn in einem Schritt 190 festgestellt wird, daß die Variable IMWORT den Wert Eins hat und somit aktuell ein Substantiv eingegeben wird. Andernfalls wird die Bearbeitung des zuletzt eingegebenen Buchstabens in einem unten erläuterten Schritt 192 beendet.A second part of the method shown in FIG. 3B is only processed if it is determined in a step 190 that the variable IMWORT has the value one and thus a noun is currently being entered. Otherwise, editing the last entered letter ended in a step 192 explained below.
Wird im Schritt 190 festgestellt, daß die Variable IMWORT den Wert Eins hat, so folgt ein Schritt 194, in welchem geprüft wird, ob das momentan eingegebene Zeichen eine "7" ist, d.h. ob die Taste 20 betätigt wurde, vergleiche Figur 1. Eine "7" wird bei der korrekter Eingabe der Buchstaben eines Substantivs in der Regel nie eingegeben, so daß die auf der Tastatur 10 beim Eingeben der Eingabefolge leicht einzugebende "7" als Bestätigungszeichen ausgewählt wurde, das anzeigt, daß ein zuvor erfolgter Vorschlag angenommen wird. Wird der Vorschlag angenommen, so folgt unmittelbar nach dem Schritt 194 ein Schritt 196. Im Schritt 196 wird an die bereits in der Variable w$ gespeicherte Buchstabenfolge des aktuell eingegebenen Substantivs der in der Variable r$ gespeicherte Vorschlag angefügt. Somit enthält die Variable w$ sämtliche bisher eingegebene bzw. bestätigte Buchstaben des gerade eingegebenen Substantivs, so daß bei der weiteren Bearbeitung des aktuell eingegebenen Substantivs in der Variable w$ stets der aktuelle Eingabestand gespeichert ist.If it is determined in step 190 that the variable IMWORT has the value one, a step 194 follows, in which it is checked whether the currently entered character is a "7", i.e. see FIG. 1 to determine whether the key 20 was pressed. A “7” is generally never entered when the letters of a noun are entered correctly, so that the “7” that is easy to enter on the keyboard 10 when entering the input sequence was selected as the confirmation character , which indicates that a previous proposal has been accepted. If the proposal is accepted, a step 196 follows immediately after step 194. In step 196, the proposal stored in the variable r $ is added to the letter sequence of the noun currently entered in the variable w $. The variable w $ thus contains all previously entered or confirmed letters of the noun just entered, so that the current input status is always stored in the variable w $ when the noun currently entered is edited further.
Im folgenden Schritt 198 wird zur Eingabedatei zurückgekehrt und eine gegebenenfalls bereits in die Eingabefolge eingefügte "7" wieder entfernt, da sie ja offensichtlich nur als Bestätigung eingegeben wurde, Schritt 200. Danach wird in einem Schritt 202 die aktuelle Eingabeposition an das Ende des bereits eingefügten Vorschlags gesetzt. Eine Bedienperson kann nun entweder mit der Eingabe des aktuell einzugebenden Substantivs fortfahren oder die Eingabe dieses Substantivs mit einem Trenndatenwort beenden.In the following step 198, a return is made to the input file and any "7" that may have already been inserted into the input sequence is removed, since it was obviously only entered as confirmation, step 200. Then in a step 202 the current input position is added to the end of the one already inserted Proposal. An operator can now either continue entering the noun to be currently entered or end the input of this noun with a separating data word.
Wird dagegen im Schritt 194 festgestellt, daß keine "7" eingegeben worden ist, so ist davon auszugehen, daß entweder kein Vorschlag erfolgte oder das ein bereits eingefügter Vorschlag nicht bestätigt worden ist. In beiden Fällen folgt unmittelbar nach dem Schritt 194 ein Schritt 204, in welchem geprüft wird, ob das aktuell eingegebene Substantiv bereits mehr als zwei Buchstaben hat. Diese Abfrage ermöglicht es, Vorschläge nach dem zweiten Buchstaben zu unterdrücken, so daß maximal zwei Vorschläge je eingegebenem Substantiv gemacht werden. Das Unterdrücken erfolgt dadurch, daß die momentane Bearbeitungsposition in der Hilfsdatei 100 an deren Ende gesetzt wird, und somit beim an der momentanen Bearbeitungsposition beginnenden Durchsuchen des Kurzzeitspeichers 48 kein Wort gefunden werden kann, Schritt 206.If, on the other hand, it is determined in step 194 that no "7" has been entered, it can be assumed that either no proposal has been made or that an already inserted proposal has not been confirmed. In both cases, a step 204 follows immediately after step 194, in which it is checked whether the currently entered noun already has more than two letters Has. This query makes it possible to suppress suggestions after the second letter, so that a maximum of two suggestions are made for each noun entered. The suppression takes place in that the current processing position in the auxiliary file 100 is set at the end thereof, and thus no word can be found when searching the short-term memory 48 starting at the current processing position, step 206.
Wird im Schritt 204 dagegen festgestellt, daß das aktuell eingegebene Substantiv noch nicht mehr als zwei Buchstaben enthält, so wird die Bearbeitungposition in der Hilfsdatei 100 im Schritt 208 an die Stelle gesetzt, an der sich momentan die Textmarke TM befindet. Die Textmarke TM steht bei der ersten Suche innerhalb eines Wortes am Anfang des Kurzzeitspeichers 48, wo sie nach der Eingabe des letzten Substantivs hin versetzt worden ist, vgl. Schritt 168. Die Textmarke TM steht an einer anderen Stelle, falls sie während der Eingabe des aktuell eingegebenen Substantivs bereits versetzt worden ist, vergleiche den unten erläuterten Schritt 216.If, on the other hand, it is determined in step 204 that the noun currently entered does not yet contain more than two letters, the processing position in the auxiliary file 100 is set in step 208 to the position at which the bookmark TM is currently located. During the first search within a word, the bookmark TM is located at the beginning of the short-term memory 48, where it has been moved to after the last noun has been entered, cf. Step 168. The bookmark TM is located at a different location, if it has already been moved during the input of the currently entered noun, compare step 216 explained below.
In einem anderen Ausführungsbeispiel wird die Anzahl der Vorschläge je eingegebenem Substantiv nicht beschränkt. In diesem Fall entfallen die Schritte 204 bis 208 und nach dem Schritt 194 folgt unmittelbar der Schritt 210, falls aktuell keine "7" eingegeben worden ist.In another embodiment, the number of suggestions per noun entered is not limited. In this case, steps 204 to 208 are omitted and step 210 immediately follows step 210 if no "7" has currently been entered.
Nach dem Schritt 206 folgt, wie auch nach dem Schritt 208, ein Schritt 210, in welchem der bisher in der Variable w$ gespeicherte Substantivteil um den aktuell eingegebenen Buchstaben ergänzt wird, der in der Variable b$ gespeichert ist. Anschließend wird in Schritt 212 der Kurzzeitspeicher 48 ab der aktuellen Position der Textmarke TM nach einem gespeicherten Wort durchsucht, das die in der Variable w$ gespeicherte Buchstabenfolge enthält. Wie bereits erwähnt, beginnt die Suche ab der aktuellen Position der Textmarke TM, falls Schritt 208 unmittelbar vor Schritt 210 ausgeführt worden ist. Andernfalls wird ein positives Suchergebnis dadurch unterdrückt, daß mit der Suche am Ende des Kurzzeitspeichers 48 begonnen wird.Step 206 is followed, like step 208, by step 210, in which the noun part previously stored in the variable w $ is supplemented by the currently entered letter, which is stored in the variable b $. Subsequently, in step 212, the short-term memory 48 is searched from the current position of the bookmark TM for a stored word which contains the letter sequence stored in the variable w $. As already mentioned, the search starts from the current position of the bookmark TM if step 208 has been carried out immediately before step 210. Otherwise it will be a positive one Search result suppressed by starting the search at the end of the short-term memory 48.
Im Schritt 214 wird geprüft, ob die Suche erfolgreich war. Ist dies der Fall, d.h. wurde ein Wort im Kurzzeitspeicher 48 gefunden, so wird die Bearbeitung in Schritt 216 fortgesetzt. In Schritt 216 wird die Textmarke TM im Kurzzeitspeicher in Suchrichtung hinter das gefundene Wort versetzt, so daß dieses Wort bei einer nächsten Suche beim Eingeben weiterer Buchstaben des aktuell eingegebenen Substantivs nicht noch einmal gefunden werden kann. Durch diese Maßnahme wird vermieden, daß während der Eingabe eines Substantivs zweimal der gleiche Vorschlag gemacht wird. Nach dem Schritt 216 folgt der Schritt 218.In step 214 it is checked whether the search was successful. If so, i.e. If a word was found in the short-term memory 48, the processing is continued in step 216. In step 216, the bookmark TM is placed behind the found word in the short-term memory in the search direction, so that this word cannot be found again in the next search when further letters of the currently entered noun are entered. This measure prevents the same suggestion from being made twice while entering a noun. After step 216, step 218 follows.
Im Schritt 218 wird geprüft, ob das im Kurzzeitspeicher 48 gefundene Wort außer den in der Variable w$ enthaltenen Buchstaben noch weitere Buchstaben enthält. Ist dies nicht der Fall, d.h. das gefundene Wort ist mit der in der Variable w$ gespeicherten Buchstabenfolge identisch, so kann aktuell kein neuen Vorschlag gemacht werden, und die Bearbeitung wird in Schritt 220 fortgesetzt. In einem alternativen Ausführungsbeispiel wird jedoch anstelle des Schritts 220 und der auf diesen Schritt folgenden Schritte zum Schritt 212 zurückgekehrt, und der Kurzzeitspeicher erneut durchsucht, um eventuell doch noch ein anderes Wort zu finden, das neben den in der Variable w$ enthaltenen Buchstaben noch weitere Buchstaben enthält, vergleiche Pfeil 221.In step 218 it is checked whether the word found in the short-term memory 48 contains other letters in addition to the letters contained in the variable w $. If this is not the case, i.e. if the word found is identical to the sequence of letters stored in the variable w $, no new suggestion can currently be made, and the processing is continued in step 220. In an alternative exemplary embodiment, however, instead of step 220 and the steps following this step, step 212 is returned, and the short-term memory is searched again in order to eventually find another word which, in addition to the letters contained in the variable w $, contains further words Contains letters, see arrow 221.
Im Schritt 220 wird anhand der Variable r$ geprüft, ob beim letzten Abarbeiten der in den Figuren 3A und 3B gezeigten Verfahrensschritte ein alter Vorschlag in die Eingabefolge eingefügt worden ist. Ist dies der Fall, so müssen die Buchstaben in der Variable r$ entfernt werden, da der alte Vorschlag offensichtlich nicht angenommen worden ist. Das Löschen dieser Buchstaben erfolgt in Schritt 222. Anschließend wird in Schritt 224 zur Eingabedatei zurückgekehrt. Der nicht mehr gültige alte Vorschlag wird in einem Schritt 226 wieder aus der Eingabefolge entfernt. Danach wird die Bearbeitung des zuletzt eingegebenen Buchstabens im Schritt 192 beendet.In step 220, the variable r $ is used to check whether an old suggestion was inserted into the input sequence when the method steps shown in FIGS. 3A and 3B were last processed. If this is the case, the letters in the variable r $ must be removed, since the old proposal has obviously not been accepted. These letters are deleted in step 222. The input file is then returned in step 224. In step 226, the old proposal, which is no longer valid, is removed from the input sequence. After that The processing of the last letter entered is ended in step 192.
Wird dagegen in Schritt 220 festgestellt, daß beim letzten Abarbeiten der in den Figuren 3A und 3B gezeigten Verfahrensschritte kein alter Vorschlag gemacht wurde, so folgt unmittelbar nach Schritt 220 der Schritt 228, in welchem zur Eingabedatei zurückgekehrt wird. Danach wird die Bearbeitung des aktuell eingegebenen Buchstabens in Schritt 192 beendet.If, on the other hand, it is determined in step 220 that when the process steps shown in FIGS. 3A and 3B were last processed, no old suggestion was made, step 228 follows immediately after step 220, in which a return is made to the input file. The processing of the letter currently entered is then ended in step 192.
Wird bereits in Schritt 218 festgestellt, daß das im Kurzzeitspeicher 48 gefundene Wort, neben den in der Variable w$ enthaltenen Buchstaben noch weitere Buchstaben enthält, die dann als neuer Vorschlag verwendet werden, so folgt unmittelbar nach Schritt 218 der Schritt 230. In Schritt 230 wird anhand der Variable r$ geprüft, ob ein alter Vorschlag in der Eingabedatei enthalten ist, der offensichtlich nicht angenommen wurde, da ansonsten bereits in Schritt 194 zu den Schritten 196 bis 202 verzweigt worden wäre. Ist ein alter Vorschlag vorhanden, so wird die Buchstabenfolge des alten Vorschlags in der Variable r$ durch denjenigen Buchstaben bzw. diejenige Buchstabenfolge überschrieben, durch den bzw. durch die sich das im Kurzzeitspeicher 48 gefundene Wort vom Inhalt der Variable w$ unterscheidet, d.h. durch den neuen Vorschlag, vergleiche Schritt 232.If it is already determined in step 218 that the word found in the short-term memory 48 contains, in addition to the letters contained in the variable w $, further letters which are then used as a new suggestion, step 230 follows immediately after step 218. In step 230 the variable r $ is used to check whether an old suggestion is contained in the input file which was obviously not accepted, since otherwise steps 194 to 202 would have been branched to in step 194. If an old suggestion is present, the letter sequence of the old suggestion in the variable r $ is overwritten by the letter or the letter sequence by which the word found in the short-term memory 48 differs from the content of the variable w $, i.e. through the new proposal, compare step 232.
Im folgenden Schritt 234 wird zur Eingabedatei zurückgekehrt und der alte Vorschlag mit dem in der Variable r$ gespeicherten neuen Vorschlag überschrieben, Schritt 236. Danach wird die Bearbeitung des aktuell eingegebenen Buchstabens in Schritt 192 beendet.In the following step 234, the input file is returned and the old proposal is overwritten with the new proposal stored in the variable r $, step 236. The processing of the letter currently entered is then ended in step 192.
Wird dagegen in Schritt 230 festgestellt, daß kein alter Vorschlag in der Eingabedatei enthalten ist, so folgt unmittelbar nach dem Schritt 230 der Schritt 238, in welchem der neue Vorschlag in der Variable r$ gespeichert wird. Anschließend wird in Schritt 240 die Eingabedatei aktiviert und an der aktuellen Eingabeposition der neue Vorschlag eingefügt, Schritt 242. Nach dem Schritt 242 folgt unmittelbar der Schritt 192, in dem, wie bereits erwähnt, die Bearbeitung des aktuell eingegebenen Buchstabens beendet wird.If, on the other hand, it is determined in step 230 that no old proposal is contained in the input file, step 238 follows immediately after step 230, in which the new proposal is stored in the variable r $. The input file is then activated in step 240 and the new proposal is inserted at the current input position, step 242. After Step 242 is immediately followed by step 192, in which, as already mentioned, the processing of the letter currently entered is ended.
Wird jedoch im Schritt 214 bereits festgestellt, daß im Kurzzeitspeicher 48 kein Wort gefunden worden ist, das den bereits eingegebenen Teil des aktuell eingegebenen Substantivs enthält oder mit diesem Teil identisch ist, so folgt unmittelbar nach dem Schritt 214 ein Schritt 220', der dem Schritt 220 entspricht, jedoch aus Gründen der Übersicht nochmals dargestellt wurde. Ebenso entsprechen nach dem Schritt 220' folgende Schritte 222', 224', 226' und 228' in dieser Reihenfolge den bereits oben erläuterten Schritten 222, 224, 226 und 228. Nach dem Abarbeiten der Verfahrensschritte 222', 224' und 226' oder des Verfahrens- schritts 228' folgt unmittelbar der Schritt 192, in welchem die Bearbeitung des aktuell eingegebenen Buchstabens beendet wird.However, if it is already determined in step 214 that no word has been found in the short-term memory 48 that contains the part of the noun that has already been entered or is identical to this part, a step 220 ′ follows the step 214 immediately after step 214 220 corresponds, but was shown again for reasons of clarity. Steps 222 ', 224', 226 'and 228' following step 220 'also correspond in this order to steps 222, 224, 226 and 228 already explained above. After processing steps 222', 224 'and 226' or Step 228 'is immediately followed by step 192, in which the processing of the letter currently entered is ended.
Beim Beenden werden im Schritt 192 die aktuellen Werte der Variablen w$, r$ und IMWORT in der Hilfsdatei 100 gespeichert, so daß auf sie bei der Bearbeitung des nächsten eingegebenen Buchstabens oder Zeichens zurückgegriffen werden kann.At the end of step 192, the current values of the variables w $, r $ and IMWORT are stored in the auxiliary file 100 so that they can be used when processing the next letter or character entered.
Das in den Figuren 3A und 3B gezeigte Verfahren wird bei der Eingabe der Eingabefolge für jeden eingegebenen Buchstaben und für ausgewählte oder alle eingegebenen Zeichen durchgeführt. Die Bearbeitung der eingegebenen Buchstaben und Zeichen erfolgt sofort nach der Eingabe, ähnlich einer sogenannten Echtzeitbearbeitung. Nur so lassen sich Vorschläge ohne Verzögerung in die Eingabefolge einfügen bzw. wieder entfernen, falls sie nicht bestätigt werden sollten.The method shown in FIGS. 3A and 3B is carried out when the input sequence is input for each input letter and for selected or all input characters. The entered letters and characters are processed immediately after entry, similar to what is known as real-time processing. This is the only way to insert or remove suggestions in the input sequence without delay if they are not confirmed.
Das Verfahren zum automatischen Erzeugen von Vorschlägen bei der Eingabe einer Eingabefolge läßt sich auch ohne Makros durchführen. Dabei sind die anhand der Figuren 3A und 3B erläuterten Verfahrensschritte in der Befehlsfolge des Textverarbeitungsprogramms 46 enthalten. Anstelle der Hilfsdatei 100 wird in diesem Fall ein Speicherbereich im Rechner 40 gemäß Figur 1 verwendet. Auch das Umschalten zwischen Hilfsdatei 100 und Eingabedatei entfällt dann, da die Aufgabe der Hilfsdatei 100 durch den Speicherbereich übernommen wird. In einem anderen Ausführungsbeispiel ist die Hilfsdatei 100 kein sogenanntes Dokument, das wie die Eingabedatei bearbeitet werden kann, sondern eine Speicherdatei im Speicher 44 des Rechners 40 bzw. auf dessen Festplattenspeicher.The procedure for automatically generating suggestions when entering an input sequence can also be carried out without macros. The method steps explained with reference to FIGS. 3A and 3B are contained in the instruction sequence of the word processing program 46. Instead of the auxiliary file 100 is in this If a memory area is used in the computer 40 according to FIG. 1. Switching between auxiliary file 100 and input file is then also omitted, since the task of auxiliary file 100 is carried out by the memory area. In another exemplary embodiment, the auxiliary file 100 is not a so-called document that can be edited like the input file, but a storage file in the memory 44 of the computer 40 or on its hard disk memory.
In einem weiteren Ausführungsbeispiel werden auch bei der Eingabe eines Substantivs erfolgte Korrekturen berücksichtigt. Dadurch ergibt sich die Möglichkeit nach dem Bestätigen eines Vorschlags Veränderungen in den Kurzzeitspeicher 48 zu übernehmen, z.B. wenn die Endung des vorgeschlagenen Substantivs verändert wird.In a further exemplary embodiment, corrections made are also taken into account when entering a noun. This results in the possibility of accepting changes in the short-term memory 48 after confirming a proposal, e.g. if the ending of the proposed noun is changed.
Bei einer Erprobung des erfindungsgemäßen Verfahrens wurde ein Kurzzeitspeicher mit fünfzig Worten verwendet. Durch die richtig vorgeschlagenen Substantivergänzungen beschleunigte sich die Eingabe des Textes erheblich, da vor allem bei den langen Worten eine Vielzahl von Tastenanschlägen entfielen. Ein durch den Rechner 40 erzeugter angenehmer Signalton bei jedem Vorschlag erlaubte es der Bedienperson, die Vorzüge des erfindungsgemäßen Verfahrens zu nutzen, ohne die Anzeigeeinheit 60 ständig beobachten zu müssen. Auch bei über 250 Tastenanschlägen pro Minute und einem Prozessor 42 mit 66 Mhz Taktrate traten kaum Verzögerungen durch die oben erläuterten Verfahrensschritte auf.When the method according to the invention was tested, a short-term memory with fifty words was used. The correctly proposed noun additions accelerated the input of the text considerably, since a large number of keystrokes was omitted, especially for the long words. A pleasant signal tone generated by the computer 40 for each suggestion allowed the operator to use the advantages of the method according to the invention without having to constantly monitor the display unit 60. Even with over 250 keystrokes per minute and a processor 42 with a clock rate of 66 MHz, there were hardly any delays due to the method steps explained above.
Anstelle die Worte im Kurzzeitspeicher 48 über eine verkettete Liste zu verwalten, wird in einem anderen Ausführungsbeispiel eine Tabelle zur Verwaltung verwendet. Wie auch bei der verketteten Liste behalten die Worte beim Verändern ihrer Position innerhalb der Folge ihrer Speicherzellen im Speicher 44 bzw. 48 bei, so daß Kopiervorgänge entfallen. Die Tabelle enthält die Adreß- werte der Speicherzellen, in denen die Worte gespeichert sind, sowie diesen Adreßwerten zugeordnete Position der Worte innerhalb der Folge. Mit Hilfe der Tabelle werden vorzugsweise sowohl bestimmte Adressen zu Positionen in der Folge zugeordnet als auch umgekehrt zu bestimmten Positionen in der Folge Adressen im Speicher bestimmt.Instead of managing the words in the short-term memory 48 via a linked list, in another exemplary embodiment a table is used for administration. As with the linked list, the words retain their position within the sequence of their memory cells in memory 44 and 48, respectively, so that copying operations are eliminated. The table contains the address values of the memory cells in which the words are stored as well as the position of the words within the sequence assigned to these address values. Using the table are preferably both assigned certain addresses to positions in the sequence as well as vice versa to determined positions in the sequence addresses in the memory.
Der Zugriff auf den Speicher 44 kann bei Verwenden der Tabelle durch eine sogenannte Spiegeltabelle noch vereinfacht werden. Während in der Tabelle zu aufeinanderfolgenden Speicheradressen die in der Regel nicht aufeinanderfolgenden Positionen innerhalb der Folge gespeichert sind, werden in der Spiegeltabelle zu aufeinanderfolgenden Positionen innerhalb der Folge die in der Regel ebenfalls nicht aufeinanderfolgenden Speicheradressen gespeichert. Access to the memory 44 can be simplified by using a table called a mirror table. While the table for consecutive memory addresses stores the positions that are generally not consecutive within the sequence, the mirror addresses for consecutive positions within the sequence store the memory addresses that are generally also not consecutive.

Claims

Patentansprüche claims
1. Verfahren zum Betreiben einer Datenverarbeitungsanlage (40),1. Method for operating a data processing system (40),
bei dem eine Dateneingabeeinheit (10) eine Eingabefolge aus Datenworten mit einer vorgegebenen Zahl Bitstellen erzeugt,in which a data input unit (10) generates an input sequence from data words with a predetermined number of bit positions,
auf einer Anzeigeeinheit (60) abhängig vom Wert der Datenworte verschiedene Zeichen dargestellt werden,Different characters are displayed on a display unit (60) depending on the value of the data words,
mindestens ein vorgegebener Wert Trenndatenworte kennzeichnet, welche die Eingabefolge in Eingabeabschnitte unterteilt,characterizes at least one predetermined value separating data words, which divides the input sequence into input sections,
in einem Speicher (44, 48) mehrere Eingabeabschnitte gespeichert sind,a plurality of input sections are stored in a memory (44, 48),
mindestens einmal während des Erzeugens der Eingabefolge abhängig von mindestens einem seit dem letzten Trenndatenwort erzeugten neuen Datenwort aus dem Speicher (44, 48) ein zu dem neuen Datenwort gehörender Eingabeabschnitt gesucht wird, der das neue Datenwort enthält oder dem neuen Datenwort zugeordnet ist (Schritt 212),at least once during the generation of the input sequence depending on at least one new data word generated since the last separating data word from the memory (44, 48), an input section belonging to the new data word is searched for which contains the new data word or is assigned to the new data word (step 212 ),
und bei dem ein gefundener Eingabeabschnitt oder ein Teil desselben aus dem Speicher (44, 48) gelesen und am Ende der Eingabefolge angehängt wird (Schritte 236, 242),and in which a found input section or a part thereof is read from the memory (44, 48) and appended to the end of the input sequence (steps 236, 242),
dadurch gekennzeichnet, daß zu dem neuen Datenwort mehrere Eingabeabschnitte im Speicher (44, 48) gehören,characterized in that several input sections in the memory (44, 48) belong to the new data word,
und daß von den zu dem neuen Datenwort gehörenden Eingabeabschnitten der Eingabeabschnitt ausgewählt wird, auf den zuletzt zugegriffen worden ist.and that of the input sections belonging to the new data word, the input section which was last accessed is selected.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß im2. The method according to claim 1, characterized in that in
Speicher (44, 48) nur dann gesucht wird, wenn unmittelbar nach dem letzten erzeugten Trenndatenwort ein Datenwort mit einem Wert eingegeben wird, der zu einem vorgegebenen Wertevorrat gehört, der nur einen Teil der Werte der Datenworte umfaßt (Schritt 156) .Memory (44, 48) is only searched if immediately after the last generated separating data word, a data word is entered with a value that belongs to a predefined set of values that only comprises part of the values of the data words (step 156).
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der3. The method according to claim 2, characterized in that the
Wertevorrat Werte enthält, denen Großbuchstaben vorzugsweise nach dem ASCII-Code zugeordnet sind (Schritt 156) .Set of values contains values to which capital letters are preferably assigned according to the ASCII code (step 156).
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß im Speicher (44, 48) nur dann gesucht wird, wenn die Anzahl der nach dem letzten Trenndatenwort erzeugten Datenworte eine vorgegebene Anzahl nicht überschreitet, die vorzugsweise zwei, drei oder vier Datenworte beträgt (Schritt 204) .4. The method according to any one of the preceding claims, characterized in that the memory (44, 48) is only searched for when the number of data words generated after the last separating data word does not exceed a predetermined number, which is preferably two, three or four data words (Step 204).
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß nach dem Anhängen des Eingabeabschnitts5. The method according to any one of the preceding claims, characterized in that after appending the input section
(Schritte 236, 242) geprüft wird, ob das nächste erzeugte Datenwort einen vorgegebenen Wert hat, der eine Bestätigung des Anhängens angibt (Schritt 194),(Steps 236, 242) it is checked whether the next data word generated has a predetermined value which indicates an acknowledgment of the appending (step 194),
und daß bei einem vom vorgegebenen Wert abweichenden Wert der angehängte Eingabeabschnitt entfernt wird (Schritte 226, 236, 226') .and that if the value deviates from the predetermined value, the appended input section is removed (steps 226, 236, 226 ').
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Eingabeeinheiten Datenworte enthalten, deren Wert eine Darstellung von Buchstabenzeichen auf der Anzeigeeinheit (60) zur Folge hat.6. The method according to any one of the preceding claims, characterized in that the input units contain data words, the value of which results in a representation of letter characters on the display unit (60).
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß nach der Eingabe eines Eingabeabschnitts geprüft wird, ob dieser Eingabeabschnitt bereits im Speicher (44, 48) gespeichert ist (Schritt 172), und daß der Eingabeabschnitt in den Speicher (44, 48) geschrieben wird, falls der Eingabeabschnitt noch nicht gespeichert ist (Schritt 174) .7. The method according to any one of the preceding claims, characterized in that after the input of an input section is checked whether this input section is already stored in the memory (44, 48) (step 172), and that the input section is written into the memory (44, 48) if the input section is not yet stored (step 174).
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß beim Erreichen einer vorgegebenen Anzahl von im Speicher gespeicherten Eingabeabschnitten, ein Eingabeabschnitt gelöscht wird, vorzugsweise ein Eingabeabschnitt, auf den am längsten nicht zugegriffen worden ist (Schritt 178) .8. The method according to any one of the preceding claims, characterized in that when a predetermined number of input sections stored in the memory is reached, an input section is deleted, preferably an input section which has not been accessed for the longest time (step 178).
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß es beim Erzeugen einer Eingabefolge mit sich wiederholenden Eingabeabschnitten in einem Textverarbeitungsprogramm (46) verwendet wird.9. The method according to any one of the preceding claims, characterized in that it is used when generating an input sequence with repetitive input sections in a word processing program (46).
10. Vefahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die zugehörigen Eingabeabschnitte oder alle Eingabeabschnitte im Speicher (44, 48) eine Eingabeabschnittsfolge bilden,10. The method as claimed in one of the preceding claims, characterized in that the associated input sections or all input sections in the memory (44, 48) form an input section sequence,
daß die Position eines Eingabeabschnitts in der Eingabeabschnittsfolge durch den letzten Zugriff auf den jeweiligen Eingabeabschnitt festgelegt wird,that the position of an input section in the input section sequence is determined by the last access to the respective input section,
wobei die Reihenfolge der Eingabeabschnitte in der Eingabeab- schnittsfolge mit der Reihenfolge des letzten Zugriffs auf die jeweiligen Eingabeabschnitte übereinstimmt,the order of the input sections in the input section sequence corresponds to the order of the last access to the respective input sections,
und daß vor dem Auslesen eines Eingabeabschnitts die Eingabeabschnittsfolge in einer Suchrichtung durchsucht wird, bei der beginnend mit einem festgelegten Eingabeabschnitt zum Ende der Eingabeabschnittsfolge hin die Eingabeabschnitte nach Eingabeabschnitten durchsucht werden, die die neuen Datenworte enthalten (Schritt 212) . and that prior to reading an input section, the input section sequence is searched in a search direction in which, starting with a defined input section towards the end of the input section sequence, the input sections are searched for input sections which contain the new data words (step 212).
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Suche beim ersten Sucherfolg abgebrochen wird und der gefundene Eingabeabschnitt der ausgewählte Eingabeabschnitt ist11. The method according to claim 10, characterized in that the search is terminated at the first search success and the input section found is the selected input section
(Schritt 214) .(Step 214).
12. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß bei einem Sucherfolg der gefundene Eingabeabschnitt die Position am Anfang der Eingabeabschnittsfolge erhält (Schritt 184, 185) .12. The method according to claim 10 or 11, characterized in that in the event of a search success, the input section found receives the position at the beginning of the input section sequence (step 184, 185).
13. Verfahren nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß ein im Speicher (44, 48) neu zu speichernder Eingabeabschnitt am Anfang der Eingabeabschnittsfolge gespeichert wird (Schritte 168, 174) .13. The method according to any one of claims 10 to 12, characterized in that an input section to be stored again in the memory (44, 48) is stored at the beginning of the input section sequence (steps 168, 174).
14. Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß ein aus dem Speicher (44, 48) zu entfernender Eingabeabschnitt vom Ende der Eingabeabschnittsfolge entfernt wird (Schritte 176, 178) .14. The method according to any one of claims 10 to 13, characterized in that an input section to be removed from the memory (44, 48) is removed from the end of the input section sequence (steps 176, 178).
15. Verfahren nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, daß die Eingabeabschnitte beim Verändern ihrer Position innerhalb der Eingabeabschnittsfolge in ihren Speicherzellen des Speichers (44, 48) verbleiben,15. The method according to any one of claims 10 to 14, characterized in that the input sections remain in their memory cells of the memory (44, 48) when changing their position within the input section sequence,
und daß die Veränderung der Position in einer Positionsver- waltungsliste, vorzugsweise in einer Tabelle, vermerkt wird, welche Adressen von Speicherzellen des Speichers (44, 48) zu Positionen in der Eingabeabschnittsfolge zuordnet.and that the change in position is noted in a position management list, preferably in a table, which addresses memory cell addresses of the memory (44, 48) assigns to positions in the input section sequence.
16. Datenverarbeitungsanlage (40), insbesondere zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche,16. Data processing system (40), in particular for carrying out the method according to one of the preceding claims,
mit einer Dateneingabeeinheit (10) zum Erzeugen einer Eingabefolge aus Datenworten mit einer vorgegebenen Zahl Bitstellen, einer Anzeigeeinheit (60) zum Darstellen von Zeichen abhängig vom Wert der erzeugten Datenworte, wobei mindestens ein Wert Trenndatenworte kennzeichnet, welche die Eingabefolge in Eingabeabschnitte unterteilt,with a data input unit (10) for generating an input sequence from data words with a predetermined number of bit positions, a display unit (60) for displaying characters as a function of the value of the data words generated, at least one value identifying separating data words which divides the input sequence into input sections,
einem Speicher (44, 48) zum Speichern mehrerer Eingabeabschnitte aus Datenworten,a memory (44, 48) for storing a plurality of input sections from data words,
und mit einer Steuereinheit (42), die mindestens einmal während des Erzeugens der Eingabefolge abhängig von mindestens einem seit dem letzten Trenndatenwort erzeugten neuen Datenwort aus dem Speicher (44, 48) einen zu de neuen Datenwort gehörenden Eingabeabschnitt oder einen Teil desselben liest und automatisch am Ende der Eingabefolge anhängt (Schritte 236, 242),and with a control unit (42) which reads an input section or part thereof belonging to the new data word at least once during the generation of the input sequence depending on at least one new data word generated since the last separating data word, and automatically on End of the input sequence (steps 236, 242),
dadurch gekennzeichnet, daß die Steuereinheit (42) bei mehreren zu dem neuen Datenwort gehörenden Eingabeabschnitten den Eingabeabschnitt oder auswählt, auf den zuletzt zugegriffen worden ist.characterized in that the control unit (42) selects, in the case of a plurality of input sections belonging to the new data word, the input section or which was accessed last.
17. Verfahren zum Zugriff auf eine Speichereinheit (44, 48),17. Method for accessing a storage unit (44, 48),
bei dem in einem Schreibmodus Speicherworte mit einer gleichen Anzahl oder einer voneinander unterschiedlichen Anzahl von Datenworten aus einer vorgegebenen Zahl von Bitstellen eingespeichert werden (Schritte 176,185),in which memory words with the same number or a different number of data words from a predetermined number of bit positions are stored in a write mode (steps 176, 185),
und bei dem in einem Lesemodus (Schritte 212) zu einem aus mindestens einem Datenwort bestehenden Eingabewort ein zugehöriges Speicherwort ausgegeben wird, das das Eingabewort enthält oder diesem zugeordnet ist, dadurch gekennzeichnet, daß bei mehreren zugehörigen Speicherworten, abhängig von der zeitlichen Reihenfolge des Zugriffs auf die Speicherworte eine Auswahl getroffen wird.and in a read mode (steps 212) an associated memory word is output to an input word consisting of at least one data word, which memory word contains or is assigned to the input word, characterized in that, in the case of a plurality of associated memory words, a selection is made depending on the chronological order of access to the memory words.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß das zugehörige Speicherwort ausgegeben wird, auf das zuletzt zugegriffen worden ist,18. The method according to claim 17, characterized in that the associated memory word is output, which was last accessed,
oder, daß das zugehörige Speicherwort ausgegeben wird, auf das am längsten nicht zugegriffen worden ist.or that the associated memory word is output which has not been accessed for the longest time.
19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, daß die zugehörigen Speicherworte oder alle Speicherworte im Speicher (44, 48) eine Speicherwortfolge bilden,19. The method according to claim 17 or 18, characterized in that the associated memory words or all memory words in the memory (44, 48) form a memory word sequence,
daß die Position eines Speicherworts in der Speicherwortfolge durch den letzten Zugriff auf das jeweilige Speicherwort festgelegt wird,that the position of a memory word in the memory word sequence is determined by the last access to the respective memory word,
wobei die Reihenfolge der Eingabeabschnitte in der Eingabeabschnittsfolge mit der Reihenfolge des letzten Zugriffs auf die jeweiligen Eingabeabschnitte übereinstimmt,the order of the input sections in the input section sequence corresponds to the order of the last access to the respective input sections,
und daß vor dem Auslesen eines Speicherwortes die Speicherwortfolge in einer Suchrichtung durchsucht wird, bei der beginnend mit einem festgelegten Speicherwort zum Ende der Speicherwortfolge hin die Speicherworte nach Speicherworten durchsucht werden, die das Eingabewort enthalten (Schritt 212) .and that before the readout of a memory word, the memory word sequence is searched in a search direction in which, starting with a fixed memory word towards the end of the memory word sequence, the memory words are searched for memory words which contain the input word (step 212).
20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß die20. The method according to claim 19, characterized in that the
Suche beim ersten Sucherfolg abgebrochen wird und das gefundene Speicherwort das ausgewählte Speicherwort ist (Schritt 214) . Search is terminated at the first search success and the memory word found is the selected memory word (step 214).
21. Verfahren nach Anspruch 19 oder 20, dadurch gekennzeichnet, daß bei einem Sucherfolg das gefundene Speicherwort die Position am Anfang der Speicherwortfolge erhält (Schritte 184, 185) .21. The method according to claim 19 or 20, characterized in that in the event of a search success, the memory word found receives the position at the beginning of the memory word sequence (steps 184, 185).
22. Verfahren nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, daß ein im Speicher neu zu speicherndes Speicherwort am Anfang der Speicherwortfolge gespeichert wird22. The method according to any one of claims 19 to 21, characterized in that a memory word to be newly stored in the memory is stored at the beginning of the memory word sequence
(Schritte 168, 174) .(Steps 168, 174).
23. Verfahren nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet, daß ein aus dem Speicher zu entfernendes Speicherwort vom Ende der Speicherwortfolge entfernt wird (Schritte 176, 178) .23. The method according to any one of claims 19 to 22, characterized in that a memory word to be removed from the memory is removed from the end of the memory word sequence (steps 176, 178).
24. Verfahren nach einem der Ansprüche 19 bis 23, dadurch gekennzeichnet, daß die Speicherworte beim Verändern ihrer Position innerhalb der Speicherwortfolge in ihren Speicherzellen verbleiben,24. The method according to any one of claims 19 to 23, characterized in that the memory words remain in their memory cells when changing their position within the memory word sequence,
und daß die Veränderung der Position in einer Positionsver- waltungsliste, vorzugsweise in einer Tabelle, vermerkt wird, welche Adressen von Speicherzellen des Speichers zu Positionen in der Speicherwortfolge zuordnet.and that the change in position in a position management list, preferably in a table, is noted which addresses of memory cells in the memory assign to positions in the memory word sequence.
25. Speichereinheit (44, 48) zum Speichern von Datenworten und insbesondere zum Durchführen des Verfahrens nach einem der Ansprüche 17 bis 24,25. Storage unit (44, 48) for storing data words and in particular for performing the method according to one of claims 17 to 24,
mit Speicherzellen zum Speichern von aus mindestens einem Datenwort mit einer vorgegebenen Anzahl von Bitstellen bestehenden Speicherworten,with memory cells for storing memory words consisting of at least one data word with a predetermined number of bit positions,
mit einer Eingabeeinheit zum Eingeben eines Eingabewortes aus mindestens einem Datenwort, und mit einer Ausgabeeinheit zum Ausgeben eines zum Eingabewort zugehörigen Speicherwortes, das das Eingabewort enthält oder dem Eingabewort zugeordnet ist,with an input unit for inputting an input word from at least one data word, and with an output unit for outputting a memory word associated with the input word which contains the input word or is assigned to the input word,
dadurch gekennzeichnet, daß bei mehreren zugehörigen Speicherworten abhängig von der zeitlichen Reihenfolge des Lesens und/oder Schreibens der Speicherzellen eines dieser Speicherworte ausgewählt wird.characterized in that, in the case of a plurality of associated memory words, one of these memory words is selected depending on the chronological order of reading and / or writing the memory cells.
26. Speichereinheit (44, 48) nach Anspruch 25, gekennzeichnet durch eine Steuereinheit zum Auswählen des Speicherwortes abhängig von der zeitlichen Reihenfolge des Zugriffs auf die zugehörigen Speicherworte.26. Storage unit (44, 48) according to claim 25, characterized by a control unit for selecting the storage word depending on the chronological order of access to the associated storage words.
27. Speichereinheit nach Anspruch 25 oder 26, dadurch gekennzeichnet, daß die Speicherzellen in einem assoziativen Speicher enthalten sind. 27. Memory unit according to claim 25 or 26, characterized in that the memory cells are contained in an associative memory.
PCT/DE1998/001754 1997-06-23 1998-06-23 Method and data processing device for inputting an input sequence and method for accessing a storage unit and a corresponding storage unit WO1998059302A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU85334/98A AU8533498A (en) 1997-06-23 1998-06-23 Method and data processing device for inputting an input sequence and method foraccessing a storage unit and corresponding storage unit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19726569A DE19726569C1 (en) 1997-06-23 1997-06-23 Data processing system for entry of input sequence of data words with defined number of bit locations
DE19726569.3 1997-06-23

Publications (1)

Publication Number Publication Date
WO1998059302A1 true WO1998059302A1 (en) 1998-12-30

Family

ID=7833355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1998/001754 WO1998059302A1 (en) 1997-06-23 1998-06-23 Method and data processing device for inputting an input sequence and method for accessing a storage unit and a corresponding storage unit

Country Status (3)

Country Link
AU (1) AU8533498A (en)
DE (1) DE19726569C1 (en)
WO (1) WO1998059302A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4744050A (en) * 1984-06-26 1988-05-10 Hitachi, Ltd. Method for automatically registering frequently used phrases
DE4124024A1 (en) * 1990-07-19 1992-03-12 Reime Reinhold Processing of keyboard input of computer, typewriter or similar - by associating capitals in entered words with comparison list to simplify input esp. of text
GB2289561A (en) * 1994-05-16 1995-11-22 Mitsuhiro Aida Text input system
WO1997046951A1 (en) * 1996-06-04 1997-12-11 Lennerstad Idé Device for word processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4744050A (en) * 1984-06-26 1988-05-10 Hitachi, Ltd. Method for automatically registering frequently used phrases
DE4124024A1 (en) * 1990-07-19 1992-03-12 Reime Reinhold Processing of keyboard input of computer, typewriter or similar - by associating capitals in entered words with comparison list to simplify input esp. of text
GB2289561A (en) * 1994-05-16 1995-11-22 Mitsuhiro Aida Text input system
WO1997046951A1 (en) * 1996-06-04 1997-12-11 Lennerstad Idé Device for word processing

Also Published As

Publication number Publication date
AU8533498A (en) 1999-01-04
DE19726569C1 (en) 1998-11-19

Similar Documents

Publication Publication Date Title
DE68928231T2 (en) Method and device for machine translation
DE69031319T2 (en) Multi-language translation system
DE2756352C3 (en) Circuit arrangement for selecting and sorting data in sets of the same structure
DE69031491T2 (en) Hypertext data processing system and method
DE69726339T2 (en) Method and apparatus for language translation
DE2854837A1 (en) TRANSLATION DEVICE
DE19922974A1 (en) Method and device for processing a document
DE3115349A1 (en) Electronic translation device
DE68922870T2 (en) Word processor for European languages with spelling correction function.
DE4225200A1 (en) ELECTRONIC WOUNDER BOOK
DE2801610A1 (en) PROCEDURE FOR DEFINING INITIAL VALUES FOR TEXT PROCESSING
DE19645128C2 (en) Procedure for managing documents and device drivers for performing the procedure
DE69909360T2 (en) Process and system for retrieving documents via an electronic file
EP1079307B1 (en) Method for operating a memory system as well as memory system
DE19849855C1 (en) Method for using a computer system to generate a text expression automatically while retaining meaning determines a statistical model on a number of preset pairs of word meanings and associated expressions.
EP1412875B1 (en) Method for processing text in a computer and computer
DE19726569C1 (en) Data processing system for entry of input sequence of data words with defined number of bit locations
DE19624988A1 (en) Method for the automatic recognition of a spoken text
DE29711267U1 (en) Data processing system for entering an input sequence and associated storage unit
DE3511920A1 (en) ELECTRONIC GUIDE
DE3714514A1 (en) Device and method for word processing
WO2014139649A1 (en) Device associated with a vehicle and having a spelling system with a delete button and/or list selection button
DE4311211C2 (en) Computer system and method for automated text analysis
EP1429254B1 (en) Interrupt handling in a CAN node
DE19804603A1 (en) Method for determining words in a speech signal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1999503591

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA