Ошибка, которую вы получаете, вероятно, связана с отсутствующим импортом в коде, из которого вызывается макрос.
Если ваш макрос находится в пространстве имен с именем foo, например, вам нужно будет добавить
import foo
В верхней части телефонного кода.
Вторая проблема, с которой вы можете столкнуться после исправления этой проблемы компилятора, - это ошибка
«Неизвестный идентификатор« блок »(BCE0005)
Чтобы это исправить, добавьте .Body
после раздела квази-цитаты, например:
import Boo.Lang.Compiler.Ast
macro text:
macro subMacro:
text["Text"] = "Hello world"
return [|
block:
System.Console.WriteLine("Hello World");
|].Body
РЕДАКТИРОВАТЬ - ИМХО макросы немного темного искусства. Для получения дополнительной помощи вы должны попробовать список рассылки boo или отличные DSL в BOO