ふと思い立ってawkでforth書けないかなとやってみた。ただしリターンスタックは現在使っておらず逆ポーランド電卓レベル。ワードも今は定義するだけ。 gawk4.0.0が必要。split関数で4番目の引数(セパレータの格納)を使っているため。 パラメータスタックを毎回操作しているがもちろん直接参照すれば速いとは思います。分かりやすさ優先。 forthではスタックに積む値は16ビットの固定幅ですが、awkで書いてあるためawkで扱える値が積めます。ただ参照するときにそのままでは使えないので連想配列で参照する予定。 #! /usr/local/bin/gawk -f # # FORTH inerpreter by awk # # 2012.05.07 Pstack & standard op # 2012.05.09 ( comment) & ." string" # 2012.05.10 w