0

問題:

  • A?outcome1:(B?outcome2:outcome3) のように、ユーザーがテキスト エディターで簡単な構文で条件を記述できるようにしたい。

A と B はブール条件です。したがって、上記の文は、A が true の場合は結果 1、B が true の場合は結果 2、そうでない場合は結果 3 を意味します。

Java では、この構文のインタープリターを実装して、A、B、outcome1、outcome2、outcome3 がどこかに事前に格納されている値に変換されるようにします (A と B はブール値を返す関数になり、結果はオブジェクトになります)。条件が評価され、結果が返されます。

私の質問は、ここで車輪の再発明ですか? 「Javaコードに解釈された[制約付き]自然言語」のような機能のきちんとした実装をすでに提供しているJavaパッケージまたはライブラリはありますか?

どうも!

4

1 に答える 1

0

最終的に、人間が作成したルールを読み取って解釈するクラスを Java で作成しました。ここで見つけてください: https://github.com/seinecle/Umigon/blob/master/src/java/RuleInterpreter/Interpreter.java

于 2013-01-02T11:48:28.603 に答える