Changes in / [9d84a88:6e6989c]
- Files:
-
- 14 deleted
- 6 edited
-
doc/theses/mike_brooks_MMath/Makefile (modified) (5 diffs)
-
doc/theses/mike_brooks_MMath/list.tex (deleted)
-
doc/theses/mike_brooks_MMath/pictures/lst-issues-attach.pdf (deleted)
-
doc/theses/mike_brooks_MMath/pictures/lst-issues-attach.vsdx (deleted)
-
doc/theses/mike_brooks_MMath/pictures/lst-issues-direct.pdf (deleted)
-
doc/theses/mike_brooks_MMath/pictures/lst-issues-direct.vsdx (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-features-intro.run.cfa (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-features-multidir.run.cfa (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-attach-reduction-byref.run.cpp (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-attach-reduction-emplaced.run.cpp (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-attach-reduction.hpp (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-intrusive.run.c (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-multi-static.run.c (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-wrapped-byref.run.cpp (deleted)
-
doc/theses/mike_brooks_MMath/programs/lst-issues-wrapped-emplaced.run.cpp (deleted)
-
doc/theses/mike_brooks_MMath/uw-ethesis.bib (modified) (1 diff)
-
doc/theses/mike_brooks_MMath/uw-ethesis.tex (modified) (4 diffs)
-
libcfa/src/Makefile.am (modified) (2 diffs)
-
libcfa/src/containers/list.hfa (modified) (1 diff)
-
src/Parser/ExpressionNode.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/Makefile
r9d84a88 r6e6989c 8 8 PicSRC = ${notdir ${wildcard ${Pictures}/*.png}} 9 9 DemoSRC = ${notdir ${wildcard ${Programs}/*-demo.cfa}} 10 PgmSRC = ${notdir ${wildcard ${Programs}/*}} 11 RunPgmSRC = ${notdir ${wildcard ${Programs}/*.run.*}} 10 PgmSRC = ${notdir ${wildcard ${Programs}/*.cfa}} 12 11 BibSRC = ${wildcard *.bib} 13 12 … … 15 14 BibLIB = .:../../bibliography # common citation repository 16 15 17 #MAKEFLAGS = --no-print-directory # --silent16 MAKEFLAGS = --no-print-directory # --silent 18 17 VPATH = ${Build} ${Pictures} ${Programs} # extra search path for file names used in document 19 18 … … 21 20 BASE = ${basename ${DOCUMENT}} # remove suffix 22 21 23 DemoTex = ${DemoSRC:%.cfa=${Build}/%.tex}24 RunPgmExe = ${addprefix ${Build}/,${basename ${basename ${RunPgmSRC}}}}25 RunPgmOut = ${RunPgmExe:%=%.out}26 27 22 # Commands 28 23 29 24 LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && pdflatex -halt-on-error -output-directory=${Build} 30 25 BibTeX = BIBINPUTS=${BibLIB} && export BIBINPUTS && bibtex 31 CFA = cfa -O0 -g 32 CC = gcc -O0 -g 33 CXX = g++-11 --std=c++20 -O0 -g 26 CFA = cfa 34 27 35 28 # Rules and Recipes 36 29 37 .PHONY : all fragments_ran clean # not file names 38 .PRECIOUS : ${Build}/% ${Build}/%-demo # don't delete intermediates 30 .PHONY : all clean # not file names 39 31 .ONESHELL : 40 32 41 all : fragments_ran ${DOCUMENT} 42 43 fragments_ran : $(RunPgmOut) 33 all : ${DOCUMENT} 44 34 45 35 clean : … … 48 38 # File Dependencies 49 39 50 %.pdf : ${TeXSRC} ${Demo Tex} ${PicSRC} ${PgmSRC} ${BibSRC} Makefile | ${Build}40 %.pdf : ${TeXSRC} ${DemoSRC:%.cfa=%.tex} ${PicSRC} ${PgmSRC} ${BibSRC} Makefile | ${Build} 51 41 ${LaTeX} ${BASE} 52 42 ${BibTeX} ${Build}/${BASE} … … 62 52 63 53 %-demo.tex: %-demo | ${Build} 64 $ < >$@54 ${Build}/$< > ${Build}/$@ 65 55 66 ${Build}/%-demo: ${Programs}/%-demo.cfa | ${Build} 67 ${CFA} $< -o $ @56 %-demo: %-demo.cfa 57 ${CFA} $< -o ${Build}/$@ 68 58 69 ${Build}/%: ${Programs}/%.run.cfa | ${Build}70 ${CFA} $< -o $@71 72 ${Build}/%: ${Programs}/%.run.c | ${Build}73 ${CC} $< -o $@74 75 ${Build}/%: ${Programs}/%.run.cpp | ${Build}76 ${CXX} -MMD $< -o $@77 78 ${Build}/%.out: ${Build}/% | ${Build}79 $< > $@80 81 -include ${Build}/*.d -
doc/theses/mike_brooks_MMath/uw-ethesis.bib
r9d84a88 r6e6989c 65 65 bibsource = {dblp computer science bibliography, https://dblp.org} 66 66 } 67 68 % --------------------------------------------------69 % Linked-list prior work70 71 @misc{CFAStackEvaluation,72 contributer = {a3moss@plg},73 author = {Aaron Moss},74 title = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},75 year = 2018,76 howpublished= {\href{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}{https://cforall.uwaterloo.ca/\-CFAStackEvaluation.zip}},77 }78 79 @misc{lst:linuxq,80 title = {queue(7) — Linux manual page},81 howpublished= {\href{https://man7.org/linux/man-pages/man3/queue.3.html}{https://man7.org/linux/man-pages/man3/queue.3.html}},82 }83 % see also https://man7.org/linux/man-pages/man7/queue.7.license.html84 % https://man7.org/tlpi/85 % https://www.kernel.org/doc/man-pages/86 87 @misc{lst:stl,88 title = {std::list},89 howpublished= {\href{https://en.cppreference.com/w/cpp/container/list}{https://en.cppreference.com/w/cpp/container/list}},90 }91 -
doc/theses/mike_brooks_MMath/uw-ethesis.tex
r9d84a88 r6e6989c 91 91 \usepackage{algorithm} 92 92 \usepackage{algpseudocode} 93 94 \usepackage{pbox}95 93 96 94 % Hyperlinks make it very easy to navigate an electronic document. … … 132 130 % installation instructions there. 133 131 134 % Customizing tabularx135 \newcolumntype{Y}{>{\centering\arraybackslash}X}136 137 132 % Setting up the page margins... 138 133 \setlength{\textheight}{9in} … … 184 179 \newcommand{\PAB}[1]{{\color{red}PAB: #1}} 185 180 186 187 \newcommand{\uCpp}{$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}188 189 181 %====================================================================== 190 182 % L O G I C A L D O C U M E N T … … 209 201 %---------------------------------------------------------------------- 210 202 \begin{sloppypar} 203 211 204 \input{intro} 212 205 \input{background} 213 \input{list}214 206 \input{array} 215 207 \input{string} -
libcfa/src/Makefile.am
r9d84a88 r6e6989c 48 48 math.hfa \ 49 49 time_t.hfa \ 50 virtual_dtor.hfa \50 virtual_dtor.hfa \ 51 51 bits/algorithm.hfa \ 52 52 bits/align.hfa \ … … 69 69 vec/vec2.hfa \ 70 70 vec/vec3.hfa \ 71 vec/vec4.hfa 71 vec/vec4.hfa 72 72 73 73 inst_headers_src = \ -
libcfa/src/containers/list.hfa
r9d84a88 r6e6989c 32 32 static inline tytagref(void, T) ?`inner ( T & this ) { tytagref( void, T ) ret = {this}; return ret; } 33 33 34 35 // 36 // P9_EMBEDDED: Use on every case of plan-9 inheritance, to make "implements embedded" be a closure of plan-9 inheritance. 37 // 38 // struct foo { 39 // int a, b, c; 40 // inline (bar); 41 // }; 42 // P9_EMBEDDED( foo, bar ) 43 // 44 45 // usual version, for structs that are top-level declarations 46 #define P9_EMBEDDED( derived, immedBase ) P9_EMBEDDED_DECL_( derived, immedBase, static ) P9_EMBEDDED_BDY_( immedBase ) 47 48 // special version, for structs that are declared in functions 49 #define P9_EMBEDDED_INFUNC( derived, immedBase ) P9_EMBEDDED_DECL_( derived, immedBase, ) P9_EMBEDDED_BDY_( immedBase ) 50 51 // forward declarations of both the above; generally not needed 52 // may help you control where the P9_EMBEEDED cruft goes, in case "right after the stuct" isn't where you want it 53 #define P9_EMBEDDED_FWD( derived, immedBase ) P9_EMBEDDED_DECL_( derived, immedBase, static ) ; 54 #define P9_EMBEDDED_FWD_INFUNC( derived, immedBase ) auto P9_EMBEDDED_DECL_( derived, immedBase, ) ; 55 56 // private helpers 57 #define P9_EMBEDDED_DECL_( derived, immedBase, STORAGE ) \ 58 forall( Tbase &, TdiscardPath & | { tytagref( TdiscardPath, Tbase ) ?`inner( immedBase & ); } ) \ 59 STORAGE inline tytagref(immedBase, Tbase) ?`inner( derived & this ) 60 61 #define P9_EMBEDDED_BDY_( immedBase ) { \ 34 // use this on every case of plan-9 inheritance, to make embedded a closure of plan-9 inheritance 35 #define P9_EMBEDDED( derived, immedBase ) \ 36 forall( Tbase &, TdiscardPath & | { tytagref( TdiscardPath, Tbase ) ?`inner( immedBase & ); } ) \ 37 static inline tytagref(immedBase, Tbase) ?`inner( derived & this ) { \ 62 38 immedBase & ib = this; \ 63 39 Tbase & b = ib`inner; \ -
src/Parser/ExpressionNode.cc
r9d84a88 r6e6989c 164 164 } else { 165 165 // At least one digit in integer constant, so safe to backup while looking for suffix. 166 // This declaration and the comma expressions in the conditions mimic167 // the declare and check pattern allowed in later compiler versions.168 // (Only some early compilers/C++ standards do not support it.)169 166 string::size_type posn; 170 167 // pointer value 171 if ( posn = str.find_last_of( "pP" ) ,posn != string::npos ) {168 if ( posn = str.find_last_of( "pP" ); posn != string::npos ) { 172 169 ltype = 5; str.erase( posn, 1 ); 173 170 // size_t 174 } else if ( posn = str.find_last_of( "zZ" ) ,posn != string::npos ) {171 } else if ( posn = str.find_last_of( "zZ" ); posn != string::npos ) { 175 172 Unsigned = true; type = 2; ltype = 4; str.erase( posn, 1 ); 176 173 // signed char 177 } else if ( posn = str.rfind( "hh" ) ,posn != string::npos ) {174 } else if ( posn = str.rfind( "hh" ); posn != string::npos ) { 178 175 type = 1; str.erase( posn, 2 ); 179 176 // signed char 180 } else if ( posn = str.rfind( "HH" ) ,posn != string::npos ) {177 } else if ( posn = str.rfind( "HH" ); posn != string::npos ) { 181 178 type = 1; str.erase( posn, 2 ); 182 179 // short 183 } else if ( posn = str.find_last_of( "hH" ) ,posn != string::npos ) {180 } else if ( posn = str.find_last_of( "hH" ); posn != string::npos ) { 184 181 type = 0; str.erase( posn, 1 ); 185 182 // int (natural number) 186 } else if ( posn = str.find_last_of( "nN" ) ,posn != string::npos ) {183 } else if ( posn = str.find_last_of( "nN" ); posn != string::npos ) { 187 184 type = 2; str.erase( posn, 1 ); 188 185 } else if ( str.rfind( "ll" ) != string::npos || str.rfind( "LL" ) != string::npos ) {
Note:
See TracChangeset
for help on using the changeset viewer.