ブックマーク / qiita.com/nownabe (2)

  • RubyでRubyVMを実装してRubyVMの気持ちになってみる - Qiita

    はじめに この記事は「ほんのちょっとだけRubyが動くVMをRubyで実装してみて、Rubyが実行される仕組みを理解しよう」という趣旨のゆるふわな記事です。 こんなコードを実行できるVMを実装します。 この記事ではRuby 2.3.3を使います。 注意点 記事にでてくる用語は厳密な定義とかは気にせずゆるくふんわりと使ってます VMの実装はRubyを使うので結構ずるい感じです 構文解析、コンパイルはしません クラス定義、メソッド探索、コントロールフレームなどの概念はでてきません なのでRubyを題材にしてますが、Rubyの特徴的な機能にはあまり触れていません 対象読者 Rubyが好き 普段Webプログラミングとかしてる プログラミング言語の処理系としてのVMが気になる まえおき VMとは RubyJavaやErlangなどと同じようにRuby用のVM(仮想マシン)上で実行されます。 C言

    RubyでRubyVMを実装してRubyVMの気持ちになってみる - Qiita
    koyancya
    koyancya 2016/12/01
  • RubyVMの様子を観察したい - Qiita

    はじめに Rubyのプログラムは内部的にはコンパイルされてバイトコードとなり、RubyVM上で実行されます。 RubyVMはスタックマシンというタイプのVMで、オブジェクトをスタックに積み上げて演算を行っています。 諸事情によりスタックの様子を観察しながらRubyVMの命令単位でRubyプログラムを実行したかったのでやってみました。 いい記事があったのでこちらの記事を参考にさせていただきました。 RubyプログラムをVM命令単位で実行する 環境はMacです。 gdbセットアップ gdbというデバッグツールを使います。 Homebrewでインストールできます。

    RubyVMの様子を観察したい - Qiita
    koyancya
    koyancya 2016/11/17
  • 1