|
|
|
|
|
by david-given
4099 days ago
|
|
Hmm. Would a SAT solver be useful for compiler technologies? A compiler is basically solving the problem of: here is a sequence of things I want done; here is a description of what the machine can do; find a combination of the latter which achieves the former. The details are the tricky bit, particularly for unpleasantly asymmetric instruction sets like the old 8-bit architectures. It would be so nice if I could just throw a description of the problem at some sort of machine reasoning system and have it Just Work... |
|
Perhaps the most relevant example project here would be Rosette[4], which is basically a framework for easily writing synthesizers for different tasks. It would let you implement a description of your machine in Scheme (ie write a simple interpreter) and automatically generate a synthesizer for it that could compile programs in your language to formulas in a solver of some sort.
[1]: http://www.cs.berkeley.edu/~bodik/cs294/fa12/Lectures/L1/L1-...
[2]: http://jelv.is/chlorophyll.pdf
[3]: http://www.greenarraychips.com/
[4]: http://homes.cs.washington.edu/~emina/rosette/