マクロ(GPM)
続き。 http://parametron.blogspot.jp/2015/04/christopher-stracheygpm_27.html にある、順列の生成。{m55_define|p2|$1$2$3 }{m55_dnl} {m55_define|p3|`{p2|$1|$2|$3}{p2|$1|$3|$2}'}{m55_dnl} {m55_define|p4|`{p3|$1$2|$3|$4}{p3|$1$3|$2|$4}{p3|$1$4|…
前回の4クイーンを元に一般化して「マクロを生成するマクロ」によるNクイーン問題( http://parametron.blogspot.jp/2015/04/christopher-stracheygpm.html )。エスケープが妖しいことになってて、もしかしたら無駄な展開とか起きてるかもしれませんが、一…
カレンダーは面倒そうな割にマクロ内で完結しなくてあまり面白くなさそうだったので、その次の http://parametron.blogspot.jp/2015/04/4.html 4クイーンから。{m55_define|1+|`{1|2|3|4|5|6|7|8|9|10| {m55_define|1|$$$1}}'}{m55_dnl} {m55_define|1-|`{-1…
次の http://parametron.blogspot.jp/2015/03/christopher-stracheygpm.html の記事に移って、クリスマスの詩。 "$:" が10番目の引数に置換されるようにM55を改造。文字と文字コードの相互変換は chr と ord という名前の関数とするのが定番ですが、GNU awk …
次の http://parametron.blogspot.jp/2015/02/christopher-stracheygpm_22.html の記事に移って、アッカーマン関数他。アッカーマン関数{m55_define|1+|`{1|2|3|4|5|6|7|8|9|10| {m55_define|1|$$$1}}'}{m55_dnl} {m55_define|1-|`{-1|0|1|2|3|4|5|6|7|8| {m…
次の http://parametron.blogspot.jp/2015/02/christopher-stracheygpm_8.html の記事に移って、二進化他。二進化{m55_define|1+|`{1|2|3|4|5|6|7|8|9|10| {m55_define|1|$$$1}}'}{m55_dnl} {m55_define|1-|`{-1|0|1|2|3|4|5|6|7|8| {m55_define|-1|$$$1}}'}…
次の http://parametron.blogspot.jp/2015/02/christopher-stracheygpm.html の記事に移って、フィボナッチ他。フィボナッチ数{m55_define|1+|`{1|2|3|4|5|6|7|8|9|10| {m55_define|1|$$$1}}'}{m55_dnl} {m55_define|1-|`{-1|0|1|2|3|4|5|6|7|8| {m55_define…
引き続いて http://parametron.blogspot.jp/2015/01/cristopher-stracheygpm.html にある「ハノイの塔」。(ハノイの塔は高機能テキストマクロプロセッサの標準課題らしく m4 にも hanoi.m4 というテストサンプルが付いています) {m55_define|1-|`{-1|0|1|2…
拙作のテキストベースマクロプロセッサMacr055( https://github.com/metanest/macr055 )で、和田先生のブログにあるマクロの例題( http://parametron.blogspot.jp/search/label/Christopher StracheyのGPM )をやってみたので、情報共有などのため記録と…