Changeset 599dc6a for doc


Ignore:
Timestamp:
Jun 30, 2023, 1:48:33 PM (14 months ago)
Author:
caparsons <caparson@…>
Branches:
master
Children:
4bae7b4
Parents:
c9019ce (diff), 48ee593 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
doc
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • doc/bibliography/pl.bib

    rc9019ce r599dc6a  
    230230    publisher   = {MIT Press, Cambridge},
    231231    year        = 1986
    232 }
    233 
    234 @inproceedings{Srinivasan08,
    235     author      = {Srinivasan, Sriram and Mycroft, Alan},
    236     editor      = {Vitek, Jan},
    237     title       = {Kilim: Isolation-Typed Actors for Java},
    238     organization= {ECOOP 2008 -- Object-Oriented Programming},
    239     year        = {2008},
    240     publisher   = {Springer Berlin Heidelberg},
    241     address     = {Berlin, Heidelberg},
    242     pages       = {104--128},
    243232}
    244233
     
    430419}
    431420
     421@article{Delisle21,
     422    keywords    = {concurrency, Cforall},
     423    contributer = {pabuhr@plg},
     424    author      = {Thierry Delisle and Peter A. Buhr},
     425    title       = {Advanced Control-flow and Concurrency in \textsf{C}$\mathbf{\forall}$},
     426    journal     = spe,
     427    month       = may,
     428    year        = 2021,
     429    volume      = 51,
     430    number      = 5,
     431    pages       = {1005-1042},
     432    optnote     = {\href{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}{https://\-onlinelibrary.wiley.com/\-doi/\-10.1002/\-spe.2925}},
     433}
     434
    432435@article{Buhr00a,
    433436    keywords    = {exception handling},
     
    12261229}
    12271230
     1231@phdthesis{Delisle22,
     1232    contributer = {pabuhr@plg},
     1233    author      = {Delisle, Thierry},
     1234    title       = {The \textsf{C}$\mathbf{\forall}$ Scheduler},
     1235    school      = {School of Computer Science, University of Waterloo},
     1236    address     = {Waterloo, Ontario, Canada, N2L 3G1},
     1237    publisher   = {UWSpace},
     1238    year        = 2022,
     1239    note        = {\url{http://hdl.handle.net/10012/18941}}
     1240}
     1241
    12281242@misc{CFAStackEvaluation,
    12291243    contributer = {a3moss@plg},
     
    16431657    volume      = 21,
    16441658    number      = 8,
    1645     pages       = {666-677}
     1659    pages       = {666-677},
     1660    publisher   = {ACM New York, NY, USA},
    16461661}
    16471662
     
    19882003    title       = {Concurrency in \textsf{C}$\mathbf{\forall}$},
    19892004    school      = {School of Computer Science, University of Waterloo},
     2005    address     = {Waterloo, Ontario, Canada, N2L 3G1},
     2006    publisher   = {UWSpace},
    19902007    year        = 2018,
    1991     optaddress  = {Waterloo, Ontario, Canada, N2L 3G1},
    1992     note        = {\href{https://uwspace.uwaterloo.ca/handle/10012/12888}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-12888}},
    1993 }
    1994 
    1995 @article{Delisle21,
    1996     keywords    = {concurrency, Cforall},
    1997     contributer = {pabuhr@plg},
    1998     author      = {Thierry Delisle and Peter A. Buhr},
    1999     title       = {Advanced Control-flow and Concurrency in \textsf{C}$\mathbf{\forall}$},
    2000     journal     = spe,
    2001     month       = may,
    2002     year        = 2021,
    2003     volume      = 51,
    2004     number      = 5,
    2005     pages       = {1005-1042},
    2006     optnote     = {\href{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}{https://\-onlinelibrary.wiley.com/\-doi/\-10.1002/\-spe.2925}},
     2008    note        = {\url{http://hdl.handle.net/10012/12888}},
    20072009}
    20082010
     
    33453347}
    33463348
     3349@mastersthesis{Beach21,
     3350    contributer = {pabuhr@plg},
     3351    author      = {Beach, Andrew James},
     3352    title       = {Exception Handling in \textsf{C}$\mathbf{\forall}$},
     3353    school      = {School of Computer Science, University of Waterloo},
     3354    address     = {Waterloo, Ontario, Canada, N2L 3G1},
     3355    publisher   = {UWSpace},
     3356    year        = {2021},
     3357    note        = {\url{http://hdl.handle.net/10012/17617}},
     3358}
     3359
    33473360@article{Liskov79,
    33483361    keywords    = {exception handling},
     
    40764089    year        = 2022,
    40774090    address     = {Waterloo, Ontario, Canada, N2L 3G1},
    4078     note        = {\href{https://uwspace.uwaterloo.ca/handle/10012/18329}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/18329}},
     4091    note        = {\url{http://hdl.handle.net/10012/18329}},
    40794092}
    40804093
     
    43284341    month       = sep,
    43294342    optaddress  = {Waterloo, Ontario, Canada, N2L 3G1},
    4330     note        = {\href{https://uwspace.uwaterloo.ca/handle/10012/13935}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-13935}},
     4343    note        = {\url{https://uwspace.uwaterloo.ca/handle/10012/13935}},
    43314344}
    43324345
     
    47254738    year        = 1996,
    47264739    pages       = {80-87},
     4740}
     4741
     4742@inproceedings{Srinivasan08,
     4743    author      = {Srinivasan, Sriram and Mycroft, Alan},
     4744    editor      = {Vitek, Jan},
     4745    title       = {Kilim: Isolation-Typed Actors for Java},
     4746    organization= {ECOOP 2008 -- Object-Oriented Programming},
     4747    year        = {2008},
     4748    publisher   = {Springer Berlin Heidelberg},
     4749    address     = {Berlin, Heidelberg},
     4750    pages       = {104--128},
    47274751}
    47284752
     
    50785102}
    50795103
     5104@article{Hesselink23,
     5105    keywords    = {Concurrency, mutual exclusion, atomicity, critical section, efficiency},
     5106    contributer = {pabuhr@plg},
     5107    author      = {Hesselink, Wim H. and Buhr, Peter A.},
     5108    title       = {MCSH, a Lock with the Standard Interface},
     5109    issue_date  = {June 2023},
     5110    publisher   = {Association for Computing Machinery},
     5111    address     = {New York, NY, USA},
     5112    volume      = 10,
     5113    number      = 2,
     5114    journal     = {ACM Trans. Parallel Comput.},
     5115    issn        = {2329-4949},
     5116    url         = {https://doi.org/10.1145/3584696},
     5117    doi         = {10.1145/3584696},
     5118    articleno   = 11,
     5119    numpages    = 23,
     5120    month       = jun,
     5121    year        = {2023},
     5122}
     5123
    50805124@inproceedings{mprof,
    50815125    keywords    = {malloc},
  • doc/user/Makefile

    rc9019ce r599dc6a  
    6868        -${BibTeX} ${Build}/${basename $@}
    6969        # Some citations reference others so run again to resolve these citations
    70 #       ${LaTeX} ${basename $@}.tex
    71         -${BibTeX} ${Build}/${basename $@}
     70        ${LaTeX} ${basename $@}.tex
     71#       -${BibTeX} ${Build}/${basename $@}
    7272        # Make index from *.aux entries and input index at end of document
    7373        makeindex -s ${Macros}/indexstyle ${Build}/${basename $@}.idx
  • doc/user/user.tex

    rc9019ce r599dc6a  
    1111%% Created On       : Wed Apr  6 14:53:29 2016
    1212%% Last Modified By : Peter A. Buhr
    13 %% Last Modified On : Mon Jun  5 21:18:29 2023
    14 %% Update Count     : 5521
     13%% Last Modified On : Thu Jun 29 21:52:51 2023
     14%% Update Count     : 5533
    1515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616
     
    39813981
    39823982The following \Index{manipulator}s control \Index{implicit output separation}.
    3983 The effect of these manipulators is global for an output stream (except ©sepOn© and ©sepOff©).
     3983The effect of these manipulators is global for an output stream (except ©sep© and ©nosep©).
    39843984\begin{enumerate}
    39853985\item
    3986 \Indexc{sepSet}\index{manipulator!sepSet@©sepSet©} and \Indexc{sep}\index{manipulator!sep@©sep©}/\Indexc{sepGet}\index{manipulator!sepGet@©sepGet©} set and get the separator string.
     3986\Indexc{sepSet}\index{manipulator!sepSet@©sepSet©} and \Indexc{sepVal}\index{manipulator!sepVal@©sepVal©}/\Indexc{sepGet}\index{manipulator!sepGet@©sepGet©} set and get the separator string.
    39873987The separator string can be at most 16 characters including the ©'\0'© string terminator (15 printable characters).
    39883988\begin{cfa}[belowskip=0pt]
    39893989sepSet( sout, ", $\LstStringStyle{\textdollar}$" ); $\C{// set separator from " " to ", \$"}$
    3990 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"";
     3990sout | 1 | 2 | 3 | " \"" | ®sepVal® | "\"";
    39913991\end{cfa}
    39923992\begin{cfa}[showspaces=true,aboveskip=0pt]
    3993 1®, $\LstStringStyle{\textdollar}$®2®, $\LstStringStyle{\textdollar}$®3 ®", $\LstStringStyle{\textdollar}$"®
     39931®, $\color{red}\LstStringStyle{\textdollar}$®2®, $\color{red}\LstStringStyle{\textdollar}$®3 ®", $\color{red}\LstStringStyle{\textdollar}$"®
    39943994\end{cfa}
    39953995\begin{cfa}[belowskip=0pt]
     
    40194019
    40204020\item
    4021 \Indexc{sepSetTuple}\index{manipulator!sepSetTuple@©sepSetTuple©} and \Indexc{sepTuple}\index{manipulator!sepTuple@©sepTuple©}/\Indexc{sepGetTuple}\index{manipulator!sepGetTuple@©sepGetTuple©} get and set the tuple separator-string.
     4021\Indexc{sepSetTuple}\index{manipulator!sepSetTuple@©sepSetTuple©} and \Indexc{sepTupleVal}\index{manipulator!sepTupleVal@©sepTupleVal©}/\Indexc{sepGetTuple}\index{manipulator!sepGetTuple@©sepGetTuple©} get and set the tuple separator-string.
    40224022The tuple separator-string can be at most 16 characters including the ©'\0'© string terminator (15 printable characters).
    40234023\begin{cfa}[belowskip=0pt]
    40244024sepSetTuple( sout, " " ); $\C{// set tuple separator from ", " to " "}$
    4025 sout | t1 | t2 | " \"" | ®sepTuple® | "\"";
     4025sout | t1 | t2 | " \"" | ®sepTupleVal® | "\"";
    40264026\end{cfa}
    40274027\begin{cfa}[showspaces=true,aboveskip=0pt]
     
    40384038
    40394039\item
    4040 \Indexc{sepDisable}\index{manipulator!sepDisable@©sepDisable©} and \Indexc{sepEnable}\index{manipulator!sepEnable@©sepEnable©} globally toggle printing the separator.
     4040\Indexc{sepOff}\index{manipulator!sepOff@©sepOff©} and \Indexc{sepOn}\index{manipulator!sepOn@©sepOn©} globally toggle printing the separator.
    40414041\begin{cfa}[belowskip=0pt]
    4042 sout | sepDisable | 1 | 2 | 3; $\C{// turn off implicit separator}$
     4042sout | ®sepOff® | 1 | 2 | 3; $\C{// turn off implicit separator}$
    40434043\end{cfa}
    40444044\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    40464046\end{cfa}
    40474047\begin{cfa}[belowskip=0pt]
    4048 sout | sepEnable | 1 | 2 | 3; $\C{// turn on implicit separator}$
     4048sout | ®sepOn® | 1 | 2 | 3; $\C{// turn on implicit separator}$
    40494049\end{cfa}
    40504050\begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    40534053
    40544054\item
    4055 \Indexc{sepOn}\index{manipulator!sepOn@©sepOn©} and \Indexc{sepOff}\index{manipulator!sepOff@©sepOff©} locally toggle printing the separator with respect to the next printed item, and then return to the global separator setting.
     4055\Indexc{sep}\index{manipulator!sep@©sep©} and \Indexc{nosep}\index{manipulator!nosep@©nosep©} locally toggle printing the separator with respect to the next printed item, and then return to the global separator setting.
    40564056\begin{cfa}[belowskip=0pt]
    4057 sout | 1 | sepOff | 2 | 3; $\C{// turn off implicit separator for the next item}$
     4057sout | 1 | ®nosep® | 2 | 3; $\C{// turn off implicit separator for the next item}$
    40584058\end{cfa}
    40594059\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    40614061\end{cfa}
    40624062\begin{cfa}[belowskip=0pt]
    4063 sout | sepDisable | 1 | sepOn | 2 | 3; $\C{// turn on implicit separator for the next item}$
     4063sout | sepOff | 1 | ®sep® | 2 | 3; $\C{// turn on implicit separator for the next item}$
    40644064\end{cfa}
    40654065\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    40684068The tuple separator also responses to being turned on and off.
    40694069\begin{cfa}[belowskip=0pt]
    4070 sout | t1 | sepOff | t2; $\C{// turn off implicit separator for the next item}$
     4070sout | t1 | ®nosep® | t2; $\C{// turn off implicit separator for the next item}$
    40714071\end{cfa}
    40724072\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
    407340731, 2, 34, 5, 6
    40744074\end{cfa}
    4075 ©sepOn© \emph{cannot} be used to start/end a line with a separator because separators do not appear at the start/end of a line;
     4075©sep© \emph{cannot} be used to start/end a line with a separator because separators do not appear at the start/end of a line;
    40764076use ©sep© to accomplish this functionality.
    40774077\begin{cfa}[belowskip=0pt]
    4078 sout | sepOn | 1 | 2 | 3 | sepOn; $\C{// sepOn does nothing at start/end of line}$
     4078sout | ®sep® | 1 | 2 | 3 | ®sep®; $\C{// sep does nothing at start/end of line}$
    40794079\end{cfa}
    40804080\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    40824082\end{cfa}
    40834083\begin{cfa}[belowskip=0pt]
    4084 sout | sep | 1 | 2 | 3 | sep ; $\C{// use sep to print separator at start/end of line}$
     4084sout | ®sepVal® | 1 | 2 | 3 | ®sepVal® ; $\C{// use sepVal to print separator at start/end of line}$
    40854085\end{cfa}
    40864086\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
     
    41164116\Indexc{nl}\index{manipulator!nl@©nl©} inserts a newline.
    41174117\begin{cfa}
    4118 sout | nl; $\C{// only print newline}$
     4118sout | ®nl®; $\C{// only print newline}$
    41194119sout | 2; $\C{// implicit newline}$
    4120 sout | 3 | nl | 4 | nl; $\C{// terminating nl merged with implicit newline}$
    4121 sout | 5 | nl | nl; $\C{// again terminating nl merged with implicit newline}$
     4120sout | 3 | ®nl® | 4 | ®nl®; $\C{// terminating nl merged with implicit newline}$
     4121sout | 5 | ®nl® | ®nl®; $\C{// again terminating nl merged with implicit newline}$
    41224122sout | 6; $\C{// implicit newline}$
    41234123
     
    42864286For the C-string type, precision is the maximum number of printed characters, so the string is truncated if it exceeds the maximum.
    42874287\begin{cfa}[belowskip=0pt]
    4288 sout | wd( 6,8, "abcd" ) | wd( 6,8, "abcdefghijk" ) | wd( 6,3, "abcd" );
     4288sout | wd( 6,8, "abcd" ) | wd( 6,8, "abcdefghijk" ) | wd( 6,3, "abcd" ) | ®wd( 10, "" )® | 'X';
    42894289\end{cfa}
    42904290\begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt]
    4291   abcd abcdefgh    abc
    4292 \end{cfa}
     4291  abcd abcdefgh    abc®          ®X
     4292\end{cfa}
     4293Note, printing the null string with minimum width L pads with L spaces.
    42934294
    42944295\item
     
    43734374        sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"";
    43744375
    4375         sout | sepDisable | 1 | 2 | 3;          // globally turn off implicit separator
    4376         sout | sepEnable | 1 | 2 | 3;           // globally turn on implicit separator
    4377 
    4378         sout | 1 | sepOff | 2 | 3;                      // locally turn on implicit separator
    4379         sout | sepDisable | 1 | sepOn | 2 | 3; // globally turn off implicit separator
    4380         sout | sepEnable;
    4381         sout | t1 | sepOff | t2;                                // locally turn on/off implicit separator
    4382 
    4383         sout | sepOn | 1 | 2 | 3 | sepOn ;      // sepOn does nothing at start/end of line
     4376        sout | sepOff | 1 | 2 | 3;              // globally turn off implicit separator
     4377        sout | sepOn | 1 | 2 | 3;               // globally turn on implicit separator
     4378
     4379        sout | 1 | nosep | 2 | 3;                       // locally turn on implicit separator
     4380        sout | sepOff | 1 | sep | 2 | 3; // globally turn off implicit separator
     4381        sout | sepOn;
     4382        sout | t1 | nosep | t2;                         // locally turn on/off implicit separator
     4383
     4384        sout | sep | 1 | 2 | 3 | sep ;  // sep does nothing at start/end of line
    43844385        sout | sep | 1 | 2 | 3 | sep ;          // use sep to print separator at start/end of line
    43854386}
     
    46924693        sout  | i | j | k | x | y | s;
    46934694}
    4694 
     4695\end{cfa}
     4696\begin{cfa}[showspaces=true]
    469546973 0x5          7 1.234568e+07 987.654n abc
    469646983 0x5          7 1.234568e+07 987.654n abc
Note: See TracChangeset for help on using the changeset viewer.