2009-04-26
■[Python]インデント構造のパース
これを使えば、インデントブロックな言語の構造解析が容易になりますね。
def parse(lines): def _map(proc, lis): if lis == []: return [] return proc(lis[0]) + _map(proc, lis[1:]) def parse_indent(s): for i in range(len(s)): if s[i] != " " and s[i] != "\n" and s[i] != "\t": return [[s[:i], s[i:]]] return [] def tree(lines_data, c=""): i = 0 f = 0 struct = [] while i < len(lines_data): if lines_data[i][0] != c: f = i elif lines_data[i][0] == c and f > 0: struct.append(["block"] + tree(lines_data[f:i], lines_data[f][0])) f = 0 continue else: struct.append(["expr", lines_data[i]]) i += 1 if f > 0: struct.append(tree([a + b for a, b in lines_data[f:]], lines_data[f:][0])) return struct return tree(_map(parse_indent, lines)) if __name__ == "__main__": print parse("aaa\nbbb\n ccc\nddd".split("\n"))
↓出力
[['expr', ['', 'aaa']], ['expr', ['', 'bbb']], ['block', ['expr', [' ', 'ccc' ]]], ['expr', ['', 'ddd']]]
2009-04-12
■[Erlang][メモ]stringモジュールで文字列操作
Erlangには、文字列操作のためのstringモジュールがあります。
それのメモです。
※実際に使用するときは、”string:”を頭に付けてください
2009-04-05
■[Erlang][勉強会]突発オンラインErlang勉強会終了!!
http://www.lingr.com/room/9OFKsml09bi/archives/2009/04/05
ログは↑にて読むことができます。
無事終えることができました。
ありがとうございます!
12:00から約10時間、お疲れ様でした!!><
参加者人数は30人以上でとても楽しい勉強会でした。
# Erlangだけではなく、Skip Graph やπ計算とかの勉強もしたのは内緒
■[P2P][雑記]Skypeの『SIProp勉強会』というチャットグループに拉致られた\(^o^)/
P2Pについて語るチャットだそうです。
[0:30:07] Kazuyuki Shudoの発言: 昼間 URL が出た若者 (高専 1年生) を Twitter で follow してみた http://d.hatena.ne.jp/daiki41ti/about
[0:33:49] Noritsuna Imamuraの発言: 新番組 ストーカー準教授。
[0:34:20] Kazuyuki Shudoの発言: スカウト活動といってください (違
[0:34:37] Toshio Koideの発言: とりあえず、福岡はすごいってことで
[0:37:06] Kazuyuki Shudoの発言: (****) やらないか? みたいな
[0:38:27] Noritsuna Imamuraの発言: おー、響き的にはダメさがほとんどかわらないwww
[0:39:01] Noritsuna Imamuraの発言: 内容はすばらしいのにw
[0:40:41] Kazuyuki Shudoの発言: ストーカーとスカウト、似てる
[0:40:52] Kazuyuki Shudoの発言: ストウカ
こんな流れで俺を拉致したそうです。
ひどいですね。オトナって。
…冗談です。
ホントはメチャクチャ嬉しい!!><
こんなのやってる人とかもいて、とにかく感動しました><
ありがとうございます!!!
これからよろしくお願いします! >>SIPropの人達
よく分からないので質問してみた
[2:21:00] daiki41ti@突発オンラインErlang勉強会: このレベル高すぎる空間は一体何なんですか?><
[2:21:24] Toshio Koide: 私もよくわかりません、わたしも拉致された口です
[2:21:32] ohnishim: よくわかりません。モンハンしてました
[2:21:40] Noritsuna Imamura: たぶん、怪獣が暴れるためのスペースです。なので、逃げ遅れると焼け死にます。そんな空間です。
とてつもなくカオスだということだけ分かりました。