あどけない話

Internet technologies

2010-01-04から1日間の記事一覧

正規表現を超える--CSVファイル編

正規表現を超えるの補足として、CSVファイルを例に挙げて考えてみる。CSVファイルの定義は、RFC4180にある。 file = record *(CRLF record) [CRLF] record = field *(COMMA field) field = (escaped / non-escaped) escaped = DQUOTE *(TEXTDATA / COMMA / C…

Parsecで範囲指定

Parsec には以下のようなコンビネーターが存在する。 many p -- p を 0 回以上 many1 p -- p を 1 回以上 count n p -- p を n 回 しかし、正規表現の"{min,max}"のような範囲指定はない。そこで実装してみた。 import ApplicativeParsec range :: Int -> In…