\myheading{Program synthesis}

\leveldown{}

Program synthesis is a process of automatic program generation, in accordance with some specific goals.

\input{synth/pgm/mult/main}
\input{synth/pgm/rockey/main}
\input{synth/pgm/TAOCP_713_198/main}
\input{synth/pgm/TAOCP_713_203/main}
\input{synth/pgm/load/main}

\myheading{Further reading}

"A toy code generator" \url{https://github.com/nickgildea/z3_codegen} --- Nick Gildea has introduced a "set" instruction,
loading a value into register.

The ``Dragon book'' (Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman -- Compilers. Principles, Techniques, and Tools),
2nd ed., 2006, has a part 6.2.3 Triples, which describes the same way of representing programs like I do here is this book.

\levelup{}
