Я понимаю, что Ruby 1.8 AST
во время выполнения используется большой оператор switch, и во многих случаях, например, при вызове метода в классе или родительском модуле, интерпретатор просматривает дерево по ходу дела. Есть ли простой способ получить доступ к этому AST
в Ruby C
расширении? Включает ли он API расширения Ruby или требует прямого взлома внутренних структур данных?
maetl
17.08.2008 22:23:58
2 ОТВЕТА
1
Orion Edwards
17.08.2008 22:36:13
Спасибо за совет. Вы правы - ParseTree
кажется, что это единственный код, который когда-либо манипулировал AST, за исключением того, что он написан на RubyInline.
Итак, это странная смесь между Ruby и C-кодом. Очень интересное чтение, хотя.
Другая ссылка, конечно, eval.c от самого Ruby.
Потребуется немало времени прочитать обоим, чтобы обдумать это.
0
maetl
11.08.2015 07:46:15
Привет всем! из интереса, что ты пишешь? :)
horseyguy
10.08.2009 20:54:15