2007-08-01から1ヶ月間の記事一覧

足りないもの

ということはコード補完の論文も.と思ってCode Completion とかCode Assistとかで探してもこれ くらいしかまだ見つからない.意外とすきま研究か?

これで作りたいもの

上で述べたような"Semantic Grammar" を書いておくだけで,Eclipseのプラグインを自動生成してくれる仕組みが欲しい.もちろん,次の機能は全部ついてくるものとする. リアルタイムなコンパイル コード補完 リファクタリング エラー修正候補

Semantic Grammar

昨日の論文の中身:Semantic Grammar,つまり意味まで構文定義に書く方法...なんか普通にyaccとかに取り入れられている気もする command = variable ':=' expression ただし env :: name-> type com :: s -> s ( sはstateのこと ) exp :: s -> val var ::…

意味解析まで面倒みるパーサジェネレータ

日頃から「パーサジェネレータは使えない.構文解析しかしてくれなくて,意味解析はサポートしてくれないから」とぼやいていたが,ちゃんと意味解析も考慮したパーサジェネレータ(というかコンパイラジェネレータ)もあるみたいだ.1982年から. A semantic…

SCI探訪

SCIENCE CITATION INDEXprogramming で検索すると次の3件.ACMは読める. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMSJOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMINGMATHEMATICAL PROGRAMMING game で検索すると ***** No matches found for the q…

Incremental Evaluation その2

7月20日の続き?On the optimality of change propagation for incremental evaluation of hierarchical attribute grammarsプログラムの一部分の書き換えによる影響範囲が伝播するのを,どうやって最適化するかという話.

Game conference で検索

ゲームのネタで真面目な学会発表ができるかどうか? Game Developers Conference GDC 2008 Call for Submissions Call for Submissions for the Game Developers Conference 2008 will open on August 15th 2007 and will remain open until October 1st 200…

bind の謎

openJFXのフォーラムより Canvas { var circles = bind [] content: bind [circles, View { content: Button { onMouseClicked: operation(e:MouseEvent) { insert Circle { 略 } into circles; } } }] } ↑は,期待通り動くけど,↓は,動かないんだって Canv…

JavaFX Tips

こんなクラスを作ってみた class RangedString { attribute src: String; attribute b: int; attribute e: int; attribute toString:String; } attribute RangedString.toString = bind src.substring(b,e); var r=RangedString {src: "aiue" b:1 e:4}; なぜ…

JavaプログラムをJavaFXに移植しよう

上のFlashスクリプト(仮称)のコンパイラがJavaで書かれているから,JavaFXに移植しようと思う(bind を使いたいから)どうせ中身はJavaなんだからコンバータ一発でうまくいくだろう.とおもったら class Tesuto2 { attribute list:Vector; // エラー } だ…

Flash上で動くスクリプト言語のテスト

http://219.94.147.26/tonyu/flash/test/tonyumov.swfとりあえず x,y,setRotation, r,g,b あたりをいじって遊んでみてくださいActionScript の主要なクラスを呼び出せるようにしてある...はずだけど,製作者もためしていないあとエラーメッセージはDebugg…

できた

return bind 式 という書き方ができるのか import javafx.ui.*; public class Tesuto2 { attribute x:String; attribute y:String; operation goukei():String ; } operation Tesuto2.goukei():String { return bind "{x}と{y}."; } var tes = Tesuto2 {x:"…

JavaFXはじめました

import javafx.ui.*; public class Tesuto2 { attribute x:String; attribute y:String; attribute goukei: String; } var tes = Tesuto2 {x:"山" y: "川"}; var goukei=bind "{tes.x}と{tes.y}"; // *A var win = Frame { title: bind " JavaFX" width: 200…

ちょっと衝撃 Packrat Parsing

失敗するとバックトラックして構文解析をやりなおす点や,「a | b 」とは書かず「a / b 」 と書いて「aを失敗したらbを解析」という意味になる点など,これは実はTonyuのパーサがこの方式.しかもこのPackrat Parsing は公表されたのは 2002年,Tonyu の 公…

キーワード集

飲み会などで拾った単語を列挙KL-1[言語]の部分リスト,Rats[パーサジェネレータ], fortress[言語], Scala[言語], SXML[記法] ガード[言語要素], Transaction Memory[並列処理], LLVM/LVM[汎用アセンブラ], RTL[中間コード] ,Specint[ベンチマーク],…

Swoppで発表

「並列」に関するワークショップなのでTonyuの並列性について述べた発表. ゲームはオブジェクトがたくさんでてきて,それぞれ自分の意思で動く 状態遷移を自然に書くには,それぞれが実行単位をもったほうがよい この仕組みを実現するにはコルーチンが一番…