« 2008年02月 | メイン | 2008年04月 »

2008年03月 アーカイブ

2008年03月01日

Haskell Hackathon 2008参加中 - kmyaccのinstallメモ

Haskell Hackathon 2008に遅れて参加してます。
実装系の知識が全くないので、どこから手をつけていいのやら。
とりあえず、kmyaccというのをinstallしないといけないらしい。
で、kmyaccのinstallでつまった部分があったのでメモ。
普通にmakeすると以下のようにエラーとなってしまう。
% make
cd src; make all
cc -Wall -O2 '-DPARSERBASE="/usr/local/lib/kmyacc"'   -c -o misc.o misc.c
misc.c: In function ‘sortlist’:
misc.c:127: error: ‘uint’ undeclared (first use in this function)
misc.c:127: error: (Each undeclared identifier is reported only once
misc.c:127: error: for each function it appears in.)
misc.c:127: error: syntax error before ‘n’
misc.c:144: error: ‘n’ undeclared (first use in this function)
misc.c:150: error: ‘xn’ undeclared (first use in this function)
misc.c:150: error: ‘yn’ undeclared (first use in this function)
make[1]: *** [misc.o] Error 1
make: *** [all] Error 2
Mr. hakobeによると、uintをunsigned intに書き換えるといいらしい。
src/misc.c(127行目)
  unsigned int n, xn, yn;
kmyacc-4.1.4の場合
出来た。
さて、続き続き。
2008/03/01追記
btoさんによると、common.hに
common.hに追記
typedef unsigned int uint;
と追記してもいけるらしい。

2008年03月02日

Haskell Hackathon 2008に参加してきました

まず、どこまで実装できたか。
結論から言うと、0%でした。
正直、実装系の知識が皆無の状態で参加したため非常に難易度が高く、「開始記号?終端記号?何ですかそれは?」「parser?それはわかる」「lexer?え?」と言うような状態。
しかし、処理系実装の方法を実感として得る事ができたし、かなり有意義でした。
BNF記法は知っていたけど、はじめて有効的に使っているのを見た。
そもそもこうゆう時に使うものなんだろうけど。
参加者の皆様、お疲れさまでした。

グッデイ

Haskell Hackathon 2008の大阪会場となったのは株式会社グッデイです。
去年末に行われたLiveCoding#5もグッテイで行われました。
今回のようなイベントや勉強会は、毎回のように会場確保に苦労します。
ネットワークやプロジェクタのある貸会議室等は、料金が高くなってしまい、Kanasan.JSでも苦労しています。
どこかの会社で開催できれば良いのですが、会場を提供している会社から見れば、どこの誰だか知らない人が社内をうろつくわけですから、簡単には許容できないのはある意味同然でしょう。
特に関西圏ではそのような会社が少ないように感じます。
このような状況下でも快く会場を提供して下さった、グッテイの皆様、本当にありがとうございました。