文法の構築がもっと簡単にできるようにしたい。
GrammarCommonImpl にメソッドを追加して、以下のように記述が可能なようにした。
また、上記に加えてプロパティの指定を可能にするメソッドのバリエーションも追加した。
- class GrammarCommonImpl : public Grammar {
- // ...
- public:
- void addGrammarTransition(const std::string& phrase, const Grammar::State& startState, const Grammar::State& endState);
- void addGrammarTransition(const std::string& phrase, const std::string& propertyName, const Grammar::State& startState, const Grammar::State& endState);
- void addGrammarTransition(const std::string& phrase, const std::string& propertyName, int propertyInt, const Grammar::State& startState, const Grammar::State& endState);
- void addGrammarTransition(const std::string& phrase, const std::string& propertyName, const std::string& propertyString, const Grammar::State& startState, const Grammar::State& endState);
- void addGrammarTransition(const std::string& phrase, const std::string& propertyName, int propertyInt, const std::string& propertyString, const Grammar::State& startState, const Grammar::State& endState);
- // ...
- };
Hello, World プログラム にて「ハローワールド」という文法を受理するだけの文法を作成するにも、以下のように長くなってしまう。
もっと文法の構築が簡単にできるようにしたい。