ブックマーク / qiita.com/sinkuu (1)

  • パーサコンビネータcombine を使ってみる - Qiita

    Marwes/combine: A parser combinator library for Rust Parsecに影響を受けて作られたパーサコンビネータだそうです。 Rustでパーサコンビネータといえばnomといった風潮ですが、combineはトレイトを中心にしたRustらしい実装であり、マクロでパーサを記述するnomと違ってRustのシンタックスで書けます。 この記事では設定ファイル記述言語であるTOMLで定義されているリテラル数値・文字列の文法を例にパーサを書いてみます。 なお、以下のようなものを自力で実装する必要はあまり無くて、言語実装に必要なパーサはcombine-languageというクレートでもっと網羅的に提供されています。 Parserトレイト combineでは、パーサはParserトレイトを実装した型として表され、コンビネータでParserを組み合わせていくことで大

    パーサコンビネータcombine を使ってみる - Qiita
    hyone
    hyone 2017/01/26
  • 1