タグ

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

  • LoveRubyNet

    LoveRuby.Net 青木峰郎 / Minero Aoki 書籍サポートページ 『ふつうのLinuxプログラミング 第2版』(2017) 『10年戦えるデータ分析入門』(2015) 『データベース徹底攻略』特集5「Redshift徹底活用」(2014) [Amazon] 『Rubyレシピブック 第3版』(2013) [Amazon] 『ふつうのコンパイラを作ろう』(2009) 『Rubyist Magazine出張版』(2007) 『Rubyレシピブック 第2版』(2007) 『ふつうのHaskellプログラミング』(2006) 『ふつうのLinuxプログラミング』(2005) 『Rubyレシピブック』(2004) 『Javaを独習する前に読む』(2003) 『Rubyソースコード完全解説』(2002) 『Rubyを256倍使うための 紅玉征覇編』Racc パート (2001) 『

    y_uuki
    y_uuki 2018/03/11
  • 第9章 速習yacc

    概要 パーサとスキャナ プログラム言語のパーサの書きかたは昔からしつこく研究されてきており、 かなりしっかりした定石がある。よほど変な(または曖昧な)文法でない 限り、定石にのっていけば解決できるものだ。 まず最底辺には文字列を単語(トークンとも言う)の列に切り出す部 分がある。これをスキャナ(scanner)とかレクサ(lexer)と言 う。日語で言うと字句解析器だが、言いにくいのでスキャナと呼ぼう。 スキャナというものが出てくる根底にはそもそも「単語の区切りには空白ある でしょ」という常識がある。そして実際にたいていのプログラミング 言語はそういう仕様になっている。そのほうが楽だからだ。 例えば古いFortranでは空白が意味を持たなかった。つまり空白を入れても 単語区切りとは限らないし、変数の途中で何の前触れもなく空白を挿入したり することもできた。ところが解析が恐ろしく面倒なもの

  • 『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 形式で

    y_uuki
    y_uuki 2012/12/19
  • ソースコードを読むための技術

    $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: 柳川さん、まつもとさ

  • LoveRubyNet Wiki: RubyExtensionProgrammingGuide

    2008-01-09 15:51:08 +0900 (275d); rev 19 これは草稿です。 いずれ正式なところに移す予定。 対象とする読者 稿は以下のような読者を対象にしています。 Ruby の拡張ライブラリを書いたことがない C プログラミングがそれなりにできる Ruby プログラミングがそれなりにできる 2 に関して。 「ポインタって何?」レベルの人は不可です。 構造体とポインタをちゃんと使ってプログラミングのできる人を対象とします。 3 に関して。 以下のプログラムの結果がどうなるか、 考えるだけでわかるようにしておいてください。 class C p self # 何が表示される? def C.m puts '1' p self end def m puts '2' p self end end C.m # 何が表示される? C.new.m # 何が表示される? このマニュ

  • 1