私はC++でプロジェクトをコーディングしています。私はテキストファイル(usergrammar.txt)、人が読める/書込み可能な形式、ユーザー定義の文法オブジェクトを定義します。実行時に文法をロードする
これを実行したら、コード内のこれらのオブジェクトの一部をインスタンス化し、作成したインスタンスを別のファイル(instances.txt)に保存することができます。この第2のファイルは、第1のファイルに正確に依存することは明らかである。
私が問題を抱えているのは、文法を定義して構文解析する方法です。私はBoost :: Spiritを見てきましたが、最初のファイルを読むのはうまくいくのですが(ルールはあらかじめ定義されているので)、Spiritの文法しか定義されていないので、2番目のファイルには当てはまりませんコンパイル時に実行時に読み込むことはできません(少なくとも私が理解したことです)。
ENBFフォームについて読んでいますが、言語ルールだけでなく、それぞれのオブジェクトに別の名前/説明/オプションが含まれているという問題もあります(例えば、私はオブジェクトの色を持っている場合、その内部の整数は赤、青、yelloと呼ばれますが、オブジェクトが定規であればその整数は長さと呼ばれます)、これらの情報をファイルを作成し、それらのファイルを適切な値に正しく関連付けるようにします。
あなたはこのようなプロジェクトのために何を見て/勉強し/使用する/するべきかについての指針を持っていますか? ありがとうございます。
一般的なフォーマットは何ですか? XMLを使用するのがあなたのために働くでしょうか? –