Changeset 56deb9bc
- Timestamp:
- Aug 13, 2025, 2:42:00 PM (6 weeks ago)
- Branches:
- master
- Children:
- 0d6fd21
- Parents:
- 221d40c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/background.tex
r221d40c r56deb9bc 36 36 % Yet, the rejection presents as a GCC warning. 37 37 % *1 TAPL-pg1 definition of a type system 38 39 % reading C declaration: https://c-faq.com/decl/spiral.anderson.html40 38 41 39 … … 96 94 In spite of its difficulties, I believe that the C's approach to declarations remains plausible, and am comfortable with it; it is a useful unifying principle.~\cite[p.~12]{Ritchie93} 97 95 \end{quote} 98 After all, reading a C array type is easy: just read it from the inside out , and know when to look left and when to look right!96 After all, reading a C array type is easy: just read it from the inside out following the ``clock-wise spiral rule''~\cite{Anderson94}. 99 97 Unfortunately, \CFA cannot correct these operator priority inversions without breaking C compatibility. 100 101 TODO: rephrase to acknowledge the "clockwise rule" https://c-faq.com/decl/spiral.anderson.html102 98 103 99 The alternative solution is for \CFA to provide its own type, variable and routine declarations, using a more intuitive syntax. … … 621 617 In fact, the outermost type constructor (syntactically first dimension) is really the one that determines the parameter flavour. 622 618 623 TODO: add examples of mycode/arrr/bugs/c-dependent/x.cfa:v5102,5103,624 which are shocking how much C ignores. 619 \PAB{TODO: add examples of mycode/arrr/bugs/c-dependent/x.cfa:v5102,5103, 620 which are shocking how much C ignores.} 625 621 626 622 \begin{figure} … … 1261 1257 The kind of characters in the string is denoted by a prefix: UTF-8 characters are prefixed by @u8@, wide characters are prefixed by @L@, @u@, or @U@. 1262 1258 1263 For UTF-8 string literals, the array elements have type @char@ and are initialized with the characters of the multi-byte character sequences, \eg @u8"\xe1\x90\x87"@ (Canadian syllabic sY-Cree OO).1259 For UTF-8 string literals, the array elements have type @char@ and are initialized with the characters of the multi-byte character sequences, \eg @u8"\xe1\x90\x87"@ (Canadian syllabic Y-Cree OO). 1264 1260 For wide string literals prefixed by the letter @L@, the array elements have type @wchar_t@ and are initialized with the wide characters corresponding to the multi-byte character sequence, \eg @L"abc@$\mu$@"@ and are read/printed using @wscanf@/@wprintf@. 1265 1261 The value of a wide-character is implementation-defined, usually a UTF-16 character.
Note:
See TracChangeset
for help on using the changeset viewer.