Приступаю к реализации макроса, который генерил бы всё, необходимое для парсинга по BNF (см.
npgАвтор: konsoletyper
Дата: 13.04.07
и
Compiler-compilerАвтор: konsoletyper
Дата: 31.03.07
). Наткнулся на одну концептуальную проблему: макросистема Nemerle попросту для этого не предназначена. В идеале хотелось бы сделать что-то вроде:
namespace Some.Name.Space
{
bnf
{
тра-ля-ля
}
}
Но такие вот макросы обязаны быть внутри метода и возвращать PExpr. Можно расширять имеющиеся классы при помощи макросов-атрибутов. Так же, насколько я знаю, можно исхитриться и из таких макросов создать новые классы. Но как заюзать такую возможноть в BnfMacro?
Сам я не вижу способа исхитриться и как-то решить проблему обходным путём. Есть ли у кого соображения по этому поводу?
... << RSDN@Home 1.2.0 alpha rev. 672>>