Sunday 13 December 2009

go 勉強会

と言ってもコンパイラの授業の一部ですが。

今日は、コンパイラ (yacc/lex.c) を読んで、ggen->cgen->dump のコード生成を読みました。

どうも、中途半端にincore compileを目指したような踪が。LLVM 使う気はなかったのかな。

全体的に、Plan 9 の影響が大きくて、9c とかの c compiler と、Plan 9 アセンブラで書かれた、runtime がある。

goroutine のschedulerは、一つのSched 構造体を、みんながlockして操作するような形式らしいです。

でも、なんか疲れた... まぁ、面白かったです。gcc より10倍やさしいし。

No comments: