forked from OliverKillane/Imperial-Computing-Notes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path60007 - Theory and Practice of Concurrent Programming.tex
70 lines (52 loc) · 2.24 KB
/
60007 - Theory and Practice of Concurrent Programming.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
\documentclass{report}
\title{60007 - Theory and Practice of Concurrent Programming}
\author{Oliver Killane}
\date{07/10/22}
\usepackage[a4paper, total={7in, 10in}]{geometry}
\input{../common/common.tex}
% Commands used for the while language and semantics
% While Language
\newcommand{\wmem}[1]{\textcolor{blue}{#1}}
\newcommand{\wreg}[1]{\textcolor{red}{#1}}
\newcommand{\wass}[2]{#1 \textcolor{purple}{\text{ := }} #2}
\newcommand{\wseq}[2]{#1 \textcolor{purple}{\text{ ; }} #2}
\newcommand{\wif}[3]{\textcolor{purple}{\text{if }}#1\textcolor{purple}{\text{ then }}#2\textcolor{purple}{\text{ else }}#3}
\newcommand{\wwhile}[2]{\textcolor{purple}{\text{while }}#1\textcolor{purple}{\text{ do }}#2}
\newcommand{\wcas}[3]{\textcolor{orange}{\text{CAS}}(#1, #2, #3)}
\newcommand{\wffa}[2]{\textcolor{orange}{\text{\textit{FFA}}}(#1, #2)}
\newcommand{\wskip}{\textcolor{purple}{\text{skip}}}
% Evaluation and transitions
\newcommand{\ctrans}[1]{\overset{#1}{\to_c}}
\newcommand{\ceval}[2]{\text{eval}(#1, #2)}
\newcommand{\ptrans}[2]{\overset{#1:#2}{\to_p}}
\newcommand{\mtrans}[2]{\overset{#1:#2}{\to_m}}
\newcommand{\wmfence}{\textcolor{purple}{\text{mfence}}}
\newcommand{\wsfence}{\textcolor{purple}{\text{sfence}}}
% Declarative Semantics
\newcommand{\dpo}{\textcolor{blue}{\text{po}}}
\newcommand{\drf}{\textcolor{blue}{\text{rf}}}
\newcommand{\dtyp}[1]{\textcolor{blue}{\text{typ}}(#1)}
\newcommand{\dval}[2]{\textcolor{blue}{\text{val}}_{#1}(#2)}
\newcommand{\dloc}[1]{\textcolor{blue}{\text{loc}}(#1)}
\newcommand{\dtid}[1]{\textcolor{orange}{\text{tid}}(#1)}
\newcommand{\dmo}{\textcolor{orange}{\text{mo}}}
\newcommand{\drb}{\textcolor{blue}{\text{rb}}}
\newcommand{\dsc}{\textcolor{purple}{\text{sc}}}
\newcommand{\dtso}{\textcolor{purple}{\text{tso}}}
\newcommand{\dppo}{\textcolor{pink}{\text{ppo}}}
\newcommand{\dhb}{\textcolor{blue}{\text{hb}}}
\begin{document}
\include{titlepage/titlepage}
\tableofcontents
\newpage
\addchapter{introduction}
\addchapter{mutexes}
\addchapter{concurrency_in_cpp}
\addchapter{concurrency_in_haskell}
\addchapter{concurrency_in_rust}
\addchapter{dynamic_data_race_detection}
\addchapter{operational_semantics}
\addchapter{declarative_semantics}
\addchapter{concurrent_objects}
\addchapter{credit}
\end{document}