この件に関するいくつかのリソースを見つけましたが、それらはすべてSmallTalkまたはHaskellの深い理解を必要としますが、どちらも知りません。
10 に答える
C#とF#のモナディックパーサーコンビネーターに関する8つの長いブログエントリを作成しました。最初のものについてはここを参照してください。
FParsec(F#の場合はParsec)も参照してください。
Web には C# のパーサー コンビネーターについて説明しているすばらしい記事がいくつかありますが、保守可能なソース リポジトリがないため、次の場所に作成しました。
http://code.google.com/p/sprache/
パーサーコンビネーターに精通している人なら、おそらくそれを改善するために多くのことを行うことができます (これがあなたのように聞こえる場合は、前進してください:))
Pythonをご存知の場合は、PyParsingがあります。
C# でのパーサー コンビネーターの実装に関する興味深い記事を見つけました。また、このテーマに関するより一般的な論文も参照しています。
この件に関するウィキペディアの記事には、概念の一般的な説明もあります。
Christe Double はJavascript でパーサー コンビネーターを作成しました。
Cay Horstmann は、Scala で 4 つのコンビネーター パーサーの講義と演習を行います。Scala で外部 DSL を解析する例がここにあります。
C++ のモナド パーサー コンビネーターに関する講演 (スライドとスクリプト) へのリンクを次に示します。