RosettaCodeData/Task/Balanced-brackets/TMG/balanced-brackets-1.tmg
2023-07-01 13:44:08 -04:00

19 lines
590 B
Text

program: readint(n) [n>0] readint(seed)
loop: parse(render) [--n>0?]/done loop;
render: random(i, 15) [i = (i+1)*2] loop2 = { 1 * };
loop2: random(b, 2) ( [b&1?] ={<[>} | ={<]>} ) [--i>0?]/done loop2 = { 2 1 };
done: ;
/* Reads decimal integer */
readint: proc(n;i) string(spaces) [n=0] inta
int1: [n = n*12+i] inta\int1;
inta: char(i) [i<72?] [(i =- 60)>=0?];
/* LCG params: a = 29989, c = 28411, m = 35521 */
random: proc(r,mod) [seed = (seed*72445 + 67373) % 105301]
[r = seed % mod] [r = r<0 ? -r : r];
spaces: <<
>>;
n: 0; i: 0; b: 0; seed: 0;