clu2cの動態保存とはなんでしょう?(東海道らぐ 初オフ会 in オープンソースカンファレンス 2012 Kansai@Kyoto 資料)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

clu2cの動態保存とはなんでしょう?(東海道らぐ 初オフ会 in オープンソースカンファレンス 2012 Kansai@Kyoto 資料)

  • 1,069 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,069
On Slideshare
1,065
From Embeds
4
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 4

https://twitter.com 4

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. clu2cの動態保存とは 何でしょう? 赤影参上 仮面の忍者
  • 2. 自己紹介• 謎の人• 東平洋史の悪友•飛騨の人の知り合い–浸透言うな
  • 3. clu2c の展示でよく訊かれる質問• シーエルユー(CLU)ってなんですか?• 動態保存ってなんですか?• 何かの役に立つのですか?上記の質問に お答えします。
  • 4. その前にCLU関連の東平さんの略歴を1988年4月 東京工業大学第1類に入学1989年4月 東京工業大学理学部情報科学科に配属1990年4月 情報科学実験第二(木村泉先生担当)受講 →CLU、ncluと出会う1991年4月 木村泉研究室に入る →clu2cの開発始まる1991年9月 卒業論文のテーマ決まる1994年3月 東京工業大学大学院博士課程前期修了 →CLUから離れる2009年11月頃 京都御所へ行くついでにKOFへ行くことにし、 そういえばclu2cもオープンソースだよなあ、と 思い出す。→これが活動開始のきっかけ。
  • 5. それではご質問にお答えます
  • 6. CLU(くるう)とは何ですか? プログラミング言語 • MITのBarbara Liskov考案(1974) ← 結構、古い • 強い型付 • コンパイル時に全てのオブジェクトの型が決まる • でも、任意の場所で変数宣言可能 • 抽象型(cluster)を定義可能 • 継承はできない • 複数の戻り値が可能 → Rubyもパクった取り入れた a:int, b: real := type$procedure(c, d) • 変数の値は全てヒープ上のオブジェクト • Garbage Collection• イテレータ → Rubyのブロックになった• 例外処理 → Rubyもパクった取り入れたいわばRubyの先祖です
  • 7. clu2c(くるーつーしー)とは何ですか?プログラミング言語CLUの処理系• プログラミング言語CLUで書かれたプログラム をCで書かれたプログラムに変換(CLU to C)• Cで書かれたプログラムを実行形式(a.out)に コンパイル CLUの clu2c Cのプログラム プログラム 実行形式 clulink a.out ライブラリ
  • 8. clu2cの実行例CLUで書いたプログラム Cのプログラム(一部)赤字は2バイト文字使用部分 int AFstart__up() {start_up = proc() if (OFstream_Dprimary__output() == SIG) { 標準出力:stream:= stream$primary_output() goto except0; } for i:int in int$from_to(1, 5) do LV_X49383d603d504e4f = 標準出力!putl(”No. ” || retval_area[0]; i!unparse() || for (t1 = 1; t1 <= 5; t1++) { ” Hello World!”) OFint_Dunparse(t1); end (略)end start_up } }
  • 9. 動態保存とは何でしょう?Wikipediaより• 動態保存(どうたいほぞん)とは、関連する業 界内においてその機械類がほとんど運用さ れないような状態において、機械類が本来の 用途としての動作・運用可能な状態で保存さ れている場合、もしくはその状態そのものの ことである。• 動作・運用が可能ではない状態で保存する 場合は静態保存という。
  • 10. ほとんど運用されないような状態に おいて
  • 11. 何かの役に立つのですか?何の役にも立ちません• CLU使う人なんて もういません
  • 12. 技術の保存は必要でしょ• 蒸気機関車(国鉄→大井川鉄道など)• EF55型電気機関車(国鉄→ JR東日本→鉄道 博物館)• キハ52型(国鉄→JR西日本→いすみ鉄道)• ボンネットバス(函館バスなど)• レーシングカー• FACOM-128B(富士通)• リレー式計算機 14-A (カシオ計算機)
  • 13. 青春の記録1988年4月 東京工業大学第1類に入学1989年4月 東京工業大学理学部情報科学科に配属1990年4月 情報科学実験第二(木村泉教授担当)受講 →CLUと出会う1991年4月 木村泉研究室に入る →clu2cの開発始まる1991年9月 卒業試験のテーマ決まる1994年3月 東京工業大学大学院博士課程前期修了 →clu2cから離れる2009年11月頃 京都御所へ行くついでにKOFへ行くことにし、 そういえばclu2cもオープンソースだよなあ、と 思い出す。→これが活動のきっかけ。
  • 14. clu2c現在の状態開発自体は終了• 木村泉先生退官により木村泉研究室消滅• 東工大 理学部 情報科学科での公開は終了 →フランスのFTPサーバからソースを回収• 現在は「動態保存」• こちらでソースを公開中 – http://touhei.sakura.ne.jp/clu2c/ – http://sourceforge.jp/projects/clu2c/
  • 15. clu2cプロジェクト参加者• 江原善(初代リーダー) • 森村健司• 木原誠司(コンパイラ実装) – Human68k、MS-DOSへの移 植• 地引昌弘(デバッガなど) • 森玲人(デバッガ担当)• 孫音(ライブラリ実装) • 東平洋史(最適化など)• 牛嶋哲(二代目リーダー) – 日本語文字使用部分実装 など• 富沢伸行(ライブラリ実装) プロジェクト終了後• 浦野幹夫(ライブラリ実装) • 前田修吾さん – Linuxへの移植およびPorts化• 野澤義雄(ライブラリ実装) • 東平洋史• 林智子(ライブラリ実装) – 前田さんの改造をCLU使用部 分に反映 – Cygwin、Ubuntu 9.04への移植
  • 16. 参考文献• CLU Reference Manual – Liskov, B., Atkinson, R.R., Bloom, T., Moss, E.B., Schaffert, R. and Snyder, A. 著 – http://publications.csail.mit.edu/lcs/specpub.php?id=793• CLUとその仲間たち – 久野靖 著 – 共立出版 bit 1989年5月号~12月号 – http://www.oreilly.co.jp/books/9784873113630/#files• 開発効率と移植性を重視したCLU言語処理系の作成 – 江原善 著 – 東京工業大学理工学研究科情報科学専攻 修士論文 – http://touhei.sakura.ne.jp/clu2c/clu2c-thesis.tar.gz
  • 17. clu2c動態保存会は改名します
  • 18. 新名称
  • 19. CLU動態 保存会
  • 20. 改名の理由• そもそもCLUが絶滅危惧種 – clu • 一部(parserなど)は pclu または nclu → clu2c へ流用 – nclu • 一部(parserなど)は clu2c へ流用 – CLUマシン • LISPマシンみたいなもの • ソースの所在不明• clu2cだとオートコンプリートで しばしば「Clu2c」に勝手に変換されてしまう。
  • 21. CLU動態 保存会
  • 22. よろしくお願いします
  • 23. おしまい(^.^)/~~~