Я недавно проработал путь по программированию языка Pragmatics 3rd ed, чтобы узнать больше о том, как работают языки под ним, и я получил много пробега, не глядя на сборку, созданную на самом деле скомпилированным кодом CCC. Я начал более комфортно работать со статическими языками из семейства C, и я хотел бы также начать изучать интерпретируемые языки.Видя под капотом Руби?
Ruby, являющийся моим любимым языком сценариев, был бы отличным кандидатом на это. Я думаю, что было бы хорошо начать с МРТ для учебных целей и выяснить, как точно все сканирование/разбор/семантический анализ/привязка/область охвата и другая магия происходят за кулисами.
Разве это подробно описано в любом месте, или есть ли какой-либо способ для меня копаться в нем, например, с разборкой скомпилированной программы? Я не очень много копался с интерпретируемыми языками, поэтому я не знал бы, с чего начать, насколько это касается МРТ.
Спасибо!
Страница Википедии на YARV предполагает, что это то, что работает шоу, начиная с 1,9, и поэтому он действительно настолько близок, что вы можете увидеть канонический рубин (в отличие от, скажем, rubinius и jruby?) Является ли это более-менее точным ? –
@glitch Да. Рубиний и JRuby имеют свой собственный байт-код, который должен быть так же легко заглянуть в –