Как мне скомпилировать irb из исходного кода в Ubuntu? - PullRequest
0 голосов
/ 25 мая 2010

Я хотел бы скомпилировать irb из исходного кода без каких-либо оптимизаций, чтобы я мог получить больше информации при пошаговом выполнении кода (интерпретатора) с помощью gdb Я успешно скомпилировал ruby ​​1.9.1 без проблем, но не могу найти документацию по irb. Я полагаю, что irb включен в источник ruby ​​1.9, но не смог проверить это. Кто-нибудь может указать мне правильное направление?

1 Ответ

2 голосов
/ 25 мая 2010

Можете ли вы уточнить, что именно вы подразумеваете под "компиляцией IRb без оптимизации"?

Вы не говорите, какую реализацию Ruby вы используете. Я предполагаю, что вы используете YARV.

В YARV нет отдельного шага компиляции, он автоматически компилирует IRb для вас каждый раз, когда вы запускаете его. (Несмотря на то, что YARV является компилятором, вы можете думать о нем как об интерпретаторе, поскольку вам никогда не придется беспокоиться о шаге компиляции.) Кроме того, YARV не выполняет никаких оптимизаций при компиляции AFAIK, и если это так, то нет способ повлиять на компиляцию, таким образом, также нет способа отключить оптимизацию.

IRb довольно легко найти в исходном коде YARV. Исполняемый файл находится в каталоге bin:

Но это не делает никакой интересной работы. Настоящее мясо в стандартной библиотеке:

...