間があいてしまった。

4連休だったんですが、
2月8日は東北オープンソースカンファレンスに行ったり、
2月10日は社会人のためのうつの防止のためのスポーツ大会に行ったり、
演算子順位法のことを調べて、プログラム組んだりしてました。


オープンソースカンファレンスには50人くらいの人が来てました。
knopixが東北学院大とか東北学院榴ヶ岡高校で使われてるとか、(俺やジョジョの作者の母校だったりする)
という話とか、XAMPPってので簡単にApacheMySQL,Perl,PHPが一発でインストールできるとか、
後はRORは楽しいとか言う話を聞いて来ました。
あと、公的機関からもっと地元企業に仕事を直接まわしてくれーという話とかが面白かった。
でも、なんとかして、でかい会社作って、英語勉強して海外にソフト売って、外資稼ぐようにしていくような
話をしてほしかったというか、しないと、いつまでたっても東北はダメダメになってしまうんじゃないかなぁとか
思ったりしてるけど、まぁいいや。


その後、懇談会もあり、名刺とか持ってけばいいものを、持っていかず、話すタイミングが掴めない状況になって
しまったので、メモ帳買ってきて、その場で名前と、メールアドレス、D言語オタクです。言語作ってます。
等と書いた紙を渡して、話し掛ける作戦に出てテーブル6つくらいを一回りしてみました。


いろいろ、凄い人はいたんですが、言語つくりを一緒に楽しもうって人は見つからなかった。orz
LL魂はもちろん知ってるのですが、LL魂を勧められたりして、、、。うーむ。



ということで、次は仙台駅近くのアエルってビルで東北デベロッパーズうんたらをやるそうなので
行ってみようと思ってます。


10日のスポーツ大会は、フットサルをやって、やっぱり走れなくなってることを痛感。
バレーボールは昔やってたので、そこそこ動けて楽しかった。
あと、カーリングならぬ、体育館で出来るカローリングというのをやって面白かった。
あれは、手前に置くのはいいけど、行き過ぎたらまったく意味なくなるんだなぁと、やってみて気がついたりしました。
タイヤついてて、基本的に1方向にしか進まないようになってるので、フォームが悪くてガーターばっかりの俺でも
タイヤの向きに気をつければコントロールが効くので面白かった。
Wiiリモコンカーリングとかのゲームでないかなぁとか思ってみたり。


で、演算子順位法なわけですが、とりあえず、通常は右と左とで優先順位の番号は変わるのだけども、
特殊な簡単なケースの場合は1つの優先順位だけで済むと「コンパイラの構成と最適化」に書いてありました。
カッコの扱いは、(はスタックに積んで、)が来たら(まで結合してしまえばいいみたいな話。
でも、いざ実装してみるとなかなか、うまくいかないで、うんうん悩んでる間にドンドン時間がたっていってダメでした。
再帰呼び出しをしない下降型のパース方法もあるらしいので、その辺とあわせてうまいことできんかなぁと思ってます。
参考になるとすれば,JavaScript on JavaScriptのソース
http://lxr.mozilla.org/mozilla/source/js/narcissus/jsparse.js
のExpression関数あたりが参考になるのかなぁという感じです。
完成すれば、リストで優先順位を管理する、再帰下降のプログラムよりも高速なパースができるようになると
思うのですが、頭悪いんだなぁ。(泣