Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
重複の可能性: 文字列形式で指定された数式を評価する
「1+23-56」のような数式を表す文字列を数値に変換するにはどうすればよいですか?私はこれをJavaで行おうとしています。
独自の文法を使用して独自の言語仕様を作成し、それを実装する必要があります。電卓用の言語を作成する方法の例がいくつかあります。
基本的な原則は、最初に構文解析を行い、構文ツリーを生成し、それを言語ルール (意味解析) を使用して解析することです。
ここではいくつかの例を示します。