Macr055でハノイの塔

引き続いて http://parametron.blogspot.jp/2015/01/cristopher-stracheygpm.html にある「ハノイの塔」。(ハノイの塔は高機能テキストマクロプロセッサの標準課題らしく m4 にも hanoi.m4 というテストサンプルが付いています)

{m55_define|1-|`{-1|0|1|2|3|4|5|6|7|8|
  {m55_define|-1|$$$1}}'}{m55_dnl}
{m55_define|hanoi|`{$4|
  {m55_define|$4|`{hanoi|$1|$3|$2|{1-|$4}}$1 ==> $3
{hanoi|$2|$1|$3|{1-|$4}}'}
  {m55_define|0|$1 ==> $3
}}'}{m55_dnl}
{hanoi|a|b|c|0}{m55_dnl}
--
{hanoi|a|b|c|1}{m55_dnl}
--
{hanoi|a|b|c|2}{m55_dnl}
--
{hanoi|a|b|c|3}{m55_dnl}
--
{hanoi|a|b|c|4}{m55_dnl}