Franck Pommereau

initial import

1 +*.aux
2 +*.fdb_latexmk
3 +*.fls
4 +*.log
5 +*.nav
6 +*.out
7 +*.snm
8 +*.synctex.gz
9 +*~
10 +*.toc
11 +*.vrb
12 +/sloc
No preview for this file type

65.4 KB

1 +\documentclass{beamer}
2 +
3 +\usepackage[english]{babel}
4 +\usepackage[utf8]{inputenc}
5 +\usepackage[orientation=portrait,size=a4,scale=2]{beamerposter}
6 +\usepackage[absolute,overlay]{textpos}
7 +\usepackage{url}
8 +
9 +\usepackage{tikz}
10 +\usetikzlibrary{shapes.callouts}
11 +
12 +\parindent=0pt
13 +\setbeamertemplate{navigation symbols}{}
14 +
15 +\setlength{\TPHorizModule}{1cm}
16 +\setlength{\TPVertModule}{1cm}
17 +
18 +\def\${\texttt{{\color{gray}\string$}}}
19 +
20 +\def\shell #1{{\setbox0\hbox{\texttt{#1\strut}}%
21 + \dimen0=\dp0 \advance\dimen0 by 5pt
22 + \leavevmode\raise -\dimen0 \hbox{$\smash{\tikz\node[shell]{\texttt{#1\strut}};}$}}}
23 +
24 +\tikzstyle{shell}=[rounded corners,
25 + inner sep=5pt,
26 + align=flush left,
27 + draw=black!10,
28 + fill=black!5]
29 +
30 +\tikzstyle{guide}=[line width=3pt,
31 + rounded corners,
32 + cap=round,
33 + color=yellow!60!gray!50!white]
34 +
35 +\def\minor #1{{\small\color{gray}#1}}
36 +\def\remark #1{\minor{(#1)}}
37 +
38 +\def\abcdC #1{{\color{blue!50!black!60!white}\texttt{\# #1}}}
39 +\def\abcdK #1{{\texttt{\color{red!50!black}#1}}}
40 +\def\abcdR #1{{\texttt{\color{purple!50!black}#1}}}
41 +\def\abcdN #1{{\texttt{\color{green!50!black}#1}}}
42 +\def\abcdA #1{\texttt{{\color{red!50!black}[}#1{\color{red!50!black}]}}}
43 +\def\abcd #1{\texttt{#1}}
44 +\def\NT #1{\texttt{\textit{\color{blue!50!black!60!white}#1}}}
45 +\def\>{\texttt{~~~~}}
46 +
47 +\def\*{$\color{gray}\triangleright$ \ignorespaces}
48 +\def\+{$\phantom{\triangleright}$ \ignorespaces}
49 +\def\({\leavevmode{\setbox0\hbox{(}\hbox to \wd0{\hfil}}\ignorespaces}
50 +
51 +\begin{document}
52 +
53 +\begin{frame}[t]{}
54 +
55 + %%
56 + %% drawing grid
57 + %%
58 +
59 + %% \begin{textblock}{21}(0,0)
60 + %% \begin{tikzpicture}[yellow!70,yscale=-1]
61 + %% \draw[densely dotted] (0,0) grid (21,30);
62 + %% \foreach \x in {1,...,20} {
63 + %% \node at (\x,.5) {\x};
64 + %% }
65 + %% \foreach \y in {1,...,29} {
66 + %% \node at (.5,\y) {\y};
67 + %% }
68 + %% \end{tikzpicture}
69 + %% \end{textblock}
70 +
71 + %%
72 + %% title & logos
73 + %%
74 +
75 + \begin{textblock}{19}(1,.7)
76 + \begin{center}
77 + \Huge\textbf{ABCD cheatsheet}
78 + \end{center}
79 + \end{textblock}
80 +
81 + \begin{textblock}{1.5}(1,27.5)
82 + \begin{tikzpicture}
83 + \node[inner sep=0pt] (snk) {\includegraphics[width=15mm]{logo-snakes}};
84 + \node[anchor=west,text width=6cm] at (snk.east)
85 + {\tiny\color{gray}%
86 + \copyright~2018 Franck Pommereau\\[4pt]
87 + \href{mailto:franck.pommerau@univ-evry.fr}%
88 + {franck.pommerau@univ-evry.fr}\\[-4pt]
89 + \href{https://snakes.ibisc.univ-evry.fr}%
90 + {snakes.ibisc.univ-evry.fr}};
91 + \end{tikzpicture}
92 + \end{textblock}
93 +
94 + %%
95 + %% command line interface
96 + %%
97 +
98 + \begin{textblock}{12}(1,2.7)
99 + \advance\baselineskip by 14pt
100 + \advance\parskip by 7pt
101 +
102 + \noindent
103 + \tikz\node[shell,text width=\textwidth-10pt] {\texttt{\$ abcd
104 + {\color{red!50!black}[option]\dots}
105 + {\color{green!50!black}spec.abcd}\strut}};
106 +
107 + \shell{--pnml=FILE} save net as PNML \remark{SNAKES' variant}
108 +
109 + \shell{--dot=FILE}
110 + \shell{--neato=FILE}
111 + \shell{--towpi=FILE}
112 + \shell{--circo=FILE}
113 + \shell{--fdp=FILE} draw net using a GraphViz engine
114 +
115 + \shell{--load=PLUGIN} load a plugin before to build net
116 + \remark{may be repeated}
117 +
118 + \shell{--simul} start interactive simulator
119 + \end{textblock}
120 +
121 + %%
122 + %% source structure
123 + %%
124 +
125 + \begin{textblock}{5}(15,2.7)
126 + \begin{tikzpicture}[xscale=.8,yscale=-1]
127 + \node[anchor=base west] at (.2,.8) {\abcdC{a comment}};
128 + \node[anchor=base west] at (.2,1.3) {\abcdC{another comment}};
129 + \path[fill=red,opacity=.1] (0,1.5) rectangle (6,4);
130 + \node at (3,2.7) {\color{red!50!black}declarations};
131 + \path[fill=green,opacity=.1] (0,4) rectangle (6,6);
132 + \node at (3,5) {\color{green!50!black}process};
133 + \draw[color=gray!70,line width=2pt,rounded corners] (0,0) -- (5,0) -- (6,1) -- (6,6) -- (0,6) -- cycle;
134 + \draw[color=gray!70,line width=2pt,rounded corners,cap=round,shorten <=2pt,shorten >=2pt] (5,0) |- (6,1);
135 + \end{tikzpicture}
136 + \end{textblock}
137 +
138 + %%
139 + %% declarations
140 + %%
141 +
142 + \begin{textblock}{6}(1,11)
143 + \textbf{buffer declarations:}
144 +
145 + \abcdK{buffer} \NT{name}\abcdK{:} \NT{type} \abcdK{= ()}\\
146 + \* empty buffer
147 +
148 + \abcdK{buffer} \NT{name}\abcdK{:} \NT{type} \abcdK{=} \NT{val}\abcdK{,} \NT{\dots}\\
149 + \* buffer with initial content
150 +
151 + \vspace*{5pt}
152 + \textbf{type expressions:}
153 +
154 + any Python type or class\\
155 + \* eg, \abcdR{int}, \abcdR{str}, \abcdR{object}, \dots,\\
156 + \+ or user-defined classes
157 +
158 + \abcdK{enum(}\NT{val}\abcdK{,} \NT{val}\abcdK{,} \NT{\dots}\abcdK{)}\\
159 + \* enumerated type
160 +
161 + \NT{type} \abcdK{*} \NT{type}\\
162 + \* cross-product of types
163 +
164 + \NT{type} \abcdK{|} \NT{type}\\
165 + \* union of types
166 +
167 + \NT{type} \abcdK{\&} \NT{type}\\
168 + \* intersection of types
169 +
170 + \vspace*{5pt}
171 + \textbf{types definition:}$^\star$
172 +
173 + \abcdK{typedef} \NT{name}\abcdK{:} \NT{type}\\
174 +
175 + \vspace*{5pt}
176 + \textbf{constants:}$^\star$
177 +
178 + \abcdK{const} \NT{name} \abcdK{=} \NT{expr}
179 +
180 + \vspace*{5pt}
181 + \textbf{symbols:}$^\star$
182 +
183 + \abcdK{symbol} \NT{name}\abcdK{,} \NT{\dots}\\
184 + \* define fresh unique values
185 +
186 + \vspace*{5pt}
187 + \textbf{Python imports:}$^\star$
188 +
189 + \* just use regular Python imports
190 +
191 + \vspace*{5pt}
192 + \tikz[remember picture]\node[inner sep=0pt](call) {\textbf{sub-processes}};
193 +
194 + \vspace*{5pt}
195 + \minor{$\star$ global declarations only}
196 + \end{textblock}
197 +
198 + %%
199 + %% atomic actions
200 + %%
201 +
202 + \begin{textblock}{6}(14,9.9)
203 + \textbf{atomic actions:}
204 +
205 + \abcdA{\abcdR{True}}\\
206 + \* no-op non-blocking action
207 +
208 + \abcdA{\abcdR{False}}\\
209 + \* always-blocking action
210 +
211 + \abcdA{\NT{accesses}}\\
212 + \* unguarded action
213 +
214 + \abcdA{\NT{accesses} \abcdK{if} \NT{expr}}\\
215 + \* guarded action
216 +
217 + \vspace*{5pt}
218 + \textbf{accesses:}
219 +
220 + \abcdN{buff}\abcdK{-(}\NT{val}\abcdK{)}\\
221 + \* consume \NT{val} from \abcdN{buff}
222 +
223 + \abcdN{buff}\abcdK{-(}\NT{var}\abcdK{)}\\
224 + \* consume a value from \abcdN{buff}\\
225 + \+ and binds it to \NT{var}
226 +
227 + \abcdN{buff}\abcdK{+(}\NT{expr}\abcdK{)}\\
228 + \* produce a value into \abcdN{buff}
229 +
230 + \abcdN{buff}\abcdK{?(}\NT{val}\abcdK{)}\\
231 + \* test for \NT{val} in \abcdN{buff}
232 +
233 + \abcdN{buff}\abcdK{?(}\NT{var}\abcdK{)}\\
234 + \* test for a value in \abcdN{buff}\\
235 + \+ and binds it to \NT{var}
236 +
237 + \abcdN{buff}\abcdK{>>(}\NT{var}\abcdK{)}\\
238 + \* flush \abcdN{buff} into \NT{var}
239 +
240 + \abcdN{buff}\abcdK{<<(}\NT{var}\abcdK{)}\\
241 + \* add the values contained in\\
242 + \+ \NT{var} to \abcdN{buff}
243 +
244 + \abcdN{buff}\abcdK{<>(}\NT{val}\abcdK{=}\NT{expr}\abcdK{)}\\
245 + \* replace \NT{val} in \abcdN{buff}\\
246 + \+ with \NT{expr}
247 +
248 + \abcdN{buff}\abcdK{<>(}\NT{var}\abcdK{=}\NT{expr}\abcdK{)}\\
249 + \* replace \NT{var} in \abcdN{buff}\\
250 + \+ with \NT{expr}
251 +
252 + \vspace*{5pt}
253 + \remark{a comma-separated list of accesses\\[-2pt]
254 + \( is performed atomically}
255 + \end{textblock}
256 +
257 + %%
258 + %% control flow
259 + %%
260 +
261 + \begin{textblock}{5}(8,11.7)
262 + \textbf{control flow:}
263 +
264 + \NT{process} \abcdK{;} \NT{process}\\
265 + \* sequential composition
266 +
267 + \NT{process} \abcdK{*} \NT{process}\\
268 + \* non-deterministic choice\\
269 + \+ \remark{use opposite guards to\\[-2pt]
270 + \+\( make it deterministic}
271 +
272 + \NT{process} \abcdK{*} \NT{process}\\
273 + \* iterate left-hand-side and\\
274 + \+ exit with right-hand-side
275 +
276 + \NT{process} \abcdK{|} \NT{process}\\
277 + \* parallel composition
278 +
279 + \vspace*{5pt}
280 + \remark{no priorities $\Rightarrow$ use parentheses}
281 +
282 + \vspace*{5pt}
283 + \textbf{sub-process instances:}
284 +
285 + \NT{name}\abcdK{(}\NT{args}\abcdK{)}\\
286 + \* substitute \NT{args} in net \NT{name}\\
287 + \+ scope its local buffers\\
288 + \+ insert the net
289 +
290 + \tikz\draw[guide,dashed,dash pattern=on 12pt off 6pt](0,0) -- (5,0);
291 +
292 + \vspace*{5pt}
293 + \leavevmode\hbox to 0pt{\tikz[remember picture]\node[inner sep=3pt](suite){};\hss}%
294 + \textbf{sub-process declarations:}
295 +
296 + \abcdK{net} \NT{name} \abcdK{(}\NT{params}\abcdK{):}\\[-4pt]
297 + \begin{tikzpicture}[yscale=-1]
298 + \node[fill=red,opacity=.1,text opacity=1,minimum width=4cm,minimum height=1cm]
299 + at (2.6,0) {\color{red!50!black}declarations};
300 + \node[fill=green,opacity=.1,text opacity=1,minimum width=4cm,minimum height=1cm]
301 + at (2.6,1) {\color{green!50!black}process};
302 + \node[rotate=90,text width=2cm,text centered,opacity=.3] at (0,.5) {\small indented\\[-5pt] block};
303 + \end{tikzpicture}
304 +
305 + \vspace*{5pt}
306 + \textbf{sub-process parameters:}
307 +
308 + \NT{name}\\
309 + \* a value is expected
310 +
311 + \NT{name}\abcdK{: buffer}\\
312 + \* a buffer name is expected
313 +
314 + \end{textblock}
315 +
316 + %%
317 + %% guide lines
318 + %%
319 +
320 + \begin{textblock}{21}(0,-.3)
321 + \begin{tikzpicture}[overlay,remember picture,yscale=-1]
322 + \draw[guide,->] (3.6,3.8) -- +(0,.7);
323 + \draw[guide,->] (6.7,3.8) |- +(8.35,.6);
324 + \draw[guide,->] (16.2,5.8) -| (14,9) -- (10,10.5) -| (3,11.2);
325 + \draw[guide,->] (17.5,8.3) |- (15.5,9.5) -- (15.5,10.2);
326 + \draw[guide,->] (16,9.5) -- (14,9.5) -- (9.5,11.2) -- (9.5,11.9);
327 + \draw[guide,->,shorten >=3pt,shorten <=3pt] (call) -| (7.5,25) |- (suite);
328 + \end{tikzpicture}
329 + \end{textblock}
330 +
331 +\end{frame}
332 +\end{document}
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
3 +
4 +<svg
5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
6 + xmlns:cc="http://creativecommons.org/ns#"
7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 + xmlns:svg="http://www.w3.org/2000/svg"
9 + xmlns="http://www.w3.org/2000/svg"
10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 + width="152.50768"
13 + height="46.106602"
14 + id="svg3552"
15 + version="1.1"
16 + inkscape:version="0.48.3.1 r9886"
17 + sodipodi:docname="neco-plain.svg">
18 + <defs
19 + id="defs3554" />
20 + <sodipodi:namedview
21 + id="base"
22 + pagecolor="#ffffff"
23 + bordercolor="#666666"
24 + borderopacity="1.0"
25 + inkscape:pageopacity="0.0"
26 + inkscape:pageshadow="2"
27 + inkscape:zoom="1.4"
28 + inkscape:cx="375"
29 + inkscape:cy="177.14288"
30 + inkscape:document-units="px"
31 + inkscape:current-layer="layer1"
32 + showgrid="false"
33 + inkscape:window-width="1440"
34 + inkscape:window-height="850"
35 + inkscape:window-x="0"
36 + inkscape:window-y="0"
37 + inkscape:window-maximized="1"
38 + borderlayer="true"
39 + fit-margin-top="0"
40 + fit-margin-left="0"
41 + fit-margin-right="0"
42 + fit-margin-bottom="0" />
43 + <metadata
44 + id="metadata3557">
45 + <rdf:RDF>
46 + <cc:Work
47 + rdf:about="">
48 + <dc:format>image/svg+xml</dc:format>
49 + <dc:type
50 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
51 + <dc:title />
52 + </cc:Work>
53 + </rdf:RDF>
54 + </metadata>
55 + <g
56 + inkscape:label="Layer 1"
57 + inkscape:groupmode="layer"
58 + id="layer1"
59 + transform="translate(0,-1006.2556)">
60 + <path
61 + style="fill:#000000"
62 + d="M 0 0 L 0 22.09375 C 1.83581 17.42535 5.24048 13.538 9.59375 11.125 L 0 0 z M 39.59375 0 L 30 11.125 C 34.35327 13.538 37.75794 17.42535 39.59375 22.09375 L 39.59375 0 z M 61.375 11.09375 L 61.375 11.125 C 50.63541 11.4001 42 19.10445 42 28.59375 C 42 28.89025 41.9831 29.17575 42 29.46875 C 42.51531 38.54975 50.97083 45.82745 61.375 46.09375 C 61.57174 46.10375 61.77092 46.09375 61.96875 46.09375 C 62.31315 46.09375 62.66009 46.10875 63 46.09375 L 77 46.09375 L 77 36.46875 L 75 36.46875 L 70.71875 36.46875 L 68.71875 36.46875 L 65.125 36.46875 L 64.40625 36.46875 C 64.25329 36.47875 64.0611 36.46875 63.90625 36.46875 L 63.65625 36.46875 L 63.15625 36.46875 L 62.4375 36.46875 C 62.28454 36.47875 62.09235 36.46875 61.9375 36.46875 L 61.6875 36.46875 C 58.512238 36.387444 55.744751 34.846258 54.21875 32.59375 L 77 32.59375 L 77 24.59375 L 54.21875 24.59375 C 55.744773 22.341214 58.512304 20.800056 61.6875 20.71875 L 61.9375 20.71875 L 63.15625 20.71875 L 63.65625 20.71875 L 63.90625 20.71875 L 65.125 20.71875 L 70.71875 20.71875 L 75 20.71875 L 77 20.71875 L 77 11.09375 L 61.96875 11.09375 L 61.375 11.09375 z M 99.375 11.09375 L 99.375 11.125 C 88.63541 11.4001 80 19.10445 80 28.59375 C 80 28.89025 79.9831 29.17575 80 29.46875 C 80.51531 38.54975 88.97083 45.82745 99.375 46.09375 C 99.57173 46.10375 99.77092 46.09375 99.96875 46.09375 C 100.31315 46.09375 100.66009 46.10875 101 46.09375 L 115 46.09375 L 115 36.46875 L 113 36.46875 L 108.71875 36.46875 L 106.71875 36.46875 L 103.125 36.46875 L 102.40625 36.46875 C 102.25329 36.47875 102.06111 36.46875 101.90625 36.46875 L 101.65625 36.46875 L 101.15625 36.46875 L 100.4375 36.46875 C 100.28454 36.47875 100.09234 36.46875 99.9375 36.46875 L 99.6875 36.46875 C 94.85659 36.34505 90.9375 32.86215 90.9375 28.59375 C 90.9375 24.32525 94.85669 20.84245 99.6875 20.71875 L 99.9375 20.71875 L 101.15625 20.71875 L 101.65625 20.71875 L 101.90625 20.71875 L 103.125 20.71875 L 108.71875 20.71875 L 113 20.71875 L 115 20.71875 L 115 11.09375 L 99.96875 11.09375 L 99.375 11.09375 z M 135 11.09375 C 125.33502 11.09375 117.5 18.92875 117.5 28.59375 C 117.5 38.25875 125.33502 46.09375 135 46.09375 C 144.66498 46.09375 152.5 38.25875 152.5 28.59375 C 152.5 18.92875 144.66498 11.09375 135 11.09375 z M 19 11.125 C 8.6196799 11.6403 0.30442 20.06455 0 30.46875 C -0.006 30.66545 0 30.8647 0 31.0625 C 0 31.4069 -0.0173 31.75385 0 32.09375 L 0 46.09375 L 11 46.09375 L 11 44.125 L 11 39.8125 L 11 37.8125 L 11 34.25 L 11 33.53125 C 10.992 33.37825 11 33.18615 11 33.03125 C 11 32.94225 10.997 32.87005 11 32.78125 L 11 32.25 L 11 31.53125 C 10.992 31.37835 11 31.18605 11 31.03125 C 11 30.94225 10.997 30.86995 11 30.78125 C 11.14135 25.95035 15.12074 22.0625 20 22.0625 C 24.87919 22.0625 28.85855 25.95045 29 30.78125 L 29 31.03125 L 29 32.25 L 29 32.78125 L 29 33.03125 L 29 34.25 L 29 39.8125 L 29 44.125 L 29 46.09375 L 40 46.09375 L 40 31.0625 L 40 30.46875 L 39.96875 30.46875 C 39.6543 19.72915 30.84691 11.125 20 11.125 C 19.66103 11.125 19.33485 11.108 19 11.125 z M 135.25 19.5 C 140.22056 19.5 144.25 23.5295 144.25 28.5 C 144.25 33.4706 140.22056 37.5 135.25 37.5 C 130.27944 37.5 126.25 33.4706 126.25 28.5 C 126.25 23.5295 130.27944 19.5 135.25 19.5 z "
63 + transform="translate(0,1006.2556)"
64 + id="path3307-2" />
65 + </g>
66 +</svg>
1 +%!PS-Adobe-3.0 EPSF-3.0
2 +%%Creator: cairo 1.10.2 (http://cairographics.org)
3 +%%CreationDate: Wed Nov 6 19:19:23 2013
4 +%%Pages: 1
5 +%%BoundingBox: 0 -1 123 38
6 +%%DocumentData: Clean7Bit
7 +%%LanguageLevel: 2
8 +%%EndComments
9 +%%BeginProlog
10 +/cairo_eps_state save def
11 +/dict_count countdictstack def
12 +/op_count count 1 sub def
13 +userdict begin
14 +/q { gsave } bind def
15 +/Q { grestore } bind def
16 +/cm { 6 array astore concat } bind def
17 +/w { setlinewidth } bind def
18 +/J { setlinecap } bind def
19 +/j { setlinejoin } bind def
20 +/M { setmiterlimit } bind def
21 +/d { setdash } bind def
22 +/m { moveto } bind def
23 +/l { lineto } bind def
24 +/c { curveto } bind def
25 +/h { closepath } bind def
26 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
27 + 0 exch rlineto 0 rlineto closepath } bind def
28 +/S { stroke } bind def
29 +/f { fill } bind def
30 +/f* { eofill } bind def
31 +/n { newpath } bind def
32 +/W { clip } bind def
33 +/W* { eoclip } bind def
34 +/BT { } bind def
35 +/ET { } bind def
36 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
37 + { globaldict begin /?pdfmark /pop load def /pdfmark
38 + /cleartomark load def end } ifelse
39 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
40 +/EMC { mark /EMC pdfmark } bind def
41 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
42 +/Tj { show currentpoint cairo_store_point } bind def
43 +/TJ {
44 + {
45 + dup
46 + type /stringtype eq
47 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
48 + } forall
49 + currentpoint cairo_store_point
50 +} bind def
51 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
52 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
53 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
54 + { pop cairo_selectfont } if } bind def
55 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
56 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
57 + /cairo_font where { pop cairo_selectfont } if } bind def
58 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
59 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
60 +/g { setgray } bind def
61 +/rg { setrgbcolor } bind def
62 +/d1 { setcachedevice } bind def
63 +%%EndProlog
64 +%%Page: 1 1
65 +%%BeginPageSetup
66 +%%PageBoundingBox: 0 -1 123 38
67 +%%EndPageSetup
68 +q 0 -1 123 39 rectclip q
69 +0 37.057 123 -38 re W n
70 +0 g
71 +0.004 6.6 m 0.008 14.42 1.023 18.631 3.785 22.287 c 9.297 29.588 21.344
72 +29.69 27.402 22.49 c 30.277 19.073 31.191 15.338 31.195 6.998 c 31.199
73 +-0.002 l 23.199 -0.002 l 23.199 6.826 l 23.199 15.061 21.965 18.526
74 +18.516 19.951 c 15.648 21.139 13 20.666 10.301 18.483 c 8.555 17.069
75 +8.379 16.26 8.129 8.471 c 7.855 -0.002 l 0 -0.002 l h
76 +42.406 1.276 m 31.719 5.908 30.297 19.108 39.781 25.615 c 42.367 27.389
77 +43.645 27.627 51.738 27.869 c 60.801 28.139 l 60.801 20.799 l 52.977
78 +20.799 l 44.91 20.799 41.602 19.74 41.602 17.155 c 41.602 16.213 43.367
79 +15.998 51.199 15.998 c 60.801 15.998 l 60.801 12.049 l 50.707 11.823 l
80 +40.617 11.6 l 42.234 9.6 l 43.75 7.733 44.418 7.58 52.328 7.326 c
81 +60.801 7.053 l 60.801 -0.002 l 53 0.03 l 47.859 0.053 44.246 0.475
82 +42.406 1.276 c h
83 +73.324 1.166 m 64.008 4.49 60.91 16.045 67.453 23.076 c 71.055 26.951
84 +74.492 27.998 83.566 27.998 c 92 27.998 l 92 20.799 l 84.348 20.799 l
85 +74.332 20.799 71.277 19.19 71.227 13.869 c 71.207 12.01 71.852 10.795
86 +73.66 9.272 c 75.949 7.346 76.688 7.201 84.062 7.201 c 92 7.201 l 92
87 +-0.002 l 84.199 0.033 l 79.715 0.057 75.094 0.537 73.324 1.166 c h
88 +101.938 1.518 m 88.32 7.701 92.969 27.998 108 27.998 c 112.547 27.998
89 +116.098 26.311 119.035 22.748 c 124.84 15.705 122.402 5.307 114.062
90 +1.518 c 109.922 -0.365 106.078 -0.365 101.938 1.518 c h
91 +113.238 9.162 m 117.883 13.811 114.691 20.799 107.918 20.799 c 103.684
92 +20.799 100.801 18.045 100.801 13.998 c 100.801 9.92 103.68 7.201 108
93 +7.201 c 110.406 7.201 111.793 7.717 113.238 9.162 c h
94 +0.004 28.201 m 0.004 32.932 0.16 36.799 0.355 36.799 c 0.551 36.799
95 +2.363 34.772 4.383 32.295 c 8.051 27.791 l 5.602 26.096 l 4.254 25.162
96 +2.445 23.319 1.582 21.998 c 0.012 19.6 l h
97 +28.398 23.475 m 27.078 24.94 25.309 26.514 24.461 26.979 c 23.027 27.76
98 +23.191 28.139 26.859 32.44 c 30.801 37.057 l 31.043 32.928 l 31.176
99 +30.658 31.176 27.002 31.043 24.807 c 30.801 20.811 l h
100 +28.398 23.475 m f
101 +Q Q
102 +showpage
103 +%%Trailer
104 +count op_count sub {pop} repeat
105 +countdictstack dict_count sub {end} repeat
106 +cairo_eps_state restore
107 +%%EOF
No preview for this file type

2.13 KB

1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
3 +
4 +<svg
5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
6 + xmlns:cc="http://creativecommons.org/ns#"
7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 + xmlns:svg="http://www.w3.org/2000/svg"
9 + xmlns="http://www.w3.org/2000/svg"
10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 + id="svg2"
13 + version="1.1"
14 + inkscape:version="0.48.3.1 r9886"
15 + width="153"
16 + height="47"
17 + sodipodi:docname="neco.png">
18 + <metadata
19 + id="metadata8">
20 + <rdf:RDF>
21 + <cc:Work
22 + rdf:about="">
23 + <dc:format>image/svg+xml</dc:format>
24 + <dc:type
25 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26 + <dc:title></dc:title>
27 + </cc:Work>
28 + </rdf:RDF>
29 + </metadata>
30 + <defs
31 + id="defs6" />
32 + <sodipodi:namedview
33 + pagecolor="#ffffff"
34 + bordercolor="#666666"
35 + borderopacity="1"
36 + objecttolerance="10"
37 + gridtolerance="10"
38 + guidetolerance="10"
39 + inkscape:pageopacity="0"
40 + inkscape:pageshadow="2"
41 + inkscape:window-width="1015"
42 + inkscape:window-height="727"
43 + id="namedview4"
44 + showgrid="false"
45 + inkscape:zoom="2.0915033"
46 + inkscape:cx="76.5"
47 + inkscape:cy="23.5"
48 + inkscape:window-x="0"
49 + inkscape:window-y="24"
50 + inkscape:window-maximized="0"
51 + inkscape:current-layer="svg2" />
52 + <path
53 + style="fill:#000000"
54 + d="m 0.483702,37.315625 c 0.0066,-9.773594 1.275404,-15.037416 4.726537,-19.608846 6.889748,-9.12628 21.945633,-9.255004 29.520827,-0.252398 3.59163,4.268411 4.734838,8.936553 4.741482,19.361244 l 0.0056,8.75 -5,0 -5,0 0,-8.532119 c 0,-10.291666 -1.546204,-14.623058 -5.857583,-16.40889 -3.583891,-1.484496 -6.890775,-0.892363 -10.265968,1.838232 -2.184185,1.767046 -2.404039,2.779373 -2.717474,12.512684 l -0.341028,10.590093 -4.908975,0 -4.908975,0 0.0056,-8.25 z m 53.001563,6.657017 C 40.128959,38.180601 38.34933,21.681136 50.203718,13.548449 c 3.232454,-2.217621 4.828988,-2.51872 14.946713,-2.818877 l 11.327694,-0.336053 0,4.586053 0,4.586053 -9.777494,0 c -10.086979,0 -14.222506,1.324969 -14.222506,4.556704 0,1.177545 2.209535,1.443296 12,1.443296 l 12,0 0,2.470123 0,2.470123 -12.615026,0.279877 -12.615025,0.279877 2.024933,2.5 c 1.89071,2.334287 2.726899,2.522605 12.615025,2.841025 l 10.590093,0.341025 0,4.408975 0,4.408975 -9.75,-0.03914 c -6.426655,-0.0258 -10.940562,-0.555436 -13.24286,-1.553841 z m 38.648049,0.134334 C 80.48609,39.954169 76.616145,25.510955 84.794737,16.718307 c 4.50263,-4.840691 8.798019,-6.152682 20.143553,-6.152682 l 10.53984,0 0,4.5 0,4.5 -9.56574,0 c -12.520023,0 -16.335594,2.014763 -16.402462,8.661106 -0.02339,2.325117 0.781871,3.845768 3.044922,5.75 2.857661,2.404564 3.783267,2.588894 13.00001,2.588894 l 9.92327,0 0,4.5 0,4.5 -9.75,-0.04389 c -5.60734,-0.02525 -11.383622,-0.62636 -13.594816,-1.414759 z m 35.766206,-0.437682 c -17.02138,-7.730731 -11.21262,-33.103669 7.5786,-33.103669 5.68429,0 10.12256,2.112161 13.79167,6.563414 7.25642,8.8033 4.2127,21.805107 -6.21307,26.540255 -5.17621,2.350918 -9.98099,2.350918 -15.1572,0 z m 14.12405,-9.558214 c 5.81053,-5.810515 1.81901,-14.545455 -6.64667,-14.545455 -5.29434,0 -8.89878,3.44291 -8.89878,8.5 0,5.100619 3.59934,8.5 9,8.5 3.0101,0 4.73939,-0.648485 6.54545,-2.454545 z M 0.484714,10.315625 c -0.0036,-5.9125 0.193687,-10.75 0.43847,-10.75 0.244782,0 2.508967,2.533665 5.031523,5.630366 l 4.586464,5.630367 -3.061923,2.119633 C 5.795191,14.11179 3.53397,16.415625 2.454314,18.065625 l -1.963011,3 -0.0066,-10.75 z m 35.493411,5.907672 c -1.65,-1.830049 -3.865725,-3.800848 -4.923833,-4.379551 -1.791416,-0.979767 -1.584926,-1.449581 3,-6.825718 l 4.923833,-5.77353 0.30226,5.160564 c 0.166242,2.83831 0.166242,7.407196 0,10.153081 l -0.30226,4.992518 -3,-3.327364 z"
55 + id="path2987"
56 + inkscape:connector-curvature="0" />
57 +</svg>
This diff is collapsed. Click to expand it.
No preview for this file type

10.5 KB

This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
1 +\ProvidesPackage{pygments}
2 +
3 +\makeatletter
4 +\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
5 + \let\PY@ul=\relax \let\PY@tc=\relax%
6 + \let\PY@bc=\relax \let\PY@ff=\relax}
7 +\def\PY@tok#1{\csname PY@tok@#1\endcsname}
8 +\def\PY@toks#1+{\ifx\relax#1\empty\else%
9 + \PY@tok{#1}\expandafter\PY@toks\fi}
10 +\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
11 + \PY@it{\PY@bf{\PY@ff{#1}}}}}}}
12 +\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}
13 +
14 +\def\PY@tok@gd{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
15 +\def\PY@tok@gu{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
16 +\def\PY@tok@gt{\def\PY@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}}
17 +\def\PY@tok@gs{\let\PY@bf=\textbf}
18 +\def\PY@tok@gr{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
19 +\def\PY@tok@cm{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
20 +\def\PY@tok@vg{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
21 +\def\PY@tok@m{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
22 +\def\PY@tok@mh{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
23 +\def\PY@tok@go{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
24 +\def\PY@tok@ge{\let\PY@it=\textit}
25 +\def\PY@tok@vc{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
26 +\def\PY@tok@il{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
27 +\def\PY@tok@cs{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
28 +\def\PY@tok@cp{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
29 +\def\PY@tok@gi{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
30 +\def\PY@tok@gh{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
31 +\def\PY@tok@ni{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
32 +\def\PY@tok@nl{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
33 +\def\PY@tok@nn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
34 +\def\PY@tok@no{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
35 +\def\PY@tok@na{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
36 +\def\PY@tok@nb{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
37 +\def\PY@tok@nc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
38 +\def\PY@tok@nd{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
39 +\def\PY@tok@ne{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
40 +\def\PY@tok@nf{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
41 +\def\PY@tok@si{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
42 +\def\PY@tok@s2{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
43 +\def\PY@tok@vi{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
44 +\def\PY@tok@nt{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
45 +\def\PY@tok@nv{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
46 +\def\PY@tok@s1{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
47 +\def\PY@tok@sh{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
48 +\def\PY@tok@sc{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
49 +\def\PY@tok@sx{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
50 +\def\PY@tok@bp{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
51 +\def\PY@tok@c1{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
52 +\def\PY@tok@kc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
53 +\def\PY@tok@c{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
54 +\def\PY@tok@mf{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
55 +\def\PY@tok@err{\def\PY@bc##1{\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{##1}}}
56 +\def\PY@tok@kd{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
57 +\def\PY@tok@ss{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
58 +\def\PY@tok@sr{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
59 +\def\PY@tok@mo{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
60 +\def\PY@tok@kn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
61 +\def\PY@tok@mi{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
62 +\def\PY@tok@gp{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
63 +\def\PY@tok@o{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
64 +\def\PY@tok@kr{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
65 +\def\PY@tok@s{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
66 +\def\PY@tok@kp{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
67 +\def\PY@tok@w{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
68 +\def\PY@tok@kt{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
69 +\def\PY@tok@ow{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
70 +\def\PY@tok@sb{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
71 +\def\PY@tok@k{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
72 +\def\PY@tok@se{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
73 +\def\PY@tok@sd{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
74 +
75 +\def\PYZbs{\char`\\}
76 +\def\PYZus{\char`\_}
77 +\def\PYZob{\char`\{}
78 +\def\PYZcb{\char`\}}
79 +\def\PYZca{\char`\^}
80 +\def\PYZsh{\char`\#}
81 +\def\PYZpc{\char`\%}
82 +\def\PYZdl{\char`\$}
83 +\def\PYZti{\char`\~}
84 +% for compatibility with earlier versions
85 +\def\PYZat{@}
86 +\def\PYZlb{[}
87 +\def\PYZrb{]}
88 +\makeatother
This diff is collapsed. Click to expand it.
No preview for this file type
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
1 +%!PS-Adobe-3.0 EPSF-3.0
2 +%%Creator: cairo 1.10.2 (http://cairographics.org)
3 +%%CreationDate: Wed Nov 6 17:33:45 2013
4 +%%Pages: 1
5 +%%BoundingBox: 0 -1 254 157
6 +%%DocumentData: Clean7Bit
7 +%%LanguageLevel: 2
8 +%%EndComments
9 +%%BeginProlog
10 +/cairo_eps_state save def
11 +/dict_count countdictstack def
12 +/op_count count 1 sub def
13 +userdict begin
14 +/q { gsave } bind def
15 +/Q { grestore } bind def
16 +/cm { 6 array astore concat } bind def
17 +/w { setlinewidth } bind def
18 +/J { setlinecap } bind def
19 +/j { setlinejoin } bind def
20 +/M { setmiterlimit } bind def
21 +/d { setdash } bind def
22 +/m { moveto } bind def
23 +/l { lineto } bind def
24 +/c { curveto } bind def
25 +/h { closepath } bind def
26 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
27 + 0 exch rlineto 0 rlineto closepath } bind def
28 +/S { stroke } bind def
29 +/f { fill } bind def
30 +/f* { eofill } bind def
31 +/n { newpath } bind def
32 +/W { clip } bind def
33 +/W* { eoclip } bind def
34 +/BT { } bind def
35 +/ET { } bind def
36 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
37 + { globaldict begin /?pdfmark /pop load def /pdfmark
38 + /cleartomark load def end } ifelse
39 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
40 +/EMC { mark /EMC pdfmark } bind def
41 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
42 +/Tj { show currentpoint cairo_store_point } bind def
43 +/TJ {
44 + {
45 + dup
46 + type /stringtype eq
47 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
48 + } forall
49 + currentpoint cairo_store_point
50 +} bind def
51 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
52 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
53 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
54 + { pop cairo_selectfont } if } bind def
55 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
56 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
57 + /cairo_font where { pop cairo_selectfont } if } bind def
58 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
59 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
60 +/g { setgray } bind def
61 +/rg { setrgbcolor } bind def
62 +/d1 { setcachedevice } bind def
63 +%%EndProlog
64 +%%Page: 1 1
65 +%%BeginPageSetup
66 +%%PageBoundingBox: 0 -1 254 157
67 +%%EndPageSetup
68 +q 0 -1 254 158 rectclip q
69 +0 156.105 254 -157 re W n
70 +0 g
71 +95.027 1.093 m 86.047 3.968 75.254 14.156 72.016 22.808 c 71.148 25.124
72 +69.852 30.718 69.133 35.238 c 68.414 39.761 67.148 45.66 66.316 48.347
73 +c 63.754 56.652 55.895 63.871 49.418 63.871 c 45.777 63.871 41.227
74 +60.574 39.52 56.706 c 36.805 50.554 30.746 49.656 23.398 54.316 c
75 +18.652 57.328 12.438 59.648 7.316 60.328 c 2.941 60.91 0 62.999 0
76 +65.531 c 0 71.019 8.582 79.648 19.48 85.117 c 29.113 89.949 31.887
77 +89.863 38.383 84.546 c 41.68 81.847 43.711 81.734 50.398 83.871 c
78 +53.156 84.749 57.457 85.468 59.961 85.468 c 75.086 85.468 82.25 77.101
79 +86.781 54.144 c 89.59 39.894 93.363 32.761 98.812 31.394 c 102.578
80 +30.449 107.191 32.574 109.969 36.539 c 112.109 39.589 112.434 40.789
81 +112.668 46.539 c 112.934 52.917 112.855 53.226 109.418 59.871 c 107.484
82 +63.609 104.066 69.644 101.82 73.281 c 99.574 76.917 96.988 82.117 96.07
83 +84.835 c 91.945 97.05 95.531 117.632 104.191 131.46 c 110.5 141.535
84 +120.035 149.671 129.832 153.335 c 136.883 155.976 147.793 156.824
85 +157.199 155.464 c 167.828 153.929 170.332 153.16 178.664 148.874 c
86 +194.867 140.539 202.461 127.581 202.691 107.871 c 202.84 95.261 201.426
87 +90.355 192.32 71.871 c 188.176 63.464 184.418 54.933 183.965 52.906 c
88 +181.445 41.675 188.422 34.074 196.648 39.089 c 200.586 41.492 202.359
89 +46.113 202.383 54.031 c 202.426 69.542 207.281 78.617 218.281 83.734 c
90 +222.082 85.499 223.883 85.828 229.602 85.792 c 237.391 85.742 242.578
91 +83.91 247.07 79.621 c 256.25 70.851 256.289 54.105 247.145 49.441 c
92 +241.309 46.464 239.254 48.902 242.398 55.07 c 245.828 61.785 243.387
93 +68.39 236.742 70.382 c 227.625 73.113 220 64.191 220 50.789 c 220
94 +48.156 219.598 43.628 219.109 40.734 c 216.766 26.902 205.703 16.093
95 +191.148 13.417 c 184.629 12.218 177.816 13.769 171.734 17.831 c 166.656
96 +21.23 163.816 24.749 160.539 31.714 c 158.23 36.624 158.02 37.734
97 +158.043 45.07 c 158.07 52.621 158.258 53.519 161.43 61.148 c 165.762
98 +71.558 167.977 80.152 168.551 88.749 c 169.617 104.734 161.719 115.195
99 +148.496 115.316 c 139.973 115.398 133.852 111.32 130.117 103.07 c
100 +128.852 100.277 128.496 97.855 128.52 92.269 c 128.551 85.804 128.906
101 +84.128 131.973 75.871 c 138.316 58.796 139.301 55.488 140.004 48.843 c
102 +141.16 37.925 139.566 31.085 133.496 20.953 c 123.988 5.078 108.137
103 +-3.106 95.027 1.093 c h
104 +113.602 5.234 m 122.555 9.566 132.758 22.05 136.086 32.742 c 139.273
105 +42.988 138.039 52.101 130.895 71.07 c 125.234 86.105 124.312 96.121
106 +127.855 104.128 c 132.527 114.687 143.926 120.265 154.539 117.179 c
107 +165.309 114.046 171.168 104.671 171.191 90.519 c 171.203 83.238 169.883
108 +77.601 164.27 60.925 c 159.766 47.55 l 160.629 41.972 l 161.797 34.433
109 +166.184 25.699 170.883 21.566 c 181.902 11.863 200.41 14.527 210.48
110 +27.265 c 214.391 32.21 215.797 36.863 217.32 49.871 c 218.281 58.054
111 +218.992 61.113 220.672 64.242 c 223.105 68.781 227.855 72.488 232.137
112 +73.183 c 236.199 73.839 243.422 70.507 245.145 67.179 c 246.832 63.914
113 +246.699 58.609 244.828 54.488 c 242.309 48.933 246.18 49.132 249.645
114 +54.738 c 251.812 58.246 251.973 64.171 250.043 69.468 c 246.684 78.703
115 +241.309 82.456 230.762 82.929 c 224.91 83.195 223.848 82.996 219.102
116 +80.753 c 209.43 76.183 205.828 69.589 204.758 54.499 c 203.957 43.206
117 +202.73 39.804 198.41 36.871 c 195.297 34.753 189.887 34.464 186.465
118 +36.234 c 185.121 36.929 183.477 38.953 182.406 41.234 c 180.875 44.488
119 +180.668 45.945 181.035 50.828 c 181.43 56.042 182.074 57.769 187.902
120 +69.226 c 196.059 85.257 198.066 89.929 199.078 95.214 c 200.762 104.015
121 +200.844 107.058 199.602 114.781 c 197.574 127.386 192.914 135.812
122 +184.52 142.042 c 171.562 151.656 157.188 155.031 139.457 152.617 c
123 +124.531 150.585 110.863 140.167 103.699 125.355 c 99.719 117.124 96.801
124 +105.097 96.801 96.91 c 96.801 88.64 100.363 78.679 106.547 69.664 c
125 +111.211 62.867 114.598 54.515 115 48.824 c 115.508 41.632 114.203
126 +37.289 110.242 32.992 c 106.645 29.085 103.402 27.835 99.262 28.753 c
127 +92.5 30.257 88.25 36.257 85.688 47.917 c 81.453 67.175 78.707 74.175
128 +73.777 78.249 c 67.934 83.085 58.836 84.312 50.246 81.417 c 42.434
129 +78.785 39.84 79.078 35.512 83.066 c 32.215 86.101 31.535 86.402 28.918
130 +85.98 c 24.656 85.292 15.172 80.378 10.039 76.199 c 5.418 72.433 2.07
131 +67.261 2.883 65.144 c 3.379 63.847 3.648 63.742 10.398 62.214 c 12.82
132 +61.664 18.016 59.652 21.941 57.742 c 26.57 55.492 30.164 54.269 32.148
133 +54.269 c 34.977 54.269 35.41 54.589 37.738 58.371 c 40.504 62.863 46.23
134 +67.074 49.555 67.062 c 52.949 67.046 59.41 63.531 62.656 59.929 c
135 +66.695 55.449 68.484 51.05 70.441 40.781 c 73.172 26.433 74.398 22.535
136 +77.641 17.906 c 87.422 3.949 101.027 -0.848 113.602 5.234 c h
137 +113.602 5.234 m f
138 +Q Q
139 +showpage
140 +%%Trailer
141 +count op_count sub {pop} repeat
142 +countdictstack dict_count sub {end} repeat
143 +cairo_eps_state restore
144 +%%EOF
No preview for this file type
1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
3 +
4 +<svg
5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
6 + xmlns:cc="http://creativecommons.org/ns#"
7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 + xmlns:svg="http://www.w3.org/2000/svg"
9 + xmlns="http://www.w3.org/2000/svg"
10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 + id="svg2"
13 + version="1.1"
14 + inkscape:version="0.48.3.1 r9886"
15 + width="350"
16 + height="226"
17 + sodipodi:docname="snake-shadow.png">
18 + <metadata
19 + id="metadata8">
20 + <rdf:RDF>
21 + <cc:Work
22 + rdf:about="">
23 + <dc:format>image/svg+xml</dc:format>
24 + <dc:type
25 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26 + <dc:title></dc:title>
27 + </cc:Work>
28 + </rdf:RDF>
29 + </metadata>
30 + <defs
31 + id="defs6" />
32 + <sodipodi:namedview
33 + pagecolor="#ffffff"
34 + bordercolor="#666666"
35 + borderopacity="1"
36 + objecttolerance="10"
37 + gridtolerance="10"
38 + guidetolerance="10"
39 + inkscape:pageopacity="0"
40 + inkscape:pageshadow="2"
41 + inkscape:window-width="1349"
42 + inkscape:window-height="708"
43 + id="namedview4"
44 + showgrid="false"
45 + inkscape:zoom="0.91428571"
46 + inkscape:cx="175"
47 + inkscape:cy="113"
48 + inkscape:window-x="0"
49 + inkscape:window-y="24"
50 + inkscape:window-maximized="0"
51 + inkscape:current-layer="svg2" />
52 + <path
53 + style="fill:#000000"
54 + d="m 136.25343,213.03298 c -11.22578,-3.59671 -24.71752,-16.32957 -28.76477,-27.1468 -1.08262,-2.89357 -2.70351,-9.88481 -3.60197,-15.53609 -0.89846,-5.65127 -2.48276,-13.02441 -3.52066,-16.38474 -3.20715,-10.38354 -13.02714,-19.40285 -21.12531,-19.40285 -4.5481,0 -10.23795,4.11758 -12.37119,8.95267 -3.39274,7.68982 -10.9696,8.81346 -20.1541,2.98881 -5.93362,-3.76299 -13.70215,-6.66771 -20.10355,-7.51688 -5.46665,-0.72518 -9.14313,-3.34021 -9.14313,-6.50339 0,-6.86103 10.7268,-17.64447 24.35165,-24.48023 12.03771,-6.03946 15.50442,-5.93492 23.62619,0.71251 4.12224,3.37392 6.66257,3.51707 15.02216,0.84651 3.4433,-1.1 8.82025,-2 11.94877,-2 18.91074,0 27.86586,10.45863 33.52741,39.15647 3.51351,17.80966 8.22949,26.72762 15.03765,28.43636 4.70868,1.1818 10.47569,-1.47617 13.94708,-6.4281 2.67493,-3.8158 3.07939,-5.3136 3.37542,-12.5 0.32857,-7.97627 0.23482,-8.36092 -4.06182,-16.66473 -2.41898,-4.675 -6.6939,-12.21955 -9.49982,-16.76567 -2.80591,-4.54611 -6.04059,-11.04599 -7.18818,-14.44417 -5.15524,-15.265516 -0.67389,-40.994989 10.15093,-58.281018 7.88513,-12.59169 19.80842,-22.763568 32.05323,-27.344938 8.81501,-3.298118 22.45014,-4.357934 34.20933,-2.658985 13.28386,1.919231 16.4164,2.881015 26.82937,8.237431 20.25621,10.419764 29.74561,26.614036 30.0354,51.25735 0.18532,15.759416 -1.582,21.89249 -12.96671,44.99795 -5.17655,10.5059 -9.87608,21.17285 -10.44339,23.70433 -3.14684,14.0418 5.57216,23.54168 15.85347,17.27332 4.92602,-3.00331 7.14339,-8.7792 7.1699,-18.67638 0.0519,-19.39239 6.12351,-30.73561 19.874,-37.12961 4.74807,-2.20786 7.00227,-2.61777 14.14796,-2.57273 9.73595,0.0614 16.22481,2.35384 21.83763,7.71509 11.47359,10.95933 11.52466,31.89142 0.092,37.72391 -7.29274,3.72048 -9.86193,0.67199 -5.92967,-7.03588 4.28329,-8.39593 1.23218,-16.65173 -7.0737,-19.14023 -11.39642,-3.41446 -20.92626,7.73821 -20.92626,24.48982 0,3.29262 -0.50145,8.94844 -1.11432,12.5685 -2.92737,17.29094 -16.75505,30.80154 -34.94831,34.14693 -8.15096,1.49881 -16.66495,-0.43813 -24.26775,-5.52093 -6.34918,-4.24469 -9.90051,-8.64739 -13.99688,-17.35239 -2.88702,-6.13507 -3.14628,-7.52352 -3.11677,-16.6917 0.0304,-9.44101 0.26698,-10.56459 4.2323,-20.1001 5.41184,-13.014 8.18162,-23.7535 8.8986,-34.50322 1.33232,-19.975776 -8.53793,-33.051963 -25.06586,-33.207454 -10.65722,-0.10026 -18.305,4.996382 -22.97461,15.310774 -1.58052,3.491099 -2.02771,6.517802 -1.9946,13.5 0.0383,8.07835 0.48027,10.17767 4.31581,20.5 7.92889,21.33852 9.15811,25.47536 10.03856,33.78418 1.44582,13.64406 -0.5495,22.19314 -8.13676,34.86243 -11.88355,19.84331 -31.69988,30.07354 -48.08473,24.82387 z m 23.21532,-5.17844 c 11.19133,-5.4157 23.94662,-21.02068 28.10621,-34.38548 3.98569,-12.80604 2.44355,-24.196 -6.48632,-47.90656 -7.07784,-18.79307 -8.2289,-31.31347 -3.79941,-41.32708 5.83795,-13.197654 20.08802,-20.167099 33.35111,-16.311414 13.46643,3.914797 20.78733,15.635259 20.81654,33.326444 0.015,9.09959 -1.63297,16.14523 -8.65214,36.99037 l -5.62973,16.71883 1.0792,6.9722 c 1.4587,9.42402 6.94366,20.342 12.81636,25.51136 13.77631,12.1264 36.91305,8.79495 49.49887,-7.12731 4.88567,-6.18083 6.64547,-11.99532 8.55112,-28.2534 1.19951,-10.23359 2.09028,-14.05683 4.18598,-17.9663 3.04225,-5.67526 8.98255,-10.30573 14.33524,-11.17435 5.07531,-0.82361 14.10523,3.34427 16.25584,7.5031 2.11097,4.08217 1.94722,10.71231 -0.39184,15.86499 -3.15206,6.94364 1.68708,6.6911 6.01645,-0.31397 2.70993,-4.38476 2.91172,-11.78972 0.50177,-18.41347 -4.20016,-11.54419 -10.92047,-16.23598 -24.10298,-16.8275 -7.31509,-0.32824 -8.64184,-0.0804 -14.57393,2.72237 -12.09302,5.71367 -16.59473,13.95266 -17.9317,32.81838 -1.00008,14.11202 -2.53158,18.36709 -7.93151,22.03675 -3.8917,2.6447 -10.65794,3.00319 -14.93525,0.79131 -1.67889,-0.86819 -3.73313,-3.39829 -5.0745,-6.25 -1.91137,-4.06348 -2.17123,-5.88447 -1.71073,-11.9876 0.49197,-6.52007 1.29847,-8.68134 8.58268,-23 10.19454,-20.03954 12.706,-25.87937 13.97087,-32.486082 2.10638,-11.002156 2.20816,-14.802654 0.65494,-24.457284 -2.53514,-15.758148 -8.36277,-26.290967 -18.85337,-34.075443 -16.1975,-12.019246 -34.16321,-16.236014 -56.32741,-13.220721 -18.65968,2.538526 -35.74318,15.562632 -44.69935,34.077859 -4.97699,10.28899 -8.62301,25.322515 -8.62301,35.554946 0,10.337815 4.4542,22.787945 12.18502,34.058875 5.82728,8.49572 10.06014,18.93374 10.56383,26.04991 0.63631,8.98962 -0.9952,14.42131 -5.9445,19.79066 -4.49965,4.88154 -8.55133,6.44472 -13.72696,5.29598 -8.4515,-1.87581 -13.76639,-9.37845 -16.96974,-23.95494 -5.28938,-24.06871 -8.72543,-32.82139 -14.88458,-37.91559 -7.30768,-6.04414 -18.67925,-7.57383 -29.41573,-3.95698 -9.76421,3.28933 -13.00837,2.92629 -18.41917,-2.06122 -4.11759,-3.79546 -4.96817,-4.17153 -8.23987,-3.64313 -5.32921,0.86071 -17.18573,7.00469 -23.59891,12.22883 -5.77499,4.70427 -9.96275,11.16984 -8.94782,13.81471 0.62347,1.62474 0.96126,1.7565 9.39843,3.66611 3.025,0.68465 9.51734,3.19894 14.42742,5.58731 5.78634,2.8146 10.27563,4.34249 12.75924,4.34249 3.53381,0 4.0771,-0.39861 6.98547,-5.12532 3.4562,-5.61705 10.61366,-10.88082 14.77365,-10.86491 4.23899,0.0162 12.3177,4.41403 16.37419,8.91364 5.05022,5.60189 7.28516,11.1002 9.72983,23.93698 3.41506,17.93221 4.95002,22.80779 9.00129,28.59117 12.2242,17.45062 29.23421,23.44513 44.94891,15.84048 z"
55 + id="path2987"
56 + inkscape:connector-curvature="0" />
57 +</svg>
No preview for this file type
1 +\documentclass{beamer}
2 +
3 +\usepackage[english]{babel}
4 +\usepackage[latin1]{inputenc}
5 +\usepackage[orientation=portrait,size=a0,scale=2]{beamerposter}
6 +\usepackage{textpos}
7 +\usepackage{picins}
8 +\usepackage{url}
9 +\usepackage{fancyvrb}
10 +\usepackage{relsize}
11 +
12 +\usepackage{tikz}
13 +\usetikzlibrary{shapes.callouts}
14 +
15 +\parindent=0pt
16 +\setbeamertemplate{navigation symbols}{}
17 +
18 +\def\smallskip{\vspace{5mm}}
19 +\def\medskip{\vspace{10mm}}
20 +\def\bigskip{\vspace{20mm}}
21 +
22 +\colorlet{title}{black!10}
23 +\colorlet{minor}{black!65}
24 +\colorlet{snakes}{green!30!black}
25 +\colorlet{python}{blue!30!black}
26 +\definecolor{popup}{rgb}{.6,1,.5}
27 +
28 +\def\*{\raise-.65ex\hbox{$\smash{
29 + \includegraphics[height=1em]{snake-shadow.pdf}}$}}
30 +
31 +\def\section#1{\noindent\colorbox{title}{%
32 + \hbox to \textwidth{\bfseries #1\hfill\strut\*}}\smallskip}
33 +
34 +\def\endparitem{\endgraf\egroup}
35 +\def\>{\par\bgroup
36 + \let\par=\endparitem
37 + \leftskip=1.4em\parindent=-1.4em
38 + \indent\hbox to 1.4em{\hss
39 + $\smash{\includegraphics[width=1em]{cartoon-python.pdf}}$
40 + }\ignorespaces}
41 +\def\+{\par\bgroup
42 + \let\par=\endparitem
43 + \leftskip=2.8em\parindent=-1.4em
44 + \indent\hbox to 1.4em{\hss
45 + $\color{snakes}\smash{\bullet}$
46 + }\ignorespaces}
47 +
48 +\def\PYk #1{{\color{snakes}#1}}
49 +\def\PYn #1{{\color{python}#1}}
50 +\def\PYc #1{{\color{minor}#1}}
51 +
52 +\begin{document}
53 +\begin{frame}[fragile]{}
54 +
55 +%%
56 +%% title & logos
57 +%%
58 +
59 +\begin{textblock}{14.4}(.5,.5)
60 + \parpic{\includegraphics[height=13cm]{logo-snakes}\quad}
61 + {\Large\bfseries a high-level Petri nets library}\\[15pt]
62 + {\large Franck Pommereau}\\[30pt]
63 + \small
64 + IBISC/COSMO, university of vry/Paris-Saclay\\
65 + 23 boulevard de France, 91037 vry Cedex France\\[20pt]
66 + \url{franck.pommereau@ibisc.univ-evry.fr}\\
67 + \url{http://www.ibisc.univ-evry.fr/~fpommereau/SNAKES/}
68 +\end{textblock}
69 +
70 +\begin{textblock}{14.4}(.7,.5)
71 + \null\hfill
72 + \begin{tikzpicture}[xscale=4,yscale=4]
73 + \node at (-2,0) {\includegraphics[width=150mm, height=150mm,
74 + keepaspectratio=true]{logo-ibisc}};
75 + \node at (1,1) {\includegraphics[width=58mm, height=58mm,
76 + keepaspectratio=true]{logo-ueve}};
77 + \node at (1,-1) {\includegraphics[width=65mm, height=65mm,
78 + keepaspectratio=true]{logo-genopole}};
79 + \end{tikzpicture}
80 +\end{textblock}
81 +
82 +%%
83 +%% left column
84 +%%
85 +
86 +\begin{textblock}{9}(.5,2.85)
87 +\section{SNAKES in a nutshell}
88 +
89 +\tikzstyle{popup}=[draw,rectangle callout,rounded corners=15,
90 + text width=10cm,align=center,callout pointer width=7mm,
91 + callout absolute pointer={(70:.5)},fill=popup]
92 +
93 +\begin{center}
94 +\begin{tikzpicture}[scale=12]
95 + \node at (0,0) {\scalebox{-1}[1]{%
96 + \includegraphics[scale=3]{oroborus.pdf}}};
97 + \node[popup,callout relative pointer={(-70:2)}] at (90:1)
98 + {SNAKES is a Python library};
99 + \node[popup,callout relative pointer={(-150:2)}] at (40:1.4)
100 + {Define and manipulate Petri nets};
101 + \node[popup,callout relative pointer={(170:3)}] at (10:1.3)
102 + {Very generic Petri net definition};
103 + \node[popup,callout relative pointer={(150:4)}] at (-25:1.3)
104 + {Annotations are Python expressions};
105 + \node[popup,callout relative pointer={(80:4)}] at (-90:1)
106 + {Tokens are Python objects};
107 + \node[popup,cloud callout,cloud puffs=15,aspect=2.5,inner sep=-20pt,
108 + cloud puff arc=120,callout relative pointer={(170:3)},
109 + fill=blue!20,rounded corners=0] at (-45:1.7)
110 + {\small Even SNAKES'\\[-20pt] net objects};
111 + \node[popup,callout relative pointer={(50:4.5)}] at (-150:1.2)
112 + {Fully reflexive for maximal flexibility};
113 + \node[popup,cloud callout,cloud puffs=12,aspect=2.6,inner sep=-50pt,
114 + cloud puff arc=140,callout relative pointer={(50:2)},
115 + fill=blue!20,rounded corners=0] at (-130:1.5)
116 + {\small Inspired\\[-20pt] by Emacs};
117 + \node[popup,callout relative pointer={(10:3)}] at (170:1.2)
118 + {Extensible with plugins};
119 + \node at (0,0) {\includegraphics[scale=.5]{python-powered.pdf}};
120 +\end{tikzpicture}
121 +\end{center}
122 +
123 +%%
124 +%%
125 +%%
126 +
127 +\medskip
128 +\section{Plugins}
129 +
130 +\> {\color{snakes}\texttt{gv}}: draw Petri nets using GraphViz
131 +\> {\color{snakes}\texttt{ops}}: algebras of Petri nets compositions
132 + {\small\color{minor}(PBC, PNA, M-nets, \dots)}
133 +\> {\color{snakes}\texttt{pids}}: dynamic processes creation and
134 + destruction
135 +\> {\color{snakes}\texttt{labels}}: arbitrary objects annotations
136 +\> {\color{snakes}\texttt{let}}: variables assignation during computation
137 +\> \dots {\color{minor}(your plugin here: try, it's easy)}
138 +
139 +%%
140 +%%
141 +%%
142 +
143 +\bigskip
144 +\section{ABCD for friendly modelling}
145 +
146 +\> process algebra with friendly Python-like syntax
147 +\> embeds full Python
148 +\> compiler shipped with SNAKES library
149 +\> generates Petri nets objects
150 +\> export to pictures or PNML files
151 +\> simulation and reachability analysis
152 +
153 +\vbox to 0pt{\vss\null\hfill
154 + \includegraphics[width=18cm]{abcd-simul}
155 + \vspace*{.2\baselineskip}}
156 +\vspace*{-\baselineskip}
157 +
158 +%%
159 +%%
160 +%%
161 +
162 +\bigskip
163 +\section{Neco for fast analysis}
164 +
165 +\> \L ukasz Fronc's companion tool {\small\color{minor}(available
166 + separately at \url{https://code.google.com/p/neco-net-compiler/})}
167 +\> Neco compiles SNAKES Petri nets into fast native code
168 + \+ optimised marking structure
169 + \+ per-transition optimised firing
170 +\> reads PNML, ABCD, or net objects
171 +\> process-symmetries reductions
172 +\> state space exploration and LTL model-checking
173 + {\small\color{minor}(using SPOT)}
174 +\> awarded at the \emph{model-checking contest\/} 2013
175 + {\small\color{minor}(PETRI NETS conf.)}
176 +
177 +\vbox to 0pt{\vss\null\hfill
178 + \begin{tikzpicture}
179 + \node[inner sep=0pt] (neco) {\includegraphics[width=18cm]{neco.pdf}};
180 + \node[below=-6pt] at (neco.south) {\scalebox{2.1}[1]{net
181 + compiler\hskip 9pt\null}};
182 + \end{tikzpicture}\hspace*{-12mm}
183 + \vspace*{2.8\baselineskip}}
184 +
185 +%%
186 +%%
187 +%%
188 +
189 +\end{textblock}
190 +
191 +%%
192 +%% right column
193 +%%
194 +
195 +\def\section#1{\noindent{\bfseries #1}\smallskip}
196 +
197 +\begin{textblock}{5}(10,2.85)
198 + \begin{tikzpicture}
199 + \path[fill=title] (0,0) rectangle (40,100);
200 + \end{tikzpicture}
201 +\end{textblock}
202 +
203 +\begin{textblock}{5}(10.2,3)
204 +
205 +%%
206 +%%
207 +%%
208 +
209 +\section{About SNAKES}
210 +
211 +\> free \& open source {\small (GNU LGPL)}
212 +\> works out of the box
213 +\> 81.5k lines of portable Python
214 +\> maintained for 10\texttt{+} years
215 +\> one permanent developer/user
216 +\> online documentation has\qquad 300\texttt{+} visitors per month
217 +
218 +%%
219 +%%
220 +%%
221 +
222 +\bigskip
223 +\section{SNAKES vs GitHub's top 10 Python projects$^*$
224 + {\color{minor}\small(on Nov. 2013)}}
225 +
226 +\vskip -1ex
227 +\begin{tikzpicture}[xscale=3.4,yscale=-2.5]
228 +\tikzstyle{project}=[left,anchor=base east,inner sep=0pt]
229 +\tikzstyle{bar}=[draw=blue!50!black,fill=blue!50!white,
230 + anchor=base west,inner sep=0pt,name=bar]
231 +\tikzstyle{price}=[right,anchor=base west]
232 +\node[project] at (0,1) {\small django\;};
233 +\node[bar,text width=530] at (0,1) {\small\strut};
234 +\node[price,anchor=base east] at (bar.base east)
235 + {\raise -.1ex\hbox{\small\$5.3M (432)}};
236 +\node[project] at (0,2) {\small\color{snakes}snakes\;};
237 +\node[bar,text width=270] at (0,2) {\small\strut};
238 +\begin{scope}[color=snakes]
239 + \draw[clip] (bar.north west) rectangle (bar.south east)
240 + node at (bar.center) {\includegraphics[scale=.2]{python-skin}};
241 +\end{scope}
242 +\node[price] at (bar.base east) {\small\$2.7M (2)};
243 +\node[project] at (0,3) {\small sick-beard\;};
244 +\node[bar,text width=260] at (0,3) {\small\strut};
245 +\node[price] at (bar.base east) {\small\$2.6M (110)};
246 +\node[project] at (0,4) {\small ipython\;};
247 +\node[bar,text width=230] at (0,4) {\small\strut};
248 +\node[price] at (bar.base east) {\small\$2.3M (236)};
249 +\node[project] at (0,5) {\small boto\;};
250 +\node[bar,text width=210] at (0,5) {\small\strut};
251 +\node[price] at (bar.base east) {\small\$2.1M (314)};
252 +\node[project] at (0,6) {\small reddit\;};
253 +\node[bar,text width=150] at (0,6) {\small\strut};
254 +\node[price] at (bar.base east) {\small\$1.5M (87)};
255 +\node[project] at (0,7) {\small sentry\;};
256 +\node[bar,text width=130] at (0,7) {\small\strut};
257 +\node[price] at (bar.base east) {\small\$1.3M (166)};
258 +\node[project] at (0,8) {\small tornado\;};
259 +\node[bar,text width=60] at (0,8) {\small\strut};
260 +\node[price] at (bar.base east) {\small\$0.6M (120)};
261 +\node[project] at (0,9) {\small requests\;};
262 +\node[bar,text width=30] at (0,9) {\small\strut};
263 +\node[price] at (bar.base east) {\small\$0.3M (275)};
264 +\node[project] at (0,10) {\small flask\;};
265 +\node[bar,text width=20] at (0,10) {\small\strut};
266 +\node[price] at (bar.base east) {\small\$0.2M (159)};
267 +\node[project] at (0,11) {\small httpie\;};
268 +\node[bar,text width=10] at (0,11) {\small\strut};
269 +\node[price] at (bar.base east) {\small\$0.1M (22)};
270 +\end{tikzpicture}
271 +
272 +estimated cost to develop {\color{minor}\small(generated using David A.
273 + Wheeler's ``SLOCCount'')} and number of contributors
274 +
275 +\hbox to \textwidth{\null\hfill\color{minor}\small $^*$ 10 most forked
276 + or followed Python projects}
277 +
278 +%%
279 +%%
280 +%%
281 +
282 +\bigskip
283 +\section{Using SNAKES out of Python}
284 +
285 +\> write a binding in Cython
286 +
287 +\begin{Verbatim}[commandchars=\\\{\},fontsize=\small,xleftmargin=1.4em,
288 + numbers=left,numbersep=30pt]
289 +\PYc{# this is Cython code}
290 +\PYk{cdef} \PYk{public} \PYk{int} \PYn{foo} (...):
291 + \PYc{# Python with SNAKES here}
292 +\end{Verbatim}
293 +
294 +\> Cython compiles to C/C\texttt{++} \qquad with a \texttt{.h} file:
295 +
296 +\begin{Verbatim}[commandchars=\\\{\},fontsize=\small,xleftmargin=1.4em,
297 + numbers=left,numbersep=30pt]
298 +\PYc{// this is C/C++ code}
299 +\PYk{extern} \PYk{int} \PYn{foo}(...);
300 +\end{Verbatim}
301 +
302 +\> use this API in your project
303 +
304 +%%
305 +%%
306 +%%
307 +
308 +\bigskip
309 +\section{Isn't Python slow?}
310 +
311 +\> {\color{snakes}no} for handling nets {\small\color{minor}even large
312 + ones}
313 +\> {\color{red!30!black}yes} for firing transitions
314 +\> \raise -.1ex\hbox{\includegraphics[height=.9em]{neco.pdf}} is fast
315 + at that! {;-)}
316 +
317 +%%
318 +%%
319 +%%
320 +
321 +\end{textblock}
322 +
323 +%%
324 +%% flush top
325 +%%
326 +
327 +\vspace*{150cm}
328 +\end{frame}
329 +\end{document}
...\ No newline at end of file ...\ No newline at end of file
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.