私の仕事の一部は、独自のゲーム スクリプト言語を維持することです。私は狭義のテーマに関する「ハウツー」本を知りません。そのような言語を書くことについて、Bruce Wilcox による興味深い記事があります。実装の詳細については説明しませんが、設計プロセスに多少入ります。
http://www.gamasutra.com/view/feature/1570/reflections_on_building_three_.php
スクリプト言語を書くことは、他の言語を書くことに似ており、すべて同じ原則と設計の問題が含まれます。言語がどのような概念を中心に展開すべきかを考える必要があり、文法を定義する必要があります。次に、コンパイラーまたはトランスレーターおよび/またはインタープリターを作成する必要があります。どちらを選択するか、およびそれらの実装の詳細は完全にあなた次第であり、これらのことを達成するための唯一または最良の方法はありません。
構文の解析と言語文法の定義に関しては、標準的な考え方があります。ここでは正規表現があなたの味方です。ありがたいことに、C++11 には<regex>
ライブラリが含まれています (元々は boost から)。コンパイラに関する本を手に取って、重要な概念を理解するのに役立つかもしれません。大学時代に編纂講座を受講していたときの教科書で、今でも手元に置いているのでオススメです。
http://www.amazon.com/Compilers-Principles-Techniques-Alfred-Aho/dp/0201100886/ref=sr_1_2?ie=UTF8&qid=1326618572&sr=8-2
言語を書くことは、コンピューター サイエンスの素晴らしい練習です。ただし、これが実際のプロジェクトまたは製品に関するものである場合は、既にコメントした他の人たちと同様に、私の専門的なアドバイスは次のとおりです。これは、あなたが検討している膨大な潜在的な時間投資であり、自問する必要があります: Lua や Python のような既存の自由に使用できる言語では見つけることができない、自分の言語から得られる利点は何ですか?それらの利点は、実装にかかる数か月の余分な時間の価値がありますか?
そしてツールを忘れないでください。他の人が使用する言語を作成している場合は、多くのドキュメントとツール、ツール、ツールが必要です。ほとんどの場合、少なくともソース レベルのデバッガーが必要になります。優れたデバッガーを作成するには、言語自体を作成するのと同じくらいの時間がかかります。
ゲーム ロジックを迅速にプロトタイピングするための言語だけが必要な場合は、Lua がニーズに適している可能性が高く、多くの既存のドキュメント、文献、およびツールが付属しています。