Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Java 四則演算解析実行クラス

2006-05-31 03:16:50 | PG(Java)

Javaで四則演算の式を解釈して実行(計算)するクラスをちょっと作ってみた。
コンフィグファイルとかを読み込むルーチンを作ると、こういうのが欲しくなることがある。友人も欲しがってたし。
こういったクラスは絶対どこかで誰かが公開してると思うんだけど…なかなか見つからない。

んで自作してみると、やはりちょいと面倒ながら、面白い。字句解析や構文解析のページをちょっと調べてみると、懐かしのlexやyaccを思い出すなぁ。
今回はそんなに凝る気は無いので適当だけど、括弧の解釈部分なんかは汚くなってしまってちょっと悔しい。
でも他の演算子は比較的容易に追加できるよう作ったつもりなので、そのうちもう少し追加してみよう。

Javaには字句解析用に、StreamTokenizerというクラスがあるらしい。でも
・1つの演算子が2文字以上の場合に対応できない
・数値は自動的に判断できるが、負の符号と減算の演算子を区別できない
・エラーが起きたときに文字列のどの部分で起きたかを表示できない
といった欠点があったので、結局字句解析部分も自作してしまった。

数値判断といえば、十六進数等の文字列をintとかlongに変換するメソッドも無いんだよね…。
逆に数値を十六進数の文字列に変換したり、桁数を指定して0埋めの十進数の文字列に変換したりしたいことがたまにあるんだけど、なんでJavaには書式指定のライブラリが無いんだろうなぁ?
これも絶対どこかで誰かが公開してそうだけどー…。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Eclipse3へ行こう

2006-05-31 00:32:48 | PG(Java)

遅ればせながら、Eclipse2から3へ移行。
とりあえずインストール方法JUnit関連を更新。
他のページはEclipse2のままだけど、おいおい変えていこう…いつになるやら(爆)

なぜEclipse3への移行が今頃なのかと言うと、Eclipse2が壊れたのが原因…。
会社のヘボいパソコンあまりにもノロいので、Eclipse2の起動時にアイコンをばしばしクリックしていたら二重起動して競合してしまったらしく、Eclipse2の領域が壊れてしまったのだ!
というのがけっこう昔の話(苦笑)
仕事ではJavaから離れてたので放ってたんだけど、どうせ再インストールするなら新しいバージョンにするよねぇ。

使い勝手が良くなる分には当然全然問題ないんだけど、ソースの自動フォーマットなんかではjavadocの書式が変わったりしちゃうので、ちょっと困ることがあるかもしれない。
CVSはそれも違いとして認識しちゃうからねー。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする