2008-06-01から1ヶ月間の記事一覧

dslを走らせてみう

普通にこんな感じで走ります。 後煙が気持ち悪いのは私が凄く手抜きをしたからです。まぁ取りあえず内部リリースで0.2とか0.02とかその辺で。 これはもうおしまい。 折角の土日なので、久しぶりにHaskell使ってぷちソースコード管理システムとかぷちみに分散…

初めてのRubyネットワークプログラミング(分散とかも)

解析の試験があると言う日にtwitterでぼそっと呟いた発言(http://twitter.com/ranha/statuses/842565499)を、初めてのRubyを読み終わったのでRubyの練習という事で実装してしまいました。 例によって例のごとく適当に動くだけですが、まぁ適当にでも動いてい…

ついにオライリーからHaskellの本出る

http://www.amazon.co.jp/Real-World-Haskell-Bryan-OSullivan/dp/0596514980/ 別にユーザ増えなくて良いけどね。 表紙がヘラクレスオオカブトなんですよ!!かっくいい!! 前も張りましたが、ネットでβが読めます。 http://www.realworldhaskell.org/blog/

ruby/SDLを使う

自分用メモ 重要なのはRuby/SDL用rubyであるrsdlの存在。 まずこいつを取得する。後はなんかgemsとか入れてruby/SDLをぶちこんでやる。以下がサンプルコード。後頻繁に中身が変わってしまっているのか分かりませんが、SDL::video_set_modeなる関数はありませ…

PCASTL1.6

が出ました!version 1.6では、pcastli.yの中で使われていたgcvt関数がリジェクトされて、sprintfが入っているので素直にコンパイル出来る様になっています。 後は上でも書いたclear関数が実装されています。 でもクロージャはまだ実装されていません。

PCASTLの新しい命令

clean関数引数が無い時は、多分大域変数から全てのsymbolを削除する。 一方引数がある場合は、大域変数からそのsymbolを削除する。 ということは、私が書いておいたgcvt使っているあたりを修正してくれているのかしら? 確認してみる。 修正入ってなかった。

C++でプログラム書いた

#include<iostream> #include<vector> #include<string> #include<map> using namespace std; struct cell_t { int wall[4]; bool memo; cell_t(){wall[0]=wall[1]=wall[2]=wall[3]=0;}; }; int turnR(int dir) { return (dir+1)%4; } int turnL(int dir) { return (4+dir-1)%4; } vector<string> sp</string></map></string></vector></iostream>…

2学期激しすぎるだろJK

さっき二学期の必修とか時間割的なものをみたら、この過密スケジュールは人間の受けるそれでは無いと思った。 終わった。 他の人はどうやって二年生になったのかしら???????????

模擬練習会

ICPCの模擬練習会に出た。A:単価が100の倍数なので、doubleとかfloatとか考えなくても素直に整数型で解ける問題。 B:魔の領域。期待値とか書かれてたからDPで積み上げて確率計算していくのかと思ったら単純にgreedyすれば良いとすぐ分かったので"コンテナに…

今やりたいこと

その前にまずやる予定が入っている事 ICPCの模擬練習会(取りあえず今日) ICPCの国内予選全部一人でやってぼこぼこにされてどれぐらい自分か矮小か知って、来年入ってくる一年生にどれだけ私がうんこだったかを教えてあげて来年は頑張る。 やりたい事 1.LLVM…

PCASTLのページからリンク張ってもらったwww

PCASTL: by Parent and Childset Accessible Syntax Tree Language ここの一番下に、私がリテラシの時間に書いたページに対してリンクが張られてるwなんてこったwww http://www.coins.tsukuba.ac.jp/~s0811425/hello_pcastl.html

構文解析器を弄る言語

ユーザが構文解析器を弄れる言語はふむ確かにありかなーとか思った。 というかここ数日構文木弄る言語とかしか実装してなかった気がするので、そういう風に頭が犯されているだけの可能性も高いけど折角だから色々と書いてみる。 どの辺の言語と関係していそ…

PyPCASTLテストファイル

test1.pl a = function(arg1,arg2,arg3) { print(arg3) } a(1,2,3)test2.pl print("Hello") print(" ,") print("world!")test3.pl hoge = function(a,b,c) { print(a+b+c) } hoge(1,2,3)test4.pl enclosure = function() { i = 0; return(function(){i=i+1;p…

現在のPyPCASTLのソースコード

CodeReposにあげるのとかはどうかと思うので、取りあえずここに張ってみる。 結構大きいので注意(??)一応PLYというPython Lex Yaccというモジュールが必要ですので、適宜入手してください。どうしたら良いか私には分かりません。 ソースコードを見ていたら気…

こんなのが実行出来ます。

また実装を加えた。 a = function(i) { print(1); print(i) } a.childset[1].childset[0].childset[1].childset[0] = "abc" a(3) a.childset[1].childset[1].childset[1].childset[0] = "Hello,World!" a(5) enclosure = function() { i = 0; return(functio…

PyPCASTL

enclosure = function() { i = 0 return(function() { i = i + 1 print(i) } ) } closure1 = enclosure() closure1() closure1() closure1() closure1() closure2 = enclosure() closure2() closure2() closure2() closure2() closure2() source.pl python p…

注文した

Modern Compiler Implementation in C 3-5週間後かぁー。 本当はML版が良かった様な・・・。 ML版も注文した。1万円超えたわはは。

というわけで

クロージャの実装が出来ました。 本家処理系がクロージャ無いのに比べたらここだけ勝ってる。 pcastli> a = function(){i=1;return(function(){i=i+1;print(i)})} pcastli> b = a() pcastli> b() 2 pcastli> b() 3 pcastli> b() 4 pcastli> c = a() pcastli>…

大幅な書き直し

AST周りとか全部書き直す。

なんか色々疑問が出てきた。

動きの部分で幾つか疑問点とかが出てきました。取りあえず大きいのを2つ。 コードブロックのお話 { int a = 1; { a = 2; cout<

これが動かん

通常の言語でのブロック文で { int a = 1 print(a) # -> 1 { a = 2 print(a)# -> 2 } print(a)# -> 2 }と成るところが、最後で1を出力してしまう。 まぁブロックの時はその時点でのフレームのコピーとかを投げてるからそうなってるんですけども。 ちょっと書…

これってどうなるんだろう

プログラミング言語論(?)的にはですけど。 a = function() { i = 1 i = i + 1 print(i) } a() // print 2 rmnode(a.childset[1],0) // i=1が消える。 a() -> ??静的スコープの場合には、定義時のi=1が残り続けているのかしら?

フレセミの課題終わった

フレッシュマンセミナーとかいう一年生向けのセミナーの課題がおわた。 グループでテーマ決めて発表とかで、私の班はふぁぼりてなゲームをふぁぼらせる発表だったので、私は最近弄ってるrogueの発表をすることにしました。 萌えるRogue(もえろぐ)とかで作っ…

closureの実装が分かった。

ああなるほど分かればそういう事か・・・という感じです。 ただ、これは今の私のpythonの知識で書けるのかしら? 参照と単なる代入が欲しいです。

この辺てもうちょっとまとめられんもんかね

lex -> yacc -> AST visitors ってさー、これ既存の言語上で逐一実装しなくても、言語作る為の言語いわばプログラミングランゲージランゲージを使った方が良い気がするんですよね。 それ専門の言語的な・・・。

どのスクリプト言語

現在PythonでPCASTLの処理系を作ろうとしているのですが、私は別にスクリプト言語どれかに取り憑かれている、もしくは取り憑いているわけではないので良い機会なのでどれかターゲットを絞って勉強してみようかなとか思うわけです。 PythonとRubyはちょっとし…

SuperCon2008が始まりました!

スーパーコンピュータコンテスト 2008 ホームページ 今年から変則的に成る様ですね。 どんな人が勝ち上がってくるのか楽しみです。皆さん、締め切りまで楽しく切羽詰まったアルゴリズム研究を行ってください!