前: Quoting Arguments, 上: Macros


3.5 マクロの展開

マクロの呼び出しが引数を伴うときはその収集が行われたあと、 マクロは展開されます。 そして展開後のテキストは入力に(クォートされずに)戻され、 そして再び読み込まれます(再走査)。 したがって、マクロを1つ呼び出したことで得られたテキストの中に、 完全なマクロの呼び出しやその一部が含まれている場合、 そこから更に多くのマクロが呼ばれることもあるわけです。

非常に簡単な例を挙げると、fooが`bar'へ展開され、 barが`Hello world'へ展開されるとすると、入力

     foo

は最初に`bar'へ展開された後、再び走査が行われ `Hello world'へ展開されます。