summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/schule/doc/syntaxPython.tex
blob: 0852ce9db90c68c3c40e5b4fb1a9286c1e3a16f2 (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\input{etc.tex}
\begin{document}
 \section*{Darstellung der Syntax von \texttt{if-then-else} in Python}
 \begin{lstlisting}[gobble=2,basicstyle=\footnotesize,multicols=2,caption={}]
	\node [] {};
	\node [terminal] {if};
	\node [nonterminal] {Bedingung};
	\node [terminal] {:};
	\node [nonterminal] 
		{Anweisungsblock};
	\node (ersteReiheEnde) [point] {};
	\node (ersteReiheEndeUnten) 
		[point, below=of 
		ersteReiheEnde] {};
	\node (zweiteReiheStartOben) 
		[point, left=of 
		ersteReiheEndeUnten, 
		xshift=-75mm] {};
	\node (zweiteReiheStart) 
		[point, below=of 
		zweiteReiheStartOben] {};
	{
		[start chain=elif going right]
			\chainin (zweiteReiheStart);
			\node [terminal] {elif};
			\node [nonterminal]
				{Bedingung};
			\node [terminal] {:};
			\node [nonterminal] 
				{Anweisungsblock};
			\node (elifEnde) [point] {};
			\node (elifEndeOben) [point, 
				above=of elifEnde] {};
			\draw[->,left] (elifEndeOben)
				-- (ersteReiheEndeUnten);
	}
	\node (dritteReiheStart) [point, 
		below=of zweiteReiheStart, 
		yshift=-5mm] {};
	\node (vierteReiheStart) [point, 
		below=of dritteReiheStart, 
		yshift=-5mm] {};
	\node (vierteReiheEnde) [point, 
		xshift=84mm] {};
	{
		[start chain=else going right]
			\chainin (dritteReiheStart);
			\node [terminal] {else};
			\node [terminal] {:};
			\node (elseEnde) [nonterminal] 
				{Anweisungsblock};
			\draw[->] (elseEnde) 
				-| (vierteReiheEnde);
	}
	\node (ende) [endpoint] {};
 \end{lstlisting}
 \vspace{0.6cm}
 \hrule width \textwidth
 \vspace{1cm}
 \begin{tikzpicture}[syntaxdiagramm]
	\node [] {};
	\node [terminal] {if};
	\node [nonterminal] {Bedingung};
	\node [terminal] {:};
	\node [nonterminal] {Anweisungsblock};
	\node (ersteReiheEnde) [point] {};
	\node (ersteReiheEndeUnten) [point, below=of ersteReiheEnde] {};
	\node (zweiteReiheStartOben) [point, left=of ersteReiheEndeUnten, xshift=-75mm] {};
	\node (zweiteReiheStart) [point, below=of zweiteReiheStartOben] {};
	{
		[start chain=elif going right]
			\chainin (zweiteReiheStart);
			\node [terminal] {elif};
			\node [nonterminal] {Bedingung};
			\node [terminal] {:};
			\node [nonterminal] {Anweisungsblock};
			\node (elifEnde) [point] {};
			\node (elifEndeOben) [point, above=of elifEnde] {};
			\draw[->,left] (elifEndeOben) -- (ersteReiheEndeUnten);
	}
	\node (dritteReiheStart) [point, below=of zweiteReiheStart, yshift=-5mm] {};
	\node (vierteReiheStart) [point, below=of dritteReiheStart, yshift=-5mm] {};
	\node (vierteReiheEnde) [point, xshift=84mm] {};
	{
		[start chain=else going right]
			\chainin (dritteReiheStart);
			\node [terminal] {else};
			\node [terminal] {:};
			\node (elseEnde) [nonterminal] {Anweisungsblock};
			\draw[->] (elseEnde) -| (vierteReiheEnde);
	}
	\node (ende) [endpoint] {};
 \end{tikzpicture}
\end{document}