Listen

Description

第33章へようこそ。

今日のテーマは「マクロのパターン」です。

前章で、マクロ定義はパターンと展開の組であるルールの集まりだと見ました。

呼び出し位置にあるトークン列がパターンに照らされ、一致したルールの展開部分が差し込まれる。

ではパターンの中身はどう書くのか。

ここで中心になるのが、フラグメント指定子と呼ばれる仕組みです。

パターンの中の特定の位置に「ここは式が来る」「ここは識別子が来る」「ここは型が来る」と宣言することで、トークン列に意味の粒度を与える。

今日扱うのは、フラグメント指定子の体系、特に万能だが粗い「任意のトークンツリー」の役割、

指定子の後ろに何が来てよいかの制約、

複数のルールがどう選ばれるかの順序、

そして指定子の粒度の設計判断です。