継続は力なり。来年もよろしくお願いいたします。今年も無事歳を越せることに感謝します。ありがとう、ありがとう、ありがとう、ありがとう、ありがとう、ありがとう、ありがとう、ありがとう、ありがとう、ありがとう。
2009年12月アーカイブ
と言ってもあとまだ5日残っていますが、継続は力なりの信念をモットーに2010年も当ブログは続けてゆきたいと思います。どうぞよろしく。
ところで今日のフジテレビの報道2001を見ていたら前原国交大臣が羽田空港への新幹線の乗り入れをJR東海に打診したと言っていました。JR東海がライバルである航空会社に協力するわけないよなぁと一瞬思ったのですが、利用者側から見えれば便利かも。東京駅で東北新幹線と東海道新幹線が繋がって、東北・上越・北陸方面から品川・羽田まで乗り入れが実現すれば、羽田の国際線化で、日本国内の地方から外国へ飛ぶことがスムーズになると思われます。JR東海とJR東との間の調整等で実現は厳しいでしょうけど、リニア中央新幹線が出来たあかつきには東海道新幹線も余裕ができるでしょうから絶対できないわけではないかも。なんなら東京⇔品川の新幹線をJR東に移管して、東北も東海道もターミナルを東京から品川にしてしまう方法もありかと。リニアの始発が品川との話しだからいろいろ妄想するのも楽しいではないですか。
ウチは曹洞宗ですが何か。
(毎年こんなこと書いてるのも飽きてきたとゆーか...)
ガソリン暫定税率の件ですが、民主党はあれだけ言っていた政権公約を無視して(小沢幹事長の鶴の一声によって?)暫定税率維持だとか。そりゃいくつかの公約は達成できなくても仕方がないし、こっちもすべてが達成できるとも思ってないし、でも本件は目玉公約の扱いだったはず。いやはやまったくあきれたなぁ。暫定をいつまで続けるのだろう?あと何度も言うがガソリン税に消費税を掛ける税の二重取りはやめるのかどうなのか?もうホントになんだかなぁ。あと民主党議員はなぜそんなに小沢幹事長を恐れるのだろう?もしかして民主党議員は彼のお陰で選挙に勝てたとでも思っているのだろうか。前回の総選挙で勝てたのは自民党の自滅というか、国民が閉塞した状況を政権交代でなんとかさせてみたいと思ったからでしょう。なんか細川政権の二の舞になりそうな予感です。
エクスプローラがクラッシュする不具合の対応策がわかりました。困った時のセーフモードなのにセーフモードが使えないなんてとんでもないバグです。通常モードで7が立ち上がっている時に以下のように設定することで(とりあえず当方の環境では)直りました。
スタート→コントロールパネル→時計、言語、および地域→キーボードまたは入力方法の変更→「キーボードと言語」タブ→キーボードの変更→「全般」タブ→追加→(ずーと下へ行って)日本語キーボードのところのMicrosoft IMEにチェックを入れる→OK
(すでにMicrosoft Office IME 2007が入っているのですが、Microsoft IMEを追加でチェックしました)
あともう1つの不具合である、Windows Liveメールで新規作成をすると本文部分だけ日本語入力ができない件、こっちは未解決です。こっちも解決したのかと思って試したら駄目でした。ただしこちらはすぐ上のスペルチェックというアイコンを一度クリックすれば日本語入力が可能になるので特に問題はないですけど。
YACC/LEXという字句解析/構文解析の仕組みをちょっとかじったことがあり、気になっていた。これを使いこなせれば、文字列を扱うことなら何でもできるといったすぐれもので、言ってみればちょっとしたコンパイラを作るための仕組みである。で、この仕組みをWindowsパソコン上で使えないかといろいろやってみた。で、やっとのことでWindows上でUNIX環境をシミュレートするCYGWINなるものをセットアップしCYGWIN上でgccやyacc/lexを使って構文解析ツールを作るための環境構築まで漕ぎ着けた。そしてここでふと、VC++.NETの開発環境下でYACC/LEXを使えないかと思い立ち、いろいろ粘ってみた。その時の記録である。自分が技術的なことで困っていろいろな人のブログからヒントを得て大いに助かっているので、もし同じようなところで困っている人がいたらなんらかの「参考」になればとの思いである。
★VC++.NET2003にてYACC/LEX(bison/flex)を利用する
1. まず前提条件として、WindowsPC上でcygwinのインストールが完了していること。
C:\cygwin\bin, C:\cygwin\lib、下にYACC/LEX(bison/flex)関係のコマンドおよびライブラリが入っていること。つまりcygwinを起動してシェル下にて、bison/flexがちゃんと利用できることを確認。例えば、
flex sample.l -> lex.yy.cが生成
bison -d sample.y -> sample.tab.cとsample.tab.hが生成
gcc main.c sample.tab.c lex.yy.c -lfl -o sample (←あくまで例)
がちゃんとコンパイル&リンク通ってsampleコマンドが所定の機能を果たすこと。
2. VC++.NET2003にて、まずは「Win32コンソールプロジェクト」で新規プロジェクトを生成してみる。例としてプロジェクト名を「aaa」と仮定する。
3. aaa.cppソースを以下に記述。main()からyyparse()を呼んでいるだけのもの。引数がなければ標準入力から、引数があればその引数で指定されたファイルがそれぞれ入力データとしてyyparse()に引き渡される。
-----------------------------------------------------------
#include <stdio.h>
#include "stdafx.h"
extern "C" int yyparse(); // <-- ※
extern "C" FILE *yyin; // <--※
int _tmain(int argc, _TCHAR* argv[])
{
if(argc > 1) {
if(yyin = fopen(argv[1], "r")) {
yyparse();
fclose(yyin);
}
} else {
yyparse();
}
return 0;
}
------------------------------------------------------------
※extern "C"をつけないとリンクでエラーになるようです。試行錯誤でみつけた。
4. 「ソースファイル」を右クリックして「追加」→「新しい項目の追加」でテキストファイルを選んで、aaa.l を追加する。同様にaaa.yも追加する。
5. aaa.lとaaa.yにそれぞれ字句解析と構文解析の規則を記述する。
6. aaa.lを右クリックしてプロパティを開く。
ツールがカスタムビルドツールになっていることを確認して、カスタムビルドステップのコマンドラインのところを、
flex --nounistd aaa.l (注意:ハイフンは2つ)とする。
"--nounistd" をつけないとunistd.hが見つからないといって怒られる。(これも試行錯誤の結果であり、このオプションがどんな意味をもつのか当方はよく分かっていない)
出力ファイルのところは、lex.yy.cとする。
7. aaa.yを右クリックしてプロパティを開く。 ツールがカスタムビルドツールになっていることを確認して、カスタムビルドステップのコマンドラインのところを、
bison -d aaa.yとする。
出力ファイルのところは、aaa.tab.c; aaa.tab.h とする。
8. VC++.NET2003のメニューバーの「ツール」→「オプション」→「Projects」で「実行ファイルディレクトリ」にC:\cygwin\bin を追加する。
9. aaa.lを右クリックして「コンパイル」を実行する。
aaa.yを右クリックして「コンパイル」を実行する。
両者とも正常終了すれば、lex.yy.c, aaa.tab.c, aaa.tab.hの3ファイルが生成されているはず。エラーの場合は、どこかの記述が間違っていると思われる。
10. 「ソースファイル」を右クリック「追加」→「既存項目の追加」でaaa.tab.cとlex.yy.cを追加。
これでaaa.tab.cとlex.yy.cが現れる。
「ヘッダーファイル」を右クリック「追加」→「既存項目の追加」でaaa.tab.hを追加。これで
aaa.tab.hが現れる。
11. lex.yy.cを右クリックしプロパティを開く。 「プリコンパイル済みヘッダー」を選んで、「プリコンパイル済みヘッダーの作成/使用」を「プリコンパイル済みヘッダーを使用しない」に設定する。aaa.tab.cも上記と同様に設定する。
12. aaa.tab.cを右クリックして「コンパイル」を実行する。
lex.yy.cを右クリックして「コンパイル」を実行する。ワーニングがいくつか出るみたいだが、エラーが出ていないのを確認する。
13. ソリューションエクスプローラの一番上の"aaa"をクリックしてから、メニューバーのプロジェクトから 「プロパティ」→「リンカ」→「全般」の「追加のライブラリディレクトリ」でC:\cygwin\libを追加。コマンドラインを選び、追加のオプションのところに、libfl.aを記述。
14. 最後にメニューバーの「ビルド」から「ソリューションのリビルド」を行い、コンパイル&リンクが正常終了するのを確認する。
aaa.lとaaa.yがビルドされるとlex.yy.cとaaa.tab.cが新しく出来るのでいちいち確認メッセージみたいなのが出る。嫌な場合は、aaa.lとaaa.yを右クリックしてプロパティから「ビルドから除外」を「はい」と設定しておけばいいのではないかと思う。もちろん変更をかけたらビルドの除外を「いいえ」にするのはいうまでもない。
15. 以上のやり方で当方のPC環境において、VC++.NET2003でのYACC/LEX利用ができるようになった。
なお、ここに書かれた内容が技術的に正しいかどうかは保証の限りではない。試してみる方はあくまでも自己責任であることを申し添える。
政治的なショーなのか?世界一のエネルギー効率を誇る日本が大金をふんだくられるように見えてしまうのは穿った見方なのか?そもそも環境問題って本当に科学的根拠に基づいているのか?アメリカや中国といった多量のCO2排出国が世界が納得するような削減目標を確約しない限り日本はビタ一文出さないとはっきり言うべきではないのか?なぜ先に兆単位の金を出すと言うのだ?どうも釈然としない。
今度は上野と北陸方面を結ぶ寝台特急「北陸」と急行「能登」だとか。時代の趨勢で仕方が無いのか。ボンネット型の「能登」は今や貴重な存在だから乗りに行きたいが先立つものが...
国鉄からJRになったことで便利になったことも多いけど、逆に不便になったことは長距離列車や夜行列車の廃止だろうなぁ。もし今でも国鉄のままだったら東海道新幹線は0系が現役だろうか。特急あずさは183系、急行アルプスは165系のまま進歩なしか。それはそれでいいよいうな悪いような。でも現在も中央東線の普通列車は115系が現役で頑張っているので国鉄時代の雰囲気は多少なりとも残っている。車両は重厚で質実剛健という感じである。このような感慨に耽っているのは自分がジジイになった証拠であろう。
継続は力なり。ありがとうございます。
とふと思った。今回問題になってる普天間基地の問題といい、もちろん先の大戦で敗北した歴史的経緯があるにせよ、日本国内に米軍基地があたりまえのように存在していることは本来はおかしいのだと思う。でもだからと言って沖縄の米軍の存在は中国に対する威圧となりえているわけで、そんな単純な問題でもないような気もする。とそこに来て民主党の小沢幹事長が「朝貢」とも思える大訪中団をつれて、あれはいくらなんでもやりすぎ。外国人から見たら日本は宗主国をアメリカから中国に変えたのかと思われているようで、こんなことやってると日本人のナショナリズムが爆発するぞ。アメリカや中国とほどよい関係を保ちながらバランスをうまく取ってやるのが政治なんだろうけど、何事も偏りすぎるとよくない。こんな状況で優柔不断なハトヤマ総理って、本当に最近イライラが募ります。
継続は力なり。ありがとうございます。
国内が大変な時に鳩山さんは外遊だってぇ?小沢さんは600人も連れて中国旅行だってぇ?民主党は何考えてんだろう。そもそもなんで600人もつれていかなにゃならんのかさっぱりわからん。
継続は力なり。ありがとうございます。今日は開戦記念日です。終戦記念日にくらべて扱いが小さすぎる気がするのは私だけでしょうか?なぜ日本が戦争に突入していかなければならなかったのかを多くの人が考えるよいきっかけになると思うのですが...
調べると宝くじの還元率は45%だそーな。競馬や競輪の方が還元率はいいらしい。しかも宝くじは完璧に「運」任せなのに対して、競馬や競輪だと自分なりの考えを反映できる分だけ後者の方がおもしろいようにも思う。自分の考えを一片たりとも反映することができない宝くじはどうも嫌いである。つまり宝くじって完全に確率の問題なわけだが、確率ってーのはサンプル数が増えれば増えるほど標準化されてくるから、頻繁に宝くじを買う人は、
1万円支払って4千5百円を買う人
ということになる。で、僕がそう指摘するときまって、「買わなきゃ当たらない」「夢を買ってる」と反論してくる。夢を買うなら1枚だけでよいと思う。それなら反論しないし、それはそれでありだと思う。
今日は外は寒くて雨模様である。外気が暗いと心まで陰鬱になってしまう。マイナスの感情はさらにマイナスの感情を産み、心が負のスパイラルに突入にてしまう。このような状況に陥ってしまうのは将来起こるであろう悪いことばかりに心が捕らわれて「今」を生きていないからである。だからと言ってマイナスに物事を捉えることは悪いことばかりではないことも事実である。
「ただひたすら今を生きる」と念じて、一瞬一瞬を生きる覚悟を決める。「そこに山があるから登る」と同じで、「生まれてきたから生きる」でよいと思う。いちいち生きる意味など考えていると頭がおかしくなるのでなるべく考えない方がよい。だいたいこの悪い頭で考えても答えは出ない。