$ENTRY Go { =
* <Open 'w' 1 'ttttt.txt'> <Putout 1 <E2000 >>;
<Prout <E2000 >>;
}
* для контрольного пуска на счет
*
* перевод чисел в макроцифры
CVB { e.1 = <CVB1 ( 0 ) e.1>; }
CVB1 {
(e.N) s.A e.1 = <CVB1 (<ADD (<NUMB s.A>)
<MUL (e.N) 10 >>) e.1>;
(e.N) = e.N;
}
* перевод макроцифр в последовательность цифр
CVD { e.1 = <CVD1 <Divmod (e.1) 10 >>; }
CVD1 {
( 0 ) s.X = <SYMB s.X>;
( e.1) s.X = <CVD e.1> <SYMB s.X>;
}
* вычисление числа е = 2.71828...
* с 2000 знаков после запятой
E2000 { = <E2001 1 ( 1 ) ( 1 )>; }
E2001 {
1001 (e.1) (e.3) = <E2002 (e.1) (e.3) >;
sA (e.1) (e.3) = <E2001 <ADD (s.A) 1 >
(<ADD (<MUL (e.1) s.A>) 1 >)
(<MUL (e.3) 100 >) >;
}
E2002 {
(e.1) (e.3) = <E2003 <CVD <Div1 2 <MUL (e.1) e.3>> >>;
}
Div1 { 1001 e.1 = e.1;
s.a e.1 = <Div1 <Add (s.a) 1> <Div (e.1) s.a>>;
}
E2003 { s.A e.1 = s.A '.' e.1 ; }
*