1%if false 2 Copyright (c) 2009, ETH Zurich. 3 All rights reserved. 4 5 This file is distributed under the terms in the attached LICENSE file. 6 If you do not find this file, copies can be found by writing to: 7 ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group. 8%endif 9 10\documentclass{report} 11\usepackage[english]{babel} 12\usepackage{fullpage} 13 14%include polycode.fmt 15 16\usepackage{epigraph} 17\setlength{\epigraphrule}{0pt} 18\setlength{\beforeepigraphskip}{0pt} 19\setlength{\afterepigraphskip}{2\baselineskip} 20 21\usepackage{tikz} 22\usetikzlibrary{matrix,arrows} 23 24 25\title{\Huge{Filet-o-Fish}\\ 26 \large{When French Cuisine Meets Swiss Fishes} 27} 28\author{\Large{Pierre-Evariste \sc{Dagand}}} 29\date{} 30 31\begin{document} 32 33\maketitle 34 35\newpage 36 37 38\tableofcontents 39 40\input{Introduction} 41 42%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 43\part{The Filet-o-Fish Language} 44%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 45 46\input{IntroLanguage} 47 48%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 49\chapter{Filet-o-Fish Syntax} 50\label{chap:fof_syntax} 51\epigraph{- None shall pass.\\ 52 - I have no quarrel with you, good Sir Knight, but I must cross this bridge.\\ 53 - Then you shall die.}{Monty Python} 54%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 55 56\input{PureExpressions} 57\input{Constructs} 58 59%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 60\chapter{Filet-o-Fish Semantics} 61\label{chap:fof_semantics} 62\epigraph{So, logically...\\ 63 If...\\ 64 she...\\ weighs...\\ 65 the same as a duck,...\\ 66 she's made of wood.}{Monty Python} 67%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 68 69\input{Eval} 70\input{Expressions} 71\input{Semantics} 72 73%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 74\chapter{Filet-o-Fish Operators} 75\label{chap:fof_operators} 76\epigraph{Listen. \\ 77 Strange women lying in ponds distributing swords 78 is no basis for a system of government. 79 Supreme executive power derives from a mandate from the masses, 80 not from some farcical aquatic ceremony.}{Monty Python} 81%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 82 83\input{./Constructs/Arrays} 84\input{./Constructs/Conditionals} 85\input{./Constructs/Enumerations} 86\input{./Constructs/Functions} 87\input{./Constructs/References} 88\input{./Constructs/Strings} 89\input{./Constructs/Structures} 90\input{./Constructs/Typedef} 91\input{./Constructs/Unions} 92 93%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 94\chapter{Lib-C Operators} 95\label{chap:fof_libc} 96\epigraph{Mortician: Bring out your dead! [clang] \ldots \\ 97 Customer: Here's one -- nine pence. \\ 98 Dead person: I'm not dead!\\ 99 Mortician: What?\\ 100 Customer: Nothing -- here's your nine pence.}{Monty Python} 101 102%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 103 104\input{./Libc/Printf} 105\input{./Libc/Assert} 106 107%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 108\chapter{Lib-barrefish Operators} 109\label{chap:fof_libbarrelfish} 110\epigraph{Here may be found the last words of Joseph of Aramathea. He 111 who is valiant and pure of spirit may find the Holy Grail in the 112 Castle of uuggggggh}{Monty Python} 113%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 114 115\input{./Libbarrelfish/HasDescendants} 116\input{./Libbarrelfish/MemToPhys} 117 118 119%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 120\part{The Filet-o-Fish Compiler} 121%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 122 123\input{Compile} 124 125%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 126\chapter{The FoF Intermediate Language} 127\label{chap:il_fof} 128\epigraph{- [...] For, since the tragic death of her father -- \\ 129 - He's not quite dead!\\ 130 - Since the near fatal wounding of her father--\\ 131 - He's getting better!\\ 132 - For, since her own father\ldots who, when he seemed about to 133 recover, suddenly felt the icy hand of death upon him,\ldots\\ 134 - Oh, he's died!\\ 135 - And I want his only daughter to look upon me\ldots as her own 136 dad -- in a very real, and legally binding sense. 137 And I feel sure that the merger -- uh, the union -- between the 138 Princess and the brave, but dangerous, Sir Launcelot of Camelot...}{Monty Python} 139 140%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 141 142\input{./IL/FoF/FoF} 143\input{./IL/FoF/Compile} 144\input{./IL/FoF/Run} 145 146%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 147\chapter{The Paka Intermediate Language} 148\label{chap:il_paka} 149\epigraph{Listen, lad. \\ 150 I've built this kingdom up from nothing. When 151 I started here, all there was was swamp. All the kings said I was 152 daft to build a castle in a swamp, but I built it all the same, 153 just to show 'em. It sank into the swamp.\\ 154 So, I built a second one. That sank into the swamp. \\ 155 So I built a third one. That burned down, 156 fell over, then sank into the swamp. \\ 157 But the fourth one stayed up. An' that's what your gonna get, lad -- the strongest castle in these 158 islands.}{Monty Python} 159%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 160 161\input{./IL/Paka/Syntax} 162\input{./IL/Paka/Builders} 163\input{./IL/Paka/Paka} 164\input{./IL/Paka/Compile} 165\input{./IL/Paka/Optimizer} 166 167 168%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 169\appendix 170\part{Appendix} 171%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 172 173\input{FutureWork} 174 175%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 176%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 177 178 179\bibliographystyle{plain} 180\bibliography{FiletOFish} 181 182 183\end{document} 184