--- /srv/reproducible-results/rbuild-debian/r-b-build.0qfanIJH/b1/ats2-lang_0.4.2-3_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.0qfanIJH/b2/ats2-lang_0.4.2-3_amd64.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ 82ee1035d1702153041e2879791f5df0 4479660 debug optional ats2-lang-dbgsym_0.4.2-3_amd64.deb │ - 81431ff10e578691dbfe5e85191508d0 1154548 devel optional ats2-lang_0.4.2-3_amd64.deb │ + 288e047e47a2737feb9c768537e181b3 1145544 devel optional ats2-lang_0.4.2-3_amd64.deb │ 25d0b01eaede77ef308dd00924597d35 9808 lisp optional elpa-ats2-mode_0.4.2-3_all.deb ├── ats2-lang_0.4.2-3_amd64.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2024-10-31 13:13:33.000000 debian-binary │ │ --rw-r--r-- 0 0 0 34920 2024-10-31 13:13:33.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 1119436 2024-10-31 13:13:33.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 34392 2024-10-31 13:13:33.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 1110960 2024-10-31 13:13:33.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ Package: ats2-lang │ │ │ │ Version: 0.4.2-3 │ │ │ │ Architecture: amd64 │ │ │ │ Maintainer: Matthew Danish │ │ │ │ -Installed-Size: 8917 │ │ │ │ +Installed-Size: 8810 │ │ │ │ Depends: libc6 (>= 2.34), libgc-dev │ │ │ │ Section: devel │ │ │ │ Priority: optional │ │ │ │ Homepage: http://www.ats-lang.org/ │ │ │ │ Description: ATS version 2 programming language compiler │ │ │ │ ATS2 a.k.a. ATS/Postiats is a programming language with a highly expressive │ │ │ │ type system rooted in the framework Applied Type System. In particular, both │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -65,28 +65,28 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 12140 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_cnstrnt.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 940 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_commarg.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3125 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_parsing.sats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 422 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 637 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 18358 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2965 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3206 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 6455 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13745 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1369 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 869 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 9508 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2246 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1230 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7651 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 491 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/myheader.hats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1107 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_ctx.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 32766 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_form.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6404 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_interp.dats │ │ │ │ @@ -1214,32 +1214,32 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 841 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_dfs.dats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/parcomb/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 754 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/parcomb/parcomb.dats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 879 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/array0.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1233 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/list0.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 706 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/option0.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 903 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2001 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/arrayref.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1217 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 790 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1076 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/gprint.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 617 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2382 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/list.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 749 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/list_vt.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2385 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 695 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 747 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/print.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 701 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1221 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 701 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 868 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 878 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 983 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 4761 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 458 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/parcomb.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 453 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/words.sats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 426 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/array0.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1039 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/list0.sats │ │ │ │ @@ -1284,15 +1284,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1679 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYGAME/test01.dats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 613 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/Makefile │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1080 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/test01.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 719 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/test01.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 757 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/test02.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2465 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/basics_py.sats │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1480 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1249 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34dframe_cats.R │ │ │ │ -rw-r--r-- 0 root (0) root (0) 556 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34factor_cats.R │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4322 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34matrix_cats.R │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3942 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34vector_cats.R │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3492 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/basics_cats.R │ │ │ │ @@ -1334,23 +1334,23 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 409 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/SATS/stream_vt.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 299 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/SATS/string.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3198 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/basics_r34.sats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1499 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/mylibies.hats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2350 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm │ │ │ │ -rw-r--r-- 0 root (0) root (0) 898 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMvector_cats.scm │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4819 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/basics_cats.scm │ │ │ │ --rw-r--r-- 0 root (0) root (0) 301 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1079 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/filebas_cats.scm │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1977 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/float_cats.scm │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2560 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1192 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm │ │ │ │ --rw-r--r-- 0 root (0) root (0) 577 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 846 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_bfs.dats │ │ │ │ -rw-r--r-- 0 root (0) root (0) 839 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_dfs.dats │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/ML/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 849 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/ML/array0.dats │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats │ │ │ │ @@ -1,27 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2364 6566 696e 650a 5041 5453 .//.#define.PATS │ │ │ │ -00000080: 4f4c 5645 5f74 6172 6765 746c 6f63 0a22 OLVE_targetloc." │ │ │ │ -00000090: 2e2f 2e2e 2f2e 2e2f 4154 532d 6578 7473 ./../../ATS-exts │ │ │ │ -000000a0: 6f6c 7665 220a 2f2f 0a28 2a20 2a2a 2a2a olve".//.(* **** │ │ │ │ -000000b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -000000c0: 2373 7461 6c6f 6164 0a22 7b24 5041 5453 #staload."{$PATS │ │ │ │ -000000d0: 4f4c 5645 7d2f 5341 5453 2f70 6174 736f OLVE}/SATS/patso │ │ │ │ -000000e0: 6c76 655f 636e 7374 726e 742e 7361 7473 lve_cnstrnt.sats │ │ │ │ -000000f0: 220a 2373 7461 6c6f 6164 0a22 7b24 5041 ".#staload."{$PA │ │ │ │ -00000100: 5453 4f4c 5645 7d2f 5341 5453 2f70 6174 TSOLVE}/SATS/pat │ │ │ │ -00000110: 736f 6c76 655f 7061 7273 696e 672e 7361 solve_parsing.sa │ │ │ │ -00000120: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000130: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s │ │ │ │ -00000140: 7461 6c6f 6164 0a22 2e2f 2e2e 2f2e 2e2f taload."./../../ │ │ │ │ -00000150: 5341 5453 2f70 6174 736f 6c76 655f 736d SATS/patsolve_sm │ │ │ │ -00000160: 7432 5f73 6f6c 7669 6e67 2e73 6174 7322 t2_solving.sats" │ │ │ │ -00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000180: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end │ │ │ │ -00000190: 6f66 205b 6d79 6865 6164 6572 2e68 6174 of [myheader.hat │ │ │ │ -000001a0: 735d 202a 290a s] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats │ │ │ │ @@ -1,40 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS │ │ │ │ -00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN │ │ │ │ -00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include "./my │ │ │ │ -000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats".#en │ │ │ │ -000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i │ │ │ │ -000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* *** │ │ │ │ -000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = "p │ │ │ │ -000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa │ │ │ │ -00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats".//.(* * │ │ │ │ -00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000120: 0a61 6273 7674 7970 6520 534d 5432 5f63 .absvtype SMT2_c │ │ │ │ -00000130: 6f6e 7465 7874 203d 2070 7472 0a0a 282a ontext = ptr..(* │ │ │ │ -00000140: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000150: 290a 0a65 7874 6572 6e0a 6675 6e0a 7468 )..extern.fun.th │ │ │ │ -00000160: 655f 534d 5432 5f63 6f6e 7465 7874 5f76 e_SMT2_context_v │ │ │ │ -00000170: 6765 740a 280a 2f2f 2061 7267 756d 656e get.(.// argumen │ │ │ │ -00000180: 746c 6573 730a 2920 3a20 280a 2020 534d tless.) : (. SM │ │ │ │ -00000190: 5432 5f63 6f6e 7465 7874 202d 3c70 7266 T2_context - void | SMT2_co │ │ │ │ -000001b0: 6e74 6578 740a 2920 3d20 2265 7874 2370 ntext.) = "ext#p │ │ │ │ -000001c0: 6174 736f 6c76 655f 7468 655f 534d 5432 atsolve_the_SMT2 │ │ │ │ -000001d0: 5f63 6f6e 7465 7874 5f76 6765 7422 0a0a _context_vget".. │ │ │ │ -000001e0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000001f0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement │ │ │ │ -00000200: 0a74 6865 5f53 4d54 325f 636f 6e74 6578 .the_SMT2_contex │ │ │ │ -00000210: 745f 7667 6574 2829 203d 2024 554e 2e63 t_vget() = $UN.c │ │ │ │ -00000220: 6173 7476 7774 7030 2874 6865 5f6e 756c astvwtp0(the_nul │ │ │ │ -00000230: 6c5f 7074 7229 0a2f 2f0a 282a 202a 2a2a l_ptr).//.(* *** │ │ │ │ -00000240: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a28 *** ****** *)..( │ │ │ │ -00000250: 2a20 656e 6420 6f66 205b 7061 7473 6f6c * end of [patsol │ │ │ │ -00000260: 7665 5f73 6d74 325f 736f 6c76 696e 675f ve_smt2_solving_ │ │ │ │ -00000270: 6374 782e 6461 7473 5d20 2a29 0a ctx.dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats │ │ │ │ @@ -1,1148 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS │ │ │ │ -00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN │ │ │ │ -00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include "./my │ │ │ │ -000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats".#en │ │ │ │ -000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i │ │ │ │ -000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* *** │ │ │ │ -000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d0a 2270 .staload.UN =."p │ │ │ │ -000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa │ │ │ │ -00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats".//.(* * │ │ │ │ -00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000120: 2f2f 0a73 7461 6c6f 6164 0a22 6c69 6261 //.staload."liba │ │ │ │ -00000130: 7473 2f4d 4c2f 5341 5453 2f61 7473 7072 ts/ML/SATS/atspr │ │ │ │ -00000140: 652e 7361 7473 220a 7374 616c 6f61 6420 e.sats".staload │ │ │ │ -00000150: 5f20 3d0a 226c 6962 6174 732f 4d4c 2f44 _ =."libats/ML/D │ │ │ │ -00000160: 4154 532f 6174 7370 7265 2e64 6174 7322 ATS/atspre.dats" │ │ │ │ -00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000180: 2a2a 2a2a 202a 290a 0a66 756e 0a65 6d69 **** *)..fun.emi │ │ │ │ -00000190: 745f 626f 6f6c 0a28 0a20 206f 7574 3a20 t_bool.(. out: │ │ │ │ -000001a0: 4649 4c45 7265 662c 2062 3a20 626f 6f6c FILEref, b: bool │ │ │ │ -000001b0: 0a29 203a 2076 6f69 6420 3d20 280a 2f2f .) : void = (.// │ │ │ │ -000001c0: 0a66 7072 696e 745f 7374 7269 6e67 0a28 .fprint_string.( │ │ │ │ -000001d0: 0a20 206f 7574 2c20 6966 2062 2074 6865 . out, if b the │ │ │ │ -000001e0: 6e20 2274 7275 6522 2065 6c73 6520 2266 n "true" else "f │ │ │ │ -000001f0: 616c 7365 220a 290a 2f2f 0a29 2028 2a20 alse".).//.) (* │ │ │ │ -00000200: 656e 6420 6f66 205b 656d 6974 5f62 6f6f end of [emit_boo │ │ │ │ -00000210: 6c5d 202a 290a 0a28 2a20 2a2a 2a2a 2a2a l] *)..(* ****** │ │ │ │ -00000220: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl │ │ │ │ -00000230: 656d 656e 740a 656d 6974 5f66 6f72 6d0a ement.emit_form. │ │ │ │ -00000240: 2020 286f 7574 2c20 666d 6c29 203d 206c (out, fml) = l │ │ │ │ -00000250: 6574 0a28 2a0a 7661 6c20 2829 203d 0a70 et.(*.val () =.p │ │ │ │ -00000260: 7269 6e74 6c6e 2120 2822 656d 6974 5f66 rintln! ("emit_f │ │ │ │ -00000270: 6f72 6d22 290a 2a29 0a69 6e0a 2f2f 0a63 orm").*).in.//.c │ │ │ │ -00000280: 6173 652b 2066 6d6c 206f 660a 7c20 464f ase+ fml of.| FO │ │ │ │ -00000290: 524d 6e6f 7428 666d 6c29 203d 3e0a 2020 RMnot(fml) =>. │ │ │ │ -000002a0: 7b0a 2020 2020 7661 6c20 2829 203d 0a20 {. val () =. │ │ │ │ -000002b0: 2020 2020 2066 7072 696e 7428 6f75 742c fprint(out, │ │ │ │ -000002c0: 2022 286e 6f74 2022 290a 2020 2020 2f2f "(not "). // │ │ │ │ -000002d0: 2065 6e64 206f 6620 5b76 616c 5d0a 2020 end of [val]. │ │ │ │ -000002e0: 2020 7661 6c20 2829 203d 2065 6d69 745f val () = emit_ │ │ │ │ -000002f0: 666f 726d 286f 7574 2c20 666d 6c29 0a20 form(out, fml). │ │ │ │ -00000300: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri │ │ │ │ -00000310: 6e74 2120 286f 7574 2c20 2229 2229 0a20 nt! (out, ")"). │ │ │ │ -00000320: 207d 0a7c 2046 4f52 4d73 3265 7870 2873 }.| FORMs2exp(s │ │ │ │ -00000330: 3265 2920 3d3e 0a20 207b 0a20 2020 2076 2e) =>. {. v │ │ │ │ -00000340: 616c 2028 2920 3d20 656d 6974 5f73 3265 al () = emit_s2e │ │ │ │ -00000350: 7870 286f 7574 2c20 7332 6529 0a20 207d xp(out, s2e). } │ │ │ │ -00000360: 0a7c 205f 2028 2a72 6573 742a 2920 3d3e .| _ (*rest*) => │ │ │ │ -00000370: 2066 7072 696e 745f 666f 726d 286f 7574 fprint_form(out │ │ │ │ -00000380: 2c20 666d 6c29 0a2f 2f0a 656e 6420 2f2f , fml).//.end // │ │ │ │ -00000390: 2065 6e64 206f 6620 5b65 6d69 745f 666f end of [emit_fo │ │ │ │ -000003a0: 726d 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a rm]..(* ****** * │ │ │ │ -000003b0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -000003c0: 656e 740a 656d 6974 5f73 3272 740a 2020 ent.emit_s2rt. │ │ │ │ -000003d0: 286f 7574 2c20 7332 7430 2920 3d20 6c65 (out, s2t0) = le │ │ │ │ -000003e0: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () = │ │ │ │ -000003f0: 0a20 2070 7269 6e74 6c6e 2120 2822 656d . println! ("em │ │ │ │ -00000400: 6974 5f73 3272 7422 290a 2a29 0a2f 2f0a it_s2rt").*).//. │ │ │ │ -00000410: 6d61 6364 6566 0a65 6d69 7428 7829 203d macdef.emit(x) = │ │ │ │ -00000420: 2066 7072 696e 7428 6f75 742c 202c 2878 fprint(out, ,(x │ │ │ │ -00000430: 2929 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 )).//.in.//.case │ │ │ │ -00000440: 2b20 7332 7430 206f 660a 2f2f 0a7c 2053 + s2t0 of.//.| S │ │ │ │ -00000450: 3252 5469 6e74 2829 203d 3e20 656d 6974 2RTint() => emit │ │ │ │ -00000460: 2822 7332 7274 5f69 6e74 2229 0a7c 2053 ("s2rt_int").| S │ │ │ │ -00000470: 3252 5461 6464 7228 2920 3d3e 2065 6d69 2RTaddr() => emi │ │ │ │ -00000480: 7428 2273 3272 745f 6164 6472 2229 0a7c t("s2rt_addr").| │ │ │ │ -00000490: 2053 3252 5462 6f6f 6c28 2920 3d3e 2065 S2RTbool() => e │ │ │ │ -000004a0: 6d69 7428 2273 3272 745f 626f 6f6c 2229 mit("s2rt_bool") │ │ │ │ -000004b0: 0a2f 2f0a 7c20 5332 5254 7265 616c 2829 .//.| S2RTreal() │ │ │ │ -000004c0: 203d 3e20 656d 6974 2822 7332 7274 5f72 => emit("s2rt_r │ │ │ │ -000004d0: 6561 6c22 290a 2f2f 0a7c 2053 3252 5466 eal").//.| S2RTf │ │ │ │ -000004e0: 6c6f 6174 2829 203d 3e20 656d 6974 2822 loat() => emit(" │ │ │ │ -000004f0: 7332 7274 5f66 6c6f 6174 2229 0a7c 2053 s2rt_float").| S │ │ │ │ -00000500: 3252 5473 7472 696e 6728 2920 3d3e 2065 2RTstring() => e │ │ │ │ -00000510: 6d69 7428 2273 3272 745f 7374 7269 6e67 mit("s2rt_string │ │ │ │ -00000520: 2229 0a2f 2f0a 7c20 5332 5254 636c 7328 ").//.| S2RTcls( │ │ │ │ -00000530: 2920 3d3e 2065 6d69 7428 2273 3272 745f ) => emit("s2rt_ │ │ │ │ -00000540: 636c 7322 290a 7c20 5332 5254 6566 6628 cls").| S2RTeff( │ │ │ │ -00000550: 2920 3d3e 2065 6d69 7428 2273 3272 745f ) => emit("s2rt_ │ │ │ │ -00000560: 6566 6622 290a 2f2f 0a7c 2053 3252 5474 eff").//.| S2RTt │ │ │ │ -00000570: 7570 2829 203d 3e20 656d 6974 2822 7332 up() => emit("s2 │ │ │ │ -00000580: 7274 5f74 7570 2229 0a2f 2f0a 7c20 5332 rt_tup").//.| S2 │ │ │ │ -00000590: 5254 7479 7065 2829 203d 3e20 656d 6974 RTtype() => emit │ │ │ │ -000005a0: 2822 7332 7274 5f74 7970 6522 290a 7c20 ("s2rt_type").| │ │ │ │ -000005b0: 5332 5254 7674 7970 6528 2920 3d3e 2065 S2RTvtype() => e │ │ │ │ -000005c0: 6d69 7428 2273 3272 745f 7674 7970 6522 mit("s2rt_vtype" │ │ │ │ -000005d0: 290a 2f2f 0a7c 2053 3252 5474 3079 7065 ).//.| S2RTt0ype │ │ │ │ -000005e0: 2829 203d 3e20 656d 6974 2822 7332 7274 () => emit("s2rt │ │ │ │ -000005f0: 5f74 3079 7065 2229 0a7c 2053 3252 5476 _t0ype").| S2RTv │ │ │ │ -00000600: 7430 7970 6528 2920 3d3e 2065 6d69 7428 t0ype() => emit( │ │ │ │ -00000610: 2273 3272 745f 7674 3079 7065 2229 0a2f "s2rt_vt0ype")./ │ │ │ │ -00000620: 2f0a 7c20 5332 5254 7072 6f70 2829 203d /.| S2RTprop() = │ │ │ │ -00000630: 3e20 656d 6974 2822 7332 7274 5f70 726f > emit("s2rt_pro │ │ │ │ -00000640: 7022 290a 7c20 5332 5254 7669 6577 2829 p").| S2RTview() │ │ │ │ -00000650: 203d 3e20 656d 6974 2822 7332 7274 5f76 => emit("s2rt_v │ │ │ │ -00000660: 6965 7722 290a 2f2f 0a7c 2053 3252 5474 iew").//.| S2RTt │ │ │ │ -00000670: 6b69 6e64 2829 203d 3e20 656d 6974 2822 kind() => emit(" │ │ │ │ -00000680: 7332 7274 5f74 6b69 6e64 2229 0a2f 2f0a s2rt_tkind").//. │ │ │ │ -00000690: 7c20 5332 5254 6675 6e0a 2020 280a 2020 | S2RTfun. (. │ │ │ │ -000006a0: 2020 7332 7473 5f61 7267 2c20 7332 745f s2ts_arg, s2t_ │ │ │ │ -000006b0: 7265 730a 2020 2920 3d3e 0a20 207b 0a20 res. ) =>. {. │ │ │ │ -000006c0: 2020 2076 616c 2028 2920 3d20 656d 6974 val () = emit │ │ │ │ -000006d0: 2822 2822 290a 2020 2020 7661 6c20 2829 ("("). val () │ │ │ │ -000006e0: 203d 2065 6d69 7428 2273 3272 745f 6675 = emit("s2rt_fu │ │ │ │ -000006f0: 6e22 290a 2020 2020 7661 6c20 2829 203d n"). val () = │ │ │ │ -00000700: 2065 6d69 7428 2220 2229 0a20 2020 2076 emit(" "). v │ │ │ │ -00000710: 616c 2028 2920 3d0a 2020 2020 2020 656d al () =. em │ │ │ │ -00000720: 6974 5f73 3272 746c 7374 286f 7574 2c20 it_s2rtlst(out, │ │ │ │ -00000730: 7332 7473 5f61 7267 290a 2020 2020 2f2f s2ts_arg). // │ │ │ │ -00000740: 2065 6e64 206f 6620 5b76 616c 5d0a 2020 end of [val]. │ │ │ │ -00000750: 2020 7661 6c20 2829 203d 2065 6d69 7428 val () = emit( │ │ │ │ -00000760: 2220 2229 0a20 2020 2076 616c 2028 2920 " "). val () │ │ │ │ -00000770: 3d20 656d 6974 5f73 3272 7428 6f75 742c = emit_s2rt(out, │ │ │ │ -00000780: 2073 3274 5f72 6573 290a 2020 2020 7661 s2t_res). va │ │ │ │ -00000790: 6c20 2829 203d 2065 6d69 7428 2229 2229 l () = emit(")") │ │ │ │ -000007a0: 0a20 207d 0a2f 2f0a 7c20 5332 5254 6e61 . }.//.| S2RTna │ │ │ │ -000007b0: 6d65 640a 2020 2020 286e 616d 6529 203d med. (name) = │ │ │ │ -000007c0: 3e20 6670 7269 6e74 286f 7574 2c20 6e61 > fprint(out, na │ │ │ │ -000007d0: 6d65 290a 2020 2f2f 2053 3252 546e 616d me). // S2RTnam │ │ │ │ -000007e0: 6564 0a2f 2f0a 7c20 5332 5254 6572 726f ed.//.| S2RTerro │ │ │ │ -000007f0: 7228 2920 3d3e 2065 6d69 7428 2273 3272 r() => emit("s2r │ │ │ │ -00000800: 745f 6572 726f 7222 290a 2f2f 0a65 6e64 t_error").//.end │ │ │ │ -00000810: 202f 2f20 656e 6420 6f66 205b 656d 6974 // end of [emit │ │ │ │ -00000820: 5f73 3272 745d 0a0a 282a 202a 2a2a 2a2a _s2rt]..(* ***** │ │ │ │ -00000830: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp │ │ │ │ -00000840: 6c65 6d65 6e74 0a65 6d69 745f 7332 7274 lement.emit_s2rt │ │ │ │ -00000850: 6c73 740a 2020 286f 7574 2c20 7873 2920 lst. (out, xs) │ │ │ │ -00000860: 3d20 2829 2077 6865 7265 0a7b 0a2f 2f0a = () where.{.//. │ │ │ │ -00000870: 7661 6c20 2829 203d 2066 7072 696e 7428 val () = fprint( │ │ │ │ -00000880: 6f75 742c 2022 2822 290a 7661 6c20 2829 out, "(").val () │ │ │ │ -00000890: 203d 0a28 0a63 6173 652b 2078 7320 6f66 =.(.case+ xs of │ │ │ │ -000008a0: 0a7c 206c 6973 745f 6e69 6c28 2920 3d3e .| list_nil() => │ │ │ │ -000008b0: 2028 290a 7c20 6c69 7374 5f63 6f6e 7328 ().| list_cons( │ │ │ │ -000008c0: 782c 2078 7329 203d 3e0a 2020 7b0a 2020 x, xs) =>. {. │ │ │ │ -000008d0: 2020 7661 6c20 2829 203d 2065 6d69 745f val () = emit_ │ │ │ │ -000008e0: 7332 7274 286f 7574 2c20 7829 0a2f 2f0a s2rt(out, x).//. │ │ │ │ -000008f0: 2020 2020 7661 720a 2020 2020 6677 6f72 var. fwor │ │ │ │ -00000900: 6b20 3d0a 2020 2020 6c61 6d40 0a20 2020 k =. lam@. │ │ │ │ -00000910: 2028 0a20 2020 2020 2078 3a20 7332 7274 (. x: s2rt │ │ │ │ -00000920: 0a20 2020 2029 203a 2076 6f69 6420 3d3e . ) : void => │ │ │ │ -00000930: 2028 0a20 2020 2066 7072 696e 7420 286f (. fprint (o │ │ │ │ -00000940: 7574 2c20 2220 2229 3b20 656d 6974 5f73 ut, " "); emit_s │ │ │ │ -00000950: 3272 7428 6f75 742c 2078 290a 2020 2020 2rt(out, x). │ │ │ │ -00000960: 2920 282a 2065 6e64 206f 6620 5b6c 616d ) (* end of [lam │ │ │ │ -00000970: 405d 202a 290a 2f2f 0a20 2020 2076 616c @] *).//. val │ │ │ │ -00000980: 2028 2920 3d20 6c69 7374 5f66 6f72 6561 () = list_forea │ │ │ │ -00000990: 6368 5f63 6c6f 2878 732c 2066 776f 726b ch_clo(xs, fwork │ │ │ │ -000009a0: 290a 2020 7d0a 290a 7661 6c20 2829 203d ). }.).val () = │ │ │ │ -000009b0: 2066 7072 696e 7428 6f75 742c 2022 2922 fprint(out, ")" │ │ │ │ -000009c0: 290a 2f2f 0a7d 2028 2a20 656e 6420 6f66 ).//.} (* end of │ │ │ │ -000009d0: 205b 656d 6974 5f73 3272 746c 7374 5d20 [emit_s2rtlst] │ │ │ │ -000009e0: 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a *)..(* ****** ** │ │ │ │ -000009f0: 2a2a 2a2a 202a 290a 0a69 6d70 6c65 6d65 **** *)..impleme │ │ │ │ -00000a00: 6e74 0a65 6d69 745f 7332 6373 740a 2020 nt.emit_s2cst. │ │ │ │ -00000a10: 286f 7574 2c20 7332 6330 2920 3d20 6c65 (out, s2c0) = le │ │ │ │ -00000a20: 740a 2f2f 0a76 616c 206f 7074 3020 3d0a t.//.val opt0 =. │ │ │ │ -00000a30: 2020 7332 6373 745f 6765 745f 7332 6369 s2cst_get_s2ci │ │ │ │ -00000a40: 6e74 6572 7028 7332 6330 290a 2f2f 0a69 nterp(s2c0).//.i │ │ │ │ -00000a50: 6e0a 2f2f 0a63 6173 652b 206f 7074 3020 n.//.case+ opt0 │ │ │ │ -00000a60: 6f66 0a7c 2053 6f6d 6520 5f20 3d3e 0a20 of.| Some _ =>. │ │ │ │ -00000a70: 2020 2066 7072 696e 7421 2028 6f75 742c fprint! (out, │ │ │ │ -00000a80: 2073 3263 302e 6e61 6d65 2829 290a 2020 s2c0.name()). │ │ │ │ -00000a90: 2f2f 2065 6e64 206f 6620 5b53 6f6d 655d // end of [Some] │ │ │ │ -00000aa0: 0a7c 204e 6f6e 6520 5f20 3d3e 206c 6574 .| None _ => let │ │ │ │ -00000ab0: 0a20 2020 2076 616c 2065 7874 6465 6620 . val extdef │ │ │ │ -00000ac0: 3d20 7332 6330 2e65 7874 6465 6628 290a = s2c0.extdef(). │ │ │ │ -00000ad0: 2020 696e 0a20 2020 2063 6173 652b 2065 in. case+ e │ │ │ │ -00000ae0: 7874 6465 6620 6f66 0a20 2020 207c 2053 xtdef of. | S │ │ │ │ -00000af0: 6f6d 6528 6e61 6d65 2920 3d3e 2066 7072 ome(name) => fpr │ │ │ │ -00000b00: 696e 7421 2028 6f75 742c 206e 616d 6529 int! (out, name) │ │ │ │ -00000b10: 0a20 2020 207c 204e 6f6e 6528 282a 766f . | None((*vo │ │ │ │ -00000b20: 6964 2a29 2920 3d3e 0a20 2020 2020 2020 id*)) =>. │ │ │ │ -00000b30: 2066 7072 696e 7421 2028 6f75 742c 2073 fprint! (out, s │ │ │ │ -00000b40: 3263 302e 6e61 6d65 2829 2c20 2221 222c 2c0.name(), "!", │ │ │ │ -00000b50: 2073 3263 302e 7374 616d 7028 2929 0a20 s2c0.stamp()). │ │ │ │ -00000b60: 2020 2020 202f 2f20 656e 6420 6f66 205b // end of [ │ │ │ │ -00000b70: 4e6f 6e65 5d0a 2020 656e 6420 2f2f 2065 None]. end // e │ │ │ │ -00000b80: 6e64 206f 6620 5b4e 6f6e 655d 0a2f 2f0a nd of [None].//. │ │ │ │ -00000b90: 656e 6420 2f2f 2065 6e64 206f 6620 5b65 end // end of [e │ │ │ │ -00000ba0: 6d69 745f 7332 6373 745d 0a0a 282a 202a mit_s2cst]..(* * │ │ │ │ -00000bb0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000bc0: 0a69 6d70 6c65 6d65 6e74 0a65 6d69 745f .implement.emit_ │ │ │ │ -00000bd0: 7332 7661 720a 2020 286f 7574 2c20 7332 s2var. (out, s2 │ │ │ │ -00000be0: 7630 2920 3d20 6c65 740a 2f2f 0a76 616c v0) = let.//.val │ │ │ │ -00000bf0: 206e 616d 6520 3d20 7332 7630 2e6e 616d name = s2v0.nam │ │ │ │ -00000c00: 6528 290a 7661 6c20 7374 616d 7020 3d20 e().val stamp = │ │ │ │ -00000c10: 7332 7630 2e73 7461 6d70 2829 0a2f 2f0a s2v0.stamp().//. │ │ │ │ -00000c20: 696e 0a20 2066 7072 696e 7421 2028 6f75 in. fprint! (ou │ │ │ │ -00000c30: 742c 206e 616d 652c 2022 2122 2c20 7374 t, name, "!", st │ │ │ │ -00000c40: 616d 7029 0a65 6e64 202f 2f20 656e 6420 amp).end // end │ │ │ │ -00000c50: 6f66 205b 656d 6974 5f73 3276 6172 5d0a of [emit_s2var]. │ │ │ │ -00000c60: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000c70: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement. │ │ │ │ -00000c80: 656d 6974 5f73 3265 7870 0a20 2028 6f75 emit_s2exp. (ou │ │ │ │ -00000c90: 742c 2073 3265 3029 203d 206c 6574 0a2f t, s2e0) = let./ │ │ │ │ -00000ca0: 2f0a 282a 0a76 616c 2028 2920 3d20 0a70 /.(*.val () = .p │ │ │ │ -00000cb0: 7269 6e74 6c6e 2120 2822 656d 6974 5f73 rintln! ("emit_s │ │ │ │ -00000cc0: 3265 7870 2229 0a2a 290a 2f2f 0a66 756e 2exp").*).//.fun │ │ │ │ -00000cd0: 0a61 7578 5f6c 740a 280a 2020 7332 6531 .aux_lt.(. s2e1 │ │ │ │ -00000ce0: 3a20 7332 6578 702c 2073 3265 323a 2073 : s2exp, s2e2: s │ │ │ │ -00000cf0: 3265 7870 0a29 203a 2076 6f69 6420 3d0a 2exp.) : void =. │ │ │ │ -00000d00: 7b0a 2020 2076 616c 2028 2920 3d0a 2020 {. val () =. │ │ │ │ -00000d10: 2020 2066 7072 696e 7428 6f75 742c 2022 fprint(out, " │ │ │ │ -00000d20: 283c 2022 290a 2020 202f 2f20 656e 6420 (< "). // end │ │ │ │ -00000d30: 6f66 205b 7661 6c5d 0a20 2020 7661 6c20 of [val]. val │ │ │ │ -00000d40: 2829 203d 2065 6d69 745f 7332 6578 7028 () = emit_s2exp( │ │ │ │ -00000d50: 6f75 742c 2073 3265 3129 0a20 2020 7661 out, s2e1). va │ │ │ │ -00000d60: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou │ │ │ │ -00000d70: 742c 2022 2022 290a 2020 2076 616c 2028 t, " "). val ( │ │ │ │ -00000d80: 2920 3d20 656d 6974 5f73 3265 7870 286f ) = emit_s2exp(o │ │ │ │ -00000d90: 7574 2c20 7332 6532 290a 2020 2076 616c ut, s2e2). val │ │ │ │ -00000da0: 2028 2920 3d20 6670 7269 6e74 286f 7574 () = fprint(out │ │ │ │ -00000db0: 2c20 2229 2229 0a7d 0a2f 2f0a 6675 6e0a , ")").}.//.fun. │ │ │ │ -00000dc0: 6175 785f 6c74 650a 280a 2020 7332 6531 aux_lte.(. s2e1 │ │ │ │ -00000dd0: 3a20 7332 6578 702c 2073 3265 323a 2073 : s2exp, s2e2: s │ │ │ │ -00000de0: 3265 7870 0a29 203a 2076 6f69 6420 3d0a 2exp.) : void =. │ │ │ │ -00000df0: 7b0a 2020 2076 616c 2028 2920 3d0a 2020 {. val () =. │ │ │ │ -00000e00: 2020 2066 7072 696e 7428 6f75 742c 2022 fprint(out, " │ │ │ │ -00000e10: 283c 3d20 2229 0a20 2020 2f2f 2065 6e64 (<= "). // end │ │ │ │ -00000e20: 206f 6620 5b76 616c 5d0a 2020 2076 616c of [val]. val │ │ │ │ -00000e30: 2028 2920 3d20 656d 6974 5f73 3265 7870 () = emit_s2exp │ │ │ │ -00000e40: 286f 7574 2c20 7332 6531 290a 2020 2076 (out, s2e1). v │ │ │ │ -00000e50: 616c 2028 2920 3d20 6670 7269 6e74 286f al () = fprint(o │ │ │ │ -00000e60: 7574 2c20 2220 2229 0a20 2020 7661 6c20 ut, " "). val │ │ │ │ -00000e70: 2829 203d 2065 6d69 745f 7332 6578 7028 () = emit_s2exp( │ │ │ │ -00000e80: 6f75 742c 2073 3265 3229 0a20 2020 7661 out, s2e2). va │ │ │ │ -00000e90: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou │ │ │ │ -00000ea0: 742c 2022 2922 290a 7d0a 2f2f 0a66 756e t, ")").}.//.fun │ │ │ │ -00000eb0: 0a61 7578 5f6d 6574 6465 630a 280a 2020 .aux_metdec.(. │ │ │ │ -00000ec0: 7332 6573 313a 2073 3265 7870 6c73 742c s2es1: s2explst, │ │ │ │ -00000ed0: 2073 3265 7332 3a20 7332 6578 706c 7374 s2es2: s2explst │ │ │ │ -00000ee0: 0a29 203a 2076 6f69 6420 3d0a 280a 6361 .) : void =.(.ca │ │ │ │ -00000ef0: 7365 2b20 7332 6573 3120 6f66 0a7c 206c se+ s2es1 of.| l │ │ │ │ -00000f00: 6973 745f 6e69 6c28 2920 3d3e 0a20 2020 ist_nil() =>. │ │ │ │ -00000f10: 2065 6d69 745f 626f 6f6c 286f 7574 2c20 emit_bool(out, │ │ │ │ -00000f20: 6661 6c73 6529 0a20 202f 2f20 6c69 7374 false). // list │ │ │ │ -00000f30: 5f6e 696c 0a7c 206c 6973 745f 636f 6e73 _nil.| list_cons │ │ │ │ -00000f40: 2873 3265 312c 206e 696c 2829 2920 3d3e (s2e1, nil()) => │ │ │ │ -00000f50: 0a20 2028 0a20 2020 2063 6173 652d 2073 . (. case- s │ │ │ │ -00000f60: 3265 7332 206f 660a 2020 2020 7c20 6c69 2es2 of. | li │ │ │ │ -00000f70: 7374 5f63 6f6e 7328 7332 6532 2c20 6e69 st_cons(s2e2, ni │ │ │ │ -00000f80: 6c28 2929 203d 3e0a 2020 2020 2020 7b0a l()) =>. {. │ │ │ │ -00000f90: 2020 2020 2020 2020 7661 6c20 2829 203d val () = │ │ │ │ -00000fa0: 2061 7578 5f6c 7428 7332 6531 2c20 7332 aux_lt(s2e1, s2 │ │ │ │ -00000fb0: 6532 290a 2020 2020 2020 7d0a 2020 290a e2). }. ). │ │ │ │ -00000fc0: 7c20 6c69 7374 5f63 6f6e 7328 7332 6531 | list_cons(s2e1 │ │ │ │ -00000fd0: 2c20 7332 6573 3129 203d 3e0a 2020 280a , s2es1) =>. (. │ │ │ │ -00000fe0: 2020 2020 6361 7365 2d20 7332 6573 3220 case- s2es2 │ │ │ │ -00000ff0: 6f66 0a20 2020 207c 206c 6973 745f 636f of. | list_co │ │ │ │ -00001000: 6e73 2873 3265 322c 2073 3265 7332 2920 ns(s2e2, s2es2) │ │ │ │ -00001010: 3d3e 0a20 2020 2020 207b 0a20 2020 2020 =>. {. │ │ │ │ -00001020: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri │ │ │ │ -00001030: 6e74 286f 7574 2c20 2228 6f72 2022 290a nt(out, "(or "). │ │ │ │ -00001040: 2020 2020 2020 2020 7661 6c20 2829 203d val () = │ │ │ │ -00001050: 2061 7578 5f6c 7428 7332 6531 2c20 7332 aux_lt(s2e1, s2 │ │ │ │ -00001060: 6532 290a 2020 2020 2020 2020 7661 6c20 e2). val │ │ │ │ -00001070: 2829 203d 2066 7072 696e 7428 6f75 742c () = fprint(out, │ │ │ │ -00001080: 2022 2022 290a 2020 2020 2020 2020 7661 " "). va │ │ │ │ -00001090: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou │ │ │ │ -000010a0: 742c 2022 2861 6e64 2022 290a 2020 2020 t, "(and "). │ │ │ │ -000010b0: 2020 2020 7661 6c20 2829 203d 2061 7578 val () = aux │ │ │ │ -000010c0: 5f6c 7465 2873 3265 312c 2073 3265 3229 _lte(s2e1, s2e2) │ │ │ │ -000010d0: 0a20 2020 2020 2020 2076 616c 2028 2920 . val () │ │ │ │ -000010e0: 3d20 6670 7269 6e74 286f 7574 2c20 2220 = fprint(out, " │ │ │ │ -000010f0: 2229 0a20 2020 2020 2020 2076 616c 2028 "). val ( │ │ │ │ -00001100: 2920 3d20 6175 785f 6d65 7464 6563 2873 ) = aux_metdec(s │ │ │ │ -00001110: 3265 7331 2c20 7332 6573 3229 0a20 2020 2es1, s2es2). │ │ │ │ -00001120: 2020 2020 2076 616c 2028 2920 3d20 6670 val () = fp │ │ │ │ -00001130: 7269 6e74 286f 7574 2c20 2229 2229 0a20 rint(out, ")"). │ │ │ │ -00001140: 2020 2020 2020 2076 616c 2028 2920 3d20 val () = │ │ │ │ -00001150: 6670 7269 6e74 286f 7574 2c20 2229 2229 fprint(out, ")") │ │ │ │ -00001160: 0a20 2020 2020 207d 0a20 2029 0a29 2028 . }. ).) ( │ │ │ │ -00001170: 2a20 656e 6420 6f66 205b 6175 785f 6d65 * end of [aux_me │ │ │ │ -00001180: 7464 6563 5d20 2a29 0a2f 2f0a 6675 6e0a tdec] *).//.fun. │ │ │ │ -00001190: 6175 7873 7673 0a28 0a20 2073 3276 733a auxsvs.(. s2vs: │ │ │ │ -000011a0: 2073 3276 6172 6c73 740a 2920 3a20 766f s2varlst.) : vo │ │ │ │ -000011b0: 6964 203d 0a7b 0a2f 2f0a 7661 720a 6677 id =.{.//.var.fw │ │ │ │ -000011c0: 6f72 6b20 3d0a 6c61 6d40 2028 0a20 2073 ork =.lam@ (. s │ │ │ │ -000011d0: 3276 3a20 7332 7661 720a 2920 3a20 766f 2v: s2var.) : vo │ │ │ │ -000011e0: 6964 203d 3e0a 7b0a 2020 7661 6c20 2829 id =>.{. val () │ │ │ │ -000011f0: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, " │ │ │ │ -00001200: 2822 290a 2020 7661 6c20 2829 203d 0a20 ("). val () =. │ │ │ │ -00001210: 2028 0a20 2020 2065 6d69 745f 7332 7661 (. emit_s2va │ │ │ │ -00001220: 7228 6f75 742c 2073 3276 293b 0a20 2020 r(out, s2v);. │ │ │ │ -00001230: 2066 7072 696e 7428 6f75 742c 2022 2022 fprint(out, " " │ │ │ │ -00001240: 293b 2065 6d69 745f 7332 7274 286f 7574 ); emit_s2rt(out │ │ │ │ -00001250: 2c20 7332 762e 7372 7428 2929 0a20 2029 , s2v.srt()). ) │ │ │ │ -00001260: 2028 2a20 656e 6420 6f66 205b 7661 6c5d (* end of [val] │ │ │ │ -00001270: 202a 290a 2020 7661 6c20 2829 203d 2066 *). val () = f │ │ │ │ -00001280: 7072 696e 7428 6f75 742c 2022 2922 290a print(out, ")"). │ │ │ │ -00001290: 7d20 282a 2065 6e64 206f 6620 5b66 776f } (* end of [fwo │ │ │ │ -000012a0: 726b 5d20 2a29 0a2f 2f0a 7661 6c20 2829 rk] *).//.val () │ │ │ │ -000012b0: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, " │ │ │ │ -000012c0: 2822 290a 7661 6c20 2829 203d 206c 6973 (").val () = lis │ │ │ │ -000012d0: 745f 666f 7265 6163 685f 636c 6f28 7332 t_foreach_clo(s2 │ │ │ │ -000012e0: 7673 2c20 6677 6f72 6b29 0a76 616c 2028 vs, fwork).val ( │ │ │ │ -000012f0: 2920 3d20 6670 7269 6e74 286f 7574 2c20 ) = fprint(out, │ │ │ │ -00001300: 2229 2229 0a2f 2f0a 7d20 282a 2065 6e64 ")").//.} (* end │ │ │ │ -00001310: 206f 6620 5b61 7578 7376 735d 202a 290a of [auxsvs] *). │ │ │ │ -00001320: 2f2f 0a66 756e 0a61 7578 7370 730a 280a //.fun.auxsps.(. │ │ │ │ -00001330: 2020 7332 7073 3a20 7332 6578 706c 7374 s2ps: s2explst │ │ │ │ -00001340: 0a29 203a 2076 6f69 6420 3d0a 280a 6361 .) : void =.(.ca │ │ │ │ -00001350: 7365 2b20 7332 7073 206f 660a 7c20 6c69 se+ s2ps of.| li │ │ │ │ -00001360: 7374 5f6e 696c 2829 203d 3e20 656d 6974 st_nil() => emit │ │ │ │ -00001370: 5f62 6f6f 6c28 6f75 742c 2074 7275 6529 _bool(out, true) │ │ │ │ -00001380: 0a7c 206c 6973 745f 7369 6e67 2873 3270 .| list_sing(s2p │ │ │ │ -00001390: 2920 3d3e 2065 6d69 745f 7332 6578 7028 ) => emit_s2exp( │ │ │ │ -000013a0: 6f75 742c 2073 3270 290a 2020 2f2f 2065 out, s2p). // e │ │ │ │ -000013b0: 6e64 206f 6620 5b6c 6973 745f 7369 6e67 nd of [list_sing │ │ │ │ -000013c0: 5d0a 7c20 6c69 7374 5f63 6f6e 730a 2020 ].| list_cons. │ │ │ │ -000013d0: 2020 2873 3270 2c20 7332 7073 2920 3d3e (s2p, s2ps) => │ │ │ │ -000013e0: 2028 2920 7768 6572 650a 2020 7b0a 2020 () where. {. │ │ │ │ -000013f0: 2020 7661 6c20 2829 203d 0a20 2020 2020 val () =. │ │ │ │ -00001400: 2066 7072 696e 7428 6f75 742c 2022 2861 fprint(out, "(a │ │ │ │ -00001410: 6e64 2022 290a 2020 2020 2f2f 2065 6e64 nd "). // end │ │ │ │ -00001420: 206f 6620 5b76 616c 5d0a 2020 2020 7661 of [val]. va │ │ │ │ -00001430: 6c20 2829 203d 2065 6d69 745f 7332 6578 l () = emit_s2ex │ │ │ │ -00001440: 7028 6f75 742c 2073 3270 290a 2020 2020 p(out, s2p). │ │ │ │ -00001450: 7661 6c20 2829 203d 2066 7072 696e 7428 val () = fprint( │ │ │ │ -00001460: 6f75 742c 2022 2022 290a 2020 2020 7661 out, " "). va │ │ │ │ -00001470: 720a 2020 2020 6677 6f72 6b20 3d0a 2020 r. fwork =. │ │ │ │ -00001480: 2020 6c61 6d40 2873 3270 3a20 7332 6578 lam@(s2p: s2ex │ │ │ │ -00001490: 7029 203d 3e20 280a 2020 2020 2020 6670 p) => (. fp │ │ │ │ -000014a0: 7269 6e74 286f 7574 2c20 2220 2229 203b rint(out, " ") ; │ │ │ │ -000014b0: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out, │ │ │ │ -000014c0: 2073 3270 290a 2020 2020 2920 282a 2065 s2p). ) (* e │ │ │ │ -000014d0: 6e64 206f 6620 5b76 6172 5d20 2a29 0a20 nd of [var] *). │ │ │ │ -000014e0: 2020 2076 616c 2028 2920 3d20 6c69 7374 val () = list │ │ │ │ -000014f0: 5f66 6f72 6561 6368 5f63 6c6f 3c73 3265 _foreach_clo(s2ps, fwork) │ │ │ │ -00001510: 0a20 2020 2076 616c 2028 2920 3d20 6670 . val () = fp │ │ │ │ -00001520: 7269 6e74 286f 7574 2c20 2229 2229 0a20 rint(out, ")"). │ │ │ │ -00001530: 207d 2028 2a20 656e 6420 6f66 205b 6c69 } (* end of [li │ │ │ │ -00001540: 7374 5f63 6f6e 735d 202a 290a 290a 2f2f st_cons] *).).// │ │ │ │ -00001550: 0a66 756e 0a61 7578 756e 690a 280a 2020 .fun.auxuni.(. │ │ │ │ -00001560: 7332 6530 3a20 7332 6578 700a 2920 3a20 s2e0: s2exp.) : │ │ │ │ -00001570: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va │ │ │ │ -00001580: 6c2d 0a53 3245 756e 690a 280a 2020 7332 l-.S2Euni.(. s2 │ │ │ │ -00001590: 7673 2c20 7332 7073 2c20 7332 655f 626f vs, s2ps, s2e_bo │ │ │ │ -000015a0: 6479 0a29 203d 2073 3265 302e 7332 6578 dy.) = s2e0.s2ex │ │ │ │ -000015b0: 705f 6e6f 6465 0a2f 2f0a 7661 6c20 6973 p_node.//.val is │ │ │ │ -000015c0: 7376 7320 3d20 6c69 7374 5f69 735f 636f svs = list_is_co │ │ │ │ -000015d0: 6e73 2873 3276 7329 0a76 616c 2069 7373 ns(s2vs).val iss │ │ │ │ -000015e0: 7073 203d 206c 6973 745f 6973 5f63 6f6e ps = list_is_con │ │ │ │ -000015f0: 7328 7332 7073 290a 2f2f 0a76 616c 2028 s(s2ps).//.val ( │ │ │ │ -00001600: 2920 3d0a 2020 6966 2069 7373 7673 0a20 ) =. if issvs. │ │ │ │ -00001610: 2020 2074 6865 6e20 6670 7269 6e74 286f then fprint(o │ │ │ │ -00001620: 7574 2c20 2228 666f 7261 6c6c 2022 290a ut, "(forall "). │ │ │ │ -00001630: 2020 2f2f 2065 6e64 206f 6620 5b69 665d // end of [if] │ │ │ │ -00001640: 0a2f 2f0a 7661 6c20 2829 203d 2069 6620 .//.val () = if │ │ │ │ -00001650: 6973 7376 7320 7468 656e 2061 7578 7376 issvs then auxsv │ │ │ │ -00001660: 7328 7332 7673 290a 2f2f 0a76 616c 2028 s(s2vs).//.val ( │ │ │ │ -00001670: 2920 3d20 6966 2069 7373 7673 2074 6865 ) = if issvs the │ │ │ │ -00001680: 6e20 6670 7269 6e74 286f 7574 2c20 2220 n fprint(out, " │ │ │ │ -00001690: 2229 0a2f 2f0a 7661 6c20 2829 203d 0a20 ").//.val () =. │ │ │ │ -000016a0: 2069 6620 6973 7370 7320 7468 656e 2066 if issps then f │ │ │ │ -000016b0: 7072 696e 7428 6f75 742c 2022 283d 3e20 print(out, "(=> │ │ │ │ -000016c0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 ").//.val () = i │ │ │ │ -000016d0: 6620 6973 7370 7320 7468 656e 2061 7578 f issps then aux │ │ │ │ -000016e0: 7370 7328 7332 7073 290a 2f2f 0a76 616c sps(s2ps).//.val │ │ │ │ -000016f0: 2028 2920 3d20 6966 2069 7373 7073 2074 () = if issps t │ │ │ │ -00001700: 6865 6e20 6670 7269 6e74 286f 7574 2c20 hen fprint(out, │ │ │ │ -00001710: 2220 2229 0a2f 2f0a 7661 6c20 2829 203d " ").//.val () = │ │ │ │ -00001720: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out, │ │ │ │ -00001730: 2073 3265 5f62 6f64 7929 0a2f 2f0a 7661 s2e_body).//.va │ │ │ │ -00001740: 6c20 2829 203d 2069 6620 6973 7370 7320 l () = if issps │ │ │ │ -00001750: 7468 656e 2066 7072 696e 7428 6f75 742c then fprint(out, │ │ │ │ -00001760: 2022 2922 290a 2f2f 0a76 616c 2028 2920 ")").//.val () │ │ │ │ -00001770: 3d20 6966 2069 7373 7673 2074 6865 6e20 = if issvs then │ │ │ │ -00001780: 6670 7269 6e74 286f 7574 2c20 2229 2229 fprint(out, ")") │ │ │ │ -00001790: 0a2f 2f0a 696e 0a20 202f 2f20 6e6f 7468 .//.in. // noth │ │ │ │ -000017a0: 696e 670a 656e 6420 2f2f 2065 6e64 206f ing.end // end o │ │ │ │ -000017b0: 6620 5b61 7578 756e 695d 0a2f 2f0a 6675 f [auxuni].//.fu │ │ │ │ -000017c0: 6e0a 6175 7865 7869 0a28 0a20 2073 3265 n.auxexi.(. s2e │ │ │ │ -000017d0: 303a 2073 3265 7870 0a29 203a 2076 6f69 0: s2exp.) : voi │ │ │ │ -000017e0: 6420 3d20 6c65 740a 2f2f 0a76 616c 2d0a d = let.//.val-. │ │ │ │ -000017f0: 5332 4565 7869 0a28 0a20 2073 3276 732c S2Eexi.(. s2vs, │ │ │ │ -00001800: 2073 3270 732c 2073 3265 5f62 6f64 790a s2ps, s2e_body. │ │ │ │ -00001810: 2920 3d20 7332 6530 2e73 3265 7870 5f6e ) = s2e0.s2exp_n │ │ │ │ -00001820: 6f64 650a 2f2f 0a76 616c 2069 7373 7673 ode.//.val issvs │ │ │ │ -00001830: 203d 206c 6973 745f 6973 5f63 6f6e 7328 = list_is_cons( │ │ │ │ -00001840: 7332 7673 290a 7661 6c20 6973 7370 7320 s2vs).val issps │ │ │ │ -00001850: 3d20 6c69 7374 5f69 735f 636f 6e73 2873 = list_is_cons(s │ │ │ │ -00001860: 3270 7329 0a2f 2f0a 7661 6c20 2829 203d 2ps).//.val () = │ │ │ │ -00001870: 0a20 2069 6620 6973 7376 730a 2020 2020 . if issvs. │ │ │ │ -00001880: 7468 656e 2066 7072 696e 7428 6f75 742c then fprint(out, │ │ │ │ -00001890: 2022 2865 7869 7374 7320 2229 0a20 202f "(exists "). / │ │ │ │ -000018a0: 2f20 656e 6420 6f66 205b 6966 5d0a 2f2f / end of [if].// │ │ │ │ -000018b0: 0a76 616c 2028 2920 3d20 6966 2069 7373 .val () = if iss │ │ │ │ -000018c0: 7673 2074 6865 6e20 6175 7873 7673 2873 vs then auxsvs(s │ │ │ │ -000018d0: 3276 7329 0a2f 2f0a 7661 6c20 2829 203d 2vs).//.val () = │ │ │ │ -000018e0: 2069 6620 6973 7376 7320 7468 656e 2066 if issvs then f │ │ │ │ -000018f0: 7072 696e 7428 6f75 742c 2022 2022 290a print(out, " "). │ │ │ │ -00001900: 2f2f 0a76 616c 2028 2920 3d0a 2020 6966 //.val () =. if │ │ │ │ -00001910: 2069 7373 7073 2074 6865 6e20 6670 7269 issps then fpri │ │ │ │ -00001920: 6e74 286f 7574 2c20 2228 616e 6420 2229 nt(out, "(and ") │ │ │ │ -00001930: 0a2f 2f0a 7661 6c20 2829 203d 2069 6620 .//.val () = if │ │ │ │ -00001940: 6973 7370 7320 7468 656e 2061 7578 7370 issps then auxsp │ │ │ │ -00001950: 7328 7332 7073 290a 2f2f 0a76 616c 2028 s(s2ps).//.val ( │ │ │ │ -00001960: 2920 3d20 6966 2069 7373 7073 2074 6865 ) = if issps the │ │ │ │ -00001970: 6e20 6670 7269 6e74 286f 7574 2c20 2220 n fprint(out, " │ │ │ │ -00001980: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 ").//.val () = e │ │ │ │ -00001990: 6d69 745f 7332 6578 7028 6f75 742c 2073 mit_s2exp(out, s │ │ │ │ -000019a0: 3265 5f62 6f64 7929 0a2f 2f0a 7661 6c20 2e_body).//.val │ │ │ │ -000019b0: 2829 203d 2069 6620 6973 7370 7320 7468 () = if issps th │ │ │ │ -000019c0: 656e 2066 7072 696e 7428 6f75 742c 2022 en fprint(out, " │ │ │ │ -000019d0: 2922 290a 2f2f 0a76 616c 2028 2920 3d20 )").//.val () = │ │ │ │ -000019e0: 6966 2069 7373 7673 2074 6865 6e20 6670 if issvs then fp │ │ │ │ -000019f0: 7269 6e74 286f 7574 2c20 2229 2229 0a2f rint(out, ")")./ │ │ │ │ -00001a00: 2f0a 696e 0a20 202f 2f20 6e6f 7468 696e /.in. // nothin │ │ │ │ -00001a10: 670a 656e 6420 2f2f 2065 6e64 206f 6620 g.end // end of │ │ │ │ -00001a20: 5b61 7578 6578 695d 0a2f 2f0a 696e 0a2f [auxexi].//.in./ │ │ │ │ -00001a30: 2f0a 6361 7365 2b0a 7332 6530 2e73 3265 /.case+.s2e0.s2e │ │ │ │ -00001a40: 7870 5f6e 6f64 650a 6f66 202f 2f20 6361 xp_node.of // ca │ │ │ │ -00001a50: 7365 2b0a 7c20 5332 4569 6e74 2869 6e74 se+.| S2Eint(int │ │ │ │ -00001a60: 2920 3d3e 2066 7072 696e 7428 6f75 742c ) => fprint(out, │ │ │ │ -00001a70: 2069 6e74 290a 7c20 5332 4569 6e74 696e int).| S2Eintin │ │ │ │ -00001a80: 6628 7265 7029 203d 3e20 6670 7269 6e74 f(rep) => fprint │ │ │ │ -00001a90: 286f 7574 2c20 7265 7029 0a7c 2053 3245 (out, rep).| S2E │ │ │ │ -00001aa0: 6373 7428 7332 6329 203d 3e20 656d 6974 cst(s2c) => emit │ │ │ │ -00001ab0: 5f73 3263 7374 286f 7574 2c20 7332 6329 _s2cst(out, s2c) │ │ │ │ -00001ac0: 0a7c 2053 3245 7661 7228 7332 7629 203d .| S2Evar(s2v) = │ │ │ │ -00001ad0: 3e20 656d 6974 5f73 3276 6172 286f 7574 > emit_s2var(out │ │ │ │ -00001ae0: 2c20 7332 7629 0a2f 2f0a 7c20 5332 4565 , s2v).//.| S2Ee │ │ │ │ -00001af0: 7165 710a 2020 2020 2873 3265 312c 2073 qeq. (s2e1, s │ │ │ │ -00001b00: 3265 3229 203d 3e0a 2020 7b0a 2020 2020 2e2) =>. {. │ │ │ │ -00001b10: 7661 6c20 2829 203d 0a20 2020 2066 7072 val () =. fpr │ │ │ │ -00001b20: 696e 740a 2020 2020 2020 286f 7574 2c20 int. (out, │ │ │ │ -00001b30: 2228 7332 6578 705f 6571 6571 2028 3d22 "(s2exp_eqeq (=" │ │ │ │ -00001b40: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of │ │ │ │ -00001b50: 5b76 616c 5d0a 2020 2020 7661 6c20 2829 [val]. val () │ │ │ │ -00001b60: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, " │ │ │ │ -00001b70: 2022 290a 2020 2020 7661 6c20 2829 203d "). val () = │ │ │ │ -00001b80: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out, │ │ │ │ -00001b90: 2073 3265 3129 0a20 2020 2076 616c 2028 s2e1). val ( │ │ │ │ -00001ba0: 2920 3d20 6670 7269 6e74 286f 7574 2c20 ) = fprint(out, │ │ │ │ -00001bb0: 2220 2229 0a20 2020 2076 616c 2028 2920 " "). val () │ │ │ │ -00001bc0: 3d20 656d 6974 5f73 3265 7870 286f 7574 = emit_s2exp(out │ │ │ │ -00001bd0: 2c20 7332 6532 290a 2020 2020 7661 6c20 , s2e2). val │ │ │ │ -00001be0: 2829 203d 2066 7072 696e 7428 6f75 742c () = fprint(out, │ │ │ │ -00001bf0: 2022 2929 2229 0a20 207d 0a2f 2f0a 7c20 "))"). }.//.| │ │ │ │ -00001c00: 5332 4573 697a 656f 6628 7332 6529 203d S2Esizeof(s2e) = │ │ │ │ -00001c10: 3e0a 2020 7b0a 2020 2020 7661 6c20 2829 >. {. val () │ │ │ │ -00001c20: 203d 0a20 2020 2066 7072 696e 7428 6f75 =. fprint(ou │ │ │ │ -00001c30: 742c 2022 2873 3265 7870 5f73 697a 656f t, "(s2exp_sizeo │ │ │ │ -00001c40: 6620 2229 0a20 2020 2076 616c 2028 2920 f "). val () │ │ │ │ -00001c50: 3d20 656d 6974 5f73 3265 7870 286f 7574 = emit_s2exp(out │ │ │ │ -00001c60: 2c20 7332 6529 0a20 2020 2076 616c 2028 , s2e). val ( │ │ │ │ -00001c70: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o │ │ │ │ -00001c80: 7574 2c20 2229 2229 0a20 207d 0a2f 2f0a ut, ")"). }.//. │ │ │ │ -00001c90: 7c20 5332 4561 7070 0a20 2028 0a20 2020 | S2Eapp. (. │ │ │ │ -00001ca0: 2073 3265 5f66 756e 2c20 7332 6573 5f61 s2e_fun, s2es_a │ │ │ │ -00001cb0: 7267 0a20 2029 203d 3e0a 2020 7b0a 2020 rg. ) =>. {. │ │ │ │ -00001cc0: 2020 7661 6c20 2829 203d 2066 7072 696e val () = fprin │ │ │ │ -00001cd0: 7428 6f75 742c 2022 2822 290a 2020 2020 t(out, "("). │ │ │ │ -00001ce0: 7661 6c20 2829 203d 2065 6d69 745f 7332 val () = emit_s2 │ │ │ │ -00001cf0: 6578 7028 6f75 742c 2073 3265 5f66 756e exp(out, s2e_fun │ │ │ │ -00001d00: 290a 2f2f 0a20 2020 206c 6f63 616c 0a20 ).//. local. │ │ │ │ -00001d10: 2020 2076 6172 0a20 2020 2066 776f 726b var. fwork │ │ │ │ -00001d20: 203d 0a20 2020 206c 616d 400a 2020 2020 =. lam@. │ │ │ │ -00001d30: 280a 2020 2020 2020 7332 653a 2073 3265 (. s2e: s2e │ │ │ │ -00001d40: 7870 0a20 2020 2029 203a 2076 6f69 6420 xp. ) : void │ │ │ │ -00001d50: 3d3c 636c 6f31 3e0a 2020 2020 280a 2020 =. (. │ │ │ │ -00001d60: 2020 2020 6670 7269 6e74 286f 7574 2c20 fprint(out, │ │ │ │ -00001d70: 2220 2229 3b20 656d 6974 5f73 3265 7870 " "); emit_s2exp │ │ │ │ -00001d80: 286f 7574 2c20 7332 6529 0a20 2020 2029 (out, s2e). ) │ │ │ │ -00001d90: 2028 2a20 656e 6420 6f66 205b 6c69 7374 (* end of [list │ │ │ │ -00001da0: 5f66 6f72 6561 6368 2466 776f 726b 5d20 _foreach$fwork] │ │ │ │ -00001db0: 2a29 0a20 2020 2069 6e20 282a 2069 6e2d *). in (* in- │ │ │ │ -00001dc0: 6f66 2d6c 6f63 616c 2a29 0a20 2020 2076 of-local*). v │ │ │ │ -00001dd0: 616c 2028 2920 3d20 6c69 7374 5f66 6f72 al () = list_for │ │ │ │ -00001de0: 6561 6368 5f63 6c6f 3c73 3265 7870 3e28 each_clo( │ │ │ │ -00001df0: 7332 6573 5f61 7267 2c20 6677 6f72 6b29 s2es_arg, fwork) │ │ │ │ -00001e00: 0a20 2020 2065 6e64 202f 2f20 656e 6420 . end // end │ │ │ │ -00001e10: 6f66 205b 6c6f 6361 6c5d 0a2f 2f0a 2020 of [local].//. │ │ │ │ -00001e20: 2020 7661 6c20 2829 203d 2066 7072 696e val () = fprin │ │ │ │ -00001e30: 7428 6f75 742c 2022 2922 290a 2020 7d20 t(out, ")"). } │ │ │ │ -00001e40: 282a 2065 6e64 206f 6620 5b53 3245 6170 (* end of [S2Eap │ │ │ │ -00001e50: 705d 202a 290a 2f2f 0a7c 2053 3245 6d65 p] *).//.| S2Eme │ │ │ │ -00001e60: 7464 6563 0a20 2020 2028 7332 6573 312c tdec. (s2es1, │ │ │ │ -00001e70: 2073 3265 7332 2920 3d3e 0a20 207b 0a20 s2es2) =>. {. │ │ │ │ -00001e80: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri │ │ │ │ -00001e90: 6e74 286f 7574 2c20 2228 2229 0a20 2020 nt(out, "("). │ │ │ │ -00001ea0: 2076 616c 2028 2920 3d0a 2020 2020 2020 val () =. │ │ │ │ -00001eb0: 6670 7269 6e74 286f 7574 2c20 2273 3265 fprint(out, "s2e │ │ │ │ -00001ec0: 7870 5f6d 6574 6465 6322 290a 2020 2020 xp_metdec"). │ │ │ │ -00001ed0: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val]. │ │ │ │ -00001ee0: 2020 2020 7661 6c20 2829 203d 2066 7072 val () = fpr │ │ │ │ -00001ef0: 696e 7428 6f75 742c 2022 2022 290a 2020 int(out, " "). │ │ │ │ -00001f00: 2020 7661 6c20 2829 203d 2061 7578 5f6d val () = aux_m │ │ │ │ -00001f10: 6574 6465 6328 7332 6573 312c 2073 3265 etdec(s2es1, s2e │ │ │ │ -00001f20: 7332 290a 2020 2020 7661 6c20 2829 203d s2). val () = │ │ │ │ -00001f30: 2066 7072 696e 7428 6f75 742c 2022 2922 fprint(out, ")" │ │ │ │ -00001f40: 290a 2020 7d0a 2f2f 0a7c 2053 3245 746f ). }.//.| S2Eto │ │ │ │ -00001f50: 7028 6b6e 642c 2073 3265 2920 3d3e 2065 p(knd, s2e) => e │ │ │ │ -00001f60: 6d69 745f 7332 6578 7028 6f75 742c 2073 mit_s2exp(out, s │ │ │ │ -00001f70: 3265 290a 2f2f 0a7c 2053 3245 756e 6920 2e).//.| S2Euni │ │ │ │ -00001f80: 5f20 3d3e 2061 7578 756e 6928 7332 6530 _ => auxuni(s2e0 │ │ │ │ -00001f90: 290a 7c20 5332 4565 7869 205f 203d 3e20 ).| S2Eexi _ => │ │ │ │ -00001fa0: 6175 7865 7869 2873 3265 3029 0a2f 2f0a auxexi(s2e0).//. │ │ │ │ -00001fb0: 7c20 5332 4566 756e 0a20 2028 0a20 2020 | S2Efun. (. │ │ │ │ -00001fc0: 206e 7066 2c20 7332 6573 5f61 7267 2c20 npf, s2es_arg, │ │ │ │ -00001fd0: 7332 655f 7265 730a 2020 2920 3d3e 206c s2e_res. ) => l │ │ │ │ -00001fe0: 6574 0a20 2020 2076 616c 2069 7361 7267 et. val isarg │ │ │ │ -00001ff0: 203d 200a 2020 2020 2020 6c69 7374 5f69 = . list_i │ │ │ │ -00002000: 735f 636f 6e73 2873 3265 735f 6172 6729 s_cons(s2es_arg) │ │ │ │ -00002010: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [ │ │ │ │ -00002020: 7661 6c5d 0a20 2020 2076 616c 2028 2920 val]. val () │ │ │ │ -00002030: 3d0a 2020 2020 2020 6670 7269 6e74 286f =. fprint(o │ │ │ │ -00002040: 7574 2c20 2228 7332 6578 705f 6675 6e20 ut, "(s2exp_fun │ │ │ │ -00002050: 2229 0a20 2020 202f 2f20 656e 6420 6f66 "). // end of │ │ │ │ -00002060: 205b 7661 6c5d 0a20 2020 2076 616c 2028 [val]. val ( │ │ │ │ -00002070: 2920 3d0a 2020 2020 2020 6966 2069 7361 ) =. if isa │ │ │ │ -00002080: 7267 0a20 2020 2020 2020 2074 6865 6e20 rg. then │ │ │ │ -00002090: 6670 7269 6e74 286f 7574 2c20 2228 3d3e fprint(out, "(=> │ │ │ │ -000020a0: 2022 290a 2020 2020 2020 2f2f 2065 6e64 "). // end │ │ │ │ -000020b0: 206f 6620 5b69 665d 0a20 2020 2076 616c of [if]. val │ │ │ │ -000020c0: 2028 2920 3d0a 2020 2020 2020 6966 2069 () =. if i │ │ │ │ -000020d0: 7361 7267 2074 6865 6e20 6175 7873 7073 sarg then auxsps │ │ │ │ -000020e0: 2873 3265 735f 6172 6729 0a20 2020 2076 (s2es_arg). v │ │ │ │ -000020f0: 616c 2028 2920 3d0a 2020 2020 2020 6966 al () =. if │ │ │ │ -00002100: 2069 7361 7267 2074 6865 6e20 6670 7269 isarg then fpri │ │ │ │ -00002110: 6e74 286f 7574 2c20 2220 2229 0a20 2020 nt(out, " "). │ │ │ │ -00002120: 2076 616c 2028 2920 3d20 656d 6974 5f73 val () = emit_s │ │ │ │ -00002130: 3265 7870 286f 7574 2c20 7332 655f 7265 2exp(out, s2e_re │ │ │ │ -00002140: 7329 0a20 2020 2076 616c 2028 2920 3d0a s). val () =. │ │ │ │ -00002150: 2020 2020 2020 6966 2069 7361 7267 2074 if isarg t │ │ │ │ -00002160: 6865 6e20 6670 7269 6e74 286f 7574 2c20 hen fprint(out, │ │ │ │ -00002170: 2229 2229 0a20 2020 2076 616c 2028 282a ")"). val ((* │ │ │ │ -00002180: 636c 6f73 6564 2a29 2920 3d20 6670 7269 closed*)) = fpri │ │ │ │ -00002190: 6e74 286f 7574 2c20 2229 2229 0a20 2069 nt(out, ")"). i │ │ │ │ -000021a0: 6e0a 2020 2020 2f2f 206e 6f74 6869 6e67 n. // nothing │ │ │ │ -000021b0: 0a20 2065 6e64 202f 2f20 656e 6420 6f66 . end // end of │ │ │ │ -000021c0: 205b 5332 4566 756e 5d0a 2f2f 0a7c 205f [S2Efun].//.| _ │ │ │ │ -000021d0: 282a 7265 7374 2d6f 662d 7332 6578 702a (*rest-of-s2exp* │ │ │ │ -000021e0: 2920 3d3e 2066 7072 696e 7428 6f75 742c ) => fprint(out, │ │ │ │ -000021f0: 2073 3265 3029 0a2f 2f0a 656e 6420 2f2f s2e0).//.end // │ │ │ │ -00002200: 2065 6e64 206f 6620 5b65 6d69 745f 7332 end of [emit_s2 │ │ │ │ -00002210: 6578 705d 0a0a 282a 202a 2a2a 2a2a 2a20 exp]..(* ****** │ │ │ │ -00002220: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple │ │ │ │ -00002230: 6d65 6e74 0a65 6d69 745f 6465 636c 5f73 ment.emit_decl_s │ │ │ │ -00002240: 3263 7374 0a20 2028 6f75 742c 2073 3263 2cst. (out, s2c │ │ │ │ -00002250: 2920 3d20 6c65 740a 2f2f 0a66 756e 0a61 ) = let.//.fun.a │ │ │ │ -00002260: 7578 7332 740a 280a 2020 7332 743a 2073 uxs2t.(. s2t: s │ │ │ │ -00002270: 3272 740a 2920 3a20 766f 6964 203d 2028 2rt.) : void = ( │ │ │ │ -00002280: 0a2f 2f0a 6361 7365 2b20 7332 7420 6f66 .//.case+ s2t of │ │ │ │ -00002290: 0a7c 2053 3252 5466 756e 0a20 2028 0a20 .| S2RTfun. (. │ │ │ │ -000022a0: 2020 2073 3274 735f 6172 672c 2073 3274 s2ts_arg, s2t │ │ │ │ -000022b0: 5f72 6573 0a20 2029 203d 3e0a 2020 7b0a _res. ) =>. {. │ │ │ │ -000022c0: 2020 2020 7661 6c20 2829 203d 0a20 2020 val () =. │ │ │ │ -000022d0: 2020 2065 6d69 745f 7332 7274 6c73 7428 emit_s2rtlst( │ │ │ │ -000022e0: 6f75 742c 2073 3274 735f 6172 6729 0a20 out, s2ts_arg). │ │ │ │ -000022f0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va │ │ │ │ -00002300: 6c5d 0a20 2020 2076 616c 2028 2920 3d20 l]. val () = │ │ │ │ -00002310: 6670 7269 6e74 286f 7574 2c20 2220 2229 fprint(out, " ") │ │ │ │ -00002320: 0a20 2020 2076 616c 2028 2920 3d20 656d . val () = em │ │ │ │ -00002330: 6974 5f73 3272 7428 6f75 742c 2073 3274 it_s2rt(out, s2t │ │ │ │ -00002340: 5f72 6573 290a 2020 7d0a 7c20 5f28 2a6e _res). }.| _(*n │ │ │ │ -00002350: 6f6e 2d66 756e 2a29 203d 3e20 0a20 2028 on-fun*) => . ( │ │ │ │ -00002360: 6670 7269 6e74 286f 7574 2c20 2228 2920 fprint(out, "() │ │ │ │ -00002370: 2229 3b20 656d 6974 5f73 3272 7428 6f75 "); emit_s2rt(ou │ │ │ │ -00002380: 742c 2073 3274 2929 0a2f 2f0a 2920 282a t, s2t)).//.) (* │ │ │ │ -00002390: 2065 6e64 206f 6620 5b61 7578 7332 745d end of [auxs2t] │ │ │ │ -000023a0: 202a 290a 2f2f 0a66 756e 0a61 7578 7332 *).//.fun.auxs2 │ │ │ │ -000023b0: 630a 280a 2020 7332 633a 2073 3263 7374 c.(. s2c: s2cst │ │ │ │ -000023c0: 0a29 203a 2076 6f69 6420 3d20 6c65 740a .) : void = let. │ │ │ │ -000023d0: 2f2f 0a76 616c 0a65 7874 6465 6620 3d20 //.val.extdef = │ │ │ │ -000023e0: 7332 632e 6578 7464 6566 2829 0a2f 2f0a s2c.extdef().//. │ │ │ │ -000023f0: 7661 6c20 2829 203d 0a20 2066 7072 696e val () =. fprin │ │ │ │ -00002400: 7428 6f75 742c 2022 2864 6563 6c61 7265 t(out, "(declare │ │ │ │ -00002410: 2d66 756e 2022 290a 2f2f 0a76 616c 2028 -fun ").//.val ( │ │ │ │ -00002420: 2920 3d0a 280a 6361 7365 2b20 6578 7464 ) =.(.case+ extd │ │ │ │ -00002430: 6566 206f 660a 7c20 536f 6d65 286e 616d ef of.| Some(nam │ │ │ │ -00002440: 6529 203d 3e0a 2020 2020 6670 7269 6e74 e) =>. fprint │ │ │ │ -00002450: 286f 7574 2c20 6e61 6d65 290a 2020 2f2f (out, name). // │ │ │ │ -00002460: 2065 6e64 206f 6620 5b53 6f6d 655d 0a7c end of [Some].| │ │ │ │ -00002470: 204e 6f6e 6528 282a 766f 6964 2a29 2920 None((*void*)) │ │ │ │ -00002480: 3d3e 0a20 2020 2066 7072 696e 7421 2028 =>. fprint! ( │ │ │ │ -00002490: 6f75 742c 2073 3263 2e6e 616d 6528 292c out, s2c.name(), │ │ │ │ -000024a0: 2022 2122 2c20 7332 632e 7374 616d 7028 "!", s2c.stamp( │ │ │ │ -000024b0: 2929 0a20 202f 2f20 656e 6420 6f66 205b )). // end of [ │ │ │ │ -000024c0: 4e6f 6e65 5d0a 290a 7661 6c20 2829 203d None].).val () = │ │ │ │ -000024d0: 2066 7072 696e 7428 6f75 742c 2022 2022 fprint(out, " " │ │ │ │ -000024e0: 290a 7661 6c20 2829 203d 2061 7578 7332 ).val () = auxs2 │ │ │ │ -000024f0: 7428 7332 632e 7372 7428 2929 0a76 616c t(s2c.srt()).val │ │ │ │ -00002500: 2028 2920 3d20 6670 7269 6e74 6c6e 2120 () = fprintln! │ │ │ │ -00002510: 286f 7574 2c20 2229 2229 0a2f 2f0a 696e (out, ")").//.in │ │ │ │ -00002520: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en │ │ │ │ -00002530: 6420 2f2f 2065 6e64 206f 6620 5b61 7578 d // end of [aux │ │ │ │ -00002540: 7332 635d 0a2f 2f0a 7661 6c20 6f70 7430 s2c].//.val opt0 │ │ │ │ -00002550: 203d 0a20 2073 3263 7374 5f67 6574 5f73 =. s2cst_get_s │ │ │ │ -00002560: 3263 696e 7465 7270 2873 3263 290a 2f2f 2cinterp(s2c).// │ │ │ │ -00002570: 0a69 6e0a 2f2f 0a63 6173 652b 206f 7074 .in.//.case+ opt │ │ │ │ -00002580: 3020 6f66 0a7c 204e 6f6e 6520 5f20 3d3e 0 of.| None _ => │ │ │ │ -00002590: 2061 7578 7332 6328 7332 6329 207c 2053 auxs2c(s2c) | S │ │ │ │ -000025a0: 6f6d 6520 5f20 3d3e 2028 282a 676c 6f62 ome _ => ((*glob │ │ │ │ -000025b0: 616c 2a29 290a 2f2f 0a65 6e64 202f 2f20 al*)).//.end // │ │ │ │ -000025c0: 656e 6420 6f66 205b 656d 6974 5f64 6563 end of [emit_dec │ │ │ │ -000025d0: 6c5f 7332 6373 745d 0a0a 282a 202a 2a2a l_s2cst]..(* *** │ │ │ │ -000025e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i │ │ │ │ -000025f0: 6d70 6c65 6d65 6e74 0a65 6d69 745f 6465 mplement.emit_de │ │ │ │ -00002600: 636c 5f73 3263 7374 6c73 740a 2020 286f cl_s2cstlst. (o │ │ │ │ -00002610: 7574 2c20 7332 6373 2920 3d20 6c65 740a ut, s2cs) = let. │ │ │ │ -00002620: 2f2f 0a69 6d70 6c65 6d65 6e74 0a6c 6973 //.implement.lis │ │ │ │ -00002630: 745f 666f 7265 6163 6824 6677 6f72 6b3c t_foreach$fwork< │ │ │ │ -00002640: 7332 6373 743e 3c76 6f69 643e 0a20 2028 s2cst>. ( │ │ │ │ -00002650: 7332 632c 2065 6e76 2920 3d20 656d 6974 s2c, env) = emit │ │ │ │ -00002660: 5f64 6563 6c5f 7332 6373 7428 6f75 742c _decl_s2cst(out, │ │ │ │ -00002670: 2073 3263 290a 2f2f 0a69 6e0a 2020 6c69 s2c).//.in. li │ │ │ │ -00002680: 7374 5f66 6f72 6561 6368 2873 3263 7329 st_foreach(s2cs) │ │ │ │ -00002690: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [ │ │ │ │ -000026a0: 656d 6974 5f64 6563 6c5f 7332 6373 746c emit_decl_s2cstl │ │ │ │ -000026b0: 7374 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a st]..(* ****** * │ │ │ │ -000026c0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d 706c ***** *).//.impl │ │ │ │ -000026d0: 656d 656e 740a 656d 6974 5f64 6563 6c5f ement.emit_decl_ │ │ │ │ -000026e0: 7332 7661 720a 2020 286f 7574 2c20 7332 s2var. (out, s2 │ │ │ │ -000026f0: 7629 203d 207b 0a2f 2f0a 7661 6c20 2829 v) = {.//.val () │ │ │ │ -00002700: 203d 0a66 7072 696e 7420 280a 2020 6f75 =.fprint (. ou │ │ │ │ -00002710: 742c 2022 2864 6563 6c61 7265 2d66 756e t, "(declare-fun │ │ │ │ -00002720: 2022 0a29 2028 2a20 6670 7269 6e74 202a ".) (* fprint * │ │ │ │ -00002730: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em │ │ │ │ -00002740: 6974 5f73 3276 6172 286f 7574 2c20 7332 it_s2var(out, s2 │ │ │ │ -00002750: 7629 0a76 616c 2028 2920 3d20 6670 7269 v).val () = fpri │ │ │ │ -00002760: 6e74 2028 6f75 742c 2022 2028 2920 2229 nt (out, " () ") │ │ │ │ -00002770: 0a76 616c 2028 2920 3d20 656d 6974 5f73 .val () = emit_s │ │ │ │ -00002780: 3272 7428 6f75 742c 2073 3276 2e73 7274 2rt(out, s2v.srt │ │ │ │ -00002790: 2829 290a 7661 6c20 2829 203d 2066 7072 ()).val () = fpr │ │ │ │ -000027a0: 696e 746c 6e21 2028 6f75 742c 2022 2922 intln! (out, ")" │ │ │ │ -000027b0: 290a 2f2f 0a7d 2028 2a20 656e 6420 6f66 ).//.} (* end of │ │ │ │ -000027c0: 205b 6465 636c 5f73 3276 6172 5d20 2a29 [decl_s2var] *) │ │ │ │ -000027d0: 0a2f 2f0a 696d 706c 656d 656e 740a 656d .//.implement.em │ │ │ │ -000027e0: 6974 5f64 6563 6c5f 7332 7661 726c 7374 it_decl_s2varlst │ │ │ │ -000027f0: 0a20 2028 6f75 742c 2073 3276 7329 203d . (out, s2vs) = │ │ │ │ -00002800: 206c 6574 0a2f 2f0a 696d 706c 656d 656e let.//.implemen │ │ │ │ -00002810: 740a 6c69 7374 5f66 6f72 6561 6368 2466 t.list_foreach$f │ │ │ │ -00002820: 776f 726b 3c73 3276 6172 3e3c 766f 6964 work. (s2v, env) = │ │ │ │ -00002840: 2065 6d69 745f 6465 636c 5f73 3276 6172 emit_decl_s2var │ │ │ │ -00002850: 286f 7574 2c20 7332 7629 0a2f 2f0a 696e (out, s2v).//.in │ │ │ │ -00002860: 0a20 206c 6973 745f 666f 7265 6163 6828 . list_foreach( │ │ │ │ -00002870: 7332 7673 290a 656e 6420 2f2f 2065 6e64 s2vs).end // end │ │ │ │ -00002880: 206f 6620 5b65 6d69 745f 6465 636c 5f73 of [emit_decl_s │ │ │ │ -00002890: 3276 6172 6c73 745d 0a2f 2f0a 282a 202a 2varlst].//.(* * │ │ │ │ -000028a0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -000028b0: 0a69 6d70 6c65 6d65 6e74 0a65 6d69 745f .implement.emit_ │ │ │ │ -000028c0: 736f 6c76 6572 636d 640a 2020 286f 7574 solvercmd. (out │ │ │ │ -000028d0: 2c20 636d 6429 203d 206c 6574 0a2f 2f0a , cmd) = let.//. │ │ │ │ -000028e0: 282a 0a76 616c 2028 2920 3d0a 7072 696e (*.val () =.prin │ │ │ │ -000028f0: 746c 6e21 2028 2265 6d69 745f 736f 6c76 tln! ("emit_solv │ │ │ │ -00002900: 6572 636d 6422 290a 2a29 0a2f 2f0a 696e ercmd").*).//.in │ │ │ │ -00002910: 0a2f 2f0a 6361 7365 2b20 636d 6420 6f66 .//.case+ cmd of │ │ │ │ -00002920: 0a2f 2f0a 7c20 534f 4c56 4552 434d 4470 .//.| SOLVERCMDp │ │ │ │ -00002930: 6f70 2829 203d 3e20 6670 7269 6e74 6c6e op() => fprintln │ │ │ │ -00002940: 2120 286f 7574 2c20 2228 706f 7020 3129 ! (out, "(pop 1) │ │ │ │ -00002950: 2229 0a7c 2053 4f4c 5645 5243 4d44 7075 ").| SOLVERCMDpu │ │ │ │ -00002960: 7368 2829 203d 3e20 6670 7269 6e74 6c6e sh() => fprintln │ │ │ │ -00002970: 2120 286f 7574 2c20 2228 7075 7368 2031 ! (out, "(push 1 │ │ │ │ -00002980: 2922 290a 2f2f 0a7c 2053 4f4c 5645 5243 )").//.| SOLVERC │ │ │ │ -00002990: 4d44 6173 7365 7274 2866 6d6c 2920 3d3e MDassert(fml) => │ │ │ │ -000029a0: 0a20 207b 0a20 2020 2076 616c 2028 2920 . {. val () │ │ │ │ -000029b0: 3d0a 2020 2020 2020 6670 7269 6e74 286f =. fprint(o │ │ │ │ -000029c0: 7574 2c20 2228 6173 7365 7274 2022 290a ut, "(assert "). │ │ │ │ -000029d0: 2020 2020 2f2f 2065 6e64 206f 6620 5b76 // end of [v │ │ │ │ -000029e0: 616c 5d0a 2020 2020 7661 6c20 2829 203d al]. val () = │ │ │ │ -000029f0: 2065 6d69 745f 666f 726d 286f 7574 2c20 emit_form(out, │ │ │ │ -00002a00: 666d 6c29 0a20 2020 2076 616c 2028 2920 fml). val () │ │ │ │ -00002a10: 3d20 6670 7269 6e74 6c6e 2120 286f 7574 = fprintln! (out │ │ │ │ -00002a20: 2c20 2229 2229 0a20 207d 2028 2a20 656e , ")"). } (* en │ │ │ │ -00002a30: 6420 6f66 205b 534f 4c56 4552 434d 4461 d of [SOLVERCMDa │ │ │ │ -00002a40: 7373 6572 745d 202a 290a 2f2f 0a7c 2053 ssert] *).//.| S │ │ │ │ -00002a50: 4f4c 5645 5243 4d44 6368 6563 6b73 6174 OLVERCMDchecksat │ │ │ │ -00002a60: 0a20 2020 2028 282a 766f 6964 2a29 2920 . ((*void*)) │ │ │ │ -00002a70: 3d3e 2066 7072 696e 746c 6e21 2028 6f75 => fprintln! (ou │ │ │ │ -00002a80: 742c 2022 2863 6865 636b 2d73 6174 2922 t, "(check-sat)" │ │ │ │ -00002a90: 290a 2f2f 0a7c 2053 4f4c 5645 5243 4d44 ).//.| SOLVERCMD │ │ │ │ -00002aa0: 6563 686f 6c6f 6328 6c6f 6329 203d 3e0a echoloc(loc) =>. │ │ │ │ -00002ab0: 2020 7b0a 2020 2020 7661 6c20 2829 203d {. val () = │ │ │ │ -00002ac0: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out, │ │ │ │ -00002ad0: 2022 2865 6368 6f20 5c22 222c 206c 6f63 "(echo \"", loc │ │ │ │ -00002ae0: 2c20 225c 2229 2229 0a20 207d 0a2f 2f0a , "\")"). }.//. │ │ │ │ -00002af0: 7c20 534f 4c56 4552 434d 4470 6f70 656e | SOLVERCMDpopen │ │ │ │ -00002b00: 7620 5f20 3d3e 2028 2920 2f2f 2072 656d v _ => () // rem │ │ │ │ -00002b10: 6f76 6564 0a7c 2053 4f4c 5645 5243 4d44 oved.| SOLVERCMD │ │ │ │ -00002b20: 7075 7368 656e 7620 5f20 3d3e 2028 2920 pushenv _ => () │ │ │ │ -00002b30: 2f2f 2072 656d 6f76 6564 0a2f 2f0a 7c20 // removed.//.| │ │ │ │ -00002b40: 534f 4c56 4552 434d 4470 6f70 656e 7632 SOLVERCMDpopenv2 │ │ │ │ -00002b50: 205f 203d 3e0a 2020 7b0a 2020 2020 7661 _ =>. {. va │ │ │ │ -00002b60: 6c20 2828 2a76 6f69 642a 2929 203d 2066 l ((*void*)) = f │ │ │ │ -00002b70: 7072 696e 746c 6e21 2028 6f75 742c 2022 println! (out, " │ │ │ │ -00002b80: 2870 6f70 2031 2922 290a 2020 7d0a 7c20 (pop 1)"). }.| │ │ │ │ -00002b90: 534f 4c56 4552 434d 4470 7573 6865 6e76 SOLVERCMDpushenv │ │ │ │ -00002ba0: 3228 7332 7673 2920 3d3e 0a20 207b 0a20 2(s2vs) =>. {. │ │ │ │ -00002bb0: 2020 2076 616c 2028 282a 766f 6964 2a29 val ((*void*) │ │ │ │ -00002bc0: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o │ │ │ │ -00002bd0: 7574 2c20 2228 7075 7368 2031 2922 290a ut, "(push 1)"). │ │ │ │ -00002be0: 2020 2020 7661 6c20 2828 2a76 6f69 642a val ((*void* │ │ │ │ -00002bf0: 2929 203d 2065 6d69 745f 6465 636c 5f73 )) = emit_decl_s │ │ │ │ -00002c00: 3276 6172 6c73 7428 6f75 742c 2073 3276 2varlst(out, s2v │ │ │ │ -00002c10: 7329 0a20 207d 2028 2a20 534f 4c56 4552 s). } (* SOLVER │ │ │ │ -00002c20: 434d 4470 7573 6865 6e76 3220 2a29 0a2f CMDpushenv2 *)./ │ │ │ │ -00002c30: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of │ │ │ │ -00002c40: 5b65 6d69 745f 736f 6c76 6572 636d 645d [emit_solvercmd] │ │ │ │ -00002c50: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00002c60: 2a2a 202a 290a 0a69 6d70 6c65 6d65 6e74 ** *)..implement │ │ │ │ -00002c70: 0a65 6d69 745f 736f 6c76 6572 636d 646c .emit_solvercmdl │ │ │ │ -00002c80: 7374 0a20 2028 6f75 742c 2063 6d64 7329 st. (out, cmds) │ │ │ │ -00002c90: 203d 0a28 0a2f 2f0a 6361 7365 2b20 636d =.(.//.case+ cm │ │ │ │ -00002ca0: 6473 206f 660a 7c20 6c69 7374 5f6e 696c ds of.| list_nil │ │ │ │ -00002cb0: 2829 203d 3e20 2829 0a7c 206c 6973 745f () => ().| list_ │ │ │ │ -00002cc0: 636f 6e73 2863 6d64 2c20 636d 6473 2920 cons(cmd, cmds) │ │ │ │ -00002cd0: 3d3e 0a20 207b 0a20 2020 2076 616c 2028 =>. {. val ( │ │ │ │ -00002ce0: 2920 3d20 656d 6974 5f73 6f6c 7665 7263 ) = emit_solverc │ │ │ │ -00002cf0: 6d64 286f 7574 2c20 636d 6429 0a20 2020 md(out, cmd). │ │ │ │ -00002d00: 2076 616c 2028 2920 3d20 656d 6974 5f73 val () = emit_s │ │ │ │ -00002d10: 6f6c 7665 7263 6d64 6c73 7428 6f75 742c olvercmdlst(out, │ │ │ │ -00002d20: 2063 6d64 7329 0a20 207d 2028 2a20 656e cmds). } (* en │ │ │ │ -00002d30: 6420 6f66 205b 6c69 7374 5f63 6f6e 735d d of [list_cons] │ │ │ │ -00002d40: 202a 290a 2f2f 0a29 2028 2a20 656e 6420 *).//.) (* end │ │ │ │ -00002d50: 6f66 205b 656d 6974 5f73 6f6c 7665 7263 of [emit_solverc │ │ │ │ -00002d60: 6d64 6c73 745d 202a 290a 0a28 2a20 2a2a mdlst] *)..(* ** │ │ │ │ -00002d70: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -00002d80: 696d 706c 656d 656e 740a 656d 6974 5f70 implement.emit_p │ │ │ │ -00002d90: 7265 616d 626c 6528 6f75 7429 203d 207b reamble(out) = { │ │ │ │ -00002da0: 0a2f 2f0a 6d61 6364 6566 0a65 6d69 746c .//.macdef.emitl │ │ │ │ -00002db0: 6e28 7829 203d 2066 7072 696e 746c 6e21 n(x) = fprintln! │ │ │ │ -00002dc0: 2028 6f75 742c 202c 2878 2929 0a2f 2f0a (out, ,(x)).//. │ │ │ │ -00002dd0: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00002de0: 223b 3b22 290a 7661 6c20 2829 203d 2065 ";;").val () = e │ │ │ │ -00002df0: 6d69 746c 6e28 223b 3b42 7920 5b70 6174 mitln(";;By [pat │ │ │ │ -00002e00: 736f 6c76 655f 736d 7432 5d3a 2229 0a76 solve_smt2]:").v │ │ │ │ -00002e10: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00002e20: 3b3b 2229 0a2f 2f0a 7661 6c20 2829 203d ;;").//.val () = │ │ │ │ -00002e30: 2065 6d69 746c 6e28 2228 6465 636c 6172 emitln("(declar │ │ │ │ -00002e40: 652d 736f 7274 2073 3272 745f 636c 7320 e-sort s2rt_cls │ │ │ │ -00002e50: 3029 2229 0a76 616c 2028 2920 3d20 656d 0)").val () = em │ │ │ │ -00002e60: 6974 6c6e 2822 2864 6563 6c61 7265 2d73 itln("(declare-s │ │ │ │ -00002e70: 6f72 7420 7332 7274 5f65 6666 2030 2922 ort s2rt_eff 0)" │ │ │ │ -00002e80: 290a 7661 6c20 2829 203d 2065 6d69 746c ).val () = emitl │ │ │ │ -00002e90: 6e28 2228 6465 636c 6172 652d 736f 7274 n("(declare-sort │ │ │ │ -00002ea0: 2073 3272 745f 7072 6f70 2030 2922 290a s2rt_prop 0)"). │ │ │ │ -00002eb0: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00002ec0: 2228 6465 636c 6172 652d 736f 7274 2073 "(declare-sort s │ │ │ │ -00002ed0: 3272 745f 7430 7970 6520 3029 2229 0a76 2rt_t0ype 0)").v │ │ │ │ -00002ee0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00002ef0: 2864 6563 6c61 7265 2d73 6f72 7420 7332 (declare-sort s2 │ │ │ │ -00002f00: 7274 5f74 6b69 6e64 2030 2922 290a 7661 rt_tkind 0)").va │ │ │ │ -00002f10: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -00002f20: 6465 636c 6172 652d 736f 7274 2073 3272 declare-sort s2r │ │ │ │ -00002f30: 745f 6572 726f 7220 3029 2229 0a2f 2f0a t_error 0)").//. │ │ │ │ -00002f40: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00002f50: 2228 6465 6669 6e65 2d73 6f72 7420 7332 "(define-sort s2 │ │ │ │ -00002f60: 7274 5f69 6e74 2028 2920 496e 7429 2229 rt_int () Int)") │ │ │ │ -00002f70: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -00002f80: 2822 2864 6566 696e 652d 736f 7274 2073 ("(define-sort s │ │ │ │ -00002f90: 3272 745f 6164 6472 2028 2920 496e 7429 2rt_addr () Int) │ │ │ │ -00002fa0: 2229 0a76 616c 2028 2920 3d20 656d 6974 ").val () = emit │ │ │ │ -00002fb0: 6c6e 2822 2864 6566 696e 652d 736f 7274 ln("(define-sort │ │ │ │ -00002fc0: 2073 3272 745f 626f 6f6c 2028 2920 426f s2rt_bool () Bo │ │ │ │ -00002fd0: 6f6c 2922 290a 2f2f 0a76 616c 2028 2920 ol)").//.val () │ │ │ │ -00002fe0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln("(defin │ │ │ │ -00002ff0: 652d 736f 7274 2066 696c 655f 6d6f 6465 e-sort file_mode │ │ │ │ -00003000: 2028 2920 496e 7429 2229 0a2f 2f0a 7661 () Int)").//.va │ │ │ │ -00003010: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -00003020: 6465 6669 6e65 2d73 6f72 7420 7332 7274 define-sort s2rt │ │ │ │ -00003030: 5f76 6965 7720 2829 2073 3272 745f 7072 _view () s2rt_pr │ │ │ │ -00003040: 6f70 2922 290a 7661 6c20 2829 203d 2065 op)").val () = e │ │ │ │ -00003050: 6d69 746c 6e28 2228 6465 6669 6e65 2d73 mitln("(define-s │ │ │ │ -00003060: 6f72 7420 7332 7274 5f74 7970 6520 2829 ort s2rt_type () │ │ │ │ -00003070: 2073 3272 745f 7430 7970 6529 2229 0a76 s2rt_t0ype)").v │ │ │ │ -00003080: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003090: 2864 6566 696e 652d 736f 7274 2073 3272 (define-sort s2r │ │ │ │ -000030a0: 745f 7674 7970 6520 2829 2073 3272 745f t_vtype () s2rt_ │ │ │ │ -000030b0: 7430 7970 6529 2229 0a76 616c 2028 2920 t0ype)").val () │ │ │ │ -000030c0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln("(defin │ │ │ │ -000030d0: 652d 736f 7274 2073 3272 745f 7674 3079 e-sort s2rt_vt0y │ │ │ │ -000030e0: 7065 2028 2920 7332 7274 5f74 3079 7065 pe () s2rt_t0ype │ │ │ │ -000030f0: 2922 290a 2f2f 0a76 616c 2028 2920 3d20 )").//.val () = │ │ │ │ -00003100: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln("(define- │ │ │ │ -00003110: 6675 6e20 756e 6974 5f70 2028 2920 426f fun unit_p () Bo │ │ │ │ -00003120: 6f6c 2074 7275 6529 2229 0a2f 2f0a 7661 ol true)").//.va │ │ │ │ -00003130: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -00003140: 6465 6669 6e65 2d66 756e 2073 3265 7870 define-fun s2exp │ │ │ │ -00003150: 5f66 756e 2028 2878 2042 6f6f 6c29 2920 _fun ((x Bool)) │ │ │ │ -00003160: 426f 6f6c 2078 2922 290a 7661 6c20 2829 Bool x)").val () │ │ │ │ -00003170: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln("(defi │ │ │ │ -00003180: 6e65 2d66 756e 2073 3265 7870 5f65 7165 ne-fun s2exp_eqe │ │ │ │ -00003190: 7120 2828 7820 426f 6f6c 2929 2042 6f6f q ((x Bool)) Boo │ │ │ │ -000031a0: 6c20 7829 2229 0a76 616c 2028 2920 3d20 l x)").val () = │ │ │ │ -000031b0: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln("(define- │ │ │ │ -000031c0: 6675 6e20 7332 6578 705f 6d65 7464 6563 fun s2exp_metdec │ │ │ │ -000031d0: 2028 2878 2042 6f6f 6c29 2920 426f 6f6c ((x Bool)) Bool │ │ │ │ -000031e0: 2078 2922 290a 2f2f 0a76 616c 2028 2920 x)").//.val () │ │ │ │ -000031f0: 3d20 656d 6974 6c6e 2822 2864 6563 6c61 = emitln("(decla │ │ │ │ -00003200: 7265 2d66 756e 2073 3265 7870 5f73 697a re-fun s2exp_siz │ │ │ │ -00003210: 656f 6620 2873 3272 745f 7430 7970 6529 eof (s2rt_t0ype) │ │ │ │ -00003220: 2049 6e74 2922 290a 2f2f 0a76 616c 2028 Int)").//.val ( │ │ │ │ -00003230: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -00003240: 696e 652d 6675 6e20 6e65 675f 696e 7420 ine-fun neg_int │ │ │ │ -00003250: 2828 7820 496e 7429 2920 496e 7420 282d ((x Int)) Int (- │ │ │ │ -00003260: 2078 2929 2229 0a76 616c 2028 2920 3d20 x))").val () = │ │ │ │ -00003270: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln("(define- │ │ │ │ -00003280: 6675 6e20 6162 735f 696e 7420 2828 7820 fun abs_int ((x │ │ │ │ -00003290: 496e 7429 2920 496e 7420 2861 6273 2078 Int)) Int (abs x │ │ │ │ -000032a0: 2929 2229 0a76 616c 2028 2920 3d20 656d ))").val () = em │ │ │ │ -000032b0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -000032c0: 6e20 6164 645f 696e 745f 696e 7420 2828 n add_int_int (( │ │ │ │ -000032d0: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) │ │ │ │ -000032e0: 496e 7420 282b 2078 2079 2929 2229 0a76 Int (+ x y))").v │ │ │ │ -000032f0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003300: 2864 6566 696e 652d 6675 6e20 7375 625f (define-fun sub_ │ │ │ │ -00003310: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int) │ │ │ │ -00003320: 2028 7920 496e 7429 2920 496e 7420 282d (y Int)) Int (- │ │ │ │ -00003330: 2078 2079 2929 2229 0a76 616c 2028 2920 x y))").val () │ │ │ │ -00003340: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln("(defin │ │ │ │ -00003350: 652d 6675 6e20 6d75 6c5f 696e 745f 696e e-fun mul_int_in │ │ │ │ -00003360: 7420 2828 7820 496e 7429 2028 7920 496e t ((x Int) (y In │ │ │ │ -00003370: 7429 2920 496e 7420 282a 2078 2079 2929 t)) Int (* x y)) │ │ │ │ -00003380: 2229 0a76 616c 2028 2920 3d20 656d 6974 ").val () = emit │ │ │ │ -00003390: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln("(define-fun │ │ │ │ -000033a0: 6469 765f 696e 745f 696e 7420 2828 7820 div_int_int ((x │ │ │ │ -000033b0: 496e 7429 2028 7920 496e 7429 2920 496e Int) (y Int)) In │ │ │ │ -000033c0: 7420 2864 6976 2078 2079 2929 2229 0a76 t (div x y))").v │ │ │ │ -000033d0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -000033e0: 2864 6566 696e 652d 6675 6e20 6d6f 645f (define-fun mod_ │ │ │ │ -000033f0: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int) │ │ │ │ -00003400: 2028 7920 496e 7429 2920 496e 7420 286d (y Int)) Int (m │ │ │ │ -00003410: 6f64 2078 2079 2929 2229 0a2f 2f0a 7661 od x y))").//.va │ │ │ │ -00003420: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -00003430: 6465 6669 6e65 2d66 756e 2069 6469 765f define-fun idiv_ │ │ │ │ -00003440: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int) │ │ │ │ -00003450: 2028 7920 496e 7429 2920 496e 7420 2864 (y Int)) Int (d │ │ │ │ -00003460: 6976 2078 2079 2929 2229 0a76 616c 2028 iv x y))").val ( │ │ │ │ -00003470: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -00003480: 696e 652d 6675 6e20 6e64 6976 5f69 6e74 ine-fun ndiv_int │ │ │ │ -00003490: 5f69 6e74 2028 2878 2049 6e74 2920 2879 _int ((x Int) (y │ │ │ │ -000034a0: 2049 6e74 2929 2049 6e74 2028 6469 7620 Int)) Int (div │ │ │ │ -000034b0: 7820 7929 2922 290a 2f2f 0a76 616c 2028 x y))").//.val ( │ │ │ │ -000034c0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -000034d0: 696e 652d 6675 6e20 6571 5f69 6e74 5f69 ine-fun eq_int_i │ │ │ │ -000034e0: 6e74 2028 2878 2049 6e74 2920 2879 2049 nt ((x Int) (y I │ │ │ │ -000034f0: 6e74 2929 2042 6f6f 6c20 283d 2078 2079 nt)) Bool (= x y │ │ │ │ -00003500: 2929 2229 0a76 616c 2028 2920 3d20 656d ))").val () = em │ │ │ │ -00003510: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -00003520: 6e20 6c74 5f69 6e74 5f69 6e74 2028 2878 n lt_int_int ((x │ │ │ │ -00003530: 2049 6e74 2920 2879 2049 6e74 2929 2042 Int) (y Int)) B │ │ │ │ -00003540: 6f6f 6c20 283c 2078 2079 2929 2229 0a76 ool (< x y))").v │ │ │ │ -00003550: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003560: 2864 6566 696e 652d 6675 6e20 6774 5f69 (define-fun gt_i │ │ │ │ -00003570: 6e74 5f69 6e74 2028 2878 2049 6e74 2920 nt_int ((x Int) │ │ │ │ -00003580: 2879 2049 6e74 2929 2042 6f6f 6c20 283e (y Int)) Bool (> │ │ │ │ -00003590: 2078 2079 2929 2229 0a76 616c 2028 2920 x y))").val () │ │ │ │ -000035a0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln("(defin │ │ │ │ -000035b0: 652d 6675 6e20 6c74 655f 696e 745f 696e e-fun lte_int_in │ │ │ │ -000035c0: 7420 2828 7820 496e 7429 2028 7920 496e t ((x Int) (y In │ │ │ │ -000035d0: 7429 2920 426f 6f6c 2028 3c3d 2078 2079 t)) Bool (<= x y │ │ │ │ -000035e0: 2929 2229 0a76 616c 2028 2920 3d20 656d ))").val () = em │ │ │ │ -000035f0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -00003600: 6e20 6774 655f 696e 745f 696e 7420 2828 n gte_int_int (( │ │ │ │ -00003610: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) │ │ │ │ -00003620: 426f 6f6c 2028 3e3d 2078 2079 2929 2229 Bool (>= x y))") │ │ │ │ -00003630: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -00003640: 2822 2864 6566 696e 652d 6675 6e20 6e65 ("(define-fun ne │ │ │ │ -00003650: 715f 696e 745f 696e 7420 2828 7820 496e q_int_int ((x In │ │ │ │ -00003660: 7429 2028 7920 496e 7429 2920 426f 6f6c t) (y Int)) Bool │ │ │ │ -00003670: 2028 6e6f 7420 283d 2078 2079 2929 2922 (not (= x y)))" │ │ │ │ -00003680: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em │ │ │ │ -00003690: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -000036a0: 6e20 6d61 785f 696e 745f 696e 7420 2828 n max_int_int (( │ │ │ │ -000036b0: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) │ │ │ │ -000036c0: 496e 7420 2869 7465 2028 3e3d 2078 2079 Int (ite (>= x y │ │ │ │ -000036d0: 2920 7820 7929 2922 290a 7661 6c20 2829 ) x y))").val () │ │ │ │ -000036e0: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln("(defi │ │ │ │ -000036f0: 6e65 2d66 756e 206d 696e 5f69 6e74 5f69 ne-fun min_int_i │ │ │ │ -00003700: 6e74 2028 2878 2049 6e74 2920 2879 2049 nt ((x Int) (y I │ │ │ │ -00003710: 6e74 2929 2049 6e74 2028 6974 6520 283c nt)) Int (ite (< │ │ │ │ -00003720: 3d20 7820 7929 2078 2079 2929 2229 0a2f = x y) x y))")./ │ │ │ │ -00003730: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl │ │ │ │ -00003740: 6e28 2228 6465 6669 6e65 2d66 756e 2073 n("(define-fun s │ │ │ │ -00003750: 676e 5f69 6e74 2028 2878 2049 6e74 2929 gn_int ((x Int)) │ │ │ │ -00003760: 2049 6e74 2028 6974 6520 283e 2078 2030 Int (ite (> x 0 │ │ │ │ -00003770: 2920 3120 2869 7465 2028 3e3d 2078 2030 ) 1 (ite (>= x 0 │ │ │ │ -00003780: 2920 3020 282d 2031 2929 2929 2229 0a2f ) 0 (- 1))))")./ │ │ │ │ -00003790: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl │ │ │ │ -000037a0: 6e28 2228 6465 6669 6e65 2d66 756e 206e n("(define-fun n │ │ │ │ -000037b0: 756c 6c5f 6164 6472 2028 2920 7332 7274 ull_addr () s2rt │ │ │ │ -000037c0: 5f61 6464 7220 3029 2229 0a2f 2f0a 7661 _addr 0)").//.va │ │ │ │ -000037d0: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -000037e0: 6465 6669 6e65 2d66 756e 2061 6464 5f61 define-fun add_a │ │ │ │ -000037f0: 6464 725f 696e 7420 2828 7820 7332 7274 ddr_int ((x s2rt │ │ │ │ -00003800: 5f61 6464 7229 2028 7920 496e 7429 2920 _addr) (y Int)) │ │ │ │ -00003810: 7332 7274 5f61 6464 7220 282b 2078 2079 s2rt_addr (+ x y │ │ │ │ -00003820: 2929 2229 0a76 616c 2028 2920 3d20 656d ))").val () = em │ │ │ │ -00003830: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -00003840: 6e20 7375 625f 6164 6472 5f69 6e74 2028 n sub_addr_int ( │ │ │ │ -00003850: 2878 2073 3272 745f 6164 6472 2920 2879 (x s2rt_addr) (y │ │ │ │ -00003860: 2049 6e74 2929 2073 3272 745f 6164 6472 Int)) s2rt_addr │ │ │ │ -00003870: 2028 2d20 7820 7929 2922 290a 2f2f 0a76 (- x y))").//.v │ │ │ │ -00003880: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003890: 2864 6566 696e 652d 6675 6e20 6571 5f61 (define-fun eq_a │ │ │ │ -000038a0: 6464 725f 6164 6472 2028 2878 2073 3272 ddr_addr ((x s2r │ │ │ │ -000038b0: 745f 6164 6472 2920 2879 2073 3272 745f t_addr) (y s2rt_ │ │ │ │ -000038c0: 6164 6472 2929 2042 6f6f 6c20 283d 2078 addr)) Bool (= x │ │ │ │ -000038d0: 2079 2929 2229 0a76 616c 2028 2920 3d20 y))").val () = │ │ │ │ -000038e0: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln("(define- │ │ │ │ -000038f0: 6675 6e20 6c74 5f61 6464 725f 6164 6472 fun lt_addr_addr │ │ │ │ -00003900: 2028 2878 2073 3272 745f 6164 6472 2920 ((x s2rt_addr) │ │ │ │ -00003910: 2879 2073 3272 745f 6164 6472 2929 2042 (y s2rt_addr)) B │ │ │ │ -00003920: 6f6f 6c20 283c 2078 2079 2929 2229 0a76 ool (< x y))").v │ │ │ │ -00003930: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003940: 2864 6566 696e 652d 6675 6e20 6774 5f61 (define-fun gt_a │ │ │ │ -00003950: 6464 725f 6164 6472 2028 2878 2073 3272 ddr_addr ((x s2r │ │ │ │ -00003960: 745f 6164 6472 2920 2879 2073 3272 745f t_addr) (y s2rt_ │ │ │ │ -00003970: 6164 6472 2929 2042 6f6f 6c20 283e 2078 addr)) Bool (> x │ │ │ │ -00003980: 2079 2929 2229 0a76 616c 2028 2920 3d20 y))").val () = │ │ │ │ -00003990: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln("(define- │ │ │ │ -000039a0: 6675 6e20 6c74 655f 6164 6472 5f61 6464 fun lte_addr_add │ │ │ │ -000039b0: 7220 2828 7820 7332 7274 5f61 6464 7229 r ((x s2rt_addr) │ │ │ │ -000039c0: 2028 7920 7332 7274 5f61 6464 7229 2920 (y s2rt_addr)) │ │ │ │ -000039d0: 426f 6f6c 2028 3c3d 2078 2079 2929 2229 Bool (<= x y))") │ │ │ │ -000039e0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -000039f0: 2822 2864 6566 696e 652d 6675 6e20 6774 ("(define-fun gt │ │ │ │ -00003a00: 655f 6164 6472 5f61 6464 7220 2828 7820 e_addr_addr ((x │ │ │ │ -00003a10: 7332 7274 5f61 6464 7229 2028 7920 7332 s2rt_addr) (y s2 │ │ │ │ -00003a20: 7274 5f61 6464 7229 2920 426f 6f6c 2028 rt_addr)) Bool ( │ │ │ │ -00003a30: 3e3d 2078 2079 2929 2229 0a76 616c 2028 >= x y))").val ( │ │ │ │ -00003a40: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -00003a50: 696e 652d 6675 6e20 6e65 715f 6164 6472 ine-fun neq_addr │ │ │ │ -00003a60: 5f61 6464 7220 2828 7820 7332 7274 5f61 _addr ((x s2rt_a │ │ │ │ -00003a70: 6464 7229 2028 7920 7332 7274 5f61 6464 ddr) (y s2rt_add │ │ │ │ -00003a80: 7229 2920 426f 6f6c 2028 6e6f 7420 283d r)) Bool (not (= │ │ │ │ -00003a90: 2078 2079 2929 2922 290a 2f2f 0a76 616c x y)))").//.val │ │ │ │ -00003aa0: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln("(d │ │ │ │ -00003ab0: 6566 696e 652d 6675 6e20 7472 7565 5f62 efine-fun true_b │ │ │ │ -00003ac0: 6f6f 6c20 2829 2042 6f6f 6c20 7472 7565 ool () Bool true │ │ │ │ -00003ad0: 2922 290a 7661 6c20 2829 203d 2065 6d69 )").val () = emi │ │ │ │ -00003ae0: 746c 6e28 2228 6465 6669 6e65 2d66 756e tln("(define-fun │ │ │ │ -00003af0: 2066 616c 7365 5f62 6f6f 6c20 2829 2042 false_bool () B │ │ │ │ -00003b00: 6f6f 6c20 6661 6c73 6529 2229 0a2f 2f0a ool false)").//. │ │ │ │ -00003b10: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00003b20: 2228 6465 6669 6e65 2d66 756e 206e 6567 "(define-fun neg │ │ │ │ -00003b30: 5f62 6f6f 6c20 2828 7820 426f 6f6c 2929 _bool ((x Bool)) │ │ │ │ -00003b40: 2042 6f6f 6c20 286e 6f74 2078 2929 2229 Bool (not x))") │ │ │ │ -00003b50: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -00003b60: 2822 2864 6566 696e 652d 6675 6e20 6164 ("(define-fun ad │ │ │ │ -00003b70: 645f 626f 6f6c 5f62 6f6f 6c20 2828 7820 d_bool_bool ((x │ │ │ │ -00003b80: 426f 6f6c 2920 2879 2042 6f6f 6c29 2920 Bool) (y Bool)) │ │ │ │ -00003b90: 426f 6f6c 2028 6f72 2078 2079 2929 2229 Bool (or x y))") │ │ │ │ -00003ba0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -00003bb0: 2822 2864 6566 696e 652d 6675 6e20 6d75 ("(define-fun mu │ │ │ │ -00003bc0: 6c5f 626f 6f6c 5f62 6f6f 6c20 2828 7820 l_bool_bool ((x │ │ │ │ -00003bd0: 426f 6f6c 2920 2879 2042 6f6f 6c29 2920 Bool) (y Bool)) │ │ │ │ -00003be0: 426f 6f6c 2028 616e 6420 7820 7929 2922 Bool (and x y))" │ │ │ │ -00003bf0: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em │ │ │ │ -00003c00: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -00003c10: 6e20 6571 5f62 6f6f 6c5f 626f 6f6c 2028 n eq_bool_bool ( │ │ │ │ -00003c20: 2878 2042 6f6f 6c29 2028 7920 426f 6f6c (x Bool) (y Bool │ │ │ │ -00003c30: 2929 2042 6f6f 6c20 283d 2078 2079 2929 )) Bool (= x y)) │ │ │ │ -00003c40: 2229 0a76 616c 2028 2920 3d20 656d 6974 ").val () = emit │ │ │ │ -00003c50: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln("(define-fun │ │ │ │ -00003c60: 6c74 5f62 6f6f 6c5f 626f 6f6c 2028 2878 lt_bool_bool ((x │ │ │ │ -00003c70: 2042 6f6f 6c29 2028 7920 426f 6f6c 2929 Bool) (y Bool)) │ │ │ │ -00003c80: 2042 6f6f 6c20 2861 6e64 2028 6e6f 7420 Bool (and (not │ │ │ │ -00003c90: 7829 2079 2929 2229 0a76 616c 2028 2920 x) y))").val () │ │ │ │ -00003ca0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln("(defin │ │ │ │ -00003cb0: 652d 6675 6e20 6774 5f62 6f6f 6c5f 626f e-fun gt_bool_bo │ │ │ │ -00003cc0: 6f6c 2028 2878 2042 6f6f 6c29 2028 7920 ol ((x Bool) (y │ │ │ │ -00003cd0: 426f 6f6c 2929 2042 6f6f 6c20 2861 6e64 Bool)) Bool (and │ │ │ │ -00003ce0: 2078 2028 6e6f 7420 7929 2929 2229 0a76 x (not y)))").v │ │ │ │ -00003cf0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00003d00: 2864 6566 696e 652d 6675 6e20 6e65 715f (define-fun neq_ │ │ │ │ -00003d10: 626f 6f6c 5f62 6f6f 6c20 2828 7820 426f bool_bool ((x Bo │ │ │ │ -00003d20: 6f6c 2920 2879 2042 6f6f 6c29 2920 426f ol) (y Bool)) Bo │ │ │ │ -00003d30: 6f6c 2028 6e6f 7420 283d 2078 2079 2929 ol (not (= x y)) │ │ │ │ -00003d40: 2922 290a 7661 6c20 2829 203d 2065 6d69 )").val () = emi │ │ │ │ -00003d50: 746c 6e28 2228 6465 6669 6e65 2d66 756e tln("(define-fun │ │ │ │ -00003d60: 206c 7465 5f62 6f6f 6c5f 626f 6f6c 2028 lte_bool_bool ( │ │ │ │ -00003d70: 2878 2042 6f6f 6c29 2028 7920 426f 6f6c (x Bool) (y Bool │ │ │ │ -00003d80: 2929 2042 6f6f 6c20 286f 7220 286e 6f74 )) Bool (or (not │ │ │ │ -00003d90: 2078 2920 7929 2922 290a 7661 6c20 2829 x) y))").val () │ │ │ │ -00003da0: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln("(defi │ │ │ │ -00003db0: 6e65 2d66 756e 2067 7465 5f62 6f6f 6c5f ne-fun gte_bool_ │ │ │ │ -00003dc0: 626f 6f6c 2028 2878 2042 6f6f 6c29 2028 bool ((x Bool) ( │ │ │ │ -00003dd0: 7920 426f 6f6c 2929 2042 6f6f 6c20 286f y Bool)) Bool (o │ │ │ │ -00003de0: 7220 7820 286e 6f74 2079 2929 2922 290a r x (not y)))"). │ │ │ │ -00003df0: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [ │ │ │ │ -00003e00: 656d 6974 5f70 7265 616d 626c 655d 202a emit_preamble] * │ │ │ │ -00003e10: 290a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a )..(* ****** *** │ │ │ │ -00003e20: 2a2a 2a20 2a29 0a0a 696d 706c 656d 656e *** *)..implemen │ │ │ │ -00003e30: 740a 656d 6974 5f70 7265 616d 626c 655f t.emit_preamble_ │ │ │ │ -00003e40: 7265 616c 286f 7574 2920 3d20 7b0a 2f2f real(out) = {.// │ │ │ │ -00003e50: 0a6d 6163 6465 660a 656d 6974 6c6e 2878 .macdef.emitln(x │ │ │ │ -00003e60: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o │ │ │ │ -00003e70: 7574 2c20 2c28 7829 290a 2f2f 0a76 616c ut, ,(x)).//.val │ │ │ │ -00003e80: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(";; │ │ │ │ -00003e90: 2229 0a76 616c 2028 2920 3d20 656d 6974 ").val () = emit │ │ │ │ -00003ea0: 6c6e 2822 3b3b 656d 6974 5f70 7265 616d ln(";;emit_pream │ │ │ │ -00003eb0: 626c 655f 7265 616c 2829 2229 0a76 616c ble_real()").val │ │ │ │ -00003ec0: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(";; │ │ │ │ -00003ed0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 ").//.val () = e │ │ │ │ -00003ee0: 6d69 746c 6e28 2228 6465 6669 6e65 2d73 mitln("(define-s │ │ │ │ -00003ef0: 6f72 7420 7332 7274 5f72 6561 6c20 2829 ort s2rt_real () │ │ │ │ -00003f00: 2052 6561 6c29 2229 0a2f 2f0a 7661 6c20 Real)").//.val │ │ │ │ -00003f10: 2829 203d 2065 6d69 746c 6e28 2228 6465 () = emitln("(de │ │ │ │ -00003f20: 6669 6e65 2d66 756e 2069 6e74 3272 6561 fine-fun int2rea │ │ │ │ -00003f30: 6c20 2828 7820 496e 7429 2920 5265 616c l ((x Int)) Real │ │ │ │ -00003f40: 2028 746f 5f72 6561 6c20 7829 2922 290a (to_real x))"). │ │ │ │ -00003f50: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00003f60: 2228 6465 6669 6e65 2d66 756e 2066 6c6f "(define-fun flo │ │ │ │ -00003f70: 6f72 5f72 6561 6c20 2828 7820 5265 616c or_real ((x Real │ │ │ │ -00003f80: 2929 2049 6e74 2028 746f 5f69 6e74 2078 )) Int (to_int x │ │ │ │ -00003f90: 2929 2229 0a76 616c 2028 2920 3d20 656d ))").val () = em │ │ │ │ -00003fa0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln("(define-fu │ │ │ │ -00003fb0: 6e20 6973 696e 745f 7265 616c 2028 2878 n isint_real ((x │ │ │ │ -00003fc0: 2052 6561 6c29 2920 426f 6f6c 2028 6973 Real)) Bool (is │ │ │ │ -00003fd0: 5f69 6e74 2078 2929 2229 0a2f 2f0a 7661 _int x))").//.va │ │ │ │ -00003fe0: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln("( │ │ │ │ -00003ff0: 6465 6669 6e65 2d66 756e 206e 6567 5f72 define-fun neg_r │ │ │ │ -00004000: 6561 6c20 2828 7820 5265 616c 2929 2052 eal ((x Real)) R │ │ │ │ -00004010: 6561 6c20 282d 2078 2929 2229 0a76 616c eal (- x))").val │ │ │ │ -00004020: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln("(d │ │ │ │ -00004030: 6566 696e 652d 6675 6e20 6162 735f 7265 efine-fun abs_re │ │ │ │ -00004040: 616c 2028 2878 2052 6561 6c29 2920 5265 al ((x Real)) Re │ │ │ │ -00004050: 616c 2028 6974 6520 283e 3d20 7820 302e al (ite (>= x 0. │ │ │ │ -00004060: 3029 2078 2028 2d20 7829 2929 2229 0a2f 0) x (- x)))")./ │ │ │ │ -00004070: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl │ │ │ │ -00004080: 6e28 2228 6465 6669 6e65 2d66 756e 2061 n("(define-fun a │ │ │ │ -00004090: 6464 5f72 6561 6c5f 7265 616c 2028 2878 dd_real_real ((x │ │ │ │ -000040a0: 2052 6561 6c29 2028 7920 5265 616c 2929 Real) (y Real)) │ │ │ │ -000040b0: 2052 6561 6c20 282b 2078 2079 2929 2229 Real (+ x y))") │ │ │ │ -000040c0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -000040d0: 2822 2864 6566 696e 652d 6675 6e20 7375 ("(define-fun su │ │ │ │ -000040e0: 625f 7265 616c 5f72 6561 6c20 2828 7820 b_real_real ((x │ │ │ │ -000040f0: 5265 616c 2920 2879 2052 6561 6c29 2920 Real) (y Real)) │ │ │ │ -00004100: 5265 616c 2028 2d20 7820 7929 2922 290a Real (- x y))"). │ │ │ │ -00004110: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln( │ │ │ │ -00004120: 2228 6465 6669 6e65 2d66 756e 206d 756c "(define-fun mul │ │ │ │ -00004130: 5f72 6561 6c5f 7265 616c 2028 2878 2052 _real_real ((x R │ │ │ │ -00004140: 6561 6c29 2028 7920 5265 616c 2929 2052 eal) (y Real)) R │ │ │ │ -00004150: 6561 6c20 282a 2078 2079 2929 2229 0a76 eal (* x y))").v │ │ │ │ -00004160: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00004170: 2864 6566 696e 652d 6675 6e20 6469 765f (define-fun div_ │ │ │ │ -00004180: 7265 616c 5f72 6561 6c20 2828 7820 5265 real_real ((x Re │ │ │ │ -00004190: 616c 2920 2879 2052 6561 6c29 2920 5265 al) (y Real)) Re │ │ │ │ -000041a0: 616c 2028 2f20 7820 7929 2922 290a 2f2f al (/ x y))").// │ │ │ │ -000041b0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln │ │ │ │ -000041c0: 2822 2864 6566 696e 652d 6675 6e20 6571 ("(define-fun eq │ │ │ │ -000041d0: 5f72 6561 6c5f 7265 616c 2028 2878 2052 _real_real ((x R │ │ │ │ -000041e0: 6561 6c29 2028 7920 5265 616c 2929 2042 eal) (y Real)) B │ │ │ │ -000041f0: 6f6f 6c20 283d 2078 2079 2929 2229 0a76 ool (= x y))").v │ │ │ │ -00004200: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(" │ │ │ │ -00004210: 2864 6566 696e 652d 6675 6e20 6c74 5f72 (define-fun lt_r │ │ │ │ -00004220: 6561 6c5f 7265 616c 2028 2878 2052 6561 eal_real ((x Rea │ │ │ │ -00004230: 6c29 2028 7920 5265 616c 2929 2042 6f6f l) (y Real)) Boo │ │ │ │ -00004240: 6c20 283c 2078 2079 2929 2229 0a76 616c l (< x y))").val │ │ │ │ -00004250: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln("(d │ │ │ │ -00004260: 6566 696e 652d 6675 6e20 6774 5f72 6561 efine-fun gt_rea │ │ │ │ -00004270: 6c5f 7265 616c 2028 2878 2052 6561 6c29 l_real ((x Real) │ │ │ │ -00004280: 2028 7920 5265 616c 2929 2042 6f6f 6c20 (y Real)) Bool │ │ │ │ -00004290: 283e 2078 2079 2929 2229 0a76 616c 2028 (> x y))").val ( │ │ │ │ -000042a0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -000042b0: 696e 652d 6675 6e20 6c74 655f 7265 616c ine-fun lte_real │ │ │ │ -000042c0: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) │ │ │ │ -000042d0: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool ( │ │ │ │ -000042e0: 3c3d 2078 2079 2929 2229 0a76 616c 2028 <= x y))").val ( │ │ │ │ -000042f0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -00004300: 696e 652d 6675 6e20 6774 655f 7265 616c ine-fun gte_real │ │ │ │ -00004310: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) │ │ │ │ -00004320: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool ( │ │ │ │ -00004330: 3e3d 2078 2079 2929 2229 0a76 616c 2028 >= x y))").val ( │ │ │ │ -00004340: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln("(def │ │ │ │ -00004350: 696e 652d 6675 6e20 6e65 715f 7265 616c ine-fun neq_real │ │ │ │ -00004360: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) │ │ │ │ -00004370: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool ( │ │ │ │ -00004380: 6e6f 7420 283d 2078 2079 2929 2922 290a not (= x y)))"). │ │ │ │ -00004390: 2f2f 0a76 616c 2028 2920 3d20 656d 6974 //.val () = emit │ │ │ │ -000043a0: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln("(define-fun │ │ │ │ -000043b0: 6d61 785f 7265 616c 5f72 6561 6c20 2828 max_real_real (( │ │ │ │ -000043c0: 7820 5265 616c 2920 2879 2052 6561 6c29 x Real) (y Real) │ │ │ │ -000043d0: 2920 5265 616c 2028 6974 6520 283e 3d20 ) Real (ite (>= │ │ │ │ -000043e0: 7820 7929 2078 2079 2929 2229 0a76 616c x y) x y))").val │ │ │ │ -000043f0: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln("(d │ │ │ │ -00004400: 6566 696e 652d 6675 6e20 6d69 6e5f 7265 efine-fun min_re │ │ │ │ -00004410: 616c 5f72 6561 6c20 2828 7820 5265 616c al_real ((x Real │ │ │ │ -00004420: 2920 2879 2052 6561 6c29 2920 5265 616c ) (y Real)) Real │ │ │ │ -00004430: 2028 6974 6520 283c 3d20 7820 7929 2078 (ite (<= x y) x │ │ │ │ -00004440: 2079 2929 2229 0a2f 2f0a 7661 6c20 2829 y))").//.val () │ │ │ │ -00004450: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln("(defi │ │ │ │ -00004460: 6e65 2d66 756e 2073 676e 5f72 6561 6c20 ne-fun sgn_real │ │ │ │ -00004470: 2828 7820 5265 616c 2929 2049 6e74 2028 ((x Real)) Int ( │ │ │ │ -00004480: 6974 6520 283e 2078 2030 2e30 2920 3120 ite (> x 0.0) 1 │ │ │ │ -00004490: 2869 7465 2028 3e3d 2078 2030 2e30 2920 (ite (>= x 0.0) │ │ │ │ -000044a0: 3020 282d 2031 2929 2929 2229 0a2f 2f0a 0 (- 1))))").//. │ │ │ │ -000044b0: 7d20 282a 2065 6e64 206f 6620 5b65 6d69 } (* end of [emi │ │ │ │ -000044c0: 745f 7072 6561 6d62 6c65 5f72 6561 6c5d t_preamble_real] │ │ │ │ -000044d0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** * │ │ │ │ -000044e0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -000044f0: 656e 740a 656d 6974 5f74 6865 5f73 3263 ent.emit_the_s2c │ │ │ │ -00004500: 7374 6d61 700a 2020 286f 7574 2920 3d20 stmap. (out) = │ │ │ │ -00004510: 2829 2077 6865 7265 0a7b 0a2f 2f0a 6d61 () where.{.//.ma │ │ │ │ -00004520: 6364 6566 0a65 6d69 746c 6e28 7829 203d cdef.emitln(x) = │ │ │ │ -00004530: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out, │ │ │ │ -00004540: 202c 2878 2929 0a2f 2f0a 6675 6e0a 6175 ,(x)).//.fun.au │ │ │ │ -00004550: 786c 7374 0a28 0a20 2073 3263 733a 2073 xlst.(. s2cs: s │ │ │ │ -00004560: 3263 7374 6c73 740a 2920 3a20 766f 6964 2cstlst.) : void │ │ │ │ -00004570: 203d 2028 0a2f 2f0a 6361 7365 2b20 7332 = (.//.case+ s2 │ │ │ │ -00004580: 6373 206f 660a 7c20 6c69 7374 5f6e 696c cs of.| list_nil │ │ │ │ -00004590: 2829 203d 3e20 2829 0a7c 206c 6973 745f () => ().| list_ │ │ │ │ -000045a0: 636f 6e73 2873 3263 2c20 7332 6373 2920 cons(s2c, s2cs) │ │ │ │ -000045b0: 3d3e 206c 6574 0a20 2020 2076 616c 206e => let. val n │ │ │ │ -000045c0: 3020 3d20 7332 6373 745f 6765 745f 6e75 0 = s2cst_get_nu │ │ │ │ -000045d0: 7365 6428 7332 6329 0a20 2020 2076 616c sed(s2c). val │ │ │ │ -000045e0: 2028 2920 3d0a 2020 2020 2020 6966 206e () =. if n │ │ │ │ -000045f0: 3020 3e20 3020 7468 656e 2065 6d69 745f 0 > 0 then emit_ │ │ │ │ -00004600: 6465 636c 5f73 3263 7374 286f 7574 2c20 decl_s2cst(out, │ │ │ │ -00004610: 7332 6329 0a20 2020 202f 2f20 656e 6420 s2c). // end │ │ │ │ -00004620: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. │ │ │ │ -00004630: 2020 6175 786c 7374 2873 3263 7329 0a20 auxlst(s2cs). │ │ │ │ -00004640: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [ │ │ │ │ -00004650: 6c69 7374 5f63 6f6e 735d 0a2f 2f0a 2920 list_cons].//.) │ │ │ │ -00004660: 282a 2065 6e64 206f 6620 5b61 7578 6c73 (* end of [auxls │ │ │ │ -00004670: 745d 202a 290a 2f2f 0a76 616c 2073 3263 t] *).//.val s2c │ │ │ │ -00004680: 7320 3d20 7468 655f 7332 6373 746d 6170 s = the_s2cstmap │ │ │ │ -00004690: 5f6c 6973 7469 7a65 2829 0a2f 2f0a 7661 _listize().//.va │ │ │ │ -000046a0: 6c20 2829 203d 2065 6d69 746c 6e28 223b l () = emitln("; │ │ │ │ -000046b0: 3b22 290a 7661 6c20 2829 203d 2065 6d69 ;").val () = emi │ │ │ │ -000046c0: 746c 6e28 223b 3b65 6d69 745f 7468 655f tln(";;emit_the_ │ │ │ │ -000046d0: 7332 6373 746d 6170 2829 2229 0a76 616c s2cstmap()").val │ │ │ │ -000046e0: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(";; │ │ │ │ -000046f0: 2229 0a2f 2f0a 7661 6c20 2828 2a76 6f69 ").//.val ((*voi │ │ │ │ -00004700: 642a 2929 203d 2061 7578 6c73 7428 2455 d*)) = auxlst($U │ │ │ │ -00004710: 4e2e 6c69 7374 5f76 7432 7428 7332 6373 N.list_vt2t(s2cs │ │ │ │ -00004720: 2929 0a2f 2f0a 7661 6c20 2828 2a66 7265 )).//.val ((*fre │ │ │ │ -00004730: 6564 2a29 2920 3d20 6c69 7374 5f76 745f ed*)) = list_vt_ │ │ │ │ -00004740: 6672 6565 2873 3263 7329 0a2f 2f0a 7d20 free(s2cs).//.} │ │ │ │ -00004750: 282a 2065 6e64 206f 6620 5b65 6d69 745f (* end of [emit_ │ │ │ │ -00004760: 7468 655f 7332 6373 746d 6170 5d20 2a29 the_s2cstmap] *) │ │ │ │ -00004770: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00004780: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of │ │ │ │ -00004790: 205b 7061 7473 6f6c 7665 5f73 6d74 325f [patsolve_smt2_ │ │ │ │ -000047a0: 736f 6c76 696e 675f 656d 6974 2e64 6174 solving_emit.dat │ │ │ │ -000047b0: 735d 202a 290a s] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats │ │ │ │ @@ -1,186 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS │ │ │ │ -00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN │ │ │ │ -00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include "./my │ │ │ │ -000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats".#en │ │ │ │ -000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i │ │ │ │ -000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* *** │ │ │ │ -000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = "p │ │ │ │ -000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa │ │ │ │ -00000100: 6665 2e73 6174 7322 0a2f 2f0a 7374 616c fe.sats".//.stal │ │ │ │ -00000110: 6f61 6420 222e 2f70 6174 736f 6c76 655f oad "./patsolve_ │ │ │ │ -00000120: 736d 7432 5f73 6f6c 7669 6e67 5f63 7478 smt2_solving_ctx │ │ │ │ -00000130: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats".//.(* *** │ │ │ │ -00000140: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -00000150: 0a69 6d70 6c65 6d65 6e74 0a70 7269 6e74 .implement.print │ │ │ │ -00000160: 5f66 6f72 6d28 7830 2920 3d0a 2020 6670 _form(x0) =. fp │ │ │ │ -00000170: 7269 6e74 5f66 6f72 6d28 7374 646f 7574 rint_form(stdout │ │ │ │ -00000180: 5f72 6566 2c20 7830 290a 696d 706c 656d _ref, x0).implem │ │ │ │ -00000190: 656e 740a 7072 6572 725f 666f 726d 2878 ent.prerr_form(x │ │ │ │ -000001a0: 3029 203d 0a20 2066 7072 696e 745f 666f 0) =. fprint_fo │ │ │ │ -000001b0: 726d 2873 7464 6572 725f 7265 662c 2078 rm(stderr_ref, x │ │ │ │ -000001c0: 3029 0a2f 2f0a 696d 706c 656d 656e 740a 0).//.implement. │ │ │ │ -000001d0: 6670 7269 6e74 5f66 6f72 6d0a 2020 286f fprint_form. (o │ │ │ │ -000001e0: 7574 2c20 7830 2920 3d20 280a 2f2f 0a63 ut, x0) = (.//.c │ │ │ │ -000001f0: 6173 652b 2078 3020 6f66 0a7c 2046 4f52 ase+ x0 of.| FOR │ │ │ │ -00000200: 4d69 6e74 2869 2920 3d3e 0a20 2066 7072 Mint(i) =>. fpr │ │ │ │ -00000210: 696e 7421 2028 6f75 742c 2022 464f 524d int! (out, "FORM │ │ │ │ -00000220: 696e 7428 222c 2069 2c20 2229 2229 0a7c int(", i, ")").| │ │ │ │ -00000230: 2046 4f52 4d62 6f6f 6c28 6229 203d 3e0a FORMbool(b) =>. │ │ │ │ -00000240: 2020 6670 7269 6e74 2120 286f 7574 2c20 fprint! (out, │ │ │ │ -00000250: 2246 4f52 4d69 6e74 2822 2c20 622c 2022 "FORMint(", b, " │ │ │ │ -00000260: 2922 290a 7c20 464f 524d 696e 7472 6570 )").| FORMintrep │ │ │ │ -00000270: 2872 6570 2920 3d3e 0a20 2066 7072 696e (rep) =>. fprin │ │ │ │ -00000280: 7421 2028 6f75 742c 2022 464f 524d 696e t! (out, "FORMin │ │ │ │ -00000290: 7472 6570 2822 2c20 7265 702c 2022 2922 trep(", rep, ")" │ │ │ │ -000002a0: 290a 2f2f 0a7c 2046 4f52 4d73 3276 6172 ).//.| FORMs2var │ │ │ │ -000002b0: 2873 3276 2920 3d3e 0a20 2066 7072 696e (s2v) =>. fprin │ │ │ │ -000002c0: 7421 2028 6f75 742c 2022 464f 524d 7332 t! (out, "FORMs2 │ │ │ │ -000002d0: 7661 7228 222c 2073 3276 2c20 2229 2229 var(", s2v, ")") │ │ │ │ -000002e0: 0a7c 2046 4f52 4d73 3263 7374 2873 3263 .| FORMs2cst(s2c │ │ │ │ -000002f0: 2920 3d3e 0a20 2066 7072 696e 7421 2028 ) =>. fprint! ( │ │ │ │ -00000300: 6f75 742c 2022 464f 524d 7332 7661 7228 out, "FORMs2var( │ │ │ │ -00000310: 222c 2073 3263 2c20 2229 2229 0a2f 2f0a ", s2c, ")").//. │ │ │ │ -00000320: 7c20 464f 524d 7332 6578 7028 7332 6529 | FORMs2exp(s2e) │ │ │ │ -00000330: 203d 3e0a 2020 6670 7269 6e74 2120 286f =>. fprint! (o │ │ │ │ -00000340: 7574 2c20 2246 4f52 4d73 3265 7870 2822 ut, "FORMs2exp(" │ │ │ │ -00000350: 2c20 7332 652c 2022 2922 290a 2f2f 0a7c , s2e, ")").//.| │ │ │ │ -00000360: 2046 4f52 4d6e 6f74 2866 6d6c 2920 3d3e FORMnot(fml) => │ │ │ │ -00000370: 0a20 2028 0a20 2020 2066 7072 696e 7420 . (. fprint │ │ │ │ -00000380: 286f 7574 2c20 2246 4f52 4d6e 6f74 2822 (out, "FORMnot(" │ │ │ │ -00000390: 293b 0a20 2020 2066 7072 696e 745f 666f );. fprint_fo │ │ │ │ -000003a0: 726d 286f 7574 2c20 666d 6c29 3b20 6670 rm(out, fml); fp │ │ │ │ -000003b0: 7269 6e74 2028 6f75 742c 2022 2922 290a rint (out, ")"). │ │ │ │ -000003c0: 2020 290a 7c20 464f 524d 636f 6e6a 2866 ).| FORMconj(f │ │ │ │ -000003d0: 6d6c 312c 2066 6d6c 3229 203d 3e0a 2020 ml1, fml2) =>. │ │ │ │ -000003e0: 280a 2020 2020 6670 7269 6e74 2028 6f75 (. fprint (ou │ │ │ │ -000003f0: 742c 2022 464f 524d 636f 6e6a 2822 293b t, "FORMconj("); │ │ │ │ -00000400: 0a20 2020 2066 7072 696e 745f 666f 726d . fprint_form │ │ │ │ -00000410: 286f 7574 2c20 666d 6c31 293b 2066 7072 (out, fml1); fpr │ │ │ │ -00000420: 696e 745f 666f 726d 286f 7574 2c20 666d int_form(out, fm │ │ │ │ -00000430: 6c32 293b 2066 7072 696e 7420 286f 7574 l2); fprint (out │ │ │ │ -00000440: 2c20 2229 2229 0a20 2029 0a7c 2046 4f52 , ")"). ).| FOR │ │ │ │ -00000450: 4d64 6973 6a28 666d 6c31 2c20 666d 6c32 Mdisj(fml1, fml2 │ │ │ │ -00000460: 2920 3d3e 0a20 2028 0a20 2020 2066 7072 ) =>. (. fpr │ │ │ │ -00000470: 696e 7420 286f 7574 2c20 2246 4f52 4d64 int (out, "FORMd │ │ │ │ -00000480: 6973 6a28 2229 3b0a 2020 2020 6670 7269 isj(");. fpri │ │ │ │ -00000490: 6e74 5f66 6f72 6d28 6f75 742c 2066 6d6c nt_form(out, fml │ │ │ │ -000004a0: 3129 3b20 6670 7269 6e74 5f66 6f72 6d28 1); fprint_form( │ │ │ │ -000004b0: 6f75 742c 2066 6d6c 3229 3b20 6670 7269 out, fml2); fpri │ │ │ │ -000004c0: 6e74 2028 6f75 742c 2022 2922 290a 2020 nt (out, ")"). │ │ │ │ -000004d0: 290a 7c20 464f 524d 696d 706c 2866 6d6c ).| FORMimpl(fml │ │ │ │ -000004e0: 312c 2066 6d6c 3229 203d 3e0a 2020 280a 1, fml2) =>. (. │ │ │ │ -000004f0: 2020 2020 6670 7269 6e74 2028 6f75 742c fprint (out, │ │ │ │ -00000500: 2022 464f 524d 696d 706c 2822 293b 0a20 "FORMimpl(");. │ │ │ │ -00000510: 2020 2066 7072 696e 745f 666f 726d 286f fprint_form(o │ │ │ │ -00000520: 7574 2c20 666d 6c31 293b 2066 7072 696e ut, fml1); fprin │ │ │ │ -00000530: 745f 666f 726d 286f 7574 2c20 666d 6c32 t_form(out, fml2 │ │ │ │ -00000540: 293b 2066 7072 696e 7420 286f 7574 2c20 ); fprint (out, │ │ │ │ -00000550: 2229 2229 0a20 2029 0a2f 2f0a 2920 282a ")"). ).//.) (* │ │ │ │ -00000560: 2065 6e64 206f 6620 5b66 7072 696e 745f end of [fprint_ │ │ │ │ -00000570: 666f 726d 5d20 2a29 0a2f 2f0a 282a 202a form] *).//.(* * │ │ │ │ -00000580: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000590: 2f2f 0a69 6d70 6c65 6d65 6e74 0a66 6f72 //.implement.for │ │ │ │ -000005a0: 6d75 6c61 5f6e 756c 6c0a 2020 2828 2a76 mula_null. ((*v │ │ │ │ -000005b0: 6f69 642a 2929 203d 2046 4f52 4d69 6e74 oid*)) = FORMint │ │ │ │ -000005c0: 2830 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a (0).//.(* ****** │ │ │ │ -000005d0: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d ****** *).//.im │ │ │ │ -000005e0: 706c 656d 656e 740a 666f 726d 756c 615f plement.formula_ │ │ │ │ -000005f0: 7472 7565 0a20 2028 282a 766f 6964 2a29 true. ((*void*) │ │ │ │ -00000600: 2920 3d20 464f 524d 626f 6f6c 2874 7275 ) = FORMbool(tru │ │ │ │ -00000610: 6529 0a69 6d70 6c65 6d65 6e74 0a66 6f72 e).implement.for │ │ │ │ -00000620: 6d75 6c61 5f66 616c 7365 0a20 2028 282a mula_false. ((* │ │ │ │ -00000630: 766f 6964 2a29 2920 3d20 464f 524d 626f void*)) = FORMbo │ │ │ │ -00000640: 6f6c 2866 616c 7365 290a 2f2f 0a28 2a20 ol(false).//.(* │ │ │ │ -00000650: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000660: 0a2f 2f0a 696d 706c 656d 656e 740a 666f .//.implement.fo │ │ │ │ -00000670: 726d 756c 615f 696e 740a 2020 2869 6e74 rmula_int. (int │ │ │ │ -00000680: 2920 3d20 464f 524d 696e 7428 696e 7429 ) = FORMint(int) │ │ │ │ -00000690: 0a69 6d70 6c65 6d65 6e74 0a66 6f72 6d75 .implement.formu │ │ │ │ -000006a0: 6c61 5f69 6e74 7265 700a 2020 2872 6570 la_intrep. (rep │ │ │ │ -000006b0: 2920 3d20 464f 524d 696e 7472 6570 2872 ) = FORMintrep(r │ │ │ │ -000006c0: 6570 290a 2f2f 2020 0a28 2a20 2a2a 2a2a ep).// .(* **** │ │ │ │ -000006d0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -000006e0: 696d 706c 656d 656e 740a 666f 726d 756c implement.formul │ │ │ │ -000006f0: 615f 6d61 6b65 5f73 3263 7374 0a20 2028 a_make_s2cst. ( │ │ │ │ -00000700: 656e 762c 2073 3263 3029 203d 2046 4f52 env, s2c0) = FOR │ │ │ │ -00000710: 4d73 3263 7374 2873 3263 3029 0a69 6d70 Ms2cst(s2c0).imp │ │ │ │ -00000720: 6c65 6d65 6e74 0a66 6f72 6d75 6c61 5f6d lement.formula_m │ │ │ │ -00000730: 616b 655f 7332 7661 720a 2020 2865 6e76 ake_s2var. (env │ │ │ │ -00000740: 2c20 7332 7630 2920 3d20 464f 524d 7332 , s2v0) = FORMs2 │ │ │ │ -00000750: 7661 7228 7332 7630 290a 696d 706c 656d var(s2v0).implem │ │ │ │ -00000760: 656e 740a 666f 726d 756c 615f 6d61 6b65 ent.formula_make │ │ │ │ -00000770: 5f73 3265 7870 0a20 2028 656e 762c 2073 _s2exp. (env, s │ │ │ │ -00000780: 3270 3029 203d 2046 4f52 4d73 3265 7870 2p0) = FORMs2exp │ │ │ │ -00000790: 2873 3270 3029 0a2f 2f0a 282a 202a 2a2a (s2p0).//.(* *** │ │ │ │ -000007a0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i │ │ │ │ -000007b0: 6d70 6c65 6d65 6e74 0a66 6f72 6d75 6c61 mplement.formula │ │ │ │ -000007c0: 5f6e 6f74 2873 3270 2920 3d20 464f 524d _not(s2p) = FORM │ │ │ │ -000007d0: 6e6f 7428 7332 7029 0a0a 282a 202a 2a2a not(s2p)..(* *** │ │ │ │ -000007e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i │ │ │ │ -000007f0: 6d70 6c65 6d65 6e74 0a66 6f72 6d75 6c61 mplement.formula │ │ │ │ -00000800: 5f63 6f6e 6a5f 6c69 7374 0a20 2028 7332 _conj_list. (s2 │ │ │ │ -00000810: 6573 2920 3d20 6c65 740a 2f2f 0a66 756e es) = let.//.fun │ │ │ │ -00000820: 0a61 7578 0a28 0a20 2073 3265 303a 2066 .aux.(. s2e0: f │ │ │ │ -00000830: 6f72 6d2c 2073 3265 733a 2066 6f72 6d6c orm, s2es: forml │ │ │ │ -00000840: 7374 0a29 203a 2066 6f72 6d20 3d20 280a st.) : form = (. │ │ │ │ -00000850: 2f2f 0a63 6173 652b 2073 3265 7320 6f66 //.case+ s2es of │ │ │ │ -00000860: 0a7c 206c 6973 745f 6e69 6c0a 2020 2020 .| list_nil. │ │ │ │ -00000870: 2828 2a76 6f69 642a 2929 203d 3e20 7332 ((*void*)) => s2 │ │ │ │ -00000880: 6530 0a7c 206c 6973 745f 636f 6e73 0a20 e0.| list_cons. │ │ │ │ -00000890: 2020 2028 7332 6531 2c20 7332 6573 3229 (s2e1, s2es2) │ │ │ │ -000008a0: 203d 3e0a 2020 2020 6175 7828 464f 524d =>. aux(FORM │ │ │ │ -000008b0: 636f 6e6a 2873 3265 302c 2073 3265 3129 conj(s2e0, s2e1) │ │ │ │ -000008c0: 2c20 7332 6573 3229 0a2f 2f0a 2920 282a , s2es2).//.) (* │ │ │ │ -000008d0: 2065 6e64 206f 6620 5b61 7578 5d20 2a29 end of [aux] *) │ │ │ │ -000008e0: 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 2b20 .//.in.//.case+ │ │ │ │ -000008f0: 7332 6573 206f 660a 7c20 6c69 7374 5f6e s2es of.| list_n │ │ │ │ -00000900: 696c 2829 203d 3e20 464f 524d 626f 6f6c il() => FORMbool │ │ │ │ -00000910: 2874 7275 6529 0a7c 206c 6973 745f 636f (true).| list_co │ │ │ │ -00000920: 6e73 2873 3265 2c20 7332 6573 2920 3d3e ns(s2e, s2es) => │ │ │ │ -00000930: 2061 7578 2873 3265 2c20 7332 6573 290a aux(s2e, s2es). │ │ │ │ -00000940: 2f2f 0a65 6e64 202f 2f20 656e 6420 6f66 //.end // end of │ │ │ │ -00000950: 205b 666f 726d 756c 615f 636f 6e6a 5f6c [formula_conj_l │ │ │ │ -00000960: 6973 745d 0a0a 282a 202a 2a2a 2a2a 2a20 ist]..(* ****** │ │ │ │ -00000970: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple │ │ │ │ -00000980: 6d65 6e74 0a66 6f72 6d75 6c61 5f63 6f6e ment.formula_con │ │ │ │ -00000990: 6a5f 6c69 7374 310a 2020 2873 3265 735f j_list1. (s2es_ │ │ │ │ -000009a0: 6172 672c 2073 3265 5f72 6573 2920 3d20 arg, s2e_res) = │ │ │ │ -000009b0: 6c65 740a 696e 0a2f 2f0a 6361 7365 2b20 let.in.//.case+ │ │ │ │ -000009c0: 7332 6573 5f61 7267 206f 660a 7c20 6c69 s2es_arg of.| li │ │ │ │ -000009d0: 7374 5f6e 696c 2829 203d 3e20 7332 655f st_nil() => s2e_ │ │ │ │ -000009e0: 7265 730a 7c20 6c69 7374 5f63 6f6e 7320 res.| list_cons │ │ │ │ -000009f0: 5f20 3d3e 0a20 2020 2046 4f52 4d63 6f6e _ =>. FORMcon │ │ │ │ -00000a00: 6a28 666f 726d 756c 615f 636f 6e6a 5f6c j(formula_conj_l │ │ │ │ -00000a10: 6973 7428 7332 6573 5f61 7267 292c 2073 ist(s2es_arg), s │ │ │ │ -00000a20: 3265 5f72 6573 290a 2020 2f2f 2065 6e64 2e_res). // end │ │ │ │ -00000a30: 206f 6620 5b6c 6973 745f 636f 6e73 5d0a of [list_cons]. │ │ │ │ -00000a40: 2f2f 0a65 6e64 202f 2f20 656e 6420 6f66 //.end // end of │ │ │ │ -00000a50: 205b 666f 726d 756c 615f 636f 6e6a 5f6c [formula_conj_l │ │ │ │ -00000a60: 6973 7431 5d0a 0a69 6d70 6c65 6d65 6e74 ist1]..implement │ │ │ │ -00000a70: 0a66 6f72 6d75 6c61 5f69 6d70 6c5f 6c69 .formula_impl_li │ │ │ │ -00000a80: 7374 310a 2020 2873 3265 735f 6172 672c st1. (s2es_arg, │ │ │ │ -00000a90: 2073 3265 5f72 6573 2920 3d20 6c65 740a s2e_res) = let. │ │ │ │ -00000aa0: 696e 0a2f 2f0a 6361 7365 2b20 7332 6573 in.//.case+ s2es │ │ │ │ -00000ab0: 5f61 7267 206f 660a 7c20 6c69 7374 5f6e _arg of.| list_n │ │ │ │ -00000ac0: 696c 2829 203d 3e20 7332 655f 7265 730a il() => s2e_res. │ │ │ │ -00000ad0: 7c20 6c69 7374 5f63 6f6e 7320 5f20 3d3e | list_cons _ => │ │ │ │ -00000ae0: 0a20 2020 2046 4f52 4d69 6d70 6c28 666f . FORMimpl(fo │ │ │ │ -00000af0: 726d 756c 615f 636f 6e6a 5f6c 6973 7428 rmula_conj_list( │ │ │ │ -00000b00: 7332 6573 5f61 7267 292c 2073 3265 5f72 s2es_arg), s2e_r │ │ │ │ -00000b10: 6573 290a 2020 2f2f 2065 6e64 206f 6620 es). // end of │ │ │ │ -00000b20: 5b6c 6973 745f 636f 6e73 5d0a 2f2f 0a65 [list_cons].//.e │ │ │ │ -00000b30: 6e64 202f 2f20 656e 6420 6f66 205b 666f nd // end of [fo │ │ │ │ -00000b40: 726d 756c 615f 696d 706c 5f6c 6973 7431 rmula_impl_list1 │ │ │ │ -00000b50: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** *** │ │ │ │ -00000b60: 2a2a 2a20 2a29 0a0a 282a 2065 6e64 206f *** *)..(* end o │ │ │ │ -00000b70: 6620 5b70 6174 736f 6c76 655f 7a33 5f73 f [patsolve_z3_s │ │ │ │ -00000b80: 6f6c 7669 6e67 5f66 6f72 6d2e 6461 7473 olving_form.dats │ │ │ │ -00000b90: 5d20 2a29 0a ] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats │ │ │ │ @@ -1,201 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS │ │ │ │ -00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN │ │ │ │ -00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include "./my │ │ │ │ -000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats".#en │ │ │ │ -000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i │ │ │ │ -000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* *** │ │ │ │ -000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = "p │ │ │ │ -000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa │ │ │ │ -00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats".//.(* * │ │ │ │ -00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000120: 0a6c 6f63 616c 0a0a 7479 7065 6465 660a .local..typedef. │ │ │ │ -00000130: 6b65 7920 3d20 7374 7269 6e67 2061 6e64 key = string and │ │ │ │ -00000140: 2069 746d 203d 2069 6e74 0a0a 696e 2028 itm = int..in ( │ │ │ │ -00000150: 2a20 696e 2d6f 662d 6c6f 6361 6c20 2a29 * in-of-local *) │ │ │ │ -00000160: 0a0a 2369 6e63 6c75 6465 2022 6c69 6261 ..#include "liba │ │ │ │ -00000170: 7473 2f4d 4c2f 4841 5453 2f6d 7968 6173 ts/ML/HATS/myhas │ │ │ │ -00000180: 6874 626c 7265 662e 6861 7473 220a 0a65 htblref.hats"..e │ │ │ │ -00000190: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo │ │ │ │ -000001a0: 6361 6c5d 0a0a 282a 202a 2a2a 2a2a 2a20 cal]..(* ****** │ │ │ │ -000001b0: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local │ │ │ │ -000001c0: 0a2f 2f0a 7661 6c0a 7468 655f 7332 6369 .//.val.the_s2ci │ │ │ │ -000001d0: 6e74 6572 705f 6d61 7020 3d0a 2020 6d79 nterp_map =. my │ │ │ │ -000001e0: 6861 7368 7462 6c5f 6d61 6b65 5f6e 696c hashtbl_make_nil │ │ │ │ -000001f0: 2831 3032 3429 0a2f 2f0a 6675 6e0a 7332 (1024).//.fun.s2 │ │ │ │ -00000200: 6369 6e74 6572 705f 696e 7365 7274 286e cinterp_insert(n │ │ │ │ -00000210: 616d 653a 2073 7472 696e 6729 3a20 766f ame: string): vo │ │ │ │ -00000220: 6964 203d 0a7b 0a2f 2f0a 7661 6c2d 7e4e id =.{.//.val-~N │ │ │ │ -00000230: 6f6e 655f 7674 2829 203d 0a20 206d 7968 one_vt() =. myh │ │ │ │ -00000240: 6173 6874 626c 5f69 6e73 6572 7428 7468 ashtbl_insert(th │ │ │ │ -00000250: 655f 7332 6369 6e74 6572 705f 6d61 702c e_s2cinterp_map, │ │ │ │ -00000260: 206e 616d 652c 2030 290a 2f2f 2065 6e64 name, 0).// end │ │ │ │ -00000270: 206f 6620 5b76 616c 5d0a 7d20 282a 2065 of [val].} (* e │ │ │ │ -00000280: 6e64 206f 6620 5b73 3263 696e 7465 7270 nd of [s2cinterp │ │ │ │ -00000290: 5f69 6e73 6572 745d 202a 290a 2f2f 0a69 _insert] *).//.i │ │ │ │ -000002a0: 6e20 282a 2069 6e2d 6f66 2d6c 6f63 616c n (* in-of-local │ │ │ │ -000002b0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement │ │ │ │ -000002c0: 0a73 3263 7374 5f67 6574 5f73 3263 696e .s2cst_get_s2cin │ │ │ │ -000002d0: 7465 7270 0a20 2028 7332 6329 203d 206c terp. (s2c) = l │ │ │ │ -000002e0: 6574 0a2f 2f0a 7661 6c20 7074 7220 3d0a et.//.val ptr =. │ │ │ │ -000002f0: 2020 7332 6373 745f 6765 745f 7061 796c s2cst_get_payl │ │ │ │ -00000300: 6f61 6428 7332 6329 0a2f 2f0a 696e 0a2f oad(s2c).//.in./ │ │ │ │ -00000310: 2f0a 6966 0a70 7472 203e 2030 0a74 6865 /.if.ptr > 0.the │ │ │ │ -00000320: 6e20 2455 4e2e 6361 7374 7b73 3263 7374 n $UN.cast{s2cst │ │ │ │ -00000330: 6f70 747d 2870 7472 290a 656c 7365 206c opt}(ptr).else l │ │ │ │ -00000340: 6574 0a2f 2f0a 7661 6c20 6b65 7920 3d20 et.//.val key = │ │ │ │ -00000350: 7379 6d62 6f6c 5f67 6574 5f6e 616d 6528 symbol_get_name( │ │ │ │ -00000360: 7332 632e 6e61 6d65 2829 290a 7661 6c20 s2c.name()).val │ │ │ │ -00000370: 6f70 7420 3d20 6d79 6861 7368 7462 6c5f opt = myhashtbl_ │ │ │ │ -00000380: 7365 6172 6368 2874 6865 5f73 3263 696e search(the_s2cin │ │ │ │ -00000390: 7465 7270 5f6d 6170 2c20 6b65 7929 0a76 terp_map, key).v │ │ │ │ -000003a0: 616c 2069 746d 203d 0a28 0a20 2063 6173 al itm =.(. cas │ │ │ │ -000003b0: 652b 206f 7074 206f 660a 2020 7c20 7e4e e+ opt of. | ~N │ │ │ │ -000003c0: 6f6e 655f 7674 205f 203d 3e20 4e6f 6e65 one_vt _ => None │ │ │ │ -000003d0: 2829 207c 207e 536f 6d65 5f76 7420 5f20 () | ~Some_vt _ │ │ │ │ -000003e0: 3d3e 2053 6f6d 6528 7332 6329 0a29 203a => Some(s2c).) : │ │ │ │ -000003f0: 2073 3263 7374 6f70 7420 2f2f 2065 6e64 s2cstopt // end │ │ │ │ -00000400: 206f 6620 5b76 616c 5d0a 7661 6c20 2829 of [val].val () │ │ │ │ -00000410: 203d 2073 3263 7374 5f73 6574 5f70 6179 = s2cst_set_pay │ │ │ │ -00000420: 6c6f 6164 2873 3263 2c20 2455 4e2e 6361 load(s2c, $UN.ca │ │ │ │ -00000430: 7374 7b70 7472 7d28 6974 6d29 290a 2f2f st{ptr}(itm)).// │ │ │ │ -00000440: 0a69 6e0a 2020 6974 6d0a 656e 6420 2f2f .in. itm.end // │ │ │ │ -00000450: 2065 6e64 206f 6620 5b65 6c73 655d 0a2f end of [else]./ │ │ │ │ -00000460: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of │ │ │ │ -00000470: 5b73 3263 7374 5f67 6574 5f73 3263 696e [s2cst_get_s2cin │ │ │ │ -00000480: 7465 7270 5d0a 2f2f 0a69 6d70 6c65 6d65 terp].//.impleme │ │ │ │ -00000490: 6e74 0a74 6865 5f73 3263 696e 7465 7270 nt.the_s2cinterp │ │ │ │ -000004a0: 5f69 6e69 7469 7a65 2829 203d 0a7b 0a2f _initize() =.{./ │ │ │ │ -000004b0: 2f0a 6d61 6364 6566 0a69 6e73 6572 7420 /.macdef.insert │ │ │ │ -000004c0: 3d20 7332 6369 6e74 6572 705f 696e 7365 = s2cinterp_inse │ │ │ │ -000004d0: 7274 0a2f 2f0a 7661 6c20 2829 203d 2069 rt.//.val () = i │ │ │ │ -000004e0: 6e73 6572 7428 2275 6e69 745f 7022 290a nsert("unit_p"). │ │ │ │ -000004f0: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse │ │ │ │ -00000500: 7274 2822 6e65 675f 696e 7422 290a 7661 rt("neg_int").va │ │ │ │ -00000510: 6c20 2829 203d 2069 6e73 6572 7428 2261 l () = insert("a │ │ │ │ -00000520: 6273 5f69 6e74 2229 0a76 616c 2028 2920 bs_int").val () │ │ │ │ -00000530: 3d20 696e 7365 7274 2822 7367 6e5f 696e = insert("sgn_in │ │ │ │ -00000540: 7422 290a 2f2f 0a76 616c 2028 2920 3d20 t").//.val () = │ │ │ │ -00000550: 696e 7365 7274 2822 6164 645f 696e 745f insert("add_int_ │ │ │ │ -00000560: 696e 7422 290a 7661 6c20 2829 203d 2069 int").val () = i │ │ │ │ -00000570: 6e73 6572 7428 2273 7562 5f69 6e74 5f69 nsert("sub_int_i │ │ │ │ -00000580: 6e74 2229 0a76 616c 2028 2920 3d20 696e nt").val () = in │ │ │ │ -00000590: 7365 7274 2822 6d75 6c5f 696e 745f 696e sert("mul_int_in │ │ │ │ -000005a0: 7422 290a 7661 6c20 2829 203d 2069 6e73 t").val () = ins │ │ │ │ -000005b0: 6572 7428 2264 6976 5f69 6e74 5f69 6e74 ert("div_int_int │ │ │ │ -000005c0: 2229 0a76 616c 2028 2920 3d20 696e 7365 ").val () = inse │ │ │ │ -000005d0: 7274 2822 6d6f 645f 696e 745f 696e 7422 rt("mod_int_int" │ │ │ │ -000005e0: 290a 2f2f 0a76 616c 2028 2920 3d20 696e ).//.val () = in │ │ │ │ -000005f0: 7365 7274 2822 6964 6976 5f69 6e74 5f69 sert("idiv_int_i │ │ │ │ -00000600: 6e74 2229 0a76 616c 2028 2920 3d20 696e nt").val () = in │ │ │ │ -00000610: 7365 7274 2822 6e64 6976 5f69 6e74 5f69 sert("ndiv_int_i │ │ │ │ -00000620: 6e74 2229 0a2f 2f0a 7661 6c20 2829 203d nt").//.val () = │ │ │ │ -00000630: 2069 6e73 6572 7428 2265 715f 696e 745f insert("eq_int_ │ │ │ │ -00000640: 696e 7422 290a 7661 6c20 2829 203d 2069 int").val () = i │ │ │ │ -00000650: 6e73 6572 7428 226c 745f 696e 745f 696e nsert("lt_int_in │ │ │ │ -00000660: 7422 290a 7661 6c20 2829 203d 2069 6e73 t").val () = ins │ │ │ │ -00000670: 6572 7428 2267 745f 696e 745f 696e 7422 ert("gt_int_int" │ │ │ │ -00000680: 290a 7661 6c20 2829 203d 2069 6e73 6572 ).val () = inser │ │ │ │ -00000690: 7428 226c 7465 5f69 6e74 5f69 6e74 2229 t("lte_int_int") │ │ │ │ -000006a0: 0a76 616c 2028 2920 3d20 696e 7365 7274 .val () = insert │ │ │ │ -000006b0: 2822 6774 655f 696e 745f 696e 7422 290a ("gte_int_int"). │ │ │ │ -000006c0: 7661 6c20 2829 203d 2069 6e73 6572 7428 val () = insert( │ │ │ │ -000006d0: 226e 6571 5f69 6e74 5f69 6e74 2229 0a2f "neq_int_int")./ │ │ │ │ -000006e0: 2f0a 7661 6c20 2829 203d 2069 6e73 6572 /.val () = inser │ │ │ │ -000006f0: 7428 226d 6178 5f69 6e74 5f69 6e74 2229 t("max_int_int") │ │ │ │ -00000700: 0a76 616c 2028 2920 3d20 696e 7365 7274 .val () = insert │ │ │ │ -00000710: 2822 6d69 6e5f 696e 745f 696e 7422 290a ("min_int_int"). │ │ │ │ -00000720: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse │ │ │ │ -00000730: 7274 2822 6e75 6c6c 5f61 6464 7222 290a rt("null_addr"). │ │ │ │ -00000740: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse │ │ │ │ -00000750: 7274 2822 6164 645f 6164 6472 5f69 6e74 rt("add_addr_int │ │ │ │ -00000760: 2229 0a76 616c 2028 2920 3d20 696e 7365 ").val () = inse │ │ │ │ -00000770: 7274 2822 7375 625f 6164 6472 5f69 6e74 rt("sub_addr_int │ │ │ │ -00000780: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 ").//.val () = i │ │ │ │ -00000790: 6e73 6572 7428 226c 745f 6164 6472 5f61 nsert("lt_addr_a │ │ │ │ -000007a0: 6464 7222 290a 7661 6c20 2829 203d 2069 ddr").val () = i │ │ │ │ -000007b0: 6e73 6572 7428 2267 745f 6164 6472 5f61 nsert("gt_addr_a │ │ │ │ -000007c0: 6464 7222 290a 7661 6c20 2829 203d 2069 ddr").val () = i │ │ │ │ -000007d0: 6e73 6572 7428 226c 7465 5f61 6464 725f nsert("lte_addr_ │ │ │ │ -000007e0: 6164 6472 2229 0a76 616c 2028 2920 3d20 addr").val () = │ │ │ │ -000007f0: 696e 7365 7274 2822 6774 655f 6164 6472 insert("gte_addr │ │ │ │ -00000800: 5f61 6464 7222 290a 7661 6c20 2829 203d _addr").val () = │ │ │ │ -00000810: 2069 6e73 6572 7428 2265 715f 6164 6472 insert("eq_addr │ │ │ │ -00000820: 5f61 6464 7222 290a 7661 6c20 2829 203d _addr").val () = │ │ │ │ -00000830: 2069 6e73 6572 7428 226e 6571 5f61 6464 insert("neq_add │ │ │ │ -00000840: 725f 6164 6472 2229 0a2f 2f0a 7661 6c20 r_addr").//.val │ │ │ │ -00000850: 2829 203d 2069 6e73 6572 7428 2274 7275 () = insert("tru │ │ │ │ -00000860: 655f 626f 6f6c 2229 0a76 616c 2028 2920 e_bool").val () │ │ │ │ -00000870: 3d20 696e 7365 7274 2822 6661 6c73 655f = insert("false_ │ │ │ │ -00000880: 626f 6f6c 2229 0a2f 2f0a 7661 6c20 2829 bool").//.val () │ │ │ │ -00000890: 203d 2069 6e73 6572 7428 226e 6567 5f62 = insert("neg_b │ │ │ │ -000008a0: 6f6f 6c22 290a 2f2f 0a76 616c 2028 2920 ool").//.val () │ │ │ │ -000008b0: 3d20 696e 7365 7274 2822 6164 645f 626f = insert("add_bo │ │ │ │ -000008c0: 6f6c 5f62 6f6f 6c22 290a 7661 6c20 2829 ol_bool").val () │ │ │ │ -000008d0: 203d 2069 6e73 6572 7428 226d 756c 5f62 = insert("mul_b │ │ │ │ -000008e0: 6f6f 6c5f 626f 6f6c 2229 0a2f 2f0a 7661 ool_bool").//.va │ │ │ │ -000008f0: 6c20 2829 203d 2069 6e73 6572 7428 2265 l () = insert("e │ │ │ │ -00000900: 715f 626f 6f6c 5f62 6f6f 6c22 290a 7661 q_bool_bool").va │ │ │ │ -00000910: 6c20 2829 203d 2069 6e73 6572 7428 226c l () = insert("l │ │ │ │ -00000920: 745f 626f 6f6c 5f62 6f6f 6c22 290a 7661 t_bool_bool").va │ │ │ │ -00000930: 6c20 2829 203d 2069 6e73 6572 7428 2267 l () = insert("g │ │ │ │ -00000940: 745f 626f 6f6c 5f62 6f6f 6c22 290a 7661 t_bool_bool").va │ │ │ │ -00000950: 6c20 2829 203d 2069 6e73 6572 7428 226c l () = insert("l │ │ │ │ -00000960: 7465 5f62 6f6f 6c5f 626f 6f6c 2229 0a76 te_bool_bool").v │ │ │ │ -00000970: 616c 2028 2920 3d20 696e 7365 7274 2822 al () = insert(" │ │ │ │ -00000980: 6774 655f 626f 6f6c 5f62 6f6f 6c22 290a gte_bool_bool"). │ │ │ │ -00000990: 7661 6c20 2829 203d 2069 6e73 6572 7428 val () = insert( │ │ │ │ -000009a0: 226e 6571 5f62 6f6f 6c5f 626f 6f6c 2229 "neq_bool_bool") │ │ │ │ -000009b0: 0a2f 2f0a 2f2f 0a76 616c 2028 2920 3d20 .//.//.val () = │ │ │ │ -000009c0: 696e 7365 7274 2822 696e 7432 7265 616c insert("int2real │ │ │ │ -000009d0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 ").//.val () = i │ │ │ │ -000009e0: 6e73 6572 7428 226e 6567 5f72 6561 6c22 nsert("neg_real" │ │ │ │ -000009f0: 290a 7661 6c20 2829 203d 2069 6e73 6572 ).val () = inser │ │ │ │ -00000a00: 7428 2261 6273 5f72 6561 6c22 290a 7661 t("abs_real").va │ │ │ │ -00000a10: 6c20 2829 203d 2069 6e73 6572 7428 2273 l () = insert("s │ │ │ │ -00000a20: 676e 5f72 6561 6c22 290a 7661 6c20 2829 gn_real").val () │ │ │ │ -00000a30: 203d 2069 6e73 6572 7428 2266 6c6f 6f72 = insert("floor │ │ │ │ -00000a40: 5f72 6561 6c22 290a 2f2f 0a76 616c 2028 _real").//.val ( │ │ │ │ -00000a50: 2920 3d20 696e 7365 7274 2822 6164 645f ) = insert("add_ │ │ │ │ -00000a60: 7265 616c 5f72 6561 6c22 290a 7661 6c20 real_real").val │ │ │ │ -00000a70: 2829 203d 2069 6e73 6572 7428 2273 7562 () = insert("sub │ │ │ │ -00000a80: 5f72 6561 6c5f 7265 616c 2229 0a76 616c _real_real").val │ │ │ │ -00000a90: 2028 2920 3d20 696e 7365 7274 2822 6d75 () = insert("mu │ │ │ │ -00000aa0: 6c5f 7265 616c 5f72 6561 6c22 290a 7661 l_real_real").va │ │ │ │ -00000ab0: 6c20 2829 203d 2069 6e73 6572 7428 2264 l () = insert("d │ │ │ │ -00000ac0: 6976 5f72 6561 6c5f 7265 616c 2229 0a76 iv_real_real").v │ │ │ │ -00000ad0: 616c 2028 2920 3d20 696e 7365 7274 2822 al () = insert(" │ │ │ │ -00000ae0: 6d6f 645f 7265 616c 5f72 6561 6c22 290a mod_real_real"). │ │ │ │ -00000af0: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse │ │ │ │ -00000b00: 7274 2822 6571 5f72 6561 6c5f 7265 616c rt("eq_real_real │ │ │ │ -00000b10: 2229 0a76 616c 2028 2920 3d20 696e 7365 ").val () = inse │ │ │ │ -00000b20: 7274 2822 6c74 5f72 6561 6c5f 7265 616c rt("lt_real_real │ │ │ │ -00000b30: 2229 0a76 616c 2028 2920 3d20 696e 7365 ").val () = inse │ │ │ │ -00000b40: 7274 2822 6774 5f72 6561 6c5f 7265 616c rt("gt_real_real │ │ │ │ -00000b50: 2229 0a76 616c 2028 2920 3d20 696e 7365 ").val () = inse │ │ │ │ -00000b60: 7274 2822 6c74 655f 7265 616c 5f72 6561 rt("lte_real_rea │ │ │ │ -00000b70: 6c22 290a 7661 6c20 2829 203d 2069 6e73 l").val () = ins │ │ │ │ -00000b80: 6572 7428 2267 7465 5f72 6561 6c5f 7265 ert("gte_real_re │ │ │ │ -00000b90: 616c 2229 0a76 616c 2028 2920 3d20 696e al").val () = in │ │ │ │ -00000ba0: 7365 7274 2822 6e65 715f 7265 616c 5f72 sert("neq_real_r │ │ │ │ -00000bb0: 6561 6c22 290a 2f2f 0a76 616c 2028 2920 eal").//.val () │ │ │ │ -00000bc0: 3d20 696e 7365 7274 2822 6d61 785f 7265 = insert("max_re │ │ │ │ -00000bd0: 616c 5f72 6561 6c22 290a 7661 6c20 2829 al_real").val () │ │ │ │ -00000be0: 203d 2069 6e73 6572 7428 226d 696e 5f72 = insert("min_r │ │ │ │ -00000bf0: 6561 6c5f 7265 616c 2229 0a2f 2f0a 2f2f eal_real").//.// │ │ │ │ -00000c00: 0a7d 2028 2a20 656e 6420 6f66 205b 7468 .} (* end of [th │ │ │ │ -00000c10: 655f 7332 6369 6e74 6572 705f 696e 6974 e_s2cinterp_init │ │ │ │ -00000c20: 697a 655d 202a 290a 0a65 6e64 202f 2f20 ize] *)..end // │ │ │ │ -00000c30: 656e 6420 6f66 205b 6c6f 6361 6c5d 0a0a end of [local].. │ │ │ │ -00000c40: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000c50: 202a 290a 0a28 2a20 656e 6420 6f66 205b *)..(* end of [ │ │ │ │ -00000c60: 7061 7473 6f6c 7665 5f73 6d74 325f 736f patsolve_smt2_so │ │ │ │ -00000c70: 6c76 696e 675f 696e 7465 7270 2e64 6174 lving_interp.dat │ │ │ │ -00000c80: 735d 202a 290a s] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats │ │ │ │ @@ -1,404 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS │ │ │ │ -00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN │ │ │ │ -00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include "./my │ │ │ │ -000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats".#en │ │ │ │ -000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i │ │ │ │ -000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* *** │ │ │ │ -000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = "p │ │ │ │ -000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa │ │ │ │ -00000100: 6665 2e73 6174 7322 0a2f 2f0a 7374 616c fe.sats".//.stal │ │ │ │ -00000110: 6f61 6420 222e 2f70 6174 736f 6c76 655f oad "./patsolve_ │ │ │ │ -00000120: 736d 7432 5f73 6f6c 7669 6e67 5f63 7478 smt2_solving_ctx │ │ │ │ -00000130: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats".//.(* *** │ │ │ │ -00000140: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -00000150: 0a65 7874 6572 6e0a 6675 6e0a 534d 5432 .extern.fun.SMT2 │ │ │ │ -00000160: 5f61 7373 6572 7428 656e 763a 2021 736d _assert(env: !sm │ │ │ │ -00000170: 7465 6e76 2c20 666f 726d 293a 2076 6f69 tenv, form): voi │ │ │ │ -00000180: 640a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a d.//.(* ****** * │ │ │ │ -00000190: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6461 7461 ***** *).//.data │ │ │ │ -000001a0: 7674 7970 650a 534d 5432 5f73 6f6c 7665 vtype.SMT2_solve │ │ │ │ -000001b0: 7220 3d0a 534d 5432 5f53 4f4c 5645 5220 r =.SMT2_SOLVER │ │ │ │ -000001c0: 6f66 204c 6973 7430 5f76 7428 736f 6c76 of List0_vt(solv │ │ │ │ -000001d0: 6572 636d 6429 0a2f 2f0a 282a 202a 2a2a ercmd).//.(* *** │ │ │ │ -000001e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000001f0: 0a66 756e 0a53 4d54 325f 736f 6c76 6572 .fun.SMT2_solver │ │ │ │ -00000200: 5f70 6f70 0a28 0a20 2073 6f6c 7665 723a _pop.(. solver: │ │ │ │ -00000210: 2021 534d 5432 5f73 6f6c 7665 720a 2920 !SMT2_solver.) │ │ │ │ -00000220: 3a20 766f 6964 203d 0a7b 0a2f 2f0a 7661 : void =.{.//.va │ │ │ │ -00000230: 6c2b 4053 4d54 325f 534f 4c56 4552 2878 l+@SMT2_SOLVER(x │ │ │ │ -00000240: 7329 203d 2073 6f6c 7665 720a 7661 6c20 s) = solver.val │ │ │ │ -00000250: 2828 2a76 6f69 642a 2929 203d 0a28 0a2f ((*void*)) =.(./ │ │ │ │ -00000260: 2f0a 7873 203a 3d0a 6c69 7374 5f76 745f /.xs :=.list_vt_ │ │ │ │ -00000270: 636f 6e73 2853 4f4c 5645 5243 4d44 706f cons(SOLVERCMDpo │ │ │ │ -00000280: 7028 292c 2078 7329 0a2f 2f0a 2920 282a p(), xs).//.) (* │ │ │ │ -00000290: 2065 6e64 206f 6620 5b76 616c 5d20 2a29 end of [val] *) │ │ │ │ -000002a0: 0a70 7276 616c 2028 282a 666f 6c64 6564 .prval ((*folded │ │ │ │ -000002b0: 2a29 2920 3d20 666f 6c64 4028 736f 6c76 *)) = fold@(solv │ │ │ │ -000002c0: 6572 290a 7d20 282a 2065 6e64 206f 6620 er).} (* end of │ │ │ │ -000002d0: 5b53 4d54 325f 736f 6c76 6572 5f70 6f70 [SMT2_solver_pop │ │ │ │ -000002e0: 5d20 2a29 0a2f 2f0a 6675 6e0a 534d 5432 ] *).//.fun.SMT2 │ │ │ │ -000002f0: 5f73 6f6c 7665 725f 7075 7368 0a28 0a20 _solver_push.(. │ │ │ │ -00000300: 2073 6f6c 7665 723a 2021 534d 5432 5f73 solver: !SMT2_s │ │ │ │ -00000310: 6f6c 7665 720a 2920 3a20 766f 6964 203d olver.) : void = │ │ │ │ -00000320: 0a7b 0a76 616c 2b40 534d 5432 5f53 4f4c .{.val+@SMT2_SOL │ │ │ │ -00000330: 5645 5228 7873 2920 3d20 736f 6c76 6572 VER(xs) = solver │ │ │ │ -00000340: 0a76 616c 2028 282a 766f 6964 2a29 2920 .val ((*void*)) │ │ │ │ -00000350: 3d0a 280a 2f2f 0a78 7320 3a3d 0a6c 6973 =.(.//.xs :=.lis │ │ │ │ -00000360: 745f 7674 5f63 6f6e 7328 534f 4c56 4552 t_vt_cons(SOLVER │ │ │ │ -00000370: 434d 4470 7573 6828 292c 2078 7329 0a2f CMDpush(), xs)./ │ │ │ │ -00000380: 2f0a 2920 282a 2065 6e64 206f 6620 5b76 /.) (* end of [v │ │ │ │ -00000390: 616c 5d20 2a29 0a70 7276 616c 2028 282a al] *).prval ((* │ │ │ │ -000003a0: 666f 6c64 6564 2a29 2920 3d20 666f 6c64 folded*)) = fold │ │ │ │ -000003b0: 4028 736f 6c76 6572 290a 7d20 282a 2065 @(solver).} (* e │ │ │ │ -000003c0: 6e64 206f 6620 5b53 4d54 325f 736f 6c76 nd of [SMT2_solv │ │ │ │ -000003d0: 6572 5f70 7573 685d 202a 290a 2f2f 0a28 er_push] *).//.( │ │ │ │ -000003e0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000003f0: 2a29 0a0a 6675 6e0a 534d 5432 5f73 6f6c *)..fun.SMT2_sol │ │ │ │ -00000400: 7665 725f 6563 686f 6c6f 630a 280a 2020 ver_echoloc.(. │ │ │ │ -00000410: 736f 6c76 6572 3a20 2153 4d54 325f 736f solver: !SMT2_so │ │ │ │ -00000420: 6c76 6572 2c20 6c6f 633a 206c 6f63 5f74 lver, loc: loc_t │ │ │ │ -00000430: 0a29 203a 2076 6f69 6420 3d0a 7b0a 7661 .) : void =.{.va │ │ │ │ -00000440: 6c2b 4053 4d54 325f 534f 4c56 4552 2878 l+@SMT2_SOLVER(x │ │ │ │ -00000450: 7329 203d 2073 6f6c 7665 720a 7661 6c20 s) = solver.val │ │ │ │ -00000460: 2828 2a76 6f69 642a 2929 203d 0a28 0a2f ((*void*)) =.(./ │ │ │ │ -00000470: 2f0a 7873 203a 3d0a 6c69 7374 5f76 745f /.xs :=.list_vt_ │ │ │ │ -00000480: 636f 6e73 2853 4f4c 5645 5243 4d44 6563 cons(SOLVERCMDec │ │ │ │ -00000490: 686f 6c6f 6328 6c6f 6329 2c20 7873 290a holoc(loc), xs). │ │ │ │ -000004a0: 2f2f 0a29 2028 2a20 656e 6420 6f66 205b //.) (* end of [ │ │ │ │ -000004b0: 7661 6c5d 202a 290a 7072 7661 6c20 2828 val] *).prval (( │ │ │ │ -000004c0: 2a66 6f6c 6465 642a 2929 203d 2066 6f6c *folded*)) = fol │ │ │ │ -000004d0: 6440 2873 6f6c 7665 7229 0a2f 2f0a 7d20 d@(solver).//.} │ │ │ │ -000004e0: 282a 2065 6e64 206f 6620 5b53 4d54 325f (* end of [SMT2_ │ │ │ │ -000004f0: 736f 6c76 6572 5f65 6368 6f6c 6f63 5d20 solver_echoloc] │ │ │ │ -00000500: 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a *)..(* ****** ** │ │ │ │ -00000510: 2a2a 2a2a 202a 290a 2f2f 0a66 756e 0a53 **** *).//.fun.S │ │ │ │ -00000520: 4d54 325f 736f 6c76 6572 5f63 6865 636b MT2_solver_check │ │ │ │ -00000530: 7361 740a 280a 2020 736f 6c76 6572 3a20 sat.(. solver: │ │ │ │ -00000540: 2153 4d54 325f 736f 6c76 6572 0a29 203a !SMT2_solver.) : │ │ │ │ -00000550: 2076 6f69 6420 3d0a 7b0a 7661 6c2b 4053 void =.{.val+@S │ │ │ │ -00000560: 4d54 325f 534f 4c56 4552 2878 7329 203d MT2_SOLVER(xs) = │ │ │ │ -00000570: 2073 6f6c 7665 720a 7661 6c20 2828 2a76 solver.val ((*v │ │ │ │ -00000580: 6f69 642a 2929 203d 0a28 0a2f 2f0a 2020 oid*)) =.(.//. │ │ │ │ -00000590: 7873 203a 3d0a 2020 6c69 7374 5f76 745f xs :=. list_vt_ │ │ │ │ -000005a0: 636f 6e73 2853 4f4c 5645 5243 4d44 6368 cons(SOLVERCMDch │ │ │ │ -000005b0: 6563 6b73 6174 2829 2c20 7873 290a 2f2f ecksat(), xs).// │ │ │ │ -000005c0: 0a29 2028 2a20 656e 6420 6f66 205b 7661 .) (* end of [va │ │ │ │ -000005d0: 6c5d 202a 290a 7072 7661 6c20 2828 2a66 l] *).prval ((*f │ │ │ │ -000005e0: 6f6c 6465 642a 2929 203d 2066 6f6c 6440 olded*)) = fold@ │ │ │ │ -000005f0: 2873 6f6c 7665 7229 0a7d 2028 2a20 656e (solver).} (* en │ │ │ │ -00000600: 6420 6f66 205b 534d 5432 5f73 6f6c 7665 d of [SMT2_solve │ │ │ │ -00000610: 725f 6368 6563 6b73 6174 5d20 2a29 0a2f r_checksat] *)./ │ │ │ │ -00000620: 2f0a 6675 6e0a 534d 5432 5f73 6f6c 7665 /.fun.SMT2_solve │ │ │ │ -00000630: 725f 6173 7365 7274 0a28 0a20 2073 6f6c r_assert.(. sol │ │ │ │ -00000640: 7665 723a 2021 534d 5432 5f73 6f6c 7665 ver: !SMT2_solve │ │ │ │ -00000650: 722c 2066 6d6c 3a20 666f 726d 0a29 203a r, fml: form.) : │ │ │ │ -00000660: 2076 6f69 6420 3d0a 7b0a 2f2f 0a76 616c void =.{.//.val │ │ │ │ -00000670: 2b40 534d 5432 5f53 4f4c 5645 5228 7873 +@SMT2_SOLVER(xs │ │ │ │ -00000680: 2920 3d20 736f 6c76 6572 0a76 616c 2028 ) = solver.val ( │ │ │ │ -00000690: 282a 766f 6964 2a29 2920 3d0a 280a 2020 (*void*)) =.(. │ │ │ │ -000006a0: 7873 203a 3d20 6c69 7374 5f76 745f 636f xs := list_vt_co │ │ │ │ -000006b0: 6e73 2853 4f4c 5645 5243 4d44 6173 7365 ns(SOLVERCMDasse │ │ │ │ -000006c0: 7274 2866 6d6c 292c 2078 7329 0a29 2028 rt(fml), xs).) ( │ │ │ │ -000006d0: 2a20 656e 6420 6f66 205b 7661 6c5d 202a * end of [val] * │ │ │ │ -000006e0: 290a 7072 7661 6c20 2828 2a66 6f6c 6465 ).prval ((*folde │ │ │ │ -000006f0: 642a 2929 203d 2066 6f6c 6440 2873 6f6c d*)) = fold@(sol │ │ │ │ -00000700: 7665 7229 0a2f 2f0a 7d20 282a 2065 6e64 ver).//.} (* end │ │ │ │ -00000710: 206f 6620 5b53 4d54 325f 736f 6c76 6572 of [SMT2_solver │ │ │ │ -00000720: 5f61 7373 6572 745d 202a 290a 2f2f 0a28 _assert] *).//.( │ │ │ │ -00000730: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000740: 2a29 0a2f 2f0a 6675 6e0a 534d 5432 5f73 *).//.fun.SMT2_s │ │ │ │ -00000750: 6f6c 7665 725f 706f 7065 6e76 0a28 0a20 olver_popenv.(. │ │ │ │ -00000760: 2073 6f6c 7665 723a 2021 534d 5432 5f73 solver: !SMT2_s │ │ │ │ -00000770: 6f6c 7665 722c 2073 3276 733a 2073 3276 olver, s2vs: s2v │ │ │ │ -00000780: 6172 6c73 740a 2920 3a20 766f 6964 203d arlst.) : void = │ │ │ │ -00000790: 0a7b 0a2f 2f0a 7661 6c20 7332 7673 203d .{.//.val s2vs = │ │ │ │ -000007a0: 0a6c 6973 745f 7674 3274 286c 6973 745f .list_vt2t(list_ │ │ │ │ -000007b0: 7265 7665 7273 6528 7332 7673 2929 0a2f reverse(s2vs))./ │ │ │ │ -000007c0: 2f0a 7661 6c2b 4053 4d54 325f 534f 4c56 /.val+@SMT2_SOLV │ │ │ │ -000007d0: 4552 2878 7329 203d 2073 6f6c 7665 720a ER(xs) = solver. │ │ │ │ -000007e0: 7661 6c20 2828 2a76 6f69 642a 2929 203d val ((*void*)) = │ │ │ │ -000007f0: 0a28 0a20 2078 7320 3a3d 0a20 206c 6973 .(. xs :=. lis │ │ │ │ -00000800: 745f 7674 5f63 6f6e 7328 534f 4c56 4552 t_vt_cons(SOLVER │ │ │ │ -00000810: 434d 4470 6f70 656e 7628 7332 7673 292c CMDpopenv(s2vs), │ │ │ │ -00000820: 2078 7329 0a29 2028 2a20 656e 6420 6f66 xs).) (* end of │ │ │ │ -00000830: 205b 7661 6c5d 202a 290a 2f2f 0a70 7276 [val] *).//.prv │ │ │ │ -00000840: 616c 2028 282a 666f 6c64 6564 2a29 2920 al ((*folded*)) │ │ │ │ -00000850: 3d20 666f 6c64 4028 736f 6c76 6572 290a = fold@(solver). │ │ │ │ -00000860: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [ │ │ │ │ -00000870: 534d 5432 5f73 6f6c 7665 725f 706f 7065 SMT2_solver_pope │ │ │ │ -00000880: 6e76 5d20 2a29 0a2f 2f0a 6675 6e0a 534d nv] *).//.fun.SM │ │ │ │ -00000890: 5432 5f73 6f6c 7665 725f 7075 7368 656e T2_solver_pushen │ │ │ │ -000008a0: 760a 2020 2873 6f6c 7665 723a 2021 534d v. (solver: !SM │ │ │ │ -000008b0: 5432 5f73 6f6c 7665 7229 3a20 766f 6964 T2_solver): void │ │ │ │ -000008c0: 203d 0a7b 0a2f 2f0a 7661 6c2b 4053 4d54 =.{.//.val+@SMT │ │ │ │ -000008d0: 325f 534f 4c56 4552 2878 7329 203d 2073 2_SOLVER(xs) = s │ │ │ │ -000008e0: 6f6c 7665 720a 7661 6c20 2828 2a76 6f69 olver.val ((*voi │ │ │ │ -000008f0: 642a 2929 203d 0a28 0a20 2078 7320 3a3d d*)) =.(. xs := │ │ │ │ -00000900: 206c 6973 745f 7674 5f63 6f6e 7328 534f list_vt_cons(SO │ │ │ │ -00000910: 4c56 4552 434d 4470 7573 6865 6e76 2829 LVERCMDpushenv() │ │ │ │ -00000920: 2c20 7873 290a 2920 282a 2065 6e64 206f , xs).) (* end o │ │ │ │ -00000930: 6620 5b76 616c 5d20 2a29 0a2f 2f0a 7072 f [val] *).//.pr │ │ │ │ -00000940: 7661 6c20 2828 2a66 6f6c 6465 642a 2929 val ((*folded*)) │ │ │ │ -00000950: 203d 2066 6f6c 6440 2873 6f6c 7665 7229 = fold@(solver) │ │ │ │ -00000960: 0a2f 2f0a 7d20 282a 2065 6e64 206f 6620 .//.} (* end of │ │ │ │ -00000970: 5b53 4d54 325f 736f 6c76 6572 5f70 7573 [SMT2_solver_pus │ │ │ │ -00000980: 6865 6e76 5d20 2a29 0a2f 2f0a 282a 202a henv] *).//.(* * │ │ │ │ -00000990: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -000009a0: 2f2f 0a66 756e 0a53 4d54 325f 736f 6c76 //.fun.SMT2_solv │ │ │ │ -000009b0: 6572 5f67 6574 6672 6565 0a28 0a20 2073 er_getfree.(. s │ │ │ │ -000009c0: 6f6c 7665 723a 2053 4d54 325f 736f 6c76 olver: SMT2_solv │ │ │ │ -000009d0: 6572 0a29 203a 204c 6973 7430 5f76 7428 er.) : List0_vt( │ │ │ │ -000009e0: 736f 6c76 6572 636d 6429 203d 0a20 2078 solvercmd) =. x │ │ │ │ -000009f0: 7320 7768 6572 650a 7b0a 2f2f 0a76 616c s where.{.//.val │ │ │ │ -00000a00: 2b7e 534d 5432 5f53 4f4c 5645 5228 7873 +~SMT2_SOLVER(xs │ │ │ │ -00000a10: 2920 3d20 736f 6c76 6572 0a2f 2f0a 7d20 ) = solver.//.} │ │ │ │ -00000a20: 282a 2065 6e64 206f 6620 5b53 4d54 325f (* end of [SMT2_ │ │ │ │ -00000a30: 736f 6c76 6572 5f67 6574 6672 6565 5d20 solver_getfree] │ │ │ │ -00000a40: 2a29 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 *).//.(* ****** │ │ │ │ -00000a50: 2a2a 2a2a 2a2a 202a 290a 0a64 6174 6176 ****** *)..datav │ │ │ │ -00000a60: 7479 7065 0a73 6d74 656e 7620 3d0a 534d type.smtenv =.SM │ │ │ │ -00000a70: 5445 4e56 206f 660a 280a 2020 736d 7465 TENV of.(. smte │ │ │ │ -00000a80: 6e76 5f73 7472 7563 740a 2920 7768 6572 nv_struct.) wher │ │ │ │ -00000a90: 6520 736d 7465 6e76 5f73 7472 7563 7420 e smtenv_struct │ │ │ │ -00000aa0: 3d20 407b 0a2f 2f0a 736d 7465 6e76 5f73 = @{.//.smtenv_s │ │ │ │ -00000ab0: 6f6c 7665 723d 2053 4d54 325f 736f 6c76 olver= SMT2_solv │ │ │ │ -00000ac0: 6572 0a2c 0a73 6d74 656e 765f 7332 7661 er.,.smtenv_s2va │ │ │ │ -00000ad0: 726c 7374 203d 2073 3276 6172 6c73 740a rlst = s2varlst. │ │ │ │ -00000ae0: 2c0a 736d 7465 6e76 5f73 3276 6172 6c73 ,.smtenv_s2varls │ │ │ │ -00000af0: 746c 7374 203d 204c 6973 7430 5f76 7428 tlst = List0_vt( │ │ │ │ -00000b00: 7332 7661 726c 7374 290a 2f2f 0a7d 2028 s2varlst).//.} ( │ │ │ │ -00000b10: 2a20 656e 6420 6f66 205b 736d 7465 6e76 * end of [smtenv │ │ │ │ -00000b20: 5f73 7472 7563 745d 202a 290a 0a28 2a20 _struct] *)..(* │ │ │ │ -00000b30: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000b40: 0a2f 2f0a 6578 7465 726e 0a66 756e 0a73 .//.extern.fun.s │ │ │ │ -00000b50: 6d74 656e 765f 7332 7661 726c 7374 6c73 mtenv_s2varlstls │ │ │ │ -00000b60: 745f 7674 5f66 7265 650a 2020 2878 7373 t_vt_free. (xss │ │ │ │ -00000b70: 3a20 4c69 7374 305f 7674 2873 3276 6172 : List0_vt(s2var │ │ │ │ -00000b80: 6c73 7429 293a 2076 6f69 640a 2f2f 0a69 lst)): void.//.i │ │ │ │ -00000b90: 6d70 6c65 6d65 6e74 0a73 6d74 656e 765f mplement.smtenv_ │ │ │ │ -00000ba0: 7332 7661 726c 7374 6c73 745f 7674 5f66 s2varlstlst_vt_f │ │ │ │ -00000bb0: 7265 6528 7873 7329 203d 206c 6973 745f ree(xss) = list_ │ │ │ │ -00000bc0: 7674 5f66 7265 6528 7873 7329 0a2f 2f0a vt_free(xss).//. │ │ │ │ -00000bd0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000be0: 202a 290a 0a61 7373 756d 6520 736d 7465 *)..assume smte │ │ │ │ -00000bf0: 6e76 5f76 7479 7065 203d 2073 6d74 656e nv_vtype = smten │ │ │ │ -00000c00: 760a 6173 7375 6d65 2073 6d74 656e 765f v.assume smtenv_ │ │ │ │ -00000c10: 7075 7368 5f76 203d 2075 6e69 745f 760a push_v = unit_v. │ │ │ │ -00000c20: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000c30: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement. │ │ │ │ -00000c40: 736d 7465 6e76 5f63 7265 6174 650a 2020 smtenv_create. │ │ │ │ -00000c50: 2829 203d 2065 6e76 2077 6865 7265 0a7b () = env where.{ │ │ │ │ -00000c60: 0a2f 2f0a 7661 6c20 656e 7620 3d20 534d .//.val env = SM │ │ │ │ -00000c70: 5445 4e56 285f 290a 2f2f 0a76 616c 2b53 TENV(_).//.val+S │ │ │ │ -00000c80: 4d54 454e 5628 656e 765f 7329 203d 2065 MTENV(env_s) = e │ │ │ │ -00000c90: 6e76 0a2f 2f0a 7661 6c20 2829 203d 0a28 nv.//.val () =.( │ │ │ │ -00000ca0: 0a20 2065 6e76 5f73 2e73 6d74 656e 765f . env_s.smtenv_ │ │ │ │ -00000cb0: 736f 6c76 6572 203a 3d20 534d 5432 5f53 solver := SMT2_S │ │ │ │ -00000cc0: 4f4c 5645 5228 6e69 6c5f 7674 290a 290a OLVER(nil_vt).). │ │ │ │ -00000cd0: 2f2f 0a76 616c 2028 2920 3d20 656e 765f //.val () = env_ │ │ │ │ -00000ce0: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls │ │ │ │ -00000cf0: 7420 3a3d 206e 696c 2828 2a76 6f69 642a t := nil((*void* │ │ │ │ -00000d00: 2929 0a76 616c 2028 2920 3d20 656e 765f )).val () = env_ │ │ │ │ -00000d10: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls │ │ │ │ -00000d20: 746c 7374 203a 3d20 6e69 6c5f 7674 282a tlst := nil_vt(* │ │ │ │ -00000d30: 766f 6964 2a29 0a2f 2f0a 7072 7661 6c20 void*).//.prval │ │ │ │ -00000d40: 2829 203d 2066 6f6c 6440 2865 6e76 290a () = fold@(env). │ │ │ │ -00000d50: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [ │ │ │ │ -00000d60: 736d 7465 6e76 5f63 7265 6174 655d 202a smtenv_create] * │ │ │ │ -00000d70: 290a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a )..(* ****** *** │ │ │ │ -00000d80: 2a2a 2a20 2a29 0a0a 696d 706c 656d 656e *** *)..implemen │ │ │ │ -00000d90: 740a 736d 7465 6e76 5f64 6573 7472 6f79 t.smtenv_destroy │ │ │ │ -00000da0: 0a20 2028 656e 7629 203d 2078 7320 7768 . (env) = xs wh │ │ │ │ -00000db0: 6572 650a 7b0a 2f2f 0a76 616c 2b7e 534d ere.{.//.val+~SM │ │ │ │ -00000dc0: 5445 4e56 2865 6e76 5f73 2920 3d20 656e TENV(env_s) = en │ │ │ │ -00000dd0: 760a 2f2f 0a76 616c 2078 7320 3d20 534d v.//.val xs = SM │ │ │ │ -00000de0: 5432 5f73 6f6c 7665 725f 6765 7466 7265 T2_solver_getfre │ │ │ │ -00000df0: 6528 656e 765f 732e 736d 7465 6e76 5f73 e(env_s.smtenv_s │ │ │ │ -00000e00: 6f6c 7665 7229 0a76 616c 2028 2920 3d20 olver).val () = │ │ │ │ -00000e10: 736d 7465 6e76 5f73 3276 6172 6c73 746c smtenv_s2varlstl │ │ │ │ -00000e20: 7374 5f76 745f 6672 6565 2865 6e76 5f73 st_vt_free(env_s │ │ │ │ -00000e30: 2e73 6d74 656e 765f 7332 7661 726c 7374 .smtenv_s2varlst │ │ │ │ -00000e40: 6c73 7429 0a2f 2f0a 7d20 282a 2065 6e64 lst).//.} (* end │ │ │ │ -00000e50: 206f 6620 5b73 6d74 656e 765f 6465 7374 of [smtenv_dest │ │ │ │ -00000e60: 726f 795d 202a 290a 0a28 2a20 2a2a 2a2a roy] *)..(* **** │ │ │ │ -00000e70: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00000e80: 706c 656d 656e 740a 736d 7465 6e76 5f70 plement.smtenv_p │ │ │ │ -00000e90: 6f70 0a20 2028 7066 207c 2065 6e76 2920 op. (pf | env) │ │ │ │ -00000ea0: 3d20 6c65 740a 2f2f 0a70 7276 616c 0a75 = let.//.prval.u │ │ │ │ -00000eb0: 6e69 745f 7628 282a 766f 6964 2a29 2920 nit_v((*void*)) │ │ │ │ -00000ec0: 3d20 7066 0a2f 2f0a 7661 6c2b 4053 4d54 = pf.//.val+@SMT │ │ │ │ -00000ed0: 454e 5628 656e 765f 7329 203d 2065 6e76 ENV(env_s) = env │ │ │ │ -00000ee0: 0a2f 2f0a 7661 6c20 2828 2a76 6f69 642a .//.val ((*void* │ │ │ │ -00000ef0: 2929 203d 0a53 4d54 325f 736f 6c76 6572 )) =.SMT2_solver │ │ │ │ -00000f00: 5f70 6f70 656e 760a 280a 2020 656e 765f _popenv.(. env_ │ │ │ │ -00000f10: 732e 736d 7465 6e76 5f73 6f6c 7665 720a s.smtenv_solver. │ │ │ │ -00000f20: 2c20 656e 765f 732e 736d 7465 6e76 5f73 , env_s.smtenv_s │ │ │ │ -00000f30: 3276 6172 6c73 740a 290a 7661 6c20 7332 2varlst.).val s2 │ │ │ │ -00000f40: 7673 7320 3d20 656e 765f 732e 736d 7465 vss = env_s.smte │ │ │ │ -00000f50: 6e76 5f73 3276 6172 6c73 746c 7374 0a76 nv_s2varlstlst.v │ │ │ │ -00000f60: 616c 2d7e 6c69 7374 5f76 745f 636f 6e73 al-~list_vt_cons │ │ │ │ -00000f70: 2873 3276 732c 2073 3276 7373 2920 3d20 (s2vs, s2vss) = │ │ │ │ -00000f80: 7332 7673 730a 7661 6c20 2828 2a76 6f69 s2vss.val ((*voi │ │ │ │ -00000f90: 642a 2929 203d 2065 6e76 5f73 2e73 6d74 d*)) = env_s.smt │ │ │ │ -00000fa0: 656e 765f 7332 7661 726c 7374 203a 3d20 env_s2varlst := │ │ │ │ -00000fb0: 7332 7673 0a76 616c 2028 282a 766f 6964 s2vs.val ((*void │ │ │ │ -00000fc0: 2a29 2920 3d20 656e 765f 732e 736d 7465 *)) = env_s.smte │ │ │ │ -00000fd0: 6e76 5f73 3276 6172 6c73 746c 7374 203a nv_s2varlstlst : │ │ │ │ -00000fe0: 3d20 7332 7673 730a 2f2f 0a70 7276 616c = s2vss.//.prval │ │ │ │ -00000ff0: 2028 282a 666f 6c64 6564 2a29 2920 3d20 ((*folded*)) = │ │ │ │ -00001000: 666f 6c64 4028 656e 7629 0a2f 2f0a 696e fold@(env).//.in │ │ │ │ -00001010: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en │ │ │ │ -00001020: 6420 2f2f 2065 6e64 206f 6620 5b73 6d74 d // end of [smt │ │ │ │ -00001030: 656e 765f 706f 705d 0a0a 282a 202a 2a2a env_pop]..(* *** │ │ │ │ -00001040: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i │ │ │ │ -00001050: 6d70 6c65 6d65 6e74 0a73 6d74 656e 765f mplement.smtenv_ │ │ │ │ -00001060: 7075 7368 0a20 2028 656e 7629 203d 206c push. (env) = l │ │ │ │ -00001070: 6574 0a2f 2f0a 7661 6c2b 4053 4d54 454e et.//.val+@SMTEN │ │ │ │ -00001080: 5628 656e 765f 7329 203d 2065 6e76 0a2f V(env_s) = env./ │ │ │ │ -00001090: 2f0a 7661 6c20 2828 2a76 6f69 642a 2929 /.val ((*void*)) │ │ │ │ -000010a0: 203d 0a20 2053 4d54 325f 736f 6c76 6572 =. SMT2_solver │ │ │ │ -000010b0: 5f70 7573 6865 6e76 2865 6e76 5f73 2e73 _pushenv(env_s.s │ │ │ │ -000010c0: 6d74 656e 765f 736f 6c76 6572 290a 2f2f mtenv_solver).// │ │ │ │ -000010d0: 0a76 616c 2073 3276 7320 3d20 656e 765f .val s2vs = env_ │ │ │ │ -000010e0: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls │ │ │ │ -000010f0: 740a 7661 6c20 7332 7673 7320 3d20 656e t.val s2vss = en │ │ │ │ -00001100: 765f 732e 736d 7465 6e76 5f73 3276 6172 v_s.smtenv_s2var │ │ │ │ -00001110: 6c73 746c 7374 0a76 616c 2028 282a 766f lstlst.val ((*vo │ │ │ │ -00001120: 6964 2a29 2920 3d0a 2020 656e 765f 732e id*)) =. env_s. │ │ │ │ -00001130: 736d 7465 6e76 5f73 3276 6172 6c73 7420 smtenv_s2varlst │ │ │ │ -00001140: 3a3d 206e 696c 2828 2a76 6f69 642a 2929 := nil((*void*)) │ │ │ │ -00001150: 0a76 616c 2028 282a 766f 6964 2a29 2920 .val ((*void*)) │ │ │ │ -00001160: 3d0a 2020 656e 765f 732e 736d 7465 6e76 =. env_s.smtenv │ │ │ │ -00001170: 5f73 3276 6172 6c73 746c 7374 203a 3d20 _s2varlstlst := │ │ │ │ -00001180: 636f 6e73 5f76 7428 7332 7673 2c20 7332 cons_vt(s2vs, s2 │ │ │ │ -00001190: 7673 7329 0a2f 2f0a 7072 7661 6c20 2828 vss).//.prval (( │ │ │ │ -000011a0: 2a66 6f6c 6465 642a 2929 203d 2066 6f6c *folded*)) = fol │ │ │ │ -000011b0: 6440 2865 6e76 290a 2f2f 0a69 6e0a 2020 d@(env).//.in. │ │ │ │ -000011c0: 2875 6e69 745f 7628 2920 7c20 2829 290a (unit_v() | ()). │ │ │ │ -000011d0: 656e 6420 2f2f 2065 6e64 206f 6620 5b73 end // end of [s │ │ │ │ -000011e0: 6d74 656e 765f 7075 7368 5d0a 0a28 2a20 mtenv_push]..(* │ │ │ │ -000011f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00001200: 0a0a 696d 706c 656d 656e 740a 736d 7465 ..implement.smte │ │ │ │ -00001210: 6e76 5f61 6464 5f73 3276 6172 0a20 2028 nv_add_s2var. ( │ │ │ │ -00001220: 656e 762c 2073 3276 3029 203d 2028 2920 env, s2v0) = () │ │ │ │ -00001230: 7768 6572 650a 7b0a 2f2f 0a76 616c 2b40 where.{.//.val+@ │ │ │ │ -00001240: 534d 5445 4e56 2865 6e76 5f73 2920 3d20 SMTENV(env_s) = │ │ │ │ -00001250: 656e 760a 2f2f 0a76 616c 2073 3276 7320 env.//.val s2vs │ │ │ │ -00001260: 3d20 656e 765f 732e 736d 7465 6e76 5f73 = env_s.smtenv_s │ │ │ │ -00001270: 3276 6172 6c73 740a 7661 6c20 2828 2a76 2varlst.val ((*v │ │ │ │ -00001280: 6f69 642a 2929 203d 0a20 2065 6e76 5f73 oid*)) =. env_s │ │ │ │ -00001290: 2e73 6d74 656e 765f 7332 7661 726c 7374 .smtenv_s2varlst │ │ │ │ -000012a0: 203a 3d20 636f 6e73 2873 3276 302c 2073 := cons(s2v0, s │ │ │ │ -000012b0: 3276 7329 0a70 7276 616c 2028 282a 766f 2vs).prval ((*vo │ │ │ │ -000012c0: 6964 2a29 2920 3d20 666f 6c64 4028 656e id*)) = fold@(en │ │ │ │ -000012d0: 7629 0a2f 2f0a 7d20 282a 2065 6e64 206f v).//.} (* end o │ │ │ │ -000012e0: 6620 5b73 6d74 656e 765f 6164 645f 7332 f [smtenv_add_s2 │ │ │ │ -000012f0: 7661 725d 202a 290a 0a28 2a20 2a2a 2a2a var] *)..(* **** │ │ │ │ -00001300: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00001310: 706c 656d 656e 740a 736d 7465 6e76 5f61 plement.smtenv_a │ │ │ │ -00001320: 6464 5f73 3265 7870 0a20 2028 656e 762c dd_s2exp. (env, │ │ │ │ -00001330: 2073 3270 3029 203d 0a7b 0a2f 2f0a 7661 s2p0) =.{.//.va │ │ │ │ -00001340: 6c0a 7332 7030 203d 0a66 6f72 6d75 6c61 l.s2p0 =.formula │ │ │ │ -00001350: 5f6d 616b 655f 7332 6578 700a 2020 2865 _make_s2exp. (e │ │ │ │ -00001360: 6e76 2c20 7332 7030 290a 2f2f 0a76 616c nv, s2p0).//.val │ │ │ │ -00001370: 2b0a 4053 4d54 454e 5628 656e 765f 7329 +.@SMTENV(env_s) │ │ │ │ -00001380: 203d 2065 6e76 0a2f 2f0a 7661 6c20 2828 = env.//.val (( │ │ │ │ -00001390: 2a76 6f69 642a 2929 203d 0a53 4d54 325f *void*)) =.SMT2_ │ │ │ │ -000013a0: 736f 6c76 6572 5f61 7373 6572 7428 656e solver_assert(en │ │ │ │ -000013b0: 765f 732e 736d 7465 6e76 5f73 6f6c 7665 v_s.smtenv_solve │ │ │ │ -000013c0: 722c 2073 3270 3029 0a2f 2f0a 7072 7661 r, s2p0).//.prva │ │ │ │ -000013d0: 6c20 2828 2a66 6f6c 6465 642a 2929 203d l ((*folded*)) = │ │ │ │ -000013e0: 2066 6f6c 6440 2865 6e76 290a 2f2f 0a7d fold@(env).//.} │ │ │ │ -000013f0: 2028 2a20 656e 6420 6f66 205b 736d 7465 (* end of [smte │ │ │ │ -00001400: 6e76 5f61 6464 5f73 3265 7870 5d20 2a29 nv_add_s2exp] *) │ │ │ │ -00001410: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00001420: 2a2a 202a 290a 2f2f 0a69 6d70 6c65 6d65 ** *).//.impleme │ │ │ │ -00001430: 6e74 0a73 6d74 656e 765f 6164 645f 6833 nt.smtenv_add_h3 │ │ │ │ -00001440: 7970 6f0a 2020 2865 6e76 2c20 6833 7030 ypo. (env, h3p0 │ │ │ │ -00001450: 2920 3d20 6c65 740a 2f2f 0a28 2a0a 7661 ) = let.//.(*.va │ │ │ │ -00001460: 6c20 2829 203d 0a66 7072 696e 746c 6e21 l () =.fprintln! │ │ │ │ -00001470: 0a28 0a20 2073 7464 6f75 745f 7265 660a .(. stdout_ref. │ │ │ │ -00001480: 2c20 2273 6d74 656e 765f 6164 645f 6833 , "smtenv_add_h3 │ │ │ │ -00001490: 7970 6f3a 2068 3370 3020 3d20 222c 2068 ypo: h3p0 = ", h │ │ │ │ -000014a0: 3370 300a 2920 282a 2065 6e64 206f 6620 3p0.) (* end of │ │ │ │ -000014b0: 5b76 616c 5d20 2a29 0a2a 290a 2f2f 0a69 [val] *).*).//.i │ │ │ │ -000014c0: 6e0a 2f2f 0a63 6173 652b 0a68 3370 302e n.//.case+.h3p0. │ │ │ │ -000014d0: 6833 7970 6f5f 6e6f 6465 0a6f 6620 282a h3ypo_node.of (* │ │ │ │ -000014e0: 2063 6173 652b 202a 290a 7c20 4833 5950 case+ *).| H3YP │ │ │ │ -000014f0: 4f70 726f 7020 7332 7020 3d3e 0a20 2020 Oprop s2p =>. │ │ │ │ -00001500: 2073 6d74 656e 765f 6164 645f 7332 6578 smtenv_add_s2ex │ │ │ │ -00001510: 7028 656e 762c 2073 3270 290a 2020 2f2f p(env, s2p). // │ │ │ │ -00001520: 2065 6e64 206f 6620 5b48 3359 504f 7072 end of [H3YPOpr │ │ │ │ -00001530: 6f70 5d0a 2f2f 0a7c 2048 3359 504f 6269 op].//.| H3YPObi │ │ │ │ -00001540: 6e64 0a20 2020 2028 7332 7631 2c20 7332 nd. (s2v1, s2 │ │ │ │ -00001550: 6532 2920 3d3e 206c 6574 0a20 2069 6e0a e2) => let. in. │ │ │ │ -00001560: 2020 2020 6966 2073 3276 6172 5f69 735f if s2var_is_ │ │ │ │ -00001570: 696d 7072 6564 2873 3276 3129 0a20 2020 impred(s2v1). │ │ │ │ -00001580: 2020 2074 6865 6e20 2829 0a20 2020 2020 then (). │ │ │ │ -00001590: 2065 6c73 6520 6c65 740a 2020 2020 2020 else let. │ │ │ │ -000015a0: 2020 7661 6c20 7332 7020 3d0a 2020 2020 val s2p =. │ │ │ │ -000015b0: 2020 2020 7332 6578 705f 6571 6571 0a20 s2exp_eqeq. │ │ │ │ -000015c0: 2020 2020 2020 2020 2028 7332 6578 705f (s2exp_ │ │ │ │ -000015d0: 7661 7228 7332 7631 292c 2073 3265 3229 var(s2v1), s2e2) │ │ │ │ -000015e0: 0a20 2020 2020 2020 202f 2f20 656e 6420 . // end │ │ │ │ -000015f0: 6f66 205b 7661 6c5d 0a20 2020 2020 2069 of [val]. i │ │ │ │ -00001600: 6e0a 2020 2020 2020 2020 736d 7465 6e76 n. smtenv │ │ │ │ -00001610: 5f61 6464 5f73 3265 7870 2865 6e76 2c20 _add_s2exp(env, │ │ │ │ -00001620: 7332 7029 0a20 2020 2020 2065 6e64 202f s2p). end / │ │ │ │ -00001630: 2f20 656e 6420 6f66 205b 656c 7365 5d0a / end of [else]. │ │ │ │ -00001640: 2020 656e 6420 2f2f 2065 6e64 206f 6620 end // end of │ │ │ │ -00001650: 5b48 3359 504f 6269 6e64 5d0a 2f2f 0a7c [H3YPObind].//.| │ │ │ │ -00001660: 2048 3359 504f 6571 6571 0a20 2020 2028 H3YPOeqeq. ( │ │ │ │ -00001670: 7332 6531 2c20 7332 6532 2920 3d3e 0a20 s2e1, s2e2) =>. │ │ │ │ -00001680: 2028 0a20 2020 2073 6d74 656e 765f 6164 (. smtenv_ad │ │ │ │ -00001690: 645f 7332 6578 7028 656e 762c 2073 3265 d_s2exp(env, s2e │ │ │ │ -000016a0: 7870 5f65 7165 7128 7332 6531 2c20 7332 xp_eqeq(s2e1, s2 │ │ │ │ -000016b0: 6532 2929 0a20 2029 2028 2a20 656e 6420 e2)). ) (* end │ │ │ │ -000016c0: 6f66 205b 4833 5950 4f65 7165 715d 202a of [H3YPOeqeq] * │ │ │ │ -000016d0: 290a 2f2f 0a65 6e64 202f 2f20 656e 6420 ).//.end // end │ │ │ │ -000016e0: 6f66 205b 736d 7465 6e76 5f61 6464 5f68 of [smtenv_add_h │ │ │ │ -000016f0: 3379 706f 5d0a 0a28 2a20 2a2a 2a2a 2a2a 3ypo]..(* ****** │ │ │ │ -00001700: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl │ │ │ │ -00001710: 656d 656e 740a 736d 7465 6e76 5f73 6f6c ement.smtenv_sol │ │ │ │ -00001720: 7665 5f66 6f72 6d75 6c61 0a20 2028 656e ve_formula. (en │ │ │ │ -00001730: 762c 206c 6f63 302c 2073 3270 3029 203d v, loc0, s2p0) = │ │ │ │ -00001740: 0a7b 0a2f 2f0a 7661 6c2b 0a40 534d 5445 .{.//.val+.@SMTE │ │ │ │ -00001750: 4e56 2865 6e76 5f73 2920 3d20 656e 760a NV(env_s) = env. │ │ │ │ -00001760: 2f2f 0a76 616c 2028 2920 3d0a 534d 5432 //.val () =.SMT2 │ │ │ │ -00001770: 5f73 6f6c 7665 725f 7075 7368 2865 6e76 _solver_push(env │ │ │ │ -00001780: 5f73 2e73 6d74 656e 765f 736f 6c76 6572 _s.smtenv_solver │ │ │ │ -00001790: 290a 2f2f 0a76 616c 2028 2920 3d0a 534d ).//.val () =.SM │ │ │ │ -000017a0: 5432 5f73 6f6c 7665 725f 6173 7365 7274 T2_solver_assert │ │ │ │ -000017b0: 0a20 2028 656e 765f 732e 736d 7465 6e76 . (env_s.smtenv │ │ │ │ -000017c0: 5f73 6f6c 7665 722c 2066 6f72 6d75 6c61 _solver, formula │ │ │ │ -000017d0: 5f6e 6f74 2873 3270 3029 290a 2f2f 0a76 _not(s2p0)).//.v │ │ │ │ -000017e0: 616c 2028 2920 3d0a 534d 5432 5f73 6f6c al () =.SMT2_sol │ │ │ │ -000017f0: 7665 725f 6563 686f 6c6f 630a 280a 2020 ver_echoloc.(. │ │ │ │ -00001800: 656e 765f 732e 736d 7465 6e76 5f73 6f6c env_s.smtenv_sol │ │ │ │ -00001810: 7665 722c 206c 6f63 3028 2a63 6f6e 7374 ver, loc0(*const │ │ │ │ -00001820: 7261 696e 742a 290a 2920 282a 2065 6e64 raint*).) (* end │ │ │ │ -00001830: 206f 6620 5b76 616c 5d20 2a29 0a2f 2f0a of [val] *).//. │ │ │ │ -00001840: 7661 6c20 2829 203d 0a20 2053 4d54 325f val () =. SMT2_ │ │ │ │ -00001850: 736f 6c76 6572 5f63 6865 636b 7361 7428 solver_checksat( │ │ │ │ -00001860: 656e 765f 732e 736d 7465 6e76 5f73 6f6c env_s.smtenv_sol │ │ │ │ -00001870: 7665 7229 0a2f 2f0a 7661 6c20 2829 203d ver).//.val () = │ │ │ │ -00001880: 2053 4d54 325f 736f 6c76 6572 5f70 6f70 SMT2_solver_pop │ │ │ │ -00001890: 2865 6e76 5f73 2e73 6d74 656e 765f 736f (env_s.smtenv_so │ │ │ │ -000018a0: 6c76 6572 290a 2f2f 0a70 7276 616c 2028 lver).//.prval ( │ │ │ │ -000018b0: 282a 766f 6964 2a29 2920 3d20 666f 6c64 (*void*)) = fold │ │ │ │ -000018c0: 4028 656e 7629 0a2f 2f0a 7d20 282a 2065 @(env).//.} (* e │ │ │ │ -000018d0: 6e64 206f 6620 5b73 6d74 656e 765f 736f nd of [smtenv_so │ │ │ │ -000018e0: 6c76 655f 666f 726d 756c 615d 202a 290a lve_formula] *). │ │ │ │ -000018f0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00001900: 2a20 2a29 0a0a 282a 2065 6e64 206f 6620 * *)..(* end of │ │ │ │ -00001910: 5b70 6174 736f 6c76 655f 736d 7432 5f73 [patsolve_smt2_s │ │ │ │ -00001920: 6f6c 7669 6e67 5f73 6d74 656e 762e 6461 olving_smtenv.da │ │ │ │ -00001930: 7473 5d20 2a29 0a ts] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats │ │ │ │ @@ -1,860 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho │ │ │ │ -00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.** │ │ │ │ -00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm │ │ │ │ -000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco │ │ │ │ -000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time: │ │ │ │ -000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.* │ │ │ │ -000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia │ │ │ │ -000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho │ │ │ │ -000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA │ │ │ │ -00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** │ │ │ │ -00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some │ │ │ │ -00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.// │ │ │ │ -00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** * │ │ │ │ -00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc │ │ │ │ -00000150: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude."share/atsp │ │ │ │ -00000160: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats" │ │ │ │ -00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000180: 2a2a 2a2a 202a 290a 2f2f 0a73 7461 6c6f **** *).//.stalo │ │ │ │ -00000190: 6164 0a53 5444 494f 203d 0a22 6c69 6261 ad.STDIO =."liba │ │ │ │ -000001a0: 7473 2f6c 6962 632f 5341 5453 2f73 7464 ts/libc/SATS/std │ │ │ │ -000001b0: 696f 2e73 6174 7322 0a2f 2f0a 282a 202a io.sats".//.(* * │ │ │ │ -000001c0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -000001d0: 2f2f 0a23 6465 6669 6e65 0a50 4154 534f //.#define.PATSO │ │ │ │ -000001e0: 4c56 455f 7461 7267 6574 6c6f 6322 2e2f LVE_targetloc"./ │ │ │ │ -000001f0: 2e2e 2f41 5453 2d65 7874 736f 6c76 6522 ../ATS-extsolve" │ │ │ │ -00000200: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000210: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal │ │ │ │ -00000220: 6f61 640a 227b 2450 4154 534f 4c56 457d oad."{$PATSOLVE} │ │ │ │ -00000230: 2f53 4154 532f 7061 7473 6f6c 7665 5f63 /SATS/patsolve_c │ │ │ │ -00000240: 6e73 7472 6e74 2e73 6174 7322 0a23 7374 nstrnt.sats".#st │ │ │ │ -00000250: 616c 6f61 640a 227b 2450 4154 534f 4c56 aload."{$PATSOLV │ │ │ │ -00000260: 457d 2f53 4154 532f 7061 7473 6f6c 7665 E}/SATS/patsolve │ │ │ │ -00000270: 5f70 6172 7369 6e67 2e73 6174 7322 0a2f _parsing.sats"./ │ │ │ │ -00000280: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000290: 2a2a 202a 290a 0a73 7461 6c6f 6164 2022 ** *)..staload " │ │ │ │ -000002a0: 2e2f 2e2e 2f53 4154 532f 7061 7473 6f6c ./../SATS/patsol │ │ │ │ -000002b0: 7665 5f73 6d74 325f 636f 6d6d 6172 672e ve_smt2_commarg. │ │ │ │ -000002c0: 7361 7473 220a 7374 616c 6f61 6420 222e sats".staload ". │ │ │ │ -000002d0: 2f2e 2e2f 5341 5453 2f70 6174 736f 6c76 /../SATS/patsolv │ │ │ │ -000002e0: 655f 736d 7432 5f73 6f6c 7669 6e67 2e73 e_smt2_solving.s │ │ │ │ -000002f0: 6174 7322 0a0a 282a 202a 2a2a 2a2a 2a20 ats"..(* ****** │ │ │ │ -00000300: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple │ │ │ │ -00000310: 6d65 6e74 0a66 7072 696e 745f 636f 6d6d ment.fprint_comm │ │ │ │ -00000320: 6172 6728 6f75 742c 2063 6129 203d 2028 arg(out, ca) = ( │ │ │ │ -00000330: 0a2f 2f0a 6361 7365 2b20 6361 206f 660a .//.case+ ca of. │ │ │ │ -00000340: 2f2f 0a7c 2043 4168 656c 7028 7374 7229 //.| CAhelp(str) │ │ │ │ -00000350: 203d 3e0a 2020 2020 6670 7269 6e74 2120 =>. fprint! │ │ │ │ -00000360: 286f 7574 2c20 2243 4168 656c 7028 222c (out, "CAhelp(", │ │ │ │ -00000370: 2073 7472 2c20 2229 2229 0a2f 2f0a 7c20 str, ")").//.| │ │ │ │ -00000380: 4341 6769 7465 6d28 7374 7229 203d 3e0a CAgitem(str) =>. │ │ │ │ -00000390: 2020 2020 6670 7269 6e74 2120 286f 7574 fprint! (out │ │ │ │ -000003a0: 2c20 2243 4167 6974 656d 2822 2c20 7374 , "CAgitem(", st │ │ │ │ -000003b0: 722c 2022 2922 290a 2f2f 0a7c 2043 4169 r, ")").//.| CAi │ │ │ │ -000003c0: 6e70 7574 2873 7472 2920 3d3e 0a20 2020 nput(str) =>. │ │ │ │ -000003d0: 2066 7072 696e 7421 2028 6f75 742c 2022 fprint! (out, " │ │ │ │ -000003e0: 4341 696e 7075 7428 222c 2073 7472 2c20 CAinput(", str, │ │ │ │ -000003f0: 2229 2229 0a2f 2f0a 7c20 4341 6f75 7470 ")").//.| CAoutp │ │ │ │ -00000400: 7574 286b 6e64 2c20 7374 7229 203d 3e0a ut(knd, str) =>. │ │ │ │ -00000410: 2020 2020 6670 7269 6e74 2120 286f 7574 fprint! (out │ │ │ │ -00000420: 2c20 2243 416f 7574 7075 7428 222c 206b , "CAoutput(", k │ │ │ │ -00000430: 6e64 2c20 222c 2022 2c20 7374 722c 2022 nd, ", ", str, " │ │ │ │ -00000440: 2922 290a 2f2f 0a7c 2043 4170 7269 6e74 )").//.| CAprint │ │ │ │ -00000450: 6c6e 2873 7472 2920 3d3e 0a20 2020 2066 ln(str) =>. f │ │ │ │ -00000460: 7072 696e 7421 2028 6f75 742c 2022 4341 print! (out, "CA │ │ │ │ -00000470: 7072 696e 746c 6e28 222c 2073 7472 2c20 println(", str, │ │ │ │ -00000480: 2229 2229 0a7c 2043 4170 7269 6e74 6669 ")").| CAprintfi │ │ │ │ -00000490: 6c65 2873 7472 2920 3d3e 0a20 2020 2066 le(str) =>. f │ │ │ │ -000004a0: 7072 696e 7421 2028 6f75 742c 2022 4341 print! (out, "CA │ │ │ │ -000004b0: 7072 696e 7466 696c 6528 222c 2073 7472 printfile(", str │ │ │ │ -000004c0: 2c20 2229 2229 0a2f 2f0a 7c20 4341 6172 , ")").//.| CAar │ │ │ │ -000004d0: 6765 6e64 2828 2a76 6f69 642a 2929 203d gend((*void*)) = │ │ │ │ -000004e0: 3e20 6670 7269 6e74 2120 286f 7574 2c20 > fprint! (out, │ │ │ │ -000004f0: 2243 4161 7267 656e 6428 222c 2022 2922 "CAargend(", ")" │ │ │ │ -00000500: 290a 2f2f 0a29 2028 2a20 656e 6420 6f66 ).//.) (* end of │ │ │ │ -00000510: 205b 6670 7269 6e74 5f63 6f6d 6d61 7267 [fprint_commarg │ │ │ │ -00000520: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** │ │ │ │ -00000530: 2a2a 2a2a 2a2a 202a 290a 0a66 756e 7b0a ****** *)..fun{. │ │ │ │ -00000540: 7d20 6172 6776 5f67 6574 6f70 745f 6174 } argv_getopt_at │ │ │ │ -00000550: 0a20 207b 6e3a 696e 747d 7b69 3a6e 6174 . {n:int}{i:nat │ │ │ │ -00000560: 7d0a 280a 2020 6e3a 2069 6e74 206e 2c20 }.(. n: int n, │ │ │ │ -00000570: 6172 6776 3a20 2161 7267 7628 6e29 2c20 argv: !argv(n), │ │ │ │ -00000580: 693a 2069 6e74 2069 0a29 203a 2073 7472 i: int i.) : str │ │ │ │ -00000590: 6f70 7420 3d0a 280a 2f2f 0a69 6620 6920 opt =.(.//.if i │ │ │ │ -000005a0: 3c20 6e0a 2020 7468 656e 2073 7472 6f70 < n. then strop │ │ │ │ -000005b0: 745f 736f 6d65 2028 6172 6776 5b69 5d29 t_some (argv[i]) │ │ │ │ -000005c0: 2065 6c73 6520 7374 726f 7074 5f6e 6f6e else stropt_non │ │ │ │ -000005d0: 6520 2829 0a2f 2f20 656e 6420 6f66 205b e ().// end of [ │ │ │ │ -000005e0: 6966 5d0a 2f2f 0a29 2028 2a20 656e 6420 if].//.) (* end │ │ │ │ -000005f0: 6f66 205b 6172 6776 5f67 6574 6f70 745f of [argv_getopt_ │ │ │ │ -00000600: 6174 5d20 2a29 0a0a 282a 202a 2a2a 2a2a at] *)..(* ***** │ │ │ │ -00000610: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp │ │ │ │ -00000620: 6c65 6d65 6e74 0a70 6174 736f 6c76 655f lement.patsolve_ │ │ │ │ -00000630: 736d 7432 5f63 6d64 6c69 6e65 0a20 2028 smt2_cmdline. ( │ │ │ │ -00000640: 6172 6763 2c20 6172 6776 2920 3d20 6c65 argc, argv) = le │ │ │ │ -00000650: 740a 2f2f 0a76 7479 7065 6465 660a 7265 t.//.vtypedef.re │ │ │ │ -00000660: 735f 7674 203d 2063 6f6d 6d61 7267 6c73 s_vt = commargls │ │ │ │ -00000670: 745f 7674 0a2f 2f0a 6675 6e0a 6175 780a t_vt.//.fun.aux. │ │ │ │ -00000680: 7b6e 3a69 6e74 7d0a 7b69 3a6e 6174 207c {n:int}.{i:nat | │ │ │ │ -00000690: 2069 203c 3d20 6e7d 0a28 0a20 2061 7267 i <= n}.(. arg │ │ │ │ -000006a0: 633a 2069 6e74 206e 0a2c 2061 7267 763a c: int n., argv: │ │ │ │ -000006b0: 2021 6172 6776 286e 290a 2c20 693a 2069 !argv(n)., i: i │ │ │ │ -000006c0: 6e74 2069 2c20 7265 7330 3a20 7265 735f nt i, res0: res_ │ │ │ │ -000006d0: 7674 0a29 203a 2072 6573 5f76 7420 3d20 vt.) : res_vt = │ │ │ │ -000006e0: 6c65 740a 696e 0a2f 2f0a 6966 0a69 203c let.in.//.if.i < │ │ │ │ -000006f0: 2061 7267 630a 7468 656e 206c 6574 0a2f argc.then let./ │ │ │ │ -00000700: 2f0a 7661 6c20 6172 6720 3d20 6172 6776 /.val arg = argv │ │ │ │ -00000710: 5b69 5d0a 2f2f 0a69 6e0a 2f2f 0a63 6173 [i].//.in.//.cas │ │ │ │ -00000720: 652b 2061 7267 206f 660a 2f2f 0a7c 2022 e+ arg of.//.| " │ │ │ │ -00000730: 2d68 2220 3d3e 206c 6574 0a20 2020 2076 -h" => let. v │ │ │ │ -00000740: 616c 2063 6120 3d0a 2020 2020 2020 4341 al ca =. CA │ │ │ │ -00000750: 6865 6c70 2861 7267 290a 2020 2020 7661 help(arg). va │ │ │ │ -00000760: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c │ │ │ │ -00000770: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0) │ │ │ │ -00000780: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [ │ │ │ │ -00000790: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au │ │ │ │ -000007a0: 7828 6172 6763 2c20 6172 6776 2c20 692b x(argc, argv, i+ │ │ │ │ -000007b0: 312c 2072 6573 3029 0a20 2065 6e64 202f 1, res0). end / │ │ │ │ -000007c0: 2f20 656e 6420 6f66 202e 2e2e 0a7c 2022 / end of ....| " │ │ │ │ -000007d0: 2d2d 6865 6c70 2220 3d3e 206c 6574 0a20 --help" => let. │ │ │ │ -000007e0: 2020 2076 616c 2063 6120 3d0a 2020 2020 val ca =. │ │ │ │ -000007f0: 2020 4341 6865 6c70 2861 7267 290a 2020 CAhelp(arg). │ │ │ │ -00000800: 2020 7661 6c20 7265 7330 203d 0a20 2020 val res0 =. │ │ │ │ -00000810: 2020 2063 6f6e 735f 7674 2863 612c 2072 cons_vt(ca, r │ │ │ │ -00000820: 6573 3029 0a20 2020 202f 2f20 656e 6420 es0). // end │ │ │ │ -00000830: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. │ │ │ │ -00000840: 2020 6175 7828 6172 6763 2c20 6172 6776 aux(argc, argv │ │ │ │ -00000850: 2c20 692b 312c 2072 6573 3029 0a20 2065 , i+1, res0). e │ │ │ │ -00000860: 6e64 202f 2f20 656e 6420 6f66 202e 2e2e nd // end of ... │ │ │ │ -00000870: 0a2f 2f0a 7c20 222d 6922 203d 3e20 6c65 .//.| "-i" => le │ │ │ │ -00000880: 740a 2020 2020 7661 6c20 6361 203d 0a20 t. val ca =. │ │ │ │ -00000890: 2020 2020 2043 4169 6e70 7574 2861 7267 CAinput(arg │ │ │ │ -000008a0: 290a 2020 2020 7661 6c20 7265 7330 203d ). val res0 = │ │ │ │ -000008b0: 0a20 2020 2020 2063 6f6e 735f 7674 2863 . cons_vt(c │ │ │ │ -000008c0: 612c 2072 6573 3029 0a20 2020 202f 2f20 a, res0). // │ │ │ │ -000008d0: 656e 6420 6f66 205b 7661 6c5d 0a20 2069 end of [val]. i │ │ │ │ -000008e0: 6e0a 2020 2020 6175 7832 2861 7267 632c n. aux2(argc, │ │ │ │ -000008f0: 2061 7267 762c 2069 2b31 2c20 7265 7330 argv, i+1, res0 │ │ │ │ -00000900: 290a 2020 656e 6420 2f2f 2065 6e64 206f ). end // end o │ │ │ │ -00000910: 6620 2e2e 2e0a 7c20 222d 2d69 6e70 7574 f ....| "--input │ │ │ │ -00000920: 2220 3d3e 206c 6574 0a20 2020 2076 616c " => let. val │ │ │ │ -00000930: 2063 6120 3d0a 2020 2020 2020 4341 696e ca =. CAin │ │ │ │ -00000940: 7075 7428 6172 6729 0a20 2020 2076 616c put(arg). val │ │ │ │ -00000950: 2072 6573 3020 3d0a 2020 2020 2020 636f res0 =. co │ │ │ │ -00000960: 6e73 5f76 7428 6361 2c20 7265 7330 290a ns_vt(ca, res0). │ │ │ │ -00000970: 2020 2020 2f2f 2065 6e64 206f 6620 5b76 // end of [v │ │ │ │ -00000980: 616c 5d0a 2020 696e 0a20 2020 2061 7578 al]. in. aux │ │ │ │ -00000990: 3228 6172 6763 2c20 6172 6776 2c20 692b 2(argc, argv, i+ │ │ │ │ -000009a0: 312c 2072 6573 3029 0a20 2065 6e64 202f 1, res0). end / │ │ │ │ -000009b0: 2f20 656e 6420 6f66 202e 2e2e 0a2f 2f0a / end of ....//. │ │ │ │ -000009c0: 7c20 222d 6f22 203d 3e20 6c65 740a 2020 | "-o" => let. │ │ │ │ -000009d0: 2020 7661 6c20 6361 203d 0a20 2020 2020 val ca =. │ │ │ │ -000009e0: 2043 416f 7574 7075 7428 302c 2061 7267 CAoutput(0, arg │ │ │ │ -000009f0: 290a 2020 2020 7661 6c20 7265 7330 203d ). val res0 = │ │ │ │ -00000a00: 0a20 2020 2020 2063 6f6e 735f 7674 2863 . cons_vt(c │ │ │ │ -00000a10: 612c 2072 6573 3029 0a20 2020 202f 2f20 a, res0). // │ │ │ │ -00000a20: 656e 6420 6f66 205b 7661 6c5d 0a20 2069 end of [val]. i │ │ │ │ -00000a30: 6e0a 2020 2020 6175 7832 2861 7267 632c n. aux2(argc, │ │ │ │ -00000a40: 2061 7267 762c 2069 2b31 2c20 7265 7330 argv, i+1, res0 │ │ │ │ -00000a50: 290a 2020 656e 6420 2f2f 2065 6e64 206f ). end // end o │ │ │ │ -00000a60: 6620 2e2e 2e0a 7c20 222d 2d6f 7574 7075 f ....| "--outpu │ │ │ │ -00000a70: 7422 203d 3e20 6c65 740a 2020 2020 7661 t" => let. va │ │ │ │ -00000a80: 6c20 6361 203d 0a20 2020 2020 2043 416f l ca =. CAo │ │ │ │ -00000a90: 7574 7075 7428 302c 2061 7267 290a 2020 utput(0, arg). │ │ │ │ -00000aa0: 2020 7661 6c20 7265 7330 203d 0a20 2020 val res0 =. │ │ │ │ -00000ab0: 2020 2063 6f6e 735f 7674 2863 612c 2072 cons_vt(ca, r │ │ │ │ -00000ac0: 6573 3029 0a20 2020 202f 2f20 656e 6420 es0). // end │ │ │ │ -00000ad0: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. │ │ │ │ -00000ae0: 2020 6175 7832 2861 7267 632c 2061 7267 aux2(argc, arg │ │ │ │ -00000af0: 762c 2069 2b31 2c20 7265 7330 290a 2020 v, i+1, res0). │ │ │ │ -00000b00: 656e 6420 2f2f 2065 6e64 206f 6620 2e2e end // end of .. │ │ │ │ -00000b10: 2e0a 7c20 222d 2d6f 7574 7075 742d 7722 ..| "--output-w" │ │ │ │ -00000b20: 203d 3e20 6c65 740a 2020 2020 7661 6c20 => let. val │ │ │ │ -00000b30: 6361 203d 0a20 2020 2020 2043 416f 7574 ca =. CAout │ │ │ │ -00000b40: 7075 7428 312c 2061 7267 290a 2020 2020 put(1, arg). │ │ │ │ -00000b50: 7661 6c20 7265 7330 203d 0a20 2020 2020 val res0 =. │ │ │ │ -00000b60: 2063 6f6e 735f 7674 2863 612c 2072 6573 cons_vt(ca, res │ │ │ │ -00000b70: 3029 0a20 2020 202f 2f20 656e 6420 6f66 0). // end of │ │ │ │ -00000b80: 205b 7661 6c5d 0a20 2069 6e0a 2020 2020 [val]. in. │ │ │ │ -00000b90: 6175 7832 2861 7267 632c 2061 7267 762c aux2(argc, argv, │ │ │ │ -00000ba0: 2069 2b31 2c20 7265 7330 290a 2020 656e i+1, res0). en │ │ │ │ -00000bb0: 6420 2f2f 2065 6e64 206f 6620 2e2e 2e0a d // end of .... │ │ │ │ -00000bc0: 7c20 222d 2d6f 7574 7075 742d 6122 203d | "--output-a" = │ │ │ │ -00000bd0: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca │ │ │ │ -00000be0: 203d 0a20 2020 2020 2043 416f 7574 7075 =. CAoutpu │ │ │ │ -00000bf0: 7428 322c 2061 7267 290a 2020 2020 7661 t(2, arg). va │ │ │ │ -00000c00: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c │ │ │ │ -00000c10: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0) │ │ │ │ -00000c20: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [ │ │ │ │ -00000c30: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au │ │ │ │ -00000c40: 7832 2861 7267 632c 2061 7267 762c 2069 x2(argc, argv, i │ │ │ │ -00000c50: 2b31 2c20 7265 7330 290a 2020 656e 6420 +1, res0). end │ │ │ │ -00000c60: 2f2f 2065 6e64 206f 6620 2e2e 2e0a 2f2f // end of ....// │ │ │ │ -00000c70: 0a7c 2022 2d2d 7072 696e 746c 6e22 203d .| "--println" = │ │ │ │ -00000c80: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca │ │ │ │ -00000c90: 203d 0a20 2020 2020 2043 4170 7269 6e74 =. CAprint │ │ │ │ -00000ca0: 6c6e 2861 7267 290a 2020 2020 7661 6c20 ln(arg). val │ │ │ │ -00000cb0: 7265 7330 203d 0a20 2020 2020 2063 6f6e res0 =. con │ │ │ │ -00000cc0: 735f 7674 2863 612c 2072 6573 3029 0a20 s_vt(ca, res0). │ │ │ │ -00000cd0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va │ │ │ │ -00000ce0: 6c5d 0a20 2069 6e0a 2020 2020 6175 7832 l]. in. aux2 │ │ │ │ -00000cf0: 2861 7267 632c 2061 7267 762c 2069 2b31 (argc, argv, i+1 │ │ │ │ -00000d00: 2c20 7265 7330 290a 2020 656e 6420 2f2f , res0). end // │ │ │ │ -00000d10: 2065 6e64 206f 6620 2e2e 2e0a 2f2f 0a7c end of ....//.| │ │ │ │ -00000d20: 2022 2d2d 7072 696e 7466 696c 6522 203d "--printfile" = │ │ │ │ -00000d30: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca │ │ │ │ -00000d40: 203d 0a20 2020 2020 2043 4170 7269 6e74 =. CAprint │ │ │ │ -00000d50: 6669 6c65 2861 7267 290a 2020 2020 7661 file(arg). va │ │ │ │ -00000d60: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c │ │ │ │ -00000d70: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0) │ │ │ │ -00000d80: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [ │ │ │ │ -00000d90: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au │ │ │ │ -00000da0: 7832 2861 7267 632c 2061 7267 762c 2069 x2(argc, argv, i │ │ │ │ -00000db0: 2b31 2c20 7265 7330 290a 2020 656e 6420 +1, res0). end │ │ │ │ -00000dc0: 2f2f 2065 6e64 206f 6620 2e2e 2e0a 2f2f // end of ....// │ │ │ │ -00000dd0: 0a7c 205f 2028 2a72 6573 742a 2920 3d3e .| _ (*rest*) => │ │ │ │ -00000de0: 206c 6574 0a20 2020 2076 616c 2063 6120 let. val ca │ │ │ │ -00000df0: 3d0a 2020 2020 2020 4341 6769 7465 6d28 =. CAgitem( │ │ │ │ -00000e00: 6172 6729 0a20 2020 2076 616c 2072 6573 arg). val res │ │ │ │ -00000e10: 3020 3d0a 2020 2020 2020 636f 6e73 5f76 0 =. cons_v │ │ │ │ -00000e20: 7428 6361 2c20 7265 7330 290a 2020 2020 t(ca, res0). │ │ │ │ -00000e30: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val]. │ │ │ │ -00000e40: 2020 696e 0a20 2020 2061 7578 2861 7267 in. aux(arg │ │ │ │ -00000e50: 632c 2061 7267 762c 2069 2b31 2c20 7265 c, argv, i+1, re │ │ │ │ -00000e60: 7330 290a 2020 656e 6420 2f2f 2065 6e64 s0). end // end │ │ │ │ -00000e70: 206f 6620 5b2e 2e2e 5d0a 2f2f 0a65 6e64 of [...].//.end │ │ │ │ -00000e80: 202f 2f20 656e 6420 6f66 205b 7468 656e // end of [then │ │ │ │ -00000e90: 5d0a 656c 7365 2072 6573 3020 2f2f 2065 ].else res0 // e │ │ │ │ -00000ea0: 6e64 206f 6620 5b65 6c73 655d 0a2f 2f0a nd of [else].//. │ │ │ │ -00000eb0: 656e 6420 2f2f 2065 6e64 206f 6620 5b61 end // end of [a │ │ │ │ -00000ec0: 7578 5d0a 2f2f 0a61 6e64 0a61 7578 320a ux].//.and.aux2. │ │ │ │ -00000ed0: 7b6e 3a69 6e74 7d0a 7b69 3a6e 6174 207c {n:int}.{i:nat | │ │ │ │ -00000ee0: 2069 203c 3d20 6e7d 0a28 0a20 2061 7267 i <= n}.(. arg │ │ │ │ -00000ef0: 633a 2069 6e74 206e 0a2c 2061 7267 763a c: int n., argv: │ │ │ │ -00000f00: 2021 6172 6776 286e 290a 2c20 693a 2069 !argv(n)., i: i │ │ │ │ -00000f10: 6e74 2069 2c20 7265 7330 3a20 7265 735f nt i, res0: res_ │ │ │ │ -00000f20: 7674 0a29 203a 2072 6573 5f76 7420 3d20 vt.) : res_vt = │ │ │ │ -00000f30: 6c65 740a 696e 0a69 660a 6920 3c20 6172 let.in.if.i < ar │ │ │ │ -00000f40: 6763 0a74 6865 6e20 6c65 740a 2f2f 0a76 gc.then let.//.v │ │ │ │ -00000f50: 616c 2061 7267 203d 2061 7267 765b 695d al arg = argv[i] │ │ │ │ -00000f60: 0a2f 2f0a 7661 6c20 6361 203d 0a20 2043 .//.val ca =. C │ │ │ │ -00000f70: 4167 6974 656d 2861 7267 290a 7661 6c20 Agitem(arg).val │ │ │ │ -00000f80: 7265 7330 203d 0a20 2063 6f6e 735f 7674 res0 =. cons_vt │ │ │ │ -00000f90: 2863 612c 2072 6573 3029 0a2f 2f20 656e (ca, res0).// en │ │ │ │ -00000fa0: 6420 6f66 205b 7661 6c5d 0a69 6e0a 2020 d of [val].in. │ │ │ │ -00000fb0: 6175 7828 6172 6763 2c20 6172 6776 2c20 aux(argc, argv, │ │ │ │ -00000fc0: 692b 312c 2072 6573 3029 0a65 6e64 202f i+1, res0).end / │ │ │ │ -00000fd0: 2f20 656e 6420 6f66 205b 7468 656e 5d0a / end of [then]. │ │ │ │ -00000fe0: 656c 7365 2072 6573 3020 2f2f 2065 6e64 else res0 // end │ │ │ │ -00000ff0: 206f 6620 5b65 6c73 655d 0a2f 2f0a 656e of [else].//.en │ │ │ │ -00001000: 6420 2f2f 2065 6e64 206f 6620 5b61 7578 d // end of [aux │ │ │ │ -00001010: 325d 0a2f 2f0a 7661 6c20 6172 6773 203d 2].//.val args = │ │ │ │ -00001020: 2061 7578 2861 7267 632c 2061 7267 762c aux(argc, argv, │ │ │ │ -00001030: 2030 2c20 6e69 6c5f 7674 290a 2f2f 0a69 0, nil_vt).//.i │ │ │ │ -00001040: 6e0a 2f2f 0a6c 6973 745f 7674 5f72 6576 n.//.list_vt_rev │ │ │ │ -00001050: 6572 7365 286c 6973 745f 7674 5f63 6f6e erse(list_vt_con │ │ │ │ -00001060: 7328 4341 6172 6765 6e64 2829 2c20 6172 s(CAargend(), ar │ │ │ │ -00001070: 6773 2929 0a2f 2f0a 656e 6420 2f2f 2065 gs)).//.end // e │ │ │ │ -00001080: 6e64 206f 6620 5b70 6174 736f 6c76 655f nd of [patsolve_ │ │ │ │ -00001090: 736d 7432 5f63 6d64 6c69 6e65 5d0a 0a28 smt2_cmdline]..( │ │ │ │ -000010a0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000010b0: 2a29 0a2f 2f0a 6578 7465 726e 2066 756e *).//.extern fun │ │ │ │ -000010c0: 2070 6174 736f 6c76 655f 736d 7432 5f68 patsolve_smt2_h │ │ │ │ -000010d0: 656c 7028 293a 2076 6f69 640a 2f2f 0a65 elp(): void.//.e │ │ │ │ -000010e0: 7874 6572 6e20 6675 6e20 7061 7473 6f6c xtern fun patsol │ │ │ │ -000010f0: 7665 5f73 6d74 325f 6769 7465 6d28 7374 ve_smt2_gitem(st │ │ │ │ -00001100: 7269 6e67 293a 2076 6f69 640a 2f2f 0a65 ring): void.//.e │ │ │ │ -00001110: 7874 6572 6e20 6675 6e20 7061 7473 6f6c xtern fun patsol │ │ │ │ -00001120: 7665 5f73 6d74 325f 696e 7075 7428 282a ve_smt2_input((* │ │ │ │ -00001130: 766f 6964 2a29 293a 2076 6f69 640a 6578 void*)): void.ex │ │ │ │ -00001140: 7465 726e 2066 756e 2070 6174 736f 6c76 tern fun patsolv │ │ │ │ -00001150: 655f 736d 7432 5f69 6e70 7574 5f61 7267 e_smt2_input_arg │ │ │ │ -00001160: 2873 7472 696e 6729 3a20 766f 6964 0a2f (string): void./ │ │ │ │ -00001170: 2f0a 6578 7465 726e 2066 756e 2070 6174 /.extern fun pat │ │ │ │ -00001180: 736f 6c76 655f 736d 7432 5f6f 7574 7075 solve_smt2_outpu │ │ │ │ -00001190: 7428 6b6e 643a 2069 6e74 293a 2076 6f69 t(knd: int): voi │ │ │ │ -000011a0: 640a 6578 7465 726e 2066 756e 2070 6174 d.extern fun pat │ │ │ │ -000011b0: 736f 6c76 655f 736d 7432 5f6f 7574 7075 solve_smt2_outpu │ │ │ │ -000011c0: 745f 6172 6728 7374 7269 6e67 293a 2076 t_arg(string): v │ │ │ │ -000011d0: 6f69 640a 2f2f 0a65 7874 6572 6e20 6675 oid.//.extern fu │ │ │ │ -000011e0: 6e20 7061 7473 6f6c 7665 5f73 6d74 325f n patsolve_smt2_ │ │ │ │ -000011f0: 7072 696e 746c 6e28 293a 2076 6f69 640a println(): void. │ │ │ │ -00001200: 6578 7465 726e 2066 756e 2070 6174 736f extern fun patso │ │ │ │ -00001210: 6c76 655f 736d 7432 5f70 7269 6e74 6669 lve_smt2_printfi │ │ │ │ -00001220: 6c65 2829 3a20 766f 6964 0a65 7874 6572 le(): void.exter │ │ │ │ -00001230: 6e20 6675 6e20 7061 7473 6f6c 7665 5f73 n fun patsolve_s │ │ │ │ -00001240: 6d74 325f 7072 696e 7466 696c 655f 6172 mt2_printfile_ar │ │ │ │ -00001250: 6728 7374 7269 6e67 293a 2076 6f69 640a g(string): void. │ │ │ │ -00001260: 2f2f 0a65 7874 6572 6e20 6675 6e20 7061 //.extern fun pa │ │ │ │ -00001270: 7473 6f6c 7665 5f73 6d74 325f 6172 6765 tsolve_smt2_arge │ │ │ │ -00001280: 6e64 2828 2a76 6f69 642a 2929 3a20 766f nd((*void*)): vo │ │ │ │ -00001290: 6964 0a2f 2f0a 6578 7465 726e 2066 756e id.//.extern fun │ │ │ │ -000012a0: 2070 6174 736f 6c76 655f 736d 7432 5f63 patsolve_smt2_c │ │ │ │ -000012b0: 6f6d 6d61 7267 6c73 745f 6669 6e61 6c69 ommarglst_finali │ │ │ │ -000012c0: 7a65 2829 3a20 766f 6964 0a2f 2f0a 282a ze(): void.//.(* │ │ │ │ -000012d0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -000012e0: 290a 0a74 7970 6564 6566 0a73 7461 7465 )..typedef.state │ │ │ │ -000012f0: 5f73 7472 7563 7420 3d0a 407b 0a2f 2f0a _struct =.@{.//. │ │ │ │ -00001300: 2020 6e65 7272 3d20 696e 740a 2f2f 0a2c nerr= int.//., │ │ │ │ -00001310: 2069 6e70 7574 3d20 696e 740a 2f2f 0a2c input= int.//., │ │ │ │ -00001320: 206e 696e 7075 743d 2069 6e74 0a2f 2f0a ninput= int.//. │ │ │ │ -00001330: 2c20 696e 7066 696c 5f72 6566 3d20 4649 , inpfil_ref= FI │ │ │ │ -00001340: 4c45 7265 660a 2f2f 0a2c 206f 7574 7075 LEref.//., outpu │ │ │ │ -00001350: 743d 2069 6e74 0a2f 2f0a 2c20 666f 7065 t= int.//., fope │ │ │ │ -00001360: 6e5f 6f75 743d 2069 6e74 0a2c 206f 7574 n_out= int., out │ │ │ │ -00001370: 6669 6c5f 7265 663d 2046 494c 4572 6566 fil_ref= FILEref │ │ │ │ -00001380: 0a2c 206f 7574 6669 6c5f 6d6f 643d 2066 ., outfil_mod= f │ │ │ │ -00001390: 696c 655f 6d6f 6465 0a2f 2f0a 2c20 7072 ile_mode.//., pr │ │ │ │ -000013a0: 696e 746c 6e3d 2069 6e74 0a2c 2070 7269 intln= int., pri │ │ │ │ -000013b0: 6e74 6669 6c65 3d20 696e 740a 2f2f 0a2c ntfile= int.//., │ │ │ │ -000013c0: 2063 6f6e 7374 7261 696e 745f 7265 616c constraint_real │ │ │ │ -000013d0: 3d20 696e 740a 2f2f 0a7d 2028 2a20 656e = int.//.} (* en │ │ │ │ -000013e0: 6420 6f66 205b 7374 6174 655f 7374 7275 d of [state_stru │ │ │ │ -000013f0: 6374 5d20 2a29 0a0a 282a 202a 2a2a 2a2a ct] *)..(* ***** │ │ │ │ -00001400: 2a20 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 * ****** *)..loc │ │ │ │ -00001410: 616c 0a2f 2f0a 7661 720a 7468 655f 7374 al.//.var.the_st │ │ │ │ -00001420: 6174 653a 2073 7461 7465 5f73 7472 7563 ate: state_struc │ │ │ │ -00001430: 743f 0a2f 2f0a 7661 6c20 2829 203d 2074 t?.//.val () = t │ │ │ │ -00001440: 6865 5f73 7461 7465 2e6e 6572 7220 3a3d he_state.nerr := │ │ │ │ -00001450: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t │ │ │ │ -00001460: 6865 5f73 7461 7465 2e69 6e70 7574 203a he_state.input : │ │ │ │ -00001470: 3d20 300a 7661 6c20 2829 203d 2074 6865 = 0.val () = the │ │ │ │ -00001480: 5f73 7461 7465 2e6e 696e 7075 7420 3a3d _state.ninput := │ │ │ │ -00001490: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t │ │ │ │ -000014a0: 6865 5f73 7461 7465 2e69 6e70 6669 6c5f he_state.inpfil_ │ │ │ │ -000014b0: 7265 6620 3a3d 2073 7464 696e 5f72 6566 ref := stdin_ref │ │ │ │ -000014c0: 0a2f 2f0a 7661 6c20 2829 203d 2074 6865 .//.val () = the │ │ │ │ -000014d0: 5f73 7461 7465 2e6f 7574 7075 7420 3a3d _state.output := │ │ │ │ -000014e0: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t │ │ │ │ -000014f0: 6865 5f73 7461 7465 2e66 6f70 656e 5f6f he_state.fopen_o │ │ │ │ -00001500: 7574 203a 3d20 300a 7661 6c20 2829 203d ut := 0.val () = │ │ │ │ -00001510: 2074 6865 5f73 7461 7465 2e6f 7574 6669 the_state.outfi │ │ │ │ -00001520: 6c5f 7265 6620 3a3d 2073 7464 6f75 745f l_ref := stdout_ │ │ │ │ -00001530: 7265 660a 7661 6c20 2829 203d 2074 6865 ref.val () = the │ │ │ │ -00001540: 5f73 7461 7465 2e6f 7574 6669 6c5f 6d6f _state.outfil_mo │ │ │ │ -00001550: 6420 3a3d 2066 696c 655f 6d6f 6465 5f77 d := file_mode_w │ │ │ │ -00001560: 0a2f 2f0a 7661 6c20 2829 203d 2074 6865 .//.val () = the │ │ │ │ -00001570: 5f73 7461 7465 2e70 7269 6e74 6c6e 203a _state.println : │ │ │ │ -00001580: 3d20 300a 7661 6c20 2829 203d 2074 6865 = 0.val () = the │ │ │ │ -00001590: 5f73 7461 7465 2e70 7269 6e74 6669 6c65 _state.printfile │ │ │ │ -000015a0: 203a 3d20 300a 2f2f 0a76 616c 2028 2920 := 0.//.val () │ │ │ │ -000015b0: 3d20 7468 655f 7374 6174 652e 636f 6e73 = the_state.cons │ │ │ │ -000015c0: 7472 6169 6e74 5f72 6561 6c20 3a3d 2030 traint_real := 0 │ │ │ │ -000015d0: 0a2f 2f0a 696e 2028 2a20 696e 2d6f 662d .//.in (* in-of- │ │ │ │ -000015e0: 6c6f 6361 6c20 2a29 0a2f 2f0a 7661 6c0a local *).//.val. │ │ │ │ -000015f0: 7468 655f 7374 6174 650a 2020 3a20 7265 the_state. : re │ │ │ │ -00001600: 6628 7374 6174 655f 7374 7275 6374 2920 f(state_struct) │ │ │ │ -00001610: 3d0a 2020 7265 665f 6d61 6b65 5f76 6965 =. ref_make_vie │ │ │ │ -00001620: 7770 7472 2876 6965 7740 7468 655f 7374 wptr(view@the_st │ │ │ │ -00001630: 6174 6520 7c20 6164 6472 4074 6865 5f73 ate | addr@the_s │ │ │ │ -00001640: 7461 7465 290a 2f2f 0a65 6e64 202f 2f20 tate).//.end // │ │ │ │ -00001650: 656e 6420 6f66 205b 6c6f 6361 6c5d 0a0a end of [local].. │ │ │ │ -00001660: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00001670: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement │ │ │ │ -00001680: 0a74 6865 5f63 6f6e 7374 7261 696e 745f .the_constraint_ │ │ │ │ -00001690: 7265 616c 0a20 2028 282a 766f 6964 2a29 real. ((*void*) │ │ │ │ -000016a0: 2920 3d20 2174 6865 5f73 7461 7465 2e63 ) = !the_state.c │ │ │ │ -000016b0: 6f6e 7374 7261 696e 745f 7265 616c 0a2f onstraint_real./ │ │ │ │ -000016c0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -000016d0: 2a2a 202a 290a 0a66 756e 0a70 726f 6365 ** *)..fun.proce │ │ │ │ -000016e0: 7373 5f61 7267 0a20 2028 783a 2063 6f6d ss_arg. (x: com │ │ │ │ -000016f0: 6d61 7267 293a 2076 6f69 6420 3d20 6c65 marg): void = le │ │ │ │ -00001700: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () = │ │ │ │ -00001710: 0a66 7072 696e 746c 6e21 0a28 0a20 2073 .fprintln!.(. s │ │ │ │ -00001720: 7464 6f75 745f 7265 660a 2c20 2270 6174 tdout_ref., "pat │ │ │ │ -00001730: 736f 6c76 655f 736d 7432 5f63 6f6d 6d61 solve_smt2_comma │ │ │ │ -00001740: 7267 6c73 743a 2070 726f 6365 7373 5f61 rglst: process_a │ │ │ │ -00001750: 7267 3a20 7820 3d20 222c 2078 0a29 2028 rg: x = ", x.) ( │ │ │ │ -00001760: 2a20 656e 6420 6f66 205b 7661 6c5d 202a * end of [val] * │ │ │ │ -00001770: 290a 2a29 0a2f 2f0a 696e 0a2f 2f0a 6361 ).*).//.in.//.ca │ │ │ │ -00001780: 7365 2b20 7820 6f66 0a2f 2f0a 7c20 4341 se+ x of.//.| CA │ │ │ │ -00001790: 6865 6c70 205f 203d 3e20 7061 7473 6f6c help _ => patsol │ │ │ │ -000017a0: 7665 5f73 6d74 325f 6865 6c70 2829 0a2f ve_smt2_help()./ │ │ │ │ -000017b0: 2f0a 7c20 4341 6769 7465 6d0a 2020 2020 /.| CAgitem. │ │ │ │ -000017c0: 2873 7472 2920 3d3e 2070 6174 736f 6c76 (str) => patsolv │ │ │ │ -000017d0: 655f 736d 7432 5f67 6974 656d 2873 7472 e_smt2_gitem(str │ │ │ │ -000017e0: 290a 2020 2f2f 2043 4167 6974 656d 0a2f ). // CAgitem./ │ │ │ │ -000017f0: 2f0a 7c20 4341 696e 7075 7420 5f20 3d3e /.| CAinput _ => │ │ │ │ -00001800: 2070 6174 736f 6c76 655f 736d 7432 5f69 patsolve_smt2_i │ │ │ │ -00001810: 6e70 7574 2829 0a2f 2f0a 7c20 4341 6f75 nput().//.| CAou │ │ │ │ -00001820: 7470 7574 0a20 2020 2028 6b6e 642c 205f tput. (knd, _ │ │ │ │ -00001830: 2920 3d3e 2070 6174 736f 6c76 655f 736d ) => patsolve_sm │ │ │ │ -00001840: 7432 5f6f 7574 7075 7428 6b6e 6429 0a20 t2_output(knd). │ │ │ │ -00001850: 202f 2f20 4341 6f75 7470 7574 0a2f 2f0a // CAoutput.//. │ │ │ │ -00001860: 7c20 4341 7072 696e 746c 6e20 5f20 3d3e | CAprintln _ => │ │ │ │ -00001870: 2070 6174 736f 6c76 655f 736d 7432 5f70 patsolve_smt2_p │ │ │ │ -00001880: 7269 6e74 6c6e 2829 0a7c 2043 4170 7269 rintln().| CApri │ │ │ │ -00001890: 6e74 6669 6c65 205f 203d 3e20 7061 7473 ntfile _ => pats │ │ │ │ -000018a0: 6f6c 7665 5f73 6d74 325f 7072 696e 7466 olve_smt2_printf │ │ │ │ -000018b0: 696c 6528 290a 2f2f 0a7c 2043 4161 7267 ile().//.| CAarg │ │ │ │ -000018c0: 656e 6428 282a 766f 6964 2a29 2920 3d3e end((*void*)) => │ │ │ │ -000018d0: 2070 6174 736f 6c76 655f 736d 7432 5f61 patsolve_smt2_a │ │ │ │ -000018e0: 7267 656e 6428 290a 2f2f 0a65 6e64 202f rgend().//.end / │ │ │ │ -000018f0: 2f20 656e 6420 6f66 205b 7072 6f63 6573 / end of [proces │ │ │ │ -00001900: 735f 6172 675d 0a0a 282a 202a 2a2a 2a2a s_arg]..(* ***** │ │ │ │ -00001910: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp │ │ │ │ -00001920: 6c65 6d65 6e74 0a70 6174 736f 6c76 655f lement.patsolve_ │ │ │ │ -00001930: 736d 7432 5f63 6f6d 6d61 7267 6c73 740a smt2_commarglst. │ │ │ │ -00001940: 2020 2878 7329 203d 206c 6574 0a28 2a0a (xs) = let.(*. │ │ │ │ -00001950: 7661 6c20 2829 203d 2070 7269 6e74 6c6e val () = println │ │ │ │ -00001960: 2120 2822 7061 7473 6f6c 7665 5f73 6d74 ! ("patsolve_smt │ │ │ │ -00001970: 325f 636f 6d6d 6172 676c 7374 2229 0a2a 2_commarglst").* │ │ │ │ -00001980: 290a 696e 0a2f 2f0a 6361 7365 2b20 7873 ).in.//.case+ xs │ │ │ │ -00001990: 206f 660a 7c20 7e6c 6973 745f 7674 5f63 of.| ~list_vt_c │ │ │ │ -000019a0: 6f6e 730a 2020 2020 2878 2c20 7873 2920 ons. (x, xs) │ │ │ │ -000019b0: 3d3e 206c 6574 0a20 2020 2076 616c 2028 => let. val ( │ │ │ │ -000019c0: 2920 3d20 7072 6f63 6573 735f 6172 6728 ) = process_arg( │ │ │ │ -000019d0: 7829 0a20 2069 6e0a 2020 2020 7061 7473 x). in. pats │ │ │ │ -000019e0: 6f6c 7665 5f73 6d74 325f 636f 6d6d 6172 olve_smt2_commar │ │ │ │ -000019f0: 676c 7374 2028 7873 290a 2020 656e 6420 glst (xs). end │ │ │ │ -00001a00: 2f2f 2065 6e64 206f 6620 5b6c 6973 745f // end of [list_ │ │ │ │ -00001a10: 7674 5f63 6f6e 735d 0a2f 2f0a 7c20 7e6c vt_cons].//.| ~l │ │ │ │ -00001a20: 6973 745f 7674 5f6e 696c 0a20 2020 2028 ist_vt_nil. ( │ │ │ │ -00001a30: 282a 766f 6964 2a29 2920 3d3e 2070 6174 (*void*)) => pat │ │ │ │ -00001a40: 736f 6c76 655f 736d 7432 5f63 6f6d 6d61 solve_smt2_comma │ │ │ │ -00001a50: 7267 6c73 745f 6669 6e61 6c69 7a65 2028 rglst_finalize ( │ │ │ │ -00001a60: 290a 2020 2f2f 2065 6e64 206f 6620 5b6c ). // end of [l │ │ │ │ -00001a70: 6973 745f 7674 5f6e 696c 5d0a 2f2f 0a65 ist_vt_nil].//.e │ │ │ │ -00001a80: 6e64 202f 2f20 656e 6420 6f66 205b 7061 nd // end of [pa │ │ │ │ -00001a90: 7473 6f6c 7665 5f73 6d74 325f 636f 6d6d tsolve_smt2_comm │ │ │ │ -00001aa0: 6172 676c 7374 5d0a 0a28 2a20 2a2a 2a2a arglst]..(* **** │ │ │ │ -00001ab0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00001ac0: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve │ │ │ │ -00001ad0: 5f73 6d74 325f 6865 6c70 2829 203d 206c _smt2_help() = l │ │ │ │ -00001ae0: 6574 0a2f 2f0a 7661 6c20 6f75 7420 3d20 et.//.val out = │ │ │ │ -00001af0: 7374 646f 7574 5f72 6566 0a76 616c 2063 stdout_ref.val c │ │ │ │ -00001b00: 6d64 6e61 6d65 203d 2022 7061 7473 6f6c mdname = "patsol │ │ │ │ -00001b10: 7665 5f73 6d74 3222 0a2f 2f0a 696e 0a2f ve_smt2".//.in./ │ │ │ │ -00001b20: 2f0a 6670 7269 6e74 6c6e 210a 2020 286f /.fprintln!. (o │ │ │ │ -00001b30: 7574 2c20 2255 7361 6765 3a20 222c 2063 ut, "Usage: ", c │ │ │ │ -00001b40: 6d64 6e61 6d65 2c20 2220 3c63 6f6d 6d61 mdname, " ... \n");.fprintln! │ │ │ │ -00001b70: 0a20 2028 6f75 742c 2022 7768 6572 6520 . (out, "where │ │ │ │ -00001b80: 6120 3c63 6f6d 6d61 6e64 3e20 6973 206f a is o │ │ │ │ -00001b90: 6620 6f6e 6520 6f66 2074 6865 2066 6f6c f one of the fol │ │ │ │ -00001ba0: 6c6f 7769 6e67 2066 6f72 6d73 3a5c 6e22 lowing forms:\n" │ │ │ │ -00001bb0: 293b 0a2f 2f0a 6670 7269 6e74 6c6e 2120 );.//.fprintln! │ │ │ │ -00001bc0: 286f 7574 2c20 2220 202d 6820 2866 6f72 (out, " -h (for │ │ │ │ -00001bd0: 2070 7269 6e74 696e 6720 6f75 7420 7468 printing out th │ │ │ │ -00001be0: 6973 2068 656c 7020 7573 6167 6529 2229 is help usage)") │ │ │ │ -00001bf0: 3b0a 6670 7269 6e74 6c6e 2120 286f 7574 ;.fprintln! (out │ │ │ │ -00001c00: 2c20 2220 202d 6920 3c66 696c 656e 616d , " -i (input from < │ │ │ │ -00001c20: 6669 6c65 6e61 6d65 3e29 2229 3b0a 6670 filename>)");.fp │ │ │ │ -00001c30: 7269 6e74 6c6e 2120 286f 7574 2c20 2220 rintln! (out, " │ │ │ │ -00001c40: 202d 6f20 3c66 696c 656e 616d 653e 2028 -o ( │ │ │ │ -00001c50: 6f75 7470 7574 2069 6e74 6f20 3c66 696c output into )");.//.fp │ │ │ │ -00001c70: 7269 6e74 6c6e 2120 286f 7574 293b 0a2f rintln! (out);./ │ │ │ │ -00001c80: 2f0a 6670 7269 6e74 6c6e 2120 286f 7574 /.fprintln! (out │ │ │ │ -00001c90: 2c20 2220 202d 2d68 656c 7020 2866 6f72 , " --help (for │ │ │ │ -00001ca0: 2070 7269 6e74 696e 6720 6f75 7420 7468 printing out th │ │ │ │ -00001cb0: 6973 2068 656c 7020 7573 6167 6529 2229 is help usage)") │ │ │ │ -00001cc0: 3b0a 2f2f 0a66 7072 696e 746c 6e21 2028 ;.//.fprintln! ( │ │ │ │ -00001cd0: 6f75 742c 2022 2020 2d2d 696e 7075 7420 out, " --input │ │ │ │ -00001ce0: 3c66 696c 656e 616d 653e 2028 696e 7075 (inpu │ │ │ │ -00001cf0: 7420 6672 6f6d 203c 6669 6c65 6e61 6d65 t from )");.//.fprintl │ │ │ │ -00001d10: 6e21 2028 6f75 742c 2022 2020 2d2d 6f75 n! (out, " --ou │ │ │ │ -00001d20: 7470 7574 203c 6669 6c65 6e61 6d65 3e20 tput │ │ │ │ -00001d30: 286f 7574 7075 7420 696e 746f 203c 6669 (output into )");.fpri │ │ │ │ -00001d50: 6e74 6c6e 2120 286f 7574 2c20 2220 202d ntln! (out, " - │ │ │ │ -00001d60: 2d6f 7574 7075 742d 7720 3c66 696c 656e -output-w (output-wri │ │ │ │ -00001d80: 7465 2069 6e74 6f20 3c66 696c 656e 616d te into )");.fprintln! │ │ │ │ -00001da0: 2028 6f75 742c 2022 2020 2d2d 6f75 7470 (out, " --outp │ │ │ │ -00001db0: 7574 2d61 203c 6669 6c65 6e61 6d65 3e20 ut-a │ │ │ │ -00001dc0: 286f 7574 7075 742d 6170 7065 6e64 2069 (output-append i │ │ │ │ -00001dd0: 6e74 6f20 3c66 696c 656e 616d 653e 2922 nto )" │ │ │ │ -00001de0: 293b 0a2f 2f0a 6670 7269 6e74 6c6e 2120 );.//.fprintln! │ │ │ │ -00001df0: 286f 7574 2c20 2220 202d 2d70 7269 6e74 (out, " --print │ │ │ │ -00001e00: 6c6e 203c 7374 7269 6e67 3e20 2870 7269 ln (pri │ │ │ │ -00001e10: 6e74 203c 7374 7269 6e67 3e2b 6e65 776c nt +newl │ │ │ │ -00001e20: 696e 6529 2229 3b0a 6670 7269 6e74 6c6e ine)");.fprintln │ │ │ │ -00001e30: 2120 286f 7574 2c20 2220 202d 2d70 7269 ! (out, " --pri │ │ │ │ -00001e40: 6e74 6669 6c65 203c 6669 6c65 6e61 6d65 ntfile (print the con │ │ │ │ -00001e60: 7465 6e74 206f 6620 3c66 696c 656e 616d tent of )");.//.fprint │ │ │ │ -00001e80: 6c6e 2120 286f 7574 293b 0a2f 2f0a 656e ln! (out);.//.en │ │ │ │ -00001e90: 6420 282a 2065 6e64 206f 6620 5b70 6174 d (* end of [pat │ │ │ │ -00001ea0: 736f 6c76 655f 736d 7432 5f68 656c 705d solve_smt2_help] │ │ │ │ -00001eb0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** * │ │ │ │ -00001ec0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -00001ed0: 656e 740a 7061 7473 6f6c 7665 5f73 6d74 ent.patsolve_smt │ │ │ │ -00001ee0: 325f 696e 7075 7428 2920 3d0a 7b0a 2f2f 2_input() =.{.// │ │ │ │ -00001ef0: 0a28 2a0a 7661 6c20 2829 203d 0a70 7269 .(*.val () =.pri │ │ │ │ -00001f00: 6e74 6c6e 210a 2020 2822 7061 7473 6f6c ntln!. ("patsol │ │ │ │ -00001f10: 7665 5f73 6d74 325f 696e 7075 743a 202e ve_smt2_input: . │ │ │ │ -00001f20: 2e2e 2229 0a2a 290a 2f2f 0a76 616c 2028 ..").*).//.val ( │ │ │ │ -00001f30: 2920 3d20 2174 6865 5f73 7461 7465 2e69 ) = !the_state.i │ │ │ │ -00001f40: 6e70 7574 203a 3d20 310a 7661 6c20 2829 nput := 1.val () │ │ │ │ -00001f50: 203d 2021 7468 655f 7374 6174 652e 7072 = !the_state.pr │ │ │ │ -00001f60: 696e 746c 6e20 3a3d 2030 0a76 616c 2028 intln := 0.val ( │ │ │ │ -00001f70: 2920 3d20 2174 6865 5f73 7461 7465 2e70 ) = !the_state.p │ │ │ │ -00001f80: 7269 6e74 6669 6c65 203a 3d20 300a 2f2f rintfile := 0.// │ │ │ │ -00001f90: 0a7d 2028 2a20 656e 6420 6f66 205b 7061 .} (* end of [pa │ │ │ │ -00001fa0: 7473 6f6c 7665 5f73 6d74 325f 696e 7075 tsolve_smt2_inpu │ │ │ │ -00001fb0: 745d 202a 290a 0a28 2a20 2a2a 2a2a 2a2a t] *)..(* ****** │ │ │ │ -00001fc0: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl │ │ │ │ -00001fd0: 656d 656e 740a 7061 7473 6f6c 7665 5f73 ement.patsolve_s │ │ │ │ -00001fe0: 6d74 325f 6f75 7470 7574 0a20 2028 6b6e mt2_output. (kn │ │ │ │ -00001ff0: 6429 203d 0a7b 0a2f 2f0a 282a 0a76 616c d) =.{.//.(*.val │ │ │ │ -00002000: 2028 2920 3d0a 7072 696e 746c 6e21 0a20 () =.println!. │ │ │ │ -00002010: 2028 2270 6174 736f 6c76 655f 736d 7432 ("patsolve_smt2 │ │ │ │ -00002020: 5f6f 7574 7075 743a 202e 2e2e 2229 0a2a _output: ...").* │ │ │ │ -00002030: 290a 2f2f 0a76 616c 2028 2920 3d20 2174 ).//.val () = !t │ │ │ │ -00002040: 6865 5f73 7461 7465 2e69 6e70 7574 203a he_state.input : │ │ │ │ -00002050: 3d20 300a 7661 6c20 2829 203d 2021 7468 = 0.val () = !th │ │ │ │ -00002060: 655f 7374 6174 652e 6f75 7470 7574 203a e_state.output : │ │ │ │ -00002070: 3d20 310a 7661 6c20 2829 203d 2021 7468 = 1.val () = !th │ │ │ │ -00002080: 655f 7374 6174 652e 7072 696e 746c 6e20 e_state.println │ │ │ │ -00002090: 3a3d 2030 0a76 616c 2028 2920 3d20 2174 := 0.val () = !t │ │ │ │ -000020a0: 6865 5f73 7461 7465 2e70 7269 6e74 6669 he_state.printfi │ │ │ │ -000020b0: 6c65 203a 3d20 300a 2f2f 0a76 616c 2028 le := 0.//.val ( │ │ │ │ -000020c0: 2920 3d0a 280a 2020 6966 6361 7365 0a20 ) =.(. ifcase. │ │ │ │ -000020d0: 2020 207c 206b 6e64 203d 2031 203d 3e20 | knd = 1 => │ │ │ │ -000020e0: 2174 6865 5f73 7461 7465 2e6f 7574 6669 !the_state.outfi │ │ │ │ -000020f0: 6c5f 6d6f 6420 3a3d 2066 696c 655f 6d6f l_mod := file_mo │ │ │ │ -00002100: 6465 5f77 0a20 2020 207c 206b 6e64 203d de_w. | knd = │ │ │ │ -00002110: 2032 203d 3e20 2174 6865 5f73 7461 7465 2 => !the_state │ │ │ │ -00002120: 2e6f 7574 6669 6c5f 6d6f 6420 3a3d 2066 .outfil_mod := f │ │ │ │ -00002130: 696c 655f 6d6f 6465 5f61 0a20 2020 207c ile_mode_a. | │ │ │ │ -00002140: 205f 282a 2065 6c73 6520 2a29 203d 3e20 _(* else *) => │ │ │ │ -00002150: 2829 0a29 203a 2076 6f69 6420 2f2f 2065 ().) : void // e │ │ │ │ -00002160: 6e64 206f 6620 5b76 616c 5d0a 2f2f 0a7d nd of [val].//.} │ │ │ │ -00002170: 2028 2a20 656e 6420 6f66 205b 7061 7473 (* end of [pats │ │ │ │ -00002180: 6f6c 7665 5f73 6d74 325f 6f75 7470 7574 olve_smt2_output │ │ │ │ -00002190: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** │ │ │ │ -000021a0: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple │ │ │ │ -000021b0: 6d65 6e74 0a70 6174 736f 6c76 655f 736d ment.patsolve_sm │ │ │ │ -000021c0: 7432 5f70 7269 6e74 6c6e 0a20 2028 282a t2_println. ((* │ │ │ │ -000021d0: 766f 6964 2a29 2920 3d0a 7b0a 2f2f 0a28 void*)) =.{.//.( │ │ │ │ -000021e0: 2a0a 7661 6c20 2829 203d 0a70 7269 6e74 *.val () =.print │ │ │ │ -000021f0: 6c6e 210a 2020 2822 7061 7473 6f6c 7665 ln!. ("patsolve │ │ │ │ -00002200: 5f73 6d74 325f 7072 696e 743a 202e 2e2e _smt2_print: ... │ │ │ │ -00002210: 2229 0a2a 290a 2f2f 0a76 616c 2028 2920 ").*).//.val () │ │ │ │ -00002220: 3d20 2174 6865 5f73 7461 7465 2e69 6e70 = !the_state.inp │ │ │ │ -00002230: 7574 203a 3d20 300a 7661 6c20 2829 203d ut := 0.val () = │ │ │ │ -00002240: 2021 7468 655f 7374 6174 652e 7072 696e !the_state.prin │ │ │ │ -00002250: 746c 6e20 3a3d 2031 0a76 616c 2028 2920 tln := 1.val () │ │ │ │ -00002260: 3d20 2174 6865 5f73 7461 7465 2e70 7269 = !the_state.pri │ │ │ │ -00002270: 6e74 6669 6c65 203a 3d20 300a 2f2f 0a7d ntfile := 0.//.} │ │ │ │ -00002280: 2028 2a20 656e 6420 6f66 205b 7061 7473 (* end of [pats │ │ │ │ -00002290: 6f6c 7665 5f73 6d74 325f 7072 696e 745d olve_smt2_print] │ │ │ │ -000022a0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** * │ │ │ │ -000022b0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -000022c0: 656e 740a 7061 7473 6f6c 7665 5f73 6d74 ent.patsolve_smt │ │ │ │ -000022d0: 325f 7072 696e 7466 696c 650a 2020 2828 2_printfile. (( │ │ │ │ -000022e0: 2a76 6f69 642a 2929 203d 0a7b 0a2f 2f0a *void*)) =.{.//. │ │ │ │ -000022f0: 282a 0a76 616c 2028 2920 3d0a 7072 696e (*.val () =.prin │ │ │ │ -00002300: 746c 6e21 0a20 2028 2270 6174 736f 6c76 tln!. ("patsolv │ │ │ │ -00002310: 655f 736d 7432 5f70 7269 6e74 3a20 2e2e e_smt2_print: .. │ │ │ │ -00002320: 2e22 290a 2a29 0a2f 2f0a 7661 6c20 2829 .").*).//.val () │ │ │ │ -00002330: 203d 2021 7468 655f 7374 6174 652e 696e = !the_state.in │ │ │ │ -00002340: 7075 7420 3a3d 2030 0a76 616c 2028 2920 put := 0.val () │ │ │ │ -00002350: 3d20 2174 6865 5f73 7461 7465 2e70 7269 = !the_state.pri │ │ │ │ -00002360: 6e74 6c6e 203a 3d20 300a 7661 6c20 2829 ntln := 0.val () │ │ │ │ -00002370: 203d 2021 7468 655f 7374 6174 652e 7072 = !the_state.pr │ │ │ │ -00002380: 696e 7466 696c 6520 3a3d 2031 0a2f 2f0a intfile := 1.//. │ │ │ │ -00002390: 7d20 282a 2065 6e64 206f 6620 5b70 6174 } (* end of [pat │ │ │ │ -000023a0: 736f 6c76 655f 736d 7432 5f70 7269 6e74 solve_smt2_print │ │ │ │ -000023b0: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** │ │ │ │ -000023c0: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple │ │ │ │ -000023d0: 6d65 6e74 0a70 6174 736f 6c76 655f 736d ment.patsolve_sm │ │ │ │ -000023e0: 7432 5f67 6974 656d 2861 7267 2920 3d20 t2_gitem(arg) = │ │ │ │ -000023f0: 6c65 740a 2f2f 0a28 2a0a 7661 6c20 2829 let.//.(*.val () │ │ │ │ -00002400: 203d 0a70 7269 6e74 6c6e 210a 280a 2020 =.println!.(. │ │ │ │ -00002410: 2270 6174 736f 6c76 655f 736d 7432 5f67 "patsolve_smt2_g │ │ │ │ -00002420: 6974 656d 3a20 6172 6720 3d20 222c 2061 item: arg = ", a │ │ │ │ -00002430: 7267 0a29 2028 2a20 7072 696e 746c 6e21 rg.) (* println! │ │ │ │ -00002440: 202a 290a 2a29 0a2f 2f0a 6d61 6364 6566 *).*).//.macdef │ │ │ │ -00002450: 0a69 6e70 7574 2829 203d 2028 2174 6865 .input() = (!the │ │ │ │ -00002460: 5f73 7461 7465 2e69 6e70 7574 203e 2030 _state.input > 0 │ │ │ │ -00002470: 290a 6d61 6364 6566 0a6f 7574 7075 7428 ).macdef.output( │ │ │ │ -00002480: 2920 3d20 2821 7468 655f 7374 6174 652e ) = (!the_state. │ │ │ │ -00002490: 6f75 7470 7574 203e 2030 290a 6d61 6364 output > 0).macd │ │ │ │ -000024a0: 6566 0a70 7269 6e74 6c6e 2829 203d 2028 ef.println() = ( │ │ │ │ -000024b0: 2174 6865 5f73 7461 7465 2e70 7269 6e74 !the_state.print │ │ │ │ -000024c0: 6c6e 203e 2030 290a 6d61 6364 6566 0a70 ln > 0).macdef.p │ │ │ │ -000024d0: 7269 6e74 6669 6c65 2829 203d 2028 2174 rintfile() = (!t │ │ │ │ -000024e0: 6865 5f73 7461 7465 2e70 7269 6e74 6669 he_state.printfi │ │ │ │ -000024f0: 6c65 203e 2030 290a 2f2f 0a69 6e0a 2f2f le > 0).//.in.// │ │ │ │ -00002500: 0a63 6173 652b 2030 206f 660a 2f2f 0a7c .case+ 0 of.//.| │ │ │ │ -00002510: 205f 2077 6865 6e20 696e 7075 7428 2920 _ when input() │ │ │ │ -00002520: 3d3e 0a20 207b 0a20 2020 2076 616c 2028 =>. {. val ( │ │ │ │ -00002530: 2920 3d20 7061 7473 6f6c 7665 5f73 6d74 ) = patsolve_smt │ │ │ │ -00002540: 325f 696e 7075 745f 6172 6728 6172 6729 2_input_arg(arg) │ │ │ │ -00002550: 0a20 2020 2076 616c 2028 2920 3d0a 2020 . val () =. │ │ │ │ -00002560: 2020 280a 2020 2020 2020 2174 6865 5f73 (. !the_s │ │ │ │ -00002570: 7461 7465 2e6e 696e 7075 7420 3a3d 2021 tate.ninput := ! │ │ │ │ -00002580: 7468 655f 7374 6174 652e 6e69 6e70 7574 the_state.ninput │ │ │ │ -00002590: 2b31 0a20 2020 2029 0a20 207d 2028 2a20 +1. ). } (* │ │ │ │ -000025a0: 696e 7075 7428 2920 2a29 0a7c 205f 2077 input() *).| _ w │ │ │ │ -000025b0: 6865 6e20 6f75 7470 7574 2829 203d 3e0a hen output() =>. │ │ │ │ -000025c0: 2020 7b0a 2020 2020 7661 6c20 2829 203d {. val () = │ │ │ │ -000025d0: 2021 7468 655f 7374 6174 652e 6f75 7470 !the_state.outp │ │ │ │ -000025e0: 7574 203a 3d20 300a 2020 2020 7661 6c20 ut := 0. val │ │ │ │ -000025f0: 2829 203d 2070 6174 736f 6c76 655f 736d () = patsolve_sm │ │ │ │ -00002600: 7432 5f6f 7574 7075 745f 6172 6728 6172 t2_output_arg(ar │ │ │ │ -00002610: 6729 0a20 207d 2028 2a20 696e 7075 7428 g). } (* input( │ │ │ │ -00002620: 2920 2a29 0a2f 2f0a 7c20 5f20 7768 656e ) *).//.| _ when │ │ │ │ -00002630: 2070 7269 6e74 6c6e 2829 203d 3e0a 2020 println() =>. │ │ │ │ -00002640: 7b0a 2020 2020 7661 6c20 2829 203d 0a20 {. val () =. │ │ │ │ -00002650: 2020 2020 2066 7072 696e 746c 6e21 2028 fprintln! ( │ │ │ │ -00002660: 2174 6865 5f73 7461 7465 2e6f 7574 6669 !the_state.outfi │ │ │ │ -00002670: 6c5f 7265 662c 2061 7267 290a 2020 2020 l_ref, arg). │ │ │ │ -00002680: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val]. │ │ │ │ -00002690: 2020 7d20 282a 2069 6e70 7574 2829 202a } (* input() * │ │ │ │ -000026a0: 290a 2f2f 0a7c 205f 2077 6865 6e20 7072 ).//.| _ when pr │ │ │ │ -000026b0: 696e 7466 696c 6528 2920 3d3e 0a20 207b intfile() =>. { │ │ │ │ -000026c0: 0a20 2020 2076 616c 2028 2920 3d20 7061 . val () = pa │ │ │ │ -000026d0: 7473 6f6c 7665 5f73 6d74 325f 7072 696e tsolve_smt2_prin │ │ │ │ -000026e0: 7466 696c 655f 6172 6728 6172 6729 0a20 tfile_arg(arg). │ │ │ │ -000026f0: 207d 2028 2a20 696e 7075 7428 2920 2a29 } (* input() *) │ │ │ │ -00002700: 0a2f 2f0a 7c20 5f20 7768 656e 0a20 2020 .//.| _ when. │ │ │ │ -00002710: 2061 7267 203d 2022 2d2d 7265 616c 2d6f arg = "--real-o │ │ │ │ -00002720: 6e22 203d 3e0a 2020 7b0a 2020 2020 7661 n" =>. {. va │ │ │ │ -00002730: 6c20 2829 203d 2021 7468 655f 7374 6174 l () = !the_stat │ │ │ │ -00002740: 652e 636f 6e73 7472 6169 6e74 5f72 6561 e.constraint_rea │ │ │ │ -00002750: 6c20 3a3d 2031 0a20 207d 0a7c 205f 2077 l := 1. }.| _ w │ │ │ │ -00002760: 6865 6e0a 2020 2020 6172 6720 3d20 222d hen. arg = "- │ │ │ │ -00002770: 2d72 6561 6c2d 6f66 6622 203d 3e0a 2020 -real-off" =>. │ │ │ │ -00002780: 7b0a 2020 2020 7661 6c20 2829 203d 2021 {. val () = ! │ │ │ │ -00002790: 7468 655f 7374 6174 652e 636f 6e73 7472 the_state.constr │ │ │ │ -000027a0: 6169 6e74 5f72 6561 6c20 3a3d 2030 0a20 aint_real := 0. │ │ │ │ -000027b0: 207d 0a2f 2f0a 7c20 5f20 282a 2075 6e72 }.//.| _ (* unr │ │ │ │ -000027c0: 6563 6f67 6e69 7a65 6420 2a29 203d 3e20 ecognized *) => │ │ │ │ -000027d0: 2828 2a76 6f69 642a 2929 0a2f 2f0a 656e ((*void*)).//.en │ │ │ │ -000027e0: 6420 282a 2065 6e64 206f 6620 5b70 6174 d (* end of [pat │ │ │ │ -000027f0: 736f 6c76 655f 736d 7432 5f67 6974 656d solve_smt2_gitem │ │ │ │ -00002800: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** │ │ │ │ -00002810: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local │ │ │ │ -00002820: 0a0a 6675 6e0a 6175 786d 6169 6e0a 2020 ..fun.auxmain. │ │ │ │ -00002830: 2870 6174 683a 2073 7472 696e 6729 3a20 (path: string): │ │ │ │ -00002840: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va │ │ │ │ -00002850: 6c0a 6f70 7420 3d0a 6669 6c65 7265 665f l.opt =.fileref_ │ │ │ │ -00002860: 6f70 656e 5f6f 7074 2870 6174 682c 2066 open_opt(path, f │ │ │ │ -00002870: 696c 655f 6d6f 6465 5f72 290a 2f2f 0a69 ile_mode_r).//.i │ │ │ │ -00002880: 6e0a 2f2f 0a63 6173 652b 206f 7074 206f n.//.case+ opt o │ │ │ │ -00002890: 660a 7c20 7e53 6f6d 655f 7674 2866 696c f.| ~Some_vt(fil │ │ │ │ -000028a0: 7229 203d 3e0a 2020 7b0a 2f2f 0a20 2020 r) =>. {.//. │ │ │ │ -000028b0: 2076 616c 2063 3374 3020 3d0a 2020 2020 val c3t0 =. │ │ │ │ -000028c0: 2020 7061 7273 655f 6669 6c65 7265 665f parse_fileref_ │ │ │ │ -000028d0: 636f 6e73 7472 6169 6e74 7328 6669 6c72 constraints(filr │ │ │ │ -000028e0: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of │ │ │ │ -000028f0: 5b76 616c 5d0a 2020 2020 7661 6c20 2828 [val]. val (( │ │ │ │ -00002900: 2a76 6f69 642a 2929 203d 2066 696c 6572 *void*)) = filer │ │ │ │ -00002910: 6566 5f63 6c6f 7365 2866 696c 7229 0a2f ef_close(filr)./ │ │ │ │ -00002920: 2f0a 282a 0a20 2020 2076 616c 2028 2920 /.(*. val () │ │ │ │ -00002930: 3d0a 2020 2020 6670 7269 6e74 2120 280a =. fprint! (. │ │ │ │ -00002940: 2020 2020 2020 7374 646f 7574 5f72 6566 stdout_ref │ │ │ │ -00002950: 0a20 2020 202c 2022 7061 7473 6f6c 7665 . , "patsolve │ │ │ │ -00002960: 5f73 6d74 325f 696e 7075 745f 6172 673a _smt2_input_arg: │ │ │ │ -00002970: 2063 3374 3020 3d5c 6e22 0a20 2020 2029 c3t0 =\n". ) │ │ │ │ -00002980: 2028 2a20 656e 6420 6f66 205b 6670 7269 (* end of [fpri │ │ │ │ -00002990: 6e74 5d20 2a29 0a20 2020 2076 616c 2028 nt] *). val ( │ │ │ │ -000029a0: 2920 3d0a 2020 2020 2020 6670 7072 696e ) =. fpprin │ │ │ │ -000029b0: 745f 6333 6e73 7472 2873 7464 6f75 745f t_c3nstr(stdout_ │ │ │ │ -000029c0: 7265 662c 2063 3374 3029 0a20 2020 202f ref, c3t0). / │ │ │ │ -000029d0: 2f20 656e 6420 6f66 205b 7661 6c5d 0a20 / end of [val]. │ │ │ │ -000029e0: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri │ │ │ │ -000029f0: 6e74 5f6e 6577 6c69 6e65 2028 7374 646f nt_newline (stdo │ │ │ │ -00002a00: 7574 5f72 6566 290a 2a29 0a2f 2f0a 2020 ut_ref).*).//. │ │ │ │ -00002a10: 2020 7661 6c20 6f75 7420 3d20 2174 6865 val out = !the │ │ │ │ -00002a20: 5f73 7461 7465 2e6f 7574 6669 6c5f 7265 _state.outfil_re │ │ │ │ -00002a30: 660a 2020 2020 7661 6c20 2828 2a76 6f69 f. val ((*voi │ │ │ │ -00002a40: 642a 2929 203d 2063 336e 7374 725f 736d d*)) = c3nstr_sm │ │ │ │ -00002a50: 7432 5f73 6f6c 7665 286f 7574 2c20 6333 t2_solve(out, c3 │ │ │ │ -00002a60: 7430 290a 2f2f 0a20 207d 2028 2a20 656e t0).//. } (* en │ │ │ │ -00002a70: 6420 6f66 205b 536f 6d65 5f76 745d 202a d of [Some_vt] * │ │ │ │ -00002a80: 290a 2f2f 0a7c 207e 4e6f 6e65 5f76 7428 ).//.| ~None_vt( │ │ │ │ -00002a90: 282a 766f 6964 2a29 2920 3d3e 0a20 207b (*void*)) =>. { │ │ │ │ -00002aa0: 0a2f 2f0a 282a 0a20 2020 2076 616c 2028 .//.(*. val ( │ │ │ │ -00002ab0: 2920 3d20 2174 6865 5f73 7461 7465 2e69 ) = !the_state.i │ │ │ │ -00002ac0: 6e70 6669 6c5f 7265 6620 3a3d 2073 7464 npfil_ref := std │ │ │ │ -00002ad0: 696e 5f72 6566 0a2a 290a 2f2f 0a20 2020 in_ref.*).//. │ │ │ │ -00002ae0: 2076 616c 2028 2920 3d0a 2020 2020 7072 val () =. pr │ │ │ │ -00002af0: 6572 726c 6e21 0a20 2020 2020 2028 2254 errln!. ("T │ │ │ │ -00002b00: 6865 2066 696c 6520 5b22 2c20 7061 7468 he file [", path │ │ │ │ -00002b10: 2c20 225d 2063 616e 6e6f 7420 6265 206f , "] cannot be o │ │ │ │ -00002b20: 7065 6e65 6420 666f 7220 7265 6164 2122 pened for read!" │ │ │ │ -00002b30: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of │ │ │ │ -00002b40: 5b76 616c 5d0a 2f2f 0a20 207d 2028 2a20 [val].//. } (* │ │ │ │ -00002b50: 656e 6420 6f66 205b 4e6f 6e65 5f76 745d end of [None_vt] │ │ │ │ -00002b60: 202a 290a 2f2f 0a65 6e64 202f 2f20 656e *).//.end // en │ │ │ │ -00002b70: 6420 6f66 205b 6175 786d 6169 6e5d 0a0a d of [auxmain].. │ │ │ │ -00002b80: 696e 2028 2a20 696e 2d6f 662d 6c6f 6361 in (* in-of-loca │ │ │ │ -00002b90: 6c20 2a29 0a2f 2f0a 696d 706c 656d 656e l *).//.implemen │ │ │ │ -00002ba0: 740a 7061 7473 6f6c 7665 5f73 6d74 325f t.patsolve_smt2_ │ │ │ │ -00002bb0: 696e 7075 745f 6172 670a 2020 2870 6174 input_arg. (pat │ │ │ │ -00002bc0: 6829 203d 0a28 0a2f 2f0a 6361 7365 2b0a h) =.(.//.case+. │ │ │ │ -00002bd0: 7061 7468 206f 660a 7c20 222d 2220 3d3e path of.| "-" => │ │ │ │ -00002be0: 0a20 207b 0a20 2020 2076 616c 2069 6e70 . {. val inp │ │ │ │ -00002bf0: 203d 2073 7464 696e 5f72 6566 0a20 2020 = stdin_ref. │ │ │ │ -00002c00: 2076 616c 206f 7574 203d 2021 7468 655f val out = !the_ │ │ │ │ -00002c10: 7374 6174 652e 6f75 7466 696c 5f72 6566 state.outfil_ref │ │ │ │ -00002c20: 0a20 2020 2076 616c 2063 3374 3020 3d20 . val c3t0 = │ │ │ │ -00002c30: 7061 7273 655f 6669 6c65 7265 665f 636f parse_fileref_co │ │ │ │ -00002c40: 6e73 7472 6169 6e74 7328 696e 7029 0a20 nstraints(inp). │ │ │ │ -00002c50: 2020 2076 616c 2028 282a 766f 6964 2a29 val ((*void*) │ │ │ │ -00002c60: 2920 3d20 6333 6e73 7472 5f73 6d74 325f ) = c3nstr_smt2_ │ │ │ │ -00002c70: 736f 6c76 6528 6f75 742c 2063 3374 3029 solve(out, c3t0) │ │ │ │ -00002c80: 0a20 207d 0a7c 205f 282a 202e 2e2e 202a . }.| _(* ... * │ │ │ │ -00002c90: 2920 3d3e 2061 7578 6d61 696e 2870 6174 ) => auxmain(pat │ │ │ │ -00002ca0: 6829 0a2f 2f0a 2920 282a 2065 6e64 206f h).//.) (* end o │ │ │ │ -00002cb0: 6620 5b70 6174 736f 6c76 655f 736d 7432 f [patsolve_smt2 │ │ │ │ -00002cc0: 5f69 6e70 7574 5f61 7267 5d20 2a29 0a2f _input_arg] *)./ │ │ │ │ -00002cd0: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of │ │ │ │ -00002ce0: 5b6c 6f63 616c 5d0a 0a28 2a20 2a2a 2a2a [local]..(* **** │ │ │ │ -00002cf0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00002d00: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve │ │ │ │ -00002d10: 5f73 6d74 325f 6f75 7470 7574 5f61 7267 _smt2_output_arg │ │ │ │ -00002d20: 0a20 2028 7061 7468 2920 3d20 6c65 740a . (path) = let. │ │ │ │ -00002d30: 2f2f 0a76 616c 206e 3120 3d20 2174 6865 //.val n1 = !the │ │ │ │ -00002d40: 5f73 7461 7465 2e66 6f70 656e 5f6f 7574 _state.fopen_out │ │ │ │ -00002d50: 0a76 616c 2066 3120 3d20 2174 6865 5f73 .val f1 = !the_s │ │ │ │ -00002d60: 7461 7465 2e6f 7574 6669 6c5f 7265 660a tate.outfil_ref. │ │ │ │ -00002d70: 7661 6c20 2829 203d 2069 6620 6e31 203e val () = if n1 > │ │ │ │ -00002d80: 2030 2074 6865 6e20 6669 6c65 7265 665f 0 then fileref_ │ │ │ │ -00002d90: 636c 6f73 6528 6631 290a 2f2f 0a76 616c close(f1).//.val │ │ │ │ -00002da0: 2066 6d20 3d20 2174 6865 5f73 7461 7465 fm = !the_state │ │ │ │ -00002db0: 2e6f 7574 6669 6c5f 6d6f 640a 7661 6c20 .outfil_mod.val │ │ │ │ -00002dc0: 6f70 7420 3d20 6669 6c65 7265 665f 6f70 opt = fileref_op │ │ │ │ -00002dd0: 656e 5f6f 7074 2870 6174 682c 2066 6d29 en_opt(path, fm) │ │ │ │ -00002de0: 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 2b20 .//.in.//.case+ │ │ │ │ -00002df0: 6f70 7420 6f66 0a7c 207e 536f 6d65 5f76 opt of.| ~Some_v │ │ │ │ -00002e00: 7428 6669 6c72 2920 3d3e 0a20 207b 0a2f t(filr) =>. {./ │ │ │ │ -00002e10: 2f0a 2020 2020 7661 6c20 2829 203d 2021 /. val () = ! │ │ │ │ -00002e20: 7468 655f 7374 6174 652e 666f 7065 6e5f the_state.fopen_ │ │ │ │ -00002e30: 6f75 7420 3a3d 2031 0a20 2020 2076 616c out := 1. val │ │ │ │ -00002e40: 2028 2920 3d20 2174 6865 5f73 7461 7465 () = !the_state │ │ │ │ -00002e50: 2e6f 7574 6669 6c5f 7265 6620 3a3d 2066 .outfil_ref := f │ │ │ │ -00002e60: 696c 720a 2f2f 0a20 207d 2028 2a20 656e ilr.//. } (* en │ │ │ │ -00002e70: 6420 6f66 205b 536f 6d65 5f76 745d 202a d of [Some_vt] * │ │ │ │ -00002e80: 290a 2f2f 0a7c 207e 4e6f 6e65 5f76 7428 ).//.| ~None_vt( │ │ │ │ -00002e90: 282a 766f 6964 2a29 2920 3d3e 0a20 207b (*void*)) =>. { │ │ │ │ -00002ea0: 0a2f 2f0a 2020 2020 7661 6c20 2829 203d .//. val () = │ │ │ │ -00002eb0: 2021 7468 655f 7374 6174 652e 666f 7065 !the_state.fope │ │ │ │ -00002ec0: 6e5f 6f75 7420 3a3d 2030 0a20 2020 2076 n_out := 0. v │ │ │ │ -00002ed0: 616c 2028 2920 3d20 2174 6865 5f73 7461 al () = !the_sta │ │ │ │ -00002ee0: 7465 2e6f 7574 6669 6c5f 7265 6620 3a3d te.outfil_ref := │ │ │ │ -00002ef0: 2073 7464 6572 725f 7265 660a 2f2f 0a20 stderr_ref.//. │ │ │ │ -00002f00: 2020 2076 616c 2028 2920 3d0a 2020 2020 val () =. │ │ │ │ -00002f10: 7072 6572 726c 6e21 0a20 2020 2020 2028 prerrln!. ( │ │ │ │ -00002f20: 2254 6865 2066 696c 6520 5b22 2c20 7061 "The file [", pa │ │ │ │ -00002f30: 7468 2c20 225d 2063 616e 6e6f 7420 6265 th, "] cannot be │ │ │ │ -00002f40: 206f 7065 6e65 6420 666f 7220 7772 6974 opened for writ │ │ │ │ -00002f50: 6521 2229 0a20 2020 202f 2f20 656e 6420 e!"). // end │ │ │ │ -00002f60: 6f66 205b 7661 6c5d 0a2f 2f0a 2020 7d20 of [val].//. } │ │ │ │ -00002f70: 282a 2065 6e64 206f 6620 5b4e 6f6e 655f (* end of [None_ │ │ │ │ -00002f80: 7674 5d20 2a29 0a2f 2f0a 656e 6420 2f2f vt] *).//.end // │ │ │ │ -00002f90: 2065 6e64 206f 6620 5b70 6174 736f 6c76 end of [patsolv │ │ │ │ -00002fa0: 655f 736d 7432 5f6f 7574 7075 745f 6172 e_smt2_output_ar │ │ │ │ -00002fb0: 675d 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a g]..(* ****** ** │ │ │ │ -00002fc0: 2a2a 2a2a 202a 290a 0a69 6d70 6c65 6d65 **** *)..impleme │ │ │ │ -00002fd0: 6e74 0a70 6174 736f 6c76 655f 736d 7432 nt.patsolve_smt2 │ │ │ │ -00002fe0: 5f70 7269 6e74 6669 6c65 5f61 7267 0a20 _printfile_arg. │ │ │ │ -00002ff0: 2028 7061 7468 2920 3d20 6c65 740a 2f2f (path) = let.// │ │ │ │ -00003000: 0a76 616c 2066 6d20 3d20 6669 6c65 5f6d .val fm = file_m │ │ │ │ -00003010: 6f64 655f 720a 7661 6c20 6f70 7420 3d0a ode_r.val opt =. │ │ │ │ -00003020: 2020 6669 6c65 7265 665f 6f70 656e 5f6f fileref_open_o │ │ │ │ -00003030: 7074 2870 6174 682c 2066 6d29 0a2f 2f0a pt(path, fm).//. │ │ │ │ -00003040: 7661 6c20 6f75 7420 3d20 2174 6865 5f73 val out = !the_s │ │ │ │ -00003050: 7461 7465 2e6f 7574 6669 6c5f 7265 660a tate.outfil_ref. │ │ │ │ -00003060: 2f2f 0a66 756e 0a66 636f 7079 0a28 0a20 //.fun.fcopy.(. │ │ │ │ -00003070: 2069 6e70 3a20 4649 4c45 7265 662c 206f inp: FILEref, o │ │ │ │ -00003080: 7574 3a20 4649 4c45 7265 660a 2920 3a20 ut: FILEref.) : │ │ │ │ -00003090: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va │ │ │ │ -000030a0: 6c20 6973 656f 6620 3d20 6669 6c65 7265 l iseof = filere │ │ │ │ -000030b0: 665f 6973 5f65 6f66 2869 6e70 290a 2f2f f_is_eof(inp).// │ │ │ │ -000030c0: 0a69 6e0a 2f2f 0a69 660a 6973 656f 660a .in.//.if.iseof. │ │ │ │ -000030d0: 7468 656e 0a20 2066 696c 6572 6566 5f63 then. fileref_c │ │ │ │ -000030e0: 6c6f 7365 2869 6e70 290a 656c 7365 206c lose(inp).else l │ │ │ │ -000030f0: 6574 0a2f 2f0a 7661 6c20 7374 7220 3d0a et.//.val str =. │ │ │ │ -00003100: 2020 6669 6c65 7265 665f 6765 745f 6c69 fileref_get_li │ │ │ │ -00003110: 6e65 5f73 7472 696e 6728 696e 7029 0a2f ne_string(inp)./ │ │ │ │ -00003120: 2f20 656e 6420 6f66 205b 7661 5d0a 7661 / end of [va].va │ │ │ │ -00003130: 6c20 2828 2a76 6f69 642a 2929 203d 2066 l ((*void*)) = f │ │ │ │ -00003140: 7072 696e 746c 6e21 2028 6f75 742c 2073 println! (out, s │ │ │ │ -00003150: 7472 290a 7661 6c20 2828 2a66 7265 6564 tr).val ((*freed │ │ │ │ -00003160: 2a29 2920 3d20 7374 7270 7472 5f66 7265 *)) = strptr_fre │ │ │ │ -00003170: 6528 7374 7229 0a2f 2f0a 696e 0a20 2066 e(str).//.in. f │ │ │ │ -00003180: 636f 7079 2869 6e70 2c20 6f75 7429 0a65 copy(inp, out).e │ │ │ │ -00003190: 6e64 2028 2a20 656e 6420 6f66 205b 656c nd (* end of [el │ │ │ │ -000031a0: 7365 5d20 2a29 0a2f 2f0a 656e 6420 2f2f se] *).//.end // │ │ │ │ -000031b0: 2065 6e64 206f 6620 5b66 636f 7079 5d0a end of [fcopy]. │ │ │ │ -000031c0: 2f2f 0a69 6e0a 2f2f 0a63 6173 652b 206f //.in.//.case+ o │ │ │ │ -000031d0: 7074 206f 660a 7c20 7e53 6f6d 655f 7674 pt of.| ~Some_vt │ │ │ │ -000031e0: 2869 6e70 2920 3d3e 0a20 2020 2066 636f (inp) =>. fco │ │ │ │ -000031f0: 7079 2869 6e70 2c20 6f75 7429 0a20 202f py(inp, out). / │ │ │ │ -00003200: 2f20 656e 6420 6f66 205b 536f 6d65 5f76 / end of [Some_v │ │ │ │ -00003210: 745d 0a7c 207e 4e6f 6e65 5f76 7428 282a t].| ~None_vt((* │ │ │ │ -00003220: 766f 6964 2a29 2920 3d3e 0a20 2028 0a20 void*)) =>. (. │ │ │ │ -00003230: 2020 2066 7072 696e 746c 6e21 2028 6f75 fprintln! (ou │ │ │ │ -00003240: 742c 2022 2874 6865 2d66 696c 652d 5b22 t, "(the-file-[" │ │ │ │ -00003250: 2c20 7061 7468 2c20 225d 2d63 616e 6e6f , path, "]-canno │ │ │ │ -00003260: 742d 6f70 656e 2d66 6f72 2d72 6561 6429 t-open-for-read) │ │ │ │ -00003270: 2229 0a20 2029 2028 2a20 656e 6420 6f66 "). ) (* end of │ │ │ │ -00003280: 205b 4e6f 6e65 5f76 745d 202a 290a 2f2f [None_vt] *).// │ │ │ │ -00003290: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [ │ │ │ │ -000032a0: 7061 7473 6f6c 7665 5f73 6d74 325f 7072 patsolve_smt2_pr │ │ │ │ -000032b0: 696e 7466 696c 655f 6172 675d 0a0a 282a intfile_arg]..(* │ │ │ │ -000032c0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -000032d0: 290a 0a69 6d70 6c65 6d65 6e74 0a70 6174 )..implement.pat │ │ │ │ -000032e0: 736f 6c76 655f 736d 7432 5f61 7267 656e solve_smt2_argen │ │ │ │ -000032f0: 640a 2020 2828 2a76 6f69 642a 2929 203d d. ((*void*)) = │ │ │ │ -00003300: 206c 6574 0a2f 2f0a 6d61 6364 6566 2074 let.//.macdef t │ │ │ │ -00003310: 6573 7428 2920 3d0a 2020 2821 7468 655f est() =. (!the_ │ │ │ │ -00003320: 7374 6174 652e 696e 7075 7420 3e20 3020 state.input > 0 │ │ │ │ -00003330: 2626 2021 7468 655f 7374 6174 652e 6e69 && !the_state.ni │ │ │ │ -00003340: 6e70 7574 203d 2030 290a 2f2f 0a69 6e0a nput = 0).//.in. │ │ │ │ -00003350: 2f2f 0a63 6173 652b 2030 206f 660a 7c20 //.case+ 0 of.| │ │ │ │ -00003360: 5f20 7768 656e 2074 6573 7428 2920 3d3e _ when test() => │ │ │ │ -00003370: 0a20 207b 0a2f 2f0a 2020 2020 7661 6c20 . {.//. val │ │ │ │ -00003380: 696e 7020 3d20 7374 6469 6e5f 7265 660a inp = stdin_ref. │ │ │ │ -00003390: 2020 2020 7661 6c20 6f75 7420 3d20 2174 val out = !t │ │ │ │ -000033a0: 6865 5f73 7461 7465 2e6f 7574 6669 6c5f he_state.outfil_ │ │ │ │ -000033b0: 7265 660a 2020 2020 7661 6c20 6333 7430 ref. val c3t0 │ │ │ │ -000033c0: 203d 2070 6172 7365 5f66 696c 6572 6566 = parse_fileref │ │ │ │ -000033d0: 5f63 6f6e 7374 7261 696e 7473 2869 6e70 _constraints(inp │ │ │ │ -000033e0: 290a 2020 2020 7661 6c20 2828 2a76 6f69 ). val ((*voi │ │ │ │ -000033f0: 642a 2929 203d 2063 336e 7374 725f 736d d*)) = c3nstr_sm │ │ │ │ -00003400: 7432 5f73 6f6c 7665 286f 7574 2c20 6333 t2_solve(out, c3 │ │ │ │ -00003410: 7430 290a 2f2f 0a20 207d 2028 2a20 656e t0).//. } (* en │ │ │ │ -00003420: 6420 6f66 205b 7465 7374 5d20 2a29 0a7c d of [test] *).| │ │ │ │ -00003430: 205f 2028 2a72 6573 742a 2920 3d3e 2028 _ (*rest*) => ( │ │ │ │ -00003440: 282a 6967 6e6f 7265 642a 2929 0a2f 2f0a (*ignored*)).//. │ │ │ │ -00003450: 656e 6420 282a 2065 6e64 206f 6620 5b70 end (* end of [p │ │ │ │ -00003460: 6174 736f 6c76 655f 736d 7432 5f61 7267 atsolve_smt2_arg │ │ │ │ -00003470: 656e 645d 202a 290a 0a28 2a20 2a2a 2a2a end] *)..(* **** │ │ │ │ -00003480: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00003490: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve │ │ │ │ -000034a0: 5f73 6d74 325f 636f 6d6d 6172 676c 7374 _smt2_commarglst │ │ │ │ -000034b0: 5f66 696e 616c 697a 650a 2020 2828 2a76 _finalize. ((*v │ │ │ │ -000034c0: 6f69 642a 2929 203d 0a7b 0a2f 2f0a 2020 oid*)) =.{.//. │ │ │ │ -000034d0: 7661 6c20 6e31 203d 2021 7468 655f 7374 val n1 = !the_st │ │ │ │ -000034e0: 6174 652e 666f 7065 6e5f 6f75 740a 2020 ate.fopen_out. │ │ │ │ -000034f0: 7661 6c20 6631 203d 2021 7468 655f 7374 val f1 = !the_st │ │ │ │ -00003500: 6174 652e 6f75 7466 696c 5f72 6566 0a20 ate.outfil_ref. │ │ │ │ -00003510: 2076 616c 2028 2920 3d20 6966 206e 3120 val () = if n1 │ │ │ │ -00003520: 3e20 3020 7468 656e 2066 696c 6572 6566 > 0 then fileref │ │ │ │ -00003530: 5f63 6c6f 7365 2866 3129 0a2f 2f0a 7d20 _close(f1).//.} │ │ │ │ -00003540: 282a 2065 6e64 206f 6620 5b70 6174 736f (* end of [patso │ │ │ │ -00003550: 6c76 655f 736d 7432 5f63 6f6d 6d61 7267 lve_smt2_commarg │ │ │ │ -00003560: 6c73 745f 6669 6e61 6c69 7a65 5d20 2a29 lst_finalize] *) │ │ │ │ -00003570: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00003580: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of │ │ │ │ -00003590: 205b 7061 7473 6f6c 7665 5f73 6d74 325f [patsolve_smt2_ │ │ │ │ -000035a0: 636f 6d6d 6172 672e 6461 7473 5d20 2a29 commarg.dats] *) │ │ │ │ -000035b0: 0a . │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats │ │ │ │ @@ -1,86 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho │ │ │ │ -00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.** │ │ │ │ -00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm │ │ │ │ -000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco │ │ │ │ -000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time: │ │ │ │ -000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.* │ │ │ │ -000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia │ │ │ │ -000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho │ │ │ │ -000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA │ │ │ │ -00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** │ │ │ │ -00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some │ │ │ │ -00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.// │ │ │ │ -00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** * │ │ │ │ -00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc │ │ │ │ -00000150: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude."share/atsp │ │ │ │ -00000160: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats" │ │ │ │ -00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000180: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal │ │ │ │ -00000190: 6f61 640a 222e 2f2e 2e2f 5341 5453 2f70 oad."./../SATS/p │ │ │ │ -000001a0: 6174 736f 6c76 655f 736d 7432 5f63 6f6d atsolve_smt2_com │ │ │ │ -000001b0: 6d61 7267 2e73 6174 7322 0a23 7374 616c marg.sats".#stal │ │ │ │ -000001c0: 6f61 640a 222e 2f2e 2e2f 5341 5453 2f70 oad."./../SATS/p │ │ │ │ -000001d0: 6174 736f 6c76 655f 736d 7432 5f73 6f6c atsolve_smt2_sol │ │ │ │ -000001e0: 7669 6e67 2e73 6174 7322 0a2f 2f0a 282a ving.sats".//.(* │ │ │ │ -000001f0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000200: 290a 2f2f 0a28 2a0a 6479 6e6c 6f61 640a ).//.(*.dynload. │ │ │ │ -00000210: 2241 5453 2d65 7874 736f 6c76 652f 4441 "ATS-extsolve/DA │ │ │ │ -00000220: 5453 2f70 6174 736f 6c76 655f 636e 7374 TS/patsolve_cnst │ │ │ │ -00000230: 726e 742e 6461 7473 220a 2a29 0a76 616c rnt.dats".*).val │ │ │ │ -00000240: 2028 2920 3d0a 7061 7473 6f6c 7665 5f63 () =.patsolve_c │ │ │ │ -00000250: 6e73 7472 6e74 5f5f 6479 6e6c 6f61 6428 nstrnt__dynload( │ │ │ │ -00000260: 2920 7768 6572 650a 7b0a 2020 6578 7465 ) where.{. exte │ │ │ │ -00000270: 726e 0a20 2066 756e 0a20 2070 6174 736f rn. fun. patso │ │ │ │ -00000280: 6c76 655f 636e 7374 726e 745f 5f64 796e lve_cnstrnt__dyn │ │ │ │ -00000290: 6c6f 6164 2829 3a20 766f 6964 203d 2022 load(): void = " │ │ │ │ -000002a0: 6578 7423 220a 7d0a 2f2f 0a28 2a20 2a2a ext#".}.//.(* ** │ │ │ │ -000002b0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -000002c0: 2f0a 282a 0a64 796e 6c6f 6164 0a22 4154 /.(*.dynload."AT │ │ │ │ -000002d0: 532d 6578 7473 6f6c 7665 2f44 4154 532f S-extsolve/DATS/ │ │ │ │ -000002e0: 7061 7473 6f6c 7665 5f70 6172 7369 6e67 patsolve_parsing │ │ │ │ -000002f0: 2e64 6174 7322 0a2a 290a 7661 6c20 2829 .dats".*).val () │ │ │ │ -00000300: 203d 0a70 6174 736f 6c76 655f 7061 7273 =.patsolve_pars │ │ │ │ -00000310: 696e 675f 5f64 796e 6c6f 6164 2829 2077 ing__dynload() w │ │ │ │ -00000320: 6865 7265 0a7b 0a20 2065 7874 6572 6e0a here.{. extern. │ │ │ │ -00000330: 2020 6675 6e0a 2020 7061 7473 6f6c 7665 fun. patsolve │ │ │ │ -00000340: 5f70 6172 7369 6e67 5f5f 6479 6e6c 6f61 _parsing__dynloa │ │ │ │ -00000350: 6428 293a 2076 6f69 6420 3d20 2265 7874 d(): void = "ext │ │ │ │ -00000360: 2322 0a7d 0a2f 2f0a 282a 202a 2a2a 2a2a #".}.//.(* ***** │ │ │ │ -00000370: 2a20 2a2a 2a2a 2a2a 202a 290a 0a23 6479 * ****** *)..#dy │ │ │ │ -00000380: 6e6c 6f61 6420 222e 2f70 6174 736f 6c76 nload "./patsolv │ │ │ │ -00000390: 655f 736d 7432 5f63 6f6d 6d61 7267 2e64 e_smt2_commarg.d │ │ │ │ -000003a0: 6174 7322 0a23 6479 6e6c 6f61 6420 222e ats".#dynload ". │ │ │ │ -000003b0: 2f70 6174 736f 6c76 655f 736d 7432 5f73 /patsolve_smt2_s │ │ │ │ -000003c0: 6f6c 7669 6e67 2e64 6174 7322 0a0a 282a olving.dats"..(* │ │ │ │ -000003d0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -000003e0: 290a 0a69 6d70 6c65 6d65 6e74 0a6d 6169 )..implement.mai │ │ │ │ -000003f0: 6e30 2028 6172 6763 2c20 6172 6776 2920 n0 (argc, argv) │ │ │ │ -00000400: 3d0a 7b0a 2f2f 0a76 616c 2028 2920 3d0a =.{.//.val () =. │ │ │ │ -00000410: 7072 6572 726c 6e21 0a20 2028 2248 656c prerrln!. ("Hel │ │ │ │ -00000420: 6c6f 2066 726f 6d20 5b70 6174 736f 6c76 lo from [patsolv │ │ │ │ -00000430: 655f 736d 7432 5d21 2229 0a2f 2f0a 7661 e_smt2]!").//.va │ │ │ │ -00000440: 6c20 2829 203d 2074 6865 5f73 3263 696e l () = the_s2cin │ │ │ │ -00000450: 7465 7270 5f69 6e69 7469 7a65 2829 0a2f terp_initize()./ │ │ │ │ -00000460: 2f0a 7661 6c0a 6172 676c 7374 203d 0a70 /.val.arglst =.p │ │ │ │ -00000470: 6174 736f 6c76 655f 736d 7432 5f63 6d64 atsolve_smt2_cmd │ │ │ │ -00000480: 6c69 6e65 2028 6172 6763 2c20 6172 6776 line (argc, argv │ │ │ │ -00000490: 290a 2f2f 0a2f 2f20 4858 3a20 736b 6970 ).//.// HX: skip │ │ │ │ -000004a0: 7069 6e67 2061 7267 765b 305d 0a2f 2f0a ping argv[0].//. │ │ │ │ -000004b0: 7661 6c2d 7e6c 6973 745f 7674 5f63 6f6e val-~list_vt_con │ │ │ │ -000004c0: 7328 5f2c 2061 7267 6c73 7429 203d 2061 s(_, arglst) = a │ │ │ │ -000004d0: 7267 6c73 740a 2f2f 0a76 616c 2028 2920 rglst.//.val () │ │ │ │ -000004e0: 3d20 7061 7473 6f6c 7665 5f73 6d74 325f = patsolve_smt2_ │ │ │ │ -000004f0: 636f 6d6d 6172 676c 7374 2861 7267 6c73 commarglst(argls │ │ │ │ -00000500: 7429 0a2f 2f0a 7d20 282a 2065 6e64 206f t).//.} (* end o │ │ │ │ -00000510: 6620 5b6d 6169 6e5d 202a 290a 0a28 2a20 f [main] *)..(* │ │ │ │ -00000520: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000530: 0a0a 282a 2065 6e64 206f 6620 5b70 6174 ..(* end of [pat │ │ │ │ -00000540: 736f 6c76 655f 736d 7432 5f6d 6169 6e2e solve_smt2_main. │ │ │ │ -00000550: 6461 7473 5d20 2a29 0a dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats │ │ │ │ @@ -1,55 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho │ │ │ │ -00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.** │ │ │ │ -00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm │ │ │ │ -000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco │ │ │ │ -000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time: │ │ │ │ -000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.* │ │ │ │ -000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia │ │ │ │ -000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho │ │ │ │ -000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA │ │ │ │ -00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** │ │ │ │ -00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some │ │ │ │ -00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.// │ │ │ │ -00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** * │ │ │ │ -00000140: 2a2a 2a2a 2a20 2a29 0a0a 2364 6566 696e ***** *)..#defin │ │ │ │ -00000150: 6520 4154 535f 4459 4e4c 4f41 4446 4c41 e ATS_DYNLOADFLA │ │ │ │ -00000160: 4720 300a 0a28 2a20 2a2a 2a2a 2a2a 202a G 0..(* ****** * │ │ │ │ -00000170: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc │ │ │ │ -00000180: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude."share/atsp │ │ │ │ -00000190: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats" │ │ │ │ -000001a0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -000001b0: 2a2a 2a2a 202a 290a 2f2f 0a23 6465 6669 **** *).//.#defi │ │ │ │ -000001c0: 6e65 0a4c 4942 4a53 4f4e 435f 7461 7267 ne.LIBJSONC_targ │ │ │ │ -000001d0: 6574 6c6f 630a 225c 0a24 5041 5453 484f etloc."\.$PATSHO │ │ │ │ -000001e0: 4d45 2f63 6f6e 7472 6962 5c0a 2f61 7473 ME/contrib\./ats │ │ │ │ -000001f0: 636e 7472 622f 6174 7363 6e74 7262 2d68 cntrb/atscntrb-h │ │ │ │ -00000200: 782d 6c69 626a 736f 6e2d 6322 0a2f 2f0a x-libjson-c".//. │ │ │ │ -00000210: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000220: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload. │ │ │ │ -00000230: 227b 244c 4942 4a53 4f4e 437d 2f44 4154 "{$LIBJSONC}/DAT │ │ │ │ -00000240: 532f 6a73 6f6e 2e64 6174 7322 0a2f 2f0a S/json.dats".//. │ │ │ │ -00000250: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000260: 202a 290a 2f2f 0a6c 6f63 616c 0a23 696e *).//.local.#in │ │ │ │ -00000270: 636c 7564 650a 2270 7265 6c75 6465 2f44 clude."prelude/D │ │ │ │ -00000280: 4154 532f 6669 6c65 6261 732e 6461 7473 ATS/filebas.dats │ │ │ │ -00000290: 220a 696e 2028 2a6e 6f74 6869 6e67 2a29 ".in (*nothing*) │ │ │ │ -000002a0: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [ │ │ │ │ -000002b0: 6c6f 6361 6c5d 0a2f 2f0a 282a 202a 2a2a local].//.(* *** │ │ │ │ -000002c0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000002d0: 0a6c 6f63 616c 0a23 696e 636c 7564 650a .local.#include. │ │ │ │ -000002e0: 227b 244c 4942 4a53 4f4e 437d 2f44 4154 "{$LIBJSONC}/DAT │ │ │ │ -000002f0: 532f 6a73 6f6e 5f4d 4c2e 6461 7473 220a S/json_ML.dats". │ │ │ │ -00000300: 696e 2028 2a6e 6f74 6869 6e67 2a29 2065 in (*nothing*) e │ │ │ │ -00000310: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo │ │ │ │ -00000320: 6361 6c5d 0a2f 2f0a 282a 202a 2a2a 2a2a cal].//.(* ***** │ │ │ │ -00000330: 2a20 2a2a 2a2a 2a2a 202a 290a 0a28 2a20 * ****** *)..(* │ │ │ │ -00000340: 656e 6420 6f66 205b 7061 7473 6f6c 7665 end of [patsolve │ │ │ │ -00000350: 5f73 6d74 325f 6d79 6c69 622e 6461 7473 _smt2_mylib.dats │ │ │ │ -00000360: 5d20 2a29 0a ] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats │ │ │ │ @@ -1,595 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2a 2a20 4175 7468 6f72 3a20 ..(*.** Author: │ │ │ │ -00000080: 486f 6e67 7765 6920 5869 0a2a 2a20 4175 Hongwei Xi.** Au │ │ │ │ -00000090: 7468 6f72 656d 6169 6c3a 2067 6d68 7778 thoremail: gmhwx │ │ │ │ -000000a0: 6941 5467 6d61 696c 444f 5463 6f6d 0a2a iATgmailDOTcom.* │ │ │ │ -000000b0: 2a20 5374 6172 7420 7469 6d65 3a20 4a75 * Start time: Ju │ │ │ │ -000000c0: 6e65 2c20 3230 3135 0a2a 290a 0a28 2a20 ne, 2015.*)..(* │ │ │ │ -000000d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -000000e0: 0a2f 2f0a 2369 6e63 6c75 6465 0a22 7368 .//.#include."sh │ │ │ │ -000000f0: 6172 652f 6174 7370 7265 5f64 6566 696e are/atspre_defin │ │ │ │ -00000100: 652e 6861 7473 220a 2369 6e63 6c75 6465 e.hats".#include │ │ │ │ -00000110: 0a22 7368 6172 652f 6174 7370 7265 5f73 ."share/atspre_s │ │ │ │ -00000120: 7461 6c6f 6164 2e68 6174 7322 0a2f 2f0a taload.hats".//. │ │ │ │ -00000130: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000140: 202a 290a 2f2f 0a73 7461 6c6f 6164 0a55 *).//.staload.U │ │ │ │ -00000150: 4e20 3d20 2270 7265 6c75 6465 2f53 4154 N = "prelude/SAT │ │ │ │ -00000160: 532f 756e 7361 6665 2e73 6174 7322 0a2f S/unsafe.sats"./ │ │ │ │ -00000170: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000180: 2a2a 202a 290a 2f2f 0a23 6465 6669 6e65 ** *).//.#define │ │ │ │ -00000190: 0a50 4154 534f 4c56 455f 7461 7267 6574 .PATSOLVE_target │ │ │ │ -000001a0: 6c6f 6320 222e 2f2e 2e2f 4154 532d 6578 loc "./../ATS-ex │ │ │ │ -000001b0: 7473 6f6c 7665 220a 2f2f 0a28 2a20 2a2a tsolve".//.(* ** │ │ │ │ -000001c0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -000001d0: 2f0a 2373 7461 6c6f 6164 0a22 7b24 5041 /.#staload."{$PA │ │ │ │ -000001e0: 5453 4f4c 5645 7d2f 5341 5453 2f70 6174 TSOLVE}/SATS/pat │ │ │ │ -000001f0: 736f 6c76 655f 636e 7374 726e 742e 7361 solve_cnstrnt.sa │ │ │ │ -00000200: 7473 220a 2373 7461 6c6f 6164 0a22 7b24 ts".#staload."{$ │ │ │ │ -00000210: 5041 5453 4f4c 5645 7d2f 5341 5453 2f70 PATSOLVE}/SATS/p │ │ │ │ -00000220: 6174 736f 6c76 655f 7061 7273 696e 672e atsolve_parsing. │ │ │ │ -00000230: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats".//.(* **** │ │ │ │ -00000240: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00000250: 2373 7461 6c6f 6164 0a22 2e2f 2e2e 2f53 #staload."./../S │ │ │ │ -00000260: 4154 532f 7061 7473 6f6c 7665 5f73 6d74 ATS/patsolve_smt │ │ │ │ -00000270: 325f 636f 6d6d 6172 672e 7361 7473 220a 2_commarg.sats". │ │ │ │ -00000280: 2373 7461 6c6f 6164 0a22 2e2f 2e2e 2f53 #staload."./../S │ │ │ │ -00000290: 4154 532f 7061 7473 6f6c 7665 5f73 6d74 ATS/patsolve_smt │ │ │ │ -000002a0: 325f 736f 6c76 696e 672e 7361 7473 220a 2_solving.sats". │ │ │ │ -000002b0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -000002c0: 2a2a 2a20 2a29 0a2f 2f0a 696d 706c 656d *** *).//.implem │ │ │ │ -000002d0: 656e 740a 6670 7269 6e74 5f76 616c 3c73 ent.fprint_val = fprint_s │ │ │ │ -000002f0: 3263 7374 0a69 6d70 6c65 6d65 6e74 0a66 2cst.implement.f │ │ │ │ -00000300: 7072 696e 745f 7661 6c3c 7332 7661 723e print_val │ │ │ │ -00000310: 203d 2066 7072 696e 745f 7332 7661 720a = fprint_s2var. │ │ │ │ -00000320: 696d 706c 656d 656e 740a 6670 7269 6e74 implement.fprint │ │ │ │ -00000330: 5f76 616c 3c73 3256 6172 3e20 3d20 6670 _val = fp │ │ │ │ -00000340: 7269 6e74 5f73 3256 6172 0a69 6d70 6c65 rint_s2Var.imple │ │ │ │ -00000350: 6d65 6e74 0a66 7072 696e 745f 7661 6c3c ment.fprint_val< │ │ │ │ -00000360: 7332 6578 703e 203d 2066 7072 696e 745f s2exp> = fprint_ │ │ │ │ -00000370: 7332 6578 700a 696d 706c 656d 656e 740a s2exp.implement. │ │ │ │ -00000380: 6670 7269 6e74 5f76 616c 3c73 3369 746d fprint_val = fprint_s3itm │ │ │ │ -000003a0: 0a2f 2f0a 696d 706c 656d 656e 740a 6670 .//.implement.fp │ │ │ │ -000003b0: 7269 6e74 5f76 616c 3c66 6f72 6d3e 203d rint_val
= │ │ │ │ -000003c0: 2066 7072 696e 745f 666f 726d 0a69 6d70 fprint_form.imp │ │ │ │ -000003d0: 6c65 6d65 6e74 0a66 7072 696e 745f 7661 lement.fprint_va │ │ │ │ -000003e0: 6c3c 736f 6c76 6572 636d 643e 203d 2066 l = f │ │ │ │ -000003f0: 7072 696e 745f 736f 6c76 6572 636d 640a print_solvercmd. │ │ │ │ -00000400: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000410: 2a2a 2a20 2a29 0a2f 2f0a 696d 706c 656d *** *).//.implem │ │ │ │ -00000420: 656e 740a 7072 696e 745f 736f 6c76 6572 ent.print_solver │ │ │ │ -00000430: 636d 6428 7830 2920 3d0a 2020 6670 7269 cmd(x0) =. fpri │ │ │ │ -00000440: 6e74 5f73 6f6c 7665 7263 6d64 2873 7464 nt_solvercmd(std │ │ │ │ -00000450: 6f75 745f 7265 662c 2078 3029 0a69 6d70 out_ref, x0).imp │ │ │ │ -00000460: 6c65 6d65 6e74 0a70 7265 7272 5f73 6f6c lement.prerr_sol │ │ │ │ -00000470: 7665 7263 6d64 2878 3029 203d 0a20 2066 vercmd(x0) =. f │ │ │ │ -00000480: 7072 696e 745f 736f 6c76 6572 636d 6428 print_solvercmd( │ │ │ │ -00000490: 7374 6465 7272 5f72 6566 2c20 7830 290a stderr_ref, x0). │ │ │ │ -000004a0: 2f2f 0a69 6d70 6c65 6d65 6e74 0a66 7072 //.implement.fpr │ │ │ │ -000004b0: 696e 745f 736f 6c76 6572 636d 640a 2020 int_solvercmd. │ │ │ │ -000004c0: 286f 7574 2c20 7830 2920 3d20 280a 2f2f (out, x0) = (.// │ │ │ │ -000004d0: 0a63 6173 652b 2078 3020 6f66 0a7c 2053 .case+ x0 of.| S │ │ │ │ -000004e0: 4f4c 5645 5243 4d44 706f 7028 2920 3d3e OLVERCMDpop() => │ │ │ │ -000004f0: 0a20 2020 2066 7072 696e 7421 2028 6f75 . fprint! (ou │ │ │ │ -00000500: 742c 2022 534f 4c56 4552 434d 4470 6f70 t, "SOLVERCMDpop │ │ │ │ -00000510: 2829 2229 0a7c 2053 4f4c 5645 5243 4d44 ()").| SOLVERCMD │ │ │ │ -00000520: 7075 7368 2829 203d 3e0a 2020 2020 6670 push() =>. fp │ │ │ │ -00000530: 7269 6e74 2120 286f 7574 2c20 2253 4f4c rint! (out, "SOL │ │ │ │ -00000540: 5645 5243 4d44 7075 7368 2829 2229 0a2f VERCMDpush()")./ │ │ │ │ -00000550: 2f0a 7c20 534f 4c56 4552 434d 4461 7373 /.| SOLVERCMDass │ │ │ │ -00000560: 6572 7428 666d 6c29 203d 3e0a 2020 2020 ert(fml) =>. │ │ │ │ -00000570: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, "S │ │ │ │ -00000580: 4f4c 5645 5243 4d44 6173 7365 7274 2822 OLVERCMDassert(" │ │ │ │ -00000590: 2c20 666d 6c2c 2022 2922 290a 7c20 534f , fml, ")").| SO │ │ │ │ -000005a0: 4c56 4552 434d 4463 6865 636b 7361 7428 LVERCMDchecksat( │ │ │ │ -000005b0: 2920 3d3e 0a20 2020 2066 7072 696e 7421 ) =>. fprint! │ │ │ │ -000005c0: 2028 6f75 742c 2022 534f 4c56 4552 434d (out, "SOLVERCM │ │ │ │ -000005d0: 4463 6865 636b 7361 7428 2922 290a 2f2f Dchecksat()").// │ │ │ │ -000005e0: 0a7c 2053 4f4c 5645 5243 4d44 6563 686f .| SOLVERCMDecho │ │ │ │ -000005f0: 6c6f 6328 6c6f 6329 203d 3e0a 2020 2020 loc(loc) =>. │ │ │ │ -00000600: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, "S │ │ │ │ -00000610: 4f4c 5645 5243 4d44 6563 686f 6c6f 6328 OLVERCMDecholoc( │ │ │ │ -00000620: 222c 206c 6f63 2c20 2229 2229 0a2f 2f0a ", loc, ")").//. │ │ │ │ -00000630: 7c20 534f 4c56 4552 434d 4470 6f70 656e | SOLVERCMDpopen │ │ │ │ -00000640: 7628 7332 7673 2920 3d3e 0a20 2020 2066 v(s2vs) =>. f │ │ │ │ -00000650: 7072 696e 7421 2028 6f75 742c 2022 534f print! (out, "SO │ │ │ │ -00000660: 4c56 4552 434d 4470 6f70 656e 7628 222c LVERCMDpopenv(", │ │ │ │ -00000670: 2073 3276 732c 2022 2922 290a 7c20 534f s2vs, ")").| SO │ │ │ │ -00000680: 4c56 4552 434d 4470 7573 6865 6e76 2828 LVERCMDpushenv(( │ │ │ │ -00000690: 2a76 6f69 642a 2929 203d 3e0a 2020 2020 *void*)) =>. │ │ │ │ -000006a0: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, "S │ │ │ │ -000006b0: 4f4c 5645 5243 4d44 7075 7368 656e 7628 OLVERCMDpushenv( │ │ │ │ -000006c0: 2922 290a 2f2f 0a7c 2053 4f4c 5645 5243 )").//.| SOLVERC │ │ │ │ -000006d0: 4d44 706f 7065 6e76 3228 2920 3d3e 0a20 MDpopenv2() =>. │ │ │ │ -000006e0: 2020 2066 7072 696e 7421 2028 6f75 742c fprint! (out, │ │ │ │ -000006f0: 2022 534f 4c56 4552 434d 4470 6f70 656e "SOLVERCMDpopen │ │ │ │ -00000700: 7632 2829 2229 0a7c 2053 4f4c 5645 5243 v2()").| SOLVERC │ │ │ │ -00000710: 4d44 7075 7368 656e 7632 2873 3276 7329 MDpushenv2(s2vs) │ │ │ │ -00000720: 203d 3e0a 2020 2020 6670 7269 6e74 2120 =>. fprint! │ │ │ │ -00000730: 286f 7574 2c20 2253 4f4c 5645 5243 4d44 (out, "SOLVERCMD │ │ │ │ -00000740: 7075 7368 656e 7632 2822 2c20 7332 7673 pushenv2(", s2vs │ │ │ │ -00000750: 2c20 2229 2229 0a2f 2f0a 2920 282a 2065 , ")").//.) (* e │ │ │ │ -00000760: 6e64 206f 6620 5b66 7072 696e 745f 736f nd of [fprint_so │ │ │ │ -00000770: 6c76 6572 636d 645d 202a 290a 2f2f 0a28 lvercmd] *).//.( │ │ │ │ -00000780: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000790: 2a29 0a0a 696d 706c 656d 656e 740a 736f *)..implement.so │ │ │ │ -000007a0: 6c76 6572 636d 646c 7374 5f72 6576 6572 lvercmdlst_rever │ │ │ │ -000007b0: 7365 0a20 2028 7873 2920 3d20 6c65 740a se. (xs) = let. │ │ │ │ -000007c0: 2f2f 0a76 7479 7065 6465 6620 7873 203d //.vtypedef xs = │ │ │ │ -000007d0: 204c 6973 745f 7674 2873 6f6c 7665 7263 List_vt(solverc │ │ │ │ -000007e0: 6d64 290a 7674 7970 6564 6566 2079 7320 md).vtypedef ys │ │ │ │ -000007f0: 3d20 4c69 7374 305f 7674 2873 6f6c 7665 = List0_vt(solve │ │ │ │ -00000800: 7263 6d64 290a 7674 7970 6564 6566 2072 rcmd).vtypedef r │ │ │ │ -00000810: 6573 203d 204c 6973 7430 5f76 7428 736f es = List0_vt(so │ │ │ │ -00000820: 6c76 6572 636d 6429 0a2f 2f0a 6675 6e0a lvercmd).//.fun. │ │ │ │ -00000830: 6c6f 6f70 0a28 0a20 2078 733a 2078 732c loop.(. xs: xs, │ │ │ │ -00000840: 2079 733a 2079 732c 2072 6573 3a20 7265 ys: ys, res: re │ │ │ │ -00000850: 730a 2920 3a20 7265 7320 3d20 280a 2f2f s.) : res = (.// │ │ │ │ -00000860: 0a63 6173 652b 2078 7320 6f66 0a7c 207e .case+ xs of.| ~ │ │ │ │ -00000870: 6c69 7374 5f76 745f 6e69 6c28 2920 3d3e list_vt_nil() => │ │ │ │ -00000880: 206c 6574 0a20 2020 2076 616c 2028 2920 let. val () │ │ │ │ -00000890: 3d20 6c69 7374 5f76 745f 6672 6565 2879 = list_vt_free(y │ │ │ │ -000008a0: 7329 2069 6e20 7265 730a 2020 656e 6420 s) in res. end │ │ │ │ -000008b0: 2f2f 2065 6e64 206f 6620 5b6c 6973 745f // end of [list_ │ │ │ │ -000008c0: 7674 5f6e 696c 5d0a 7c20 7e6c 6973 745f vt_nil].| ~list_ │ │ │ │ -000008d0: 7674 5f63 6f6e 7328 782c 2078 7329 203d vt_cons(x, xs) = │ │ │ │ -000008e0: 3e0a 2020 280a 2020 2020 6361 7365 2b20 >. (. case+ │ │ │ │ -000008f0: 7820 6f66 0a20 2020 207c 2053 4f4c 5645 x of. | SOLVE │ │ │ │ -00000900: 5243 4d44 706f 7065 6e76 205f 203d 3e20 RCMDpopenv _ => │ │ │ │ -00000910: 6c65 740a 2020 2020 2020 2020 7661 6c20 let. val │ │ │ │ -00000920: 7973 203d 206c 6973 745f 7674 5f63 6f6e ys = list_vt_con │ │ │ │ -00000930: 7328 782c 2079 7329 0a20 2020 2020 2020 s(x, ys). │ │ │ │ -00000940: 2076 616c 2072 6573 203d 206c 6973 745f val res = list_ │ │ │ │ -00000950: 7674 5f63 6f6e 7328 534f 4c56 4552 434d vt_cons(SOLVERCM │ │ │ │ -00000960: 4470 6f70 656e 7632 2829 2c20 7265 7329 Dpopenv2(), res) │ │ │ │ -00000970: 0a20 2020 2020 2069 6e0a 2020 2020 2020 . in. │ │ │ │ -00000980: 2020 6c6f 6f70 2878 732c 2079 732c 2072 loop(xs, ys, r │ │ │ │ -00000990: 6573 290a 2020 2020 2020 656e 6420 2f2f es). end // │ │ │ │ -000009a0: 2065 6e64 206f 6620 5b53 4f4c 5645 5243 end of [SOLVERC │ │ │ │ -000009b0: 4d44 706f 7065 6e76 5d0a 2020 2020 7c20 MDpopenv]. | │ │ │ │ -000009c0: 534f 4c56 4552 434d 4470 7573 6865 6e76 SOLVERCMDpushenv │ │ │ │ -000009d0: 205f 203d 3e20 6c65 740a 2020 2020 2020 _ => let. │ │ │ │ -000009e0: 2020 7661 6c2d 7e6c 6973 745f 7674 5f63 val-~list_vt_c │ │ │ │ -000009f0: 6f6e 7328 792c 2079 7329 203d 2079 730a ons(y, ys) = ys. │ │ │ │ -00000a00: 2020 2020 2020 2020 7661 6c2d 2053 4f4c val- SOL │ │ │ │ -00000a10: 5645 5243 4d44 706f 7065 6e76 2873 3276 VERCMDpopenv(s2v │ │ │ │ -00000a20: 7329 203d 2079 0a20 2020 2020 2020 2076 s) = y. v │ │ │ │ -00000a30: 616c 2072 6573 203d 206c 6973 745f 7674 al res = list_vt │ │ │ │ -00000a40: 5f63 6f6e 7328 534f 4c56 4552 434d 4470 _cons(SOLVERCMDp │ │ │ │ -00000a50: 7573 6865 6e76 3228 7332 7673 292c 2072 ushenv2(s2vs), r │ │ │ │ -00000a60: 6573 290a 2020 2020 2020 696e 0a20 2020 es). in. │ │ │ │ -00000a70: 2020 2020 206c 6f6f 7028 7873 2c20 7973 loop(xs, ys │ │ │ │ -00000a80: 2c20 7265 7329 0a20 2020 2020 2065 6e64 , res). end │ │ │ │ -00000a90: 202f 2f20 656e 6420 6f66 205b 534f 4c56 // end of [SOLV │ │ │ │ -00000aa0: 4552 434d 4470 7573 6865 6e76 5d0a 2020 ERCMDpushenv]. │ │ │ │ -00000ab0: 2020 7c20 5f28 2a72 6573 742d 6f66 2d73 | _(*rest-of-s │ │ │ │ -00000ac0: 6f6c 7665 7263 6d64 2a29 203d 3e20 6c6f olvercmd*) => lo │ │ │ │ -00000ad0: 6f70 2878 732c 2079 732c 206c 6973 745f op(xs, ys, list_ │ │ │ │ -00000ae0: 7674 5f63 6f6e 7328 782c 2072 6573 2929 vt_cons(x, res)) │ │ │ │ -00000af0: 0a20 2029 0a2f 2f0a 2920 282a 2065 6e64 . ).//.) (* end │ │ │ │ -00000b00: 206f 6620 5b6c 6f6f 705d 202a 290a 2f2f of [loop] *).// │ │ │ │ -00000b10: 0a69 6e0a 2020 6c6f 6f70 2878 732c 206c .in. loop(xs, l │ │ │ │ -00000b20: 6973 745f 7674 5f6e 696c 2829 2c20 6c69 ist_vt_nil(), li │ │ │ │ -00000b30: 7374 5f76 745f 6e69 6c28 2929 0a65 6e64 st_vt_nil()).end │ │ │ │ -00000b40: 202f 2f20 656e 6420 6f66 205b 736f 6c76 // end of [solv │ │ │ │ -00000b50: 6572 636d 646c 7374 5f72 6576 6572 7365 ercmdlst_reverse │ │ │ │ -00000b60: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** *** │ │ │ │ -00000b70: 2a2a 2a20 2a29 0a2f 2f0a 6578 7465 726e *** *).//.extern │ │ │ │ -00000b80: 0a66 756e 0a63 336e 7374 725f 736f 6c76 .fun.c3nstr_solv │ │ │ │ -00000b90: 655f 6d61 696e 200a 2020 2865 6e76 3a20 e_main . (env: │ │ │ │ -00000ba0: 2173 6d74 656e 762c 2063 3374 3a20 6333 !smtenv, c3t: c3 │ │ │ │ -00000bb0: 6e73 7472 293a 2076 6f69 640a 2f2f 0a28 nstr): void.//.( │ │ │ │ -00000bc0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000bd0: 2a29 0a2f 2f0a 6578 7465 726e 0a66 756e *).//.extern.fun │ │ │ │ -00000be0: 0a63 336e 7374 725f 736f 6c76 655f 6572 .c3nstr_solve_er │ │ │ │ -00000bf0: 726d 7367 0a20 2028 6333 743a 2063 336e rmsg. (c3t: c3n │ │ │ │ -00000c00: 7374 722c 2075 6e73 6f6c 7665 643a 2075 str, unsolved: u │ │ │ │ -00000c10: 696e 7429 3a20 696e 740a 2f2f 0a69 6d70 int): int.//.imp │ │ │ │ -00000c20: 6c65 6d65 6e74 200a 6333 6e73 7472 5f73 lement .c3nstr_s │ │ │ │ -00000c30: 6f6c 7665 5f65 7272 6d73 670a 2020 2863 olve_errmsg. (c │ │ │ │ -00000c40: 3374 2c20 756e 736f 6c76 6564 2920 3d20 3t, unsolved) = │ │ │ │ -00000c50: 3020 7768 6572 650a 7b0a 2f2f 0a76 616c 0 where.{.//.val │ │ │ │ -00000c60: 2028 2920 3d20 280a 2f2f 0a69 660a 756e () = (.//.if.un │ │ │ │ -00000c70: 736f 6c76 6564 203d 2030 750a 7468 656e solved = 0u.then │ │ │ │ -00000c80: 206c 6574 0a20 2076 616c 206f 7574 203d let. val out = │ │ │ │ -00000c90: 2073 7464 6572 725f 7265 660a 2020 7661 stderr_ref. va │ │ │ │ -00000ca0: 6c20 6c6f 6320 3d20 6333 742e 6333 6e73 l loc = c3t.c3ns │ │ │ │ -00000cb0: 7472 5f6c 6f63 0a20 2076 616c 2063 3374 tr_loc. val c3t │ │ │ │ -00000cc0: 6b20 3d20 6333 742e 6333 6e73 7472 5f6b k = c3t.c3nstr_k │ │ │ │ -00000cd0: 696e 640a 696e 0a2f 2f0a 6361 7365 2b20 ind.in.//.case+ │ │ │ │ -00000ce0: 6333 746b 206f 660a 7c20 4333 544b 6d61 c3tk of.| C3TKma │ │ │ │ -00000cf0: 696e 2829 203d 3e0a 2020 280a 2020 2020 in() =>. (. │ │ │ │ -00000d00: 6670 7269 6e74 6c6e 2120 286f 7574 2c20 fprintln! (out, │ │ │ │ -00000d10: 2255 6e73 6f6c 7665 6443 6f6e 7374 7261 "UnsolvedConstra │ │ │ │ -00000d20: 696e 7428 6d61 696e 2940 222c 206c 6f63 int(main)@", loc │ │ │ │ -00000d30: 2c20 223a 222c 2063 3374 290a 2020 290a , ":", c3t). ). │ │ │ │ -00000d40: 7c20 4333 544b 7465 726d 6574 5f69 736e | C3TKtermet_isn │ │ │ │ -00000d50: 6174 2829 203d 3e0a 2020 280a 2020 2020 at() =>. (. │ │ │ │ -00000d60: 6670 7269 6e74 6c6e 2120 286f 7574 2c20 fprintln! (out, │ │ │ │ -00000d70: 2255 6e73 6f6c 7665 6443 6f6e 7374 7261 "UnsolvedConstra │ │ │ │ -00000d80: 696e 7428 7465 726d 6574 5f69 736e 6174 int(termet_isnat │ │ │ │ -00000d90: 2940 222c 206c 6f63 2c20 223a 222c 2063 )@", loc, ":", c │ │ │ │ -00000da0: 3374 290a 2020 290a 7c20 4333 544b 7465 3t). ).| C3TKte │ │ │ │ -00000db0: 726d 6574 5f69 7364 6563 2829 203d 3e0a rmet_isdec() =>. │ │ │ │ -00000dc0: 2020 280a 2020 2020 6670 7269 6e74 6c6e (. fprintln │ │ │ │ -00000dd0: 2120 286f 7574 2c20 2255 6e73 6f6c 7665 ! (out, "Unsolve │ │ │ │ -00000de0: 6443 6f6e 7374 7261 696e 7428 7465 726d dConstraint(term │ │ │ │ -00000df0: 6574 5f69 7364 6563 2940 222c 206c 6f63 et_isdec)@", loc │ │ │ │ -00000e00: 2c20 223a 222c 2063 3374 290a 2020 290a , ":", c3t). ). │ │ │ │ -00000e10: 7c20 5f28 2a72 6573 742d 6f66 2d43 3354 | _(*rest-of-C3T │ │ │ │ -00000e20: 4b2a 2920 3d3e 0a20 2028 0a20 2020 2066 K*) =>. (. f │ │ │ │ -00000e30: 7072 696e 746c 6e21 2028 6f75 742c 2022 println! (out, " │ │ │ │ -00000e40: 556e 736f 6c76 6564 436f 6e73 7472 6169 UnsolvedConstrai │ │ │ │ -00000e50: 6e74 2875 6e63 6c61 7373 6966 6965 6429 nt(unclassified) │ │ │ │ -00000e60: 4022 2c20 6c6f 632c 2022 3a22 2c20 6333 @", loc, ":", c3 │ │ │ │ -00000e70: 7429 0a20 2029 0a2f 2f0a 656e 6420 2f2f t). ).//.end // │ │ │ │ -00000e80: 2065 6e64 206f 6620 5b74 6865 6e5d 0a2f end of [then]./ │ │ │ │ -00000e90: 2f0a 2920 282a 2065 6e64 206f 6620 5b76 /.) (* end of [v │ │ │ │ -00000ea0: 616c 5d20 2a29 0a2f 2f0a 7d20 282a 2065 al] *).//.} (* e │ │ │ │ -00000eb0: 6e64 206f 6620 5b63 336e 7374 725f 736f nd of [c3nstr_so │ │ │ │ -00000ec0: 6c76 655f 6572 726d 7367 5d20 2a29 0a2f lve_errmsg] *)./ │ │ │ │ -00000ed0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000ee0: 2a2a 202a 290a 0a65 7874 6572 6e0a 6675 ** *)..extern.fu │ │ │ │ -00000ef0: 6e0a 6333 6e73 7472 5f73 6f6c 7665 5f70 n.c3nstr_solve_p │ │ │ │ -00000f00: 726f 700a 280a 2020 656e 763a 2021 736d rop.(. env: !sm │ │ │ │ -00000f10: 7465 6e76 2c20 6c6f 6330 3a20 6c6f 635f tenv, loc0: loc_ │ │ │ │ -00000f20: 742c 2073 3270 3a20 7332 6578 700a 2920 t, s2p: s2exp.) │ │ │ │ -00000f30: 3a20 766f 6964 202f 2f20 656e 642d 6f66 : void // end-of │ │ │ │ -00000f40: 2d66 756e 6374 696f 6e0a 0a28 2a20 2a2a -function..(* ** │ │ │ │ -00000f50: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -00000f60: 6578 7465 726e 0a66 756e 0a63 336e 7374 extern.fun.c3nst │ │ │ │ -00000f70: 725f 736f 6c76 655f 6974 6d6c 7374 0a28 r_solve_itmlst.( │ │ │ │ -00000f80: 0a20 2065 6e76 3a20 2173 6d74 656e 762c . env: !smtenv, │ │ │ │ -00000f90: 206c 6f63 303a 206c 6f63 5f74 2c20 7333 loc0: loc_t, s3 │ │ │ │ -00000fa0: 6973 3a20 7333 6974 6d6c 7374 0a29 203a is: s3itmlst.) : │ │ │ │ -00000fb0: 2076 6f69 6420 2f2f 2065 6e64 2d6f 662d void // end-of- │ │ │ │ -00000fc0: 6675 6e63 7469 6f6e 0a0a 282a 202a 2a2a function..(* *** │ │ │ │ -00000fd0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a65 *** ****** *)..e │ │ │ │ -00000fe0: 7874 6572 6e0a 6675 6e0a 6333 6e73 7472 xtern.fun.c3nstr │ │ │ │ -00000ff0: 5f73 6f6c 7665 5f69 746d 6c73 745f 636e _solve_itmlst_cn │ │ │ │ -00001000: 7374 720a 280a 2020 656e 763a 2021 736d str.(. env: !sm │ │ │ │ -00001010: 7465 6e76 0a2c 206c 6f63 303a 206c 6f63 tenv., loc0: loc │ │ │ │ -00001020: 5f74 2c20 7333 6973 3a20 7333 6974 6d6c _t, s3is: s3itml │ │ │ │ -00001030: 7374 2c20 6333 743a 2063 336e 7374 720a st, c3t: c3nstr. │ │ │ │ -00001040: 2920 3a20 766f 6964 202f 2f20 656e 642d ) : void // end- │ │ │ │ -00001050: 6f66 2d66 756e 6374 696f 6e0a 0a28 2a20 of-function..(* │ │ │ │ -00001060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00001070: 0a0a 6578 7465 726e 0a66 756e 0a63 336e ..extern.fun.c3n │ │ │ │ -00001080: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst │ │ │ │ -00001090: 5f64 6973 6a0a 280a 2020 656e 763a 2021 _disj.(. env: ! │ │ │ │ -000010a0: 736d 7465 6e76 0a2c 206c 6f63 303a 206c smtenv., loc0: l │ │ │ │ -000010b0: 6f63 5f74 2c20 7333 6973 3a20 7333 6974 oc_t, s3is: s3it │ │ │ │ -000010c0: 6d6c 7374 2c20 7333 6973 733a 2073 3369 mlst, s3iss: s3i │ │ │ │ -000010d0: 746d 6c73 746c 7374 0a29 203a 2076 6f69 tmlstlst.) : voi │ │ │ │ -000010e0: 6420 2f2f 2065 6e64 2d6f 662d 6675 6e63 d // end-of-func │ │ │ │ -000010f0: 7469 6f6e 0a0a 282a 202a 2a2a 2a2a 2a20 tion..(* ****** │ │ │ │ -00001100: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a65 7874 ****** *).//.ext │ │ │ │ -00001110: 6572 6e0a 6675 6e0a 6333 6e73 7472 5f73 ern.fun.c3nstr_s │ │ │ │ -00001120: 6f6c 7665 5f73 6f6c 7665 7269 6679 0a20 olve_solverify. │ │ │ │ -00001130: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, │ │ │ │ -00001140: 6c6f 6330 3a20 6c6f 635f 742c 2073 3265 loc0: loc_t, s2e │ │ │ │ -00001150: 5f70 726f 703a 2073 3265 7870 293a 2076 _prop: s2exp): v │ │ │ │ -00001160: 6f69 640a 2f2f 0a28 2a20 2a2a 2a2a 2a2a oid.//.(* ****** │ │ │ │ -00001170: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl │ │ │ │ -00001180: 656d 656e 740a 6333 6e73 7472 5f73 6f6c ement.c3nstr_sol │ │ │ │ -00001190: 7665 5f70 726f 700a 280a 2020 656e 762c ve_prop.(. env, │ │ │ │ -000011a0: 206c 6f63 302c 2073 3270 300a 2920 3d20 loc0, s2p0.) = │ │ │ │ -000011b0: 6c65 740a 2f2f 0a76 616c 2073 3270 3020 let.//.val s2p0 │ │ │ │ -000011c0: 3d0a 2020 666f 726d 756c 615f 6d61 6b65 =. formula_make │ │ │ │ -000011d0: 5f73 3265 7870 2028 656e 762c 2073 3270 _s2exp (env, s2p │ │ │ │ -000011e0: 3029 0a2f 2f0a 696e 0a20 2073 6d74 656e 0).//.in. smten │ │ │ │ -000011f0: 765f 736f 6c76 655f 666f 726d 756c 6120 v_solve_formula │ │ │ │ -00001200: 2865 6e76 2c20 6c6f 6330 2c20 7332 7030 (env, loc0, s2p0 │ │ │ │ -00001210: 290a 656e 6420 2f2f 2065 6e64 206f 6620 ).end // end of │ │ │ │ -00001220: 5b63 336e 7374 725f 736f 6c76 655f 7072 [c3nstr_solve_pr │ │ │ │ -00001230: 6f70 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a op]..(* ****** * │ │ │ │ -00001240: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -00001250: 656e 740a 6333 6e73 7472 5f73 6f6c 7665 ent.c3nstr_solve │ │ │ │ -00001260: 5f69 746d 6c73 740a 2020 2865 6e76 2c20 _itmlst. (env, │ │ │ │ -00001270: 6c6f 6330 2c20 7333 6973 2920 3d20 6c65 loc0, s3is) = le │ │ │ │ -00001280: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () = │ │ │ │ -00001290: 0a70 7269 6e74 6c6e 210a 2020 2822 6333 .println!. ("c3 │ │ │ │ -000012a0: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst │ │ │ │ -000012b0: 3a20 7333 6973 203d 2022 2c20 7333 6973 : s3is = ", s3is │ │ │ │ -000012c0: 290a 2a29 0a2f 2f0a 696e 0a2f 2f0a 6361 ).*).//.in.//.ca │ │ │ │ -000012d0: 7365 2b20 7333 6973 206f 660a 7c20 6c69 se+ s3is of.| li │ │ │ │ -000012e0: 7374 5f6e 696c 0a20 2020 2028 282a 766f st_nil. ((*vo │ │ │ │ -000012f0: 6964 2a29 2920 3d3e 2028 290a 2020 2f2f id*)) => (). // │ │ │ │ -00001300: 2065 6e64 206f 6620 5b6c 6973 745f 6e69 end of [list_ni │ │ │ │ -00001310: 6c5d 0a7c 206c 6973 745f 636f 6e73 0a20 l].| list_cons. │ │ │ │ -00001320: 2020 2028 7333 692c 2073 3369 7329 203d (s3i, s3is) = │ │ │ │ -00001330: 3e0a 2020 280a 2020 6361 7365 2b20 7333 >. (. case+ s3 │ │ │ │ -00001340: 6920 6f66 0a20 207c 2053 3349 544d 7376 i of. | S3ITMsv │ │ │ │ -00001350: 6172 2873 3276 2920 3d3e 206c 6574 0a20 ar(s2v) => let. │ │ │ │ -00001360: 2020 2020 2076 616c 2028 2920 3d20 736d val () = sm │ │ │ │ -00001370: 7465 6e76 5f61 6464 5f73 3276 6172 2865 tenv_add_s2var(e │ │ │ │ -00001380: 6e76 2c20 7332 7629 0a20 2020 2069 6e0a nv, s2v). in. │ │ │ │ -00001390: 2020 2020 2020 6333 6e73 7472 5f73 6f6c c3nstr_sol │ │ │ │ -000013a0: 7665 5f69 746d 6c73 7428 656e 762c 206c ve_itmlst(env, l │ │ │ │ -000013b0: 6f63 302c 2073 3369 7329 0a20 2020 2065 oc0, s3is). e │ │ │ │ -000013c0: 6e64 202f 2f20 656e 6420 6f66 205b 5333 nd // end of [S3 │ │ │ │ -000013d0: 4954 4d73 7661 725d 0a20 207c 2053 3349 ITMsvar]. | S3I │ │ │ │ -000013e0: 544d 6879 706f 2868 3370 2920 3d3e 206c TMhypo(h3p) => l │ │ │ │ -000013f0: 6574 0a20 2020 2020 2076 616c 2028 2920 et. val () │ │ │ │ -00001400: 3d20 736d 7465 6e76 5f61 6464 5f68 3379 = smtenv_add_h3y │ │ │ │ -00001410: 706f 2865 6e76 2c20 6833 7029 0a20 2020 po(env, h3p). │ │ │ │ -00001420: 2069 6e0a 2020 2020 2020 6333 6e73 7472 in. c3nstr │ │ │ │ -00001430: 5f73 6f6c 7665 5f69 746d 6c73 7428 656e _solve_itmlst(en │ │ │ │ -00001440: 762c 206c 6f63 302c 2073 3369 7329 0a20 v, loc0, s3is). │ │ │ │ -00001450: 2020 2065 6e64 202f 2f20 656e 6420 6f66 end // end of │ │ │ │ -00001460: 205b 5333 4954 4d68 7970 6f5d 0a20 207c [S3ITMhypo]. | │ │ │ │ -00001470: 2053 3349 544d 7356 6172 2873 3256 2920 S3ITMsVar(s2V) │ │ │ │ -00001480: 3d3e 0a20 2020 2020 2063 336e 7374 725f =>. c3nstr_ │ │ │ │ -00001490: 736f 6c76 655f 6974 6d6c 7374 2865 6e76 solve_itmlst(env │ │ │ │ -000014a0: 2c20 6c6f 6330 2c20 7333 6973 290a 2020 , loc0, s3is). │ │ │ │ -000014b0: 7c20 5333 4954 4d63 6e73 7472 2863 3374 | S3ITMcnstr(c3t │ │ │ │ -000014c0: 2920 3d3e 0a20 2020 2020 2063 336e 7374 ) =>. c3nst │ │ │ │ -000014d0: 725f 736f 6c76 655f 6974 6d6c 7374 5f63 r_solve_itmlst_c │ │ │ │ -000014e0: 6e73 7472 2865 6e76 2c20 6c6f 6330 2c20 nstr(env, loc0, │ │ │ │ -000014f0: 7333 6973 2c20 6333 7429 0a20 207c 2053 s3is, c3t). | S │ │ │ │ -00001500: 3349 544d 636e 7374 725f 7265 660a 2020 3ITMcnstr_ref. │ │ │ │ -00001510: 2020 2020 286c 6f63 5f72 6566 2c20 6f70 (loc_ref, op │ │ │ │ -00001520: 7429 203d 3e0a 2020 2020 280a 2020 2020 t) =>. (. │ │ │ │ -00001530: 2020 6361 7365 2b20 6f70 7420 6f66 0a20 case+ opt of. │ │ │ │ -00001540: 2020 2020 207c 204e 6f6e 6528 2920 3d3e | None() => │ │ │ │ -00001550: 2028 290a 2020 2020 2020 7c20 536f 6d65 (). | Some │ │ │ │ -00001560: 2863 3374 2920 3d3e 0a20 2020 2020 2020 (c3t) =>. │ │ │ │ -00001570: 2063 336e 7374 725f 736f 6c76 655f 6974 c3nstr_solve_it │ │ │ │ -00001580: 6d6c 7374 5f63 6e73 7472 2865 6e76 2c20 mlst_cnstr(env, │ │ │ │ -00001590: 6c6f 635f 7265 662c 2073 3369 732c 2063 loc_ref, s3is, c │ │ │ │ -000015a0: 3374 290a 2020 2020 2920 282a 2065 6e64 3t). ) (* end │ │ │ │ -000015b0: 206f 6620 5b53 3349 544d 636e 7374 725d of [S3ITMcnstr] │ │ │ │ -000015c0: 202a 290a 2020 7c20 5333 4954 4d64 6973 *). | S3ITMdis │ │ │ │ -000015d0: 6a28 7333 6973 735f 6469 736a 2920 3d3e j(s3iss_disj) => │ │ │ │ -000015e0: 0a20 2020 2028 0a20 2020 2020 2063 336e . (. c3n │ │ │ │ -000015f0: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst │ │ │ │ -00001600: 5f64 6973 6a28 656e 762c 206c 6f63 302c _disj(env, loc0, │ │ │ │ -00001610: 2073 3369 732c 2073 3369 7373 5f64 6973 s3is, s3iss_dis │ │ │ │ -00001620: 6a29 0a20 2020 2029 2028 2a20 656e 6420 j). ) (* end │ │ │ │ -00001630: 6f66 205b 5333 4954 4d64 6973 6a5d 202a of [S3ITMdisj] * │ │ │ │ -00001640: 290a 2020 7c20 5333 4954 4d73 6f6c 6173 ). | S3ITMsolas │ │ │ │ -00001650: 7365 7274 2873 3265 5f70 726f 7029 203d sert(s2e_prop) = │ │ │ │ -00001660: 3e20 6c65 740a 2020 2020 2020 7661 6c20 > let. val │ │ │ │ -00001670: 2829 203d 0a20 2020 2020 2020 2073 6d74 () =. smt │ │ │ │ -00001680: 656e 765f 6164 645f 7332 6578 7028 656e env_add_s2exp(en │ │ │ │ -00001690: 762c 2073 3265 5f70 726f 7029 0a20 2020 v, s2e_prop). │ │ │ │ -000016a0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va │ │ │ │ -000016b0: 6c5d 0a20 2020 2069 6e0a 2020 2020 2020 l]. in. │ │ │ │ -000016c0: 6333 6e73 7472 5f73 6f6c 7665 5f69 746d c3nstr_solve_itm │ │ │ │ -000016d0: 6c73 7428 656e 762c 206c 6f63 302c 2073 lst(env, loc0, s │ │ │ │ -000016e0: 3369 7329 0a20 2020 2065 6e64 202f 2f20 3is). end // │ │ │ │ -000016f0: 656e 6420 6f66 205b 5333 4954 4d73 6f6c end of [S3ITMsol │ │ │ │ -00001700: 6173 7365 7274 5d0a 2020 2920 2f2f 2065 assert]. ) // e │ │ │ │ -00001710: 6e64 206f 6620 5b6c 6973 745f 636f 6e73 nd of [list_cons │ │ │ │ -00001720: 5d0a 2f2f 0a65 6e64 202f 2f20 656e 6420 ].//.end // end │ │ │ │ -00001730: 6f66 205b 6333 6e73 7472 5f73 6f6c 7665 of [c3nstr_solve │ │ │ │ -00001740: 5f69 746d 6c73 745d 0a0a 282a 202a 2a2a _itmlst]..(* *** │ │ │ │ -00001750: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i │ │ │ │ -00001760: 6d70 6c65 6d65 6e74 0a63 336e 7374 725f mplement.c3nstr_ │ │ │ │ -00001770: 736f 6c76 655f 6974 6d6c 7374 5f63 6e73 solve_itmlst_cns │ │ │ │ -00001780: 7472 0a20 2028 656e 762c 206c 6f63 302c tr. (env, loc0, │ │ │ │ -00001790: 2073 3369 732c 2063 3374 2920 3d20 2829 s3is, c3t) = () │ │ │ │ -000017a0: 2077 6865 7265 0a7b 0a20 2076 616c 2028 where.{. val ( │ │ │ │ -000017b0: 7066 7c28 2929 203d 2073 6d74 656e 765f pf|()) = smtenv_ │ │ │ │ -000017c0: 7075 7368 2028 656e 7629 0a2f 2f0a 2020 push (env).//. │ │ │ │ -000017d0: 7661 6c20 616e 7331 203d 0a20 2020 2063 val ans1 =. c │ │ │ │ -000017e0: 336e 7374 725f 736f 6c76 655f 6d61 696e 3nstr_solve_main │ │ │ │ -000017f0: 2028 656e 762c 2063 3374 290a 2020 2f2f (env, c3t). // │ │ │ │ -00001800: 2065 6e64 206f 6620 5b76 616c 5d0a 2f2f end of [val].// │ │ │ │ -00001810: 0a20 2076 616c 2028 282a 766f 6964 2a29 . val ((*void*) │ │ │ │ -00001820: 2920 3d20 736d 7465 6e76 5f70 6f70 2028 ) = smtenv_pop ( │ │ │ │ -00001830: 7066 207c 2065 6e76 290a 2f2f 0a20 2076 pf | env).//. v │ │ │ │ -00001840: 616c 2061 6e73 3220 3d0a 2020 2020 6333 al ans2 =. c3 │ │ │ │ -00001850: 6e73 7472 5f73 6f6c 7665 5f69 746d 6c73 nstr_solve_itmls │ │ │ │ -00001860: 7420 2865 6e76 2c20 6c6f 6330 2c20 7333 t (env, loc0, s3 │ │ │ │ -00001870: 6973 290a 2020 2f2f 2065 6e64 206f 6620 is). // end of │ │ │ │ -00001880: 5b76 616c 5d0a 2f2f 0a7d 2028 2a20 656e [val].//.} (* en │ │ │ │ -00001890: 6420 6f66 205b 6333 6e73 7472 5f73 6f6c d of [c3nstr_sol │ │ │ │ -000018a0: 7665 5f69 746d 6c73 745f 636e 7374 725d ve_itmlst_cnstr] │ │ │ │ -000018b0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** * │ │ │ │ -000018c0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem │ │ │ │ -000018d0: 656e 740a 6333 6e73 7472 5f73 6f6c 7665 ent.c3nstr_solve │ │ │ │ -000018e0: 5f69 746d 6c73 745f 6469 736a 0a28 0a20 _itmlst_disj.(. │ │ │ │ -000018f0: 2065 6e76 2c20 6c6f 6330 2c20 7333 6973 env, loc0, s3is │ │ │ │ -00001900: 302c 2073 3369 7373 282a 6469 736a 2a29 0, s3iss(*disj*) │ │ │ │ -00001910: 0a29 203d 206c 6574 0a28 2a0a 7661 6c20 .) = let.(*.val │ │ │ │ -00001920: 2829 203d 2028 0a20 2070 7269 6e74 6c6e () = (. println │ │ │ │ -00001930: 2120 2822 6333 6e73 7472 5f73 6f6c 7665 ! ("c3nstr_solve │ │ │ │ -00001940: 5f69 746d 6c73 745f 6469 736a 3a20 7333 _itmlst_disj: s3 │ │ │ │ -00001950: 6973 7320 3d20 2e2e 2e22 290a 2920 282a iss = ...").) (* │ │ │ │ -00001960: 2065 6e64 206f 6620 5b76 616c 5d20 2a29 end of [val] *) │ │ │ │ -00001970: 0a2a 290a 696e 0a2f 2f0a 6361 7365 2b20 .*).in.//.case+ │ │ │ │ -00001980: 7333 6973 7320 6f66 0a7c 206c 6973 745f s3iss of.| list_ │ │ │ │ -00001990: 6e69 6c0a 2020 2020 2828 2a76 6f69 642a nil. ((*void* │ │ │ │ -000019a0: 2929 203d 3e20 2829 0a20 202f 2f20 656e )) => (). // en │ │ │ │ -000019b0: 6420 6f66 205b 6c69 7374 5f6e 696c 5d0a d of [list_nil]. │ │ │ │ -000019c0: 7c20 6c69 7374 5f63 6f6e 730a 2020 2020 | list_cons. │ │ │ │ -000019d0: 2873 3369 732c 2073 3369 7373 2920 3d3e (s3is, s3iss) => │ │ │ │ -000019e0: 206c 6574 0a20 2020 2076 616c 2028 7066 let. val (pf │ │ │ │ -000019f0: 7c28 2929 203d 2073 6d74 656e 765f 7075 |()) = smtenv_pu │ │ │ │ -00001a00: 7368 2028 656e 7629 0a20 2020 2076 616c sh (env). val │ │ │ │ -00001a10: 2073 3369 7331 203d 206c 6973 745f 6170 s3is1 = list_ap │ │ │ │ -00001a20: 7065 6e64 2028 7333 6973 2c20 7333 6973 pend (s3is, s3is │ │ │ │ -00001a30: 3029 0a20 2020 2076 616c 2061 6e73 203d 0). val ans = │ │ │ │ -00001a40: 2063 336e 7374 725f 736f 6c76 655f 6974 c3nstr_solve_it │ │ │ │ -00001a50: 6d6c 7374 2028 656e 762c 206c 6f63 302c mlst (env, loc0, │ │ │ │ -00001a60: 2073 3369 7331 290a 2020 2020 7661 6c20 s3is1). val │ │ │ │ -00001a70: 2828 2a76 6f69 642a 2929 203d 2073 6d74 ((*void*)) = smt │ │ │ │ -00001a80: 656e 765f 706f 7020 2870 6620 7c20 656e env_pop (pf | en │ │ │ │ -00001a90: 7629 0a20 2069 6e0a 2020 2020 6333 6e73 v). in. c3ns │ │ │ │ -00001aa0: 7472 5f73 6f6c 7665 5f69 746d 6c73 745f tr_solve_itmlst_ │ │ │ │ -00001ab0: 6469 736a 2028 656e 762c 206c 6f63 302c disj (env, loc0, │ │ │ │ -00001ac0: 2073 3369 7330 2c20 7333 6973 7329 0a20 s3is0, s3iss). │ │ │ │ -00001ad0: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [ │ │ │ │ -00001ae0: 6c69 7374 5f63 6f6e 735d 0a2f 2f0a 656e list_cons].//.en │ │ │ │ -00001af0: 6420 2f2f 2065 6e64 206f 6620 5b63 336e d // end of [c3n │ │ │ │ -00001b00: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst │ │ │ │ -00001b10: 5f64 6973 6a5d 0a0a 282a 202a 2a2a 2a2a _disj]..(* ***** │ │ │ │ -00001b20: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp │ │ │ │ -00001b30: 6c65 6d65 6e74 0a63 336e 7374 725f 736f lement.c3nstr_so │ │ │ │ -00001b40: 6c76 655f 736f 6c76 6572 6966 790a 2020 lve_solverify. │ │ │ │ -00001b50: 2865 6e76 2c20 6c6f 6330 2c20 7332 655f (env, loc0, s2e_ │ │ │ │ -00001b60: 7072 6f70 2920 3d20 6c65 740a 2f2f 0a76 prop) = let.//.v │ │ │ │ -00001b70: 616c 2073 3265 5f70 726f 7020 3d0a 2020 al s2e_prop =. │ │ │ │ -00001b80: 666f 726d 756c 615f 6d61 6b65 5f73 3265 formula_make_s2e │ │ │ │ -00001b90: 7870 2028 656e 762c 2073 3265 5f70 726f xp (env, s2e_pro │ │ │ │ -00001ba0: 7029 0a2f 2f0a 696e 0a20 2073 6d74 656e p).//.in. smten │ │ │ │ -00001bb0: 765f 736f 6c76 655f 666f 726d 756c 6120 v_solve_formula │ │ │ │ -00001bc0: 2865 6e76 2c20 6c6f 6330 2c20 7332 655f (env, loc0, s2e_ │ │ │ │ -00001bd0: 7072 6f70 290a 656e 6420 2f2f 2065 6e64 prop).end // end │ │ │ │ -00001be0: 206f 6620 5b63 336e 7374 725f 736f 6c76 of [c3nstr_solv │ │ │ │ -00001bf0: 655f 736f 6c76 6572 6966 795d 0a0a 282a e_solverify]..(* │ │ │ │ -00001c00: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00001c10: 290a 0a69 6d70 6c65 6d65 6e74 0a63 336e )..implement.c3n │ │ │ │ -00001c20: 7374 725f 736f 6c76 655f 6d61 696e 0a20 str_solve_main. │ │ │ │ -00001c30: 2028 656e 762c 2063 3374 2920 3d20 6c65 (env, c3t) = le │ │ │ │ -00001c40: 740a 2f2f 0a76 616c 0a6c 6f63 3020 3d20 t.//.val.loc0 = │ │ │ │ -00001c50: 6333 742e 6333 6e73 7472 5f6c 6f63 0a2f c3t.c3nstr_loc./ │ │ │ │ -00001c60: 2f0a 696e 0a2f 2f0a 6361 7365 2b0a 6333 /.in.//.case+.c3 │ │ │ │ -00001c70: 742e 6333 6e73 7472 5f6e 6f64 650a 6f66 t.c3nstr_node.of │ │ │ │ -00001c80: 2028 2a20 6361 7365 2b20 2a29 0a7c 2043 (* case+ *).| C │ │ │ │ -00001c90: 334e 5354 5270 726f 7028 7332 7029 203d 3NSTRprop(s2p) = │ │ │ │ -00001ca0: 3e0a 2020 2020 6333 6e73 7472 5f73 6f6c >. c3nstr_sol │ │ │ │ -00001cb0: 7665 5f70 726f 7028 656e 762c 206c 6f63 ve_prop(env, loc │ │ │ │ -00001cc0: 302c 2073 3270 290a 2020 2f2f 2065 6e64 0, s2p). // end │ │ │ │ -00001cd0: 206f 6620 5b43 334e 5354 5270 726f 705d of [C3NSTRprop] │ │ │ │ -00001ce0: 0a7c 2043 334e 5354 5269 746d 6c73 7428 .| C3NSTRitmlst( │ │ │ │ -00001cf0: 7333 6973 2920 3d3e 0a20 2020 2063 336e s3is) =>. c3n │ │ │ │ -00001d00: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst │ │ │ │ -00001d10: 2865 6e76 2c20 6c6f 6330 2c20 7333 6973 (env, loc0, s3is │ │ │ │ -00001d20: 290a 2020 2f2f 2065 6e64 206f 6620 5b43 ). // end of [C │ │ │ │ -00001d30: 334e 5354 5269 746d 6c73 745d 0a7c 2043 3NSTRitmlst].| C │ │ │ │ -00001d40: 334e 5354 5273 6f6c 7665 7269 6679 2873 3NSTRsolverify(s │ │ │ │ -00001d50: 3265 5f70 726f 7029 203d 3e0a 2020 2020 2e_prop) =>. │ │ │ │ -00001d60: 6333 6e73 7472 5f73 6f6c 7665 5f73 6f6c c3nstr_solve_sol │ │ │ │ -00001d70: 7665 7269 6679 2865 6e76 2c20 6c6f 6330 verify(env, loc0 │ │ │ │ -00001d80: 2c20 7332 655f 7072 6f70 290a 2f2f 0a65 , s2e_prop).//.e │ │ │ │ -00001d90: 6e64 202f 2f20 656e 6420 6f66 205b 6333 nd // end of [c3 │ │ │ │ -00001da0: 6e73 7472 5f73 6f6c 7665 5f6d 6169 6e5d nstr_solve_main] │ │ │ │ -00001db0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00001dc0: 2a2a 202a 290a 282a 0a2f 2f0a 6675 6e0a ** *).(*.//.fun. │ │ │ │ -00001dd0: 656d 6974 5f70 6f70 0a20 2028 6f75 743a emit_pop. (out: │ │ │ │ -00001de0: 2046 494c 4572 6566 2920 3d20 6670 7269 FILEref) = fpri │ │ │ │ -00001df0: 6e74 6c6e 2120 286f 7574 2c20 2228 706f ntln! (out, "(po │ │ │ │ -00001e00: 7029 2229 0a2f 2f0a 6675 6e0a 656d 6974 p)").//.fun.emit │ │ │ │ -00001e10: 5f70 7573 680a 2020 286f 7574 3a20 4649 _push. (out: FI │ │ │ │ -00001e20: 4c45 7265 6629 203d 2066 7072 696e 746c LEref) = fprintl │ │ │ │ -00001e30: 6e21 2028 6f75 742c 2022 2870 7573 6829 n! (out, "(push) │ │ │ │ -00001e40: 2229 0a2f 2f0a 2a29 0a28 2a20 2a2a 2a2a ").//.*).(* **** │ │ │ │ -00001e50: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im │ │ │ │ -00001e60: 706c 656d 656e 740a 6333 6e73 7472 5f73 plement.c3nstr_s │ │ │ │ -00001e70: 6d74 325f 736f 6c76 650a 2020 286f 7574 mt2_solve. (out │ │ │ │ -00001e80: 2c20 6333 7430 2920 3d20 2829 2077 6865 , c3t0) = () whe │ │ │ │ -00001e90: 7265 0a7b 0a2f 2f0a 7661 6c20 656e 7620 re.{.//.val env │ │ │ │ -00001ea0: 3d20 736d 7465 6e76 5f63 7265 6174 6528 = smtenv_create( │ │ │ │ -00001eb0: 290a 2f2f 0a76 616c 2028 7066 7075 7368 ).//.val (pfpush │ │ │ │ -00001ec0: 7c28 2929 203d 2073 6d74 656e 765f 7075 |()) = smtenv_pu │ │ │ │ -00001ed0: 7368 2865 6e76 290a 2f2f 0a76 616c 2028 sh(env).//.val ( │ │ │ │ -00001ee0: 282a 736f 6c76 6564 2a29 2920 3d20 6333 (*solved*)) = c3 │ │ │ │ -00001ef0: 6e73 7472 5f73 6f6c 7665 5f6d 6169 6e28 nstr_solve_main( │ │ │ │ -00001f00: 656e 762c 2063 3374 3029 0a2f 2f0a 7661 env, c3t0).//.va │ │ │ │ -00001f10: 6c20 2828 2a70 6f70 7065 642a 2929 203d l ((*popped*)) = │ │ │ │ -00001f20: 2073 6d74 656e 765f 706f 7028 7066 7075 smtenv_pop(pfpu │ │ │ │ -00001f30: 7368 207c 2065 6e76 290a 2f2f 0a76 616c sh | env).//.val │ │ │ │ -00001f40: 2063 6d64 7320 3d20 736d 7465 6e76 5f64 cmds = smtenv_d │ │ │ │ -00001f50: 6573 7472 6f79 2865 6e76 290a 7661 6c20 estroy(env).val │ │ │ │ -00001f60: 636d 6473 203d 2073 6f6c 7665 7263 6d64 cmds = solvercmd │ │ │ │ -00001f70: 6c73 745f 7265 7665 7273 6528 636d 6473 lst_reverse(cmds │ │ │ │ -00001f80: 290a 2f2f 0a28 2a0a 2f2f 0a6c 6f63 616c ).//.(*.//.local │ │ │ │ -00001f90: 0a2f 2f0a 7661 6c0a 6f75 7420 3d20 7374 .//.val.out = st │ │ │ │ -00001fa0: 646f 7574 5f72 6566 0a2f 2f0a 696d 706c dout_ref.//.impl │ │ │ │ -00001fb0: 656d 656e 740a 6670 7269 6e74 5f6c 6973 ement.fprint_lis │ │ │ │ -00001fc0: 7424 7365 703c 3e0a 2020 286f 7574 2920 t$sep<>. (out) │ │ │ │ -00001fd0: 3d20 6670 7269 6e74 5f6e 6577 6c69 6e65 = fprint_newline │ │ │ │ -00001fe0: 286f 7574 290a 2f2f 0a69 6e0a 2f2f 0a76 (out).//.in.//.v │ │ │ │ -00001ff0: 616c 2028 282a 766f 6964 2a29 2920 3d0a al ((*void*)) =. │ │ │ │ -00002000: 2020 6670 7269 6e74 6c6e 2120 286f 7574 fprintln! (out │ │ │ │ -00002010: 2c20 636d 6473 290a 7661 6c20 2828 2a76 , cmds).val ((*v │ │ │ │ -00002020: 6f69 642a 2929 203d 0a20 2066 7072 696e oid*)) =. fprin │ │ │ │ -00002030: 746c 6e21 286f 7574 2c20 226c 656e 6774 tln!(out, "lengt │ │ │ │ -00002040: 6828 636d 6473 2920 3d20 222c 206c 656e h(cmds) = ", len │ │ │ │ -00002050: 6774 6828 636d 6473 2929 0a2f 2f0a 656e gth(cmds)).//.en │ │ │ │ -00002060: 6420 2f2f 2065 6e64 206f 6620 5b6c 6f63 d // end of [loc │ │ │ │ -00002070: 616c 5d0a 2f2f 0a2a 290a 2f2f 0a76 616c al].//.*).//.val │ │ │ │ -00002080: 2028 2920 3d0a 656d 6974 5f70 7265 616d () =.emit_pream │ │ │ │ -00002090: 626c 6528 6f75 7429 0a2f 2f0a 7661 6c20 ble(out).//.val │ │ │ │ -000020a0: 2829 203d 0a28 0a69 6620 7468 655f 636f () =.(.if the_co │ │ │ │ -000020b0: 6e73 7472 6169 6e74 5f72 6561 6c28 2920 nstraint_real() │ │ │ │ -000020c0: 3e20 300a 2020 7468 656e 2065 6d69 745f > 0. then emit_ │ │ │ │ -000020d0: 7072 6561 6d62 6c65 5f72 6561 6c28 6f75 preamble_real(ou │ │ │ │ -000020e0: 7429 0a29 0a2f 2f0a 7661 6c20 2829 203d t).).//.val () = │ │ │ │ -000020f0: 2065 6d69 745f 7468 655f 7332 6373 746d emit_the_s2cstm │ │ │ │ -00002100: 6170 286f 7574 290a 2f2f 0a76 616c 2028 ap(out).//.val ( │ │ │ │ -00002110: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o │ │ │ │ -00002120: 7574 2c20 223b 3b22 290a 7661 6c20 2829 ut, ";;").val () │ │ │ │ -00002130: 203d 2066 7072 696e 746c 6e21 2028 6f75 = fprintln! (ou │ │ │ │ -00002140: 742c 2022 3b3b 4154 532d 636f 6e73 7472 t, ";;ATS-constr │ │ │ │ -00002150: 6169 6e74 7322 290a 7661 6c20 2829 203d aints").val () = │ │ │ │ -00002160: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out, │ │ │ │ -00002170: 2022 3b3b 6765 6e65 7261 7465 6420 6475 ";;generated du │ │ │ │ -00002180: 7269 6e67 2074 7970 6563 6865 636b 696e ring typecheckin │ │ │ │ -00002190: 6722 290a 7661 6c20 2829 203d 2066 7072 g").val () = fpr │ │ │ │ -000021a0: 696e 746c 6e21 2028 6f75 742c 2022 3b3b intln! (out, ";; │ │ │ │ -000021b0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 ").//.val () = e │ │ │ │ -000021c0: 6d69 745f 736f 6c76 6572 636d 646c 7374 mit_solvercmdlst │ │ │ │ -000021d0: 2028 6f75 742c 2024 554e 2e6c 6973 745f (out, $UN.list_ │ │ │ │ -000021e0: 7674 3274 2863 6d64 7329 290a 2f2f 0a76 vt2t(cmds)).//.v │ │ │ │ -000021f0: 616c 2028 282a 6672 6565 642a 2929 203d al ((*freed*)) = │ │ │ │ -00002200: 206c 6973 745f 7674 5f66 7265 6528 636d list_vt_free(cm │ │ │ │ -00002210: 6473 290a 2f2f 0a7d 2028 2a20 656e 6420 ds).//.} (* end │ │ │ │ -00002220: 6f66 205b 6333 6e73 7472 5f73 6d74 325f of [c3nstr_smt2_ │ │ │ │ -00002230: 736f 6c76 655d 202a 290a 0a28 2a20 2a2a solve] *)..(* ** │ │ │ │ -00002240: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -00002250: 2364 6566 696e 6520 5041 5453 4f4c 5645 #define PATSOLVE │ │ │ │ -00002260: 5f53 4d54 325f 534f 4c56 494e 4720 310a _SMT2_SOLVING 1. │ │ │ │ -00002270: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00002280: 2a20 2a29 0a0a 6c6f 6361 6c0a 2f2f 0a23 * *)..local.//.# │ │ │ │ -00002290: 696e 636c 7564 6520 222e 2f53 4f4c 5649 include "./SOLVI │ │ │ │ -000022a0: 4e47 2f70 6174 736f 6c76 655f 736d 7432 NG/patsolve_smt2 │ │ │ │ -000022b0: 5f73 6f6c 7669 6e67 5f63 7478 2e64 6174 _solving_ctx.dat │ │ │ │ -000022c0: 7322 0a2f 2f0a 696e 0a20 202f 2f20 6e6f s".//.in. // no │ │ │ │ -000022d0: 7468 696e 670a 656e 6420 2f2f 2065 6e64 thing.end // end │ │ │ │ -000022e0: 206f 6620 5b6c 6f63 616c 5d0a 0a28 2a20 of [local]..(* │ │ │ │ -000022f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00002300: 0a0a 6c6f 6361 6c0a 2f2f 0a23 696e 636c ..local.//.#incl │ │ │ │ -00002310: 7564 6520 222e 2f53 4f4c 5649 4e47 2f70 ude "./SOLVING/p │ │ │ │ -00002320: 6174 736f 6c76 655f 736d 7432 5f73 6f6c atsolve_smt2_sol │ │ │ │ -00002330: 7669 6e67 5f65 6d69 742e 6461 7473 220a ving_emit.dats". │ │ │ │ -00002340: 2f2f 0a69 6e0a 2020 2f2f 206e 6f74 6869 //.in. // nothi │ │ │ │ -00002350: 6e67 0a65 6e64 202f 2f20 656e 6420 6f66 ng.end // end of │ │ │ │ -00002360: 205b 6c6f 6361 6c5d 0a0a 282a 202a 2a2a [local]..(* *** │ │ │ │ -00002370: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a6c *** ****** *)..l │ │ │ │ -00002380: 6f63 616c 0a2f 2f0a 2369 6e63 6c75 6465 ocal.//.#include │ │ │ │ -00002390: 2022 2e2f 534f 4c56 494e 472f 7061 7473 "./SOLVING/pats │ │ │ │ -000023a0: 6f6c 7665 5f73 6d74 325f 736f 6c76 696e olve_smt2_solvin │ │ │ │ -000023b0: 675f 666f 726d 2e64 6174 7322 0a2f 2f0a g_form.dats".//. │ │ │ │ -000023c0: 696e 0a20 202f 2f20 6e6f 7468 696e 670a in. // nothing. │ │ │ │ -000023d0: 656e 6420 2f2f 2065 6e64 206f 6620 5b6c end // end of [l │ │ │ │ -000023e0: 6f63 616c 5d0a 0a28 2a20 2a2a 2a2a 2a2a ocal]..(* ****** │ │ │ │ -000023f0: 202a 2a2a 2a2a 2a20 2a29 0a0a 6c6f 6361 ****** *)..loca │ │ │ │ -00002400: 6c0a 2f2f 0a23 696e 636c 7564 6520 222e l.//.#include ". │ │ │ │ -00002410: 2f53 4f4c 5649 4e47 2f70 6174 736f 6c76 /SOLVING/patsolv │ │ │ │ -00002420: 655f 736d 7432 5f73 6f6c 7669 6e67 5f73 e_smt2_solving_s │ │ │ │ -00002430: 6d74 656e 762e 6461 7473 220a 2f2f 0a69 mtenv.dats".//.i │ │ │ │ -00002440: 6e0a 2020 2f2f 206e 6f74 6869 6e67 0a65 n. // nothing.e │ │ │ │ -00002450: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo │ │ │ │ -00002460: 6361 6c5d 0a0a 282a 202a 2a2a 2a2a 2a20 cal]..(* ****** │ │ │ │ -00002470: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local │ │ │ │ -00002480: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include "./ │ │ │ │ -00002490: 534f 4c56 494e 472f 7061 7473 6f6c 7665 SOLVING/patsolve │ │ │ │ -000024a0: 5f73 6d74 325f 736f 6c76 696e 675f 696e _smt2_solving_in │ │ │ │ -000024b0: 7465 7270 2e64 6174 7322 0a2f 2f0a 696e terp.dats".//.in │ │ │ │ -000024c0: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en │ │ │ │ -000024d0: 6420 2f2f 2065 6e64 206f 6620 5b6c 6f63 d // end of [loc │ │ │ │ -000024e0: 616c 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a al]..(* ****** * │ │ │ │ -000024f0: 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 6e64 ***** *)..(* end │ │ │ │ -00002500: 206f 6620 5b70 6174 736f 6c76 655f 736d of [patsolve_sm │ │ │ │ -00002510: 7432 5f73 6f6c 7669 6e67 2e64 6174 735d t2_solving.dats] │ │ │ │ -00002520: 202a 290a *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile │ │ │ │ @@ -1,141 +0,0 @@ │ │ │ │ -00000000: 2323 0a23 2320 4154 532d 6578 7473 6f6c ##.## ATS-extsol │ │ │ │ -00000010: 7665 2d73 6d74 323a 0a23 2320 536f 6c76 ve-smt2:.## Solv │ │ │ │ -00000020: 696e 6720 4154 532d 636f 6e73 7472 6169 ing ATS-constrai │ │ │ │ -00000030: 6e74 7320 7769 7468 2053 4d54 320a 2323 nts with SMT2.## │ │ │ │ -00000040: 0a0a 2323 2323 2323 0a23 230a 2323 2041 ..######.##.## A │ │ │ │ -00000050: 7574 686f 723a 2048 6f6e 6777 6569 2058 uthor: Hongwei X │ │ │ │ -00000060: 690a 2323 2041 7574 686f 7265 6d61 696c i.## Authoremail │ │ │ │ -00000070: 3a20 676d 6877 7869 4154 676d 6169 6c44 : gmhwxiATgmailD │ │ │ │ -00000080: 4f54 636f 6d0a 2323 0a23 2320 5374 6172 OTcom.##.## Star │ │ │ │ -00000090: 7420 7469 6d65 3a20 4d61 792c 2032 3031 t time: May, 201 │ │ │ │ -000000a0: 350a 2323 0a23 2323 2323 230a 0a43 433d 5.##.######..CC= │ │ │ │ -000000b0: 6763 630a 0a23 2323 2323 230a 0a69 6664 gcc..######..ifd │ │ │ │ -000000c0: 6566 205c 0a50 4154 5348 4f4d 450a 5041 ef \.PATSHOME.PA │ │ │ │ -000000d0: 5453 484f 4d45 513d 2224 2850 4154 5348 TSHOMEQ="$(PATSH │ │ │ │ -000000e0: 4f4d 4529 220a 656c 7365 0a69 6664 6566 OME)".else.ifdef │ │ │ │ -000000f0: 2041 5453 484f 4d45 0a20 2050 4154 5348 ATSHOME. PATSH │ │ │ │ -00000100: 4f4d 4551 3d22 2428 4154 5348 4f4d 4529 OMEQ="$(ATSHOME) │ │ │ │ -00000110: 220a 656c 7365 0a20 2050 4154 5348 4f4d ".else. PATSHOM │ │ │ │ -00000120: 4551 3d22 2f75 7372 2f6c 6f63 616c 2f6c EQ="/usr/local/l │ │ │ │ -00000130: 6962 2f61 7473 322d 706f 7374 6961 7473 ib/ats2-postiats │ │ │ │ -00000140: 220a 656e 6469 660a 656e 6469 660a 0a23 ".endif.endif..# │ │ │ │ -00000150: 2323 2323 230a 0a50 4154 5343 433d 2428 #####..PATSCC=$( │ │ │ │ -00000160: 5041 5453 484f 4d45 5129 2f62 696e 2f70 PATSHOMEQ)/bin/p │ │ │ │ -00000170: 6174 7363 630a 5041 5453 4f50 543d 2428 atscc.PATSOPT=$( │ │ │ │ -00000180: 5041 5453 484f 4d45 5129 2f62 696e 2f70 PATSHOMEQ)/bin/p │ │ │ │ -00000190: 6174 736f 7074 0a0a 2323 2323 2323 0a0a atsopt..######.. │ │ │ │ -000001a0: 616c 6c3a 3a0a 0a23 2323 2323 230a 230a all::..######.#. │ │ │ │ -000001b0: 4346 4c41 4753 203a 3d0a 4346 4c41 4753 CFLAGS :=.CFLAGS │ │ │ │ -000001c0: 202b 3d20 2d44 4154 535f 4d45 4d41 4c4c += -DATS_MEMALL │ │ │ │ -000001d0: 4f43 5f4c 4942 430a 230a 4346 4c41 4753 OC_LIBC.#.CFLAGS │ │ │ │ -000001e0: 3220 3a3d 0a43 464c 4147 5332 202b 3d2d 2 :=.CFLAGS2 +=- │ │ │ │ -000001f0: 4441 5453 5f4d 454d 414c 4c4f 435f 4c49 DATS_MEMALLOC_LI │ │ │ │ -00000200: 4243 0a43 464c 4147 5332 202b 3d5c 0a2d BC.CFLAGS2 +=\.- │ │ │ │ -00000210: 4924 7b50 4154 5348 4f4d 4551 7d2f 636f I${PATSHOMEQ}/co │ │ │ │ -00000220: 6e74 7269 622f 6174 7363 6e74 7262 0a23 ntrib/atscntrb.# │ │ │ │ -00000230: 0a43 464c 4147 5332 202b 3d20 5c0a 2428 .CFLAGS2 += \.$( │ │ │ │ -00000240: 7368 656c 6c20 706b 672d 636f 6e66 6967 shell pkg-config │ │ │ │ -00000250: 202d 2d63 666c 6167 7320 6a73 6f6e 2d63 --cflags json-c │ │ │ │ -00000260: 290a 230a 2323 2323 2323 0a0a 4558 5452 ).#.######..EXTR │ │ │ │ -00000270: 415f 4346 4c41 4753 203a 3d0a 0a23 2323 A_CFLAGS :=..### │ │ │ │ -00000280: 2323 230a 0a50 4154 5343 4332 203d 205c ###..PATSCC2 = \ │ │ │ │ -00000290: 0a24 2850 4154 5343 4329 205c 0a24 2843 .$(PATSCC) \.$(C │ │ │ │ -000002a0: 464c 4147 5332 2920 2428 4558 5452 415f FLAGS2) $(EXTRA_ │ │ │ │ -000002b0: 4346 4c41 4753 290a 0a23 2323 2323 230a CFLAGS)..######. │ │ │ │ -000002c0: 0a4c 4446 4c41 4753 203a 3d0a 4c44 464c .LDFLAGS :=.LDFL │ │ │ │ -000002d0: 4147 5320 2b3d 205c 0a24 2873 6865 6c6c AGS += \.$(shell │ │ │ │ -000002e0: 2070 6b67 2d63 6f6e 6669 6720 2d2d 6c69 pkg-config --li │ │ │ │ -000002f0: 6273 206a 736f 6e2d 6329 0a4c 4446 4c41 bs json-c).LDFLA │ │ │ │ -00000300: 4753 202b 3d2d 6c67 630a 0a23 2323 2323 GS +=-lgc..##### │ │ │ │ -00000310: 230a 0a49 4e43 4c55 4445 203a 3d0a 494e #..INCLUDE :=.IN │ │ │ │ -00000320: 434c 5544 4520 2b3d 202d 4924 2850 4154 CLUDE += -I$(PAT │ │ │ │ -00000330: 5348 4f4d 4551 290a 494e 434c 5544 4520 SHOMEQ).INCLUDE │ │ │ │ -00000340: 2b3d 202d 4924 2850 4154 5348 4f4d 4551 += -I$(PATSHOMEQ │ │ │ │ -00000350: 292f 6363 6f6d 702f 7275 6e74 696d 650a )/ccomp/runtime. │ │ │ │ -00000360: 0a23 2323 2323 230a 0a50 4154 534f 4c56 .######..PATSOLV │ │ │ │ -00000370: 453d 2e2f 4154 532d 6578 7473 6f6c 7665 E=./ATS-extsolve │ │ │ │ -00000380: 0a0a 2323 2323 2323 0a0a 534f 5552 4345 ..######..SOURCE │ │ │ │ -00000390: 535f 5341 5453 3d20 5c0a 2428 5041 5453 S_SATS= \.$(PATS │ │ │ │ -000003a0: 4f4c 5645 292f 5341 5453 2f70 6174 736f OLVE)/SATS/patso │ │ │ │ -000003b0: 6c76 655f 636e 7374 726e 742e 7361 7473 lve_cnstrnt.sats │ │ │ │ -000003c0: 205c 0a24 2850 4154 534f 4c56 4529 2f53 \.$(PATSOLVE)/S │ │ │ │ -000003d0: 4154 532f 7061 7473 6f6c 7665 5f70 6172 ATS/patsolve_par │ │ │ │ -000003e0: 7369 6e67 2e73 6174 7320 5c0a 0a23 2323 sing.sats \..### │ │ │ │ -000003f0: 2323 230a 0a53 4f55 5243 4553 5f43 4154 ###..SOURCES_CAT │ │ │ │ -00000400: 533d 205c 0a24 2850 4154 534f 4c56 4529 S= \.$(PATSOLVE) │ │ │ │ -00000410: 2f43 4154 532f 7061 7473 6f6c 7665 5f63 /CATS/patsolve_c │ │ │ │ -00000420: 6e73 7472 6e74 5f64 6174 732e 6320 5c0a nstrnt_dats.c \. │ │ │ │ -00000430: 2428 5041 5453 4f4c 5645 292f 4341 5453 $(PATSOLVE)/CATS │ │ │ │ -00000440: 2f70 6174 736f 6c76 655f 7061 7273 696e /patsolve_parsin │ │ │ │ -00000450: 675f 6461 7473 2e63 205c 0a0a 2323 2323 g_dats.c \..#### │ │ │ │ -00000460: 2323 0a0a 534f 5552 4345 535f 4441 5453 ##..SOURCES_DATS │ │ │ │ -00000470: 203a 3d0a 534f 5552 4345 535f 4441 5453 :=.SOURCES_DATS │ │ │ │ -00000480: 202b 3d20 7061 7473 6f6c 7665 5f73 6d74 += patsolve_smt │ │ │ │ -00000490: 325f 6d61 696e 2e64 6174 730a 534f 5552 2_main.dats.SOUR │ │ │ │ -000004a0: 4345 535f 4441 5453 202b 3d20 7061 7473 CES_DATS += pats │ │ │ │ -000004b0: 6f6c 7665 5f73 6d74 325f 6d79 6c69 622e olve_smt2_mylib. │ │ │ │ -000004c0: 6461 7473 0a53 4f55 5243 4553 5f44 4154 dats.SOURCES_DAT │ │ │ │ -000004d0: 5320 2b3d 2070 6174 736f 6c76 655f 736d S += patsolve_sm │ │ │ │ -000004e0: 7432 5f63 6f6d 6d61 7267 2e64 6174 730a t2_commarg.dats. │ │ │ │ -000004f0: 534f 5552 4345 535f 4441 5453 202b 3d20 SOURCES_DATS += │ │ │ │ -00000500: 7061 7473 6f6c 7665 5f73 6d74 325f 736f patsolve_smt2_so │ │ │ │ -00000510: 6c76 696e 672e 6461 7473 0a0a 2323 2323 lving.dats..#### │ │ │ │ -00000520: 2323 0a0a 5441 5247 4554 535f 4441 5453 ##..TARGETS_DATS │ │ │ │ -00000530: 5f4f 203d 205c 0a24 2870 6174 7375 6273 _O = \.$(patsubs │ │ │ │ -00000540: 7420 252e 6461 7473 2c20 255f 6461 7473 t %.dats, %_dats │ │ │ │ -00000550: 2e6f 2c20 2428 534f 5552 4345 535f 4441 .o, $(SOURCES_DA │ │ │ │ -00000560: 5453 2929 0a0a 2323 2323 2323 0a23 0a61 TS))..######.#.a │ │ │ │ -00000570: 6c6c 3a3a 203b 205c 0a24 284d 414b 4529 ll:: ; \.$(MAKE) │ │ │ │ -00000580: 202d 4320 4154 532d 6578 7473 6f6c 7665 -C ATS-extsolve │ │ │ │ -00000590: 2044 4154 535f 430a 230a 616c 6c3a 3a20 DATS_C.#.all:: │ │ │ │ -000005a0: 5c0a 6269 6e5f 7061 7473 6f6c 7665 5f73 \.bin_patsolve_s │ │ │ │ -000005b0: 6d74 320a 6269 6e5f 7061 7473 6f6c 7665 mt2.bin_patsolve │ │ │ │ -000005c0: 5f73 6d74 323a 205c 0a24 2854 4152 4745 _smt2: \.$(TARGE │ │ │ │ -000005d0: 5453 5f44 4154 535f 4f29 3b20 5c0a 2428 TS_DATS_O); \.$( │ │ │ │ -000005e0: 5041 5453 4343 3229 202d 4f32 202d 6f20 PATSCC2) -O2 -o │ │ │ │ -000005f0: 6269 6e2f 7061 7473 6f6c 7665 5f73 6d74 bin/patsolve_smt │ │ │ │ -00000600: 3220 5c0a 2428 534f 5552 4345 535f 5341 2 \.$(SOURCES_SA │ │ │ │ -00000610: 5453 2920 2428 534f 5552 4345 535f 4341 TS) $(SOURCES_CA │ │ │ │ -00000620: 5453 2920 2428 5441 5247 4554 535f 4441 TS) $(TARGETS_DA │ │ │ │ -00000630: 5453 5f4f 2920 2428 4c44 464c 4147 5329 TS_O) $(LDFLAGS) │ │ │ │ -00000640: 0a23 0a63 6c65 616e 616c 6c3a 3a20 3b20 .#.cleanall:: ; │ │ │ │ -00000650: 2428 524d 4629 2062 696e 2f70 6174 736f $(RMF) bin/patso │ │ │ │ -00000660: 6c76 655f 736d 7432 0a23 0a23 2323 2323 lve_smt2.#.##### │ │ │ │ -00000670: 230a 230a 6e70 6d3a 3a20 616c 6c0a 6e70 #.#.npm:: all.np │ │ │ │ -00000680: 6d3a 3a20 3b20 2428 4350 4629 2070 6174 m:: ; $(CPF) pat │ │ │ │ -00000690: 736f 6c76 655f 736d 7432 5f2a 5f64 6174 solve_smt2_*_dat │ │ │ │ -000006a0: 732e 6320 6e70 6d2f 4341 5453 2f2e 0a6e s.c npm/CATS/..n │ │ │ │ -000006b0: 706d 3a3a 203b 2024 2843 5046 2920 7061 pm:: ; $(CPF) pa │ │ │ │ -000006c0: 7473 6f6c 7665 5f70 6172 7369 6e67 5f73 tsolve_parsing_s │ │ │ │ -000006d0: 6174 732e 6320 6e70 6d2f 4341 5453 2f2e ats.c npm/CATS/. │ │ │ │ -000006e0: 0a6e 706d 3a3a 203b 2024 2843 5046 2920 .npm:: ; $(CPF) │ │ │ │ -000006f0: 7061 7473 6f6c 7665 5f63 6e73 7472 6e74 patsolve_cnstrnt │ │ │ │ -00000700: 5f73 6174 732e 6320 6e70 6d2f 4341 5453 _sats.c npm/CATS │ │ │ │ -00000710: 2f2e 0a23 0a23 2323 2323 230a 0a25 5f64 /..#.######..%_d │ │ │ │ -00000720: 6174 732e 6f3a 2044 4154 532f 252e 6461 ats.o: DATS/%.da │ │ │ │ -00000730: 7473 3b20 2428 5041 5453 4343 3229 202d ts; $(PATSCC2) - │ │ │ │ -00000740: 6320 243c 0a0a 2323 2323 2323 0a0a 7465 c $<..######..te │ │ │ │ -00000750: 7374 616c 6c3a 3a20 616c 6c0a 7465 7374 stall:: all.test │ │ │ │ -00000760: 616c 6c3a 3a20 636c 6561 6e61 6c6c 0a0a all:: cleanall.. │ │ │ │ -00000770: 2323 2323 2323 0a0a 4350 463d 6370 202d ######..CPF=cp - │ │ │ │ -00000780: 660a 524d 463d 726d 202d 660a 4d41 4b45 f.RMF=rm -f.MAKE │ │ │ │ -00000790: 3d6d 616b 650a 0a23 2323 2323 230a 0a63 =make..######..c │ │ │ │ -000007a0: 6c65 616e 3a3a 203b 2024 2852 4d46 2920 lean:: ; $(RMF) │ │ │ │ -000007b0: 2a7e 0a63 6c65 616e 3a3a 203b 2024 2852 *~.clean:: ; $(R │ │ │ │ -000007c0: 4d46 2920 2a5f 3f61 7473 2e6f 0a63 6c65 MF) *_?ats.o.cle │ │ │ │ -000007d0: 616e 3a3a 203b 2024 2852 4d46 2920 2a5f an:: ; $(RMF) *_ │ │ │ │ -000007e0: 3f61 7473 2e63 0a0a 2323 2323 2323 0a0a ?ats.c..######.. │ │ │ │ -000007f0: 636c 6561 6e61 6c6c 3a3a 2063 6c65 616e cleanall:: clean │ │ │ │ -00000800: 0a63 6c65 616e 616c 6c3a 3a20 3b20 2428 .cleanall:: ; $( │ │ │ │ -00000810: 524d 4629 202e 2f6e 706d 2f43 4154 532f RMF) ./npm/CATS/ │ │ │ │ -00000820: 7061 7473 6f6c 7665 5f73 6d74 325f 2a5f patsolve_smt2_*_ │ │ │ │ -00000830: 6461 7473 2e63 0a63 6c65 616e 616c 6c3a dats.c.cleanall: │ │ │ │ -00000840: 3a20 3b20 2428 524d 4629 202e 2f6e 706d : ; $(RMF) ./npm │ │ │ │ -00000850: 2f43 4154 532f 7061 7473 6f6c 7665 5f70 /CATS/patsolve_p │ │ │ │ -00000860: 6172 7369 6e67 5f73 6174 732e 630a 636c arsing_sats.c.cl │ │ │ │ -00000870: 6561 6e61 6c6c 3a3a 203b 2024 2852 4d46 eanall:: ; $(RMF │ │ │ │ -00000880: 2920 2e2f 6e70 6d2f 4341 5453 2f70 6174 ) ./npm/CATS/pat │ │ │ │ -00000890: 736f 6c76 655f 636e 7374 726e 745f 7361 solve_cnstrnt_sa │ │ │ │ -000008a0: 7473 2e63 0a0a 2323 2323 2323 0a0a 2323 ts.c..######..## │ │ │ │ -000008b0: 2065 6e64 206f 6620 5b4d 616b 6566 696c end of [Makefil │ │ │ │ -000008c0: 655d 2023 230a e] ##. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats │ │ │ │ @@ -1,77 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho │ │ │ │ -00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.** │ │ │ │ -00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm │ │ │ │ -000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco │ │ │ │ -000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time: │ │ │ │ -000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.* │ │ │ │ -000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia │ │ │ │ -000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho │ │ │ │ -000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA │ │ │ │ -00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** │ │ │ │ -00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some │ │ │ │ -00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.// │ │ │ │ -00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** * │ │ │ │ -00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2364 6566 ***** *).//.#def │ │ │ │ -00000150: 696e 650a 4154 535f 5041 434b 4e41 4d45 ine.ATS_PACKNAME │ │ │ │ -00000160: 2022 5041 5453 4f4c 5645 5f53 4d54 325f "PATSOLVE_SMT2_ │ │ │ │ -00000170: 434f 4d4d 4152 4722 0a2f 2f0a 282a 202a COMMARG".//.(* * │ │ │ │ -00000180: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000190: 0a64 6174 6174 7970 650a 636f 6d6d 6172 .datatype.commar │ │ │ │ -000001a0: 6720 3d0a 2f2f 0a20 207c 2043 4168 656c g =.//. | CAhel │ │ │ │ -000001b0: 7020 6f66 2028 7374 7269 6e67 290a 2f2f p of (string).// │ │ │ │ -000001c0: 0a20 207c 2043 4167 6974 656d 206f 6620 . | CAgitem of │ │ │ │ -000001d0: 2873 7472 696e 6729 0a2f 2f0a 2020 7c20 (string).//. | │ │ │ │ -000001e0: 4341 696e 7075 7420 6f66 2028 7374 7269 CAinput of (stri │ │ │ │ -000001f0: 6e67 290a 2020 7c20 4341 6f75 7470 7574 ng). | CAoutput │ │ │ │ -00000200: 206f 6620 2869 6e74 282a 6b6e 642a 292c of (int(*knd*), │ │ │ │ -00000210: 2073 7472 696e 6729 0a2f 2f0a 2020 7c20 string).//. | │ │ │ │ -00000220: 4341 7072 696e 746c 6e20 6f66 2028 7374 CAprintln of (st │ │ │ │ -00000230: 7269 6e67 290a 2020 7c20 4341 7072 696e ring). | CAprin │ │ │ │ -00000240: 7466 696c 6520 6f66 2028 7374 7269 6e67 tfile of (string │ │ │ │ -00000250: 290a 2f2f 0a20 207c 2043 4161 7267 656e ).//. | CAargen │ │ │ │ -00000260: 6420 6f66 2028 282a 766f 6964 2a29 290a d of ((*void*)). │ │ │ │ -00000270: 2f2f 2065 6e64 206f 6620 5b63 6f6d 6d61 // end of [comma │ │ │ │ -00000280: 7267 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a rg]..(* ****** * │ │ │ │ -00000290: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 7479 7065 ***** *).//.type │ │ │ │ -000002a0: 6465 660a 636f 6d6d 6172 676c 7374 203d def.commarglst = │ │ │ │ -000002b0: 204c 6973 7430 2863 6f6d 6d61 7267 290a List0(commarg). │ │ │ │ -000002c0: 7674 7970 6564 6566 0a63 6f6d 6d61 7267 vtypedef.commarg │ │ │ │ -000002d0: 6c73 745f 7674 203d 204c 6973 7430 5f76 lst_vt = List0_v │ │ │ │ -000002e0: 7428 636f 6d6d 6172 6729 0a2f 2f0a 282a t(commarg).//.(* │ │ │ │ -000002f0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000300: 290a 2f2f 0a66 756e 0a66 7072 696e 745f ).//.fun.fprint_ │ │ │ │ -00000310: 636f 6d6d 6172 670a 280a 2020 6f75 743a commarg.(. out: │ │ │ │ -00000320: 2046 494c 4572 6566 2c20 6361 3a20 636f FILEref, ca: co │ │ │ │ -00000330: 6d6d 6172 670a 2920 3a20 766f 6964 202f mmarg.) : void / │ │ │ │ -00000340: 2f20 656e 642d 6f66 2d66 756e 0a2f 2f0a / end-of-fun.//. │ │ │ │ -00000350: 6f76 6572 6c6f 6164 2066 7072 696e 7420 overload fprint │ │ │ │ -00000360: 7769 7468 2066 7072 696e 745f 636f 6d6d with fprint_comm │ │ │ │ -00000370: 6172 670a 2f2f 0a28 2a20 2a2a 2a2a 2a2a arg.//.(* ****** │ │ │ │ -00000380: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu │ │ │ │ -00000390: 6e0a 7061 7473 6f6c 7665 5f73 6d74 325f n.patsolve_smt2_ │ │ │ │ -000003a0: 636d 646c 696e 650a 2020 7b6e 3a6e 6174 cmdline. {n:nat │ │ │ │ -000003b0: 7d0a 280a 2020 6172 6763 3a20 696e 7428 }.(. argc: int( │ │ │ │ -000003c0: 6e29 2c20 6172 6776 3a20 2161 7267 7628 n), argv: !argv( │ │ │ │ -000003d0: 6e29 0a29 203a 2063 6f6d 6d61 7267 6c73 n).) : commargls │ │ │ │ -000003e0: 745f 7674 202f 2f20 656e 642d 6f66 2d66 t_vt // end-of-f │ │ │ │ -000003f0: 756e 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 un.//.(* ****** │ │ │ │ -00000400: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a66 756e ****** *).//.fun │ │ │ │ -00000410: 0a70 6174 736f 6c76 655f 736d 7432 5f63 .patsolve_smt2_c │ │ │ │ -00000420: 6f6d 6d61 7267 6c73 740a 2020 2861 7267 ommarglst. (arg │ │ │ │ -00000430: 6c73 743a 2063 6f6d 6d61 7267 6c73 745f lst: commarglst_ │ │ │ │ -00000440: 7674 293a 2076 6f69 640a 2f2f 200a 282a vt): void.// .(* │ │ │ │ -00000450: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000460: 290a 2f2f 0a66 756e 0a74 6865 5f63 6f6e ).//.fun.the_con │ │ │ │ -00000470: 7374 7261 696e 745f 7265 616c 2828 2a76 straint_real((*v │ │ │ │ -00000480: 6f69 642a 2929 3a20 696e 740a 2f2f 0a28 oid*)): int.//.( │ │ │ │ -00000490: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000004a0: 2a29 0a0a 282a 2065 6e64 206f 6620 5b70 *)..(* end of [p │ │ │ │ -000004b0: 6174 736f 6c76 655f 736d 7432 5f63 6f6d atsolve_smt2_com │ │ │ │ -000004c0: 6d61 7267 2e73 6174 735d 202a 290a marg.sats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats │ │ │ │ @@ -1,479 +0,0 @@ │ │ │ │ -00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext │ │ │ │ -00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O │ │ │ │ -00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con │ │ │ │ -00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t │ │ │ │ -00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt │ │ │ │ -00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* │ │ │ │ -00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000070: 0a0a 282a 0a2a 2a20 4175 7468 6f72 3a20 ..(*.** Author: │ │ │ │ -00000080: 486f 6e67 7765 6920 5869 0a2a 2a20 4175 Hongwei Xi.** Au │ │ │ │ -00000090: 7468 6f72 656d 6169 6c3a 2067 6d68 7778 thoremail: gmhwx │ │ │ │ -000000a0: 6941 5467 6d61 696c 444f 5463 6f6d 0a2a iATgmailDOTcom.* │ │ │ │ -000000b0: 2a20 5374 6172 7420 7469 6d65 3a20 4a75 * Start time: Ju │ │ │ │ -000000c0: 6e65 2c20 3230 3136 0a2a 290a 0a28 2a20 ne, 2016.*)..(* │ │ │ │ -000000d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -000000e0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000f0: 5041 434b 4e41 4d45 0a22 5041 5453 4f4c PACKNAME."PATSOL │ │ │ │ -00000100: 5645 5f53 4d54 325f 534f 4c56 494e 4722 VE_SMT2_SOLVING" │ │ │ │ -00000110: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000120: 2a2a 2a2a 202a 290a 2f2f 0a23 6465 6669 **** *).//.#defi │ │ │ │ -00000130: 6e65 0a50 4154 534f 4c56 455f 7461 7267 ne.PATSOLVE_targ │ │ │ │ -00000140: 6574 6c6f 6320 222e 2f2e 2e2f 4154 532d etloc "./../ATS- │ │ │ │ -00000150: 6578 7473 6f6c 7665 220a 2f2f 0a28 2a20 extsolve".//.(* │ │ │ │ -00000160: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000170: 0a2f 2f0a 2373 7461 6c6f 6164 0a22 7b24 .//.#staload."{$ │ │ │ │ -00000180: 5041 5453 4f4c 5645 7d2f 5341 5453 2f70 PATSOLVE}/SATS/p │ │ │ │ -00000190: 6174 736f 6c76 655f 636e 7374 726e 742e atsolve_cnstrnt. │ │ │ │ -000001a0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats".//.(* **** │ │ │ │ -000001b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -000001c0: 6675 6e0a 6333 6e73 7472 5f73 6d74 325f fun.c3nstr_smt2_ │ │ │ │ -000001d0: 736f 6c76 650a 2020 286f 7574 3a20 4649 solve. (out: FI │ │ │ │ -000001e0: 4c45 7265 662c 2063 3374 303a 2063 336e LEref, c3t0: c3n │ │ │ │ -000001f0: 7374 7229 3a20 766f 6964 0a2f 2f0a 282a str): void.//.(* │ │ │ │ -00000200: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000210: 290a 2f2f 0a64 6174 6174 7970 6520 666f ).//.datatype fo │ │ │ │ -00000220: 726d 203d 0a2f 2f0a 2020 7c20 464f 524d rm =.//. | FORM │ │ │ │ -00000230: 696e 7420 6f66 2028 696e 7429 0a20 207c int of (int). | │ │ │ │ -00000240: 2046 4f52 4d62 6f6f 6c20 6f66 2062 6f6f FORMbool of boo │ │ │ │ -00000250: 6c0a 2020 7c20 464f 524d 696e 7472 6570 l. | FORMintrep │ │ │ │ -00000260: 206f 6620 2873 7472 696e 6728 2a72 6570 of (string(*rep │ │ │ │ -00000270: 2a29 290a 2f2f 0a20 207c 2046 4f52 4d73 *)).//. | FORMs │ │ │ │ -00000280: 3276 6172 206f 6620 2873 3276 6172 290a 2var of (s2var). │ │ │ │ -00000290: 2020 7c20 464f 524d 7332 6373 7420 6f66 | FORMs2cst of │ │ │ │ -000002a0: 2028 7332 6373 7429 0a2f 2f20 282a 0a20 (s2cst).// (*. │ │ │ │ -000002b0: 207c 2046 4f52 4d73 3265 7870 206f 6620 | FORMs2exp of │ │ │ │ -000002c0: 2873 3265 7870 2920 2f2f 2075 6e70 726f (s2exp) // unpro │ │ │ │ -000002d0: 6365 7373 6564 0a2f 2f20 2a29 0a2f 2f0a cessed.// *).//. │ │ │ │ -000002e0: 2020 7c20 464f 524d 6e6f 7420 6f66 2028 | FORMnot of ( │ │ │ │ -000002f0: 666f 726d 290a 2020 7c20 464f 524d 636f form). | FORMco │ │ │ │ -00000300: 6e6a 206f 6620 2866 6f72 6d2c 2066 6f72 nj of (form, for │ │ │ │ -00000310: 6d29 0a20 207c 2046 4f52 4d64 6973 6a20 m). | FORMdisj │ │ │ │ -00000320: 6f66 2028 666f 726d 2c20 666f 726d 290a of (form, form). │ │ │ │ -00000330: 2020 7c20 464f 524d 696d 706c 206f 6620 | FORMimpl of │ │ │ │ -00000340: 2866 6f72 6d2c 2066 6f72 6d29 0a2f 2f0a (form, form).//. │ │ │ │ -00000350: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000360: 202a 290a 2f2f 0a74 7970 6564 6566 2066 *).//.typedef f │ │ │ │ -00000370: 6f72 6d6c 7374 203d 204c 6973 7430 2028 ormlst = List0 ( │ │ │ │ -00000380: 666f 726d 290a 7674 7970 6564 6566 2066 form).vtypedef f │ │ │ │ -00000390: 6f72 6d6c 7374 5f76 7420 3d20 4c69 7374 ormlst_vt = List │ │ │ │ -000003a0: 305f 7674 2028 666f 726d 290a 2f2f 0a28 0_vt (form).//.( │ │ │ │ -000003b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000003c0: 2a29 0a2f 2f0a 6675 6e20 7072 696e 745f *).//.fun print_ │ │ │ │ -000003d0: 666f 726d 203a 2066 6f72 6d20 2d3e 2076 form : form -> v │ │ │ │ -000003e0: 6f69 640a 6675 6e20 7072 6572 725f 666f oid.fun prerr_fo │ │ │ │ -000003f0: 726d 203a 2066 6f72 6d20 2d3e 2076 6f69 rm : form -> voi │ │ │ │ -00000400: 640a 6675 6e20 6670 7269 6e74 5f66 6f72 d.fun fprint_for │ │ │ │ -00000410: 6d20 3a20 6670 7269 6e74 5f74 7970 6528 m : fprint_type( │ │ │ │ -00000420: 666f 726d 290a 2f2f 0a6f 7665 726c 6f61 form).//.overloa │ │ │ │ -00000430: 6420 7072 696e 7420 7769 7468 2070 7269 d print with pri │ │ │ │ -00000440: 6e74 5f66 6f72 6d0a 6f76 6572 6c6f 6164 nt_form.overload │ │ │ │ -00000450: 2070 7265 7272 2077 6974 6820 7072 6572 prerr with prer │ │ │ │ -00000460: 725f 666f 726d 0a6f 7665 726c 6f61 6420 r_form.overload │ │ │ │ -00000470: 6670 7269 6e74 2077 6974 6820 6670 7269 fprint with fpri │ │ │ │ -00000480: 6e74 5f66 6f72 6d0a 2f2f 0a28 2a20 2a2a nt_form.//.(* ** │ │ │ │ -00000490: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -000004a0: 6675 6e20 666f 726d 756c 615f 6e75 6c6c fun formula_null │ │ │ │ -000004b0: 2028 293a 2066 6f72 6d0a 0a66 756e 2066 (): form..fun f │ │ │ │ -000004c0: 6f72 6d75 6c61 5f74 7275 6520 2829 3a20 ormula_true (): │ │ │ │ -000004d0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula │ │ │ │ -000004e0: 5f66 616c 7365 2028 293a 2066 6f72 6d0a _false (): form. │ │ │ │ -000004f0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000500: 2a20 2a29 0a0a 6675 6e20 666f 726d 756c * *)..fun formul │ │ │ │ -00000510: 615f 696e 7420 2869 3a20 696e 7429 3a20 a_int (i: int): │ │ │ │ -00000520: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula │ │ │ │ -00000530: 5f69 6e74 7265 7020 2872 6570 3a20 7374 _intrep (rep: st │ │ │ │ -00000540: 7269 6e67 293a 2066 6f72 6d0a 0a28 2a20 ring): form..(* │ │ │ │ -00000550: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000560: 0a2f 2f0a 6675 6e20 666f 726d 756c 615f .//.fun formula_ │ │ │ │ -00000570: 6e6f 7420 2866 6f72 6d29 3a20 666f 726d not (form): form │ │ │ │ -00000580: 0a66 756e 2066 6f72 6d75 6c61 5f64 6973 .fun formula_dis │ │ │ │ -00000590: 6a20 2866 6f72 6d2c 2066 6f72 6d29 3a20 j (form, form): │ │ │ │ -000005a0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula │ │ │ │ -000005b0: 5f63 6f6e 6a20 2866 6f72 6d2c 2066 6f72 _conj (form, for │ │ │ │ -000005c0: 6d29 3a20 666f 726d 0a66 756e 2066 6f72 m): form.fun for │ │ │ │ -000005d0: 6d75 6c61 5f69 6d70 6c20 2866 6f72 6d2c mula_impl (form, │ │ │ │ -000005e0: 2066 6f72 6d29 3a20 666f 726d 0a2f 2f0a form): form.//. │ │ │ │ -000005f0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000600: 202a 290a 0a66 756e 2066 6f72 6d75 6c61 *)..fun formula │ │ │ │ -00000610: 5f63 6f6e 6a5f 6c69 7374 2028 666f 726d _conj_list (form │ │ │ │ -00000620: 6c73 7429 3a20 666f 726d 0a66 756e 2066 lst): form.fun f │ │ │ │ -00000630: 6f72 6d75 6c61 5f63 6f6e 6a5f 6c69 7374 ormula_conj_list │ │ │ │ -00000640: 3120 2866 6f72 6d6c 7374 2c20 666f 726d 1 (formlst, form │ │ │ │ -00000650: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form │ │ │ │ -00000660: 756c 615f 696d 706c 5f6c 6973 7431 2028 ula_impl_list1 ( │ │ │ │ -00000670: 666f 726d 6c73 742c 2066 6f72 6d29 3a20 formlst, form): │ │ │ │ -00000680: 666f 726d 0a0a 282a 202a 2a2a 2a2a 2a20 form..(* ****** │ │ │ │ -00000690: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a66 756e ****** *).//.fun │ │ │ │ -000006a0: 2066 6f72 6d75 6c61 5f69 6e65 6720 2866 formula_ineg (f │ │ │ │ -000006b0: 6f72 6d29 3a20 666f 726d 0a2f 2f0a 6675 orm): form.//.fu │ │ │ │ -000006c0: 6e20 666f 726d 756c 615f 6961 6464 2028 n formula_iadd ( │ │ │ │ -000006d0: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for │ │ │ │ -000006e0: 6d0a 6675 6e20 666f 726d 756c 615f 6973 m.fun formula_is │ │ │ │ -000006f0: 7562 2028 666f 726d 2c20 666f 726d 293a ub (form, form): │ │ │ │ -00000700: 2066 6f72 6d0a 2f2f 0a66 756e 2066 6f72 form.//.fun for │ │ │ │ -00000710: 6d75 6c61 5f69 6d75 6c20 2866 6f72 6d2c mula_imul (form, │ │ │ │ -00000720: 2066 6f72 6d29 3a20 666f 726d 0a2f 2f0a form): form.//. │ │ │ │ -00000730: 6675 6e20 666f 726d 756c 615f 6964 6976 fun formula_idiv │ │ │ │ -00000740: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f │ │ │ │ -00000750: 6f72 6d0a 6675 6e20 666f 726d 756c 615f orm.fun formula_ │ │ │ │ -00000760: 6e64 6976 2028 666f 726d 2c20 666f 726d ndiv (form, form │ │ │ │ -00000770: 293a 2066 6f72 6d0a 2f2f 0a66 756e 2066 ): form.//.fun f │ │ │ │ -00000780: 6f72 6d75 6c61 5f69 6c74 2028 666f 726d ormula_ilt (form │ │ │ │ -00000790: 2c20 666f 726d 293a 2066 6f72 6d0a 6675 , form): form.fu │ │ │ │ -000007a0: 6e20 666f 726d 756c 615f 696c 7465 2028 n formula_ilte ( │ │ │ │ -000007b0: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for │ │ │ │ -000007c0: 6d0a 6675 6e20 666f 726d 756c 615f 6967 m.fun formula_ig │ │ │ │ -000007d0: 7420 2866 6f72 6d2c 2066 6f72 6d29 3a20 t (form, form): │ │ │ │ -000007e0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula │ │ │ │ -000007f0: 5f69 6774 6520 2866 6f72 6d2c 2066 6f72 _igte (form, for │ │ │ │ -00000800: 6d29 3a20 666f 726d 0a66 756e 2066 6f72 m): form.fun for │ │ │ │ -00000810: 6d75 6c61 5f69 6571 2028 666f 726d 2c20 mula_ieq (form, │ │ │ │ -00000820: 666f 726d 293a 2066 6f72 6d0a 6675 6e20 form): form.fun │ │ │ │ -00000830: 666f 726d 756c 615f 696e 6571 2028 666f formula_ineq (fo │ │ │ │ -00000840: 726d 2c20 666f 726d 293a 2066 6f72 6d0a rm, form): form. │ │ │ │ -00000850: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000860: 2a2a 2a20 2a29 0a2f 2f0a 6675 6e20 666f *** *).//.fun fo │ │ │ │ -00000870: 726d 756c 615f 6961 6273 2028 666f 726d rmula_iabs (form │ │ │ │ -00000880: 293a 2066 6f72 6d0a 2f2f 0a66 756e 2066 ): form.//.fun f │ │ │ │ -00000890: 6f72 6d75 6c61 5f69 7367 6e20 2866 6f72 ormula_isgn (for │ │ │ │ -000008a0: 6d29 3a20 666f 726d 0a2f 2f0a 6675 6e20 m): form.//.fun │ │ │ │ -000008b0: 666f 726d 756c 615f 696d 6178 2028 666f formula_imax (fo │ │ │ │ -000008c0: 726d 2c20 666f 726d 293a 2066 6f72 6d0a rm, form): form. │ │ │ │ -000008d0: 6675 6e20 666f 726d 756c 615f 696d 696e fun formula_imin │ │ │ │ -000008e0: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f │ │ │ │ -000008f0: 6f72 6d0a 2f2f 0a28 2a20 2a2a 2a2a 2a2a orm.//.(* ****** │ │ │ │ -00000900: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu │ │ │ │ -00000910: 6e20 666f 726d 756c 615f 626e 6567 2028 n formula_bneg ( │ │ │ │ -00000920: 666f 726d 293a 2066 6f72 6d0a 2f2f 0a66 form): form.//.f │ │ │ │ -00000930: 756e 2066 6f72 6d75 6c61 5f62 6164 6420 un formula_badd │ │ │ │ -00000940: 2866 6f72 6d2c 2066 6f72 6d29 3a20 666f (form, form): fo │ │ │ │ -00000950: 726d 0a66 756e 2066 6f72 6d75 6c61 5f62 rm.fun formula_b │ │ │ │ -00000960: 6d75 6c20 2866 6f72 6d2c 2066 6f72 6d29 mul (form, form) │ │ │ │ -00000970: 3a20 666f 726d 0a2f 2f0a 6675 6e20 666f : form.//.fun fo │ │ │ │ -00000980: 726d 756c 615f 626c 7420 2866 6f72 6d2c rmula_blt (form, │ │ │ │ -00000990: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun │ │ │ │ -000009a0: 2066 6f72 6d75 6c61 5f62 6c74 6520 2866 formula_blte (f │ │ │ │ -000009b0: 6f72 6d2c 2066 6f72 6d29 3a20 666f 726d orm, form): form │ │ │ │ -000009c0: 0a66 756e 2066 6f72 6d75 6c61 5f62 6774 .fun formula_bgt │ │ │ │ -000009d0: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f │ │ │ │ -000009e0: 6f72 6d0a 6675 6e20 666f 726d 756c 615f orm.fun formula_ │ │ │ │ -000009f0: 6267 7465 2028 666f 726d 2c20 666f 726d bgte (form, form │ │ │ │ -00000a00: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form │ │ │ │ -00000a10: 756c 615f 6265 7120 2866 6f72 6d2c 2066 ula_beq (form, f │ │ │ │ -00000a20: 6f72 6d29 3a20 666f 726d 0a66 756e 2066 orm): form.fun f │ │ │ │ -00000a30: 6f72 6d75 6c61 5f62 6e65 7120 2866 6f72 ormula_bneq (for │ │ │ │ -00000a40: 6d2c 2066 6f72 6d29 3a20 666f 726d 0a2f m, form): form./ │ │ │ │ -00000a50: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000a60: 2a2a 202a 290a 2f2f 0a66 756e 0a66 6f72 ** *).//.fun.for │ │ │ │ -00000a70: 6d75 6c61 5f72 6561 6c0a 2020 7b70 2c71 mula_real. {p,q │ │ │ │ -00000a80: 3a69 6e74 207c 2071 203e 2030 7d0a 2020 :int | q > 0}. │ │ │ │ -00000a90: 286e 756d 3a20 696e 7428 7029 2c20 6465 (num: int(p), de │ │ │ │ -00000aa0: 6e3a 2069 6e74 2871 2929 3a20 666f 726d n: int(q)): form │ │ │ │ -00000ab0: 0a2f 2f0a 6675 6e20 666f 726d 756c 615f .//.fun formula_ │ │ │ │ -00000ac0: 696e 7432 7265 616c 3a20 2866 6f72 6d29 int2real: (form) │ │ │ │ -00000ad0: 202d 3e20 666f 726d 0a2f 2f0a 6675 6e20 -> form.//.fun │ │ │ │ -00000ae0: 666f 726d 756c 615f 6e65 675f 7265 616c formula_neg_real │ │ │ │ -00000af0: 3a20 2866 6f72 6d29 202d 3e20 666f 726d : (form) -> form │ │ │ │ -00000b00: 0a66 756e 2066 6f72 6d75 6c61 5f61 6273 .fun formula_abs │ │ │ │ -00000b10: 5f72 6561 6c3a 2028 666f 726d 2920 2d3e _real: (form) -> │ │ │ │ -00000b20: 2066 6f72 6d0a 2f2f 0a66 756e 0a66 6f72 form.//.fun.for │ │ │ │ -00000b30: 6d75 6c61 5f61 6464 5f72 6561 6c5f 7265 mula_add_real_re │ │ │ │ -00000b40: 616c 2866 6f72 6d2c 2066 6f72 6d29 3a20 al(form, form): │ │ │ │ -00000b50: 666f 726d 0a66 756e 0a66 6f72 6d75 6c61 form.fun.formula │ │ │ │ -00000b60: 5f73 7562 5f72 6561 6c5f 7265 616c 2866 _sub_real_real(f │ │ │ │ -00000b70: 6f72 6d2c 2066 6f72 6d29 3a20 666f 726d orm, form): form │ │ │ │ -00000b80: 0a66 756e 0a66 6f72 6d75 6c61 5f6d 756c .fun.formula_mul │ │ │ │ -00000b90: 5f72 6561 6c5f 7265 616c 2866 6f72 6d2c _real_real(form, │ │ │ │ -00000ba0: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun │ │ │ │ -00000bb0: 0a66 6f72 6d75 6c61 5f64 6976 5f72 6561 .formula_div_rea │ │ │ │ -00000bc0: 6c5f 7265 616c 2866 6f72 6d2c 2066 6f72 l_real(form, for │ │ │ │ -00000bd0: 6d29 3a20 666f 726d 0a2f 2f0a 6675 6e20 m): form.//.fun │ │ │ │ -00000be0: 666f 726d 756c 615f 6164 645f 696e 745f formula_add_int_ │ │ │ │ -00000bf0: 7265 616c 2866 6f72 6d2c 2066 6f72 6d29 real(form, form) │ │ │ │ -00000c00: 3a20 666f 726d 0a66 756e 2066 6f72 6d75 : form.fun formu │ │ │ │ -00000c10: 6c61 5f61 6464 5f72 6561 6c5f 696e 7428 la_add_real_int( │ │ │ │ -00000c20: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for │ │ │ │ -00000c30: 6d0a 6675 6e20 666f 726d 756c 615f 7375 m.fun formula_su │ │ │ │ -00000c40: 625f 696e 745f 7265 616c 2866 6f72 6d2c b_int_real(form, │ │ │ │ -00000c50: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun │ │ │ │ -00000c60: 2066 6f72 6d75 6c61 5f73 7562 5f72 6561 formula_sub_rea │ │ │ │ -00000c70: 6c5f 696e 7428 666f 726d 2c20 666f 726d l_int(form, form │ │ │ │ -00000c80: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form │ │ │ │ -00000c90: 756c 615f 6d75 6c5f 696e 745f 7265 616c ula_mul_int_real │ │ │ │ -00000ca0: 2866 6f72 6d2c 2066 6f72 6d29 3a20 666f (form, form): fo │ │ │ │ -00000cb0: 726d 0a66 756e 2066 6f72 6d75 6c61 5f64 rm.fun formula_d │ │ │ │ -00000cc0: 6976 5f72 6561 6c5f 696e 7428 666f 726d iv_real_int(form │ │ │ │ -00000cd0: 2c20 666f 726d 293a 2066 6f72 6d0a 2f2f , form): form.// │ │ │ │ -00000ce0: 0a66 756e 0a66 6f72 6d75 6c61 5f6c 745f .fun.formula_lt_ │ │ │ │ -00000cf0: 7265 616c 5f72 6561 6c3a 2028 666f 726d real_real: (form │ │ │ │ -00000d00: 2c20 666f 726d 2920 2d3e 2066 6f72 6d0a , form) -> form. │ │ │ │ -00000d10: 6675 6e0a 666f 726d 756c 615f 6c74 655f fun.formula_lte_ │ │ │ │ -00000d20: 7265 616c 5f72 6561 6c3a 2028 666f 726d real_real: (form │ │ │ │ -00000d30: 2c20 666f 726d 2920 2d3e 2066 6f72 6d0a , form) -> form. │ │ │ │ -00000d40: 6675 6e0a 666f 726d 756c 615f 6774 5f72 fun.formula_gt_r │ │ │ │ -00000d50: 6561 6c5f 7265 616c 3a20 2866 6f72 6d2c eal_real: (form, │ │ │ │ -00000d60: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f │ │ │ │ -00000d70: 756e 0a66 6f72 6d75 6c61 5f67 7465 5f72 un.formula_gte_r │ │ │ │ -00000d80: 6561 6c5f 7265 616c 3a20 2866 6f72 6d2c eal_real: (form, │ │ │ │ -00000d90: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f │ │ │ │ -00000da0: 756e 0a66 6f72 6d75 6c61 5f65 715f 7265 un.formula_eq_re │ │ │ │ -00000db0: 616c 5f72 6561 6c3a 2028 666f 726d 2c20 al_real: (form, │ │ │ │ -00000dc0: 666f 726d 2920 2d3e 2066 6f72 6d0a 6675 form) -> form.fu │ │ │ │ -00000dd0: 6e0a 666f 726d 756c 615f 6e65 715f 7265 n.formula_neq_re │ │ │ │ -00000de0: 616c 5f72 6561 6c3a 2028 666f 726d 2c20 al_real: (form, │ │ │ │ -00000df0: 666f 726d 2920 2d3e 2066 6f72 6d0a 2f2f form) -> form.// │ │ │ │ -00000e00: 0a66 756e 2066 6f72 6d75 6c61 5f6c 745f .fun formula_lt_ │ │ │ │ -00000e10: 7265 616c 5f69 6e74 3a20 2866 6f72 6d2c real_int: (form, │ │ │ │ -00000e20: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f │ │ │ │ -00000e30: 756e 2066 6f72 6d75 6c61 5f6c 7465 5f72 un formula_lte_r │ │ │ │ -00000e40: 6561 6c5f 696e 743a 2028 666f 726d 2c20 eal_int: (form, │ │ │ │ -00000e50: 666f 726d 2920 2d3e 2066 6f72 6d0a 6675 form) -> form.fu │ │ │ │ -00000e60: 6e20 666f 726d 756c 615f 6774 5f72 6561 n formula_gt_rea │ │ │ │ -00000e70: 6c5f 696e 743a 2028 666f 726d 2c20 666f l_int: (form, fo │ │ │ │ -00000e80: 726d 2920 2d3e 2066 6f72 6d0a 6675 6e20 rm) -> form.fun │ │ │ │ -00000e90: 666f 726d 756c 615f 6774 655f 7265 616c formula_gte_real │ │ │ │ -00000ea0: 5f69 6e74 3a20 2866 6f72 6d2c 2066 6f72 _int: (form, for │ │ │ │ -00000eb0: 6d29 202d 3e20 666f 726d 0a66 756e 2066 m) -> form.fun f │ │ │ │ -00000ec0: 6f72 6d75 6c61 5f65 715f 7265 616c 5f69 ormula_eq_real_i │ │ │ │ -00000ed0: 6e74 3a20 2866 6f72 6d2c 2066 6f72 6d29 nt: (form, form) │ │ │ │ -00000ee0: 202d 3e20 666f 726d 0a66 756e 2066 6f72 -> form.fun for │ │ │ │ -00000ef0: 6d75 6c61 5f6e 6571 5f72 6561 6c5f 696e mula_neq_real_in │ │ │ │ -00000f00: 743a 2028 666f 726d 2c20 666f 726d 2920 t: (form, form) │ │ │ │ -00000f10: 2d3e 2066 6f72 6d0a 2f2f 0a28 2a20 2a2a -> form.//.(* ** │ │ │ │ -00000f20: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -00000f30: 2f0a 6675 6e0a 666f 726d 756c 615f 636f /.fun.formula_co │ │ │ │ -00000f40: 6e64 0a28 0a20 2066 5f63 6f6e 643a 2066 nd.(. f_cond: f │ │ │ │ -00000f50: 6f72 6d2c 2066 5f74 6865 6e3a 2066 6f72 orm, f_then: for │ │ │ │ -00000f60: 6d2c 2066 5f65 6c73 653a 2066 6f72 6d0a m, f_else: form. │ │ │ │ -00000f70: 2920 3a20 666f 726d 202f 2f20 656e 6420 ) : form // end │ │ │ │ -00000f80: 6f66 205b 666f 726d 756c 615f 636f 6e64 of [formula_cond │ │ │ │ -00000f90: 5d0a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a ].//.(* ****** * │ │ │ │ -00000fa0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 6e0a ***** *).//.fun. │ │ │ │ -00000fb0: 666f 726d 756c 615f 6571 6571 2873 3265 formula_eqeq(s2e │ │ │ │ -00000fc0: 313a 2066 6f72 6d2c 2073 3265 323a 2066 1: form, s2e2: f │ │ │ │ -00000fd0: 6f72 6d29 3a20 666f 726d 0a2f 2f0a 282a orm): form.//.(* │ │ │ │ -00000fe0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000ff0: 290a 2f2f 0a66 756e 0a66 6f72 6d75 6c61 ).//.fun.formula │ │ │ │ -00001000: 5f73 697a 656f 665f 7430 7970 6528 7332 _sizeof_t0ype(s2 │ │ │ │ -00001010: 655f 7430 7970 653a 2066 6f72 6d29 3a20 e_t0ype: form): │ │ │ │ -00001020: 666f 726d 0a2f 2f0a 282a 202a 2a2a 2a2a form.//.(* ***** │ │ │ │ -00001030: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a64 * ****** *).//.d │ │ │ │ -00001040: 6174 6174 7970 650a 736f 6c76 6572 636d atatype.solvercm │ │ │ │ -00001050: 6420 3d0a 2f2f 0a7c 2053 4f4c 5645 5243 d =.//.| SOLVERC │ │ │ │ -00001060: 4d44 706f 7020 6f66 2028 290a 7c20 534f MDpop of ().| SO │ │ │ │ -00001070: 4c56 4552 434d 4470 7573 6820 6f66 2028 LVERCMDpush of ( │ │ │ │ -00001080: 290a 2f2f 0a7c 2053 4f4c 5645 5243 4d44 ).//.| SOLVERCMD │ │ │ │ -00001090: 6173 7365 7274 206f 6620 2866 6f72 6d29 assert of (form) │ │ │ │ -000010a0: 0a7c 2053 4f4c 5645 5243 4d44 6368 6563 .| SOLVERCMDchec │ │ │ │ -000010b0: 6b73 6174 206f 6620 2829 0a2f 2f0a 7c20 ksat of ().//.| │ │ │ │ -000010c0: 534f 4c56 4552 434d 4465 6368 6f6c 6f63 SOLVERCMDecholoc │ │ │ │ -000010d0: 206f 6620 286c 6f63 5f74 290a 2f2f 0a7c of (loc_t).//.| │ │ │ │ -000010e0: 2053 4f4c 5645 5243 4d44 706f 7065 6e76 SOLVERCMDpopenv │ │ │ │ -000010f0: 206f 6620 2873 3276 6172 6c73 7429 0a7c of (s2varlst).| │ │ │ │ -00001100: 2053 4f4c 5645 5243 4d44 7075 7368 656e SOLVERCMDpushen │ │ │ │ -00001110: 7620 6f66 2028 282a 766f 6964 2a29 290a v of ((*void*)). │ │ │ │ -00001120: 2f2f 0a7c 2053 4f4c 5645 5243 4d44 706f //.| SOLVERCMDpo │ │ │ │ -00001130: 7065 6e76 3220 6f66 2028 282a 766f 6964 penv2 of ((*void │ │ │ │ -00001140: 2a29 290a 7c20 534f 4c56 4552 434d 4470 *)).| SOLVERCMDp │ │ │ │ -00001150: 7573 6865 6e76 3220 6f66 2028 7332 7661 ushenv2 of (s2va │ │ │ │ -00001160: 726c 7374 290a 2f2f 0a28 2a20 2a2a 2a2a rlst).//.(* **** │ │ │ │ -00001170: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00001180: 6675 6e0a 7072 696e 745f 736f 6c76 6572 fun.print_solver │ │ │ │ -00001190: 636d 6420 2873 6f6c 7665 7263 6d64 293a cmd (solvercmd): │ │ │ │ -000011a0: 2076 6f69 640a 616e 640a 7072 6572 725f void.and.prerr_ │ │ │ │ -000011b0: 736f 6c76 6572 636d 6420 2873 6f6c 7665 solvercmd (solve │ │ │ │ -000011c0: 7263 6d64 293a 2076 6f69 640a 6675 6e0a rcmd): void.fun. │ │ │ │ -000011d0: 6670 7269 6e74 5f73 6f6c 7665 7263 6d64 fprint_solvercmd │ │ │ │ -000011e0: 203a 2066 7072 696e 745f 7479 7065 2873 : fprint_type(s │ │ │ │ -000011f0: 6f6c 7665 7263 6d64 290a 2f2f 0a6f 7665 olvercmd).//.ove │ │ │ │ -00001200: 726c 6f61 6420 7072 696e 7420 7769 7468 rload print with │ │ │ │ -00001210: 2070 7269 6e74 5f73 6f6c 7665 7263 6d64 print_solvercmd │ │ │ │ -00001220: 0a6f 7665 726c 6f61 6420 7072 6572 7220 .overload prerr │ │ │ │ -00001230: 7769 7468 2070 7265 7272 5f73 6f6c 7665 with prerr_solve │ │ │ │ -00001240: 7263 6d64 0a6f 7665 726c 6f61 6420 6670 rcmd.overload fp │ │ │ │ -00001250: 7269 6e74 2077 6974 6820 6670 7269 6e74 rint with fprint │ │ │ │ -00001260: 5f73 6f6c 7665 7263 6d64 0a2f 2f0a 282a _solvercmd.//.(* │ │ │ │ -00001270: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00001280: 290a 2f2f 0a66 756e 0a73 6f6c 7665 7263 ).//.fun.solverc │ │ │ │ -00001290: 6d64 6c73 745f 7265 7665 7273 650a 2020 mdlst_reverse. │ │ │ │ -000012a0: 284c 6973 745f 7674 2873 6f6c 7665 7263 (List_vt(solverc │ │ │ │ -000012b0: 6d64 2929 3a20 4c69 7374 305f 7674 2873 md)): List0_vt(s │ │ │ │ -000012c0: 6f6c 7665 7263 6d64 290a 2f2f 0a28 2a20 olvercmd).//.(* │ │ │ │ -000012d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -000012e0: 0a0a 6162 7376 7479 7065 2073 6d74 656e ..absvtype smten │ │ │ │ -000012f0: 765f 7674 7970 6520 3d20 7074 720a 7674 v_vtype = ptr.vt │ │ │ │ -00001300: 7970 6564 6566 2073 6d74 656e 7620 3d20 ypedef smtenv = │ │ │ │ -00001310: 736d 7465 6e76 5f76 7479 7065 0a0a 282a smtenv_vtype..(* │ │ │ │ -00001320: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00001330: 290a 2f2f 0a66 756e 0a73 6d74 656e 765f ).//.fun.smtenv_ │ │ │ │ -00001340: 6372 6561 7465 2829 3a20 736d 7465 6e76 create(): smtenv │ │ │ │ -00001350: 0a66 756e 0a73 6d74 656e 765f 6465 7374 .fun.smtenv_dest │ │ │ │ -00001360: 726f 7928 656e 763a 2073 6d74 656e 7629 roy(env: smtenv) │ │ │ │ -00001370: 3a20 4c69 7374 305f 7674 2873 6f6c 7665 : List0_vt(solve │ │ │ │ -00001380: 7263 6d64 290a 2f2f 0a28 2a20 2a2a 2a2a rcmd).//.(* **** │ │ │ │ -00001390: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -000013a0: 282a 0a66 756e 0a73 3276 6172 5f70 6f70 (*.fun.s2var_pop │ │ │ │ -000013b0: 5f70 6179 6c6f 6164 2873 3276 6172 293a _payload(s2var): │ │ │ │ -000013c0: 2066 6f72 6d0a 6675 6e0a 7332 7661 725f form.fun.s2var_ │ │ │ │ -000013d0: 746f 705f 7061 796c 6f61 6428 7332 7661 top_payload(s2va │ │ │ │ -000013e0: 7229 3a20 666f 726d 0a66 756e 0a73 3276 r): form.fun.s2v │ │ │ │ -000013f0: 6172 5f70 7573 685f 7061 796c 6f61 6428 ar_push_payload( │ │ │ │ -00001400: 7332 7661 722c 2066 6f72 6d29 3a20 766f s2var, form): vo │ │ │ │ -00001410: 6964 0a2a 290a 2f2f 0a28 2a20 2a2a 2a2a id.*).//.(* **** │ │ │ │ -00001420: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00001430: 6675 6e0a 736d 7465 6e76 5f61 6464 5f73 fun.smtenv_add_s │ │ │ │ -00001440: 3276 6172 0a20 2028 656e 763a 2021 736d 2var. (env: !sm │ │ │ │ -00001450: 7465 6e76 2c20 7332 763a 2073 3276 6172 tenv, s2v: s2var │ │ │ │ -00001460: 293a 2076 6f69 640a 6675 6e0a 736d 7465 ): void.fun.smte │ │ │ │ -00001470: 6e76 5f61 6464 5f73 3265 7870 0a20 2028 nv_add_s2exp. ( │ │ │ │ -00001480: 656e 763a 2021 736d 7465 6e76 2c20 7332 env: !smtenv, s2 │ │ │ │ -00001490: 653a 2073 3265 7870 293a 2076 6f69 640a e: s2exp): void. │ │ │ │ -000014a0: 6675 6e0a 736d 7465 6e76 5f61 6464 5f68 fun.smtenv_add_h │ │ │ │ -000014b0: 3379 706f 0a20 2028 656e 763a 2021 736d 3ypo. (env: !sm │ │ │ │ -000014c0: 7465 6e76 2c20 6833 703a 2068 3379 706f tenv, h3p: h3ypo │ │ │ │ -000014d0: 293a 2076 6f69 640a 2f2f 0a28 2a20 2a2a ): void.//.(* ** │ │ │ │ -000014e0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -000014f0: 2f0a 6675 6e0a 666f 726d 756c 615f 6572 /.fun.formula_er │ │ │ │ -00001500: 726f 725f 7332 6373 7428 7332 6330 3a20 ror_s2cst(s2c0: │ │ │ │ -00001510: 7332 6373 7429 3a20 666f 726d 0a66 756e s2cst): form.fun │ │ │ │ -00001520: 0a66 6f72 6d75 6c61 5f65 7272 6f72 5f73 .formula_error_s │ │ │ │ -00001530: 3265 7870 2873 3265 303a 2073 3265 7870 2exp(s2e0: s2exp │ │ │ │ -00001540: 293a 2066 6f72 6d0a 2f2f 0a6f 7665 726c ): form.//.overl │ │ │ │ -00001550: 6f61 6420 666f 726d 756c 615f 6572 726f oad formula_erro │ │ │ │ -00001560: 7220 7769 7468 2066 6f72 6d75 6c61 5f65 r with formula_e │ │ │ │ -00001570: 7272 6f72 5f73 3263 7374 0a6f 7665 726c rror_s2cst.overl │ │ │ │ -00001580: 6f61 6420 666f 726d 756c 615f 6572 726f oad formula_erro │ │ │ │ -00001590: 7220 7769 7468 2066 6f72 6d75 6c61 5f65 r with formula_e │ │ │ │ -000015a0: 7272 6f72 5f73 3265 7870 0a2f 2f0a 282a rror_s2exp.//.(* │ │ │ │ -000015b0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -000015c0: 290a 2f2f 0a66 756e 0a66 6f72 6d75 6c61 ).//.fun.formula │ │ │ │ -000015d0: 5f6d 616b 655f 7332 6373 740a 2020 2865 _make_s2cst. (e │ │ │ │ -000015e0: 6e76 3a20 2173 6d74 656e 762c 2073 3263 nv: !smtenv, s2c │ │ │ │ -000015f0: 3a20 7332 6373 7429 3a20 666f 726d 0a28 : s2cst): form.( │ │ │ │ -00001600: 2a0a 6675 6e0a 666f 726d 756c 615f 6d61 *.fun.formula_ma │ │ │ │ -00001610: 6b65 5f73 3263 7374 5f66 7265 7368 0a20 ke_s2cst_fresh. │ │ │ │ -00001620: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, │ │ │ │ -00001630: 7332 633a 2073 3263 7374 293a 2066 6f72 s2c: s2cst): for │ │ │ │ -00001640: 6d0a 2a29 0a2f 2f0a 6675 6e0a 666f 726d m.*).//.fun.form │ │ │ │ -00001650: 756c 615f 6d61 6b65 5f73 3276 6172 0a20 ula_make_s2var. │ │ │ │ -00001660: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, │ │ │ │ -00001670: 7332 763a 2073 3276 6172 293a 2066 6f72 s2v: s2var): for │ │ │ │ -00001680: 6d0a 282a 0a66 756e 0a66 6f72 6d75 6c61 m.(*.fun.formula │ │ │ │ -00001690: 5f6d 616b 655f 7332 7661 725f 6672 6573 _make_s2var_fres │ │ │ │ -000016a0: 680a 2020 2865 6e76 3a20 2173 6d74 656e h. (env: !smten │ │ │ │ -000016b0: 762c 2073 3276 3a20 7332 7661 7229 3a20 v, s2v: s2var): │ │ │ │ -000016c0: 666f 726d 0a2a 290a 2f2f 0a66 756e 0a66 form.*).//.fun.f │ │ │ │ -000016d0: 6f72 6d75 6c61 5f6d 616b 655f 7332 5661 ormula_make_s2Va │ │ │ │ -000016e0: 725f 6672 6573 680a 2020 2865 6e76 3a20 r_fresh. (env: │ │ │ │ -000016f0: 2173 6d74 656e 762c 2073 3256 3a20 7332 !smtenv, s2V: s2 │ │ │ │ -00001700: 5661 722c 2073 3274 3a20 7332 7274 293a Var, s2t: s2rt): │ │ │ │ -00001710: 2066 6f72 6d0a 2f2f 0a28 2a20 2a2a 2a2a form.//.(* **** │ │ │ │ -00001720: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00001730: 6675 6e0a 666f 726d 756c 615f 6d61 6b65 fun.formula_make │ │ │ │ -00001740: 5f73 3265 7870 0a20 2028 656e 763a 2021 _s2exp. (env: ! │ │ │ │ -00001750: 736d 7465 6e76 2c20 7332 653a 2073 3265 smtenv, s2e: s2e │ │ │ │ -00001760: 7870 293a 2066 6f72 6d0a 6675 6e0a 666f xp): form.fun.fo │ │ │ │ -00001770: 726d 756c 6173 5f6d 616b 655f 7332 6578 rmulas_make_s2ex │ │ │ │ -00001780: 706c 7374 0a20 2028 656e 763a 2021 736d plst. (env: !sm │ │ │ │ -00001790: 7465 6e76 2c20 7332 6573 3a20 7332 6578 tenv, s2es: s2ex │ │ │ │ -000017a0: 706c 7374 293a 2066 6f72 6d6c 7374 0a66 plst): formlst.f │ │ │ │ -000017b0: 756e 0a66 6f72 6d75 6c61 735f 6d61 6b65 un.formulas_make │ │ │ │ -000017c0: 5f6c 6162 7332 6578 706c 7374 0a20 2028 _labs2explst. ( │ │ │ │ -000017d0: 656e 763a 2021 736d 7465 6e76 2c20 6c73 env: !smtenv, ls │ │ │ │ -000017e0: 3265 733a 206c 6162 7332 6578 706c 7374 2es: labs2explst │ │ │ │ -000017f0: 293a 2066 6f72 6d6c 7374 0a2f 2f0a 6675 ): formlst.//.fu │ │ │ │ -00001800: 6e0a 666f 726d 756c 615f 6d61 6b65 5f73 n.formula_make_s │ │ │ │ -00001810: 3263 7374 5f73 3265 7870 6c73 740a 2020 2cst_s2explst. │ │ │ │ -00001820: 2865 6e76 3a20 2173 6d74 656e 762c 2073 (env: !smtenv, s │ │ │ │ -00001830: 3263 3a20 7332 6373 742c 2073 3265 733a 2c: s2cst, s2es: │ │ │ │ -00001840: 2073 3265 7870 6c73 7429 3a20 666f 726d s2explst): form │ │ │ │ -00001850: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00001860: 2a2a 2a2a 202a 290a 2f2f 0a66 756e 0a74 **** *).//.fun.t │ │ │ │ -00001870: 6865 5f73 3263 696e 7465 7270 5f69 6e69 he_s2cinterp_ini │ │ │ │ -00001880: 7469 7a65 2829 3a20 766f 6964 0a2f 2f0a tize(): void.//. │ │ │ │ -00001890: 6675 6e0a 7332 6373 745f 6765 745f 7332 fun.s2cst_get_s2 │ │ │ │ -000018a0: 6369 6e74 6572 7028 7332 633a 2073 3263 cinterp(s2c: s2c │ │ │ │ -000018b0: 7374 293a 2073 3263 7374 6f70 740a 2f2f st): s2cstopt.// │ │ │ │ -000018c0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -000018d0: 2a20 2a29 0a0a 6162 7376 6965 7720 736d * *)..absview sm │ │ │ │ -000018e0: 7465 6e76 5f70 7573 685f 760a 0a28 2a20 tenv_push_v..(* │ │ │ │ -000018f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00001900: 0a2f 2f0a 6675 6e0a 736d 7465 6e76 5f70 .//.fun.smtenv_p │ │ │ │ -00001910: 6f70 2873 6d74 656e 765f 7075 7368 5f76 op(smtenv_push_v │ │ │ │ -00001920: 207c 2021 736d 7465 6e76 293a 2076 6f69 | !smtenv): voi │ │ │ │ -00001930: 640a 2f2f 0a66 756e 0a73 6d74 656e 765f d.//.fun.smtenv_ │ │ │ │ -00001940: 7075 7368 2865 6e76 3a20 2173 6d74 656e push(env: !smten │ │ │ │ -00001950: 7629 3a20 2873 6d74 656e 765f 7075 7368 v): (smtenv_push │ │ │ │ -00001960: 5f76 207c 2076 6f69 6429 0a2f 2f0a 282a _v | void).//.(* │ │ │ │ -00001970: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00001980: 290a 2f2f 0a66 756e 0a73 6d74 656e 765f ).//.fun.smtenv_ │ │ │ │ -00001990: 736f 6c76 655f 666f 726d 756c 610a 280a solve_formula.(. │ │ │ │ -000019a0: 2020 656e 763a 2021 736d 7465 6e76 2c20 env: !smtenv, │ │ │ │ -000019b0: 6c6f 6330 3a20 6c6f 635f 742c 2066 6d6c loc0: loc_t, fml │ │ │ │ -000019c0: 3a20 666f 726d 0a29 203a 2076 6f69 6420 : form.) : void │ │ │ │ -000019d0: 2f2f 2065 6e64 2d6f 662d 6675 6e63 7469 // end-of-functi │ │ │ │ -000019e0: 6f6e 0a2f 2f20 0a28 2a20 2a2a 2a2a 2a2a on.// .(* ****** │ │ │ │ -000019f0: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu │ │ │ │ -00001a00: 6e20 656d 6974 5f66 6f72 6d28 6f75 743a n emit_form(out: │ │ │ │ -00001a10: 2046 494c 4572 6566 2c20 666d 6c3a 2066 FILEref, fml: f │ │ │ │ -00001a20: 6f72 6d29 3a20 766f 6964 0a2f 2f0a 6675 orm): void.//.fu │ │ │ │ -00001a30: 6e20 656d 6974 5f73 3272 7428 6f75 743a n emit_s2rt(out: │ │ │ │ -00001a40: 2046 494c 4572 6566 2c20 7332 743a 2073 FILEref, s2t: s │ │ │ │ -00001a50: 3272 7429 3a20 766f 6964 0a66 756e 2065 2rt): void.fun e │ │ │ │ -00001a60: 6d69 745f 7332 7274 6c73 7428 6f75 743a mit_s2rtlst(out: │ │ │ │ -00001a70: 2046 494c 4572 6566 2c20 7332 7473 3a20 FILEref, s2ts: │ │ │ │ -00001a80: 7332 7274 6c73 7429 3a20 766f 6964 0a2f s2rtlst): void./ │ │ │ │ -00001a90: 2f0a 6675 6e20 656d 6974 5f73 3263 7374 /.fun emit_s2cst │ │ │ │ -00001aa0: 286f 7574 3a20 4649 4c45 7265 662c 2073 (out: FILEref, s │ │ │ │ -00001ab0: 3265 3a20 7332 6373 7429 3a20 766f 6964 2e: s2cst): void │ │ │ │ -00001ac0: 0a66 756e 2065 6d69 745f 7332 7661 7228 .fun emit_s2var( │ │ │ │ -00001ad0: 6f75 743a 2046 494c 4572 6566 2c20 7332 out: FILEref, s2 │ │ │ │ -00001ae0: 653a 2073 3276 6172 293a 2076 6f69 640a e: s2var): void. │ │ │ │ -00001af0: 6675 6e20 656d 6974 5f73 3265 7870 286f fun emit_s2exp(o │ │ │ │ -00001b00: 7574 3a20 4649 4c45 7265 662c 2073 3265 ut: FILEref, s2e │ │ │ │ -00001b10: 3a20 7332 6578 7029 3a20 766f 6964 0a2f : s2exp): void./ │ │ │ │ -00001b20: 2f0a 6675 6e20 656d 6974 5f64 6563 6c5f /.fun emit_decl_ │ │ │ │ -00001b30: 7332 6373 7428 6f75 743a 2046 494c 4572 s2cst(out: FILEr │ │ │ │ -00001b40: 6566 2c20 7332 633a 2073 3263 7374 293a ef, s2c: s2cst): │ │ │ │ -00001b50: 2076 6f69 640a 6675 6e20 656d 6974 5f64 void.fun emit_d │ │ │ │ -00001b60: 6563 6c5f 7332 6373 746c 7374 286f 7574 ecl_s2cstlst(out │ │ │ │ -00001b70: 3a20 4649 4c45 7265 662c 2073 3263 733a : FILEref, s2cs: │ │ │ │ -00001b80: 2073 3263 7374 6c73 7429 3a20 766f 6964 s2cstlst): void │ │ │ │ -00001b90: 0a2f 2f0a 6675 6e20 656d 6974 5f64 6563 .//.fun emit_dec │ │ │ │ -00001ba0: 6c5f 7332 7661 7228 6f75 743a 2046 494c l_s2var(out: FIL │ │ │ │ -00001bb0: 4572 6566 2c20 7332 763a 2073 3276 6172 Eref, s2v: s2var │ │ │ │ -00001bc0: 293a 2076 6f69 640a 6675 6e20 656d 6974 ): void.fun emit │ │ │ │ -00001bd0: 5f64 6563 6c5f 7332 7661 726c 7374 286f _decl_s2varlst(o │ │ │ │ -00001be0: 7574 3a20 4649 4c45 7265 662c 2073 3276 ut: FILEref, s2v │ │ │ │ -00001bf0: 733a 2073 3276 6172 6c73 7429 3a20 766f s: s2varlst): vo │ │ │ │ -00001c00: 6964 0a2f 2f0a 6675 6e20 656d 6974 5f73 id.//.fun emit_s │ │ │ │ -00001c10: 6f6c 7665 7263 6d64 286f 7574 3a20 4649 olvercmd(out: FI │ │ │ │ -00001c20: 4c45 7265 662c 2063 6d64 3a20 736f 6c76 LEref, cmd: solv │ │ │ │ -00001c30: 6572 636d 6429 3a20 766f 6964 0a66 756e ercmd): void.fun │ │ │ │ -00001c40: 2065 6d69 745f 736f 6c76 6572 636d 646c emit_solvercmdl │ │ │ │ -00001c50: 7374 286f 7574 3a20 4649 4c45 7265 662c st(out: FILEref, │ │ │ │ -00001c60: 2063 6d64 733a 204c 6973 7428 736f 6c76 cmds: List(solv │ │ │ │ -00001c70: 6572 636d 6429 293a 2076 6f69 640a 2f2f ercmd)): void.// │ │ │ │ -00001c80: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00001c90: 2a20 2a29 0a2f 2f0a 6675 6e20 656d 6974 * *).//.fun emit │ │ │ │ -00001ca0: 5f70 7265 616d 626c 6528 4649 4c45 7265 _preamble(FILEre │ │ │ │ -00001cb0: 6629 3a20 766f 6964 0a2f 2f0a 6675 6e20 f): void.//.fun │ │ │ │ -00001cc0: 656d 6974 5f70 7265 616d 626c 655f 7265 emit_preamble_re │ │ │ │ -00001cd0: 616c 2846 494c 4572 6566 293a 2076 6f69 al(FILEref): voi │ │ │ │ -00001ce0: 640a 2f2f 0a28 2a0a 6675 6e20 656d 6974 d.//.(*.fun emit │ │ │ │ -00001cf0: 5f70 7265 616d 626c 655f 7365 7428 4649 _preamble_set(FI │ │ │ │ -00001d00: 4c45 7265 6629 3a20 766f 6964 0a66 756e LEref): void.fun │ │ │ │ -00001d10: 2065 6d69 745f 7072 6561 6d62 6c65 5f6d emit_preamble_m │ │ │ │ -00001d20: 7365 7428 4649 4c45 7265 6629 3a20 766f set(FILEref): vo │ │ │ │ -00001d30: 6964 0a66 756e 2065 6d69 745f 7072 6561 id.fun emit_prea │ │ │ │ -00001d40: 6d62 6c65 5f61 7272 6179 2846 494c 4572 mble_array(FILEr │ │ │ │ -00001d50: 6566 293a 2076 6f69 640a 2a29 0a2f 2f0a ef): void.*).//. │ │ │ │ -00001d60: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00001d70: 202a 290a 2f2f 0a66 756e 2065 6d69 745f *).//.fun emit_ │ │ │ │ -00001d80: 7468 655f 7332 6373 746d 6170 286f 7574 the_s2cstmap(out │ │ │ │ -00001d90: 3a20 4649 4c45 7265 6629 3a20 766f 6964 : FILEref): void │ │ │ │ -00001da0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00001db0: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end │ │ │ │ -00001dc0: 6f66 205b 7061 7473 6f6c 7665 5f73 6d74 of [patsolve_smt │ │ │ │ -00001dd0: 325f 736f 6c76 696e 672e 7361 7473 5d20 2_solving.sats] │ │ │ │ -00001de0: 2a29 0a *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats │ │ │ │ @@ -1,57 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f50 596c 6973 745f 220a 2f2f 0a28 2a20 _PYlist_".//.(* │ │ │ │ -00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA │ │ │ │ -00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc." │ │ │ │ -00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\./cont │ │ │ │ -00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS │ │ │ │ -00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2".//.(* * │ │ │ │ -00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN = │ │ │ │ -00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 "prelude/SATS/u │ │ │ │ -000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats".//.( │ │ │ │ -000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000001c0: 2a29 0a0a 2373 7461 6c6f 6164 2022 2e2f *)..#staload "./ │ │ │ │ -000001d0: 2e2e 2f62 6173 6963 735f 7079 2e73 6174 ../basics_py.sat │ │ │ │ -000001e0: 7322 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a s"..(* ****** ** │ │ │ │ -000001f0: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal │ │ │ │ -00000200: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f69 oad "./../SATS/i │ │ │ │ -00000210: 6e74 6567 6572 2e73 6174 7322 0a2f 2f0a nteger.sats".//. │ │ │ │ -00000220: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000230: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload │ │ │ │ -00000240: 222e 2f2e 2e2f 5341 5453 2f70 7269 6e74 "./../SATS/print │ │ │ │ -00000250: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats".#staload │ │ │ │ -00000260: 222e 2f2e 2e2f 5341 5453 2f66 696c 6562 "./../SATS/fileb │ │ │ │ -00000270: 6173 2e73 6174 7322 0a2f 2f0a 282a 202a as.sats".//.(* * │ │ │ │ -00000280: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000290: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload "./../ │ │ │ │ -000002a0: 5341 5453 2f6c 6973 742e 7361 7473 220a SATS/list.sats". │ │ │ │ -000002b0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload "./../S │ │ │ │ -000002c0: 4154 532f 5059 6c69 7374 2e73 6174 7322 ATS/PYlist.sats" │ │ │ │ -000002d0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -000002e0: 2a2a 202a 290a 2f2f 0a69 6d70 6c65 6d65 ** *).//.impleme │ │ │ │ -000002f0: 6e74 0a7b 617d 282a 746d 702a 290a 5059 nt.{a}(*tmp*).PY │ │ │ │ -00000300: 6c69 7374 5f73 6f72 745f 3128 7873 2920 list_sort_1(xs) │ │ │ │ -00000310: 3d20 0a50 596c 6973 745f 736f 7274 5f32 = .PYlist_sort_2 │ │ │ │ -00000320: 0a20 2028 7873 2c20 6c61 6d28 7831 2c20 . (xs, lam(x1, │ │ │ │ -00000330: 7832 2920 3d3e 2067 636f 6d70 6172 655f x2) => gcompare_ │ │ │ │ -00000340: 7661 6c5f 7661 6c3c 613e 2878 312c 2078 val_val(x1, x │ │ │ │ -00000350: 3229 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 2)).//.(* ****** │ │ │ │ -00000360: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e │ │ │ │ -00000370: 6e64 206f 6620 5b50 596c 6973 742e 6461 nd of [PYlist.da │ │ │ │ -00000380: 7473 5d20 2a29 0a ts] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats │ │ │ │ @@ -1,77 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 204a 6176 6173 6372 6970 740a 2a29 to Javascript.*) │ │ │ │ -00000040: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00000050: 2a2a 202a 290a 0a23 6465 6669 6e65 2041 ** *)..#define A │ │ │ │ -00000060: 5453 5f44 594e 4c4f 4144 464c 4147 2030 TS_DYNLOADFLAG 0 │ │ │ │ -00000070: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00000080: 2a2a 202a 290a 2f2f 0a2f 2f20 4858 2d32 ** *).//.// HX-2 │ │ │ │ -00000090: 3031 342d 3038 3a0a 2f2f 2070 7265 6669 014-08:.// prefi │ │ │ │ -000000a0: 7820 666f 7220 6578 7465 726e 616c 206e x for external n │ │ │ │ -000000b0: 616d 6573 0a2f 2f0a 2364 6566 696e 650a ames.//.#define. │ │ │ │ -000000c0: 4154 535f 4558 5445 524e 5f50 5245 4649 ATS_EXTERN_PREFI │ │ │ │ -000000d0: 5820 2261 7473 3270 7970 7265 5f22 0a23 X "ats2pypre_".# │ │ │ │ -000000e0: 6465 6669 6e65 0a41 5453 5f53 5441 5449 define.ATS_STATI │ │ │ │ -000000f0: 435f 5052 4546 4958 2022 5f61 7473 3270 C_PREFIX "_ats2p │ │ │ │ -00000100: 7970 7265 5f62 6173 6963 735f 220a 2f2f ypre_basics_".// │ │ │ │ -00000110: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000120: 2a20 2a29 0a2f 2f0a 2364 6566 696e 650a * *).//.#define. │ │ │ │ -00000130: 4c49 4241 5453 4343 5f74 6172 6765 746c LIBATSCC_targetl │ │ │ │ -00000140: 6f63 0a22 2450 4154 5348 4f4d 455c 0a2f oc."$PATSHOME\./ │ │ │ │ -00000150: 636f 6e74 7269 622f 6c69 6261 7473 6363 contrib/libatscc │ │ │ │ -00000160: 2f41 5453 322d 302e 332e 3222 0a2f 2f0a /ATS2-0.3.2".//. │ │ │ │ -00000170: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000180: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload │ │ │ │ -00000190: 222e 2f2e 2e2f 6261 7369 6373 5f70 792e "./../basics_py. │ │ │ │ -000001a0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats".//.(* **** │ │ │ │ -000001b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -000001c0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload "./../S │ │ │ │ -000001d0: 4154 532f 696e 7465 6765 722e 7361 7473 ATS/integer.sats │ │ │ │ -000001e0: 220a 2f2f 0a23 7374 616c 6f61 6420 222e ".//.#staload ". │ │ │ │ -000001f0: 2f2e 2e2f 5341 5453 2f62 6f6f 6c2e 7361 /../SATS/bool.sa │ │ │ │ -00000200: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts".#staload "./ │ │ │ │ -00000210: 2e2e 2f53 4154 532f 666c 6f61 742e 7361 ../SATS/float.sa │ │ │ │ -00000220: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts".#staload "./ │ │ │ │ -00000230: 2e2e 2f53 4154 532f 7374 7269 6e67 2e73 ../SATS/string.s │ │ │ │ -00000240: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats".//.(* ***** │ │ │ │ -00000250: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.# │ │ │ │ -00000260: 696e 636c 7564 6520 227b 244c 4942 4154 include "{$LIBAT │ │ │ │ -00000270: 5343 437d 2f44 4154 532f 6261 7369 6373 SCC}/DATS/basics │ │ │ │ -00000280: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats".//.(* *** │ │ │ │ -00000290: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000002a0: 0a69 6d70 6c65 6d65 6e74 0a67 636f 6d70 .implement.gcomp │ │ │ │ -000002b0: 6172 655f 7661 6c5f 7661 6c3c 696e 743e are_val_val │ │ │ │ -000002c0: 0a20 2028 782c 2079 2920 3d0a 2020 2465 . (x, y) =. $e │ │ │ │ -000002d0: 6666 6d61 736b 5f61 6c6c 2863 6f6d 7061 ffmask_all(compa │ │ │ │ -000002e0: 7265 5f69 6e74 305f 696e 7430 2878 2c20 re_int0_int0(x, │ │ │ │ -000002f0: 7929 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a y)).//.(* ****** │ │ │ │ -00000300: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d ****** *).//.im │ │ │ │ -00000310: 706c 656d 656e 740a 6763 6f6d 7061 7265 plement.gcompare │ │ │ │ -00000320: 5f76 616c 5f76 616c 3c62 6f6f 6c3e 0a20 _val_val. │ │ │ │ -00000330: 2028 782c 2079 2920 3d0a 280a 2f2f 0a69 (x, y) =.(.//.i │ │ │ │ -00000340: 6620 2878 290a 2020 7468 656e 2028 6966 f (x). then (if │ │ │ │ -00000350: 2079 2074 6865 6e20 3028 2a74 2f74 2a29 y then 0(*t/t*) │ │ │ │ -00000360: 2065 6c73 6520 3128 2a74 2f66 2a29 290a else 1(*t/f*)). │ │ │ │ -00000370: 2020 656c 7365 2028 6966 2079 2074 6865 else (if y the │ │ │ │ -00000380: 6e20 7e31 282a 662f 742a 2920 656c 7365 n ~1(*f/t*) else │ │ │ │ -00000390: 2030 282a 662f 662a 2929 0a2f 2f0a 2920 0(*f/f*)).//.) │ │ │ │ -000003a0: 282a 2067 636f 6d70 6172 655f 7661 6c5f (* gcompare_val_ │ │ │ │ -000003b0: 7661 6c3c 626f 6f6c 3e20 2a29 0a2f 2f0a val *).//. │ │ │ │ -000003c0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000003d0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement │ │ │ │ -000003e0: 0a67 636f 6d70 6172 655f 7661 6c5f 7661 .gcompare_val_va │ │ │ │ -000003f0: 6c3c 646f 7562 6c65 3e0a 2020 2878 2c20 l. (x, │ │ │ │ -00000400: 7929 203d 0a20 2024 6566 666d 6173 6b5f y) =. $effmask_ │ │ │ │ -00000410: 616c 6c28 636f 6d70 6172 655f 646f 7562 all(compare_doub │ │ │ │ -00000420: 6c65 5f64 6f75 626c 6528 782c 2079 2929 le_double(x, y)) │ │ │ │ -00000430: 0a2f 2f0a 696d 706c 656d 656e 740a 6763 .//.implement.gc │ │ │ │ -00000440: 6f6d 7061 7265 5f76 616c 5f76 616c 3c73 ompare_val_val. (x, y) │ │ │ │ -00000460: 3d0a 2020 2465 6666 6d61 736b 5f61 6c6c =. $effmask_all │ │ │ │ -00000470: 2863 6f6d 7061 7265 5f73 7472 696e 675f (compare_string_ │ │ │ │ -00000480: 7374 7269 6e67 2878 2c20 7929 290a 2f2f string(x, y)).// │ │ │ │ -00000490: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -000004a0: 2a20 2a29 0a0a 282a 2065 6e64 206f 6620 * *)..(* end of │ │ │ │ -000004b0: 5b62 6173 6963 732e 6461 7473 5d20 2a29 [basics.dats] *) │ │ │ │ -000004c0: 0a . │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats │ │ │ │ @@ -1,50 +0,0 @@ │ │ │ │ -00000000: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000010: 202a 290a 282a 0a2a 2a20 466f 7220 7772 *).(*.** For wr │ │ │ │ -00000020: 6974 696e 6720 4154 5320 636f 6465 0a2a iting ATS code.* │ │ │ │ -00000030: 2a20 7468 6174 2074 7261 6e73 6c61 7465 * that translate │ │ │ │ -00000040: 7320 696e 746f 2050 7974 686f 6e33 0a2a s into Python3.* │ │ │ │ -00000050: 290a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ).(* ****** **** │ │ │ │ -00000060: 2a2a 202a 290a 0a23 6465 6669 6e65 2041 ** *)..#define A │ │ │ │ -00000070: 5453 5f44 594e 4c4f 4144 464c 4147 2030 TS_DYNLOADFLAG 0 │ │ │ │ -00000080: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00000090: 2a2a 202a 290a 2f2f 0a2f 2f20 4858 2d32 ** *).//.// HX-2 │ │ │ │ -000000a0: 3031 342d 3038 3a0a 2f2f 2070 7265 6669 014-08:.// prefi │ │ │ │ -000000b0: 7820 666f 7220 6578 7465 726e 616c 206e x for external n │ │ │ │ -000000c0: 616d 6573 0a2f 2f0a 2364 6566 696e 650a ames.//.#define. │ │ │ │ -000000d0: 4154 535f 4558 5445 524e 5f50 5245 4649 ATS_EXTERN_PREFI │ │ │ │ -000000e0: 5820 2261 7473 3270 7970 7265 5f22 0a23 X "ats2pypre_".# │ │ │ │ -000000f0: 6465 6669 6e65 0a41 5453 5f53 5441 5449 define.ATS_STATI │ │ │ │ -00000100: 435f 5052 4546 4958 2022 5f61 7473 3270 C_PREFIX "_ats2p │ │ │ │ -00000110: 7970 7265 5f66 756e 6172 7261 795f 220a ypre_funarray_". │ │ │ │ -00000120: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000130: 2a2a 2a20 2a29 0a2f 2f0a 2364 6566 696e *** *).//.#defin │ │ │ │ -00000140: 650a 4c49 4241 5453 4343 5f74 6172 6765 e.LIBATSCC_targe │ │ │ │ -00000150: 746c 6f63 0a22 2450 4154 5348 4f4d 455c tloc."$PATSHOME\ │ │ │ │ -00000160: 0a2f 636f 6e74 7269 622f 6c69 6261 7473 ./contrib/libats │ │ │ │ -00000170: 6363 2f41 5453 322d 302e 332e 3222 0a2f cc/ATS2-0.3.2"./ │ │ │ │ -00000180: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000190: 2a2a 202a 290a 2f2f 0a23 7374 616c 6f61 ** *).//.#staloa │ │ │ │ -000001a0: 640a 554e 203d 2022 7072 656c 7564 652f d.UN = "prelude/ │ │ │ │ -000001b0: 5341 5453 2f75 6e73 6166 652e 7361 7473 SATS/unsafe.sats │ │ │ │ -000001c0: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a ".//.(* ****** * │ │ │ │ -000001d0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 ***** *).//.#sta │ │ │ │ -000001e0: 6c6f 6164 2022 2e2f 2e2e 2f53 4154 532f load "./../SATS/ │ │ │ │ -000001f0: 696e 7465 6765 722e 7361 7473 220a 2f2f integer.sats".// │ │ │ │ -00000200: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000210: 2a20 2a29 0a2f 2f0a 282a 0a23 7374 616c * *).//.(*.#stal │ │ │ │ -00000220: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f70 oad "./../SATS/p │ │ │ │ -00000230: 7269 6e74 2e73 6174 7322 0a23 7374 616c rint.sats".#stal │ │ │ │ -00000240: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f66 oad "./../SATS/f │ │ │ │ -00000250: 696c 6562 6173 2e73 6174 7322 0a2a 290a ilebas.sats".*). │ │ │ │ -00000260: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000270: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo │ │ │ │ -00000280: 6164 2022 2e2f 2e2e 2f53 4154 532f 6675 ad "./../SATS/fu │ │ │ │ -00000290: 6e61 7272 6179 2e73 6174 7322 0a2f 2f0a narray.sats".//. │ │ │ │ -000002a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000002b0: 202a 290a 2f2f 0a23 696e 636c 7564 6520 *).//.#include │ │ │ │ -000002c0: 227b 244c 4942 4154 5343 437d 2f44 4154 "{$LIBATSCC}/DAT │ │ │ │ -000002d0: 532f 6675 6e61 7272 6179 2e64 6174 7322 S/funarray.dats" │ │ │ │ -000002e0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -000002f0: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end │ │ │ │ -00000300: 6f66 205b 6675 6e61 7272 6179 2e64 6174 of [funarray.dat │ │ │ │ -00000310: 735d 202a 290a s] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats │ │ │ │ @@ -1,39 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f69 6e74 7261 6e67 655f 220a 2f2f 0a28 _intrange_".//.( │ │ │ │ -00000110: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000120: 2a29 0a2f 2f0a 2364 6566 696e 650a 4c49 *).//.#define.LI │ │ │ │ -00000130: 4241 5453 4343 5f74 6172 6765 746c 6f63 BATSCC_targetloc │ │ │ │ -00000140: 0a22 2450 4154 5348 4f4d 455c 0a2f 636f ."$PATSHOME\./co │ │ │ │ -00000150: 6e74 7269 622f 6c69 6261 7473 6363 2f41 ntrib/libatscc/A │ │ │ │ -00000160: 5453 322d 302e 332e 3222 0a2f 2f0a 282a TS2-0.3.2".//.(* │ │ │ │ -00000170: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000180: 290a 2f2f 0a23 696e 636c 7564 6520 222e ).//.#include ". │ │ │ │ -00000190: 2f2e 2e2f 7374 616c 6f61 6461 6c6c 2e68 /../staloadall.h │ │ │ │ -000001a0: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats".//.(* ***** │ │ │ │ -000001b0: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.# │ │ │ │ -000001c0: 6465 6669 6e65 2041 5453 4343 5f53 5452 define ATSCC_STR │ │ │ │ -000001d0: 4541 4d20 310a 2364 6566 696e 6520 4154 EAM 1.#define AT │ │ │ │ -000001e0: 5343 435f 5354 5245 414d 5f56 5420 310a SCC_STREAM_VT 1. │ │ │ │ -000001f0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000200: 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 6c75 *** *).//.#inclu │ │ │ │ -00000210: 6465 2022 7b24 4c49 4241 5453 4343 7d2f de "{$LIBATSCC}/ │ │ │ │ -00000220: 4441 5453 2f69 6e74 7261 6e67 652e 6461 DATS/intrange.da │ │ │ │ -00000230: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000240: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e │ │ │ │ -00000250: 6e64 206f 6620 5b69 6e74 7261 6e67 652e nd of [intrange. │ │ │ │ -00000260: 6461 7473 5d20 2a29 0a dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats │ │ │ │ @@ -1,150 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e33 0a2a 290a 0a28 to Python3.*)..( │ │ │ │ -00000040: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000050: 2a29 0a0a 2364 6566 696e 6520 4154 535f *)..#define ATS_ │ │ │ │ -00000060: 4459 4e4c 4f41 4446 4c41 4720 300a 0a28 DYNLOADFLAG 0..( │ │ │ │ -00000070: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000080: 2a29 0a2f 2f0a 2f2f 2048 582d 3230 3134 *).//.// HX-2014 │ │ │ │ -00000090: 2d30 383a 0a2f 2f20 7072 6566 6978 2066 -08:.// prefix f │ │ │ │ -000000a0: 6f72 2065 7874 6572 6e61 6c20 6e61 6d65 or external name │ │ │ │ -000000b0: 730a 2f2f 0a23 6465 6669 6e65 0a41 5453 s.//.#define.ATS │ │ │ │ -000000c0: 5f45 5854 4552 4e5f 5052 4546 4958 2022 _EXTERN_PREFIX " │ │ │ │ -000000d0: 6174 7332 7079 7072 655f 220a 2364 6566 ats2pypre_".#def │ │ │ │ -000000e0: 696e 650a 4154 535f 5354 4154 4943 5f50 ine.ATS_STATIC_P │ │ │ │ -000000f0: 5245 4649 5820 225f 6174 7332 7079 7072 REFIX "_ats2pypr │ │ │ │ -00000100: 655f 6d61 7472 6978 7265 665f 220a 2f2f e_matrixref_".// │ │ │ │ -00000110: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000120: 2a20 2a29 0a2f 2f0a 2364 6566 696e 650a * *).//.#define. │ │ │ │ -00000130: 4c49 4241 5453 4343 5f74 6172 6765 746c LIBATSCC_targetl │ │ │ │ -00000140: 6f63 0a22 2450 4154 5348 4f4d 455c 0a2f oc."$PATSHOME\./ │ │ │ │ -00000150: 636f 6e74 7269 622f 6c69 6261 7473 6363 contrib/libatscc │ │ │ │ -00000160: 2f41 5453 322d 302e 332e 3222 0a2f 2f0a /ATS2-0.3.2".//. │ │ │ │ -00000170: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000180: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload. │ │ │ │ -00000190: 554e 203d 2022 7072 656c 7564 652f 5341 UN = "prelude/SA │ │ │ │ -000001a0: 5453 2f75 6e73 6166 652e 7361 7473 220a TS/unsafe.sats". │ │ │ │ -000001b0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -000001c0: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo │ │ │ │ -000001d0: 6164 2022 2e2f 2e2e 2f62 6173 6963 735f ad "./../basics_ │ │ │ │ -000001e0: 7079 2e73 6174 7322 0a2f 2f0a 2373 7461 py.sats".//.#sta │ │ │ │ -000001f0: 6c6f 6164 2022 2e2f 2e2e 2f53 4154 532f load "./../SATS/ │ │ │ │ -00000200: 696e 7465 6765 722e 7361 7473 220a 2f2f integer.sats".// │ │ │ │ -00000210: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000220: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload │ │ │ │ -00000230: 2022 2e2f 2e2e 2f53 4154 532f 5059 6c69 "./../SATS/PYli │ │ │ │ -00000240: 7374 2e73 6174 7322 0a23 7374 616c 6f61 st.sats".#staloa │ │ │ │ -00000250: 6420 222e 2f2e 2e2f 5341 5453 2f69 6e74 d "./../SATS/int │ │ │ │ -00000260: 7261 6e67 652e 7361 7473 220a 2f2f 0a28 range.sats".//.( │ │ │ │ -00000270: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000280: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload " │ │ │ │ -00000290: 2e2f 2e2e 2f53 4154 532f 6d61 7472 6978 ./../SATS/matrix │ │ │ │ -000002a0: 7265 662e 7361 7473 220a 2f2f 0a28 2a20 ref.sats".//.(* │ │ │ │ -000002b0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -000002c0: 0a2f 2f0a 2369 6e63 6c75 6465 2022 7b24 .//.#include "{$ │ │ │ │ -000002d0: 4c49 4241 5453 4343 7d2f 4441 5453 2f6d LIBATSCC}/DATS/m │ │ │ │ -000002e0: 6174 7269 7872 6566 2e64 6174 7322 0a2f atrixref.dats"./ │ │ │ │ -000002f0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -00000300: 2a2a 202a 290a 2f2f 0a28 2a0a 6173 7375 ** *).//.(*.assu │ │ │ │ -00000310: 6d65 0a6d 6174 7269 7872 6566 5f76 7430 me.matrixref_vt0 │ │ │ │ -00000320: 7970 655f 7479 7065 2861 2c20 6d2c 206e ype_type(a, m, n │ │ │ │ -00000330: 2920 3d20 5059 6c69 7374 2861 290a 2a29 ) = PYlist(a).*) │ │ │ │ -00000340: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000350: 2a2a 2a2a 202a 290a 257b 5e0a 2323 2323 **** *).%{^.#### │ │ │ │ -00000360: 2323 0a64 6566 2061 7473 3270 7970 7265 ##.def ats2pypre │ │ │ │ -00000370: 5f6d 6174 7269 7872 6566 5f6d 616b 655f _matrixref_make_ │ │ │ │ -00000380: 656c 7428 6d2c 206e 2c20 7830 293a 0a20 elt(m, n, x0):. │ │ │ │ -00000390: 204d 203d 205b 5d0a 2020 6930 203d 2030 M = []. i0 = 0 │ │ │ │ -000003a0: 0a20 206d 6e20 3d20 6d20 2a20 6e0a 2020 . mn = m * n. │ │ │ │ -000003b0: 7768 696c 6520 2869 3020 3c20 6d6e 293a while (i0 < mn): │ │ │ │ -000003c0: 2069 3020 3d20 6930 202b 2031 3b20 4d2e i0 = i0 + 1; M. │ │ │ │ -000003d0: 6170 7065 6e64 2878 3029 0a20 2072 6574 append(x0). ret │ │ │ │ -000003e0: 7572 6e20 4d0a 2323 2323 2323 0a25 7d20 urn M.######.%} │ │ │ │ -000003f0: 2f2f 2065 6e64 206f 6620 5b25 7b5e 5d0a // end of [%{^]. │ │ │ │ -00000400: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000410: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement. │ │ │ │ -00000420: 6d61 7472 6978 7265 665f 6765 745f 6174 matrixref_get_at │ │ │ │ -00000430: 0a20 207b 617d 2841 2c20 692c 206e 2c20 . {a}(A, i, n, │ │ │ │ -00000440: 6a29 203d 206c 6574 0a20 2076 616c 2041 j) = let. val A │ │ │ │ -00000450: 203d 2024 554e 2e63 6173 747b 5059 6c69 = $UN.cast{PYli │ │ │ │ -00000460: 7374 2861 297d 2841 2920 696e 2050 596c st(a)}(A) in PYl │ │ │ │ -00000470: 6973 745f 6765 745f 6174 2841 2c20 692a ist_get_at(A, i* │ │ │ │ -00000480: 6e2b 6a29 0a65 6e64 202f 2f20 656e 6420 n+j).end // end │ │ │ │ -00000490: 6f66 205b 6d61 7472 6978 7265 665f 6765 of [matrixref_ge │ │ │ │ -000004a0: 745f 6174 5d0a 0a28 2a20 2a2a 2a2a 2a2a t_at]..(* ****** │ │ │ │ -000004b0: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl │ │ │ │ -000004c0: 656d 656e 740a 6d61 7472 6978 7265 665f ement.matrixref_ │ │ │ │ -000004d0: 7365 745f 6174 0a20 207b 617d 2841 2c20 set_at. {a}(A, │ │ │ │ -000004e0: 692c 206e 2c20 6a2c 2078 2920 3d20 6c65 i, n, j, x) = le │ │ │ │ -000004f0: 740a 2020 7661 6c20 4120 3d20 2455 4e2e t. val A = $UN. │ │ │ │ -00000500: 6361 7374 7b50 596c 6973 7428 6129 7d28 cast{PYlist(a)}( │ │ │ │ -00000510: 4129 2069 6e20 5059 6c69 7374 5f73 6574 A) in PYlist_set │ │ │ │ -00000520: 5f61 7428 412c 2069 2a6e 2b6a 2c20 7829 _at(A, i*n+j, x) │ │ │ │ -00000530: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [ │ │ │ │ -00000540: 6d61 7472 6978 7265 665f 7365 745f 6174 matrixref_set_at │ │ │ │ -00000550: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** *** │ │ │ │ -00000560: 2a2a 2a20 2a29 0a0a 257b 5e0a 2323 2323 *** *)..%{^.#### │ │ │ │ -00000570: 2323 0a64 6566 2061 7473 3270 7970 7265 ##.def ats2pypre │ │ │ │ -00000580: 5f6d 7472 7873 7a72 6566 5f6d 616b 655f _mtrxszref_make_ │ │ │ │ -00000590: 6d61 7472 6978 7265 6628 4d2c 206d 2c20 matrixref(M, m, │ │ │ │ -000005a0: 6e29 3a0a 2020 7265 7475 726e 207b 2027 n):. return { ' │ │ │ │ -000005b0: 6d61 7472 6978 2720 3a20 4d2c 2027 6e72 matrix' : M, 'nr │ │ │ │ -000005c0: 6f77 2720 3a20 6d2c 2027 6e63 6f6c 2720 ow' : m, 'ncol' │ │ │ │ -000005d0: 3a20 6e20 7d0a 2323 2323 2323 0a64 6566 : n }.######.def │ │ │ │ -000005e0: 2061 7473 3270 7970 7265 5f6d 7472 7873 ats2pypre_mtrxs │ │ │ │ -000005f0: 7a72 6566 5f67 6574 5f6e 726f 7728 4d53 zref_get_nrow(MS │ │ │ │ -00000600: 5a29 3a20 7265 7475 726e 204d 535a 5b27 Z): return MSZ[' │ │ │ │ -00000610: 6e72 6f77 275d 0a64 6566 2061 7473 3270 nrow'].def ats2p │ │ │ │ -00000620: 7970 7265 5f6d 7472 7873 7a72 6566 5f67 ypre_mtrxszref_g │ │ │ │ -00000630: 6574 5f6e 636f 6c28 4d53 5a29 3a20 7265 et_ncol(MSZ): re │ │ │ │ -00000640: 7475 726e 204d 535a 5b27 6e63 6f6c 275d turn MSZ['ncol'] │ │ │ │ -00000650: 0a23 2323 2323 230a 6465 6620 6174 7332 .######.def ats2 │ │ │ │ -00000660: 7079 7072 655f 6d74 7278 737a 7265 665f pypre_mtrxszref_ │ │ │ │ -00000670: 6765 745f 6174 284d 535a 2c20 692c 206a get_at(MSZ, i, j │ │ │ │ -00000680: 293a 0a20 206e 726f 7720 3d20 4d53 5a5b ):. nrow = MSZ[ │ │ │ │ -00000690: 276e 726f 7727 5d0a 2020 6e63 6f6c 203d 'nrow']. ncol = │ │ │ │ -000006a0: 204d 535a 5b27 6e63 6f6c 275d 0a20 2069 MSZ['ncol']. i │ │ │ │ -000006b0: 6620 2869 203c 2030 293a 2072 6169 7365 f (i < 0): raise │ │ │ │ -000006c0: 2049 6e64 6578 4572 726f 7228 276d 7472 IndexError('mtr │ │ │ │ -000006d0: 7873 7a72 6566 5f67 6574 5f61 7427 290a xszref_get_at'). │ │ │ │ -000006e0: 2020 6966 2028 6a20 3c20 3029 3a20 7261 if (j < 0): ra │ │ │ │ -000006f0: 6973 6520 496e 6465 7845 7272 6f72 2827 ise IndexError(' │ │ │ │ -00000700: 6d74 7278 737a 7265 665f 6765 745f 6174 mtrxszref_get_at │ │ │ │ -00000710: 2729 0a20 2069 6620 2869 203e 3d20 6e72 '). if (i >= nr │ │ │ │ -00000720: 6f77 293a 2072 6169 7365 2049 6e64 6578 ow): raise Index │ │ │ │ -00000730: 4572 726f 7228 276d 7472 7873 7a72 6566 Error('mtrxszref │ │ │ │ -00000740: 5f67 6574 5f61 7427 290a 2020 6966 2028 _get_at'). if ( │ │ │ │ -00000750: 6a20 3e3d 206e 636f 6c29 3a20 7261 6973 j >= ncol): rais │ │ │ │ -00000760: 6520 496e 6465 7845 7272 6f72 2827 6d74 e IndexError('mt │ │ │ │ -00000770: 7278 737a 7265 665f 6765 745f 6174 2729 rxszref_get_at') │ │ │ │ -00000780: 0a20 2072 6574 7572 6e20 4d53 5a5b 276d . return MSZ['m │ │ │ │ -00000790: 6174 7269 7827 5d5b 692a 6e63 6f6c 2b6a atrix'][i*ncol+j │ │ │ │ -000007a0: 5d0a 2323 2323 2323 0a64 6566 2061 7473 ].######.def ats │ │ │ │ -000007b0: 3270 7970 7265 5f6d 7472 7873 7a72 6566 2pypre_mtrxszref │ │ │ │ -000007c0: 5f73 6574 5f61 7428 4d53 5a2c 2069 2c20 _set_at(MSZ, i, │ │ │ │ -000007d0: 6a2c 2078 3029 3a0a 2020 6e72 6f77 203d j, x0):. nrow = │ │ │ │ -000007e0: 204d 535a 5b27 6e72 6f77 275d 0a20 206e MSZ['nrow']. n │ │ │ │ -000007f0: 636f 6c20 3d20 4d53 5a5b 276e 636f 6c27 col = MSZ['ncol' │ │ │ │ -00000800: 5d0a 2020 6966 2028 6920 3c20 3029 3a20 ]. if (i < 0): │ │ │ │ -00000810: 7261 6973 6520 496e 6465 7845 7272 6f72 raise IndexError │ │ │ │ -00000820: 2827 6d74 7278 737a 7265 665f 7365 745f ('mtrxszref_set_ │ │ │ │ -00000830: 6174 2729 0a20 2069 6620 286a 203c 2030 at'). if (j < 0 │ │ │ │ -00000840: 293a 2072 6169 7365 2049 6e64 6578 4572 ): raise IndexEr │ │ │ │ -00000850: 726f 7228 276d 7472 7873 7a72 6566 5f73 ror('mtrxszref_s │ │ │ │ -00000860: 6574 5f61 7427 290a 2020 6966 2028 6920 et_at'). if (i │ │ │ │ -00000870: 3e3d 206e 726f 7729 3a20 7261 6973 6520 >= nrow): raise │ │ │ │ -00000880: 496e 6465 7845 7272 6f72 2827 6d74 7278 IndexError('mtrx │ │ │ │ -00000890: 737a 7265 665f 7365 745f 6174 2729 0a20 szref_set_at'). │ │ │ │ -000008a0: 2069 6620 286a 203e 3d20 6e63 6f6c 293a if (j >= ncol): │ │ │ │ -000008b0: 2072 6169 7365 2049 6e64 6578 4572 726f raise IndexErro │ │ │ │ -000008c0: 7228 276d 7472 7873 7a72 6566 5f73 6574 r('mtrxszref_set │ │ │ │ -000008d0: 5f61 7427 290a 2020 4d53 5a5b 276d 6174 _at'). MSZ['mat │ │ │ │ -000008e0: 7269 7827 5d5b 692a 6e63 6f6c 2b6a 5d20 rix'][i*ncol+j] │ │ │ │ -000008f0: 3d20 7830 3b20 7265 7475 726e 235f 766f = x0; return#_vo │ │ │ │ -00000900: 6964 0a23 2323 2323 230a 257d 202f 2f20 id.######.%} // │ │ │ │ -00000910: 656e 6420 6f66 205b 257b 5e5d 0a0a 282a end of [%{^]..(* │ │ │ │ -00000920: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000930: 290a 0a28 2a20 656e 6420 6f66 205b 6d61 )..(* end of [ma │ │ │ │ -00000940: 7472 6978 7265 662e 6461 7473 5d20 2a29 trixref.dats] *) │ │ │ │ -00000950: 0a . │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats │ │ │ │ @@ -1,44 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f6f 7074 696f 6e5f 220a 2f2f 0a28 2a20 _option_".//.(* │ │ │ │ -00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA │ │ │ │ -00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc." │ │ │ │ -00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\./cont │ │ │ │ -00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS │ │ │ │ -00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2".//.(* * │ │ │ │ -00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN = │ │ │ │ -00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 "prelude/SATS/u │ │ │ │ -000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats".//.( │ │ │ │ -000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000001c0: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload " │ │ │ │ -000001d0: 2e2f 2e2e 2f53 4154 532f 626f 6f6c 2e73 ./../SATS/bool.s │ │ │ │ -000001e0: 6174 7322 0a23 7374 616c 6f61 6420 222e ats".#staload ". │ │ │ │ -000001f0: 2f2e 2e2f 5341 5453 2f69 6e74 6567 6572 /../SATS/integer │ │ │ │ -00000200: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats".//.(* *** │ │ │ │ -00000210: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -00000220: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload "./../ │ │ │ │ -00000230: 5341 5453 2f6f 7074 696f 6e2e 7361 7473 SATS/option.sats │ │ │ │ -00000240: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a ".//.(* ****** * │ │ │ │ -00000250: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc │ │ │ │ -00000260: 6c75 6465 2022 7b24 4c49 4241 5453 4343 lude "{$LIBATSCC │ │ │ │ -00000270: 7d2f 4441 5453 2f6f 7074 696f 6e2e 6461 }/DATS/option.da │ │ │ │ -00000280: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000290: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e │ │ │ │ -000002a0: 6e64 206f 6620 5b6f 7074 696f 6e2e 6461 nd of [option.da │ │ │ │ -000002b0: 7473 5d20 2a29 0a ts] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats │ │ │ │ @@ -1,44 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 2f2f 0a2f 2f20 4858 3a20 6c69 7374 ).//.// HX: list │ │ │ │ -00000060: 2d62 6173 6564 2071 7565 7565 0a2f 2f0a -based queue.//. │ │ │ │ -00000070: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000080: 202a 290a 0a23 6465 6669 6e65 2041 5453 *)..#define ATS │ │ │ │ -00000090: 5f44 594e 4c4f 4144 464c 4147 2030 0a0a _DYNLOADFLAG 0.. │ │ │ │ -000000a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000000b0: 202a 290a 2f2f 0a2f 2f20 4858 2d32 3031 *).//.// HX-201 │ │ │ │ -000000c0: 342d 3038 3a0a 2f2f 2070 7265 6669 7820 4-08:.// prefix │ │ │ │ -000000d0: 666f 7220 6578 7465 726e 616c 206e 616d for external nam │ │ │ │ -000000e0: 6573 0a2f 2f0a 2364 6566 696e 650a 4154 es.//.#define.AT │ │ │ │ -000000f0: 535f 5041 434b 4e41 4d45 0a22 4154 5343 S_PACKNAME."ATSC │ │ │ │ -00000100: 4332 5059 332e 716c 6973 7472 6566 220a C2PY3.qlistref". │ │ │ │ -00000110: 2364 6566 696e 650a 4154 535f 4558 5445 #define.ATS_EXTE │ │ │ │ -00000120: 524e 5f50 5245 4649 5820 2261 7473 3270 RN_PREFIX "ats2p │ │ │ │ -00000130: 7970 7265 5f22 0a23 6465 6669 6e65 0a41 ypre_".#define.A │ │ │ │ -00000140: 5453 5f53 5441 5449 435f 5052 4546 4958 TS_STATIC_PREFIX │ │ │ │ -00000150: 2022 5f61 7473 3270 7970 7265 5f71 6c69 "_ats2pypre_qli │ │ │ │ -00000160: 7374 7265 665f 220a 2f2f 0a28 2a20 2a2a stref_".//.(* ** │ │ │ │ -00000170: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -00000180: 2f0a 2364 6566 696e 650a 4c49 4241 5453 /.#define.LIBATS │ │ │ │ -00000190: 4343 5f74 6172 6765 746c 6f63 0a22 2450 CC_targetloc."$P │ │ │ │ -000001a0: 4154 5348 4f4d 455c 0a2f 636f 6e74 7269 ATSHOME\./contri │ │ │ │ -000001b0: 622f 6c69 6261 7473 6363 2f41 5453 322d b/libatscc/ATS2- │ │ │ │ -000001c0: 302e 332e 3222 0a2f 2f0a 282a 202a 2a2a 0.3.2".//.(* *** │ │ │ │ -000001d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000001e0: 0a23 7374 616c 6f61 640a 554e 203d 2022 .#staload.UN = " │ │ │ │ -000001f0: 7072 656c 7564 652f 5341 5453 2f75 6e73 prelude/SATS/uns │ │ │ │ -00000200: 6166 652e 7361 7473 220a 2f2f 0a28 2a20 afe.sats".//.(* │ │ │ │ -00000210: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000220: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include "./ │ │ │ │ -00000230: 2e2e 2f73 7461 6c6f 6164 616c 6c2e 6861 ../staloadall.ha │ │ │ │ -00000240: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000250: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 ****** *).//.#i │ │ │ │ -00000260: 6e63 6c75 6465 2022 7b24 4c49 4241 5453 nclude "{$LIBATS │ │ │ │ -00000270: 4343 7d2f 4441 5453 2f71 6c69 7374 7265 CC}/DATS/qlistre │ │ │ │ -00000280: 662e 6461 7473 220a 2f2f 0a28 2a20 2a2a f.dats".//.(* ** │ │ │ │ -00000290: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -000002a0: 282a 2065 6e64 206f 6620 5b71 6c69 7374 (* end of [qlist │ │ │ │ -000002b0: 7265 662e 6461 7473 5d20 2a29 0a ref.dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats │ │ │ │ @@ -1,77 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f72 6566 6572 656e 6365 5f22 0a2f 2f0a _reference_".//. │ │ │ │ -00000110: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000120: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload. │ │ │ │ -00000130: 554e 203d 2022 7072 656c 7564 652f 5341 UN = "prelude/SA │ │ │ │ -00000140: 5453 2f75 6e73 6166 652e 7361 7473 220a TS/unsafe.sats". │ │ │ │ -00000150: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -00000160: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo │ │ │ │ -00000170: 6164 2022 2e2f 2e2e 2f62 6173 6963 735f ad "./../basics_ │ │ │ │ -00000180: 7079 2e73 6174 7322 0a23 7374 616c 6f61 py.sats".#staloa │ │ │ │ -00000190: 6420 222e 2f2e 2e2f 5341 5453 2f50 596c d "./../SATS/PYl │ │ │ │ -000001a0: 6973 742e 7361 7473 220a 2373 7461 6c6f ist.sats".#stalo │ │ │ │ -000001b0: 6164 2022 2e2f 2e2e 2f53 4154 532f 7265 ad "./../SATS/re │ │ │ │ -000001c0: 6665 7265 6e63 652e 7361 7473 220a 2f2f ference.sats".// │ │ │ │ -000001d0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -000001e0: 2a20 2a29 0a2f 2f0a 282a 0a61 7373 756d * *).//.(*.assum │ │ │ │ -000001f0: 650a 7265 665f 7674 3079 7065 5f74 7970 e.ref_vt0ype_typ │ │ │ │ -00000200: 6528 613a 7440 7970 6529 203d 2050 596c e(a:t@ype) = PYl │ │ │ │ -00000210: 6973 7428 6129 0a2a 290a 2f2f 0a28 2a20 ist(a).*).//.(* │ │ │ │ -00000220: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000230: 0a28 2a0a 2f2f 0a69 6d70 6c65 6d65 6e74 .(*.//.implement │ │ │ │ -00000240: 0a72 6566 7b61 7d28 7829 203d 2024 554e .ref{a}(x) = $UN │ │ │ │ -00000250: 2e63 6173 747b 7265 6628 6129 7d28 5059 .cast{ref(a)}(PY │ │ │ │ -00000260: 6c69 7374 5f73 696e 6728 7829 290a 696d list_sing(x)).im │ │ │ │ -00000270: 706c 656d 656e 740a 7265 665f 6d61 6b65 plement.ref_make │ │ │ │ -00000280: 5f65 6c74 7b61 7d28 7829 203d 2024 554e _elt{a}(x) = $UN │ │ │ │ -00000290: 2e63 6173 747b 7265 6628 6129 7d28 5059 .cast{ref(a)}(PY │ │ │ │ -000002a0: 6c69 7374 5f73 696e 6728 7829 290a 2f2f list_sing(x)).// │ │ │ │ -000002b0: 0a69 6d70 6c65 6d65 6e74 0a72 6566 5f67 .implement.ref_g │ │ │ │ -000002c0: 6574 5f65 6c74 7b61 7d28 7229 203d 206c et_elt{a}(r) = l │ │ │ │ -000002d0: 6574 0a20 2076 616c 2072 203d 2024 554e et. val r = $UN │ │ │ │ -000002e0: 2e63 6173 747b 5059 6c69 7374 2861 297d .cast{PYlist(a)} │ │ │ │ -000002f0: 2872 2920 696e 2050 596c 6973 745f 6765 (r) in PYlist_ge │ │ │ │ -00000300: 745f 6174 2872 2c20 3029 0a65 6e64 202f t_at(r, 0).end / │ │ │ │ -00000310: 2f20 656e 6420 6f66 205b 7265 665f 6765 / end of [ref_ge │ │ │ │ -00000320: 745f 656c 745d 0a2f 2f0a 696d 706c 656d t_elt].//.implem │ │ │ │ -00000330: 656e 740a 7265 665f 7365 745f 656c 747b ent.ref_set_elt{ │ │ │ │ -00000340: 617d 2872 2c20 7830 2920 3d20 6c65 740a a}(r, x0) = let. │ │ │ │ -00000350: 2020 7661 6c20 7220 3d20 2455 4e2e 6361 val r = $UN.ca │ │ │ │ -00000360: 7374 7b50 596c 6973 7428 6129 7d28 7229 st{PYlist(a)}(r) │ │ │ │ -00000370: 2069 6e20 5059 6c69 7374 5f73 6574 5f61 in PYlist_set_a │ │ │ │ -00000380: 7428 722c 2030 2c20 7830 290a 656e 6420 t(r, 0, x0).end │ │ │ │ -00000390: 2f2f 2065 6e64 206f 6620 5b72 6566 5f73 // end of [ref_s │ │ │ │ -000003a0: 6574 5f65 6c74 5d0a 2f2f 0a69 6d70 6c65 et_elt].//.imple │ │ │ │ -000003b0: 6d65 6e74 0a72 6566 5f65 7863 685f 656c ment.ref_exch_el │ │ │ │ -000003c0: 747b 617d 2872 2c20 7830 2920 3d20 6c65 t{a}(r, x0) = le │ │ │ │ -000003d0: 740a 2020 7661 6c20 7220 3d0a 2020 2020 t. val r =. │ │ │ │ -000003e0: 2455 4e2e 6361 7374 7b50 596c 6973 7428 $UN.cast{PYlist( │ │ │ │ -000003f0: 613f 297d 2872 290a 2020 2f2f 2065 6e64 a?)}(r). // end │ │ │ │ -00000400: 206f 6620 5b76 616c 5d0a 2020 7661 6c20 of [val]. val │ │ │ │ -00000410: 7831 203d 2050 596c 6973 745f 6765 745f x1 = PYlist_get_ │ │ │ │ -00000420: 6174 2872 2c20 3029 0a69 6e0a 2020 5059 at(r, 0).in. PY │ │ │ │ -00000430: 6c69 7374 5f73 6574 5f61 7428 722c 2030 list_set_at(r, 0 │ │ │ │ -00000440: 2c20 2455 4e2e 6361 7374 7677 7470 307b , $UN.castvwtp0{ │ │ │ │ -00000450: 613f 7d28 7830 2929 3b20 2455 4e2e 6361 a?}(x0)); $UN.ca │ │ │ │ -00000460: 7374 7677 7470 307b 617d 2878 3129 0a65 stvwtp0{a}(x1).e │ │ │ │ -00000470: 6e64 202f 2f20 656e 6420 6f66 205b 7265 nd // end of [re │ │ │ │ -00000480: 665f 6578 6368 5f65 6c74 5d0a 2f2f 0a2a f_exch_elt].//.* │ │ │ │ -00000490: 290a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ).(* ****** **** │ │ │ │ -000004a0: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of │ │ │ │ -000004b0: 205b 7265 6665 7265 6e63 652e 6461 7473 [reference.dats │ │ │ │ -000004c0: 5d20 2a29 0a ] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats │ │ │ │ @@ -1,44 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 2f2f 0a2f 2f20 4858 3a20 6c69 7374 ).//.// HX: list │ │ │ │ -00000060: 2d62 6173 6564 2073 7461 636b 0a2f 2f0a -based stack.//. │ │ │ │ -00000070: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000080: 202a 290a 0a23 6465 6669 6e65 2041 5453 *)..#define ATS │ │ │ │ -00000090: 5f44 594e 4c4f 4144 464c 4147 2030 0a0a _DYNLOADFLAG 0.. │ │ │ │ -000000a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000000b0: 202a 290a 2f2f 0a2f 2f20 4858 2d32 3031 *).//.// HX-201 │ │ │ │ -000000c0: 342d 3038 3a0a 2f2f 2070 7265 6669 7820 4-08:.// prefix │ │ │ │ -000000d0: 666f 7220 6578 7465 726e 616c 206e 616d for external nam │ │ │ │ -000000e0: 6573 0a2f 2f0a 2364 6566 696e 650a 4154 es.//.#define.AT │ │ │ │ -000000f0: 535f 5041 434b 4e41 4d45 0a22 4154 5343 S_PACKNAME."ATSC │ │ │ │ -00000100: 4332 5059 332e 736c 6973 7472 6566 220a C2PY3.slistref". │ │ │ │ -00000110: 2364 6566 696e 650a 4154 535f 4558 5445 #define.ATS_EXTE │ │ │ │ -00000120: 524e 5f50 5245 4649 5820 2261 7473 3270 RN_PREFIX "ats2p │ │ │ │ -00000130: 7970 7265 5f22 0a23 6465 6669 6e65 0a41 ypre_".#define.A │ │ │ │ -00000140: 5453 5f53 5441 5449 435f 5052 4546 4958 TS_STATIC_PREFIX │ │ │ │ -00000150: 2022 5f61 7473 3270 7970 7265 5f73 6c69 "_ats2pypre_sli │ │ │ │ -00000160: 7374 7265 665f 220a 2f2f 0a28 2a20 2a2a stref_".//.(* ** │ │ │ │ -00000170: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -00000180: 2f0a 2364 6566 696e 650a 4c49 4241 5453 /.#define.LIBATS │ │ │ │ -00000190: 4343 5f74 6172 6765 746c 6f63 0a22 2450 CC_targetloc."$P │ │ │ │ -000001a0: 4154 5348 4f4d 455c 0a2f 636f 6e74 7269 ATSHOME\./contri │ │ │ │ -000001b0: 622f 6c69 6261 7473 6363 2f41 5453 322d b/libatscc/ATS2- │ │ │ │ -000001c0: 302e 332e 3222 0a2f 2f0a 282a 202a 2a2a 0.3.2".//.(* *** │ │ │ │ -000001d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000001e0: 0a23 7374 616c 6f61 640a 554e 203d 2022 .#staload.UN = " │ │ │ │ -000001f0: 7072 656c 7564 652f 5341 5453 2f75 6e73 prelude/SATS/uns │ │ │ │ -00000200: 6166 652e 7361 7473 220a 2f2f 0a28 2a20 afe.sats".//.(* │ │ │ │ -00000210: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000220: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include "./ │ │ │ │ -00000230: 2e2e 2f73 7461 6c6f 6164 616c 6c2e 6861 ../staloadall.ha │ │ │ │ -00000240: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000250: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 ****** *).//.#i │ │ │ │ -00000260: 6e63 6c75 6465 2022 7b24 4c49 4241 5453 nclude "{$LIBATS │ │ │ │ -00000270: 4343 7d2f 4441 5453 2f73 6c69 7374 7265 CC}/DATS/slistre │ │ │ │ -00000280: 662e 6461 7473 220a 2f2f 0a28 2a20 2a2a f.dats".//.(* ** │ │ │ │ -00000290: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -000002a0: 282a 2065 6e64 206f 6620 5b73 6c69 7374 (* end of [slist │ │ │ │ -000002b0: 7265 662e 6461 7473 5d20 2a29 0a ref.dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats │ │ │ │ @@ -1,55 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3131 3a0a 2f2f 2070 7265 6669 7820 666f 11:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f73 7472 6561 6d5f 220a 2f2f 0a28 2a20 _stream_".//.(* │ │ │ │ -00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA │ │ │ │ -00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc." │ │ │ │ -00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\./cont │ │ │ │ -00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS │ │ │ │ -00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2".//.(* * │ │ │ │ -00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN = │ │ │ │ -00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 "prelude/SATS/u │ │ │ │ -000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats".//.( │ │ │ │ -000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -000001c0: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload " │ │ │ │ -000001d0: 2e2f 2e2e 2f62 6173 6963 735f 7079 2e73 ./../basics_py.s │ │ │ │ -000001e0: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats".//.(* ***** │ │ │ │ -000001f0: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.# │ │ │ │ -00000200: 7374 616c 6f61 6420 222e 2f2e 2e2f 5341 staload "./../SA │ │ │ │ -00000210: 5453 2f69 6e74 6567 6572 2e73 6174 7322 TS/integer.sats" │ │ │ │ -00000220: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000230: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal │ │ │ │ -00000240: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f70 oad "./../SATS/p │ │ │ │ -00000250: 7269 6e74 2e73 6174 7322 0a2f 2f0a 282a rint.sats".//.(* │ │ │ │ -00000260: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000270: 290a 2f2f 0a23 7374 616c 6f61 6420 222e ).//.#staload ". │ │ │ │ -00000280: 2f2e 2e2f 5341 5453 2f6c 6973 742e 7361 /../SATS/list.sa │ │ │ │ -00000290: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts".#staload "./ │ │ │ │ -000002a0: 2e2e 2f53 4154 532f 7265 6665 7265 6e63 ../SATS/referenc │ │ │ │ -000002b0: 652e 7361 7473 220a 2f2f 0a28 2a20 2a2a e.sats".//.(* ** │ │ │ │ -000002c0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -000002d0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload "./../S │ │ │ │ -000002e0: 4154 532f 7374 7265 616d 2e73 6174 7322 ATS/stream.sats" │ │ │ │ -000002f0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** **** │ │ │ │ -00000300: 2a2a 202a 290a 2f2f 0a23 696e 636c 7564 ** *).//.#includ │ │ │ │ -00000310: 6520 227b 244c 4942 4154 5343 437d 2f44 e "{$LIBATSCC}/D │ │ │ │ -00000320: 4154 532f 7374 7265 616d 2e64 6174 7322 ATS/stream.dats" │ │ │ │ -00000330: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -00000340: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end │ │ │ │ -00000350: 6f66 205b 7374 7265 616d 2e64 6174 735d of [stream.dats] │ │ │ │ -00000360: 202a 290a *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats │ │ │ │ @@ -1,55 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D │ │ │ │ -00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(* │ │ │ │ -00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000090: 3131 3a0a 2f2f 2070 7265 6669 7820 666f 11:.// prefix fo │ │ │ │ -000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names │ │ │ │ -000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_ │ │ │ │ -000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX "a │ │ │ │ -000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_".#defi │ │ │ │ -000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR │ │ │ │ -000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX "_ats2pypre │ │ │ │ -00000100: 5f73 7472 6561 6d5f 7674 5f22 0a2f 2f0a _stream_vt_".//. │ │ │ │ -00000110: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000120: 202a 290a 2f2f 0a23 6465 6669 6e65 0a4c *).//.#define.L │ │ │ │ -00000130: 4942 4154 5343 435f 7461 7267 6574 6c6f IBATSCC_targetlo │ │ │ │ -00000140: 630a 2224 5041 5453 484f 4d45 5c0a 2f63 c."$PATSHOME\./c │ │ │ │ -00000150: 6f6e 7472 6962 2f6c 6962 6174 7363 632f ontrib/libatscc/ │ │ │ │ -00000160: 4154 5332 2d30 2e33 2e32 220a 2f2f 0a28 ATS2-0.3.2".//.( │ │ │ │ -00000170: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000180: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 0a55 *).//.#staload.U │ │ │ │ -00000190: 4e20 3d20 2270 7265 6c75 6465 2f53 4154 N = "prelude/SAT │ │ │ │ -000001a0: 532f 756e 7361 6665 2e73 6174 7322 0a2f S/unsafe.sats"./ │ │ │ │ -000001b0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** **** │ │ │ │ -000001c0: 2a2a 202a 290a 2f2f 0a23 7374 616c 6f61 ** *).//.#staloa │ │ │ │ -000001d0: 6420 222e 2f2e 2e2f 6261 7369 6373 5f70 d "./../basics_p │ │ │ │ -000001e0: 792e 7361 7473 220a 2f2f 0a28 2a20 2a2a y.sats".//.(* ** │ │ │ │ -000001f0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./ │ │ │ │ -00000200: 2f0a 2373 7461 6c6f 6164 2022 2e2f 2e2e /.#staload "./.. │ │ │ │ -00000210: 2f53 4154 532f 696e 7465 6765 722e 7361 /SATS/integer.sa │ │ │ │ -00000220: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000230: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s │ │ │ │ -00000240: 7461 6c6f 6164 2022 2e2f 2e2e 2f53 4154 taload "./../SAT │ │ │ │ -00000250: 532f 7072 696e 742e 7361 7473 220a 2f2f S/print.sats".// │ │ │ │ -00000260: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000270: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload │ │ │ │ -00000280: 2022 2e2f 2e2e 2f53 4154 532f 6c69 7374 "./../SATS/list │ │ │ │ -00000290: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats".#staload │ │ │ │ -000002a0: 222e 2f2e 2e2f 5341 5453 2f6c 6973 745f "./../SATS/list_ │ │ │ │ -000002b0: 7674 2e73 6174 7322 0a2f 2f0a 282a 202a vt.sats".//.(* * │ │ │ │ -000002c0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *). │ │ │ │ -000002d0: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload "./../ │ │ │ │ -000002e0: 5341 5453 2f73 7472 6561 6d5f 7674 2e73 SATS/stream_vt.s │ │ │ │ -000002f0: 6174 7322 0a0a 282a 202a 2a2a 2a2a 2a20 ats"..(* ****** │ │ │ │ -00000300: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 696e ****** *).//.#in │ │ │ │ -00000310: 636c 7564 6520 227b 244c 4942 4154 5343 clude "{$LIBATSC │ │ │ │ -00000320: 437d 2f44 4154 532f 7374 7265 616d 5f76 C}/DATS/stream_v │ │ │ │ -00000330: 742e 6461 7473 220a 2f2f 0a28 2a20 2a2a t.dats".//.(* ** │ │ │ │ -00000340: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *).. │ │ │ │ -00000350: 282a 2065 6e64 206f 6620 5b73 7472 6561 (* end of [strea │ │ │ │ -00000360: 6d5f 7674 2e64 6174 735d 202a 290a m_vt.dats] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats │ │ │ │ @@ -1,62 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 6e33 0a2a 290a 0a28 to Python3.*)..( │ │ │ │ -00000040: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000050: 2a29 0a0a 2364 6566 696e 6520 4154 535f *)..#define ATS_ │ │ │ │ -00000060: 4459 4e4c 4f41 4446 4c41 4720 300a 0a28 DYNLOADFLAG 0..( │ │ │ │ -00000070: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** │ │ │ │ -00000080: 2a29 0a2f 2f0a 2f2f 2048 582d 3230 3136 *).//.// HX-2016 │ │ │ │ -00000090: 2d31 313a 0a2f 2f20 7072 6566 6978 2066 -11:.// prefix f │ │ │ │ -000000a0: 6f72 2065 7874 6572 6e61 6c20 6e61 6d65 or external name │ │ │ │ -000000b0: 730a 2f2f 0a23 6465 6669 6e65 0a41 5453 s.//.#define.ATS │ │ │ │ -000000c0: 5f45 5854 4552 4e5f 5052 4546 4958 2022 _EXTERN_PREFIX " │ │ │ │ -000000d0: 6174 7332 7079 7072 655f 220a 2364 6566 ats2pypre_".#def │ │ │ │ -000000e0: 696e 650a 4154 535f 5354 4154 4943 5f50 ine.ATS_STATIC_P │ │ │ │ -000000f0: 5245 4649 5820 225f 6174 7332 7079 7072 REFIX "_ats2pypr │ │ │ │ -00000100: 655f 7374 7269 6e67 5f22 0a2f 2f0a 282a e_string_".//.(* │ │ │ │ -00000110: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000120: 290a 2f2f 0a23 6465 6669 6e65 0a4c 4942 ).//.#define.LIB │ │ │ │ -00000130: 4154 5343 435f 7461 7267 6574 6c6f 630a ATSCC_targetloc. │ │ │ │ -00000140: 2224 5041 5453 484f 4d45 5c0a 2f63 6f6e "$PATSHOME\./con │ │ │ │ -00000150: 7472 6962 2f6c 6962 6174 7363 632f 4154 trib/libatscc/AT │ │ │ │ -00000160: 5332 2d30 2e33 2e32 220a 2f2f 0a28 2a20 S2-0.3.2".//.(* │ │ │ │ -00000170: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000180: 0a2f 2f0a 2373 7461 6c6f 6164 0a55 4e20 .//.#staload.UN │ │ │ │ -00000190: 3d0a 2270 7265 6c75 6465 2f53 4154 532f =."prelude/SATS/ │ │ │ │ -000001a0: 756e 7361 6665 2e73 6174 7322 0a2f 2f0a unsafe.sats".//. │ │ │ │ -000001b0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -000001c0: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload │ │ │ │ -000001d0: 222e 2f2e 2e2f 6261 7369 6373 5f70 792e "./../basics_py. │ │ │ │ -000001e0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats".//.(* **** │ │ │ │ -000001f0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00000200: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload "./../S │ │ │ │ -00000210: 4154 532f 696e 7465 6765 722e 7361 7473 ATS/integer.sats │ │ │ │ -00000220: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a ".//.(* ****** * │ │ │ │ -00000230: 2a2a 2a2a 2a20 2a29 0a0a 2373 7461 6c6f ***** *)..#stalo │ │ │ │ -00000240: 6164 2022 2e2f 2e2e 2f53 4154 532f 7374 ad "./../SATS/st │ │ │ │ -00000250: 7269 6e67 2e73 6174 7322 0a23 7374 616c ring.sats".#stal │ │ │ │ -00000260: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f50 oad "./../SATS/P │ │ │ │ -00000270: 596c 6973 742e 7361 7473 220a 0a28 2a20 Ylist.sats"..(* │ │ │ │ -00000280: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *) │ │ │ │ -00000290: 0a0a 696d 706c 656d 656e 740a 7374 7269 ..implement.stri │ │ │ │ -000002a0: 6e67 5f66 7365 745f 6174 0a20 207b 6e7d ng_fset_at. {n} │ │ │ │ -000002b0: 7b69 7d0a 280a 2020 7374 7230 2c20 6930 {i}.(. str0, i0 │ │ │ │ -000002c0: 2c20 6330 0a29 203d 206c 6574 0a2f 2f0a , c0.) = let.//. │ │ │ │ -000002d0: 7661 6c20 6e30 203d 2073 7472 696e 675f val n0 = string_ │ │ │ │ -000002e0: 6c65 6e67 7468 2873 7472 3029 0a76 616c length(str0).val │ │ │ │ -000002f0: 2066 3020 3d20 7374 7269 6e67 5f73 7562 f0 = string_sub │ │ │ │ -00000300: 7374 7269 6e67 5f62 6567 5f65 6e64 2873 string_beg_end(s │ │ │ │ -00000310: 7472 302c 2030 2c20 6930 290a 7661 6c20 tr0, 0, i0).val │ │ │ │ -00000320: 7230 203d 2073 7472 696e 675f 7375 6273 r0 = string_subs │ │ │ │ -00000330: 7472 696e 675f 6265 675f 656e 6428 7374 tring_beg_end(st │ │ │ │ -00000340: 7230 2c20 6930 2b31 2c20 6e30 290a 2f2f r0, i0+1, n0).// │ │ │ │ -00000350: 0a69 6e0a 2020 2455 4e2e 6361 7374 7b73 .in. $UN.cast{s │ │ │ │ -00000360: 7472 696e 6728 6e29 7d28 7374 7269 6e67 tring(n)}(string │ │ │ │ -00000370: 5f61 7070 656e 645f 3328 6630 2c20 6330 _append_3(f0, c0 │ │ │ │ -00000380: 2c20 7230 2929 0a65 6e64 202f 2f20 656e , r0)).end // en │ │ │ │ -00000390: 6420 6f66 205b 7374 7269 6e67 5f66 7365 d of [string_fse │ │ │ │ -000003a0: 745f 6174 5d0a 0a28 2a20 2a2a 2a2a 2a2a t_at]..(* ****** │ │ │ │ -000003b0: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e │ │ │ │ -000003c0: 6e64 206f 6620 5b73 7472 696e 672e 6461 nd of [string.da │ │ │ │ -000003d0: 7473 5d20 2a29 0a ts] *). │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile │ │ │ │ @@ -1,298 +0,0 @@ │ │ │ │ -00000000: 230a 2320 466f 7220 6765 6e65 7261 7469 #.# For generati │ │ │ │ -00000010: 6e67 206c 6962 6174 7363 6332 7079 0a23 ng libatscc2py.# │ │ │ │ -00000020: 0a0a 2323 2323 2323 0a0a 5041 5453 4f50 ..######..PATSOP │ │ │ │ -00000030: 543d 2428 5041 5453 484f 4d45 292f 6269 T=$(PATSHOME)/bi │ │ │ │ -00000040: 6e2f 7061 7473 6f70 740a 4154 5343 4332 n/patsopt.ATSCC2 │ │ │ │ -00000050: 5059 3d24 2850 4154 5348 4f4d 4529 2f62 PY=$(PATSHOME)/b │ │ │ │ -00000060: 696e 2f61 7473 6363 3270 7933 0a0a 2323 in/atscc2py3..## │ │ │ │ -00000070: 2323 2323 0a0a 4341 543d 6361 740a 4350 ####..CAT=cat.CP │ │ │ │ -00000080: 463d 6370 202d 660a 524d 463d 726d 202d F=cp -f.RMF=rm - │ │ │ │ -00000090: 660a 5343 5052 3d73 6370 202d 720a 0a23 f.SCPR=scp -r..# │ │ │ │ -000000a0: 2323 2323 230a 230a 616c 6c3a 3a20 3b20 #####.#.all:: ; │ │ │ │ -000000b0: 5c0a 2428 5041 5453 4f50 5429 202d 6420 \.$(PATSOPT) -d │ │ │ │ -000000c0: 2e2f 4441 5453 2f73 7472 696e 672e 6461 ./DATS/string.da │ │ │ │ -000000d0: 7473 207c 205c 0a24 2841 5453 4343 3250 ts | \.$(ATSCC2P │ │ │ │ -000000e0: 5929 202d 6f20 2e2f 6f75 7470 7574 2f44 Y) -o ./output/D │ │ │ │ -000000f0: 4154 532f 7374 7269 6e67 5f64 6174 732e ATS/string_dats. │ │ │ │ -00000100: 7079 202d 690a 230a 2323 2323 2323 0a23 py -i.#.######.# │ │ │ │ -00000110: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \.$(PAT │ │ │ │ -00000120: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/ │ │ │ │ -00000130: 5059 6c69 7374 2e64 6174 7320 7c20 5c0a PYlist.dats | \. │ │ │ │ -00000140: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o . │ │ │ │ -00000150: 2f6f 7574 7075 742f 4441 5453 2f50 596c /output/DATS/PYl │ │ │ │ -00000160: 6973 745f 6461 7473 2e70 7920 2d69 0a61 ist_dats.py -i.a │ │ │ │ -00000170: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \.$(PATSO │ │ │ │ -00000180: 5054 2920 2d64 202e 2f44 4154 532f 7265 PT) -d ./DATS/re │ │ │ │ -00000190: 6665 7265 6e63 652e 6461 7473 207c 205c ference.dats | \ │ │ │ │ -000001a0: 0a24 2841 5453 4343 3250 5929 202d 6f20 .$(ATSCC2PY) -o │ │ │ │ -000001b0: 2e2f 6f75 7470 7574 2f44 4154 532f 7265 ./output/DATS/re │ │ │ │ -000001c0: 6665 7265 6e63 655f 6461 7473 2e70 7920 ference_dats.py │ │ │ │ -000001d0: 2d69 0a23 0a61 6c6c 3a3a 203b 205c 0a24 -i.#.all:: ; \.$ │ │ │ │ -000001e0: 2850 4154 534f 5054 2920 2d64 202e 2f44 (PATSOPT) -d ./D │ │ │ │ -000001f0: 4154 532f 6c69 7374 2e64 6174 7320 7c20 ATS/list.dats | │ │ │ │ -00000200: 5c0a 2428 4154 5343 4332 5059 2920 2d6f \.$(ATSCC2PY) -o │ │ │ │ -00000210: 202e 2f6f 7574 7075 742f 4441 5453 2f6c ./output/DATS/l │ │ │ │ -00000220: 6973 745f 6461 7473 2e70 7920 2d69 0a61 ist_dats.py -i.a │ │ │ │ -00000230: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \.$(PATSO │ │ │ │ -00000240: 5054 2920 2d64 202e 2f44 4154 532f 6c69 PT) -d ./DATS/li │ │ │ │ -00000250: 7374 5f76 742e 6461 7473 207c 205c 0a24 st_vt.dats | \.$ │ │ │ │ -00000260: 2841 5453 4343 3250 5929 202d 6f20 2e2f (ATSCC2PY) -o ./ │ │ │ │ -00000270: 6f75 7470 7574 2f44 4154 532f 6c69 7374 output/DATS/list │ │ │ │ -00000280: 5f76 745f 6461 7473 2e70 7920 2d69 0a23 _vt_dats.py -i.# │ │ │ │ -00000290: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \.$(PAT │ │ │ │ -000002a0: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/ │ │ │ │ -000002b0: 6f70 7469 6f6e 2e64 6174 7320 7c20 5c0a option.dats | \. │ │ │ │ -000002c0: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o . │ │ │ │ -000002d0: 2f6f 7574 7075 742f 4441 5453 2f6f 7074 /output/DATS/opt │ │ │ │ -000002e0: 696f 6e5f 6461 7473 2e70 7920 2d69 0a23 ion_dats.py -i.# │ │ │ │ -000002f0: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \.$(PAT │ │ │ │ -00000300: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/ │ │ │ │ -00000310: 7374 7265 616d 2e64 6174 7320 7c20 5c0a stream.dats | \. │ │ │ │ -00000320: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o . │ │ │ │ -00000330: 2f6f 7574 7075 742f 4441 5453 2f73 7472 /output/DATS/str │ │ │ │ -00000340: 6561 6d5f 6461 7473 2e70 7920 2d69 0a61 eam_dats.py -i.a │ │ │ │ -00000350: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \.$(PATSO │ │ │ │ -00000360: 5054 2920 2d64 202e 2f44 4154 532f 7374 PT) -d ./DATS/st │ │ │ │ -00000370: 7265 616d 5f76 742e 6461 7473 207c 205c ream_vt.dats | \ │ │ │ │ -00000380: 0a24 2841 5453 4343 3250 5929 202d 6f20 .$(ATSCC2PY) -o │ │ │ │ -00000390: 2e2f 6f75 7470 7574 2f44 4154 532f 7374 ./output/DATS/st │ │ │ │ -000003a0: 7265 616d 5f76 745f 6461 7473 2e70 7920 ream_vt_dats.py │ │ │ │ -000003b0: 2d69 0a23 0a61 6c6c 3a3a 203b 205c 0a24 -i.#.all:: ; \.$ │ │ │ │ -000003c0: 2850 4154 534f 5054 2920 2d64 202e 2f44 (PATSOPT) -d ./D │ │ │ │ -000003d0: 4154 532f 696e 7472 616e 6765 2e64 6174 ATS/intrange.dat │ │ │ │ -000003e0: 7320 7c20 5c0a 2428 4154 5343 4332 5059 s | \.$(ATSCC2PY │ │ │ │ -000003f0: 2920 2d6f 202e 2f6f 7574 7075 742f 4441 ) -o ./output/DA │ │ │ │ -00000400: 5453 2f69 6e74 7261 6e67 655f 6461 7473 TS/intrange_dats │ │ │ │ -00000410: 2e70 7920 2d69 0a23 0a61 6c6c 3a3a 203b .py -i.#.all:: ; │ │ │ │ -00000420: 205c 0a24 2850 4154 534f 5054 2920 2d64 \.$(PATSOPT) -d │ │ │ │ -00000430: 202e 2f44 4154 532f 6172 7261 7972 6566 ./DATS/arrayref │ │ │ │ -00000440: 2e64 6174 7320 7c20 5c0a 2428 4154 5343 .dats | \.$(ATSC │ │ │ │ -00000450: 4332 5059 2920 2d6f 202e 2f6f 7574 7075 C2PY) -o ./outpu │ │ │ │ -00000460: 742f 4441 5453 2f61 7272 6179 7265 665f t/DATS/arrayref_ │ │ │ │ -00000470: 6461 7473 2e70 7920 2d69 0a61 6c6c 3a3a dats.py -i.all:: │ │ │ │ -00000480: 203b 205c 0a24 2850 4154 534f 5054 2920 ; \.$(PATSOPT) │ │ │ │ -00000490: 2d64 202e 2f44 4154 532f 6d61 7472 6978 -d ./DATS/matrix │ │ │ │ -000004a0: 7265 662e 6461 7473 207c 205c 0a24 2841 ref.dats | \.$(A │ │ │ │ -000004b0: 5453 4343 3250 5929 202d 6f20 2e2f 6f75 TSCC2PY) -o ./ou │ │ │ │ -000004c0: 7470 7574 2f44 4154 532f 6d61 7472 6978 tput/DATS/matrix │ │ │ │ -000004d0: 7265 665f 6461 7473 2e70 7920 2d69 0a23 ref_dats.py -i.# │ │ │ │ -000004e0: 0a23 2323 2323 230a 230a 616c 6c3a 3a20 .######.#.all:: │ │ │ │ -000004f0: 3b20 5c0a 2428 5041 5453 4f50 5429 202d ; \.$(PATSOPT) - │ │ │ │ -00000500: 6420 2e2f 4441 5453 2f66 756e 6172 7261 d ./DATS/funarra │ │ │ │ -00000510: 792e 6461 7473 207c 205c 0a24 2841 5453 y.dats | \.$(ATS │ │ │ │ -00000520: 4343 3250 5929 202d 6f20 2e2f 6f75 7470 CC2PY) -o ./outp │ │ │ │ -00000530: 7574 2f44 4154 532f 6675 6e61 7272 6179 ut/DATS/funarray │ │ │ │ -00000540: 5f64 6174 732e 7079 202d 690a 616c 6c3a _dats.py -i.all: │ │ │ │ -00000550: 3a20 3b20 5c0a 2428 5041 5453 4f50 5429 : ; \.$(PATSOPT) │ │ │ │ -00000560: 202d 6420 2e2f 4441 5453 2f73 6c69 7374 -d ./DATS/slist │ │ │ │ -00000570: 7265 662e 6461 7473 207c 205c 0a24 2841 ref.dats | \.$(A │ │ │ │ -00000580: 5453 4343 3250 5929 202d 6f20 2e2f 6f75 TSCC2PY) -o ./ou │ │ │ │ -00000590: 7470 7574 2f44 4154 532f 736c 6973 7472 tput/DATS/slistr │ │ │ │ -000005a0: 6566 5f64 6174 732e 7079 202d 690a 616c ef_dats.py -i.al │ │ │ │ -000005b0: 6c3a 3a20 3b20 5c0a 2428 5041 5453 4f50 l:: ; \.$(PATSOP │ │ │ │ -000005c0: 5429 202d 6420 2e2f 4441 5453 2f71 6c69 T) -d ./DATS/qli │ │ │ │ -000005d0: 7374 7265 662e 6461 7473 207c 205c 0a24 stref.dats | \.$ │ │ │ │ -000005e0: 2841 5453 4343 3250 5929 202d 6f20 2e2f (ATSCC2PY) -o ./ │ │ │ │ -000005f0: 6f75 7470 7574 2f44 4154 532f 716c 6973 output/DATS/qlis │ │ │ │ -00000600: 7472 6566 5f64 6174 732e 7079 202d 690a tref_dats.py -i. │ │ │ │ -00000610: 230a 2323 2323 2323 0a0a 616c 6c3a 3a20 #.######..all:: │ │ │ │ -00000620: 3b20 5c0a 2428 5041 5453 4f50 5429 202d ; \.$(PATSOPT) - │ │ │ │ -00000630: 6420 2e2f 4441 5453 2f4d 4c2f 6c69 7374 d ./DATS/ML/list │ │ │ │ -00000640: 302e 6461 7473 207c 205c 0a24 2841 5453 0.dats | \.$(ATS │ │ │ │ -00000650: 4343 3250 5929 202d 6f20 2e2f 6f75 7470 CC2PY) -o ./outp │ │ │ │ -00000660: 7574 2f44 4154 532f 4d4c 2f6c 6973 7430 ut/DATS/ML/list0 │ │ │ │ -00000670: 5f64 6174 732e 7079 202d 690a 616c 6c3a _dats.py -i.all: │ │ │ │ -00000680: 3a20 3b20 5c0a 2428 5041 5453 4f50 5429 : ; \.$(PATSOPT) │ │ │ │ -00000690: 202d 6420 2e2f 4441 5453 2f4d 4c2f 6172 -d ./DATS/ML/ar │ │ │ │ -000006a0: 7261 7930 2e64 6174 7320 7c20 5c0a 2428 ray0.dats | \.$( │ │ │ │ -000006b0: 4154 5343 4332 5059 2920 2d6f 202e 2f6f ATSCC2PY) -o ./o │ │ │ │ -000006c0: 7574 7075 742f 4441 5453 2f4d 4c2f 6172 utput/DATS/ML/ar │ │ │ │ -000006d0: 7261 7930 5f64 6174 732e 7079 202d 690a ray0_dats.py -i. │ │ │ │ -000006e0: 616c 6c3a 3a20 3b20 5c0a 2428 5041 5453 all:: ; \.$(PATS │ │ │ │ -000006f0: 4f50 5429 202d 6420 2e2f 4441 5453 2f4d OPT) -d ./DATS/M │ │ │ │ -00000700: 4c2f 6f70 7469 6f6e 302e 6461 7473 207c L/option0.dats | │ │ │ │ -00000710: 205c 0a24 2841 5453 4343 3250 5929 202d \.$(ATSCC2PY) - │ │ │ │ -00000720: 6f20 2e2f 6f75 7470 7574 2f44 4154 532f o ./output/DATS/ │ │ │ │ -00000730: 4d4c 2f6f 7074 696f 6e30 5f64 6174 732e ML/option0_dats. │ │ │ │ -00000740: 7079 202d 690a 0a23 2323 2323 230a 230a py -i..######.#. │ │ │ │ -00000750: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL │ │ │ │ -00000760: 5f50 593d 5c0a 6f75 7470 7574 2f6c 6962 _PY=\.output/lib │ │ │ │ -00000770: 6174 7363 6332 7079 335f 616c 6c2e 7079 atscc2py3_all.py │ │ │ │ -00000780: 0a4c 4942 4154 5343 4332 5059 335f 414c .LIBATSCC2PY3_AL │ │ │ │ -00000790: 4c5f 5059 4c49 4243 5f50 593d 5c0a 6f75 L_PYLIBC_PY=\.ou │ │ │ │ -000007a0: 7470 7574 2f6c 6962 6174 7363 6332 7079 tput/libatscc2py │ │ │ │ -000007b0: 335f 616c 6c5f 7079 6c69 6263 2e70 790a 3_all_pylibc.py. │ │ │ │ -000007c0: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL │ │ │ │ -000007d0: 5f50 5947 414d 455f 5059 3d5c 0a6f 7574 _PYGAME_PY=\.out │ │ │ │ -000007e0: 7075 742f 6c69 6261 7473 6363 3270 7933 put/libatscc2py3 │ │ │ │ -000007f0: 5f61 6c6c 5f70 7967 616d 652e 7079 0a23 _all_pygame.py.# │ │ │ │ -00000800: 0a23 2323 2323 230a 0a61 6c6c 5f69 6e5f .######..all_in_ │ │ │ │ -00000810: 6f6e 653a 3a20 6c69 6261 7473 6363 3270 one:: libatscc2p │ │ │ │ -00000820: 7933 5f61 6c6c 0a61 6c6c 5f69 6e5f 6f6e y3_all.all_in_on │ │ │ │ -00000830: 653a 3a20 6c69 6261 7473 6363 3270 7933 e:: libatscc2py3 │ │ │ │ -00000840: 5f61 6c6c 5f70 796c 6962 630a 616c 6c5f _all_pylibc.all_ │ │ │ │ -00000850: 696e 5f6f 6e65 3a3a 206c 6962 6174 7363 in_one:: libatsc │ │ │ │ -00000860: 6332 7079 335f 616c 6c5f 7079 6761 6d65 c2py3_all_pygame │ │ │ │ -00000870: 0a0a 2323 2323 2323 0a23 0a44 4154 453d ..######.#.DATE= │ │ │ │ -00000880: 2f62 696e 2f64 6174 650a 4543 484f 3d2f /bin/date.ECHO=/ │ │ │ │ -00000890: 6269 6e2f 6563 686f 202d 656e 0a23 0a50 bin/echo -en.#.P │ │ │ │ -000008a0: 5249 4e54 463d 7072 696e 7466 0a23 0a23 RINTF=printf.#.# │ │ │ │ -000008b0: 2323 2323 230a 230a 2320 6c69 6261 7473 #####.#.# libats │ │ │ │ -000008c0: 6363 3270 7933 5f61 6c6c 3a3a 203b 205c cc2py3_all:: ; \ │ │ │ │ -000008d0: 0a23 2024 2845 4348 4f29 2027 5c6e 2720 .# $(ECHO) '\n' │ │ │ │ -000008e0: 7c20 2428 4341 5429 202d 203e 2428 4c49 | $(CAT) - >$(LI │ │ │ │ -000008f0: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P │ │ │ │ -00000900: 5929 0a23 0a6c 6962 6174 7363 6332 7079 Y).#.libatscc2py │ │ │ │ -00000910: 335f 616c 6c3a 3a20 3b20 5c0a 2428 5052 3_all:: ; \.$(PR │ │ │ │ -00000920: 494e 5446 2920 275c 6e27 207c 2024 2843 INTF) '\n' | $(C │ │ │ │ -00000930: 4154 2920 2d20 3e24 284c 4942 4154 5343 AT) - >$(LIBATSC │ │ │ │ -00000940: 4332 5059 335f 414c 4c5f 5059 290a 6c69 C2PY3_ALL_PY).li │ │ │ │ -00000950: 6261 7473 6363 3270 7933 5f61 6c6c 3a3a batscc2py3_all:: │ │ │ │ -00000960: 203b 205c 0a24 2850 5249 4e54 4629 2027 ; \.$(PRINTF) ' │ │ │ │ -00000970: 2323 2323 2323 5c6e 2720 7c20 2428 4341 ######\n' | $(CA │ │ │ │ -00000980: 5429 202d 203e 3e24 284c 4942 4154 5343 T) - >>$(LIBATSC │ │ │ │ -00000990: 4332 5059 335f 414c 4c5f 5059 290a 6c69 C2PY3_ALL_PY).li │ │ │ │ -000009a0: 6261 7473 6363 3270 7933 5f61 6c6c 3a3a batscc2py3_all:: │ │ │ │ -000009b0: 203b 205c 0a24 2850 5249 4e54 4629 2027 ; \.$(PRINTF) ' │ │ │ │ -000009c0: 235c 6e27 207c 2024 2843 4154 2920 2d20 #\n' | $(CAT) - │ │ │ │ -000009d0: 3e3e 2428 4c49 4241 5453 4343 3250 5933 >>$(LIBATSCC2PY3 │ │ │ │ -000009e0: 5f41 4c4c 5f50 5929 0a6c 6962 6174 7363 _ALL_PY).libatsc │ │ │ │ -000009f0: 6332 7079 335f 616c 6c3a 3a20 3b20 5c0a c2py3_all:: ; \. │ │ │ │ -00000a00: 2428 5052 494e 5446 2920 2723 2054 696d $(PRINTF) '# Tim │ │ │ │ -00000a10: 6520 6f66 2047 656e 6572 6174 696f 6e3a e of Generation: │ │ │ │ -00000a20: 5c6e 2720 7c20 2428 4341 5429 202d 203e \n' | $(CAT) - > │ │ │ │ -00000a30: 3e24 284c 4942 4154 5343 4332 5059 335f >$(LIBATSCC2PY3_ │ │ │ │ -00000a40: 414c 4c5f 5059 290a 6c69 6261 7473 6363 ALL_PY).libatscc │ │ │ │ -00000a50: 3270 7933 5f61 6c6c 3a3a 203b 205c 0a28 2py3_all:: ; \.( │ │ │ │ -00000a60: 2428 5052 494e 5446 2920 2723 2027 207c $(PRINTF) '# ' | │ │ │ │ -00000a70: 2024 2843 4154 2920 2d20 3e3e 2428 4c49 $(CAT) - >>$(LI │ │ │ │ -00000a80: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P │ │ │ │ -00000a90: 5929 3b20 2428 4441 5445 2920 7c20 2428 Y); $(DATE) | $( │ │ │ │ -00000aa0: 4341 5429 202d 203e 3e24 284c 4942 4154 CAT) - >>$(LIBAT │ │ │ │ -00000ab0: 5343 4332 5059 335f 414c 4c5f 5059 2929 SCC2PY3_ALL_PY)) │ │ │ │ -00000ac0: 0a6c 6962 6174 7363 6332 7079 335f 616c .libatscc2py3_al │ │ │ │ -00000ad0: 6c3a 3a20 3b20 5c0a 2428 5052 494e 5446 l:: ; \.$(PRINTF │ │ │ │ -00000ae0: 2920 2723 5c6e 2720 7c20 2428 4341 5429 ) '#\n' | $(CAT) │ │ │ │ -00000af0: 202d 203e 3e24 284c 4942 4154 5343 4332 - >>$(LIBATSCC2 │ │ │ │ -00000b00: 5059 335f 414c 4c5f 5059 290a 6c69 6261 PY3_ALL_PY).liba │ │ │ │ -00000b10: 7473 6363 3270 7933 5f61 6c6c 3a3a 203b tscc2py3_all:: ; │ │ │ │ -00000b20: 205c 0a24 2850 5249 4e54 4629 2027 2323 \.$(PRINTF) '## │ │ │ │ -00000b30: 2323 2323 5c6e 5c6e 2720 7c20 2428 4341 ####\n\n' | $(CA │ │ │ │ -00000b40: 5429 202d 203e 3e24 284c 4942 4154 5343 T) - >>$(LIBATSC │ │ │ │ -00000b50: 4332 5059 335f 414c 4c5f 5059 290a 230a C2PY3_ALL_PY).#. │ │ │ │ -00000b60: 2323 2323 2323 0a0a 6c69 6261 7473 6363 ######..libatscc │ │ │ │ -00000b70: 3270 7933 5f61 6c6c 3a3a 203b 205c 0a24 2py3_all:: ; \.$ │ │ │ │ -00000b80: 2843 4154 2920 3e3e 2428 4c49 4241 5453 (CAT) >>$(LIBATS │ │ │ │ -00000b90: 4343 3250 5933 5f41 4c4c 5f50 5929 205c CC2PY3_ALL_PY) \ │ │ │ │ -00000ba0: 0a43 4154 532f 6261 7369 6373 5f63 6174 .CATS/basics_cat │ │ │ │ -00000bb0: 732e 7079 205c 0a43 4154 532f 696e 7465 s.py \.CATS/inte │ │ │ │ -00000bc0: 6765 725f 6361 7473 2e70 7920 5c0a 4341 ger_cats.py \.CA │ │ │ │ -00000bd0: 5453 2f62 6f6f 6c5f 6361 7473 2e70 7920 TS/bool_cats.py │ │ │ │ -00000be0: 5c0a 4341 5453 2f63 6861 725f 6361 7473 \.CATS/char_cats │ │ │ │ -00000bf0: 2e70 7920 5c0a 4341 5453 2f66 6c6f 6174 .py \.CATS/float │ │ │ │ -00000c00: 5f63 6174 732e 7079 205c 0a43 4154 532f _cats.py \.CATS/ │ │ │ │ -00000c10: 7374 7269 6e67 5f63 6174 732e 7079 205c string_cats.py \ │ │ │ │ -00000c20: 0a43 4154 532f 7072 696e 745f 6361 7473 .CATS/print_cats │ │ │ │ -00000c30: 2e70 7920 5c0a 4341 5453 2f66 696c 6562 .py \.CATS/fileb │ │ │ │ -00000c40: 6173 5f63 6174 732e 7079 205c 0a43 4154 as_cats.py \.CAT │ │ │ │ -00000c50: 532f 5059 6c69 7374 5f63 6174 732e 7079 S/PYlist_cats.py │ │ │ │ -00000c60: 205c 0a43 4154 532f 7265 6665 7265 6e63 \.CATS/referenc │ │ │ │ -00000c70: 655f 6361 7473 2e70 7920 5c0a 0a23 2323 e_cats.py \..### │ │ │ │ -00000c80: 2323 230a 0a6c 6962 6174 7363 6332 7079 ###..libatscc2py │ │ │ │ -00000c90: 335f 616c 6c3a 3a20 3b20 5c0a 2428 4341 3_all:: ; \.$(CA │ │ │ │ -00000ca0: 5429 203e 3e24 284c 4942 4154 5343 4332 T) >>$(LIBATSCC2 │ │ │ │ -00000cb0: 5059 335f 414c 4c5f 5059 2920 5c0a 6f75 PY3_ALL_PY) \.ou │ │ │ │ -00000cc0: 7470 7574 2f44 4154 532f 7374 7269 6e67 tput/DATS/string │ │ │ │ -00000cd0: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \.outpu │ │ │ │ -00000ce0: 742f 4441 5453 2f50 596c 6973 745f 6461 t/DATS/PYlist_da │ │ │ │ -00000cf0: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \.output/D │ │ │ │ -00000d00: 4154 532f 7265 6665 7265 6e63 655f 6461 ATS/reference_da │ │ │ │ -00000d10: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \.output/D │ │ │ │ -00000d20: 4154 532f 6c69 7374 5f64 6174 732e 7079 ATS/list_dats.py │ │ │ │ -00000d30: 205c 0a6f 7574 7075 742f 4441 5453 2f6c \.output/DATS/l │ │ │ │ -00000d40: 6973 745f 7674 5f64 6174 732e 7079 205c ist_vt_dats.py \ │ │ │ │ -00000d50: 0a6f 7574 7075 742f 4441 5453 2f6f 7074 .output/DATS/opt │ │ │ │ -00000d60: 696f 6e5f 6461 7473 2e70 7920 5c0a 6f75 ion_dats.py \.ou │ │ │ │ -00000d70: 7470 7574 2f44 4154 532f 7374 7265 616d tput/DATS/stream │ │ │ │ -00000d80: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \.outpu │ │ │ │ -00000d90: 742f 4441 5453 2f73 7472 6561 6d5f 7674 t/DATS/stream_vt │ │ │ │ -00000da0: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \.outpu │ │ │ │ -00000db0: 742f 4441 5453 2f69 6e74 7261 6e67 655f t/DATS/intrange_ │ │ │ │ -00000dc0: 6461 7473 2e70 7920 5c0a 6f75 7470 7574 dats.py \.output │ │ │ │ -00000dd0: 2f44 4154 532f 6172 7261 7972 6566 5f64 /DATS/arrayref_d │ │ │ │ -00000de0: 6174 732e 7079 205c 0a6f 7574 7075 742f ats.py \.output/ │ │ │ │ -00000df0: 4441 5453 2f6d 6174 7269 7872 6566 5f64 DATS/matrixref_d │ │ │ │ -00000e00: 6174 732e 7079 205c 0a6f 7574 7075 742f ats.py \.output/ │ │ │ │ -00000e10: 4441 5453 2f66 756e 6172 7261 795f 6461 DATS/funarray_da │ │ │ │ -00000e20: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \.output/D │ │ │ │ -00000e30: 4154 532f 736c 6973 7472 6566 5f64 6174 ATS/slistref_dat │ │ │ │ -00000e40: 732e 7079 205c 0a6f 7574 7075 742f 4441 s.py \.output/DA │ │ │ │ -00000e50: 5453 2f71 6c69 7374 7265 665f 6461 7473 TS/qlistref_dats │ │ │ │ -00000e60: 2e70 7920 5c0a 6f75 7470 7574 2f44 4154 .py \.output/DAT │ │ │ │ -00000e70: 532f 4d4c 2f6c 6973 7430 5f64 6174 732e S/ML/list0_dats. │ │ │ │ -00000e80: 7079 205c 0a6f 7574 7075 742f 4441 5453 py \.output/DATS │ │ │ │ -00000e90: 2f4d 4c2f 6172 7261 7930 5f64 6174 732e /ML/array0_dats. │ │ │ │ -00000ea0: 7079 205c 0a6f 7574 7075 742f 4441 5453 py \.output/DATS │ │ │ │ -00000eb0: 2f4d 4c2f 6f70 7469 6f6e 305f 6461 7473 /ML/option0_dats │ │ │ │ -00000ec0: 2e70 7920 5c0a 0a23 2323 2323 230a 230a .py \..######.#. │ │ │ │ -00000ed0: 6c69 6261 7473 6363 3270 7933 5f61 6c6c libatscc2py3_all │ │ │ │ -00000ee0: 3a3a 203b 205c 0a24 2850 5249 4e54 4629 :: ; \.$(PRINTF) │ │ │ │ -00000ef0: 2027 5c6e 2720 7c20 2428 4341 5429 202d '\n' | $(CAT) - │ │ │ │ -00000f00: 203e 3e24 284c 4942 4154 5343 4332 5059 >>$(LIBATSCC2PY │ │ │ │ -00000f10: 335f 414c 4c5f 5059 290a 6c69 6261 7473 3_ALL_PY).libats │ │ │ │ -00000f20: 6363 3270 7933 5f61 6c6c 3a3a 203b 205c cc2py3_all:: ; \ │ │ │ │ -00000f30: 0a24 2850 5249 4e54 4629 2027 2323 2023 .$(PRINTF) '## # │ │ │ │ -00000f40: 2323 2323 2320 2323 2323 2323 2023 2327 ##### ###### ##' │ │ │ │ -00000f50: 207c 2024 2843 4154 2920 2d20 3e3e 2428 | $(CAT) - >>$( │ │ │ │ -00000f60: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL │ │ │ │ -00000f70: 5f50 5929 0a6c 6962 6174 7363 6332 7079 _PY).libatscc2py │ │ │ │ -00000f80: 335f 616c 6c3a 3a20 3b20 5c0a 2428 5052 3_all:: ; \.$(PR │ │ │ │ -00000f90: 494e 5446 2920 275c 6e27 207c 2024 2843 INTF) '\n' | $(C │ │ │ │ -00000fa0: 4154 2920 2d20 3e3e 2428 4c49 4241 5453 AT) - >>$(LIBATS │ │ │ │ -00000fb0: 4343 3250 5933 5f41 4c4c 5f50 5929 0a23 CC2PY3_ALL_PY).# │ │ │ │ -00000fc0: 0a6c 6962 6174 7363 6332 7079 335f 616c .libatscc2py3_al │ │ │ │ -00000fd0: 6c3a 3a20 3b20 5c0a 2428 5052 494e 5446 l:: ; \.$(PRINTF │ │ │ │ -00000fe0: 2920 275c 6e23 2320 656e 6420 6f66 205b ) '\n## end of [ │ │ │ │ -00000ff0: 6c69 6261 7473 6363 3270 7933 5f61 6c6c libatscc2py3_all │ │ │ │ -00001000: 2e70 795d 2023 235c 6e27 207c 2024 2843 .py] ##\n' | $(C │ │ │ │ -00001010: 4154 2920 2d20 3e3e 2428 4c49 4241 5453 AT) - >>$(LIBATS │ │ │ │ -00001020: 4343 3250 5933 5f41 4c4c 5f50 5929 0a23 CC2PY3_ALL_PY).# │ │ │ │ -00001030: 0a23 2323 2323 230a 0a6c 6962 6174 7363 .######..libatsc │ │ │ │ -00001040: 6332 7079 335f 616c 6c5f 7079 6c69 6263 c2py3_all_pylibc │ │ │ │ -00001050: 3a3a 203b 205c 0a24 2843 4154 2920 3e24 :: ; \.$(CAT) >$ │ │ │ │ -00001060: 284c 4942 4154 5343 4332 5059 335f 414c (LIBATSCC2PY3_AL │ │ │ │ -00001070: 4c5f 5059 4c49 4243 5f50 5929 205c 0a43 L_PYLIBC_PY) \.C │ │ │ │ -00001080: 4154 532f 5059 4c49 4243 5f72 616e 646f ATS/PYLIBC_rando │ │ │ │ -00001090: 6d5f 6361 7473 2e70 7920 5c0a 4341 5453 m_cats.py \.CATS │ │ │ │ -000010a0: 2f50 594c 4942 435f 6461 7465 7469 6d65 /PYLIBC_datetime │ │ │ │ -000010b0: 5f63 6174 732e 7079 205c 0a0a 2323 2323 _cats.py \..#### │ │ │ │ -000010c0: 2323 0a0a 6c69 6261 7473 6363 3270 7933 ##..libatscc2py3 │ │ │ │ -000010d0: 5f61 6c6c 5f70 7967 616d 653a 3a20 3b20 _all_pygame:: ; │ │ │ │ -000010e0: 5c0a 2428 4341 5429 203e 2428 4c49 4241 \.$(CAT) >$(LIBA │ │ │ │ -000010f0: 5453 4343 3250 5933 5f41 4c4c 5f50 5947 TSCC2PY3_ALL_PYG │ │ │ │ -00001100: 414d 455f 5059 2920 5c0a 4341 5453 2f50 AME_PY) \.CATS/P │ │ │ │ -00001110: 5947 414d 455f 7079 6761 6d65 5f63 6174 YGAME_pygame_cat │ │ │ │ -00001120: 732e 7079 205c 0a0a 2323 2323 2323 0a0a s.py \..######.. │ │ │ │ -00001130: 636c 6561 6e3a 3a20 3b20 2428 524d 4629 clean:: ; $(RMF) │ │ │ │ -00001140: 202a 7e20 2a2f 2a7e 0a0a 2323 2323 2323 *~ */*~..###### │ │ │ │ -00001150: 0a23 0a63 6c65 616e 616c 6c3a 3a20 636c .#.cleanall:: cl │ │ │ │ -00001160: 6561 6e0a 230a 636c 6561 6e61 6c6c 3a3a ean.#.cleanall:: │ │ │ │ -00001170: 203b 2072 6d20 2d72 6620 6f75 7470 7574 ; rm -rf output │ │ │ │ -00001180: 2f5f 5f70 7963 6163 6865 5f5f 0a23 0a63 /__pycache__.#.c │ │ │ │ -00001190: 6c65 616e 616c 6c3a 3a20 3b20 2428 524d leanall:: ; $(RM │ │ │ │ -000011a0: 4629 206f 7574 7075 742f 4441 5453 2f2a F) output/DATS/* │ │ │ │ -000011b0: 5f3f 6174 732e 7079 0a63 6c65 616e 616c _?ats.py.cleanal │ │ │ │ -000011c0: 6c3a 3a20 3b20 2428 524d 4629 206f 7574 l:: ; $(RMF) out │ │ │ │ -000011d0: 7075 742f 4441 5453 2f4d 4c2f 2a5f 3f61 put/DATS/ML/*_?a │ │ │ │ -000011e0: 7473 2e70 790a 230a 636c 6561 6e61 6c6c ts.py.#.cleanall │ │ │ │ -000011f0: 3a3a 203b 2024 2852 4d46 2920 2428 4c49 :: ; $(RMF) $(LI │ │ │ │ -00001200: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P │ │ │ │ -00001210: 5929 0a63 6c65 616e 616c 6c3a 3a20 3b20 Y).cleanall:: ; │ │ │ │ -00001220: 2428 524d 4629 2024 284c 4942 4154 5343 $(RMF) $(LIBATSC │ │ │ │ -00001230: 4332 5059 335f 414c 4c5f 5059 4c49 4243 C2PY3_ALL_PYLIBC │ │ │ │ -00001240: 5f50 5929 0a63 6c65 616e 616c 6c3a 3a20 _PY).cleanall:: │ │ │ │ -00001250: 3b20 2428 524d 4629 2024 284c 4942 4154 ; $(RMF) $(LIBAT │ │ │ │ -00001260: 5343 4332 5059 335f 414c 4c5f 5059 4741 SCC2PY3_ALL_PYGA │ │ │ │ -00001270: 4d45 5f50 5929 0a23 0a23 2323 2323 2320 ME_PY).#.###### │ │ │ │ -00001280: 656e 6420 6f66 205b 4d61 6b65 6669 6c65 end of [Makefile │ │ │ │ -00001290: 5d20 2323 2323 2323 0a ] ######. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats │ │ │ │ @@ -1,93 +0,0 @@ │ │ │ │ -00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin │ │ │ │ -00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th │ │ │ │ -00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in │ │ │ │ -00000030: 746f 2050 7974 686f 640a 2a29 0a0a 282a to Pythod.*)..(* │ │ │ │ -00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** * │ │ │ │ -00000050: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014- │ │ │ │ -00000060: 3039 2d30 390a 2f2f 0a28 2a20 2a2a 2a2a 09-09.//.(* **** │ │ │ │ -00000070: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//. │ │ │ │ -00000080: 2373 7461 6c6f 6164 2022 2e2f 6261 7369 #staload "./basi │ │ │ │ -00000090: 6373 5f70 792e 7361 7473 220a 2373 7461 cs_py.sats".#sta │ │ │ │ -000000a0: 6c6f 6164 205f 203d 2022 2e2f 4441 5453 load _ = "./DATS │ │ │ │ -000000b0: 2f62 6173 6963 732e 6461 7473 220a 2f2f /basics.dats".// │ │ │ │ -000000c0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -000000d0: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload │ │ │ │ -000000e0: 2022 2e2f 5341 5453 2f69 6e74 6567 6572 "./SATS/integer │ │ │ │ -000000f0: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats".//.(* *** │ │ │ │ -00000100: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -00000110: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload "./SAT │ │ │ │ -00000120: 532f 626f 6f6c 2e73 6174 7322 0a23 7374 S/bool.sats".#st │ │ │ │ -00000130: 616c 6f61 6420 222e 2f53 4154 532f 6368 aload "./SATS/ch │ │ │ │ -00000140: 6172 2e73 6174 7322 0a23 7374 616c 6f61 ar.sats".#staloa │ │ │ │ -00000150: 6420 222e 2f53 4154 532f 666c 6f61 742e d "./SATS/float. │ │ │ │ -00000160: 7361 7473 220a 2373 7461 6c6f 6164 2022 sats".#staload " │ │ │ │ -00000170: 2e2f 5341 5453 2f73 7472 696e 672e 7361 ./SATS/string.sa │ │ │ │ -00000180: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts".//.(* ****** │ │ │ │ -00000190: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s │ │ │ │ -000001a0: 7461 6c6f 6164 2022 2e2f 5341 5453 2f70 taload "./SATS/p │ │ │ │ -000001b0: 7269 6e74 2e73 6174 7322 0a23 7374 616c rint.sats".#stal │ │ │ │ -000001c0: 6f61 6420 222e 2f53 4154 532f 6669 6c65 oad "./SATS/file │ │ │ │ -000001d0: 6261 732e 7361 7473 220a 2f2f 0a23 7374 bas.sats".//.#st │ │ │ │ -000001e0: 616c 6f61 6420 5f20 3d20 222e 2f44 4154 aload _ = "./DAT │ │ │ │ -000001f0: 532f 7072 696e 742e 6461 7473 220a 2f2f S/print.dats".// │ │ │ │ -00000200: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** ***** │ │ │ │ -00000210: 2a20 2a29 0a0a 2373 7461 6c6f 6164 2022 * *)..#staload " │ │ │ │ -00000220: 2e2f 5341 5453 2f67 7072 696e 742e 7361 ./SATS/gprint.sa │ │ │ │ -00000230: 7473 220a 2373 7461 6c6f 6164 205f 203d ts".#staload _ = │ │ │ │ -00000240: 2022 2e2f 4441 5453 2f67 7072 696e 742e "./DATS/gprint. │ │ │ │ -00000250: 6461 7473 220a 0a28 2a20 2a2a 2a2a 2a2a dats"..(* ****** │ │ │ │ -00000260: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s │ │ │ │ -00000270: 7461 6c6f 6164 2022 2e2f 5341 5453 2f6c taload "./SATS/l │ │ │ │ -00000280: 6973 742e 7361 7473 220a 2373 7461 6c6f ist.sats".#stalo │ │ │ │ -00000290: 6164 205f 203d 2022 2e2f 4441 5453 2f6c ad _ = "./DATS/l │ │ │ │ -000002a0: 6973 742e 6461 7473 220a 2f2f 0a23 7374 ist.dats".//.#st │ │ │ │ -000002b0: 616c 6f61 6420 222e 2f53 4154 532f 5059 aload "./SATS/PY │ │ │ │ -000002c0: 6c69 7374 2e73 6174 7322 0a23 7374 616c list.sats".#stal │ │ │ │ -000002d0: 6f61 6420 5f20 3d20 222e 2f44 4154 532f oad _ = "./DATS/ │ │ │ │ -000002e0: 5059 6c69 7374 2e64 6174 7322 0a2f 2f0a PYlist.dats".//. │ │ │ │ -000002f0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000300: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload │ │ │ │ -00000310: 222e 2f53 4154 532f 7374 7265 616d 2e73 "./SATS/stream.s │ │ │ │ -00000320: 6174 7322 0a23 7374 616c 6f61 6420 5f20 ats".#staload _ │ │ │ │ -00000330: 3d20 222e 2f44 4154 532f 7374 7265 616d = "./DATS/stream │ │ │ │ -00000340: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats".//.(* *** │ │ │ │ -00000350: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -00000360: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload "./SAT │ │ │ │ -00000370: 532f 7374 7265 616d 5f76 742e 7361 7473 S/stream_vt.sats │ │ │ │ -00000380: 220a 2373 7461 6c6f 6164 205f 203d 2022 ".#staload _ = " │ │ │ │ -00000390: 2e2f 4441 5453 2f73 7472 6561 6d5f 7674 ./DATS/stream_vt │ │ │ │ -000003a0: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats".//.(* *** │ │ │ │ -000003b0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000003c0: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload "./SAT │ │ │ │ -000003d0: 532f 696e 7472 616e 6765 2e73 6174 7322 S/intrange.sats" │ │ │ │ -000003e0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** ** │ │ │ │ -000003f0: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal │ │ │ │ -00000400: 6f61 6420 222e 2f53 4154 532f 6172 7261 oad "./SATS/arra │ │ │ │ -00000410: 7972 6566 2e73 6174 7322 0a23 7374 616c yref.sats".#stal │ │ │ │ -00000420: 6f61 6420 222e 2f53 4154 532f 6d61 7472 oad "./SATS/matr │ │ │ │ -00000430: 6978 7265 662e 7361 7473 220a 2373 7461 ixref.sats".#sta │ │ │ │ -00000440: 6c6f 6164 2022 2e2f 5341 5453 2f72 6566 load "./SATS/ref │ │ │ │ -00000450: 6572 656e 6365 2e73 6174 7322 0a2f 2f0a erence.sats".//. │ │ │ │ -00000460: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ****** │ │ │ │ -00000470: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload │ │ │ │ -00000480: 222e 2f53 4154 532f 736c 6973 7472 6566 "./SATS/slistref │ │ │ │ -00000490: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats".#staload │ │ │ │ -000004a0: 222e 2f53 4154 532f 716c 6973 7472 6566 "./SATS/qlistref │ │ │ │ -000004b0: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats".//.(* *** │ │ │ │ -000004c0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).// │ │ │ │ -000004d0: 0a2f 2f20 4858 3a20 756e 2d69 6e64 6578 .// HX: un-index │ │ │ │ -000004e0: 6564 206c 6973 740a 2f2f 2048 583a 2075 ed list.// HX: u │ │ │ │ -000004f0: 6e2d 696e 6465 7865 6420 6172 7261 790a n-indexed array. │ │ │ │ -00000500: 2f2f 0a23 7374 616c 6f61 6420 222e 2f53 //.#staload "./S │ │ │ │ -00000510: 4154 532f 4d4c 2f6c 6973 7430 2e73 6174 ATS/ML/list0.sat │ │ │ │ -00000520: 7322 0a23 7374 616c 6f61 6420 222e 2f53 s".#staload "./S │ │ │ │ -00000530: 4154 532f 4d4c 2f61 7272 6179 302e 7361 ATS/ML/array0.sa │ │ │ │ -00000540: 7473 220a 2f2f 0a23 7374 616c 6f61 6420 ts".//.#staload │ │ │ │ -00000550: 5f20 3d20 222e 2f44 4154 532f 4d4c 2f6c _ = "./DATS/ML/l │ │ │ │ -00000560: 6973 7430 2e64 6174 7322 0a23 7374 616c ist0.dats".#stal │ │ │ │ -00000570: 6f61 6420 5f20 3d20 222e 2f44 4154 532f oad _ = "./DATS/ │ │ │ │ -00000580: 4d4c 2f61 7272 6179 302e 6461 7473 220a ML/array0.dats". │ │ │ │ -00000590: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** *** │ │ │ │ -000005a0: 2a2a 2a20 2a29 0a0a 282a 2065 6e64 206f *** *)..(* end o │ │ │ │ -000005b0: 6620 5b73 7461 6c6f 6164 616c 6c2e 6861 f [staloadall.ha │ │ │ │ -000005c0: 7473 5d20 2a29 0a0a ts] *).. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm │ │ │ │ @@ -1,147 +0,0 @@ │ │ │ │ -00000000: 3b3b 3b3b 3b3b 0a3b 0a3b 2048 582d 3230 ;;;;;;.;.; HX-20 │ │ │ │ -00000010: 3136 2d30 363a 0a3b 2066 6f72 2053 6368 16-06:.; for Sch │ │ │ │ -00000020: 656d 6520 636f 6465 2074 7261 6e73 6c61 eme code transla │ │ │ │ -00000030: 7465 6420 6672 6f6d 2041 5453 0a3b 0a3b ted from ATS.;.; │ │ │ │ -00000040: 3b3b 3b3b 3b0a 0a3b 3b3b 3b3b 3b0a 3b20 ;;;;;..;;;;;;.; │ │ │ │ -00000050: 6265 6720 6f66 205b 5343 4d6c 6973 745f beg of [SCMlist_ │ │ │ │ -00000060: 6361 7473 2e73 636d 5d0a 3b3b 3b3b 3b3b cats.scm].;;;;;; │ │ │ │ -00000070: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;; │ │ │ │ -00000080: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000090: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.; │ │ │ │ -000000a0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro. │ │ │ │ -000000b0: 2028 6174 7332 7363 6d70 7265 5f53 434d (ats2scmpre_SCM │ │ │ │ -000000c0: 6c69 7374 5f6e 696c 2920 6028 6c69 7374 list_nil) `(list │ │ │ │ -000000d0: 2929 0a28 6465 6669 6e65 2d6d 6163 726f )).(define-macro │ │ │ │ -000000e0: 0a20 2861 7473 3273 636d 7072 655f 5343 . (ats2scmpre_SC │ │ │ │ -000000f0: 4d6c 6973 745f 7369 6e67 2078 2920 6028 Mlist_sing x) `( │ │ │ │ -00000100: 6c69 7374 202c 7829 290a 2864 6566 696e list ,x)).(defin │ │ │ │ -00000110: 652d 6d61 6372 6f0a 2028 6174 7332 7363 e-macro. (ats2sc │ │ │ │ -00000120: 6d70 7265 5f53 434d 6c69 7374 5f70 6169 mpre_SCMlist_pai │ │ │ │ -00000130: 7220 7831 2078 3229 2060 286c 6973 7420 r x1 x2) `(list │ │ │ │ -00000140: 2c78 3120 2c78 3229 290a 3b3b 0a3b 3b3b ,x1 ,x2)).;;.;;; │ │ │ │ -00000150: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000170: 3b3b 3b3b 3b3b 3b3b 3b0a 0a28 6465 6669 ;;;;;;;;;..(defi │ │ │ │ -00000180: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000190: 636d 7072 655f 5343 4d6c 6973 745f 636f cmpre_SCMlist_co │ │ │ │ -000001a0: 6e73 2078 3020 7873 2920 6028 636f 6e73 ns x0 xs) `(cons │ │ │ │ -000001b0: 202c 7830 202c 7873 2929 0a0a 3b3b 3b3b ,x0 ,xs))..;;;; │ │ │ │ -000001c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000001d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000001e0: 3b3b 3b3b 3b3b 3b3b 0a3b 3b0a 3b3b 2028 ;;;;;;;;.;;.;; ( │ │ │ │ -000001f0: 6465 6669 6e65 0a3b 3b20 2028 6174 7332 define.;; (ats2 │ │ │ │ -00000200: 7363 6d70 7265 5f53 434d 6c69 7374 5f6d scmpre_SCMlist_m │ │ │ │ -00000210: 616b 655f 656c 7420 6e20 7830 290a 3b3b ake_elt n x0).;; │ │ │ │ -00000220: 2020 286c 6574 7265 630a 3b3b 2020 2020 (letrec.;; │ │ │ │ -00000230: 2828 6c6f 6f70 0a3b 3b20 2020 2020 2028 ((loop.;; ( │ │ │ │ -00000240: 6c61 6d62 6461 286e 2072 6573 290a 3b3b lambda(n res).;; │ │ │ │ -00000250: 2020 2020 2020 2028 6966 2028 3e20 6e20 (if (> n │ │ │ │ -00000260: 3029 2028 6c6f 6f70 2028 2d20 6e20 3129 0) (loop (- n 1) │ │ │ │ -00000270: 2028 6174 7332 7363 6d70 7265 5f53 434d (ats2scmpre_SCM │ │ │ │ -00000280: 6c69 7374 5f63 6f6e 7320 7830 2072 6573 list_cons x0 res │ │ │ │ -00000290: 2929 2072 6573 2929 0a3b 3b20 2020 2020 )) res)).;; │ │ │ │ -000002a0: 290a 3b3b 2020 2020 2920 286c 6f6f 7020 ).;; ) (loop │ │ │ │ -000002b0: 6e20 2861 7473 3273 636d 7072 655f 5343 n (ats2scmpre_SC │ │ │ │ -000002c0: 4d6c 6973 745f 6e69 6c29 290a 3b3b 2020 Mlist_nil)).;; │ │ │ │ -000002d0: 2920 3b3b 206c 6574 7265 630a 3b3b 2029 ) ;; letrec.;; ) │ │ │ │ -000002e0: 203b 3b20 6465 6669 6e65 2d61 7473 3273 ;; define-ats2s │ │ │ │ -000002f0: 636d 7072 655f 5343 4d6c 6973 745f 6d61 cmpre_SCMlist_ma │ │ │ │ -00000300: 6b65 5f65 6c74 0a28 6465 6669 6e65 2d6d ke_elt.(define-m │ │ │ │ -00000310: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000320: 655f 5343 4d6c 6973 745f 6d61 6b65 5f65 e_SCMlist_make_e │ │ │ │ -00000330: 6c74 206e 2078 3029 2060 286d 616b 652d lt n x0) `(make- │ │ │ │ -00000340: 6c69 7374 202c 6e20 2c78 3029 290a 3b3b list ,n ,x0)).;; │ │ │ │ -00000350: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;; │ │ │ │ -00000360: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000370: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 0a28 ;;;;;;;;;;;;;..( │ │ │ │ -00000380: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a │ │ │ │ -00000390: 7473 3273 636d 7072 655f 5343 4d6c 6973 ts2scmpre_SCMlis │ │ │ │ -000003a0: 745f 6973 5f6e 696c 2078 7329 2060 286e t_is_nil xs) `(n │ │ │ │ -000003b0: 756c 6c3f 202c 7873 2929 0a28 6465 6669 ull? ,xs)).(defi │ │ │ │ -000003c0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -000003d0: 636d 7072 655f 5343 4d6c 6973 745f 6973 cmpre_SCMlist_is │ │ │ │ -000003e0: 5f63 6f6e 7320 7873 2920 6028 6e6f 7420 _cons xs) `(not │ │ │ │ -000003f0: 286e 756c 6c3f 202c 7873 2929 290a 2864 (null? ,xs))).(d │ │ │ │ -00000400: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at │ │ │ │ -00000410: 7332 7363 6d70 7265 5f53 434d 6c69 7374 s2scmpre_SCMlist │ │ │ │ -00000420: 5f69 736e 6f74 5f6e 696c 2078 7329 2060 _isnot_nil xs) ` │ │ │ │ -00000430: 286e 6f74 2028 6e75 6c6c 3f20 2c78 7329 (not (null? ,xs) │ │ │ │ -00000440: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;; │ │ │ │ -00000450: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000460: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000470: 0a3b 3b0a 2864 6566 696e 652d 6d61 6372 .;;.(define-macr │ │ │ │ -00000480: 6f0a 2028 6174 7332 7363 6d70 7265 5f53 o. (ats2scmpre_S │ │ │ │ -00000490: 434d 6c69 7374 5f6c 656e 6774 6820 7873 CMlist_length xs │ │ │ │ -000004a0: 2920 6028 6c65 6e67 7468 202c 7873 2929 ) `(length ,xs)) │ │ │ │ -000004b0: 0a3b 3b0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;.;;;;;;;;;;;; │ │ │ │ -000004c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000004d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000004e0: 0a0a 2864 6566 696e 652d 6d61 6372 6f20 ..(define-macro │ │ │ │ -000004f0: 2861 7473 3273 636d 7072 655f 5343 4d6c (ats2scmpre_SCMl │ │ │ │ -00000500: 6973 745f 6865 6164 2078 7329 2060 2863 ist_head xs) `(c │ │ │ │ -00000510: 6172 202c 7873 2929 0a28 6465 6669 6e65 ar ,xs)).(define │ │ │ │ -00000520: 2d6d 6163 726f 2028 6174 7332 7363 6d70 -macro (ats2scmp │ │ │ │ -00000530: 7265 5f53 434d 6c69 7374 5f74 6169 6c20 re_SCMlist_tail │ │ │ │ -00000540: 7873 2920 6028 6364 7220 2c78 7329 290a xs) `(cdr ,xs)). │ │ │ │ -00000550: 2864 6566 696e 652d 6d61 6372 6f20 2861 (define-macro (a │ │ │ │ -00000560: 7473 3273 636d 7072 655f 5343 4d6c 6973 ts2scmpre_SCMlis │ │ │ │ -00000570: 745f 6c61 7374 5f70 6169 7220 7873 2920 t_last_pair xs) │ │ │ │ -00000580: 6028 6c61 7374 2d70 6169 7220 2c78 7329 `(last-pair ,xs) │ │ │ │ -00000590: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;; │ │ │ │ -000005a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000005b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;. │ │ │ │ -000005c0: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro │ │ │ │ -000005d0: 0a20 2861 7473 3273 636d 7072 655f 5343 . (ats2scmpre_SC │ │ │ │ -000005e0: 4d6c 6973 745f 6765 745f 6174 2078 7320 Mlist_get_at xs │ │ │ │ -000005f0: 6929 2060 286c 6973 742d 7265 6620 2c78 i) `(list-ref ,x │ │ │ │ -00000600: 7320 2c69 2929 0a28 6465 6669 6e65 2d6d s ,i)).(define-m │ │ │ │ -00000610: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000620: 655f 5343 4d6c 6973 745f 7365 745f 6174 e_SCMlist_set_at │ │ │ │ -00000630: 2078 7320 6920 7830 2920 6028 6c69 7374 xs i x0) `(list │ │ │ │ -00000640: 2d73 6574 2120 2c78 7320 2c69 202c 7830 -set! ,xs ,i ,x0 │ │ │ │ -00000650: 2929 0a3b 3b0a 3b3b 3b3b 3b3b 3b3b 3b3b )).;;.;;;;;;;;;; │ │ │ │ -00000660: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000670: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000680: 3b3b 0a3b 3b0a 2864 6566 696e 652d 6d61 ;;.;;.(define-ma │ │ │ │ -00000690: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre │ │ │ │ -000006a0: 5f53 434d 6c69 7374 5f61 7070 656e 6420 _SCMlist_append │ │ │ │ -000006b0: 7873 2079 7329 2060 2861 7070 656e 6420 xs ys) `(append │ │ │ │ -000006c0: 2c78 7320 2c79 7329 290a 3b3b 0a28 6465 ,xs ,ys)).;;.(de │ │ │ │ -000006d0: 6669 6e65 2d6d 6163 726f 2028 6174 7332 fine-macro (ats2 │ │ │ │ -000006e0: 7363 6d70 7265 5f53 434d 6c69 7374 5f72 scmpre_SCMlist_r │ │ │ │ -000006f0: 6576 6572 7365 2078 7329 2060 2872 6576 everse xs) `(rev │ │ │ │ -00000700: 6572 7365 202c 7873 2929 0a3b 3b0a 3b3b erse ,xs)).;;.;; │ │ │ │ -00000710: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000720: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000730: 3b3b 3b3b 3b3b 3b3b 3b3b 0a0a 3b3b 0a3b ;;;;;;;;;;..;;.; │ │ │ │ -00000740: 3b20 4e6f 7465 2074 6861 7420 5b66 6f6c ; Note that [fol │ │ │ │ -00000750: 645d 2069 7320 6973 2053 5246 492d 310a d] is is SRFI-1. │ │ │ │ -00000760: 3b3b 2053 6f20 7468 6973 206f 6e65 2069 ;; So this one i │ │ │ │ -00000770: 7320 696d 706c 656d 656e 7465 6420 696e s implemented in │ │ │ │ -00000780: 206c 6973 742e 6461 7473 0a3b 3b20 0a3b list.dats.;; .; │ │ │ │ -00000790: 3b28 6465 6669 6e65 2d6d 6163 726f 0a3b ;(define-macro.; │ │ │ │ -000007a0: 3b20 2861 7473 3273 636d 7072 655f 5343 ; (ats2scmpre_SC │ │ │ │ -000007b0: 4d6c 6973 7432 6c69 7374 5f72 6576 2078 Mlist2list_rev x │ │ │ │ -000007c0: 7329 0a3b 3b60 2866 6f6c 6420 286c 616d s).;;`(fold (lam │ │ │ │ -000007d0: 6264 6120 2878 2078 7329 2028 636f 6e73 bda (x xs) (cons │ │ │ │ -000007e0: 2078 2078 7329 2920 2728 2920 2c78 7329 x xs)) '() ,xs) │ │ │ │ -000007f0: 0a3b 3b29 203b 2064 6566 696e 652d 6d61 .;;) ; define-ma │ │ │ │ -00000800: 6372 6f0a 3b3b 0a0a 3b3b 3b3b 3b3b 3b3b cro.;;..;;;;;;;; │ │ │ │ -00000810: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000820: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000830: 3b3b 3b3b 0a0a 2864 6566 696e 652d 6d61 ;;;;..(define-ma │ │ │ │ -00000840: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre │ │ │ │ -00000850: 5f53 434d 6c69 7374 5f73 6f72 745f 3220 _SCMlist_sort_2 │ │ │ │ -00000860: 7873 2063 6d70 290a 6028 6c65 7420 2828 xs cmp).`(let (( │ │ │ │ -00000870: 636d 7020 2861 7473 3273 636d 7072 655f cmp (ats2scmpre_ │ │ │ │ -00000880: 636c 6f72 6566 3266 756e 3220 2c63 6d70 cloref2fun2 ,cmp │ │ │ │ -00000890: 2929 290a 2020 2020 2873 6f72 7420 2c78 ))). (sort ,x │ │ │ │ -000008a0: 7320 286c 616d 6264 6128 7831 2078 3229 s (lambda(x1 x2) │ │ │ │ -000008b0: 2028 3c20 2863 6d70 2078 3120 7832 2920 (< (cmp x1 x2) │ │ │ │ -000008c0: 3029 2929 290a 2920 3b20 6465 6669 6e65 0)))).) ; define │ │ │ │ -000008d0: 2d6d 6163 726f 0a0a 3b3b 3b3b 3b3b 3b3b -macro..;;;;;;;; │ │ │ │ -000008e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -000008f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;; │ │ │ │ -00000900: 3b3b 3b3b 0a0a 3b3b 3b3b 3b3b 2065 6e64 ;;;;..;;;;;; end │ │ │ │ -00000910: 206f 6620 5b53 434d 6c69 7374 5f63 6174 of [SCMlist_cat │ │ │ │ -00000920: 732e 7363 6d5d 203b 3b3b 3b3b 3b0a s.scm] ;;;;;;. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm │ │ │ │ @@ -1,19 +0,0 @@ │ │ │ │ -00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX │ │ │ │ -00000010: 2d32 3031 362d 3036 3a0a 3b20 666f 7220 -2016-06:.; for │ │ │ │ -00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr │ │ │ │ -00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT │ │ │ │ -00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..; │ │ │ │ -00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o │ │ │ │ -00000060: 6620 5b62 6f6f 6c5f 6361 7473 2e73 636d f [bool_cats.scm │ │ │ │ -00000070: 5d0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b 3b20 ].;;;;;;.;;..;; │ │ │ │ -00000080: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b ****** ****** ;; │ │ │ │ -00000090: 0a0a 2864 6566 696e 652d 6d61 6372 6f0a ..(define-macro. │ │ │ │ -000000a0: 2028 6174 7332 7363 6d70 7265 5f6e 6567 (ats2scmpre_neg │ │ │ │ -000000b0: 5f62 6f6f 6c30 2078 2920 6028 6e6f 7420 _bool0 x) `(not │ │ │ │ -000000c0: 2c78 290a 290a 2864 6566 696e 652d 6d61 ,x).).(define-ma │ │ │ │ -000000d0: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre │ │ │ │ -000000e0: 5f6e 6567 5f62 6f6f 6c31 2078 2920 6028 _neg_bool1 x) `( │ │ │ │ -000000f0: 6e6f 7420 2c78 290a 290a 0a3b 3b20 2a2a not ,x).)..;; ** │ │ │ │ -00000100: 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a **** ****** ;;.. │ │ │ │ -00000110: 3b3b 2065 6e64 206f 6620 5b62 6f6f 6c5f ;; end of [bool_ │ │ │ │ -00000120: 6361 7473 2e73 636d 5d20 3b3b 0a cats.scm] ;;. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm │ │ │ │ @@ -1,160 +0,0 @@ │ │ │ │ -00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX │ │ │ │ -00000010: 2d32 3031 362d 3035 3a0a 3b20 666f 7220 -2016-05:.; for │ │ │ │ -00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr │ │ │ │ -00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT │ │ │ │ -00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..; │ │ │ │ -00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o │ │ │ │ -00000060: 6620 5b69 6e74 6567 6572 5f63 6174 732e f [integer_cats. │ │ │ │ -00000070: 7363 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b 0a0a scm].;;;;;;.;;.. │ │ │ │ -00000080: 3b3b 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a ;; ****** ****** │ │ │ │ -00000090: 203b 3b0a 3b3b 0a3b 3b20 4858 3a20 666f ;;.;;.;; HX: fo │ │ │ │ -000000a0: 7220 7369 676e 6564 2069 6e74 6567 6572 r signed integer │ │ │ │ -000000b0: 730a 3b3b 0a3b 3b20 2a2a 2a2a 2a2a 202a s.;;.;; ****** * │ │ │ │ -000000c0: 2a2a 2a2a 2a20 3b3b 0a3b 3b0a 2864 6566 ***** ;;.;;.(def │ │ │ │ -000000d0: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2 │ │ │ │ -000000e0: 7363 6d70 7265 5f6e 6567 5f69 6e74 3020 scmpre_neg_int0 │ │ │ │ -000000f0: 7829 2060 282d 202c 7829 0a29 0a28 6465 x) `(- ,x).).(de │ │ │ │ -00000100: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats │ │ │ │ -00000110: 3273 636d 7072 655f 6e65 675f 696e 7431 2scmpre_neg_int1 │ │ │ │ -00000120: 2078 2920 6028 2d20 2c78 290a 290a 3b3b x) `(- ,x).).;; │ │ │ │ -00000130: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** ***** │ │ │ │ -00000140: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define- │ │ │ │ -00000150: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -00000160: 7265 5f61 6273 5f69 6e74 3020 7829 2060 re_abs_int0 x) ` │ │ │ │ -00000170: 2861 6273 202c 7829 0a29 0a28 6465 6669 (abs ,x).).(defi │ │ │ │ -00000180: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000190: 636d 7072 655f 6162 735f 696e 7431 2078 cmpre_abs_int1 x │ │ │ │ -000001a0: 2920 6028 6162 7320 2c78 290a 290a 3b3b ) `(abs ,x).).;; │ │ │ │ -000001b0: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** ***** │ │ │ │ -000001c0: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define- │ │ │ │ -000001d0: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -000001e0: 7265 5f73 7563 635f 696e 7430 2078 2920 re_succ_int0 x) │ │ │ │ -000001f0: 6028 2b20 2c78 2031 290a 290a 2864 6566 `(+ ,x 1).).(def │ │ │ │ -00000200: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2 │ │ │ │ -00000210: 7363 6d70 7265 5f70 7265 645f 696e 7430 scmpre_pred_int0 │ │ │ │ -00000220: 2078 2920 6028 2d20 2c78 2031 290a 290a x) `(- ,x 1).). │ │ │ │ -00000230: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro │ │ │ │ -00000240: 0a20 2861 7473 3273 636d 7072 655f 7375 . (ats2scmpre_su │ │ │ │ -00000250: 6363 5f69 6e74 3120 7829 2060 282b 202c cc_int1 x) `(+ , │ │ │ │ -00000260: 7820 3129 0a29 0a28 6465 6669 6e65 2d6d x 1).).(define-m │ │ │ │ -00000270: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000280: 655f 7072 6564 5f69 6e74 3120 7829 2060 e_pred_int1 x) ` │ │ │ │ -00000290: 282d 202c 7820 3129 0a29 0a3b 3b0a 3b3b (- ,x 1).).;;.;; │ │ │ │ -000002a0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b ****** ****** ; │ │ │ │ -000002b0: 3b0a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ;.;;.(define-mac │ │ │ │ -000002c0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -000002d0: 6164 645f 696e 7430 5f69 6e74 3020 7820 add_int0_int0 x │ │ │ │ -000002e0: 7929 2060 282b 202c 7820 2c79 290a 290a y) `(+ ,x ,y).). │ │ │ │ -000002f0: 2864 6566 696e 652d 6d61 6372 6f0a 2028 (define-macro. ( │ │ │ │ -00000300: 6174 7332 7363 6d70 7265 5f73 7562 5f69 ats2scmpre_sub_i │ │ │ │ -00000310: 6e74 305f 696e 7430 2078 2079 2920 6028 nt0_int0 x y) `( │ │ │ │ -00000320: 2d20 2c78 202c 7929 0a29 0a28 6465 6669 - ,x ,y).).(defi │ │ │ │ -00000330: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000340: 636d 7072 655f 6d75 6c5f 696e 7430 5f69 cmpre_mul_int0_i │ │ │ │ -00000350: 6e74 3020 7820 7929 2060 282a 202c 7820 nt0 x y) `(* ,x │ │ │ │ -00000360: 2c79 290a 290a 2864 6566 696e 652d 6d61 ,y).).(define-ma │ │ │ │ -00000370: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre │ │ │ │ -00000380: 5f64 6976 5f69 6e74 305f 696e 7430 2078 _div_int0_int0 x │ │ │ │ -00000390: 2079 2920 6028 7175 6f74 6965 6e74 202c y) `(quotient , │ │ │ │ -000003a0: 7820 2c79 290a 290a 3b3b 0a28 6465 6669 x ,y).).;;.(defi │ │ │ │ -000003b0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -000003c0: 636d 7072 655f 6d6f 645f 696e 7430 5f69 cmpre_mod_int0_i │ │ │ │ -000003d0: 6e74 3020 7820 7929 2060 286d 6f64 756c nt0 x y) `(modul │ │ │ │ -000003e0: 6f20 2c78 202c 7929 0a29 0a28 6465 6669 o ,x ,y).).(defi │ │ │ │ -000003f0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000400: 636d 7072 655f 7265 6d5f 696e 7430 5f69 cmpre_rem_int0_i │ │ │ │ -00000410: 6e74 3020 7820 7929 2060 2872 656d 6169 nt0 x y) `(remai │ │ │ │ -00000420: 6e64 6572 202c 7820 2c79 290a 290a 3b3b nder ,x ,y).).;; │ │ │ │ -00000430: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. │ │ │ │ -00000440: 2861 7473 3273 636d 7072 655f 6164 645f (ats2scmpre_add_ │ │ │ │ -00000450: 696e 7431 5f69 6e74 3120 7820 7929 2060 int1_int1 x y) ` │ │ │ │ -00000460: 282b 202c 7820 2c79 290a 290a 2864 6566 (+ ,x ,y).).(def │ │ │ │ -00000470: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2 │ │ │ │ -00000480: 7363 6d70 7265 5f73 7562 5f69 6e74 315f scmpre_sub_int1_ │ │ │ │ -00000490: 696e 7431 2078 2079 2920 6028 2d20 2c78 int1 x y) `(- ,x │ │ │ │ -000004a0: 202c 7929 0a29 0a28 6465 6669 6e65 2d6d ,y).).(define-m │ │ │ │ -000004b0: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -000004c0: 655f 6d75 6c5f 696e 7431 5f69 6e74 3120 e_mul_int1_int1 │ │ │ │ -000004d0: 7820 7929 2060 282a 202c 7820 2c79 290a x y) `(* ,x ,y). │ │ │ │ -000004e0: 290a 2864 6566 696e 652d 6d61 6372 6f0a ).(define-macro. │ │ │ │ -000004f0: 2028 6174 7332 7363 6d70 7265 5f64 6976 (ats2scmpre_div │ │ │ │ -00000500: 5f69 6e74 315f 696e 7431 2078 2079 2920 _int1_int1 x y) │ │ │ │ -00000510: 6028 7175 6f74 6965 6e74 202c 7820 2c79 `(quotient ,x ,y │ │ │ │ -00000520: 290a 290a 3b3b 0a28 6465 6669 6e65 2d6d ).).;;.(define-m │ │ │ │ -00000530: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000540: 655f 6d6f 645f 696e 7431 5f69 6e74 3120 e_mod_int1_int1 │ │ │ │ -00000550: 7820 7929 2060 286d 6f64 756c 6f20 2c78 x y) `(modulo ,x │ │ │ │ -00000560: 202c 7929 0a29 0a28 6465 6669 6e65 2d6d ,y).).(define-m │ │ │ │ -00000570: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000580: 655f 6e6d 6f64 5f69 6e74 315f 696e 7431 e_nmod_int1_int1 │ │ │ │ -00000590: 2078 2079 2920 6028 6d6f 6475 6c6f 202c x y) `(modulo , │ │ │ │ -000005a0: 7820 2c79 290a 290a 3b3b 0a28 6465 6669 x ,y).).;;.(defi │ │ │ │ -000005b0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -000005c0: 636d 7072 655f 7265 6d5f 696e 7431 5f69 cmpre_rem_int1_i │ │ │ │ -000005d0: 6e74 3120 7820 7929 2060 2872 656d 6169 nt1 x y) `(remai │ │ │ │ -000005e0: 6e64 6572 202c 7820 2c79 290a 290a 3b3b nder ,x ,y).).;; │ │ │ │ -000005f0: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** ***** │ │ │ │ -00000600: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define- │ │ │ │ -00000610: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -00000620: 7265 5f6c 745f 696e 7430 5f69 6e74 3020 re_lt_int0_int0 │ │ │ │ -00000630: 7820 7929 2060 283c 202c 7820 2c79 290a x y) `(< ,x ,y). │ │ │ │ -00000640: 290a 2864 6566 696e 652d 6d61 6372 6f0a ).(define-macro. │ │ │ │ -00000650: 2028 6174 7332 7363 6d70 7265 5f6c 7465 (ats2scmpre_lte │ │ │ │ -00000660: 5f69 6e74 305f 696e 7430 2078 2079 2920 _int0_int0 x y) │ │ │ │ -00000670: 6028 3c3d 202c 7820 2c79 290a 290a 2864 `(<= ,x ,y).).(d │ │ │ │ -00000680: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at │ │ │ │ -00000690: 7332 7363 6d70 7265 5f67 745f 696e 7430 s2scmpre_gt_int0 │ │ │ │ -000006a0: 5f69 6e74 3020 7820 7929 2060 283e 202c _int0 x y) `(> , │ │ │ │ -000006b0: 7820 2c79 290a 290a 2864 6566 696e 652d x ,y).).(define- │ │ │ │ -000006c0: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -000006d0: 7265 5f67 7465 5f69 6e74 305f 696e 7430 re_gte_int0_int0 │ │ │ │ -000006e0: 2078 2079 2920 6028 3e3d 202c 7820 2c79 x y) `(>= ,x ,y │ │ │ │ -000006f0: 290a 290a 3b3b 0a28 6465 6669 6e65 2d6d ).).;;.(define-m │ │ │ │ -00000700: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -00000710: 655f 6571 5f69 6e74 305f 696e 7430 2078 e_eq_int0_int0 x │ │ │ │ -00000720: 2079 2920 6028 3d20 2c78 202c 7929 0a29 y) `(= ,x ,y).) │ │ │ │ -00000730: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. │ │ │ │ -00000740: 2861 7473 3273 636d 7072 655f 6e65 715f (ats2scmpre_neq_ │ │ │ │ -00000750: 696e 7430 5f69 6e74 3020 7820 7929 2060 int0_int0 x y) ` │ │ │ │ -00000760: 286e 6f74 2028 3d20 2c78 202c 7929 290a (not (= ,x ,y)). │ │ │ │ -00000770: 290a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ).;;.(define-mac │ │ │ │ -00000780: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -00000790: 6c74 5f69 6e74 315f 696e 7431 2078 2079 lt_int1_int1 x y │ │ │ │ -000007a0: 2920 6028 3c20 2c78 202c 7929 0a29 0a28 ) `(< ,x ,y).).( │ │ │ │ -000007b0: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a │ │ │ │ -000007c0: 7473 3273 636d 7072 655f 6c74 655f 696e ts2scmpre_lte_in │ │ │ │ -000007d0: 7431 5f69 6e74 3120 7820 7929 2060 283c t1_int1 x y) `(< │ │ │ │ -000007e0: 3d20 2c78 202c 7929 0a29 0a28 6465 6669 = ,x ,y).).(defi │ │ │ │ -000007f0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000800: 636d 7072 655f 6774 5f69 6e74 315f 696e cmpre_gt_int1_in │ │ │ │ -00000810: 7431 2078 2079 2920 6028 3e20 2c78 202c t1 x y) `(> ,x , │ │ │ │ -00000820: 7929 0a29 0a28 6465 6669 6e65 2d6d 6163 y).).(define-mac │ │ │ │ -00000830: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -00000840: 6774 655f 696e 7431 5f69 6e74 3120 7820 gte_int1_int1 x │ │ │ │ -00000850: 7929 2060 283e 3d20 2c78 202c 7929 0a29 y) `(>= ,x ,y).) │ │ │ │ -00000860: 0a3b 3b0a 2864 6566 696e 652d 6d61 6372 .;;.(define-macr │ │ │ │ -00000870: 6f0a 2028 6174 7332 7363 6d70 7265 5f65 o. (ats2scmpre_e │ │ │ │ -00000880: 715f 696e 7431 5f69 6e74 3120 7820 7929 q_int1_int1 x y) │ │ │ │ -00000890: 2060 283d 202c 7820 2c79 290a 290a 2864 `(= ,x ,y).).(d │ │ │ │ -000008a0: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at │ │ │ │ -000008b0: 7332 7363 6d70 7265 5f6e 6571 5f69 6e74 s2scmpre_neq_int │ │ │ │ -000008c0: 315f 696e 7431 2078 2079 2920 6028 6e6f 1_int1 x y) `(no │ │ │ │ -000008d0: 7420 283d 202c 7820 2c79 2929 0a29 0a3b t (= ,x ,y)).).; │ │ │ │ -000008e0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro. │ │ │ │ -000008f0: 2028 6174 7332 7363 6d70 7265 5f63 6f6d (ats2scmpre_com │ │ │ │ -00000900: 7061 7265 5f69 6e74 305f 696e 7430 2078 pare_int0_int0 x │ │ │ │ -00000910: 2079 290a 6028 6c65 7420 2828 7831 202c y).`(let ((x1 , │ │ │ │ -00000920: 7829 2028 7931 202c 7929 2920 2869 6620 x) (y1 ,y)) (if │ │ │ │ -00000930: 283c 2078 3120 7931 2920 2d31 2028 6966 (< x1 y1) -1 (if │ │ │ │ -00000940: 2028 3c3d 2078 3120 7931 2920 3020 3129 (<= x1 y1) 0 1) │ │ │ │ -00000950: 2929 0a29 0a28 6465 6669 6e65 2d6d 6163 )).).(define-mac │ │ │ │ -00000960: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -00000970: 636f 6d70 6172 655f 696e 7431 5f69 6e74 compare_int1_int │ │ │ │ -00000980: 3120 7820 7929 0a60 286c 6574 2028 2878 1 x y).`(let ((x │ │ │ │ -00000990: 3120 2c78 2920 2879 3120 2c79 2929 2028 1 ,x) (y1 ,y)) ( │ │ │ │ -000009a0: 6966 2028 3c20 7831 2079 3129 202d 3120 if (< x1 y1) -1 │ │ │ │ -000009b0: 2869 6620 283c 3d20 7831 2079 3129 2030 (if (<= x1 y1) 0 │ │ │ │ -000009c0: 2031 2929 290a 290a 3b3b 0a3b 3b20 2a2a 1))).).;;.;; ** │ │ │ │ -000009d0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a **** ****** ;;.. │ │ │ │ -000009e0: 3b3b 2065 6e64 206f 6620 5b69 6e74 6567 ;; end of [integ │ │ │ │ -000009f0: 6572 5f63 6174 732e 7363 6d5d 203b 3b0a er_cats.scm] ;;. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm │ │ │ │ @@ -1,75 +0,0 @@ │ │ │ │ -00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX │ │ │ │ -00000010: 2d32 3031 362d 3036 3a0a 3b20 666f 7220 -2016-06:.; for │ │ │ │ -00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr │ │ │ │ -00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT │ │ │ │ -00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..; │ │ │ │ -00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o │ │ │ │ -00000060: 6620 5b70 7269 6e74 5f63 6174 732e 7363 f [print_cats.sc │ │ │ │ -00000070: 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b 0a0a 3b3b m].;;;;;;.;;..;; │ │ │ │ -00000080: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b ****** ****** ; │ │ │ │ -00000090: 3b0a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ;.;;.(define-mac │ │ │ │ -000000a0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -000000b0: 7072 696e 745f 696e 7420 7829 2060 2864 print_int x) `(d │ │ │ │ -000000c0: 6973 706c 6179 202c 7829 290a 3b3b 0a28 isplay ,x)).;;.( │ │ │ │ -000000d0: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a │ │ │ │ -000000e0: 7473 3273 636d 7072 655f 7072 696e 745f ts2scmpre_print_ │ │ │ │ -000000f0: 626f 6f6c 2078 290a 6028 6469 7370 6c61 bool x).`(displa │ │ │ │ -00000100: 7920 2869 6620 2c78 2022 7472 7565 2220 y (if ,x "true" │ │ │ │ -00000110: 2266 616c 7365 2229 2929 0a28 6465 6669 "false"))).(defi │ │ │ │ -00000120: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s │ │ │ │ -00000130: 636d 7072 655f 7072 696e 745f 6368 6172 cmpre_print_char │ │ │ │ -00000140: 2078 2920 6028 6469 7370 6c61 7920 2c78 x) `(display ,x │ │ │ │ -00000150: 2929 0a3b 3b0a 2864 6566 696e 652d 6d61 )).;;.(define-ma │ │ │ │ -00000160: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre │ │ │ │ -00000170: 5f70 7269 6e74 5f64 6f75 626c 6520 7829 _print_double x) │ │ │ │ -00000180: 2060 2864 6973 706c 6179 202c 7829 290a `(display ,x)). │ │ │ │ -00000190: 2864 6566 696e 652d 6d61 6372 6f0a 2028 (define-macro. ( │ │ │ │ -000001a0: 6174 7332 7363 6d70 7265 5f70 7269 6e74 ats2scmpre_print │ │ │ │ -000001b0: 5f73 7472 696e 6720 7829 2060 2864 6973 _string x) `(dis │ │ │ │ -000001c0: 706c 6179 202c 7829 290a 3b3b 0a28 6465 play ,x)).;;.(de │ │ │ │ -000001d0: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats │ │ │ │ -000001e0: 3273 636d 7072 655f 7072 696e 745f 5343 2scmpre_print_SC │ │ │ │ -000001f0: 4d76 616c 2078 2920 6028 6469 7370 6c61 Mval x) `(displa │ │ │ │ -00000200: 7920 2c78 2929 0a3b 3b0a 3b3b 202a 2a2a y ,x)).;;.;; *** │ │ │ │ -00000210: 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a 3b3b *** ****** ;;.;; │ │ │ │ -00000220: 0a28 6465 6669 6e65 2d6d 6163 726f 2028 .(define-macro ( │ │ │ │ -00000230: 6174 7332 7363 6d70 7265 5f70 7269 6e74 ats2scmpre_print │ │ │ │ -00000240: 5f6e 6577 6c69 6e65 2920 6028 6e65 776c _newline) `(newl │ │ │ │ -00000250: 696e 6529 290a 3b3b 0a3b 3b20 2a2a 2a2a ine)).;;.;; **** │ │ │ │ -00000260: 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a 2864 ** ****** ;;..(d │ │ │ │ -00000270: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at │ │ │ │ -00000280: 7332 7363 6d70 7265 5f66 7072 696e 745f s2scmpre_fprint_ │ │ │ │ -00000290: 696e 7420 6f75 7420 7829 2060 2864 6973 int out x) `(dis │ │ │ │ -000002a0: 706c 6179 202c 7820 2c6f 7574 2929 0a3b play ,x ,out)).; │ │ │ │ -000002b0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro. │ │ │ │ -000002c0: 2028 6174 7332 7363 6d70 7265 5f66 7072 (ats2scmpre_fpr │ │ │ │ -000002d0: 696e 745f 626f 6f6c 206f 7574 2078 290a int_bool out x). │ │ │ │ -000002e0: 6028 6469 7370 6c61 7920 2869 6620 2c78 `(display (if ,x │ │ │ │ -000002f0: 2022 7472 7565 2220 2266 616c 7365 2229 "true" "false") │ │ │ │ -00000300: 202c 6f75 7429 290a 2864 6566 696e 652d ,out)).(define- │ │ │ │ -00000310: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -00000320: 7265 5f66 7072 696e 745f 6368 6172 206f re_fprint_char o │ │ │ │ -00000330: 7574 2078 2920 6028 6469 7370 6c61 7920 ut x) `(display │ │ │ │ -00000340: 2c78 202c 6f75 7429 290a 3b3b 0a28 6465 ,x ,out)).;;.(de │ │ │ │ -00000350: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats │ │ │ │ -00000360: 3273 636d 7072 655f 6670 7269 6e74 5f64 2scmpre_fprint_d │ │ │ │ -00000370: 6f75 626c 6520 6f75 7420 7829 2060 2864 ouble out x) `(d │ │ │ │ -00000380: 6973 706c 6179 202c 7820 2c6f 7574 2929 isplay ,x ,out)) │ │ │ │ -00000390: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. │ │ │ │ -000003a0: 2861 7473 3273 636d 7072 655f 6670 7269 (ats2scmpre_fpri │ │ │ │ -000003b0: 6e74 5f73 7472 696e 6720 6f75 7420 7829 nt_string out x) │ │ │ │ -000003c0: 2060 2864 6973 706c 6179 202c 7820 2c6f `(display ,x ,o │ │ │ │ -000003d0: 7574 2929 0a28 6465 6669 6e65 2d6d 6163 ut)).(define-mac │ │ │ │ -000003e0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_ │ │ │ │ -000003f0: 6670 7269 6e74 5f53 434d 7661 6c20 6f75 fprint_SCMval ou │ │ │ │ -00000400: 7420 7829 2060 2864 6973 706c 6179 202c t x) `(display , │ │ │ │ -00000410: 7820 2c6f 7574 2929 0a3b 3b0a 3b3b 202a x ,out)).;;.;; * │ │ │ │ -00000420: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a ***** ****** ;;. │ │ │ │ -00000430: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro │ │ │ │ -00000440: 2028 6174 7332 7363 6d70 7265 5f66 7072 (ats2scmpre_fpr │ │ │ │ -00000450: 696e 745f 6e65 776c 696e 6520 6f75 7429 int_newline out) │ │ │ │ -00000460: 2060 286e 6577 6c69 6e65 202c 6f75 7429 `(newline ,out) │ │ │ │ -00000470: 290a 3b3b 0a3b 3b20 2a2a 2a2a 2a2a 202a ).;;.;; ****** * │ │ │ │ -00000480: 2a2a 2a2a 2a20 3b3b 0a0a 3b3b 2065 6e64 ***** ;;..;; end │ │ │ │ -00000490: 206f 6620 5b70 7269 6e74 5f63 6174 732e of [print_cats. │ │ │ │ -000004a0: 7363 6d5d 203b 3b0a scm] ;;. │ │ │ ├── ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm │ │ │ │ @@ -1,37 +0,0 @@ │ │ │ │ -00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX │ │ │ │ -00000010: 2d32 3031 362d 3035 3a0a 3b20 666f 7220 -2016-05:.; for │ │ │ │ -00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr │ │ │ │ -00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT │ │ │ │ -00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..; │ │ │ │ -00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o │ │ │ │ -00000060: 6620 5b72 6566 6572 656e 6365 5f63 6174 f [reference_cat │ │ │ │ -00000070: 732e 7363 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b s.scm].;;;;;;.;; │ │ │ │ -00000080: 0a0a 3b3b 202a 2a2a 2a2a 2a20 2a2a 2a2a ..;; ****** **** │ │ │ │ -00000090: 2a2a 203b 3b0a 3b3b 0a28 6465 6669 6e65 ** ;;.;;.(define │ │ │ │ -000000a0: 2d6d 6163 726f 0a20 2861 7473 3273 636d -macro. (ats2scm │ │ │ │ -000000b0: 7072 655f 7265 6620 7829 2060 286c 6973 pre_ref x) `(lis │ │ │ │ -000000c0: 7420 2c78 2929 0a28 6465 6669 6e65 2d6d t ,x)).(define-m │ │ │ │ -000000d0: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr │ │ │ │ -000000e0: 655f 7265 665f 6d61 6b65 5f65 6c74 2078 e_ref_make_elt x │ │ │ │ -000000f0: 2920 6028 6c69 7374 202c 7829 290a 3b3b ) `(list ,x)).;; │ │ │ │ -00000100: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** ***** │ │ │ │ -00000110: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define- │ │ │ │ -00000120: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp │ │ │ │ -00000130: 7265 5f72 6566 5f67 6574 5f65 6c74 2072 re_ref_get_elt r │ │ │ │ -00000140: 2920 6028 6361 7220 2c72 2929 0a28 6465 ) `(car ,r)).(de │ │ │ │ -00000150: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats │ │ │ │ -00000160: 3273 636d 7072 655f 7265 665f 7365 745f 2scmpre_ref_set_ │ │ │ │ -00000170: 656c 7420 7220 7830 2920 6028 7365 742d elt r x0) `(set- │ │ │ │ -00000180: 6361 7221 202c 7220 2c78 3029 290a 3b3b car! ,r ,x0)).;; │ │ │ │ -00000190: 0a28 6465 6669 6e65 2d73 796e 7461 780a .(define-syntax. │ │ │ │ -000001a0: 2061 7473 3273 636d 7072 655f 7265 665f ats2scmpre_ref_ │ │ │ │ -000001b0: 6578 6368 5f65 6c74 0a20 2873 796e 7461 exch_elt. (synta │ │ │ │ -000001c0: 782d 7275 6c65 7320 2829 0a20 2028 285f x-rules (). ((_ │ │ │ │ -000001d0: 2072 2078 3029 2028 6c65 7420 2828 746d r x0) (let ((tm │ │ │ │ -000001e0: 7020 2863 6172 2072 2929 2920 2873 6574 p (car r))) (set │ │ │ │ -000001f0: 2d63 6172 2120 7220 7830 2920 746d 7029 -car! r x0) tmp) │ │ │ │ -00000200: 290a 2029 0a29 0a3b 3b0a 3b3b 202a 2a2a ). ).).;;.;; *** │ │ │ │ -00000210: 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a 0a3b *** ****** ;;..; │ │ │ │ -00000220: 3b20 656e 6420 6f66 205b 7265 6665 7265 ; end of [refere │ │ │ │ -00000230: 6e63 655f 6361 7473 2e73 636d 5d20 3b3b nce_cats.scm] ;; │ │ │ │ -00000240: 0a .