This system automatically generates complement functions from forward transformation functions. It is known that if we obtain both forward transformation function and its complement functions, we get a backward transformation function.
The system requires the following programs at least.
Just type make
.
Then the program generate_cmpl
is generated at the directory.
The directory sample_inputs/
contains sample program files
of forward-transformation definition.
The current version differs from our PPL 2008 paper in the following points.
The paper says that the complement-derivation algorithm does nothing to the functions that are detected as injective. However, the current implementation returns the tuple of the original function and a constant function.
This would be fixed by early in March.
The paper says that duplications must be represented by
affine and treeless language with "where" clauses.
However, the current implementation can handle any
duplications that are not arguments of functions.
The current implementation can handle wider class of functions
than what we described in the paper.
The sample input, sample_inputs/test_bin.txt
, is an example of the above.
./generate_comple [-l SEARCH_LIMIT] FORWARD_TRANSFORMATION_DEFINITION_FILE