Changes in / [9d84a88:6e6989c]


Ignore:
Files:
14 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/Makefile

    r9d84a88 r6e6989c  
    88PicSRC = ${notdir ${wildcard ${Pictures}/*.png}}
    99DemoSRC = ${notdir ${wildcard ${Programs}/*-demo.cfa}}
    10 PgmSRC = ${notdir ${wildcard ${Programs}/*}}
    11 RunPgmSRC = ${notdir ${wildcard ${Programs}/*.run.*}}
     10PgmSRC = ${notdir ${wildcard ${Programs}/*.cfa}}
    1211BibSRC = ${wildcard *.bib}
    1312
     
    1514BibLIB = .:../../bibliography                   # common citation repository
    1615
    17 #MAKEFLAGS = --no-print-directory # --silent
     16MAKEFLAGS = --no-print-directory # --silent
    1817VPATH = ${Build} ${Pictures} ${Programs} # extra search path for file names used in document
    1918
     
    2120BASE = ${basename ${DOCUMENT}}                  # remove suffix
    2221
    23 DemoTex = ${DemoSRC:%.cfa=${Build}/%.tex}
    24 RunPgmExe = ${addprefix ${Build}/,${basename ${basename ${RunPgmSRC}}}}
    25 RunPgmOut = ${RunPgmExe:%=%.out}
    26 
    2722# Commands
    2823
    2924LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && pdflatex -halt-on-error -output-directory=${Build}
    3025BibTeX = BIBINPUTS=${BibLIB} && export BIBINPUTS && bibtex
    31 CFA = cfa -O0 -g
    32 CC  = gcc -O0 -g
    33 CXX = g++-11 --std=c++20 -O0 -g
     26CFA = cfa
    3427
    3528# Rules and Recipes
    3629
    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
    3931.ONESHELL :
    4032
    41 all : fragments_ran ${DOCUMENT}
    42 
    43 fragments_ran : $(RunPgmOut)
     33all : ${DOCUMENT}
    4434
    4535clean :
     
    4838# File Dependencies
    4939
    50 %.pdf : ${TeXSRC} ${DemoTex} ${PicSRC} ${PgmSRC} ${BibSRC} Makefile | ${Build}
     40%.pdf : ${TeXSRC} ${DemoSRC:%.cfa=%.tex} ${PicSRC} ${PgmSRC} ${BibSRC} Makefile | ${Build}
    5141        ${LaTeX} ${BASE}
    5242        ${BibTeX} ${Build}/${BASE}
     
    6252
    6353%-demo.tex: %-demo | ${Build}
    64         $< > $@
     54        ${Build}/$< > ${Build}/$@
    6555
    66 ${Build}/%-demo: ${Programs}/%-demo.cfa | ${Build}
    67         ${CFA} $< -o $@
     56%-demo: %-demo.cfa
     57        ${CFA} $< -o ${Build}/$@
    6858
    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  
    6565  bibsource = {dblp computer science bibliography, https://dblp.org}
    6666}
    67 
    68 % --------------------------------------------------
    69 % Linked-list prior work
    70 
    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.html
    84   %          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  
    9191\usepackage{algorithm}
    9292\usepackage{algpseudocode}
    93 
    94 \usepackage{pbox}
    9593
    9694% Hyperlinks make it very easy to navigate an electronic document.
     
    132130% installation instructions there.
    133131
    134 % Customizing tabularx
    135 \newcolumntype{Y}{>{\centering\arraybackslash}X}
    136 
    137132% Setting up the page margins...
    138133\setlength{\textheight}{9in}
     
    184179\newcommand{\PAB}[1]{{\color{red}PAB: #1}}
    185180
    186 
    187 \newcommand{\uCpp}{$\mu${C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}}}
    188 
    189181%======================================================================
    190182%   L O G I C A L    D O C U M E N T
     
    209201%----------------------------------------------------------------------
    210202\begin{sloppypar}
     203
    211204\input{intro}
    212205\input{background}
    213 \input{list}
    214206\input{array}
    215207\input{string}
  • libcfa/src/Makefile.am

    r9d84a88 r6e6989c  
    4848        math.hfa \
    4949        time_t.hfa \
    50         virtual_dtor.hfa \
     50    virtual_dtor.hfa \
    5151        bits/algorithm.hfa \
    5252        bits/align.hfa \
     
    6969        vec/vec2.hfa \
    7070        vec/vec3.hfa \
    71         vec/vec4.hfa
     71        vec/vec4.hfa 
    7272
    7373inst_headers_src = \
  • libcfa/src/containers/list.hfa

    r9d84a88 r6e6989c  
    3232static inline tytagref(void, T) ?`inner ( T & this ) { tytagref( void, T ) ret = {this}; return ret; }
    3333
    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 ) \
     36forall( Tbase &, TdiscardPath & | { tytagref( TdiscardPath, Tbase ) ?`inner( immedBase & ); } ) \
     37    static inline tytagref(immedBase, Tbase) ?`inner( derived & this ) { \
    6238        immedBase & ib = this; \
    6339        Tbase & b = ib`inner; \
  • src/Parser/ExpressionNode.cc

    r9d84a88 r6e6989c  
    164164        } else {
    165165                // 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 mimic
    167                 // the declare and check pattern allowed in later compiler versions.
    168                 // (Only some early compilers/C++ standards do not support it.)
    169166                string::size_type posn;
    170167                // pointer value
    171                 if ( posn = str.find_last_of( "pP" ), posn != string::npos ) {
     168                if ( posn = str.find_last_of( "pP" ); posn != string::npos ) {
    172169                        ltype = 5; str.erase( posn, 1 );
    173170                // 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 ) {
    175172                        Unsigned = true; type = 2; ltype = 4; str.erase( posn, 1 );
    176173                // signed char
    177                 } else if ( posn = str.rfind( "hh" ), posn != string::npos ) {
     174                } else if ( posn = str.rfind( "hh" ); posn != string::npos ) {
    178175                        type = 1; str.erase( posn, 2 );
    179176                // signed char
    180                 } else if ( posn = str.rfind( "HH" ), posn != string::npos ) {
     177                } else if ( posn = str.rfind( "HH" ); posn != string::npos ) {
    181178                        type = 1; str.erase( posn, 2 );
    182179                // 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 ) {
    184181                        type = 0; str.erase( posn, 1 );
    185182                // 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 ) {
    187184                        type = 2; str.erase( posn, 1 );
    188185                } else if ( str.rfind( "ll" ) != string::npos || str.rfind( "LL" ) != string::npos ) {
Note: See TracChangeset for help on using the changeset viewer.