タグ

ブックマーク / i.loveruby.net (9)

  • ガベージコレクション

    Ruby には使われなくなったメモリを自動的に検出し解放してくれる ガベージコレクションの機能がある。 この節ではこのガベージコレクションの詳細を追ってゆく。 オブジェクトの管理 Ruby の GC は Ruby のオブジェクトのみが対象だ。かつ、Ruby が 生成し管理しているメモリにないといけない。逆に言うとユーザが勝手に 割りあてたメモリまでは面倒をみてくれないということだ。たとえば 以下の関数はメモリリークを起こす。 void koreha_dame() { malloc(1024); /* メモリをもらっては捨てる */ } 一方で以下の関数はメモリリークを起こさない。 void daijoubu() { rb_ary_new(); /* Ruby の配列を作っては捨てる */ } Ruby のオブジェクトはようするに struct RVALUE だったから、オブ ジェクトの管理

    mzp
    mzp 2012/08/17
  • Racc の使い方

    Racc は文法規則から Ruby で書かれたパーサを生成するパーサジェネレータです。 パーサ生成アルゴリズムには yacc などと同じ LALR(1) を使用しています。 yacc を知っている人は記述法の違いだけわかれば使えると思います。 yacc を知らない人は 拙著『Ruby を 256 倍使うための 無道編』(青木峰郎著、ASCII) などを一読していただくのがよいかと思います。 他の UNIX コマンドなどとは異なり、 いきなり使うだけで Racc を理解するのはかなり困難です。 Racc とはなにか Racc は文法を処理するツールです。 文字列はただの文字の列で、コンピュータにとっては意味を持ちません。 しかし人間はその文字の列の中になにか意味を見出すことができます。 コンピュータにもそのようなことを、部分的にでも、させられたら便利でしょう。 Racc はその手伝いをして

    mzp
    mzp 2010/10/18
  • 青木日記 2008-06-23 Ruby会議2008

  • Development Environment Conference - 青木日記/T(2006-09-09)

    mzp
    mzp 2007/07/16
    俺ポータビリティ
  • https://i.loveruby.net/d/?date=20060228

  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • Haskell - loveruby.net

  • Rubyソースコード完全解説

    書籍『Rubyソースコード完全解説』はインプレスダイレクトで御予約・御購入いただけます。 書籍紹介ページ: http://direct.ips.co.jp/directsys/go_x_TempChoice.cfm?sh_id=EE0040&spm_id=1&GM_ID=1721 HTML 版 『Rubyソースコード完全解説』の文を HTML 形式で無償公開しています。 (2004-02-17) 全章を公開しました。 初校の修正を紙上で行ってしまったたため、現在公開しているのは初校段階の原稿です。 従って書籍では修正されているところがまだ修正されていない場合があります。 順番に修正していくつもりではいますが、いつ修正できるとは断言できません。 予め御了承願います。 なお、その逆に一部の章が出版時より新しい場合もあります。 オンラインで閲覧 tar.gz 形式でダウンロード zip 形式で

  • Racc

    ダウンロード 旧バージョンリスト オンラインマニュアル Ruby 用の LALR(1) パーザジェネレータです。 生成したパーサはそれなりに高速に動作します。 Racc で生成したパーサは動作時にランタイムモジュールが必要です。 Ruby 1.8 にはこのランタイムが最初から添付されているので 何も考えなくて大丈夫ですが、Ruby 1.6 以前を対象にするときは racc -E でパーサを生成する必要があります。 なお、Racc 1.4.x のランタイムと Ruby 1.8 添付の Racc ランタイムは、 ソースコード上では微妙に違いがありますが、完全に互換性があります。 状況 もう基的な部分は枯れているはずです。 TODO はまだいくつかありますが、気持ちが他にいってるので 当分は大きく変更するつもりはありません。 Subversion レポジトリ Subversion を使うと R

  • 1