私はC++の文脈自由文法(CFG)の文である入力を受け入れるためのプラットフォームをどのように作成するのだろうと思っていました。典型的な目的のために、CFGがポーカーの動きを示すと仮定する。だから、MOVE文の一般的な形式は文脈自由文法とC++
move statement -> PLAYER_ID MOVE_ID MOVE
だろうどこ
PLAYER_ID -> INTEGER
MOVE_ID -> INTEGER
MOVE -> CHECK | RAISE | CALL | FOLD
RAISE -> "raise by " INTEGER
私は(クラスとして実装することができる)例えば、特定のMOVE文と出力を受け取り、そのプラットフォームを構築したいです、ゲームの現在の状態。
C++でこのようなプラットフォーム/プログラムを作成するにはどうすればよいですか?
「手書き」を明確にするために編集されています。 Boostは一般的なC++ライブラリであり、C++の標準ライブラリのいくつかは最初にboostによって開発され、その後標準に統合されました。これは標準ではない(したがってSTLの一部でもない)精神の場合ではありませんが、インストールが容易で、多くの開発者がそれを使用することを選択します。使い方が簡単で、ポーカーの動きを解析するなどの良いオプションがあります。 – paulotorrens
私はあなたが行きたいと思う方法を確かめる必要があります。あなたが言ったように、あなたはあなたがしようとしていることを正確に説明しなかったので、私はあなたに複数の方法を導く一般的な答えを与えました。 C++の場合、ブーストは一般的な解決策です[そしてこれは紹介です](http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented)。別の一般的な選択肢は、バイソンとフレックスでパーサを生成することです(これは簡単な例です)(http://www.jonathanbeard.io/tutorials/FlexBisonC++)。私は、 'strtok()はあなたが尋ねたことに対して適切な解決策ではないと言わなければなりません。 – paulotorrens