Changeset 9476549 for doc/theses/jiada_liang_MMath
- Timestamp:
- Jul 30, 2024, 6:04:24 PM (5 months ago)
- Branches:
- master
- Children:
- 1f11818, 21f4dff
- Parents:
- 2ff76d25
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/jiada_liang_MMath/uw-ethesis-frontpgs.tex
r2ff76d25 r9476549 131 131 \begin{center}\textbf{Abstract}\end{center} 132 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. 137 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. 137 The \CFA (C-for-all) programming language is an evolutionary refinement of C programing language. One of its distinctive feature is the generic 138 types. But legacy data type from C, such as enumerations, does not adapt well into the \CFA generic type system. 139 140 This thesis presents an adaptation of enumerated types, in a way that integrates naturallly with the generic type feature of \CFA while being 141 backward-compatiable to C. This thesis also presents a number of smaller refinement to the \CFA overload resolution rules for enumerated types, 142 each of which improves the intuitive nature of enumerations. 143 The enumeration types improvement has been implemented into \CFA compiler and run-time environment. The root ideas behinds the change of 144 enumeration is to discover the approach of C data types working with \CFA generic types in order to improve the language expressiveity and safety. 138 145 \cleardoublepage 139 146 \phantomsection % allows hyperref to link to the correct page … … 144 151 \begin{center}\textbf{Acknowledgements}\end{center} 145 152 146 I would like to thank all the little people who made this thesis possible. 153 To begin, I would like to thank my supervisor Proferssor Peter Buhr. Thank you for your guidance and 154 support throughout my study and research. I would not be here without you. 155 156 Thanks Gregor Richards and Yzihou Zhang for reading my thesis. 157 158 Special thanks to Andrew James Beach for your insight on the theory development on the thesis. 159 160 Thanks 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. 147 162 148 163 Finally, a special thank you to Huawei Canada for funding this work.
Note: See TracChangeset
for help on using the changeset viewer.