トップページ⇒tech
13コメント4KB

計算式の解析木を表示するプログラム

■ このスレッドは過去ログ倉庫に格納されています
0001abc NGNG
計算式を読み込みその式の解析木をグラフィック表示する
プログラムをつくるにはどうすればよいですか?
アイデアをください
0002名無しさん@お腹いっぱい。 NGNG
なんか、えらい宿題くさい質問だな。
アイデアをひねり出すより、調べたほうが速いだろ。
0003名無しさん@お腹いっぱい。 NGNG
題名に「コンパイラ」って書いてある本なら必ず載ってるだろーよ。
載ってなかったらダメな本だから捨てろ。
「概念は書いてあるけどプログラムコードは載ってない」って言う奴は
ダメな奴だから捨てられろ。
0004名無しさん@お腹いっぱい。 NGNG
ナイス叱咤!>捨てられろ
以降使わせてもらいます
0005名無しさん@お腹いっぱい。 NGNG
>>1
ACM プログラミングコンテストの過去問で
同じ問題があったけど、それを聞いてるの?

あの問題は根を一番下にして上向きに解析木を
つくるんだけど、無駄なスペースを全部削って
横幅を最小にしないといけないから
結構うざい問題だった。

0006名無しさん@お腹いっぱい。 NGNG
とゆーか、本みるまえにまずそのくらい自分で考えろ。
しょせん、パズルみたいなもんだろうに。
それからドラゴン本でも読んで開眼しろ。
それがいちばん勉強になるぞ。
0007名無しさん@お腹いっぱい。 NGNG
http://www.metamata.com/download_top.html
ここのJavaCCのおまけのJJTreeってのが
ほぼ1の作りたいものそのものだけど、
ぜんぜん参考にらなんな。(藁)
0008名無しさん@お腹いっぱい。 NGNG
まず内部で本当にツリー構造を作っちゃってそれを再起させながら
降下しつつ絵を書く(タートルグラフィックスみたいなもんかな)。
0009名無しさん@お腹いっぱい。 NGNG
http://compilers.iecc.com/crenshaw/
パスカルで書いてある単純な計算機のソースがあるから、
適当に書き換えて使えや。

全然関係ないが、再帰を使わずに式の解析/評価コードを
書いたことのある人っている?
0010名無しさん@お腹いっぱい。 NGNG
式の解析木の作り方が分かってれば表示させるのなんて別に難しくないだろ。
0011名無しさん@お腹いっぱい。 NGNG
>9
再帰を使わずに、ってことはスタックを独自に管理する方法ですよね。
昔、作った記憶ありますが、汚かったな…
まあその時は今より技術が劣っていたんですけどね。
今考えるとエラー時の脱出が楽なので結構お勧めかも。
0012名無しさん@お腹いっぱい。 NGNG
>>9後半
この前逆ポーランド変換によるアルゴリズムを
偉そうに解説してたのがいたけど、
あんな古くて・汎用性を欠くアルゴリズムなんていらないっての
00139 NGNG
>>11@`12
それ、俺もやったことあるけど分かりにくいだけだった。
でも、一部の本ではいまだに紹介されてるんだよね。
9で紹介したURLにも「そんなん話をややこしくするだけだから、
素直にハードウェアスタック使えや、ゴルァ」って書いてあります。
■ このスレッドは過去ログ倉庫に格納されています