トップ «前の日記(2007-12-24) 最新 次の日記(2007-12-26)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|

ToDo:


2007-12-25

_ 二つ忘れてることがあるな

ひとつめは libcpp と GCC のハッシュの共有しっぷりで、 共有できるつくりになってるのは CHoP 作った時にわかってたんだけど、 具体的にこれどう使うねんとわかりにくかったのと libcpp ダルーと思ってやめたのだった。 けどまぁ今度見る。

ふたつめは線型探索とバランス木ってどのくらいのサイズから バランス木の方が速くなるねん、 という話とハッシュならどうやねん というような。 キー長にもよるから測るしかないというのが基本的な話だろうけど、 なんか前にささださんが Ruby で 線型にしたとかどうこう言っておられたので 今度見る。

(00:55)

_ ニコニコで爆笑したのは何年ぶりだろう

とかいうコメントをニコニコで見た。

(01:10)

_ ゴルフ場

  • トップに deadline が来てない問題リスト
  • mirc が新問題をアナウンス
  • mirc が deadline 1日前をアナウンス

(04:10)

_ あれ

kwskk 動かにゃーという話をあちこちで 聞いたんだけど僕の持ってる環境はたいてい動いてしまった。 IE6, Safari, Firefox(Linux,MacOSX,Windows), w3m(noscript だと XMLHTTPRequest 使わない) 。 まぁ Web とかはどうでもいいから elisp とか勉強してみよう (たぶんしない)。

なんかとりあえずログを見るとひょっとしたら小文字スタートで 入力してみてる人がいるな!と思ったので 警告を入れてみたけどまぁどうでもいい。

(23:35)

本日のツッコミ(全2件) [ツッコミを入れる]
_ wo (2007-12-25 04:11)

> ハッシュの共有
とりあえず適当に発言した責任として調べたところ、
www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/c-opts.c#l214
ここでident_hashでcpp_create_readerしてて、libcppはここで渡されたテーブルをハッシュテーブルとして使う(多分)んで、GCC側では、「char配列→identifier」の変換を
www.codeblog.org/gonzui/markup/gcc-4.1.0/gcc/stringpool.c#l108
ここでやってて、これもident_hashから探してるので共有できてる。
の、ように見えます。

_ shinh (2007-12-26 02:39)

あ、たしかに素直に共有できてますね。ありがとうございます。

なんか CHoP の SVN リポジトリ見てるとこれ渡してちゃんと共有しようと最初はしてたのに、諦めて NULL 渡して libcpp 側で管理してもらってしまってる様子が出てきました。

あとまぁ libcpp/lex.c とかは lex しながら hash 値作ってますね。 L"str" の処理とかも

  case 'L':
   /* 'L' may introduce wide characters or strings. */
   if (*buffer->cur == '\'' || *buffer->cur == '"')
    {
     lex_string (pfile, result, buffer->cur - 1);
     break;
    }
   /* Fall through. */

  case '_':
  case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':

ちゃんと TCC みたいな感じになってるなぁと思いました。

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2007年
12月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
1.annoncelegale(2011-10-26 20:30) 2.annoncelegale(2011-10-10 05:12) 3.Jcftymkt(2010-03-29 15:56)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h