doc-src/IsarAdvanced/Codegen/codegen.tex
changeset 28419 f65e8b318581
parent 28213 b52f9205a02d
child 28428 fd007794561f
equal deleted inserted replaced
28418:4ffb62675ade 28419:f65e8b318581
     8 \usepackage{../../iman,../../extra,../../isar,../../proof}
     8 \usepackage{../../iman,../../extra,../../isar,../../proof}
     9 \usepackage{../../isabelle,../../isabellesym}
     9 \usepackage{../../isabelle,../../isabellesym}
    10 \usepackage{style}
    10 \usepackage{style}
    11 \usepackage{../../pdfsetup}
    11 \usepackage{../../pdfsetup}
    12 
    12 
    13 \newcommand{\cmd}[1]{\isacommand{#1}}
    13 \makeatletter
    14 
    14 
    15 \newcommand{\isasymINFIX}{\cmd{infix}}
    15 \newcommand{\isaverbatim}{\renewcommand{\baselinestretch}{1}\setlength{\baselineskip}{8pt}\fontsize{8pt}{0pt}}
    16 \newcommand{\isasymLOCALE}{\cmd{locale}}
    16 \isakeeptag{quoteme}
    17 \newcommand{\isasymINCLUDES}{\cmd{includes}}
    17 \newenvironment{quoteme}{\begin{quote}\isa@parindent\parindent\parindent0pt\isa@parskip\parskip\parskip0pt}{\end{quote}}
    18 \newcommand{\isasymDATATYPE}{\cmd{datatype}}
    18 \renewcommand{\isatagquoteme}{\begin{quoteme}}
    19 \newcommand{\isasymAXCLASS}{\cmd{axclass}}
    19 \renewcommand{\endisatagquoteme}{\end{quoteme}}
    20 \newcommand{\isasymFIXES}{\cmd{fixes}}
    20 
    21 \newcommand{\isasymASSUMES}{\cmd{assumes}}
    21 \makeatother
    22 \newcommand{\isasymDEFINES}{\cmd{defines}}
       
    23 \newcommand{\isasymNOTES}{\cmd{notes}}
       
    24 \newcommand{\isasymSHOWS}{\cmd{shows}}
       
    25 \newcommand{\isasymCLASS}{\cmd{class}}
       
    26 \newcommand{\isasymINSTANCE}{\cmd{instance}}
       
    27 \newcommand{\isasymLEMMA}{\cmd{lemma}}
       
    28 \newcommand{\isasymPROOF}{\cmd{proof}}
       
    29 \newcommand{\isasymQED}{\cmd{qed}}
       
    30 \newcommand{\isasymFIX}{\cmd{fix}}
       
    31 \newcommand{\isasymASSUME}{\cmd{assume}}
       
    32 \newcommand{\isasymSHOW}{\cmd{show}}
       
    33 \newcommand{\isasymNOTE}{\cmd{note}}
       
    34 \newcommand{\isasymEXPORTCODE}{\cmd{export\_code}}
       
    35 \newcommand{\isasymCODEDATATYPE}{\cmd{code\_datatype}}
       
    36 \newcommand{\isasymCODECONST}{\cmd{code\_const}}
       
    37 \newcommand{\isasymCODETYPE}{\cmd{code\_type}}
       
    38 \newcommand{\isasymCODECLASS}{\cmd{code\_class}}
       
    39 \newcommand{\isasymCODEINSTANCE}{\cmd{code\_instance}}
       
    40 \newcommand{\isasymCODERESERVED}{\cmd{code\_reserved}}
       
    41 \newcommand{\isasymCODEMODULENAME}{\cmd{code\_modulename}}
       
    42 \newcommand{\isasymCODEMODULEPROLOG}{\cmd{code\_moduleprolog}}
       
    43 \newcommand{\isasymCODEAXIOMS}{\cmd{code\_axioms}}
       
    44 \newcommand{\isasymCODEABSTYPE}{\cmd{code\_abstype}}
       
    45 \newcommand{\isasymPRINTCODESETUP}{\cmd{print\_codesetup}}
       
    46 \newcommand{\isasymPRINTCLASSES}{\cmd{print\_classes}}
       
    47 \newcommand{\isasymCODETHMS}{\cmd{code\_thms}}
       
    48 \newcommand{\isasymCODEDEPS}{\cmd{code\_deps}}
       
    49 \newcommand{\isasymFUN}{\cmd{fun}}
       
    50 \newcommand{\isasymFUNCTION}{\cmd{function}}
       
    51 \newcommand{\isasymPRIMREC}{\cmd{primrec}}
       
    52 \newcommand{\isasymCONSTDEFS}{\cmd{constdefs}}
       
    53 \newcommand{\isasymRECDEF}{\cmd{recdef}}
       
    54 
    22 
    55 \isakeeptag{tt}
    23 \isakeeptag{tt}
    56 \renewcommand{\isatagtt}{\isabellestyle{tt}\isastyle}
    24 \renewcommand{\isatagtt}{\isabellestyle{tt}\isastyle}
    57 \renewcommand{\endisatagtt}{\isabellestyle{it}\isastyle}
    25 \renewcommand{\endisatagtt}{\isabellestyle{it}\isastyle}
    58 
    26 
    59 \newcommand{\qt}[1]{``#1''}
    27 \newcommand{\qt}[1]{``#1''}
    60 \newcommand{\qtt}[1]{"{}{#1}"{}}
    28 \newcommand{\qtt}[1]{"{}{#1}"{}}
    61 \newcommand{\qn}[1]{\emph{#1}}
    29 \newcommand{\qn}[1]{\emph{#1}}
    62 \newcommand{\strong}[1]{{\bfseries #1}}
    30 \newcommand{\strong}[1]{{\bfseries #1}}
    63 \newcommand{\fixme}[1][!]{\strong{FIXME: #1}}
    31 \newcommand{\fixme}[1][!]{\strong{FIXME: #1}}
    64 
       
    65 \lstset{basicstyle=\scriptsize\ttfamily,keywordstyle=\itshape,commentstyle=\itshape\sffamily,frame=single}
       
    66 \newcommand{\lstsml}[1]{\lstset{language=ML}\lstinputlisting{#1}}
       
    67 \newcommand{\lsthaskell}[1]{\lstset{language=Haskell}\lstinputlisting{#1}}
       
    68 
    32 
    69 \hyphenation{Isabelle}
    33 \hyphenation{Isabelle}
    70 \hyphenation{Isar}
    34 \hyphenation{Isar}
    71 
    35 
    72 \isadroptag{theory}
    36 \isadroptag{theory}
    88 \thispagestyle{empty}\clearpage
    52 \thispagestyle{empty}\clearpage
    89 
    53 
    90 \pagenumbering{roman}
    54 \pagenumbering{roman}
    91 \clearfirst
    55 \clearfirst
    92 
    56 
    93 \input{Thy/document/Codegen.tex}
    57 \input{Thy/document/Introduction.tex}
    94 % \input{Thy/document/Introduction.tex}
    58 \input{Thy/document/Program.tex}
    95 % \input{Thy/document/Program.tex}
    59 \input{Thy/document/Adaption.tex}
    96 % \input{Thy/document/Adaption.tex}
    60 \input{Thy/document/Further.tex}
    97 % \input{Thy/document/Further.tex}
    61 \input{Thy/document/ML.tex}
    98 % \input{Thy/document/ML.tex}
       
    99 
    62 
   100 \begingroup
    63 \begingroup
   101 %\tocentry{\bibname}
    64 %\tocentry{\bibname}
   102 \bibliographystyle{plain} \small\raggedright\frenchspacing
    65 \bibliographystyle{plain} \small\raggedright\frenchspacing
   103 \bibliography{../../manual}
    66 \bibliography{../../manual}