Skip to content

Commit 9ce9370

Browse files
committed
we might add source week x as reference for staff and students, as convenient. This will not change our processes or system.
1 parent 54d2b60 commit 9ce9370

File tree

3 files changed

+70
-2
lines changed

3 files changed

+70
-2
lines changed

doc/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
PDFLATEX = pdflatex
22

3-
SPECSNUMS = 1 2 3 4
3+
SPECSNUMS = 1 2 3 4 styleguide
44

55
SPECS = $(SPECSNUMS:%=source_%)
66

doc/source_header.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
\usepackage{listings}
1111

1212
\lstdefinelanguage{JavaScript}{
13-
keywords={break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with},
13+
keywords={const, break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with},
1414
morecomment=[l]{//},
1515
morecomment=[s]{/*}{*/},
1616
morestring=[b]',

doc/source_week_1.tex

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
\input source_header.tex
2+
3+
\begin{document}
4+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5+
\docheader{2018}{Source}{\S 1}
6+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7+
8+
\input source_intro.tex
9+
10+
\input source_bnf.tex
11+
12+
\begin{alignat*}{9}
13+
&& \textit{statement} &&\quad ::= &\quad && \textbf{\texttt{const}}\ \textit{name} \
14+
\textbf{\texttt{=}}\ \textit{expression} \ \textbf{\texttt{;}}
15+
&& \textrm{constant declaration} \\
16+
&& && | &\quad && \textbf{\texttt{function}}\ \textit{name} \
17+
\textbf{\texttt{(}}\ \textit{parameters} \ \textbf{\texttt{)}}\\
18+
&& && & && \textbf{\texttt{\{}}\ \textbf{\texttt{return}}\ \textit{expression} \ \textbf{\texttt{\}}} \quad
19+
&& \textrm{function declaration}\\
20+
&& && | &\quad && \textit{expression} \ \textbf{\texttt{;}}
21+
&& \textrm{expression statement} \\[1mm]
22+
&& \textit{parameters} && ::= &\quad && \epsilon\ | \ \textit{name} \
23+
(\ \textbf{\texttt{,}} \ \textit{name}\ )\ \ldots
24+
&& \textrm{function parameters} \\[1mm]
25+
&& \textit{expression} && ::= &\quad && \textit{number} && \textrm{primitive number expression}\\
26+
&& && | &\quad && \textbf{\texttt{true}}\ |\ \textbf{\texttt{false}}
27+
&& \textrm{primitive boolean expression}\\
28+
&& && | &\quad && \textit{name} && \textrm{name expression}\\
29+
&& && | &\quad && \textit{expression} \ \textit{binary-operator} \
30+
\textit{expression} \qquad
31+
&& \textrm{binary operator combination}\\
32+
&& && | &\quad && \textit{unary-operator} \
33+
\textit{expression}
34+
&& \textrm{unary operator combination}\\
35+
&& && | &\quad && \textit{expression} \
36+
\textbf{\texttt{(}}\ \textit{expressions}\
37+
\textbf{\texttt{)}}
38+
&& \textrm{(compound) function application}\\
39+
&& && | &\quad && \textit{expression} \ \textbf{\texttt{?}}\
40+
\textit{expression}
41+
\ \textbf{\texttt{:}}\
42+
\textit{expression}\
43+
&& \textrm{conditional expression}\\
44+
&& && | &\quad && \textbf{\texttt{(}}\ \textit{expression} \
45+
\textbf{\texttt{)}} && \textrm{parenthesised expression}\\[1mm]
46+
&& \textit{binary-operator} \
47+
&& ::= &\quad && \textbf{\texttt{+}}\ |\ \textbf{\texttt{-}}\ |\ \textbf{\texttt{*}}\ |\ \textbf{\texttt{/}}\ |\ \textbf{\texttt{\%}}\ |\
48+
\textbf{\texttt{===}}\ |\ \textbf{\texttt{!==}}\ \\
49+
&& && | &\quad && \texttt{\textbf{>}}\ |\ \texttt{\textbf{<}}\ |\ \texttt{\textbf{>=}}\ |\ \texttt{\textbf{<=}}\
50+
|\ \textbf{\texttt{\&\&}}\ |\ \texttt{\textbf{||}}\ \\[1mm]
51+
&& \textit{unary-operator}
52+
&& ::= &\quad && \textbf{\texttt{!}}\ |\ \textbf{\texttt{-}}\\[1mm]
53+
&& \textit{expressions} && ::= &\quad && \epsilon\ | \ \textit{expression}\ (
54+
\ \textbf{\texttt{,}} \
55+
\textit{expression} \
56+
)\ \ldots
57+
&& \textrm{argument expressions}
58+
\end{alignat*}
59+
60+
\input source_names
61+
62+
\input source_numbers
63+
64+
\input source_typing
65+
66+
\input source_comments
67+
68+
\end{document}

0 commit comments

Comments
 (0)