Здравствуйте, VladD2, Вы писали:
VD>У меня ощущение, что я смотрю эпизод из "Звездных войн" с участием Ёды.
VD>Какой пример нужен?
Загадка мастера Йоды раскрыта. Старый программист на форте он просто.
Проедем этот этап, не хочется тратить время.
Z>>Да тут я конечно перегнул с лаконичностью ) просто хотелось иметь возможность передать аст в проект который дебажится и посмотреть его структуру. Сложно писать анализатор того, что неизвестно как выглядит. Может быть из макры распечатеть его в удобном виде можно?
VD>Ты можешь отлаживать сами макросы и смотреть на получаемый код прямо в Wath. Самый простой способ это сделать — воткнуть в код assert2(false); и нажать на Retry когда появится окно (во время компиляции).
VD>Кроме того у любого куста АСТ (PExpr, например) есть метод ToString(). С его помощью можно получить текст (сгенерированный) макроса. Его можно прямо в код куда-то засунуть, если надо.
VD>Кроме того при добавлении методов можно использовать не Define, а DefineWithSource (поищи его использование в коде компилятора и сниппетов). Это приводит к тому, что для добавленных таким образом методов будет сгенерирован исходный код по которому можно будет осуществлять отладку.
Ок, спасибо за хитрушки. Мне как раз текст не нужен, мне придется анализировать дерево, а для этого надо понять из чего оно состоит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1468>>