チュートリアルを和訳したものです。(English)この和訳ドキュメントはチュートリアル本文のみを日本語に翻訳したものであり、その他のページは未翻訳です。そのため、本文中に張られたリンクには原文に遷移するものがあります。原文の意味を損なわない程度に訳文を砕いている箇所があります。誤解がないように気をつけましたが、もしかしたら元の意味とずれてしまっているところがあるかもしれないことを予めご了承ください。下でライセンスしています。日本語の内容についておかしな箇所がありましたら、私までご連絡いただけると助かります。その他、本記事についてはコメントもしくはTwitter(@gab_km)宛にお気軽にどうぞ。基本的な概念を紹介します。ライブラリを用いてどうやってパーザ・アプリケーションを構築できるかへの直感を身につけてもらう事です。探究できるだけの十分な領域をカバーできればと思います。してビルドされています。ソリューションファイルを使う事です。参照しなければなりません。名前空間内で宣言されています。モジュール、すなわち下記のモジュールを含んでいます。モジュールもオープンします。プロジェクトに含まれています。このチュートリアルを読んでいる間、このプロジェクトを開いておけば、とても役に立つでしょう。ポップアップから得ることができます。」をクリックすればそのソースコードを見ることができます。入力をパースするには2つのステップを踏みます:パーザを構築する入力にパーザを適用する文字列中の小数ひとつをパースするという単純な例で始めてみましょう。ある全てのパーサの型です。関数型の型略称であることが分かるでしょう。型の詳細に踏み込む必要はありません。最初の型引数はパーザの結果の型を表すということに気を付けておけば十分です。型の浮動小数点数を返すということを型が私たちに教えてくれます。state”は使わないので、しばらく2番目の型引数については無視しておいてください。モジュールが提供しているいくつかの関数うちでのもっとも単純なものです。パーザを実行できるようにします。値の形でパーザの戻り値を返します。値は結果の値を持ち、そうでない場合はエラーメッセージを持ちます。digitというエラーメッセージを生成します。パーザを実装することは大体は低レベルなパーザを組み合わせて高レベルなパーザを作ることを意味します。ライブラリが提供するプリミティブなパーサから始めて、最終的に完全な入力のためのパーザを1つ得られるまでより高レベルなパーザへとこれらを次々と結合させていきます。以下のセクションでは、それぞれを構築する様々なサンプルのパーザを議論することでこのアプローチを説明します。