Commit Graph

908 Commits

Author SHA1 Message Date
Valentin Robert
2989668fda
Merge pull request #118 from GaloisInc/what4-transition-system
add what4-transition-system
2021-05-10 10:02:34 -07:00
Valentin Robert
f74d8eaa4e Update to changes in language-sally. 2021-05-07 14:01:57 -07:00
Valentin Robert
95a514fba2 what4-transition-system: v0.0.3.0
Update to changes in language-sally.
2021-05-06 14:16:02 -07:00
Valentin Robert
a4c51d7062 what4-transition-system: v0.0.2.0
This commit updates to the changes in language-sally 0.2.1.0.

In particular, queries now receive a state they can use.

This commit also updates the test suite (which is not actually testing
anything but running the translation on examples), to account for all
recent changes.

This commit also removes some code that has made obsolete by the same
recent changes: we no longer need to generate accessors as we receive a
What4.SymStruct that we can reach into using What4.structField.
2021-05-06 14:16:02 -07:00
Valentin Robert
9ad0fc47b8 what4-transition-system: v0.0.1.0 2021-05-06 14:16:02 -07:00
Daniel Matichuk
7b51ca3cdb
Merge pull request #117 from GaloisInc/dm/groundfix
Avoid spurious failure when grounding NonceApps
2021-05-04 16:09:25 -07:00
Daniel Matichuk
fcb147e50f Avoid spurious failure when grounding NonceApps
Use 'mzero' instead of throwing an exception in
'evalGroundNonceApp'. This will be caught and thrown by
'evalGroundExpr', but with a different error message.
2021-04-29 12:09:30 -07:00
Kevin Quick
eb057c82d1
Merge pull request #116 from GaloisInc/dgb_1618937981-0
Refactor SMTLib2 response parsing and handling
2021-04-28 08:29:08 -07:00
Kevin Quick
74ee60155b
Add solver-specific strict_parsing configuration option and common handling. 2021-04-28 08:12:20 -07:00
Kevin Quick
4b13d83f8b
Adjust solver config parameters to be heirarchical. 2021-04-28 08:12:01 -07:00
Kevin Quick
f6618fcf37
Add testing for getting and setting options by name 2021-04-28 08:11:35 -07:00
Kevin Quick
7123030c68
Enhance ConfigTest with value setting, range checking, and getting. 2021-04-28 08:11:22 -07:00
Kevin Quick
c35392dd4a
Fix all mode for getConfigValues 2021-04-28 08:11:06 -07:00
Kevin Quick
8cb79c407e
Added Pretty instance for ConfigValue to allow display. 2021-04-28 08:10:51 -07:00
Kevin Quick
2a6573713b
Define Opt instance for BaseRealType to allow setting/getting via Rational. 2021-04-28 08:10:31 -07:00
Kevin Quick
bdcc394836
Use comma separators for enum style config value listing. 2021-04-28 08:10:13 -07:00
Kevin Quick
e8666ca850
Remove extra space in config value setting range errors. 2021-04-28 08:09:59 -07:00
Kevin Quick
800ff567de
Enhance ConfigTest to test help output. 2021-04-28 08:09:45 -07:00
Kevin Quick
d7f9880a44
Various haddock spelling fixes in Config. 2021-04-28 08:09:29 -07:00
Kevin Quick
33b9c7aa15
Increase indentation for config help for readability. 2021-04-28 08:09:11 -07:00
Kevin Quick
ac82d34485
Include root node in configHelp and getConfigValues 2021-04-28 08:08:53 -07:00
Kevin Quick
9660b4a27b
Fix option configHelp retrieval with blank input 2021-04-28 08:08:27 -07:00
Kevin Quick
a69c2cea9e
Update deprecation to consider more cases and nesting; add tests. 2021-04-28 08:07:47 -07:00
Kevin Quick
2e43136d0b
Adding the same Option to Config multiple times is idempotent, not a failure. 2021-04-26 11:55:59 -07:00
Kevin Quick
5d9db797ba
Add OptGetFailure and OptCreateFailure exceptions to replace config fail calls. 2021-04-26 11:55:44 -07:00
Kevin Quick
2749035ec4
Add explicit set routines for Unicode, Integer, and Bool options. 2021-04-26 11:55:15 -07:00
Kevin Quick
a957690f2e
Add deprecatedOpt wrapper to mark deprecated options 2021-04-26 11:54:39 -07:00
Kevin Quick
40bbdd1745
Fix formatting for enum and list option setting failures. 2021-04-26 11:49:54 -07:00
Kevin Quick
6c63070186
Replace option setting fail call with explicit exception. 2021-04-26 11:49:39 -07:00
Kevin Quick
206b66c1a4
Update adapter tests and online solver tests to recognize abc solver version. 2021-04-26 11:48:53 -07:00
Kevin Quick
c02d8a85a7
Add comments describing the ResponseStrictness mode values. 2021-04-26 09:14:35 -07:00
Kevin Quick
0857946b4e
Use variable bindings instead of flip. 2021-04-26 09:13:36 -07:00
Kevin Quick
cc5eab69a2
Remove duplicate step in github workflow 2021-04-20 09:59:42 -07:00
Kevin Quick
3a1e655c47
Explicitly enable tests in github workflow cabal configuration. 2021-04-20 09:59:42 -07:00
Kevin Quick
06f883ce76
STP solver can use default newDefaultWriter implementation. 2021-04-20 09:59:42 -07:00
Kevin Quick
0aacb3a1f4
Remove stdin/stdout duplicate from Solver; use values from WriterConn. 2021-04-20 09:59:42 -07:00
Kevin Quick
dc7fd65042
More SMTLib2 response parsing. 2021-04-20 09:59:42 -07:00
Kevin Quick
73b81b8431
Add solver.strict_parsing config option to control parsing strictness. 2021-04-20 09:59:41 -07:00
Kevin Quick
c5ce7c4cdb
Add Response parsing module for common response handling (with tests). 2021-04-20 09:59:41 -07:00
Kevin Quick
5e994aefbf
Parsing via smtAckResult is now total, more targeted, and shows failures. 2021-04-20 09:59:41 -07:00
Kevin Quick
1d38fa8559
Smaller scope of stderr variable for solver shutdown/cleanup 2021-04-20 09:59:41 -07:00
Kevin Quick
2b4273c818 Merge remote-tracking branch 'refs/remotes/origin/master' 2021-04-19 15:57:42 -07:00
Kevin Quick
62f338d838 Add darcs and emacs backups to .gitignore. 2021-04-19 15:57:15 -07:00
Aaron Tomb
367cdd0240
Fix bug in printing Verilog rotations for ABC (#114)
This code accidentally included Cryptol type annotations in the Verilog output (because the `bv-sized` pretty-printer includes them). Hilariously, we didn't detect this because ABC can still correctly read the result due to its very permissive parser that skips over things it doesn't understand. Attempting to load files containing rotates into Yosys, which includes a stricter Verilog parser, uncovered the error.
2021-04-15 14:02:27 -07:00
Aaron Tomb
91200aa395
Support Verilog modules with multiple outputs (#112)
Adds support for generating Verilog modules from multiple What4 expressions, rather than a single one.
2021-04-06 11:06:21 -07:00
Kevin Quick
bb38b0ccc7
Merge pull request #111 from GaloisInc/nopartialfields
Remove use of partial fields and add warning.
2021-03-25 14:08:13 -07:00
Kevin Quick
e09e2edffd
Use stable nix version to ensure GHC availability in CI. 2021-03-25 08:44:19 -07:00
Kevin Quick
320b966f1d
Remove use of partial fields and add warning.
Partial fields are the situation where an ADT is defined with record
syntax.  The field accessors are of type `ADT -> field`, but the field
is only valid for one constructor of the ADT, so proper usage requires
matching on the constructor before using field accessors, and omitting
this matching can lead to invalid accesses.

This change modifies the only use of this in What4 to ensure that the
Record types are not ADT's and vice-versa.
2021-03-24 09:07:33 -07:00
Kevin Quick
652b4c8d08
Merge pull request #108 from GaloisInc/rmv_streaderwriter
Remove a couple of SMTReadWriter constraints.
2021-03-16 12:10:49 -07:00
Kevin Quick
65e8d78c04
Merge pull request #109 from GaloisInc/rmv_miscconstraints
Remove a couple of miscellaneous constraints.
2021-03-15 15:05:58 -07:00