"The IO- and OI- Hierarchies" (1982)

Macro Grammarのさらなる一般化。文脈自由言語の非終端記号が"文字列"をパラメタとしてとれるように拡張したマクロ文法を、高階化する。マクロ文法の非終端記号は関数(string→string)みたいなものなので、さらに、関数を引数に取る関数((string→string)→string)みたいなものを許す。

n階の関数まで使う文法を Level-n Grammar という(0が文脈自由文法、1がマクロ文法、…でいいと思う。もしかしたらひとつずれてるかも)。マクロ文法と同じく、パラメタの評価戦略によって
IO : Inside-Out, いわゆる call-by-value
OI : Outside-In, いわゆる call-by-name
生成される言語が変わることがわかっている。お互いにuncomparable、つまり、Level-n OI Grammarでは決して書けない IO Macro Grammar があるし、逆も。




タグ:

+ タグ編集
  • タグ:
最終更新:2009年04月06日 17:38