今日は、コンパイラ (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:
Post a Comment