toolset structure
Now that we have two tool functions (parser and unparser)
it's time to discuss the structure of the toolset (in which we also want to
have a 'simplifier' and a common subexpression finder).
(actually,
we have seen a third one: a second 'unparser' to generate dot output, but we will not discuss it here, because it produces non-textual output (to be precise, it generates textual output that doesn't have the same syntax as our (input) language))
- each tool-function (parser, unparser) will be a separate program
- these programs should be combinable as 'filters' in the Unix way:
by default they read from standard input and write to standard output
- the expression 'trees' will be communicated via structure files
(a structure file is a (textual) file representation of a kimwitu
term -- io-routines for it are generated automatically by kimwitu)
We want to be able to write a shell command line like:
$ echo '(1+1) * (1+1)' | parser | unparser
Or, in a picture, the toolset structure is the following
(TXT and CR are respectively textual and 'structure' input/output):
next overview up
Last updated at
03 February '98
by kimwitu@cs.utwente.nl