54 lines
947 B
Text
54 lines
947 B
Text
$ENTRY Go {
|
|
, <Numb <Card>>: s.Max
|
|
, <ReadFactors>: e.Factors
|
|
, <Iota 1 s.Max>: e.Nums
|
|
= <Each Fizz (e.Factors) e.Nums>;
|
|
};
|
|
|
|
Fizz {
|
|
s.I e.Facs, <Each Fac (s.I) e.Facs>: {
|
|
= <Prout <Symb s.I>>;
|
|
e.X = <Prout e.X>;
|
|
};
|
|
}
|
|
|
|
Fac {
|
|
(s.Fac e.FacWord) s.I, <Mod s.I s.Fac>: {
|
|
0 = e.FacWord;
|
|
s.X = ;
|
|
};
|
|
};
|
|
|
|
ReadFactors {
|
|
, <Card>: {
|
|
0 = ; = ;
|
|
e.Line = (<Line e.Line>) <ReadFactors>;
|
|
};
|
|
};
|
|
|
|
Line {
|
|
e.X, <Split ' ' e.X>: (e.Num) e.Word =
|
|
<Numb e.Num> <Trim ' ' e.Word>;
|
|
};
|
|
|
|
Split {
|
|
s.C e.X s.C e.Y = (e.X) e.Y;
|
|
s.C e.X = (e.X);
|
|
};
|
|
|
|
Trim {
|
|
s.C = ;
|
|
s.C s.C e.X = <Trim s.C e.X>;
|
|
s.C e.X s.C = <Trim s.C e.X>;
|
|
s.C s.I e.X = s.I <Trim s.C e.X>;
|
|
};
|
|
|
|
Iota {
|
|
s.End s.End = s.End;
|
|
s.Start s.End = s.Start <Iota <+ 1 s.Start> s.End>;
|
|
};
|
|
|
|
Each {
|
|
s.F (e.Arg) = ;
|
|
s.F (e.Arg) t.I e.X = <Mu s.F t.I e.Arg> <Each s.F (e.Arg) e.X>;
|
|
};
|