source: doc/theses/jiada_liang_MMath/uw-ethesis-frontpgs.tex @ b12e4ad

Last change on this file since b12e4ad was 9476549, checked in by JiadaL <j82liang@…>, 4 months ago

Add abstract and acknoledgement

  • Property mode set to 100644
File size: 7.6 KB
Line 
1% T I T L E   P A G E
2% -------------------
3% Last updated August 16, 2022, by 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
16        {\bf Enumerated Types in \CFA}
17
18        \vspace*{1.0cm}
19
20        \normalsize
21        by \\
22
23        \vspace*{1.0cm}
24
25        \Large
26        Jiada Liang \\
27
28        \vspace*{3.0cm}
29
30        \normalsize
31        A thesis \\
32        presented to the University of Waterloo \\
33        in fulfillment of the \\
34        thesis requirement for the degree of \\
35        Master of Mathematics \\
36        in \\
37        Computer Science \\
38
39        \vspace*{2.0cm}
40
41        Waterloo, Ontario, Canada, \the\year \\
42
43        \vspace*{1.0cm}
44
45        \copyright{} Jiada Liang \the\year \\
46        \end{center}
47\end{titlepage}
48
49% The rest of the front pages should contain no headers and be numbered using Roman numerals starting with `ii'
50\pagestyle{plain}
51\setcounter{page}{2}
52
53\cleardoublepage % Ends the current page and causes all figures and tables that have so far appeared in the input to be printed.
54% In a two-sided printing style, it also makes the next page a right-hand (odd-numbered) page, producing a blank page if necessary.
55\phantomsection    % allows hyperref to link to the correct page
56
57\begin{comment}
58% E X A M I N I N G   C O M M I T T E E (Required for Ph.D. theses only)
59% Remove or comment out the lines below to remove this page
60\addcontentsline{toc}{chapter}{Examining Committee}
61\begin{center}\textbf{Examining Committee Membership}\end{center}
62  \noindent
63The following served on the Examining Committee for this thesis. The decision of the Examining Committee is by majority vote.
64  \bigskip
65
66  \noindent
67\begin{tabbing}
68Internal-External Member: \=  \kill % using longest text to define tab length
69External Examiner: \>  Bruce Bruce \\
70\> Professor, Dept. of Philosophy of Zoology, University of Wallamaloo \\
71\end{tabbing}
72  \bigskip
73
74  \noindent
75\begin{tabbing}
76Internal-External Member: \=  \kill % using longest text to define tab length
77Supervisor(s): \> Ann Elk \\
78\> Professor, Dept. of Zoology, University of Waterloo \\
79\> Andrea Anaconda \\
80\> Professor Emeritus, Dept. of Zoology, University of Waterloo \\
81\end{tabbing}
82  \bigskip
83
84  \noindent
85  \begin{tabbing}
86Internal-External Member: \=  \kill % using longest text to define tab length
87Internal Member: \> Pamela Python \\
88\> Professor, Dept. of Zoology, University of Waterloo \\
89\end{tabbing}
90  \bigskip
91
92  \noindent
93\begin{tabbing}
94Internal-External Member: \=  \kill % using longest text to define tab length
95Internal-External Member: \> Meta Meta \\
96\> Professor, Dept. of Philosophy, University of Waterloo \\
97\end{tabbing}
98  \bigskip
99
100  \noindent
101\begin{tabbing}
102Internal-External Member: \=  \kill % using longest text to define tab length
103Other Member(s): \> Leeping Fang \\
104\> Professor, Dept. of Fine Art, University of Waterloo \\
105\end{tabbing}
106
107\cleardoublepage
108\end{comment}
109
110% D E C L A R A T I O N   P A G E
111% -------------------------------
112  % The following is a sample Declaration Page as provided by the GSO
113  % December 13th, 2006.  It is designed for an electronic thesis.
114 \addcontentsline{toc}{chapter}{Author's Declaration}
115 \begin{center}\textbf{Author's Declaration}\end{center}
116
117 \noindent
118I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners.
119
120  \bigskip
121
122  \noindent
123I understand that my thesis may be made electronically available to the public.
124
125\cleardoublepage
126\phantomsection    % allows hyperref to link to the correct page
127
128% A B S T R A C T
129% ---------------
130\addcontentsline{toc}{chapter}{Abstract}
131\begin{center}\textbf{Abstract}\end{center}
132
133% An enumeration is a type defining an ordered set of named constant values, where a name abstracts a value, \eg @PI@ versus @3.145159@.
134% C restrict an enumeration type to the integral type @signed int@, which \CC support, meaning enumeration names bind to integer constants.
135% \CFA extends C enumerations to allow all basic and custom types for the enumeration type, like other modern programming languages.
136% Furthermore, \CFA adds other useful features for enumerations to support better software-engineering practices and simplify program development.
137The \CFA (C-for-all) programming language is an evolutionary refinement of C programing language. One of its distinctive feature is the generic
138types. But legacy data type from C, such as enumerations, does not adapt well into the \CFA generic type system.
139
140This thesis presents an adaptation of enumerated types, in a way that integrates naturallly with the generic type feature of \CFA while being
141backward-compatiable to C. This thesis also presents a number of smaller refinement to the \CFA overload resolution rules for enumerated types,
142each of which improves the intuitive nature of enumerations.
143The enumeration types improvement has been implemented into \CFA compiler and run-time environment. The root ideas behinds the change of
144enumeration is to discover the approach of C data types working with \CFA generic types in order to improve the language expressiveity and safety.
145\cleardoublepage
146\phantomsection    % allows hyperref to link to the correct page
147
148% A C K N O W L E D G E M E N T S
149% -------------------------------
150\addcontentsline{toc}{chapter}{Acknowledgements}
151\begin{center}\textbf{Acknowledgements}\end{center}
152
153To begin, I would like to thank my supervisor Proferssor Peter Buhr. Thank you for your guidance and
154support throughout my study and research. I would not be here without you.
155
156Thanks Gregor Richards and Yzihou Zhang for reading my thesis.
157
158Special thanks to Andrew James Beach for your insight on the theory development on the thesis.
159
160Thanks to Michael Brooks, Fangran Yu, Colby Parsons, Thierry Delisle, Mubeen Zulifiqar,
161 and entire Cforall team for development of the \CFA language, making it the best language it can be.
162
163Finally, a special thank you to Huawei Canada for funding this work.
164
165\cleardoublepage
166\phantomsection    % allows hyperref to link to the correct page
167
168\begin{comment}
169% D E D I C A T I O N
170% -------------------
171\addcontentsline{toc}{chapter}{Dedication}
172\begin{center}\textbf{Dedication}\end{center}
173
174This is dedicated to the one I love.
175\cleardoublepage
176\end{comment}
177
178% T A B L E   O F   C O N T E N T S
179% ---------------------------------
180\renewcommand\contentsname{Table of Contents}
181\tableofcontents
182\cleardoublepage
183\phantomsection    % allows hyperref to link to the correct page
184
185% L I S T   O F   F I G U R E S
186% -----------------------------
187\addcontentsline{toc}{chapter}{List of Figures}
188\listoffigures
189\cleardoublepage
190\phantomsection         % allows hyperref to link to the correct page
191
192% L I S T   O F   T A B L E S
193% ---------------------------
194\addcontentsline{toc}{chapter}{List of Tables}
195\listoftables
196\cleardoublepage
197\phantomsection         % allows hyperref to link to the correct page
198
199\begin{comment}
200% L I S T   O F   A B B R E V I A T I O N S
201% ---------------------------
202\renewcommand*{\abbreviationsname}{List of Abbreviations}
203\printglossary[type=abbreviations]
204\cleardoublepage
205\phantomsection         % allows hyperref to link to the correct page
206
207% L I S T   O F   S Y M B O L S
208% ---------------------------
209\printglossary[type=symbols]
210\cleardoublepage
211\phantomsection         % allows hyperref to link to the correct page
212\end{comment}
213
214% Change page numbering back to Arabic numerals
215\pagenumbering{arabic}
Note: See TracBrowser for help on using the repository browser.