Clean up how transformations work.
authorBen Pfaff <blp@cs.stanford.edu>
Fri, 10 Dec 2021 06:23:59 +0000 (22:23 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 11 Dec 2021 06:24:06 +0000 (22:24 -0800)
commit60c545e6e958d868db3399a8989d37d8f9e0c131
tree84611e3b016fd5731197d2808345a7cc16b0eb87
parent339f1956cc727eda788638644ef93ab7852b31cd
Clean up how transformations work.

Transformations had a messy system that included "finalizers" that needed
to be called before a chain could be executed and the need to keep track
of relative offsets for control flow.  This commit reworks and simplifies
the whole thing.

Also adds some INPUT PROGRAM, LOOP, and DO IF tests.
36 files changed:
doc/data-io.texi
src/data/dataset.c
src/data/dataset.h
src/data/transformations.c
src/data/transformations.h
src/language/command.c
src/language/command.def
src/language/command.h
src/language/control/automake.mk
src/language/control/control-stack.c [deleted file]
src/language/control/control-stack.h [deleted file]
src/language/control/do-if.c
src/language/control/loop.c
src/language/control/temporary.c
src/language/data-io/data-list.c
src/language/data-io/inpt-pgm.c
src/language/data-io/inpt-pgm.h
src/language/data-io/print-space.c
src/language/data-io/print.c
src/language/data-io/save.c
src/language/expressions/parse.c
src/language/expressions/public.h
src/language/stats/autorecode.c
src/language/stats/descriptives.c
src/language/stats/quick-cluster.c
src/language/stats/rank.c
src/language/stats/regression.c
src/language/xforms/compute.c
src/language/xforms/count.c
src/language/xforms/fail.c
src/language/xforms/recode.c
src/language/xforms/sample.c
src/language/xforms/select-if.c
tests/language/control/do-if.at
tests/language/control/loop.at
tests/language/data-io/inpt-pgm.at