doc-src/IsarAdvanced/Codegen/codegen.tex
author haftmann
Mon, 10 Nov 2008 09:03:28 +0100
changeset 28727 185110a4b97a
parent 28714 1992553cccfe
child 29017 9a1eaad4a7bb
permissions -rw-r--r--
clarified verbatim vs. typewriter
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     1
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     2
%% $Id$
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     3
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     4
\documentclass[12pt,a4paper,fleqn]{report}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     5
\usepackage{latexsym,graphicx}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     6
\usepackage[refpage]{nomencl}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     7
\usepackage{../../iman,../../extra,../../isar,../../proof}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
     8
\usepackage{../../isabelle,../../isabellesym}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
     9
\usepackage{style}
28635
cc53d2ab0170 filled remaining gaps
haftmann
parents: 28601
diff changeset
    10
\usepackage{pgf}
cc53d2ab0170 filled remaining gaps
haftmann
parents: 28601
diff changeset
    11
\usepackage{pgflibraryshapes}
28560
625e44455f52 using tikz pictures
haftmann
parents: 28447
diff changeset
    12
\usepackage{tikz}
26911
871cc7f11034 use Isabelle sty files from Doc/;
wenzelm
parents: 26784
diff changeset
    13
\usepackage{../../pdfsetup}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    14
28564
haftmann
parents: 28560
diff changeset
    15
%% setup
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    16
28569
haftmann
parents: 28564
diff changeset
    17
% hyphenation
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    18
\hyphenation{Isabelle}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    19
\hyphenation{Isar}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    20
28564
haftmann
parents: 28560
diff changeset
    21
% logical markup
haftmann
parents: 28560
diff changeset
    22
\newcommand{\strong}[1]{{\bfseries {#1}}}
haftmann
parents: 28560
diff changeset
    23
\newcommand{\qn}[1]{\emph{#1}}
haftmann
parents: 28560
diff changeset
    24
haftmann
parents: 28560
diff changeset
    25
% typographic conventions
haftmann
parents: 28560
diff changeset
    26
\newcommand{\qt}[1]{``{#1}''}
haftmann
parents: 28560
diff changeset
    27
haftmann
parents: 28560
diff changeset
    28
% verbatim text
28727
185110a4b97a clarified verbatim vs. typewriter
haftmann
parents: 28714
diff changeset
    29
\newcommand{\isatypewriter}{\fontsize{9pt}{0pt}\tt\renewcommand{\baselinestretch}{1}\setlength{\baselineskip}{9pt}}
28564
haftmann
parents: 28560
diff changeset
    30
haftmann
parents: 28560
diff changeset
    31
% invisibility
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    32
\isadroptag{theory}
28564
haftmann
parents: 28560
diff changeset
    33
haftmann
parents: 28560
diff changeset
    34
% quoted segments
haftmann
parents: 28560
diff changeset
    35
\makeatletter
haftmann
parents: 28560
diff changeset
    36
\isakeeptag{quote}
haftmann
parents: 28560
diff changeset
    37
\newenvironment{quotesegment}{\begin{quote}\isa@parindent\parindent\parindent0pt\isa@parskip\parskip\parskip0pt}{\end{quote}}
haftmann
parents: 28560
diff changeset
    38
\renewcommand{\isatagquote}{\begin{quotesegment}}
haftmann
parents: 28560
diff changeset
    39
\renewcommand{\endisatagquote}{\end{quotesegment}}
haftmann
parents: 28560
diff changeset
    40
\makeatother
haftmann
parents: 28560
diff changeset
    41
haftmann
parents: 28560
diff changeset
    42
\isakeeptag{quotett}
haftmann
parents: 28560
diff changeset
    43
\renewcommand{\isatagquotett}{\begin{quotesegment}\isabellestyle{tt}\isastyle}
haftmann
parents: 28560
diff changeset
    44
\renewcommand{\endisatagquotett}{\end{quotesegment}\isabellestyle{it}\isastyle}
haftmann
parents: 28560
diff changeset
    45
28601
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    46
% hack
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    47
\newcommand{\isasymSML}{SML}
b72589374396 figure for adaption
haftmann
parents: 28569
diff changeset
    48
28564
haftmann
parents: 28560
diff changeset
    49
haftmann
parents: 28560
diff changeset
    50
%% contents
haftmann
parents: 28560
diff changeset
    51
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    52
\title{\includegraphics[scale=0.5]{isabelle_isar}
21222
6dfdb69e83ef adjusted title
haftmann
parents: 21190
diff changeset
    53
  \\[4ex] Code generation from Isabelle/HOL theories}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    54
\author{\emph{Florian Haftmann}}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    55
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    56
\begin{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    57
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    58
\maketitle
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    59
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    60
\begin{abstract}
28447
haftmann
parents: 28428
diff changeset
    61
  This tutorial gives an introduction to a generic code generator framework in Isabelle
28213
b52f9205a02d New outline for codegen tutorial -- draft
haftmann
parents: 26911
diff changeset
    62
  for generating executable code in functional programming languages from logical
b52f9205a02d New outline for codegen tutorial -- draft
haftmann
parents: 26911
diff changeset
    63
  specifications in Isabelle/HOL.
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    64
\end{abstract}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    65
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    66
\thispagestyle{empty}\clearpage
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    67
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    68
\pagenumbering{roman}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    69
\clearfirst
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    70
28419
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    71
\input{Thy/document/Introduction.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    72
\input{Thy/document/Program.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    73
\input{Thy/document/Adaption.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    74
\input{Thy/document/Further.tex}
f65e8b318581 re-canibalised manual
haftmann
parents: 28213
diff changeset
    75
\input{Thy/document/ML.tex}
20948
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    76
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    77
\begingroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    78
%\tocentry{\bibname}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    79
\bibliographystyle{plain} \small\raggedright\frenchspacing
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    80
\bibliography{../../manual}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    81
\endgroup
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    82
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    83
\end{document}
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    84
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    85
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    86
%%% Local Variables: 
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    87
%%% mode: latex
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    88
%%% TeX-master: t
9b9910b82645 initial draft
haftmann
parents:
diff changeset
    89
%%% End: