#N canvas 0 0 586 501 12; #N canvas 19 449 537 421 A 1; #X obj 126 80 random 3; #X text 198 71 0 \, 1 \, or 2; #X obj 45 193 60; #X obj 95 285 noteout; #X obj 95 256 makenote; #X obj 229 189 inlet; #X obj 342 186 inlet; #X obj 86 193 63; #X obj 45 225 t f f; #X obj 177 154 outlet; #X text 232 154 outlets 2 when done; #X text 191 114 < 2 go left; #X obj 98 114 select 0 1; #X obj 145 14 inlet; #X text 197 14 bang starts it; #X obj 17 122 print A; #X obj 325 44 timer; #X msg 325 64 seed \$1; #X obj 155 40 t b b b; #X obj 285 188 inlet; #X text 199 222 inlets are vel \, dur and chan; #X obj 16 7 r nextA; #X obj 11 274 s nextA; #X obj 332 258 print inletA; #X obj 182 289 print makenoteA; #X text 38 312 prints twice \, one for note on and one for note off ; #X obj 21 34 bang; #X obj 44 60 delay 750; #X connect 0 0 12 0; #X connect 2 0 8 0; #X connect 4 0 3 0; #X connect 4 0 24 0; #X connect 4 1 3 1; #X connect 5 0 4 1; #X connect 6 0 3 2; #X connect 6 0 23 0; #X connect 7 0 8 0; #X connect 8 0 22 0; #X connect 8 1 4 0; #X connect 12 0 2 0; #X connect 12 1 7 0; #X connect 12 2 9 0; #X connect 13 0 15 0; #X connect 13 0 18 0; #X connect 16 0 17 0; #X connect 17 0 0 0; #X connect 18 0 0 0; #X connect 18 1 15 0; #X connect 18 2 16 0; #X connect 19 0 4 2; #X connect 21 0 26 0; #X connect 26 0 27 0; #X connect 27 0 0 0; #X connect 27 0 15 0; #X restore 144 343 pd A; #N canvas 607 452 474 324 B 1; #X obj 96 286 noteout; #X obj 96 253 makenote; #X obj 191 193 inlet; #X obj 316 192 inlet; #X obj 45 225 t f f; #X obj 182 160 outlet; #X obj 113 92 random 4; #X text 198 71 0 \, 1 \, 2 \, or 3; #X text 189 114 < 3 go left; #X obj 95 121 select 0 1 2; #X text 236 158 outlets 3 when done; #X obj 28 191 67; #X obj 71 190 68; #X obj 110 190 69; #X obj 117 5 inlet; #X obj 16 90 print B; #X obj 252 194 inlet; #X obj 16 3 r nextB; #X obj 11 274 s nextB; #X obj 222 276 print makenoteB; #X text 191 226 inlets are vel \, dur and chan; #X text 51 302 prints twice \, one for note on and one for note off ; #X obj 325 44 timer; #X msg 325 64 seed \$1; #X obj 182 29 t b b b; #X obj 18 27 bang; #X obj 54 54 delay 500; #X connect 1 0 0 0; #X connect 1 0 19 0; #X connect 1 1 0 1; #X connect 2 0 1 1; #X connect 3 0 0 2; #X connect 4 0 18 0; #X connect 4 1 1 0; #X connect 6 0 9 0; #X connect 9 0 11 0; #X connect 9 1 12 0; #X connect 9 2 13 0; #X connect 9 3 5 0; #X connect 11 0 4 0; #X connect 12 0 4 0; #X connect 13 0 4 0; #X connect 14 0 15 0; #X connect 14 0 24 0; #X connect 16 0 1 2; #X connect 17 0 25 0; #X connect 22 0 23 0; #X connect 23 0 6 0; #X connect 24 0 6 0; #X connect 24 1 15 0; #X connect 24 2 22 0; #X connect 25 0 26 0; #X connect 26 0 6 0; #X connect 26 0 15 0; #X restore 231 351 pd B; #X text 25 34 A -> cA | e-A | x; #X text 41 2 Nondeterministic Context-Free Grammar; #X text 226 25 where x is the empty string; #X text 226 38 c \, e- \, g \, a- are terminals; #X text 24 49 B -> gB | a-B | b-B | x; #X text 226 50 S \, A \, B are nonterminals; #X text 227 66 S is start state; #X text 26 18 S -> ABBA; #X obj 141 227 float; #X obj 323 215 loadbang; #X msg 429 250 1; #X msg 402 216 bang; #X obj 117 281 select 1 2 3 4; #X obj 201 434 s done; #X obj 198 403 bang; #X obj 90 160 r done; #X obj 146 198 bang; #X msg 168 158 bang; #X msg 326 248 150; #X obj 255 204 + 1; #X floatatom 250 269 5 0 0 0 - - -; #X obj 41 227 print start; #X msg 244 163 0; #X obj 36 266 print num; #X obj 211 237 t f f f; #X obj 294 184 print ZERO; #X obj 281 408 print GB; #X obj 105 412 print GA; #X obj 130 372 t b b; #X obj 293 372 t b b; #X msg 378 250 400; #X obj 386 107 t b b b; #X msg 459 42 bang; #X msg 512 39 stop; #X obj 442 77 metro 1500; #X connect 0 0 30 0; #X connect 1 0 31 0; #X connect 10 0 21 0; #X connect 11 0 20 0; #X connect 11 0 12 0; #X connect 11 0 32 0; #X connect 12 0 0 3; #X connect 12 0 1 3; #X connect 13 0 20 0; #X connect 13 0 12 0; #X connect 13 0 32 0; #X connect 14 0 0 0; #X connect 14 1 1 0; #X connect 14 2 1 0; #X connect 14 3 0 0; #X connect 16 0 15 0; #X connect 17 0 18 0; #X connect 18 0 10 0; #X connect 19 0 18 0; #X connect 19 0 23 0; #X connect 20 0 0 1; #X connect 20 0 1 1; #X connect 21 0 10 1; #X connect 21 0 26 0; #X connect 24 0 10 1; #X connect 24 0 27 0; #X connect 26 0 14 0; #X connect 26 1 25 0; #X connect 26 2 22 0; #X connect 30 0 16 0; #X connect 30 1 29 0; #X connect 31 0 16 0; #X connect 31 1 28 0; #X connect 32 0 1 2; #X connect 32 0 0 2; #X connect 33 0 19 0; #X connect 33 1 24 0; #X connect 33 2 13 0; #X connect 34 0 36 0; #X connect 35 0 36 0; #X connect 36 0 33 0;