step towards proper pictures in dvi
authorhaftmann
Thu, 26 Mar 2009 13:01:09 +0100
changeset 30734ab05be086c4a
parent 30665 4cf38ea4fad2
child 30735 e925e4a7f237
step towards proper pictures in dvi
doc-src/Codegen/Makefile
doc-src/Codegen/Thy/ROOT.ML
doc-src/Codegen/Thy/pictures/adaption.tex
doc-src/Codegen/Thy/pictures/architecture.tex
doc-src/Codegen/codegen_process.pdf
doc-src/Codegen/codegen_process.ps
     1.1 --- a/doc-src/Codegen/Makefile	Mon Mar 23 08:16:24 2009 +0100
     1.2 +++ b/doc-src/Codegen/Makefile	Thu Mar 26 13:01:09 2009 +0100
     1.3 @@ -17,7 +17,7 @@
     1.4  
     1.5  dvi: $(NAME).dvi
     1.6  
     1.7 -$(NAME).dvi: $(FILES) isabelle_isar.eps codegen_process.ps
     1.8 +$(NAME).dvi: $(FILES) isabelle_isar.eps Thy/pictures/architecture.eps Thy/pictures/adaption.eps
     1.9  	$(LATEX) $(NAME)
    1.10  	$(BIBTEX) $(NAME)
    1.11  	$(LATEX) $(NAME)
    1.12 @@ -25,7 +25,7 @@
    1.13  
    1.14  pdf: $(NAME).pdf
    1.15  
    1.16 -$(NAME).pdf: $(FILES) isabelle_isar.pdf codegen_process.pdf
    1.17 +$(NAME).pdf: $(FILES) isabelle_isar.pdf Thy/pictures/architecture.pdf Thy/pictures/adaption.pdf
    1.18  	$(PDFLATEX) $(NAME)
    1.19  	$(BIBTEX) $(NAME)
    1.20  	$(PDFLATEX) $(NAME)
    1.21 @@ -33,3 +33,12 @@
    1.22  	$(FIXBOOKMARKS) $(NAME).out
    1.23  	$(PDFLATEX) $(NAME)
    1.24  	$(PDFLATEX) $(NAME)
    1.25 +
    1.26 +Thy/pictures/%.dvi: Thy/pictures/%.tex
    1.27 +	latex -output-directory=$(dir $@) $<
    1.28 +
    1.29 +Thy/pictures/%.eps: Thy/pictures/%.dvi
    1.30 +	dvips -E -o $@ $<
    1.31 +
    1.32 +Thy/pictures/%.pdf: Thy/pictures/%.eps
    1.33 +	epstopdf --outfile=$@ $<
     2.1 --- a/doc-src/Codegen/Thy/ROOT.ML	Mon Mar 23 08:16:24 2009 +0100
     2.2 +++ b/doc-src/Codegen/Thy/ROOT.ML	Thu Mar 26 13:01:09 2009 +0100
     2.3 @@ -1,5 +1,3 @@
     2.4 -
     2.5 -(* $Id$ *)
     2.6  
     2.7  no_document use_thy "Setup";
     2.8  no_document use_thys ["Efficient_Nat"];
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/doc-src/Codegen/Thy/pictures/adaption.tex	Thu Mar 26 13:01:09 2009 +0100
     3.3 @@ -0,0 +1,46 @@
     3.4 +
     3.5 +\documentclass[12pt]{article}
     3.6 +\usepackage{pgf}
     3.7 +\usepackage{pgflibraryshapes}
     3.8 +\usepackage{tikz}
     3.9 +
    3.10 +\begin{document}
    3.11 +
    3.12 +\begin{tikzpicture}[scale = 0.5]
    3.13 +  \tikzstyle water=[color = blue, thick]
    3.14 +  \tikzstyle ice=[color = black, very thick, cap = round, join = round, fill = white]
    3.15 +  \tikzstyle process=[color = green, semithick, ->]
    3.16 +  \tikzstyle adaption=[color = red, semithick, ->]
    3.17 +  \tikzstyle target=[color = black]
    3.18 +  \foreach \x in {0, ..., 24}
    3.19 +    \draw[style=water] (\x, 0.25) sin + (0.25, 0.25) cos + (0.25, -0.25) sin
    3.20 +      + (0.25, -0.25) cos + (0.25, 0.25);
    3.21 +  \draw[style=ice] (1, 0) --
    3.22 +    (3, 6) node[above, fill=white] {logic} -- (5, 0) -- cycle;
    3.23 +  \draw[style=ice] (9, 0) --
    3.24 +    (11, 6) node[above, fill=white] {intermediate language} -- (13, 0) -- cycle;
    3.25 +  \draw[style=ice] (15, -6) --
    3.26 +    (19, 6) node[above, fill=white] {target language} -- (23, -6) -- cycle;
    3.27 +  \draw[style=process]
    3.28 +    (3.5, 3) .. controls (7, 5) .. node[fill=white] {translation} (10.5, 3);
    3.29 +  \draw[style=process]
    3.30 +    (11.5, 3) .. controls (15, 5) .. node[fill=white] (serialisation) {serialisation} (18.5, 3);
    3.31 +  \node (adaption) at (11, -2) [style=adaption] {adaption};
    3.32 +  \node at (19, 3) [rotate=90] {generated};
    3.33 +  \node at (19.5, -5) {language};
    3.34 +  \node at (19.5, -3) {library};
    3.35 +  \node (includes) at (19.5, -1) {includes};
    3.36 +  \node (reserved) at (16.5, -3) [rotate=72] {reserved}; % proper 71.57
    3.37 +  \draw[style=process]
    3.38 +    (includes) -- (serialisation);
    3.39 +  \draw[style=process]
    3.40 +    (reserved) -- (serialisation);
    3.41 +  \draw[style=adaption]
    3.42 +    (adaption) -- (serialisation);
    3.43 +  \draw[style=adaption]
    3.44 +    (adaption) -- (includes);
    3.45 +  \draw[style=adaption]
    3.46 +    (adaption) -- (reserved);
    3.47 +\end{tikzpicture}
    3.48 +
    3.49 +\end{document}
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/doc-src/Codegen/Thy/pictures/architecture.tex	Thu Mar 26 13:01:09 2009 +0100
     4.3 @@ -0,0 +1,33 @@
     4.4 +
     4.5 +\documentclass[12pt]{article}
     4.6 +\usepackage{pgf}
     4.7 +\usepackage{pgflibraryshapes}
     4.8 +\usepackage{tikz}
     4.9 +
    4.10 +\begin{document}
    4.11 +
    4.12 +\begin{tikzpicture}[x = 4.2cm, y = 1cm]
    4.13 +  \tikzstyle entity=[rounded corners, draw, thick, color = black, fill = white];
    4.14 +  \tikzstyle process=[ellipse, draw, thick, color = green, fill = white];
    4.15 +  \tikzstyle process_arrow=[->, semithick, color = green];
    4.16 +  \node (HOL) at (0, 4) [style=entity] {Isabelle/HOL theory};
    4.17 +  \node (eqn) at (2, 2) [style=entity] {code equations};
    4.18 +  \node (iml) at (2, 0) [style=entity] {intermediate language};
    4.19 +  \node (seri) at (1, 0) [style=process] {serialisation};
    4.20 +  \node (SML) at (0, 3) [style=entity] {SML};
    4.21 +  \node (OCaml) at (0, 2) [style=entity] {OCaml};
    4.22 +  \node (further) at (0, 1) [style=entity] {\ldots};
    4.23 +  \node (Haskell) at (0, 0) [style=entity] {Haskell};
    4.24 +  \draw [style=process_arrow] (HOL) .. controls (2, 4) ..
    4.25 +    node [style=process, near start] {selection}
    4.26 +    node [style=process, near end] {preprocessing}
    4.27 +    (eqn);
    4.28 +  \draw [style=process_arrow] (eqn) -- node (transl) [style=process] {translation} (iml);
    4.29 +  \draw [style=process_arrow] (iml) -- (seri);
    4.30 +  \draw [style=process_arrow] (seri) -- (SML);
    4.31 +  \draw [style=process_arrow] (seri) -- (OCaml);
    4.32 +  \draw [style=process_arrow, dashed] (seri) -- (further);
    4.33 +  \draw [style=process_arrow] (seri) -- (Haskell);
    4.34 +\end{tikzpicture}
    4.35 +
    4.36 +\end{document}
     5.1 Binary file doc-src/Codegen/codegen_process.pdf has changed
     6.1 --- a/doc-src/Codegen/codegen_process.ps	Mon Mar 23 08:16:24 2009 +0100
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,586 +0,0 @@
     6.4 -%!PS-Adobe-2.0
     6.5 -%%Creator: dot version 2.2 (Mon Sep 12 23:33:36 UTC 2005)
     6.6 -%%For: (haftmann) Florian Haftmann
     6.7 -%%Title: _anonymous_0
     6.8 -%%Pages: (atend)
     6.9 -%%BoundingBox: 35 35 451 291
    6.10 -%%EndComments
    6.11 -save
    6.12 -%%BeginProlog
    6.13 -/DotDict 200 dict def
    6.14 -DotDict begin
    6.15 -
    6.16 -/setupLatin1 {
    6.17 -mark
    6.18 -/EncodingVector 256 array def
    6.19 - EncodingVector 0
    6.20 -
    6.21 -ISOLatin1Encoding 0 255 getinterval putinterval
    6.22 -
    6.23 -EncodingVector
    6.24 -  dup 306 /AE
    6.25 -  dup 301 /Aacute
    6.26 -  dup 302 /Acircumflex
    6.27 -  dup 304 /Adieresis
    6.28 -  dup 300 /Agrave
    6.29 -  dup 305 /Aring
    6.30 -  dup 303 /Atilde
    6.31 -  dup 307 /Ccedilla
    6.32 -  dup 311 /Eacute
    6.33 -  dup 312 /Ecircumflex
    6.34 -  dup 313 /Edieresis
    6.35 -  dup 310 /Egrave
    6.36 -  dup 315 /Iacute
    6.37 -  dup 316 /Icircumflex
    6.38 -  dup 317 /Idieresis
    6.39 -  dup 314 /Igrave
    6.40 -  dup 334 /Udieresis
    6.41 -  dup 335 /Yacute
    6.42 -  dup 376 /thorn
    6.43 -  dup 337 /germandbls
    6.44 -  dup 341 /aacute
    6.45 -  dup 342 /acircumflex
    6.46 -  dup 344 /adieresis
    6.47 -  dup 346 /ae
    6.48 -  dup 340 /agrave
    6.49 -  dup 345 /aring
    6.50 -  dup 347 /ccedilla
    6.51 -  dup 351 /eacute
    6.52 -  dup 352 /ecircumflex
    6.53 -  dup 353 /edieresis
    6.54 -  dup 350 /egrave
    6.55 -  dup 355 /iacute
    6.56 -  dup 356 /icircumflex
    6.57 -  dup 357 /idieresis
    6.58 -  dup 354 /igrave
    6.59 -  dup 360 /dcroat
    6.60 -  dup 361 /ntilde
    6.61 -  dup 363 /oacute
    6.62 -  dup 364 /ocircumflex
    6.63 -  dup 366 /odieresis
    6.64 -  dup 362 /ograve
    6.65 -  dup 365 /otilde
    6.66 -  dup 370 /oslash
    6.67 -  dup 372 /uacute
    6.68 -  dup 373 /ucircumflex
    6.69 -  dup 374 /udieresis
    6.70 -  dup 371 /ugrave
    6.71 -  dup 375 /yacute
    6.72 -  dup 377 /ydieresis  
    6.73 -
    6.74 -% Set up ISO Latin 1 character encoding
    6.75 -/starnetISO {
    6.76 -        dup dup findfont dup length dict begin
    6.77 -        { 1 index /FID ne { def }{ pop pop } ifelse
    6.78 -        } forall
    6.79 -        /Encoding EncodingVector def
    6.80 -        currentdict end definefont
    6.81 -} def
    6.82 -/Times-Roman starnetISO def
    6.83 -/Times-Italic starnetISO def
    6.84 -/Times-Bold starnetISO def
    6.85 -/Times-BoldItalic starnetISO def
    6.86 -/Helvetica starnetISO def
    6.87 -/Helvetica-Oblique starnetISO def
    6.88 -/Helvetica-Bold starnetISO def
    6.89 -/Helvetica-BoldOblique starnetISO def
    6.90 -/Courier starnetISO def
    6.91 -/Courier-Oblique starnetISO def
    6.92 -/Courier-Bold starnetISO def
    6.93 -/Courier-BoldOblique starnetISO def
    6.94 -cleartomark
    6.95 -} bind def
    6.96 -
    6.97 -%%BeginResource: procset graphviz 0 0
    6.98 -/coord-font-family /Times-Roman def
    6.99 -/default-font-family /Times-Roman def
   6.100 -/coordfont coord-font-family findfont 8 scalefont def
   6.101 -
   6.102 -/InvScaleFactor 1.0 def
   6.103 -/set_scale {
   6.104 -	dup 1 exch div /InvScaleFactor exch def
   6.105 -	dup scale
   6.106 -} bind def
   6.107 -
   6.108 -% styles
   6.109 -/solid { [] 0 setdash } bind def
   6.110 -/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
   6.111 -/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
   6.112 -/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
   6.113 -/bold { 2 setlinewidth } bind def
   6.114 -/filled { } bind def
   6.115 -/unfilled { } bind def
   6.116 -/rounded { } bind def
   6.117 -/diagonals { } bind def
   6.118 -
   6.119 -% hooks for setting color 
   6.120 -/nodecolor { sethsbcolor } bind def
   6.121 -/edgecolor { sethsbcolor } bind def
   6.122 -/graphcolor { sethsbcolor } bind def
   6.123 -/nopcolor {pop pop pop} bind def
   6.124 -
   6.125 -/beginpage {	% i j npages
   6.126 -	/npages exch def
   6.127 -	/j exch def
   6.128 -	/i exch def
   6.129 -	/str 10 string def
   6.130 -	npages 1 gt {
   6.131 -		gsave
   6.132 -			coordfont setfont
   6.133 -			0 0 moveto
   6.134 -			(\() show i str cvs show (,) show j str cvs show (\)) show
   6.135 -		grestore
   6.136 -	} if
   6.137 -} bind def
   6.138 -
   6.139 -/set_font {
   6.140 -	findfont exch
   6.141 -	scalefont setfont
   6.142 -} def
   6.143 -
   6.144 -% draw aligned label in bounding box aligned to current point
   6.145 -/alignedtext {			% width adj text
   6.146 -	/text exch def
   6.147 -	/adj exch def
   6.148 -	/width exch def
   6.149 -	gsave
   6.150 -		width 0 gt {
   6.151 -			text stringwidth pop adj mul 0 rmoveto
   6.152 -		} if
   6.153 -		[] 0 setdash
   6.154 -		text show
   6.155 -	grestore
   6.156 -} def
   6.157 -
   6.158 -/boxprim {				% xcorner ycorner xsize ysize
   6.159 -		4 2 roll
   6.160 -		moveto
   6.161 -		2 copy
   6.162 -		exch 0 rlineto
   6.163 -		0 exch rlineto
   6.164 -		pop neg 0 rlineto
   6.165 -		closepath
   6.166 -} bind def
   6.167 -
   6.168 -/ellipse_path {
   6.169 -	/ry exch def
   6.170 -	/rx exch def
   6.171 -	/y exch def
   6.172 -	/x exch def
   6.173 -	matrix currentmatrix
   6.174 -	newpath
   6.175 -	x y translate
   6.176 -	rx ry scale
   6.177 -	0 0 1 0 360 arc
   6.178 -	setmatrix
   6.179 -} bind def
   6.180 -
   6.181 -/endpage { showpage } bind def
   6.182 -/showpage { } def
   6.183 -
   6.184 -/layercolorseq
   6.185 -	[	% layer color sequence - darkest to lightest
   6.186 -		[0 0 0]
   6.187 -		[.2 .8 .8]
   6.188 -		[.4 .8 .8]
   6.189 -		[.6 .8 .8]
   6.190 -		[.8 .8 .8]
   6.191 -	]
   6.192 -def
   6.193 -
   6.194 -/layerlen layercolorseq length def
   6.195 -
   6.196 -/setlayer {/maxlayer exch def /curlayer exch def
   6.197 -	layercolorseq curlayer 1 sub layerlen mod get
   6.198 -	aload pop sethsbcolor
   6.199 -	/nodecolor {nopcolor} def
   6.200 -	/edgecolor {nopcolor} def
   6.201 -	/graphcolor {nopcolor} def
   6.202 -} bind def
   6.203 -
   6.204 -/onlayer { curlayer ne {invis} if } def
   6.205 -
   6.206 -/onlayers {
   6.207 -	/myupper exch def
   6.208 -	/mylower exch def
   6.209 -	curlayer mylower lt
   6.210 -	curlayer myupper gt
   6.211 -	or
   6.212 -	{invis} if
   6.213 -} def
   6.214 -
   6.215 -/curlayer 0 def
   6.216 -
   6.217 -%%EndResource
   6.218 -%%EndProlog
   6.219 -%%BeginSetup
   6.220 -14 default-font-family set_font
   6.221 -1 setmiterlimit
   6.222 -% /arrowlength 10 def
   6.223 -% /arrowwidth 5 def
   6.224 -
   6.225 -% make sure pdfmark is harmless for PS-interpreters other than Distiller
   6.226 -/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
   6.227 -% make '<<' and '>>' safe on PS Level 1 devices
   6.228 -/languagelevel where {pop languagelevel}{1} ifelse
   6.229 -2 lt {
   6.230 -    userdict (<<) cvn ([) cvn load put
   6.231 -    userdict (>>) cvn ([) cvn load put
   6.232 -} if
   6.233 -
   6.234 -%%EndSetup
   6.235 -%%Page: 1 1
   6.236 -%%PageBoundingBox: 36 36 451 291
   6.237 -%%PageOrientation: Portrait
   6.238 -gsave
   6.239 -35 35 416 256 boxprim clip newpath
   6.240 -36 36 translate
   6.241 -0 0 1 beginpage
   6.242 -0 0 translate 0 rotate
   6.243 -[ /CropBox [36 36 451 291] /PAGES pdfmark
   6.244 -0.000 0.000 0.000 graphcolor
   6.245 -14.00 /Times-Roman set_font
   6.246 -
   6.247 -%	theory
   6.248 -gsave 10 dict begin
   6.249 -newpath 93 254 moveto
   6.250 -1 254 lineto
   6.251 -1 214 lineto
   6.252 -93 214 lineto
   6.253 -closepath
   6.254 -stroke
   6.255 -gsave 10 dict begin
   6.256 -8 237 moveto
   6.257 -(Isabelle/HOL)
   6.258 -[4.56 5.52 6.24 6.96 6.24 3.84 3.84 6.24 3.84 10.08 10.08 8.64]
   6.259 -xshow
   6.260 -16 221 moveto
   6.261 -(Isar theory)
   6.262 -[4.56 5.52 6.24 4.56 3.6 4.08 6.96 6.24 6.96 4.8 6.96]
   6.263 -xshow
   6.264 -end grestore
   6.265 -end grestore
   6.266 -
   6.267 -%	selection
   6.268 -gsave 10 dict begin
   6.269 -183 234 38 18 ellipse_path
   6.270 -stroke
   6.271 -gsave 10 dict begin
   6.272 -158 229 moveto
   6.273 -(selection)
   6.274 -[5.52 6.24 3.84 6.24 6.24 3.84 3.84 6.96 6.96]
   6.275 -xshow
   6.276 -end grestore
   6.277 -end grestore
   6.278 -
   6.279 -%	theory -> selection
   6.280 -newpath 94 234 moveto
   6.281 -107 234 121 234 135 234 curveto
   6.282 -stroke
   6.283 -gsave 10 dict begin
   6.284 -solid
   6.285 -1 setlinewidth
   6.286 -0.000 0.000 0.000 edgecolor
   6.287 -newpath 135 238 moveto
   6.288 -145 234 lineto
   6.289 -135 231 lineto
   6.290 -closepath
   6.291 -fill
   6.292 -0.000 0.000 0.000 edgecolor
   6.293 -newpath 135 238 moveto
   6.294 -145 234 lineto
   6.295 -135 231 lineto
   6.296 -closepath
   6.297 -stroke
   6.298 -end grestore
   6.299 -
   6.300 -%	sml
   6.301 -gsave 10 dict begin
   6.302 -newpath 74 144 moveto
   6.303 -20 144 lineto
   6.304 -20 108 lineto
   6.305 -74 108 lineto
   6.306 -closepath
   6.307 -stroke
   6.308 -gsave 10 dict begin
   6.309 -32 121 moveto
   6.310 -(SML)
   6.311 -[7.68 12.48 8.64]
   6.312 -xshow
   6.313 -end grestore
   6.314 -end grestore
   6.315 -
   6.316 -%	other
   6.317 -gsave 10 dict begin
   6.318 -gsave 10 dict begin
   6.319 -41 67 moveto
   6.320 -(...)
   6.321 -[3.6 3.6 3.6]
   6.322 -xshow
   6.323 -end grestore
   6.324 -end grestore
   6.325 -
   6.326 -%	haskell
   6.327 -gsave 10 dict begin
   6.328 -newpath 77 36 moveto
   6.329 -17 36 lineto
   6.330 -17 0 lineto
   6.331 -77 0 lineto
   6.332 -closepath
   6.333 -stroke
   6.334 -gsave 10 dict begin
   6.335 -25 13 moveto
   6.336 -(Haskell)
   6.337 -[10.08 6.24 5.52 6.72 6.24 3.84 3.84]
   6.338 -xshow
   6.339 -end grestore
   6.340 -end grestore
   6.341 -
   6.342 -%	preprocessing
   6.343 -gsave 10 dict begin
   6.344 -183 180 52 18 ellipse_path
   6.345 -stroke
   6.346 -gsave 10 dict begin
   6.347 -143 175 moveto
   6.348 -(preprocessing)
   6.349 -[6.96 4.56 6.24 6.96 4.56 6.96 6.24 6.24 5.52 5.52 3.84 6.96 6.96]
   6.350 -xshow
   6.351 -end grestore
   6.352 -end grestore
   6.353 -
   6.354 -%	selection -> preprocessing
   6.355 -newpath 183 216 moveto
   6.356 -183 213 183 211 183 208 curveto
   6.357 -stroke
   6.358 -gsave 10 dict begin
   6.359 -solid
   6.360 -1 setlinewidth
   6.361 -0.000 0.000 0.000 edgecolor
   6.362 -newpath 187 208 moveto
   6.363 -183 198 lineto
   6.364 -180 208 lineto
   6.365 -closepath
   6.366 -fill
   6.367 -0.000 0.000 0.000 edgecolor
   6.368 -newpath 187 208 moveto
   6.369 -183 198 lineto
   6.370 -180 208 lineto
   6.371 -closepath
   6.372 -stroke
   6.373 -end grestore
   6.374 -
   6.375 -%	def_eqn
   6.376 -gsave 10 dict begin
   6.377 -newpath 403 198 moveto
   6.378 -283 198 lineto
   6.379 -283 162 lineto
   6.380 -403 162 lineto
   6.381 -closepath
   6.382 -stroke
   6.383 -gsave 10 dict begin
   6.384 -291 175 moveto
   6.385 -(defining equations)
   6.386 -[6.96 6.24 4.8 3.84 6.96 3.84 6.96 6.96 3.6 6.24 6.72 6.96 6.24 3.84 3.84 6.96 6.96 5.52]
   6.387 -xshow
   6.388 -end grestore
   6.389 -end grestore
   6.390 -
   6.391 -%	preprocessing -> def_eqn
   6.392 -newpath 236 180 moveto
   6.393 -248 180 260 180 273 180 curveto
   6.394 -stroke
   6.395 -gsave 10 dict begin
   6.396 -solid
   6.397 -1 setlinewidth
   6.398 -0.000 0.000 0.000 edgecolor
   6.399 -newpath 273 184 moveto
   6.400 -283 180 lineto
   6.401 -273 177 lineto
   6.402 -closepath
   6.403 -fill
   6.404 -0.000 0.000 0.000 edgecolor
   6.405 -newpath 273 184 moveto
   6.406 -283 180 lineto
   6.407 -273 177 lineto
   6.408 -closepath
   6.409 -stroke
   6.410 -end grestore
   6.411 -
   6.412 -%	serialization
   6.413 -gsave 10 dict begin
   6.414 -183 72 47 18 ellipse_path
   6.415 -stroke
   6.416 -gsave 10 dict begin
   6.417 -148 67 moveto
   6.418 -(serialization)
   6.419 -[5.52 6.24 4.8 3.84 6.24 3.84 3.84 6.24 6.24 3.84 3.84 6.96 6.96]
   6.420 -xshow
   6.421 -end grestore
   6.422 -end grestore
   6.423 -
   6.424 -%	serialization -> sml
   6.425 -newpath 150 85 moveto
   6.426 -129 93 104 103 83 111 curveto
   6.427 -stroke
   6.428 -gsave 10 dict begin
   6.429 -solid
   6.430 -1 setlinewidth
   6.431 -0.000 0.000 0.000 edgecolor
   6.432 -newpath 82 108 moveto
   6.433 -74 115 lineto
   6.434 -85 114 lineto
   6.435 -closepath
   6.436 -fill
   6.437 -0.000 0.000 0.000 edgecolor
   6.438 -newpath 82 108 moveto
   6.439 -74 115 lineto
   6.440 -85 114 lineto
   6.441 -closepath
   6.442 -stroke
   6.443 -end grestore
   6.444 -
   6.445 -%	serialization -> other
   6.446 -gsave 10 dict begin
   6.447 -dotted
   6.448 -newpath 135 72 moveto
   6.449 -119 72 100 72 84 72 curveto
   6.450 -stroke
   6.451 -gsave 10 dict begin
   6.452 -solid
   6.453 -1 setlinewidth
   6.454 -0.000 0.000 0.000 edgecolor
   6.455 -newpath 84 69 moveto
   6.456 -74 72 lineto
   6.457 -84 76 lineto
   6.458 -closepath
   6.459 -fill
   6.460 -0.000 0.000 0.000 edgecolor
   6.461 -newpath 84 69 moveto
   6.462 -74 72 lineto
   6.463 -84 76 lineto
   6.464 -closepath
   6.465 -stroke
   6.466 -end grestore
   6.467 -end grestore
   6.468 -
   6.469 -%	serialization -> haskell
   6.470 -newpath 150 59 moveto
   6.471 -131 51 107 42 86 34 curveto
   6.472 -stroke
   6.473 -gsave 10 dict begin
   6.474 -solid
   6.475 -1 setlinewidth
   6.476 -0.000 0.000 0.000 edgecolor
   6.477 -newpath 88 31 moveto
   6.478 -77 30 lineto
   6.479 -85 37 lineto
   6.480 -closepath
   6.481 -fill
   6.482 -0.000 0.000 0.000 edgecolor
   6.483 -newpath 88 31 moveto
   6.484 -77 30 lineto
   6.485 -85 37 lineto
   6.486 -closepath
   6.487 -stroke
   6.488 -end grestore
   6.489 -
   6.490 -%	translation
   6.491 -gsave 10 dict begin
   6.492 -343 126 43 18 ellipse_path
   6.493 -stroke
   6.494 -gsave 10 dict begin
   6.495 -313 121 moveto
   6.496 -(translation)
   6.497 -[3.84 4.56 6.24 6.96 5.52 3.84 6.24 3.84 3.84 6.96 6.96]
   6.498 -xshow
   6.499 -end grestore
   6.500 -end grestore
   6.501 -
   6.502 -%	def_eqn -> translation
   6.503 -newpath 343 162 moveto
   6.504 -343 159 343 157 343 154 curveto
   6.505 -stroke
   6.506 -gsave 10 dict begin
   6.507 -solid
   6.508 -1 setlinewidth
   6.509 -0.000 0.000 0.000 edgecolor
   6.510 -newpath 347 154 moveto
   6.511 -343 144 lineto
   6.512 -340 154 lineto
   6.513 -closepath
   6.514 -fill
   6.515 -0.000 0.000 0.000 edgecolor
   6.516 -newpath 347 154 moveto
   6.517 -343 144 lineto
   6.518 -340 154 lineto
   6.519 -closepath
   6.520 -stroke
   6.521 -end grestore
   6.522 -
   6.523 -%	iml
   6.524 -gsave 10 dict begin
   6.525 -newpath 413 90 moveto
   6.526 -273 90 lineto
   6.527 -273 54 lineto
   6.528 -413 54 lineto
   6.529 -closepath
   6.530 -stroke
   6.531 -gsave 10 dict begin
   6.532 -280 67 moveto
   6.533 -(intermediate language)
   6.534 -[3.84 6.96 3.84 6.24 4.8 10.8 6.24 6.96 3.84 6.24 3.84 6.24 3.6 3.84 6.24 6.96 6.96 6.96 6.24 6.72 6.24]
   6.535 -xshow
   6.536 -end grestore
   6.537 -end grestore
   6.538 -
   6.539 -%	translation -> iml
   6.540 -newpath 343 108 moveto
   6.541 -343 105 343 103 343 100 curveto
   6.542 -stroke
   6.543 -gsave 10 dict begin
   6.544 -solid
   6.545 -1 setlinewidth
   6.546 -0.000 0.000 0.000 edgecolor
   6.547 -newpath 347 100 moveto
   6.548 -343 90 lineto
   6.549 -340 100 lineto
   6.550 -closepath
   6.551 -fill
   6.552 -0.000 0.000 0.000 edgecolor
   6.553 -newpath 347 100 moveto
   6.554 -343 90 lineto
   6.555 -340 100 lineto
   6.556 -closepath
   6.557 -stroke
   6.558 -end grestore
   6.559 -
   6.560 -%	iml -> serialization
   6.561 -newpath 272 72 moveto
   6.562 -262 72 251 72 241 72 curveto
   6.563 -stroke
   6.564 -gsave 10 dict begin
   6.565 -solid
   6.566 -1 setlinewidth
   6.567 -0.000 0.000 0.000 edgecolor
   6.568 -newpath 241 69 moveto
   6.569 -231 72 lineto
   6.570 -241 76 lineto
   6.571 -closepath
   6.572 -fill
   6.573 -0.000 0.000 0.000 edgecolor
   6.574 -newpath 241 69 moveto
   6.575 -231 72 lineto
   6.576 -241 76 lineto
   6.577 -closepath
   6.578 -stroke
   6.579 -end grestore
   6.580 -endpage
   6.581 -showpage
   6.582 -grestore
   6.583 -%%PageTrailer
   6.584 -%%EndPage: 1
   6.585 -%%Trailer
   6.586 -%%Pages: 1
   6.587 -end
   6.588 -restore
   6.589 -%%EOF