Руководство по метапрограммированию и возможностям расширения Boo? - PullRequest
5 голосов
/ 01 ноября 2009

Мне интересно узнать о более мощных функциях Boo, таких как синтаксические макросы, поддержка синтаксического анализатора (Ometa?), Конвейер компилятора и т. Д. У меня сложилось впечатление, что эти области постоянно меняются и в некоторой степени недокументированы. Есть ли какие-либо хорошие ресурсы для изучения этих вещей, кроме изучения исходного кода?

Ответы [ 5 ]

1 голос
/ 22 июля 2011

спросите код садовника / бу автора @ rodgrigobamboo !

" boo средства метапрограммирования I - ast ".

0 голосов
/ 14 августа 2013

Безусловно, лучший способ увидеть, на что способен Boo, - потратить кучу времени на прохождение тестов. Требуется некоторое время, чтобы разобраться, что происходит, но тесты действительно сгибают все мышцы, которые доступны и довольно хорошо написаны. https://github.com/bamboo/boo/blob/master/tests/testcases/macros/macro-1.boo

Также обратите внимание, что интерпретатор boo действительно хорош, и если вы не уверены, как работает тест, вам, вероятно, стоит потратить время на то, чтобы подтолкнуть его. http://boo.codehaus.org/Interactive+Interpreter

0 голосов
/ 01 ноября 2009

Я не просматривал этот сайт подробно, но, похоже, у него есть лучшие ссылки на Boo: http://boo.codehaus.org/Tutorials

Этот раздел все еще недостаточно документирован, но если вы посмотрите на https://github.com/bamboo/boo/wiki/Syntactic-Macros, вы увидите, как создавать синтаксические макросы. В основном вы должны реализовать Boo.Lang.Compiler.IAstMacro.

Правильный раздел в https://github.com/bamboo/boo/wiki/Abstract-Syntax-Tree, но в основном он кажется неполным.

0 голосов
/ 23 сентября 2010

Не стесняйтесь задавать вопросы в списке рассылки:

http://groups -beta.google.com / группа / boolang? Пли = 1

0 голосов
/ 01 ноября 2009

Там Создание доменных языков в Boo . Я получил раннюю версию для раннего доступа и нашел ее разочаровывающей из-за упомянутой вами «случайной» причины; Я наконец сдался. Надеюсь, с тех пор все стабилизировалось.

...