Konohaの中の人によるKonohaに関するつぶやき - Togetter
Twitterのつぶやきマッシュアップメディア!
@togetter_jpをフォロー
マイページ
メニュー
設定
ログイン
トップ
ニュース
社会
地域
芸能・スポーツ
IT・Web
科学・教養
カルチャー
趣味
生活
仕事
ネタ・お笑い
ログ・日記
震災
311
放射能
支援物資
なりきり
生活保護
物資
原発
速報
国内
アジア
アメリカ
ヨーロッパ
その他
政治
経済
国際
法律
環境
コラム
東京
東京近郊
北海道
東北
関東
北陸・信越
東海
近畿
中国・四国
九州・沖縄
海外
芸能
テレビ
ラジオ
野球
サッカー
ゴルフ
格闘技
競馬
モータースポーツ
その他
Android
Apple
インターネット
パソコン
モバイル
ガジェット
サイト制作
プログラミング
その他
科学
テクノロジー
エネルギー
数学
物理
宇宙
自然
人文
建築
心理
その他
アニメ
ゲーム
マンガ
アイドル
映画
音楽
書籍
演劇
ファッション
社会学
カメラ
車・バイク
電車
旅行
釣り
歴史
アート
デザイン
動物
その他
ハウツー
レシピ
グルメ
恋愛
マネー
節約
健康・医療
教育
ペット
起業・ベンチャー
経営
マーケティング
会計・人事
法務
就職・転職
語学・資格
ネタ
お笑い
大喜利
画像・動画
やってみた
その他
ログ
日記
思い出
雑談
メモ
飲み会
議事録
イベント
セミナー
復興
原発
支援
政府
自治体
トップ
>
IT・Web
> Konohaの中の人によるKonohaに関する..
2011/01/03 03:34:01
IT・Web
編集可能
プログラミング
konoha
ドキュメント
+
Konohaの中の人によるKonohaに関するつぶやき
Konohaに興味があるもののドキュメントが少なく困っていたら,中の人がドキュメント的につぶやいてくれました.
Konoha Project
http://konoha.sourceforge.jp/
チュートリアルのPDFは以下にあります
http://sourceforge.jp/projects/konoha/downloads/33243/Konoha_Tutorial_20101129.pdf/
by
repeatedly
3 fav
1202 view
Fav
3
お気に入りに登録ならここをクリック!
まとめ
メニューを開く
一括削除
#konoha_lang
でkonohaの中身を紹介してみる.
返信する
RTする
ふぁぼる
imasahiro
2011/01/02 23:39:11
Konoha言語とは静的に型付けされたスクリプティング言語です. 公式サイトは
http://bit.ly/f8fMqB
です
返信する
RTする
ふぁぼる
imasahiro
2011/01/02 23:42:23
他のスクリプティング言語とは静的に型付けされている点で異なります。 また、Javaライクの文法を採用してます。 Java互換ではなく、Javaライクなので、一部の表記で異なっています。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/02 23:45:39
内部実装としては、ほぼC言語で記述され、ごく一部でアセンブリ言語が使われています。wcで数えたところ、1月2日現在、C言語が47207行, アセンブリが5行程度です。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/02 23:52:30
VMやクラス構造などRuntimeで使用するデータ構造はgentoolsディレクトリ以下のジェネレータで生成されます。 コードジェネレータにはpythonが使用されており、Konoha言語のスクリプトはMakefile.amを生成する程度に使用されます。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/02 23:57:27
Wikiに載っているKonohaの特徴を解説。 (1) C/Java と高い文法互換性. 主にJava言語にほぼ互換の文法を採用しています。 (2) 静的な型付けと型推論. 静的型付けを採用してる.タイポなどはコンパイルエラーとして出力される。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:03:07
続き. (3) "Run anytime" コンパイラ技術. コンパイルエラーに陥った際に、そこでコンパイルを止めるのではなく、極力動作する形でコンパイル・実行を行う方針でコード生成を行う。確か、これはppl2008で発表してた気がする。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:06:19
(4) ユビキタス時代のどこでもスクリプティング. 移植性高い.T-Kernel, LinuxKernel内でも動作する (5) 高性能バイトコードVM (世界最速?). 結構速い実行処理系.レジスタ型VMでdirect threaded codeを採用
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:13:00
(6) クラスルーム生まれの教育プログラムとの統合 これは、大学の授業で使ってますってことか. 去年のB3の授業課題はGUIアプリを作ってくるっていう課題だった.
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:15:18
Konohaのソースコードはsrcディレクトリ以下に配置されてる。 main関数が書いてある"konoha.c, 外部から持ってきたコードはext/,コンパイラ,VMは lang/,コアのコードとランタイムは main/以下に入ってる.
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:20:07
ヘッダファイルはinclude以下に入ってる。自動生成されるヘッダファイルは*_.hってアンダーバーが付いている。src以下にも自動生成されるファイルはあるけど、こちらは名前がまちまち。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:23:52
あまり計画をたてずに書いてたから、次に何を書けばいいのか迷う。とりあえず、以下を順々に書いていく。 メモリレイアウト、GC、VM、言語的特徴
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:26:43
メモリレイアウトというか、Objectやメモリ管理のデータ構造の話.KonohaではアーキテクチャによってObjectの大きさが異なる. 64bit OSなら64byte, 32bit OSなら32byteになるように配置してる.
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 00:55:08
Object(knh_Object_tで定義されている)はヘッダ(knh_hObject_t)とボディで構成されてる。ヘッダはオブジェクト状態をしめすflag、クラス情報,あとリファレンスカウントが入ってる。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:00:00
またmagicフィールドとmetaフィールドが存在している。magicはlive/deadの判定用,metaは現在未使用。 void *meta; /*reserved for traits*/と書いてあるからtraitsをやるために残っている。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:02:35
String, InputStreamなど各オブジェクトはヘッダは共通で、ボディだけ構造が異なるが、それぞれのオブジェクトの大きさは必ずsizeof(Object)となるように注意している。64byteからあふれる場合はポインタでつないで管理している。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:13:44
各クラスのオブジェクトはkonoha_class.h, メモリ管理データ構造はkonoha_t.hに載っている.メモリ管理データ構造はPythonを参考にしてる。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:15:46
sizeof(knh_hObject_t)=32なので、オブジェクトのボディサイズが32を越えるオブジェクトは64byteになるように、2つのデータに分割されます。(溢れた分は64byteである必要はない)
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:27:55
というか、いつの間にかヘッダが8byte大きくなってる。いつからだろうか?思い出せない。
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:29:07
ソースコード中ではオブジェクトはknh_Hoge_t、溢れた分はknh_HogeEX_tという名前で定義される。Method, InputStreamなど結構多い。
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:33:06
ObjectArena(256KB)をObjectPage(4KB)ごとに分割し、それをさらにObject(64Bytes)として使用している。各Pageの先頭はObjectではなく、bitmap(GC用)として使用している。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:36:24
各オブジェクトが64byteの大きさで固定なのは断片化とかを考えたくないからだった気がする。 使われていないObjectはfreelistとして各実行コンテキスト(ctx)ごとにunusedObjectという名前で保持される。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:38:19
オブジェクト以外の用途でメモリを使用するために同様の構造を使ってる。しかしメモリ領域は分けられている。64byte以下のメモリはここから割り当てる。(メモリの利用効率は落ちる) 64byteを越える大きさのメモリはmallocで直に確保する。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:45:34
つぎはGCの話。現在、KonohaではRCGCがデフォルトで採用されている。 MSGCも実装済みで、次のバージョンから移行するかもしれない。
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 01:49:28
各クラスはObjectSPIと呼ばれるドライバ関数群を持っています。Object なんとかinterfaceという略だったと思います。オブジェクトのinit, copy, traverse, compareToなど各種APIを保持しています.
#konoha_lang
返信する
RTする
ふぁぼる
imasahiro
2011/01/03 02:11:34
Content from Twitter
残りを読む(51)
ブログへ
iframe版
拡張版
張付けプレビュー
Fav
3
あわせて読みたい
プログラミング能力の低さに悩んでいます
プログラミングは偉大
ゲーム業界はロクなドキュメントを書かないらしい
プログラミングの題材
三\n")
powered by Preferred Infrastructure
コメント
VM,言語の特徴に関するつぶやきを追加.
返信
repeatedly
2011/01/03 05:26:28
0
コメントを入力してください。
Twitterにも投稿する
みんなのおすすめ商品
商品を編集
おすすめ商品を登録する
設定を変更する
まとめを作成する
プロフィール
フォローする
アレな会社で一般人なイケメンやってます. Software Alchemist. D(Phobos committer), Ruby(1.9), Python(Tornado), Opera, Android, Mac, Emacs, No! SQL, Sports, Red Bull, No つけ麺 No Life!
repeatedly
link
twitter
rss
アップデート
まとめ
19
2
留年がアップを始めたようです
73
uupaaさんのCoffeeScript利用時の注意点
55
地獄のkzk
お気に入り
122
コメント
7
新着のまとめ
エア実況まとめ~( ՞ ਊ ՞)~
new
ワールドビジネスサテライト(2012年5月31..
new
ツイッター小説 お気に入りセレクト 2012/..
new
瀬上さんの語りまとめ
new
Hasta La Vista大阪イベント
new
もっと見る
@togetter_jp
最近追加された商品
徒然草 (4) 全訳注 (講談社学術文庫 (431))
徒然草 (角川ソフィア文庫―ビギナーズ・クラシックス)
徒然草 (ちくま学芸文庫)
国家公務員の給与〈平成23年版〉―その仕組みと取扱い
徒然草 (英文版)―Essays in Idleness (タトルクラシックス )
オススメ
マイスター
トゥギャ通
第20回ネットスクエアード東京ミートアップ:ソ..
new
中核派が北九州瓦礫受け入れ妨害行為への関与を宣言
埼玉南部の奴らがみた変な虹の写真まとめ
TEDを使ってリーディング・リスニング・ライテ..
頑張れ、米本君!!
映画HESOMORI-ヘソモリ-絶賛公開なう
もっと見る
「#お前らお勧めの戦争映画を教えろ」
new
#キッザニアにあるべき職業体験を挙げてけ セレ..
new
即身仏合コン
new
仏像合コン
new
#黒バスキャラが彼氏だったら まとめ
new
#黒バスキャラと同棲 まとめ
new
もっと見る
第80回「日食写真と昭和格差」
号外「みんなの金環日食まとめ―画像から教養ま..
第79回「虚構新聞とJリーグ」
第78回「コンプガチャとIT系かあちゃん」
第77回「びろーんと自宅警備隊」
第76回「Appleとパンツクッキー」
もっと見る
コメント