Attribute grammar

論文で出てきた言葉をそのまま写しているだけだから,英語のタイトルばっかり続くけど, attribute grammar というものが論文でしょっちゅうでてくるからメモ.http://www.cs.uiowa.edu/~hzhang/c123/Lecture3.pdfようするに,構文解析結果に意味づけを付加…

Adaptive Parser

で検索するとなんか自然言語処理の論文がひっかかるのでなかなか見つからない.やりたいことは: (ab (bc cd) def) を (ab (b c cd) def) に変えたとき (b c cd) の部分だけを再パースして,その前後はパースをやり直さない,というもの.前回のライブラリを…

Adaptive Functional Programming in Java

Excelは関数型言語 とか, Incremental Evaluation とかいう話に関連して,今週読んだ論文:Adaptive functional programming (ACM Transactions on Programming Languages and Systems (TOPLAS))関数型言語において,入力が変化したときに自動的に出力を(…

ちょっと宣伝

自分の研究ページのリンクが切れまくっていたのでなおした,ついでにページ内で公開しているもの宣伝 Tonyu System - ゲーム作成言語と環境 Nigari System - Tonyuの機能をけずってプログラミング教育に特化したもの Aroe - AJax開発環境 soyBasic - 携帯で…

Eclipse プラグイン覚書

EclipseでXMLをエディタ作り,Eclipseのプラグイン作りがどれだけ大変かを学習する.教科書 − amazon:4839922195 Eclipseプラグイン開発徹底攻略の7章(テキストエディター) ハイライトを増やす p156-159 教科書どおりに,CDATA がハイライトされるようにし…

足りないもの

ということはコード補完の論文も.と思って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の並列性について述べた発表. ゲームはオブジェクトがたくさんでてきて,それぞれ自分の意思で動く 状態遷移を自然に書くには,それぞれが実行単位をもったほうがよい この仕組みを実現するにはコルーチンが一番…

JavaFX と Incremental Evaluation

この前の遅延評価XMLパーサに似たものキーワード: Incremental Evaluation http://portal.acm.org/citation.cfm?id=117012&dl=ACM&coll=GUIDE この「Incremental Evaluation」を見つけたきっかけは,最近気になる「JavaFX」 http://satoshi.blogs.com/life/…

Aroeの開発がTonyuほど快適でない理由

「コンパイル中が終わるのを待ってから実行ボタンをおさないとコンパイル結果が反映されずに実行」 という問題を解決すればすこしは快適になる気がしてきた

Aroe をTonyuに近づける

やっぱりAroeのキラーアプリは「Flashで動くTonyu互換環境」にしぼることに. 開発環境(エディタとか)もFlashにする 既存のTonyu と上位互換 なので,Tonyuと互換性があるくらいにAroeの言語仕様を改訂.手始めに foo {|int x,int y|} というRubyっぽい記…

excel は「代入可能な純粋関数型言語」?

セルを書き換えること(代入)ができるわりに,循環参照は許容されていない(ループはかけない)というあたりがそんな気にさせる.

遅延評価を利用したXSLTパーサ

今日読んだ論文キーワード: excel lazy evaluationDocument querying and transformation: Lazy XSL transformations Steffen Schott, Markus L. Noga November 2003 Proceedings of the 2003 ACM symposium on Document engineering DocEng '03 XSLTに限ら…

Javascriptが動く,Javascriptで動く?

http://japan.zdnet.com/oss/story/0,3800075264,20351082,00.htmついにきたか.

scope chain prototype chain

で検索してひっかかった:http://timotheegroleau.com/Flash/articles/scope_chain.htmなかなかいい感じにFlashをいじめています. Did you understand it all? 無理.

RubyもTonyu

Ruby1.9は継続と“Fiber”をサポート - http://www.atmarkit.co.jp/news/200706/12/rubykaigi2.htmlうわーついにRubyでも並行処理が書けるようになった.

Prologでも

http://japan.internet.com/webtech/20070606/6.html 「昨日の夜、前から気になっている立ち飲みバルに行ってみたけど、料金リーズナブルでよかったよ」 actor(event,user1). goto(event,Bar). time(event,"2007/06/05"). care(user1,Bar). evaluator(eval,u…