2011-12-07 13 views
0

"A AND B OR C AND(D OR E)"のような文字列を持っています。私はちょうどここで論理的な表現を解析したい、同じJava Apiがあります。ここで論理式を解析するためのJavaライブラリ

A、B、C ...文字列の形式であり、文字列、文字列(すなわち、キー、値、演算子)

答えて

1

まず、あなたが行っている表現の文法を修正する必要があります。受け入れるために。あなたが書かれているもの:

"AとB OR C AND(D OR E)"

はあなたの言語の例の文字列です。だからまずBNFを使って定義できる言語を定義する必要があります。これにより、あなた自身の言語を完全に理解することができます。

あなたが入力した任意の任意の式は、解析する必要があります。 expression tree

最後に、式ツリーを評価する必要があります。それはどのように行うことができるかの

合理的な例は、このarticleに与えられている

0

利用スプリング式 - サポートしており、OR、NOT

+1

あなたは完全な完全な例を詳しく説明し、提供していただけますか? – Lizz

関連する問題