OK, here's a [list-s2l] with delimiting.  This wasn't easy.  =o)
Included are all the abstractions needed --

[symbollength] calculates the length of a symbol.

[list-l2f], as yet undocumented, attempts to build a float from an
incoming stream of numbers and symbols -- works pretty well.

I tried to get as close as possible to the behavior of zexy [s2l] and
[list-l2s] ...

It's probably not fast enough to use in practice, but it would be
worth testing with small symbols to find out

If you could test it, I could work out the bugs.  I'd take
suggestions, of course.


Matt



On Mon, Nov 16, 2009 at 6:22 PM, Matt Barber <brbrof...@gmail.com> wrote:
> Hello list,
>
> Attached is a prototype for a vanilla + list-abs [list-s2l].  I have
> leaned on the side of completeness and error reduction rather than
> efficiency -- there are many many ways to make this more efficient.
> Also, it doesn't handle delimiters yet (right now it breaks a symbol
> into its constituent characters, casting float symbols back to float),
> but I think I could figure out how to do it.
>
> Neither this nor [list-l2s] handles % appropriately...
>
> I'd appreciate any feedback.
>
> Matt
>
#N canvas 281 56 684 695 10;
#X obj 122 513 sel s;
#X obj 143 361 makefilename %%.%ds;
#X msg 143 388 set \$1;
#X obj 48 212 until;
#X obj 76 297 + 1;
#X obj 33 623 f;
#X obj 122 311 symbol;
#X obj 48 238 t b b;
#X obj 149 563 s \$0-stop;
#X obj 122 539 t b b;
#X obj 75 174 r \$0-stop;
#X obj 192 468 print;
#X obj 184 46 inlet;
#X obj 184 174 t b b s;
#X obj 184 73 route symbol;
#X obj 33 644 outlet;
#X obj 192 445 spigot 0;
#X obj 237 423 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 223 204 s \$0-sym;
#X obj 122 280 r \$0-sym;
#X obj 149 490 r \$0-sym;
#X obj 122 422 makefilename;
#X text 31 18 find length of symbol by iterating the first n characters
;
#X text 276 362 <- sprintf fun;
#X text 266 423 <- try this on;
#X obj 48 297 f 1;
#X msg 138 232 1;
#X obj 157 145 sel s;
#X obj 184 100 loadbang;
#X msg 184 122 symbol;
#X obj 208 262 s \$0-protect;
#X obj 103 604 r \$0-protect;
#X msg 103 627 0;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 2 0 21 0;
#X connect 3 0 7 0;
#X connect 4 0 25 1;
#X connect 5 0 15 0;
#X connect 6 0 21 0;
#X connect 7 0 6 0;
#X connect 7 1 25 0;
#X connect 9 0 5 0;
#X connect 9 1 8 0;
#X connect 10 0 3 1;
#X connect 12 0 14 0;
#X connect 13 0 3 0;
#X connect 13 1 26 0;
#X connect 13 2 18 0;
#X connect 14 0 27 0;
#X connect 16 0 11 0;
#X connect 17 0 16 1;
#X connect 19 0 6 1;
#X connect 20 0 0 1;
#X connect 21 0 0 0;
#X connect 21 0 16 0;
#X connect 25 0 4 0;
#X connect 25 0 5 1;
#X connect 25 0 1 0;
#X connect 26 0 25 1;
#X connect 27 0 30 0;
#X connect 27 1 13 0;
#X connect 28 0 29 0;
#X connect 29 0 27 1;
#X connect 31 0 32 0;
#X connect 32 0 15 0;
#N canvas 600 22 381 423 10;
#N canvas 152 93 601 673 \$0-split-exp 0;
#X obj 133 263 list-fifo-delim E;
#X obj 133 174 until;
#X obj 250 197 b;
#X obj 250 263 b;
#X obj 116 229 until;
#X obj 133 197 list-fifo-delim e;
#X obj 99 37 inlet;
#X obj 231 357 f 1;
#X msg 246 336 1;
#X obj 246 315 r \$0-init;
#X obj 267 357 + 1;
#X obj 216 492 == 2;
#X obj 216 517 sel 0;
#X obj 216 470 f;
#X obj 119 374 list prepend;
#X obj 133 287 t a b;
#X obj 119 401 route 1 2;
#X obj 73 453 list;
#X obj 123 453 list;
#X obj 73 340 t b b b;
#X obj 73 547 spigot;
#X obj 123 547 spigot;
#X obj 123 574 outlet;
#X obj 73 574 outlet;
#X obj 216 541 s \$0-not-float;
#X obj 201 81 list-splat -1;
#X obj 238 105 sel e E;
#X obj 99 91 spigot;
#X obj 99 118 t b b b a;
#X obj 99 64 t a a;
#X obj 151 37 r \$0-init;
#X msg 151 59 1;
#X msg 194 120 0;
#X obj 238 152 s \$0-not-float;
#X obj 238 128 t b b;
#X connect 0 0 15 0;
#X connect 0 1 3 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 4 1;
#X connect 4 0 0 0;
#X connect 5 0 0 1;
#X connect 5 1 2 0;
#X connect 6 0 29 0;
#X connect 7 0 10 0;
#X connect 7 0 13 1;
#X connect 7 0 14 1;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
#X connect 10 0 7 1;
#X connect 11 0 12 0;
#X connect 11 0 20 1;
#X connect 11 0 21 1;
#X connect 12 0 24 0;
#X connect 13 0 11 0;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X connect 15 1 7 0;
#X connect 16 0 17 1;
#X connect 16 1 18 1;
#X connect 17 0 20 0;
#X connect 18 0 21 0;
#X connect 19 0 17 0;
#X connect 19 1 18 0;
#X connect 19 2 13 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 25 1 26 0;
#X connect 26 0 34 0;
#X connect 26 1 34 0;
#X connect 27 0 28 0;
#X connect 28 0 19 0;
#X connect 28 1 4 0;
#X connect 28 2 1 0;
#X connect 28 3 5 1;
#X connect 29 0 27 0;
#X connect 29 1 25 0;
#X connect 30 0 31 0;
#X connect 31 0 27 1;
#X connect 32 0 27 1;
#X connect 34 0 33 0;
#X connect 34 1 32 0;
#X restore 69 167 pd \$0-split-exp;
#X obj 71 109 s \$0-init;
#N canvas 114 405 327 248 \$0-exp 0;
#X obj 87 20 inlet;
#N canvas 811 159 593 616 \$0-exp-filter 0;
#X obj 157 54 list split 1;
#X obj 292 147 list;
#X obj 50 147 sel + -;
#X obj 69 307 s \$0-neg-exp;
#X msg 69 284 -1;
#X obj 434 384 == 0;
#X obj 454 340 int;
#X obj 434 362 -;
#X obj 135 164 route float;
#X obj 135 186 moses 0;
#X obj 135 208 t f b;
#X obj 135 241 abs;
#X obj 198 208 s \$0-not-float;
#X obj 198 186 b;
#X obj 146 87 t b a;
#X obj 349 199 list-drip;
#X obj 412 245 b;
#X obj 412 268 s \$0-not-float;
#X obj 292 356 spigot;
#X msg 88 217 1;
#X obj 292 380 s \$0-not-float;
#X obj 349 224 route float;
#X obj 292 177 route bang;
#X obj 415 532 spigot;
#X obj 434 458 s \$0-not-float;
#X obj 434 408 sel 0;
#X msg 482 515 1;
#X obj 482 493 r \$0-init;
#X obj 434 432 t b b;
#X msg 448 503 0;
#X obj 156 21 inlet;
#X obj 415 557 outlet;
#X text 64 334 Check first argument for various;
#X msg 325 333 0;
#X obj 325 311 r \$0-init;
#X text 241 431 filter out non-integers ->;
#X obj 415 313 t f f f;
#X obj 349 248 moses 0;
#X connect 0 0 14 0;
#X connect 0 1 1 1;
#X connect 1 0 22 0;
#X connect 2 0 19 0;
#X connect 2 1 4 0;
#X connect 2 1 19 0;
#X connect 2 2 8 0;
#X connect 4 0 3 0;
#X connect 5 0 25 0;
#X connect 6 0 7 1;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 1 13 0;
#X connect 9 0 10 0;
#X connect 9 1 36 0;
#X connect 10 0 11 0;
#X connect 10 1 4 0;
#X connect 11 0 36 0;
#X connect 13 0 12 0;
#X connect 14 0 1 0;
#X connect 14 1 2 0;
#X connect 15 0 21 0;
#X connect 16 0 17 0;
#X connect 18 0 20 0;
#X connect 19 0 18 1;
#X connect 21 0 37 0;
#X connect 21 1 16 0;
#X connect 22 0 18 0;
#X connect 22 1 15 0;
#X connect 23 0 31 0;
#X connect 25 0 28 0;
#X connect 26 0 23 1;
#X connect 27 0 26 0;
#X connect 28 0 24 0;
#X connect 28 1 29 0;
#X connect 29 0 23 1;
#X connect 30 0 0 0;
#X connect 33 0 18 1;
#X connect 34 0 33 0;
#X connect 36 0 23 0;
#X connect 36 1 7 0;
#X connect 36 2 6 0;
#X connect 37 0 16 0;
#X connect 37 1 36 0;
#X restore 187 60 pd \$0-exp-filter;
#X obj 87 43 t b a;
#X obj 52 142 spigot;
#X obj 85 83 r \$0-not-float;
#X msg 85 104 0;
#X obj 119 104 r \$0-init;
#X msg 119 125 1;
#N canvas 372 81 488 638 \$0-exp-calc 0;
#X obj 125 73 inlet;
#X obj 183 557 outlet;
#X obj 235 240 log;
#X msg 235 218 10;
#X obj 220 262 /;
#X obj 220 175 log;
#X obj 220 304 + 1;
#X obj 220 283 int;
#X obj 235 196 loadbang;
#X obj 125 416 f;
#X obj 183 447 +;
#X obj 183 416 * 10;
#X obj 125 105 t b f;
#X msg 140 392 0;
#X obj 220 354 pow;
#X obj 220 330 swap 10;
#X obj 140 369 r \$0-init;
#X obj 183 488 *;
#X obj 240 448 r \$0-neg-exp;
#X msg 239 417 1;
#X obj 183 513 swap 10;
#X obj 183 535 pow;
#X obj 193 122 sel 0;
#X msg 193 150 1;
#X floatatom 114 515 0 0 0 0 - - -;
#X msg 55 56 123 \, 456;
#X connect 0 0 12 0;
#X connect 2 0 4 1;
#X connect 3 0 2 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 15 0;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X connect 10 0 17 0;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 12 1 10 1;
#X connect 12 1 22 0;
#X connect 13 0 9 1;
#X connect 14 0 11 1;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 13 0;
#X connect 16 0 19 0;
#X connect 17 0 20 0;
#X connect 17 0 24 0;
#X connect 18 0 17 1;
#X connect 19 0 17 1;
#X connect 20 0 21 0;
#X connect 20 1 21 1;
#X connect 21 0 1 0;
#X connect 22 0 23 0;
#X connect 22 1 5 0;
#X connect 23 0 5 0;
#X connect 25 0 12 0;
#X restore 187 83 pd \$0-exp-calc;
#X obj 172 181 f;
#X obj 172 203 outlet;
#X connect 0 0 2 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 2 1 1 0;
#X connect 3 0 9 0;
#X connect 4 0 5 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 7 0 3 1;
#X connect 8 0 9 1;
#X connect 9 0 10 0;
#X restore 156 192 pd \$0-exp;
#X obj 141 261 *;
#X msg 173 244 1;
#X obj 173 222 r \$0-init;
#N canvas 126 48 293 185 \$0-mant 0;
#X obj 64 28 inlet;
#X obj 64 134 outlet;
#N canvas 111 156 883 747 \$0-mant-filter 0;
#X msg 78 261 -1;
#X obj 144 171 route float;
#X obj 144 193 moses 0;
#X obj 144 215 t f b;
#X obj 144 248 abs;
#X obj 207 215 s \$0-not-float;
#X obj 207 193 b;
#X msg 97 204 1;
#X obj 78 284 s \$0-neg-mant;
#X obj 302 369 spigot;
#X obj 302 393 s \$0-not-float;
#X msg 335 346 0;
#X obj 335 323 r \$0-init;
#X obj 167 64 list split 1;
#X obj 302 157 list;
#X obj 156 97 t b a;
#X obj 302 187 route bang;
#X obj 166 31 inlet;
#X obj 59 134 sel . -;
#X obj 359 213 list-drip;
#X obj 59 308 s \$0-dot;
#X obj 565 217 f 1;
#X obj 594 217 + 1;
#X obj 580 173 r \$0-init;
#X msg 580 195 1;
#X msg 538 335 symbol .;
#X obj 538 150 r \$0-dot;
#X obj 538 172 t b b;
#X obj 565 242 moses 2;
#X obj 386 258 route float;
#X obj 359 236 sel .;
#X obj 359 299 s \$0-dot;
#X obj 604 265 b;
#X obj 604 288 s \$0-not-float;
#X obj 449 280 b;
#X obj 449 303 s \$0-not-float;
#X obj 632 546 r \$0-not-float;
#X obj 449 335 moses 0;
#X obj 618 459 == 0;
#X obj 638 415 int;
#X obj 618 437 -;
#X obj 599 607 spigot;
#X obj 618 513 s \$0-not-float;
#X obj 618 483 sel 0;
#X msg 666 590 1;
#X obj 666 568 r \$0-init;
#X msg 632 578 0;
#X obj 599 632 outlet;
#X obj 599 388 t f f f;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 1 1 6 0;
#X connect 2 0 3 0;
#X connect 2 1 48 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 48 0;
#X connect 6 0 5 0;
#X connect 7 0 9 1;
#X connect 9 0 10 0;
#X connect 11 0 9 1;
#X connect 12 0 11 0;
#X connect 13 0 15 0;
#X connect 13 1 14 1;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X connect 15 1 18 0;
#X connect 16 0 9 0;
#X connect 16 1 19 0;
#X connect 17 0 13 0;
#X connect 18 0 7 0;
#X connect 18 0 20 0;
#X connect 18 1 0 0;
#X connect 18 2 1 0;
#X connect 19 0 30 0;
#X connect 21 0 22 0;
#X connect 21 0 28 0;
#X connect 22 0 21 1;
#X connect 23 0 24 0;
#X connect 24 0 21 1;
#X connect 25 0 41 0;
#X connect 26 0 27 0;
#X connect 27 0 25 0;
#X connect 27 1 21 0;
#X connect 28 1 32 0;
#X connect 29 0 37 0;
#X connect 29 1 34 0;
#X connect 30 0 31 0;
#X connect 30 1 29 0;
#X connect 32 0 33 0;
#X connect 34 0 35 0;
#X connect 36 0 46 0;
#X connect 37 0 32 0;
#X connect 37 1 48 0;
#X connect 38 0 43 0;
#X connect 39 0 40 1;
#X connect 40 0 38 0;
#X connect 41 0 47 0;
#X connect 43 0 42 0;
#X connect 44 0 41 1;
#X connect 45 0 44 0;
#X connect 46 0 41 1;
#X connect 48 0 41 0;
#X connect 48 1 40 0;
#X connect 48 2 39 0;
#X restore 151 83 pd \$0-mant-filter;
#N canvas 459 143 418 425 \$0-mant-calc 0;
#X obj 153 29 inlet;
#X obj 153 60 sel .;
#X obj 154 127 list prepend;
#X msg 223 104 0;
#X obj 223 81 r \$0-init;
#X msg 190 104 1;
#X obj 227 378 outlet;
#N canvas 0 22 382 532 \$0-ints 0;
#X obj 79 60 inlet;
#X obj 137 458 outlet;
#X obj 189 221 log;
#X msg 189 199 10;
#X obj 174 243 /;
#X obj 174 156 log;
#X obj 174 285 + 1;
#X obj 174 264 int;
#X obj 189 177 loadbang;
#X obj 79 397 f;
#X obj 137 428 +;
#X obj 137 397 * 10;
#X obj 79 86 t b f;
#X msg 94 373 0;
#X obj 174 335 pow;
#X obj 174 311 swap 10;
#X obj 94 350 r \$0-init;
#X obj 147 103 sel 0;
#X msg 147 131 1;
#X connect 0 0 12 0;
#X connect 2 0 4 1;
#X connect 3 0 2 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 15 0;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X connect 10 0 1 0;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 12 1 10 1;
#X connect 12 1 17 0;
#X connect 13 0 9 1;
#X connect 14 0 11 1;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 13 0;
#X connect 17 0 18 0;
#X connect 17 1 5 0;
#X connect 18 0 5 0;
#X restore 242 186 pd \$0-ints;
#X obj 154 149 route 1 0;
#X obj 242 302 +;
#N canvas 142 39 518 731 \$0-fracs 0;
#X obj 89 70 inlet;
#X obj 171 587 outlet;
#X obj 183 241 log;
#X msg 183 220 10;
#X obj 168 263 /;
#X obj 168 176 log;
#X obj 168 305 + 1;
#X obj 168 284 int;
#X obj 183 197 loadbang;
#X obj 89 407 f;
#X obj 147 438 +;
#X obj 147 407 * 10;
#X obj 89 96 t b f;
#X msg 104 383 0;
#X obj 168 380 pow;
#X obj 168 358 swap 10;
#X obj 104 360 r \$0-init;
#X obj 141 123 sel 0;
#X msg 141 151 1;
#X obj 171 518 *;
#X obj 223 326 +;
#X obj 254 326 t f;
#X msg 238 298 0;
#X obj 234 411 * -1;
#X obj 242 269 r \$0-init;
#X obj 234 438 swap 10;
#X obj 219 478 pow;
#X connect 0 0 12 0;
#X connect 2 0 4 1;
#X connect 3 0 2 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 15 0;
#X connect 6 0 20 0;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X connect 10 0 19 0;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 12 1 17 0;
#X connect 12 1 10 1;
#X connect 13 0 9 1;
#X connect 14 0 11 1;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 13 0;
#X connect 17 0 18 0;
#X connect 17 1 5 0;
#X connect 18 0 5 0;
#X connect 19 0 1 0;
#X connect 20 0 21 0;
#X connect 20 0 23 0;
#X connect 21 0 20 1;
#X connect 22 0 20 1;
#X connect 23 0 25 0;
#X connect 24 0 22 0;
#X connect 25 0 26 0;
#X connect 25 1 26 1;
#X connect 26 0 19 1;
#X restore 154 186 pd \$0-fracs;
#X msg 285 272 0;
#X obj 285 249 r \$0-init;
#X obj 242 331 *;
#X msg 321 273 1;
#X obj 307 314 r \$0-neg-mant;
#X obj 35 52 inlet;
#X obj 227 354 f;
#X obj 242 219 t b f;
#X msg 242 255 0;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 1 1 2 0;
#X connect 2 0 8 0;
#X connect 3 0 2 1;
#X connect 4 0 3 0;
#X connect 5 0 2 1;
#X connect 7 0 18 0;
#X connect 8 0 10 0;
#X connect 8 1 7 0;
#X connect 9 0 13 0;
#X connect 10 0 9 0;
#X connect 11 0 9 1;
#X connect 12 0 11 0;
#X connect 12 0 14 0;
#X connect 13 0 17 1;
#X connect 14 0 13 1;
#X connect 15 0 13 1;
#X connect 16 0 17 0;
#X connect 17 0 6 0;
#X connect 18 0 19 0;
#X connect 18 1 9 1;
#X connect 19 0 9 0;
#X restore 64 108 pd \$0-mant-calc;
#X obj 64 52 t b a;
#X connect 0 0 4 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 4 1 2 0;
#X restore 49 202 pd \$0-mant;
#X obj 282 158 list;
#X obj 282 270 outlet;
#X obj 282 68 r \$0-not-float;
#X obj 141 364 outlet;
#X obj 49 20 inlet;
#N canvas 0 22 450 300 $-exp? 0;
#X obj 116 49 inlet;
#X obj 179 149 list-find;
#X obj 133 277 outlet;
#X obj 254 261 outlet;
#X obj 116 149 list-find;
#X msg 179 126 e;
#X msg 116 126 E;
#X obj 167 180 +;
#X obj 167 203 moses 1;
#X obj 116 71 t b b a;
#X obj 254 237 list;
#X obj 133 252 list;
#X obj 223 220 b;
#X obj 133 220 b;
#X connect 0 0 9 0;
#X connect 1 1 7 1;
#X connect 4 1 7 0;
#X connect 5 0 1 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 13 0;
#X connect 8 1 12 0;
#X connect 9 0 6 0;
#X connect 9 1 5 0;
#X connect 9 2 1 1;
#X connect 9 2 4 1;
#X connect 9 2 10 1;
#X connect 9 2 11 1;
#X connect 10 0 3 0;
#X connect 11 0 2 0;
#X connect 12 0 10 0;
#X connect 13 0 11 0;
#X restore 49 137 pd $-exp?;
#X obj 282 124 once;
#X obj 303 99 r \$0-init;
#X obj 202 292 r \$0-not-float;
#X obj 141 338 spigot;
#X msg 202 316 0;
#X obj 126 310 f;
#X obj 49 71 t b a b a;
#X obj 49 44 route bang;
#X connect 0 0 6 0;
#X connect 0 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 18 1;
#X connect 4 0 3 1;
#X connect 4 0 16 1;
#X connect 5 0 4 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 9 0 13 0;
#X connect 11 0 20 0;
#X connect 12 0 6 0;
#X connect 12 1 0 0;
#X connect 13 0 7 0;
#X connect 14 0 13 1;
#X connect 15 0 17 0;
#X connect 16 0 10 0;
#X connect 17 0 16 1;
#X connect 18 0 16 0;
#X connect 19 0 18 0;
#X connect 19 1 12 0;
#X connect 19 2 1 0;
#X connect 19 3 7 1;
#X connect 20 1 19 0;
#N canvas 266 142 430 250 10;
#X obj 100 24 inlet;
#X obj 100 173 outlet;
#X obj 100 47 route symbol;
#N canvas 0 22 655 599 \$0-split 0;
#X obj 82 411 sel s;
#X obj 165 219 makefilename %%.%ds;
#X msg 165 242 set \$1;
#X obj 149 115 s \$0-mainsym;
#X obj 109 383 r \$0-mainsym;
#X obj 252 450 list prepend;
#X obj 91 516 list;
#X obj 356 450 t a;
#X obj 70 140 until;
#X obj 157 191 + 1;
#X obj 71 250 symbol;
#X obj 129 191 f 1;
#X obj 82 223 r \$0-mainsym;
#X obj 110 88 t b b s;
#X msg 144 168 1;
#X obj 165 267 makefilename;
#X obj 71 164 t b b;
#X msg 216 318 symbol;
#X obj 165 310 t a a;
#X obj 82 435 t b b;
#X obj 109 460 s \$0-stop;
#X obj 43 89 r \$0-stop;
#X obj 321 421 r \$0-init;
#X obj 216 294 r \$0-init;
#X text 209 196 accumulate first n characters of symbol;
#N canvas 580 22 514 754 \$0-find-next-char 0;
#X obj 36 25 inlet;
#X obj 109 716 outlet;
#X obj 36 567 sel s;
#X obj 36 189 until;
#X obj 36 372 makefilename %c;
#X msg 36 164 256;
#X obj 36 220 f 0;
#X obj 70 220 + 1;
#X msg 88 189 0;
#X obj 36 245 sel 123 125;
#X obj 36 508 pack s s;
#X obj 36 460 symbol;
#X obj 36 406 t b s;
#X obj 109 675 symbol;
#X obj 36 50 t b a b;
#X obj 55 80 unpack s s;
#X obj 55 132 s \$0-test;
#X obj 112 106 s \$0-current;
#X obj 96 550 r \$0-test;
#X obj 107 443 r \$0-current;
#N canvas 0 22 450 300 %0-float? 0;
#X obj 133 91 inlet;
#X obj 133 202 outlet;
#X obj 222 201 outlet;
#X obj 178 141 moses 58;
#X obj 133 118 moses 48;
#X connect 0 0 4 0;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 1 0;
#X connect 4 1 3 0;
#X restore 99 267 pd %0-float?;
#X obj 108 639 spigot;
#X obj 168 641 spigot;
#X obj 199 682 float;
#X msg 227 342 1;
#X obj 231 543 r \$0-spigot;
#X obj 227 370 s \$0-spigot;
#X obj 181 580 == 0;
#X obj 36 284 t f b;
#X msg 80 301 0;
#X obj 168 325 t f f b;
#X obj 227 658 - 48;
#X obj 80 323 s \$0-spigot;
#X text 99 525 test for match;
#X text 274 658 <- floats instead of symbols;
#X text 81 417 previous match string plus test ascii value;
#X text 132 178 <-- iterate through all ascii values \, but don't make
finding a match a condition for stopping the loop - we could make this
more efficient by not testing all values \, and by making a match be
a condition for stopping the loop.;
#X obj 36 536 list-l2s;
#X connect 0 0 14 0;
#X connect 2 0 21 0;
#X connect 2 0 22 0;
#X connect 3 0 6 0;
#X connect 4 0 12 0;
#X connect 5 0 3 0;
#X connect 6 0 7 0;
#X connect 6 0 9 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 2 20 0;
#X connect 10 0 37 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 12 1 10 1;
#X connect 12 1 13 1;
#X connect 13 0 1 0;
#X connect 14 0 5 0;
#X connect 14 1 15 0;
#X connect 14 2 8 0;
#X connect 15 0 16 0;
#X connect 15 1 17 0;
#X connect 18 0 2 1;
#X connect 19 0 11 1;
#X connect 20 0 28 0;
#X connect 20 1 30 0;
#X connect 21 0 13 0;
#X connect 22 0 23 0;
#X connect 23 0 1 0;
#X connect 24 0 26 0;
#X connect 25 0 22 1;
#X connect 25 0 27 0;
#X connect 27 0 21 1;
#X connect 28 0 4 0;
#X connect 28 1 29 0;
#X connect 29 0 32 0;
#X connect 30 0 4 0;
#X connect 30 1 31 0;
#X connect 30 2 24 0;
#X connect 31 0 23 1;
#X connect 37 0 2 0;
#X restore 192 384 pd \$0-find-next-char;
#X text 323 387 find next character;
#X text 277 341 compare last two chunks to look for the next character
\; init with a blank symbol;
#X text 43 478 stop when we've found all characters;
#X obj 192 344 list-lastx 2;
#X obj 110 56 inlet;
#X obj 192 544 outlet;
#X connect 0 0 19 0;
#X connect 1 0 2 0;
#X connect 2 0 15 0;
#X connect 4 0 0 1;
#X connect 5 0 7 0;
#X connect 7 0 5 1;
#X connect 8 0 16 0;
#X connect 9 0 11 1;
#X connect 10 0 15 0;
#X connect 11 0 9 0;
#X connect 11 0 1 0;
#X connect 12 0 10 1;
#X connect 13 0 8 0;
#X connect 13 1 14 0;
#X connect 13 2 3 0;
#X connect 14 0 11 1;
#X connect 15 0 18 0;
#X connect 16 0 10 0;
#X connect 16 1 11 0;
#X connect 17 0 29 0;
#X connect 18 0 0 0;
#X connect 18 1 29 0;
#X connect 19 0 6 0;
#X connect 19 1 20 0;
#X connect 21 0 8 1;
#X connect 22 0 5 1;
#X connect 23 0 17 0;
#X connect 25 0 5 0;
#X connect 25 0 31 0;
#X connect 29 0 25 0;
#X connect 30 0 13 0;
#X restore 119 118 pd \$0-split;
#N canvas 433 101 787 656 \$0-delimit 0;
#N canvas 680 67 629 496 \$0-argtest 0;
#X obj 207 146 list append \$1;
#X obj 154 102 select s;
#X obj 154 52 t b b;
#X obj 262 86 makefilename $%d-test;
#X obj 154 79 symbol \$1-test;
#X msg 262 66 1;
#X obj 207 124 t b;
#X text 237 126 this is \$1;
#X obj 154 26 loadbang;
#X obj 296 269 symbollength;
#X obj 207 171 route float symbol;
#X obj 207 202 makefilename %g;
#X obj 259 241 symbol;
#X obj 296 353 s \$0-delim-length;
#X obj 259 378 s \$0-delim;
#X obj 296 296 sel 0;
#X msg 296 320 1;
#X floatatom 363 312 5 0 0 0 - - -;
#X obj 21 109 r \$0-delimiter-in;
#X obj 154 286 s \$0-delimiter?;
#X msg 154 222 0;
#X msg 214 258 1;
#X obj 69 136 loadbang;
#X obj 21 175 sel s;
#X msg 69 158 symbol;
#X connect 0 0 10 0;
#X connect 1 0 20 0;
#X connect 1 1 6 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 8 0 2 0;
#X connect 9 0 15 0;
#X connect 9 0 17 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 11 0 12 0;
#X connect 12 0 9 0;
#X connect 12 0 14 0;
#X connect 12 0 21 0;
#X connect 15 0 16 0;
#X connect 15 1 13 0;
#X connect 16 0 13 0;
#X connect 18 0 23 0;
#X connect 20 0 19 0;
#X connect 21 0 19 0;
#X connect 22 0 24 0;
#X connect 23 0 20 0;
#X connect 23 1 10 0;
#X connect 24 0 23 1;
#X restore 403 63 pd \$0-argtest;
#X obj 172 63 inlet;
#X obj 172 207 list-lastx;
#X obj 229 185 r \$0-delim-length;
#X obj 60 63 inlet;
#X obj 185 614 outlet;
#X obj 199 294 r \$0-delim;
#X obj 172 317 sel s;
#X obj 172 237 list-rev;
#X obj 172 265 list-l2s;
#X obj 354 572 list-extend;
#X obj 417 548 r \$0-init;
#X obj 185 588 list;
#X obj 411 383 r \$0-delim-length;
#X obj 411 408 * -1;
#X obj 354 548 list-l2s;
#X obj 172 181 t a a;
#X obj 326 385 list-extend;
#X obj 354 435 list;
#X obj 70 150 t b b;
#X obj 389 350 r \$0-init;
#X obj 215 338 t b b;
#X obj 291 477 list;
#X obj 193 455 spigot;
#X msg 210 423 0;
#X msg 255 435 1;
#X obj 255 414 t b;
#X obj 354 460 list-splat;
#X obj 309 520 list-l2f;
#X obj 249 555 r \$0-bypass;
#X obj 263 131 spigot;
#X obj 296 107 == 0;
#X obj 263 157 s \$0-bypass;
#X obj 296 62 r \$0-delimiter?;
#X obj 172 151 spigot;
#X connect 1 0 30 0;
#X connect 1 0 34 0;
#X connect 2 0 8 0;
#X connect 3 0 2 1;
#X connect 4 0 19 0;
#X connect 6 0 7 1;
#X connect 7 0 21 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 10 0 12 1;
#X connect 11 0 10 1;
#X connect 12 0 5 0;
#X connect 13 0 14 0;
#X connect 14 0 27 1;
#X connect 15 0 10 0;
#X connect 16 0 2 0;
#X connect 16 1 17 0;
#X connect 17 0 18 1;
#X connect 17 0 22 1;
#X connect 17 0 26 0;
#X connect 18 0 27 0;
#X connect 19 0 12 0;
#X connect 19 1 23 0;
#X connect 20 0 17 1;
#X connect 21 0 18 0;
#X connect 21 1 17 1;
#X connect 21 1 24 0;
#X connect 22 0 28 0;
#X connect 23 0 22 0;
#X connect 24 0 23 1;
#X connect 25 0 23 1;
#X connect 26 0 25 0;
#X connect 27 0 28 0;
#X connect 28 0 10 0;
#X connect 28 1 15 0;
#X connect 29 0 10 0;
#X connect 30 0 32 0;
#X connect 31 0 30 1;
#X connect 33 0 34 1;
#X connect 33 0 31 0;
#X connect 34 0 16 0;
#X restore 100 149 pd \$0-delimit;
#X obj 100 69 t b s b;
#X obj 139 94 s \$0-init;
#X obj 261 28 inlet;
#X obj 261 54 s \$0-delimiter-in;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 1;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X connect 5 1 3 0;
#X connect 5 2 6 0;
#X connect 7 0 8 0;
#N canvas 326 22 1071 347 10;
#X obj 62 188 print;
#X obj 349 215 print;
#X msg 349 71 symbol 1234567890abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx...@#$&*()_+~`./?><[]|
;
#X obj 422 172 unpack 0 0 0 0 0 0 0 0 0 0 s s;
#X floatatom 422 234 5 0 0 0 - - -;
#X floatatom 438 210 5 0 0 0 - - -;
#X symbolatom 582 237 10 0 0 0 - - -;
#X symbolatom 599 211 10 0 0 0 - - -;
#X msg 78 89 symbol VanillaRulzw007;
#X text 463 153 floats and symbols should come out right;
#X text 52 269 neither this nor [list-l2s] handles % appropriately
;
#X obj 62 143 list-s2l -;
#X text 61 31 Now with delimiters;
#X msg 62 63 symbol 21-split-the-atoms;
#X msg 82 119 symbol -1.2830e+27-teddy-roosevelt;
#X obj 349 155 list-s2l;
#X obj 813 150 list-s2l Pd;
#X msg 876 125 symbol is;
#X msg 813 77 symbol PdisgreatPdisgreatPdisgreat;
#X obj 813 178 print;
#X connect 2 0 15 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 3 10 6 0;
#X connect 3 11 7 0;
#X connect 8 0 11 0;
#X connect 11 0 0 0;
#X connect 13 0 11 0;
#X connect 14 0 11 0;
#X connect 15 0 1 0;
#X connect 15 0 3 0;
#X connect 16 0 19 0;
#X connect 17 0 16 1;
#X connect 18 0 16 0;
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to