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="1441.0195" 13 height="439.82764" 14 id="svg2" 15 version="1.1" 16 inkscape:version="0.48.4 r9939" 17 sodipodi:docname="folds.svg"> 18 <defs 19 id="defs4" /> 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" 28 inkscape:cx="625.34814" 29 inkscape:cy="133.49169" 30 inkscape:document-units="px" 31 inkscape:current-layer="layer1" 32 showgrid="false" 33 inkscape:window-width="1855" 34 inkscape:window-height="1056" 35 inkscape:window-x="65" 36 inkscape:window-y="24" 37 inkscape:window-maximized="1" 38 showguides="true" 39 inkscape:guide-bbox="true" 40 fit-margin-top="0" 41 fit-margin-left="0" 42 fit-margin-right="0" 43 fit-margin-bottom="0" /> 44 <metadata 45 id="metadata7"> 46 <rdf:RDF> 47 <cc:Work 48 rdf:about=""> 49 <dc:format>image/svg+xml</dc:format> 50 <dc:type 51 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 52 <dc:title /> 53 </cc:Work> 54 </rdf:RDF> 55 </metadata> 56 <g 57 inkscape:label="Ebene 1" 58 inkscape:groupmode="layer" 59 id="layer1" 60 transform="translate(-22.351023,-120.61823)"> 61 <g 62 id="g4013" 63 transform="translate(199.50768,248.49753)"> 64 <text 65 sodipodi:linespacing="125%" 66 id="text2985" 67 y="99.47654" 68 x="26.174335" 69 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 70 xml:space="preserve"><tspan 71 y="99.47654" 72 x="26.174335" 73 id="tspan2987" 74 sodipodi:role="line">fold</tspan></text> 75 <text 76 sodipodi:linespacing="125%" 77 id="text3870" 78 y="69.064384" 79 x="357.79153" 80 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 81 xml:space="preserve"><tspan 82 style="text-align:center;text-anchor:middle" 83 y="69.064384" 84 x="357.79153" 85 id="tspan3872" 86 sodipodi:role="line">_reject_incomplete</tspan></text> 87 <text 88 sodipodi:linespacing="125%" 89 id="text3870-8" 90 y="56.984238" 91 x="767.75244" 92 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 93 xml:space="preserve"><tspan 94 style="text-align:center;text-anchor:middle" 95 y="56.984238" 96 x="767.75244" 97 id="tspan3872-50" 98 sodipodi:role="line">_start_with_parser</tspan></text> 99 <text 100 sodipodi:linespacing="125%" 101 id="text3870-7-2" 102 y="101.14451" 103 x="591.75244" 104 style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 105 xml:space="preserve"><tspan 106 y="101.14451" 107 x="591.75244" 108 id="tspan3872-3-7" 109 sodipodi:role="line">1</tspan></text> 110 <text 111 sodipodi:linespacing="125%" 112 id="text3870-3" 113 y="77.064384" 114 x="141.8306" 115 style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 116 xml:space="preserve"><tspan 117 y="77.064384" 118 x="141.8306" 119 id="tspan3872-7" 120 sodipodi:role="line">l</tspan></text> 121 <text 122 sodipodi:linespacing="125%" 123 id="text3870-7-9" 124 y="121.22465" 125 x="141.8306" 126 style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 127 xml:space="preserve"><tspan 128 y="121.22465" 129 x="141.8306" 130 id="tspan3872-3-9" 131 sodipodi:role="line">r</tspan></text> 132 </g> 133 <text 134 xml:space="preserve" 135 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 136 x="22.223354" 137 y="244.7681" 138 id="text4027" 139 sodipodi:linespacing="125%"><tspan 140 sodipodi:role="line" 141 x="22.223354" 142 y="244.7681" 143 style="font-size:20px" 144 id="tspan4204">process from</tspan><tspan 145 sodipodi:role="line" 146 x="22.223354" 147 y="269.7681" 148 style="font-size:20px" 149 id="tspan4208">left-to-right</tspan></text> 150 <text 151 xml:space="preserve" 152 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 153 x="20.534616" 154 y="408.06741" 155 id="text4027-2" 156 sodipodi:linespacing="125%"><tspan 157 sodipodi:role="line" 158 id="tspan4029-9" 159 x="20.534616" 160 y="408.06741" 161 style="font-size:20px">process from</tspan><tspan 162 sodipodi:role="line" 163 x="20.534616" 164 y="433.06741" 165 style="font-size:20px" 166 id="tspan4210">right-to-left</tspan></text> 167 <text 168 xml:space="preserve" 169 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 170 x="419.42136" 171 y="135.81354" 172 id="text4027-7" 173 sodipodi:linespacing="125%"><tspan 174 sodipodi:role="line" 175 x="419.42136" 176 y="135.81354" 177 style="font-size:20px" 178 id="tspan4075">Advanced error reporting</tspan><tspan 179 sodipodi:role="line" 180 x="419.42136" 181 y="160.81354" 182 style="font-size:20px" 183 id="tspan4082">by expecting the repeated</tspan><tspan 184 sodipodi:role="line" 185 x="419.42136" 186 y="185.81354" 187 style="font-size:20px" 188 id="tspan4084">parser to fail immediately</tspan><tspan 189 sodipodi:role="line" 190 x="419.42136" 191 y="210.81354" 192 style="font-size:20px" 193 id="tspan4086">after the last element.</tspan></text> 194 <text 195 xml:space="preserve" 196 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 197 x="419.6362" 198 y="481.28571" 199 id="text4027-4" 200 sodipodi:linespacing="125%"><tspan 201 sodipodi:role="line" 202 id="tspan4029-7" 203 x="419.6362" 204 y="481.28571" 205 style="font-size:20px">The repeated parser might</tspan><tspan 206 sodipodi:role="line" 207 x="419.6362" 208 y="506.28571" 209 style="font-size:20px" 210 id="tspan4097">consume characters after</tspan><tspan 211 sodipodi:role="line" 212 x="419.6362" 213 y="531.28571" 214 style="font-size:20px" 215 id="tspan4099">the last successfully parsed</tspan><tspan 216 sodipodi:role="line" 217 x="419.6362" 218 y="556.28571" 219 style="font-size:20px" 220 id="tspan4101">element before failing.</tspan></text> 221 <text 222 xml:space="preserve" 223 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 224 x="1232.9116" 225 y="193.87955" 226 id="text4027-9" 227 sodipodi:linespacing="125%"><tspan 228 sodipodi:role="line" 229 id="tspan4029-2" 230 x="1232.9116" 231 y="193.87955" 232 style="font-size:20px">The initial value comes</tspan><tspan 233 sodipodi:role="line" 234 x="1232.9116" 235 y="218.87955" 236 style="font-size:20px" 237 id="tspan4112">from an extra parser</tspan><tspan 238 sodipodi:role="line" 239 x="1232.9116" 240 y="243.87955" 241 style="font-size:20px" 242 id="tspan4114">application</tspan></text> 243 <text 244 xml:space="preserve" 245 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 246 x="1232.9116" 247 y="300.86435" 248 id="text4027-9-8" 249 sodipodi:linespacing="125%"><tspan 250 sodipodi:role="line" 251 x="1232.9116" 252 y="300.86435" 253 style="font-size:20px" 254 id="tspan4114-7">The initial value is a</tspan><tspan 255 sodipodi:role="line" 256 x="1232.9116" 257 y="325.86435" 258 style="font-size:20px" 259 id="tspan4166">constant and 0</tspan><tspan 260 sodipodi:role="line" 261 x="1232.9116" 262 y="350.86435" 263 style="font-size:20px" 264 id="tspan4170">repetition is not</tspan><tspan 265 sodipodi:role="line" 266 x="1232.9116" 267 y="375.86435" 268 style="font-size:20px" 269 id="tspan4172">acceptable</tspan></text> 270 <text 271 xml:space="preserve" 272 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 273 x="1232.9116" 274 y="433.68417" 275 id="text4027-9-8-1" 276 sodipodi:linespacing="125%"><tspan 277 sodipodi:role="line" 278 x="1232.9116" 279 y="433.68417" 280 style="font-size:20px" 281 id="tspan4114-7-6">The initial value is a</tspan><tspan 282 sodipodi:role="line" 283 x="1232.9116" 284 y="458.68417" 285 style="font-size:20px" 286 id="tspan4166-2">constant and 0</tspan><tspan 287 sodipodi:role="line" 288 x="1232.9116" 289 y="483.68417" 290 style="font-size:20px" 291 id="tspan4170-6">repetition is</tspan><tspan 292 sodipodi:role="line" 293 x="1232.9116" 294 y="508.68417" 295 style="font-size:20px" 296 id="tspan4172-0">acceptable</tspan></text> 297 <rect 298 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 299 id="rect4212-5" 300 width="177.89055" 301 height="2.0203059" 302 x="162.59395" 303 y="426.38483" 304 ry="0.025847621" /> 305 <path 306 style="fill:#808080;fill-opacity:1" 307 d="m 351.48989,402.52697 -19.19282,0 9.7846,-26.26396 0,0 z" 308 id="rect18817-2" 309 inkscape:connector-curvature="0" 310 sodipodi:nodetypes="ccccc" /> 311 <rect 312 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 313 id="rect4212-5-8" 314 width="33.988052" 315 height="2.0203059" 316 x="394.32648" 317 y="-342.90363" 318 ry="0.025847621" 319 transform="matrix(0,1,-1,0,0,0)" /> 320 <rect 321 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 322 id="rect4212-5-3" 323 width="179.89055" 324 height="2.0203059" 325 x="162.59395" 326 y="-242.28333" 327 ry="0.025847621" 328 transform="scale(1,-1)" /> 329 <path 330 style="fill:#808080;fill-opacity:1" 331 d="m 351.48989,266.14117 -19.19282,0 9.7846,26.26396 0,0 z" 332 id="rect18817-2-2" 333 inkscape:connector-curvature="0" 334 sodipodi:nodetypes="ccccc" /> 335 <rect 336 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 337 id="rect4212-5-8-2" 338 width="33.988052" 339 height="2.0203059" 340 x="-274.34167" 341 y="-342.90363" 342 ry="0.025847621" 343 transform="matrix(0,-1,-1,0,0,0)" /> 344 <path 345 style="fill:#808080;fill-opacity:1" 346 d="m 557.48989,266.14117 -19.19282,0 9.7846,26.26396 0,0 z" 347 id="rect18817-2-2-0" 348 inkscape:connector-curvature="0" 349 sodipodi:nodetypes="ccccc" /> 350 <rect 351 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 352 id="rect4212-5-8-2-6" 353 width="62.202339" 354 height="2.0203059" 355 x="-274.34167" 356 y="-548.90363" 357 ry="0.025847621" 358 transform="matrix(0,-1,-1,0,0,0)" /> 359 <path 360 style="fill:#808080;fill-opacity:1" 361 d="m 557.48989,402.52697 -19.19282,0 9.7846,-26.26396 0,0 z" 362 id="rect18817-2-3" 363 inkscape:connector-curvature="0" 364 sodipodi:nodetypes="ccccc" /> 365 <rect 366 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 367 id="rect4212-5-8-4" 368 width="73.273766" 369 height="2.0203059" 370 x="394.32648" 371 y="-548.90363" 372 ry="0.025847621" 373 transform="matrix(0,1,-1,0,0,0)" /> 374 <path 375 style="fill:#808080;fill-opacity:1" 376 d="m 1182.4177,302.31574 0,-19.19282 -26.264,9.7846 0,0 z" 377 id="rect18817-2-2-0-1" 378 inkscape:connector-curvature="0" 379 sodipodi:nodetypes="ccccc" /> 380 <rect 381 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 382 id="rect4212-5-3-1" 383 width="24.033403" 384 height="2.0203059" 385 x="1167.269" 386 y="-293.72949" 387 ry="0.025847621" 388 transform="scale(1,-1)" /> 389 <rect 390 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 391 id="rect4212-5-8-2-6-3" 392 width="55.416626" 393 height="2.0203059" 394 x="-293.8205" 395 y="-1192.6531" 396 ry="0.025847621" 397 transform="matrix(0,-1,-1,0,0,0)" /> 398 <rect 399 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 400 id="rect4212-5-3-1-3" 401 width="40.461975" 402 height="2.0203059" 403 x="1191.269" 404 y="-239.72949" 405 ry="0.025847621" 406 transform="scale(1,-1)" /> 407 <path 408 style="fill:#808080;fill-opacity:1" 409 d="m 834.4177,342.31574 0,-19.19282 -26.264,9.7846 0,0 z" 410 id="rect18817-2-2-0-1-8" 411 inkscape:connector-curvature="0" 412 sodipodi:nodetypes="ccccc" /> 413 <rect 414 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 415 id="rect4212-5-3-1-7" 416 width="407.81912" 417 height="2.0203059" 418 x="822.91193" 419 y="-333.72949" 420 ry="0.025847621" 421 transform="scale(1,-1)" /> 422 <path 423 style="fill:#808080;fill-opacity:1" 424 d="m 834.4177,363.70919 0,19.19282 -26.264,-9.7846 0,0 z" 425 id="rect18817-2-2-0-1-5" 426 inkscape:connector-curvature="0" 427 sodipodi:nodetypes="ccccc" /> 428 <rect 429 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 430 id="rect4212-5-3-1-2" 431 width="373.03342" 432 height="2.0203059" 433 x="819.26898" 434 y="372.29544" 435 ry="0.025847621" /> 436 <rect 437 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 438 id="rect4212-5-8-2-6-3-7" 439 width="55.416626" 440 height="2.0203059" 441 x="372.20444" 442 y="-1192.6531" 443 ry="0.025847621" 444 transform="matrix(0,1,-1,0,0,0)" /> 445 <rect 446 style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" 447 id="rect4212-5-3-1-3-4" 448 width="40.461975" 449 height="2.0203059" 450 x="1191.269" 451 y="426.29544" 452 ry="0.025847621" /> 453 <text 454 xml:space="preserve" 455 style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" 456 x="1360.6494" 457 y="349.37976" 458 id="text4027-9-8-9" 459 sodipodi:linespacing="125%"><tspan 460 sodipodi:role="line" 461 x="1360.6494" 462 y="349.37976" 463 style="font-size:20px" 464 id="tspan4172-9">___</tspan></text> 465 </g> 466</svg> 467