39 lines
696 B
Text
39 lines
696 B
Text
$ENTRY Go {
|
|
, ' ### ## # # # # # ': e.State
|
|
= <Run <Table> 10 e.State>;
|
|
};
|
|
|
|
Table {
|
|
= (((' ') ' ')
|
|
((' #') ' ')
|
|
((' # ') ' ')
|
|
((' ##') '#')
|
|
(('# ') ' ')
|
|
(('# #') '#')
|
|
(('## ') '#')
|
|
(('###') ' '));
|
|
};
|
|
|
|
Run {
|
|
t.Table 0 e.X = ;
|
|
t.Table s.Steps e.X =
|
|
<Prout e.X>
|
|
<Run t.Table <- s.Steps 1> <DoStep t.Table e.X>>;
|
|
};
|
|
|
|
DoStep {
|
|
t.Table e.X = <Step1 t.Table ' ' e.X ' '>;
|
|
};
|
|
|
|
Step1 {
|
|
t.Table s.1 s.2 s.3 e.R,
|
|
<Lookup t.Table s.1 s.2 s.3>: e.Next,
|
|
e.R: {
|
|
= e.Next;
|
|
e.R = e.Next <Step1 t.Table s.2 s.3 e.R>;
|
|
};
|
|
}
|
|
|
|
Lookup {
|
|
(e.A ((e.X)e.Y) e.B) e.X = e.Y;
|
|
};
|