C++
これを理解するのに数時間を要したよ orz 推移閉包を求める。 下半分は、無限ループ回避。←違った。もっかい読む 下半分は、グラフがループしている場合にそのループ内のノードは同じ bitset を持つことになるので、ループ内の全ノードに bitset をコピーし…
こんなやつがあったら maybe_space: /* Empty */ | maybe_space WHITESPACE ; どうしようどうしよう。 考えながら書く 使うときは hoge: maybe_space fuga | piyo ; fuga: '1'; piyo: '0'; みたいな感じ たとえば パーサの状態が以下のような感じだったら . …
ほげほげ ちょっとメモしますよ 定義 %% add: mul | add '+' mul | add '-' mul ; mul: una | mul '*' una | mul '/' una ; una: pri | '+' una | '-' una ; pri: '1' | '(' add ')' ; ルール ルールには $accept: add $end が追加される。(%start がないか…
はじめに あのDan Kogai 氏にも好評な噂の名著「Jythonプログラミング」がついに発売されるわけですが、皆様いかがお過ごしでしょうか。今日は Jython にちなんで、 CSS の構文解析のお話をしたいと思います。(関係ない) 知ってますか? Safari(などの We…
ユニバーサルバイナリとは 今の理解は、 PPC 用のバイナリと Intel 用のバイナリをくっつけたバイナリファイルの形式。 こういう複数のアーキテクチャのコードを含むバイナリを「FAT バイナリ」や「マルチアーキテクチャバイナリ」という。 つまり、ユニバー…
sysenter と int 0x80 の違いを詳しく教えてもらった! あと、タスクの切り替えの頻度の話とか、コンテキストスイッチの話とか。 みんな若いのにすげーなああ!
今のところの理解 int fd; char * addr; fd = open("/Users/amachang/hoge", O_RDONLY); addr = mmap(0, size, PROT_READ|PROT_WRITE, MAP_FILE|MAP_PRIVATE, fd, 0); close(fd); こんな感じでやると、 hoge っていうファイルと addr から始まるメモリがちょ…
今まで (gdb) n 261 if(argc <= 1) (gdb) l 256 arch_flags = NULL; 257 narch_flags = 0; 258 all_archs = FALSE; 259 use_member_syntax = TRUE; 260 261 if(argc <= 1) 262 usage(); 263 264 /* 265 * Parse the arguments. (gdb) 「こんなちょっとのコー…
gcc や vc では main の第三引数って環境変数が入ってくるんですね #include <stdio.h> int main (int argc, char **argv, char **envp) { char **ptr; for (ptr = envp; *ptr != NULL; ptr++) { puts(*ptr); } return 0; } こうすると、環境変数が出力されます。知ら</stdio.h>…
僕の理解も相当間違ってたみたいですね 「 *s 」と「 s[] 」の違い - IT戦記 書いてよかった>< 書かぬは一生の恥になるところでしたね! ありがたい突っ込みありがとうございます>< 404 Blog Not Found:c - *sとs[]の違い http://d.hatena.ne.jp/PyTest/…
沖林さんがんばれ! なんか、かわいそうになってきた><がんばってください! C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan ところで 僕はちゃんと説明できるかな>< 少しでも言葉や概念が変だったら教えてください>< *s char *s = "h…
ここを見て hash関数 - 初学者の箸置 Ruby で使われている st.c ってなんなんだろうと思って調べてみた いろいろ使われてる ちょっとググったら、いろいろと使われているみたいですね Ruby Syck Oniguruma CPAN の File::MMagic::XS モジュール ライセンス …
C で Hash table を作ってみた。 22 時から 4 時までの 6 時間でやっと完成。 orz 300 行くらい。まだまだ LL 脳が抜けない。 昔、仕事で使ってたんだけどなー。おっかしーなー gdb のプロになりたい。 C 言語はエラー処理が大変、あとデータのインスペクト…
他にいい方法があるかもしれませんが 今はこうやってます。 $ `gcc -print-prog-name=cc1` sample015.c
マシン語やりたいよおお! だって、普段パソコン使ってるけどパソコンのこと全然分かってないもん。 Windows も Mac も Linux も同じ CPU で動かせるのに、なんでバイナリが違うの?マシン語 = バイナリじゃない? ハードディスクを管理してるのは、OS なの…