# Changeset ec71a50 for doc

Ignore:
Timestamp:
Sep 21, 2018, 11:26:31 PM (3 years ago)
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer
Children:
3b1825b, fcc57ba
Parents:
031a88a9 (diff), 371ef1d (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:

fix conflicit

Location:
doc/theses/aaron_moss_PhD/phd
Files:
1 deleted
5 edited

Unmodified
Removed
• ## doc/theses/aaron_moss_PhD/phd/Makefile

 r031a88a9 LATEX = pdflatex -interaction=nonstopmode BIBTEX = bibtex BUILD = build BIBDIR = ../../../bibliography TEXLIB = .:${BUILD}:${BIBDIR}: LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && pdflatex -interaction= -output-directory=${BUILD} BIBTEX = BIBINPUTS=${TEXLIB} && export BIBINPUTS && bibtex BASE = thesis DOCUMENT =${BASE}.pdf AUX = ${BASE}.aux${BASE}.bbl ${BASE}.blg${BASE}.log ${BASE}.out${BASE}.toc BIBFILE = ${BIBDIR}/pl.bib SOURCES =${addsuffix .tex, \ clean : @rm -frv ${DOCUMENT}${AUX} @rm -fv ${BUILD}/* wc : wc${SOURCES} ${DOCUMENT} :${SOURCES} ${DOCUMENT} :${SOURCES} ${BUILD}${LATEX} ${BASE}${LATEX} ${BASE} rebuild-refs :${SOURCES} aaron-thesis.bib rebuild-refs : ${SOURCES}${BIBFILE} ${BUILD}${LATEX} ${BASE}${BIBTEX} ${BASE}${BIBTEX} ${BUILD}/${BASE} ${LATEX}${BASE} ${LATEX}${BASE} ${BUILD}: mkdir -p${BUILD}
• ## doc/theses/aaron_moss_PhD/phd/background.tex

 r031a88a9 \chapter{Background} \chapter{\CFA{}} \CFA{} adds a number of features to C, some of them providing significant increases to the expressive power of the language, but all designed to maintain the existing procedural programming paradigm of C and to be as orthogonal as possible to each other. It is important to note that \CFA{} is not an object-oriented language. This is a deliberate choice intended to maintain the applicability of the mental model and language idioms already possessed by C programmers. This choice is in marked contrast to \CC{}, which, though it has backward-compatibility with C on the source code level, is a much larger and more complex language, and requires extensive developer re-training before they can write idiomatic, efficient code in \CC{}'s object-oriented paradigm. This choice is in marked contrast to \CC{}, which, though it has backward-compatibility with C on the source code level, is a much larger and more complex language, and requires extensive developer re-training to write idiomatic, efficient code in \CC{}'s object-oriented paradigm. \CFA{} does have a system of implicit type conversions derived from C's usual arithmetic conversions''; while these conversions may be thought of as something like an inheritance hierarchy, the underlying semantics are significantly different and such an analogy is loose at best. struct counter { int x; }; counter& ++?(counter& c) { ++c.x; return c; }  $\C{// pre-increment}$ counter ?++(counter& c) {  $\C{// post-increment}$ counter& ++?(counter& c) { ++c.x; return c; }  $\C[2in]{// pre-increment}$ counter ?++(counter& c) {  $\C[2in]{// post-increment}$ counter tmp = c; ++c; return tmp; } bool `?