doc-src/IsarAdvanced/Codegen/codegen.tex
author haftmann
Tue, 07 Nov 2006 14:49:09 +0100
changeset 21222 6dfdb69e83ef
parent 21190 08ec81dfc7fb
child 21322 26f64e7a67b5
permissions -rw-r--r--
adjusted title
haftmann@20948
     1
haftmann@20948
     2
%% $Id$
haftmann@20948
     3
haftmann@20948
     4
\documentclass[12pt,a4paper,fleqn]{report}
haftmann@20948
     5
\usepackage{latexsym,graphicx}
haftmann@21058
     6
\usepackage{listings}
haftmann@20948
     7
\usepackage[refpage]{nomencl}
haftmann@20948
     8
\usepackage{../../iman,../../extra,../../isar,../../proof}
haftmann@20948
     9
\usepackage{Thy/document/isabelle,Thy/document/isabellesym}
haftmann@20948
    10
\usepackage{style}
haftmann@20948
    11
\usepackage{Thy/document/pdfsetup}
haftmann@20948
    12
haftmann@20948
    13
\newcommand{\cmd}[1]{\isacommand{#1}}
haftmann@20948
    14
haftmann@20948
    15
\newcommand{\isasymINFIX}{\cmd{infix}}
haftmann@20948
    16
\newcommand{\isasymLOCALE}{\cmd{locale}}
haftmann@20948
    17
\newcommand{\isasymINCLUDES}{\cmd{includes}}
haftmann@20948
    18
\newcommand{\isasymDATATYPE}{\cmd{datatype}}
haftmann@20948
    19
\newcommand{\isasymAXCLASS}{\cmd{axclass}}
haftmann@20948
    20
\newcommand{\isasymFIXES}{\cmd{fixes}}
haftmann@20948
    21
\newcommand{\isasymASSUMES}{\cmd{assumes}}
haftmann@20948
    22
\newcommand{\isasymDEFINES}{\cmd{defines}}
haftmann@20948
    23
\newcommand{\isasymNOTES}{\cmd{notes}}
haftmann@20948
    24
\newcommand{\isasymSHOWS}{\cmd{shows}}
haftmann@20948
    25
\newcommand{\isasymCLASS}{\cmd{class}}
haftmann@20948
    26
\newcommand{\isasymINSTANCE}{\cmd{instance}}
haftmann@20948
    27
\newcommand{\isasymLEMMA}{\cmd{lemma}}
haftmann@20948
    28
\newcommand{\isasymPROOF}{\cmd{proof}}
haftmann@20948
    29
\newcommand{\isasymQED}{\cmd{qed}}
haftmann@20948
    30
\newcommand{\isasymFIX}{\cmd{fix}}
haftmann@20948
    31
\newcommand{\isasymASSUME}{\cmd{assume}}
haftmann@20948
    32
\newcommand{\isasymSHOW}{\cmd{show}}
haftmann@20948
    33
\newcommand{\isasymNOTE}{\cmd{note}}
haftmann@20948
    34
\newcommand{\isasymIN}{\cmd{in}}
haftmann@21058
    35
\newcommand{\isasymCODEGEN}{\cmd{code\_gen}}
haftmann@21146
    36
\newcommand{\isasymCODECONST}{\cmd{code\_const}}
haftmann@21146
    37
\newcommand{\isasymCODETYPE}{\cmd{code\_type}}
haftmann@21146
    38
\newcommand{\isasymCODECLASS}{\cmd{code\_class}}
haftmann@21146
    39
\newcommand{\isasymCODEINSTANCE}{\cmd{code\_instance}}
haftmann@21146
    40
\newcommand{\isasymCODERESERVED}{\cmd{code\_reserved}}
haftmann@21146
    41
\newcommand{\isasymCODEMODULENAME}{\cmd{code\_modulename}}
haftmann@21146
    42
\newcommand{\isasymCODEMODULEPROLOG}{\cmd{code\_moduleprolog}}
haftmann@21190
    43
\newcommand{\isasymCODEAXIOMS}{\cmd{code\_axioms}}
haftmann@21190
    44
\newcommand{\isasymCODEABSTYPE}{\cmd{code\_abstype}}
haftmann@21058
    45
\newcommand{\isasymPRINTCODETHMS}{\cmd{print\_codethms}}
haftmann@21058
    46
\newcommand{\isasymFUN}{\cmd{fun}}
haftmann@21058
    47
\newcommand{\isasymFUNCTION}{\cmd{function}}
haftmann@21058
    48
\newcommand{\isasymPRIMREC}{\cmd{primrec}}
haftmann@21058
    49
\newcommand{\isasymRECDEF}{\cmd{recdef}}
haftmann@20948
    50
haftmann@20948
    51
\newcommand{\qt}[1]{``#1''}
haftmann@20948
    52
\newcommand{\qtt}[1]{"{}{#1}"{}}
haftmann@20948
    53
\newcommand{\qn}[1]{\emph{#1}}
haftmann@20948
    54
\newcommand{\strong}[1]{{\bfseries #1}}
haftmann@20948
    55
\newcommand{\fixme}[1][!]{\strong{FIXME: #1}}
haftmann@20948
    56
haftmann@21058
    57
\lstset{basicstyle=\scriptsize\ttfamily, keywordstyle=\itshape, commentstyle=\itshape\sffamily, frame=shadowbox}
haftmann@21058
    58
\newcommand{\lstsml}[1]{\lstset{language=ML}\lstinputlisting{#1}}
haftmann@21058
    59
\newcommand{\lsthaskell}[1]{\lstset{language=Haskell}\lstinputlisting{#1}}
haftmann@21058
    60
haftmann@20948
    61
\hyphenation{Isabelle}
haftmann@20948
    62
\hyphenation{Isar}
haftmann@20948
    63
haftmann@20948
    64
\isadroptag{theory}
haftmann@20948
    65
\title{\includegraphics[scale=0.5]{isabelle_isar}
haftmann@21222
    66
  \\[4ex] Code generation from Isabelle/HOL theories}
haftmann@20948
    67
\author{\emph{Florian Haftmann}}
haftmann@20948
    68
haftmann@20948
    69
haftmann@20948
    70
\begin{document}
haftmann@20948
    71
haftmann@20948
    72
\maketitle
haftmann@20948
    73
haftmann@20948
    74
\begin{abstract}
haftmann@21058
    75
  This tutorial gives a motivation-driven introduction
haftmann@21058
    76
  to a generic code generator framework in Isabelle
haftmann@21058
    77
  for generating executable code in functional
haftmann@21058
    78
  programming languages from logical specifications.
haftmann@20948
    79
\end{abstract}
haftmann@20948
    80
haftmann@20948
    81
\thispagestyle{empty}\clearpage
haftmann@20948
    82
haftmann@20948
    83
\pagenumbering{roman}
haftmann@20948
    84
\clearfirst
haftmann@20948
    85
haftmann@20948
    86
\input{Thy/document/Codegen.tex}
haftmann@20948
    87
haftmann@20948
    88
\begingroup
haftmann@20948
    89
%\tocentry{\bibname}
haftmann@20948
    90
\bibliographystyle{plain} \small\raggedright\frenchspacing
haftmann@20948
    91
\bibliography{../../manual}
haftmann@20948
    92
\endgroup
haftmann@20948
    93
haftmann@20948
    94
\end{document}
haftmann@20948
    95
haftmann@20948
    96
haftmann@20948
    97
%%% Local Variables: 
haftmann@20948
    98
%%% mode: latex
haftmann@20948
    99
%%% TeX-master: t
haftmann@20948
   100
%%% End: