Refactor mkoptions (#1631)
authorMathias Preiner <mathias.preiner@gmail.com>
Wed, 21 Mar 2018 22:48:57 +0000 (15:48 -0700)
committerGitHub <noreply@github.com>
Wed, 21 Mar 2018 22:48:57 +0000 (15:48 -0700)
commitbdba2bf65eb2f68daa1a5e488c4e50f5dac1b312
tree3f97efe21f089d3abb5d9a2b53c0c7ee63ba06bb
parent966960b424aa5901a03abbfaa1bcdac6e3ed90dc
Refactor mkoptions (#1631)

This commit refactors code generation for options. It uses a new configuration format for defining options (*.toml) and a new Python script mkoptions.py to generate the source code and option documentation.

The option behavior did not change for most of the options, except that for bool --enable-/--disable- long options enable/disable was removed. E.g. --enable-miplib-trick and --disable-miplib-trick got changed to --miplib-trick and --no-miplib-trick.

This commit fixes also an issues with set-option/get-option via the SMT2 interface. Before long options were only accessible if the name included the =ARG part.
79 files changed:
Makefile.am
configure.ac
contrib/new-theory
contrib/new-theory.awk
contrib/optionsskel/DIR_options [deleted file]
contrib/optionsskel/DIR_options.toml [new file with mode: 0644]
contrib/run-script-smtcomp2018
contrib/run-script-smtcomp2018-unsat-cores
doc/SmtEngine.3cvc_template.in
doc/cvc4.1_template.in
doc/libcvc4.3.in [new file with mode: 0644]
doc/libcvc4.3_template.in [deleted file]
doc/options.3cvc_template.in
src/options/Makefile.am
src/options/README [new file with mode: 0644]
src/options/arith_options [deleted file]
src/options/arith_options.toml [new file with mode: 0644]
src/options/arrays_options [deleted file]
src/options/arrays_options.toml [new file with mode: 0644]
src/options/base_options [deleted file]
src/options/base_options.toml [new file with mode: 0644]
src/options/base_options_template.cpp [deleted file]
src/options/base_options_template.h [deleted file]
src/options/booleans_options [deleted file]
src/options/booleans_options.toml [new file with mode: 0644]
src/options/builtin_options [deleted file]
src/options/builtin_options.toml [new file with mode: 0644]
src/options/bv_options [deleted file]
src/options/bv_options.toml [new file with mode: 0644]
src/options/datatypes_options [deleted file]
src/options/datatypes_options.toml [new file with mode: 0644]
src/options/decision_options [deleted file]
src/options/decision_options.toml [new file with mode: 0644]
src/options/expr_options [deleted file]
src/options/expr_options.toml [new file with mode: 0644]
src/options/fp_options [deleted file]
src/options/fp_options.toml [new file with mode: 0644]
src/options/generate-toml-files.sh [new file with mode: 0755]
src/options/idl_options [deleted file]
src/options/idl_options.toml [new file with mode: 0644]
src/options/main_options [deleted file]
src/options/main_options.toml [new file with mode: 0644]
src/options/mkoptions [deleted file]
src/options/mkoptions.py [new file with mode: 0755]
src/options/module_template.cpp [new file with mode: 0644]
src/options/module_template.h [new file with mode: 0644]
src/options/options_get_option_template.cpp [deleted file]
src/options/options_holder_template.h
src/options/options_set_option_template.cpp [deleted file]
src/options/options_template.cpp
src/options/parser_options [deleted file]
src/options/parser_options.toml [new file with mode: 0644]
src/options/printer_options [deleted file]
src/options/printer_options.toml [new file with mode: 0644]
src/options/proof_options [deleted file]
src/options/proof_options.toml [new file with mode: 0644]
src/options/prop_options [deleted file]
src/options/prop_options.toml [new file with mode: 0644]
src/options/quantifiers_options [deleted file]
src/options/quantifiers_options.toml [new file with mode: 0644]
src/options/sep_options [deleted file]
src/options/sep_options.toml [new file with mode: 0644]
src/options/sets_options [deleted file]
src/options/sets_options.toml [new file with mode: 0644]
src/options/smt_options.toml [new file with mode: 0644]
src/options/strings_options [deleted file]
src/options/strings_options.toml [new file with mode: 0644]
src/options/theory_options [deleted file]
src/options/theory_options.toml [new file with mode: 0644]
src/options/uf_options [deleted file]
src/options/uf_options.toml [new file with mode: 0644]
test/regress/regress0/arith/miplib-opt1217--27.smt.expect
test/regress/regress0/arith/miplib-pp08a-3000.smt.expect
test/regress/regress0/arith/miplib.cvc
test/regress/regress0/arith/miplib2.cvc
test/regress/regress0/arith/miplib4.cvc
test/regress/regress1/arith/miplib3.cvc
test/regress/regress2/arith/miplib-opt1217--27.smt2
test/regress/regress2/arith/miplib-pp08a-3000.smt2