source: doc/theses/andrew_beach_MMath/uw-ethesis-frontpgs.tex @ 432bffe

ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
Last change on this file since 432bffe was 9cdfa5fb, checked in by Andrew Beach <ajbeach@…>, 3 years ago

Andrew MMath: Used (most of) Gregor's feedback to update the thesis. There are still a few \todo items as well as a general request for examples.

  • Property mode set to 100644
File size: 5.8 KB
Line 
1% T I T L E   P A G E
2% -------------------
3% Last updated October 23, 2020, by Stephen Carr, IST-Client Services
4% The title page is counted as page `i' but we need to suppress the
5% page number. Also, we don't want any headers or footers.
6\pagestyle{empty}
7\pagenumbering{roman}
8
9% The contents of the title page are specified in the "titlepage"
10% environment.
11\begin{titlepage}
12        \begin{center}
13        \vspace*{1.0cm}
14
15        {\Huge\bf Exception Handling in \CFA}
16
17        \vspace*{1.0cm}
18
19        by \\
20
21        \vspace*{1.0cm}
22
23        {\Large Andrew James Beach} \\
24
25        \vspace*{3.0cm}
26
27        A thesis \\
28        presented to the University of Waterloo \\
29        in fulfillment of the \\
30        thesis requirement for the degree of \\
31        Master of Mathematics \\
32        in \\
33        Computer Science \\
34
35        \vspace*{2.0cm}
36
37        Waterloo, Ontario, Canada, \the\year \\
38
39        \vspace*{1.0cm}
40
41        \copyright{} Andrew James Beach \the\year \\
42        \end{center}
43\end{titlepage}
44
45% The rest of the front pages should contain no headers and be numbered using
46% Roman numerals starting with `ii'.
47\pagestyle{plain}
48\setcounter{page}{2}
49
50\cleardoublepage % Ends the current page and causes all figures and tables
51% that have so far appeared in the input to be printed. In a two-sided
52% printing style, it also makes the next page a right-hand (odd-numbered)
53% page, producing a blank page if necessary.
54
55\begin{comment}
56% E X A M I N I N G   C O M M I T T E E (Required for Ph.D. theses only)
57% Remove or comment out the lines below to remove this page
58\begin{center}\textbf{Examining Committee Membership}\end{center}
59  \noindent
60The following served on the Examining Committee for this thesis.
61The decision of the Examining Committee is by majority vote.
62  \bigskip
63
64  \noindent
65\begin{tabbing}
66Internal-External Member: \=  \kill % using longest text to define tab length
67External Examiner: \>  Bruce Bruce \\
68\> Professor, Dept. of Philosophy of Zoology, University of Wallamaloo \\
69\end{tabbing}
70  \bigskip
71
72  \noindent
73\begin{tabbing}
74Internal-External Member: \=  \kill % using longest text to define tab length
75Supervisor(s): \> Ann Elk \\
76\> Professor, Dept. of Zoology, University of Waterloo \\
77\> Andrea Anaconda \\
78\> Professor Emeritus, Dept. of Zoology, University of Waterloo \\
79\end{tabbing}
80  \bigskip
81
82  \noindent
83  \begin{tabbing}
84Internal-External Member: \=  \kill % using longest text to define tab length
85Internal Member: \> Pamela Python \\
86\> Professor, Dept. of Zoology, University of Waterloo \\
87\end{tabbing}
88  \bigskip
89
90  \noindent
91\begin{tabbing}
92Internal-External Member: \=  \kill % using longest text to define tab length
93Internal-External Member: \> Meta Meta \\
94\> Professor, Dept. of Philosophy, University of Waterloo \\
95\end{tabbing}
96  \bigskip
97
98  \noindent
99\begin{tabbing}
100Internal-External Member: \=  \kill % using longest text to define tab length
101Other Member(s): \> Leeping Fang \\
102\> Professor, Dept. of Fine Art, University of Waterloo \\
103\end{tabbing}
104
105\cleardoublepage
106\end{comment}
107
108% D E C L A R A T I O N   P A G E
109% -------------------------------
110  % The following is a sample Delaration Page as provided by the GSO
111  % December 13th, 2006.  It is designed for an electronic thesis.
112 \begin{center}\textbf{Author's Declaration}\end{center}
113
114 \noindent
115I hereby declare that I am the sole author of this thesis. This is a true copy
116of the thesis, including any required final revisions, as accepted by my
117examiners.
118
119  \bigskip
120
121  \noindent
122I understand that my thesis may be made electronically available to the public.
123
124\cleardoublepage
125
126% A B S T R A C T
127% ---------------
128
129\begin{center}\textbf{Abstract}\end{center}
130
131The \CFA (Cforall) programming language is an evolutionary refinement of
132the C programming language, adding modern programming features without
133changing the programming paradigms of C.
134One of these modern programming features is more powerful error handling
135through the addition of an exception handling mechanism (EHM).
136
137This thesis covers the design and implementation of the \CFA EHM,
138along with a review of the other required \CFA features.
139The EHM includes common features of termination exception handling,
140which abandons and recovers from an operation,
141and similar support for resumption exception handling,
142which repairs and continues with an operation.
143The design of both has been adapted to utilize other tools \CFA provides,
144as well as fit with the assertion based interfaces of the language.
145
146The EHM has been implemented into the \CFA compiler and run-time environment.
147Although it has not yet been optimized, performance testing has shown it has
148comparable performance to other EHMs,
149which is sufficient for use in current \CFA programs.
150
151\cleardoublepage
152
153% A C K N O W L E D G E M E N T S
154% -------------------------------
155
156\begin{center}\textbf{Acknowledgements}\end{center}
157
158I would like to thank all the people who made this thesis possible.
159(I'm waiting until who is involved is finalized.)
160
161\cleardoublepage
162
163\begin{comment}
164% D E D I C A T I O N
165% -------------------
166
167\begin{center}\textbf{Dedication}\end{center}
168
169This is dedicated to the one I love.
170\cleardoublepage
171\end{comment}
172
173% T A B L E   O F   C O N T E N T S
174% ---------------------------------
175\renewcommand\contentsname{Table of Contents}
176\tableofcontents
177\cleardoublepage
178\phantomsection    % allows hyperref to link to the correct page
179
180% L I S T   O F   F I G U R E S
181% -----------------------------
182\addcontentsline{toc}{chapter}{List of Figures}
183\listoffigures
184\cleardoublepage
185\phantomsection         % allows hyperref to link to the correct page
186
187% L I S T   O F   T A B L E S
188% ---------------------------
189\addcontentsline{toc}{chapter}{List of Tables}
190\listoftables
191\cleardoublepage
192\phantomsection         % allows hyperref to link to the correct page
193
194% Change page numbering back to Arabic numerals
195\pagenumbering{arabic}
Note: See TracBrowser for help on using the repository browser.