рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЧреВрдврд╝ рднрд╛рд╖рд╛ рдмреНрд░реЗрдирдлрдХ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдЧрддрд┐ рдкрдХрдбрд╝ рд░рд╣реА рд╣реИред рдмреНрд░реЗрдирдлрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЖрд╡реЗрджрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдВрдХрдЧрдгрд┐рдд рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЬреНрдпрд╛рдорд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдореЗрдВ рднреА рдмрдврд╝ рд░рд╣реА рд╣реИред Android рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ред
рдЖрдЬ рдореИрдВрдиреЗ рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рдЯреЛрд╕реНрдЯрд░ рдкрд░ рдПрдХ рдЦреБрд╢ NetBSD рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмреНрд░реЗрдирдлрдХ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрд╛ред
рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рдерд╛ - рджреБрднрд╛рд╖рд┐рдпрд╛ рдЦреБрдж рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реЗ рдХреЗрд╡рд▓ рдмреИрд╢ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдереЗред
$ рдмрд┐рд▓реНрд▓реА bf.sh
#! / рдмрд┐рди / рдмреИрд╢
C = "s [0] = 0; p = 0;"
рдЬрдмрдХрд┐ рдкрдврд╝рд╛ -n1 c; рдорд╛рдорд▓реЗ рдореЗрдВ $ c рдХрд░реЗрдВ
\ +) C = "$ C s [\ $ p] = \ $ ((\ $ {s [\ $ p]} + 1));" ;;;
\ -) C = "$ C s [\ $ p] = \ $ ((\ $ {s [\ $ p]} - 1));" ;;;
\>) рд╕реА = "$ рд╕реА рдкреА = \ $ (($ $ рдкреА + 1));" ;;;
\ <) рд╕реА = "$ рд╕реА рдкреА = \ $ (($ $ рдкреА -1));" ;;;
\;) C = "$ C рдкреНрд░рд┐рдВрдЯрдл \\\\\ $ (printf '% 03o' \ $ {s [\ $ p]});" ;;;
\,) C = "$ C рдкрдврд╝рд╛ -n1 c; s [\ $ p] = \` рдкреНрд░рд┐рдВрдЯрдлрд╝ '% d' \ "\" $ $ \ "\" ;;;
[[] C = "$ C рдЬрдмрдХрд┐ [[\ $ {s [\ $ p]}> реж]]; рдХрд░" ;;
\]) рд╕реА = "$ рд╕реА рдХрд┐рдпрд╛;";
esac; рдХрд┐рдпрд╛ <$ 1;
eval $ рд╕реА
$ рдмрд┐рд▓реНрд▓реА рд╣реИрд▓реЛред рдмреА
+++++++++++ [> ++++++++++++++++++++++++++++ <<<< -]> ++
ред>ред +ред ++++++++ +++ред ++ ++ред << +++++++++++++++++++ред ++ ++ред
------.-------->> +>ред
$ ./bf.sh рд╣реЗрд▓реЛ.рдмреА
рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡!