タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

parserとhaskellに関するmnruのブックマーク (5)

  • Parsec 練習問題

    以下のプログラムは Tiny C のパーサをParsec ライブラリを使って書きかけたものである。 Tiny Cの構文を適切な代数的データ型として定義し、Tiny Cのパーサーを完成させよ。 (Tiny CのBNFはこのページの最後に示す。) 補足: パーサプリミティブの説明 tinyCStyleとlexerは、 C言語のトークンの定義(実際にはJava言語のものを流用)に合わせて、後述の whiteSpace〜reservedOpを用意するための補助的定義である。 whiteSpace〜reservedOpは、C言語のトークンをパースするための パーサ関数である。また、runLexはパーサをテストするための関数である。 これらは組み合わせて、例えば次のように使用する。 Parser> runLex (do {parseId; parseAddSub; parseId; return ()

  • Parsec, 高速なコンビネータパーサ

    文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@

  • Haskell で parser を書くには (初心者編)

    Haskell で parser を書くには (初心者編) 勝手に Haskell Advent Calendar 2011 Haskell Advent Calendar 2011 にはエントリーできませんでしたけど、一人寂しく「勝手に Haskell Advent Calendar 2011」を開催して、わくわくクリスマスを待ちたいと思います。 目的: Parsec3 と attoparsec の基的使用法, Applicative スタイルを習得する 前置き: Haskell で parser を書くにはどうすればいいのでしょうか? 私は、これを勉強すべく情報源を探しましたが、一体どこからどう始めればいいのか分からず、非常に混乱しました。「この記事を読めば大体概要が全部分かる」という情報源が日語でも英語でも見つけられなかったからです。なので自分でまとめてみることにしました。 (私

  • Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ

    お台場のTOKYO CULTURE CULTUREで開かれたHaskellナイトというイベントで、ライトニングトーク「Haskellゴング」に出てでしゃべってきた。 Parsec 3活用事例: Keepalived構文チェッカ (Haskell Gong 2009)View more documents from ma0e. ソースコードはgithubで。 http://github.com/maoe/shiritori http://github.com/maoe/text-keepalived Parsec 3からモナド変換子の実装が入ったことで、パーザ内部でI/Oすることができるようになったため、include文のパーズが簡単になったというお話。text-keepalivedの方は仕事で使っています。アルバイトも募集しています。 Parsec 2に関する補足 id:kazu-yama

    Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ
  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

  • 1