Profile

書いてる人:

たけ-ちーず
紹介文:
SkypeID:take-cheeze

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
  • 11 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 01
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
妄想、そして脱却。
今日は、ホントどうでもいい妄想をしていました。
ソースコードからconstでもいい関数や値を解析してくれるツールがあったら、いいななんて夢想していました。

そんなことを考えたのは、まあC++のconstが便利でいいけど、何故か束縛が小さいななんて思ったからです。
正直、全ての関数と値は、constからスタートした方がいい気がしています。


それで、具体的な実装を考えてみたんですが、即投げ出しました。
わたしには、手が余ります。


でも、そこで諦めたら面白く無いので、他力本願に私考の途中まで、まとめて置きます。
『そんな無責任な!』と、のび太くんレベルで攻めないでください。



まず、必然的にC++のコードをパースします。
構文木などは、全く分からないので、boost::spiritあたりでやるんだと思っています。
それ以上は、踏み込めません。

C++は、文法が複雑らしいので、その時点で足が竦んでいます。


続いて、微妙なさじ加減が要りそうな問題です。
『何処まで、深く検証するか?』です。

理想的なのは、非const宣言な変数と関数を全て対象にすることです。
あらゆる関数内の別関数呼び出しも検証して欲しいですね。

でも、多分、そこまで深く解析するのは難しそうです。
いくら、作業が得意なコンピュータでも膨大なソースコードを全て把握するなど、日本を統治するくらい難しいでしょう。
そもそも、依存関係を解決するだけでも、わたしには想像出来ません。

なので、class一つ分だけ検証するのが、わたしの考える限り一番コストに見合うでしょう。
ヘッダファイルを捜査するだけで、済みます。
ただ、限定的すぎるという欠点を残して……。


更に、ネックになりそうなのは、それ以前にそれは、コンパイル出来るのか、という点です。
世の中には、プリプロセッサで展開されるなんて、例外があります。

最初の問題と領域がカブりますが、まともか判別することすら困難です。
『何だ、その変態は?』なんて、朝飯前な言語を相手にできるのか、まず疑問なんですよ。

まだまだ修行が足りない自分には、お手上げになります。


と、まあ『わたしには不可能だ!』が結論です。
支離滅裂なのは、悔やみきれません。



それでは、最後に考察を入れようと思います。

序文、『constを強制したいのなら、コンパイラにそんな警告が搭載されるのを待ちましょう』。
被告は、『現役プログラマの良心』を信じてあげてください。
原告は、『静的解析ツールに載せるのもいいかもしれませんが、そんな二度手間を取るのは愚の骨頂』です。
判決、『耐えねばならんのだよ』。



そんな感じで、お休みなさい。
【2010/03/04 23:53】 | 雑記 | トラックバック(0) | コメント(0) |
<<怖い話。 | HOME | 文字コード、面倒くさい。>>
コメント
コメントの投稿












管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://takecheeze.blog47.fc2.com/tb.php/297-a136a697
この記事にトラックバックする(FC2ブログユーザー)
ホーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。