Lexical Tool IO Issues

The Lexical GUI Tool provides IO interface with screen and file. In other words, users are able to input a term from the screen or terms from a file and get the result from the screen or a file. The functionalities and design requirements are different between different IO and are described as in the following table.

.Screen Input File Input
Screen Output
  • One input term.
  • Multiple output records.
  • The results are updated and displayed to screen once the Run button in the mutate panel is pressed.
  • The results are updated and displayed to screen once the OK button in the OutputOptionDialog is pressed.
  • One/multiple input term(s).
  • Multiple output records.
  • The results are updated and displayed to screen once the Run button in the mutate panel is pressed.
  • The output options are applied only it is setup before the lexical mutate operation. In other words, output options need to be setup before running the lexical program.
File Output
  • One input term.
  • Multiple output records.
  • The results are updated and sent to a specified file once the Run button in the mutate panel is pressed. An acknowledge message will be displayed on the screen.
  • Append option can be chose to the specified file.
  • The output options are applied only it is setup before the lexical mutate operation. In other words, output options need to be setup before running the lexical program.
  • One/multiple input term(s).
  • Multiple output records.
  • The results are updated and sent to a specified file once the Run button in the mutate panel is pressed. An acknowledge message will be displayed on the screen.
  • Append option can be chose to the specified file.
  • The output options are applied only it is setup before the lexical mutate operation. In other words, output options needs to be setup before running the lexical program.

By definition, output filter option should work (applied) after the lexical mutation. However, as shown above, output filter options can be applied after the lexical mutation only if the input and output are from and to the screen. The reasons are:

  • The input line need to be stored and passed to output. The input line is the original input. It may include multiple fields with information of terms, categories, inflections, and so on. Thus, if the input is from a file, the input may be multiple lines (records). It will take extra steps and memory to carry over information of lines and correspondent relationship (to each output record) after mutation. Thus, it is much easier for the system to apply output filter function (requires the input line) right after the lexical mutation. Thus, output filter options should be set before mutation.
  • It does not make much sense to re-sent outputs when output filter options are changed if the output is in a file format.