This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
dekker-phd-thesis/chapters/3_rewriting_preamble.tex
2021-07-29 09:37:13 +10:00

22 lines
1.4 KiB
TeX

\noindent{}In this chapter, we develop a new architecture for \gls{rewriting} \minizinc{} into \glspl{slv-mod}.
We describe a new \textbf{systematic view of the execution of \minizinc{}} and build on this to propose a new toolchain.
We show how this toolchain allows us to:
\begin{itemize}
\item efficiently rewrite \cmodels{} with \textbf{minimal overhead},
\item easily integrate a range of \textbf{optimization and simplification} techniques,
\item and effectively \textbf{detect and eliminate dead code} introduced by functional definitions.
\end{itemize}
\noindent{}In addition to providing the first formalization and systematic description of rewriting MiniZinc, we will see that the resulting architecture is also significantly more efficient and flexible than the current \minizinc{} system.
This chapter is organized as follows.
\Cref{sec:rew-arch} provides an overview of the proposed architecture.
\Cref{sec:rew-micronano} introduces the core of our \gls{rewriting} system using the \microzinc{} and \nanozinc{} languages. These new languages provide a new intermediate representation that enables more efficient \gls{rewriting}.
\Cref{sec:rew-simplification} describes how we can perform various processing and simplification steps on this representation
Finally, in \cref{sec:rew-experiments} we report on the experimental results of the prototype implementation.