Archives
Recent Entries
Search


Links
Powered by
Movable Type 2.64

2008年09月30日

VineLinuxのscreenコマンド

VineLinuxのscreenコマンド。どうして256色でないんだろうって(;´Д`)調べてみました

src.rpm取ってきてspecファイルを眺めてみたところ、--enable-colors256 となるべきところが--enable-color256 になってるポイ。作り直して完了。ちゃんと256色出るようになりましたヽ(´ー`)ノ

その他いくつかのパッチも充てて使ってますけど。いろいろかなり改善した感じですヽ(´ー`)ノ

この件、パッケージメンテナの人に連絡しましたので、しばらくしたら対応したパッケージがリリースされると思いますヽ(´ー`)ノ
メンテナの人対応超早かったです。すばらしい。

Posted by minemaz at 15:56 | Comments (0) | TrackBack

ある日のOpenCOBOL

ちょっと試してみたくて(;´Д`)


[]$ COB_CC=llvm-gcc COB_CFLAGS="-emit-llvm -c" cobc -c -O2 AIVPA010
[]$

いや(;´Д`)何でもないです。

p.s. 一応モノは出来ました。

Posted by minemaz at 15:47 | Comments (0) | TrackBack

2008年09月28日

OpenCOBOLの中で参照される環境変数

OpenCOBOLについてのドキュメントってすごく少ないので(´ー`)ドキュメントプロジェクト方面のお手伝いをしてみたいところ

で、英語は得意ではないので資料が無い部分についてソースリストから資料を作り起こすお手伝いを検討してます。例えば、OpenCOBOLの処理系が参照している環境変数の情報とかまとまってませんよね?ドキュメント無いからコンパイラのソース読んで使われ方を類推する…という訳です。そして資料をまとめて泣きながら英訳して開発者に送って確認してもらうという。(´ー`)どう?


]# grep -R getenv /usr/src/redhat/BUILD/open-cobol-1.1|awk 'BEGIN{FS="getenv"}{print $2}'|cut -f2 -d\"|grep -e ^[A-Z]|sort|uniq
COBCPY
COB_EBCDIC
COB_FILE_PATH
COB_LDADD
COB_LIBRARY_PATH
COB_LINE_TRACE
COB_LOAD_CASE
COB_LS_FIXED
COB_LS_NULLS
COB_PRE_LOAD
COB_SORT_MEMORY
COB_SYNC
DB_HOME
MYOCLIBS
PATH
POSIXLY_CORRECT
TMP
TMPDIR

結構あるんですよ。でも情報が全然無いんですよね(´ー`)だからヤル

Posted by minemaz at 22:30 | Comments (0) | TrackBack

OpenCOBOLと日本語文字コード

OpenCOBOLと日本語文字コードについて(´ー`)あまり資料がないようなので調べてみたり

そもそも1000speakers:6にて「日本語対応はどうなってますか?」と質問が来たのに「見たこと無いから分からないですね」とか解答してしまってたので、少しはマジメに調べてみないと…というわけです。一般的に日本語と処理系の間で「\」の扱いが問題になることが多いわけですが…


000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. 日常会話表現.
000030 DATA DIVISION.
000040 WORKING-STORAGE SECTION.
000050 01 日常会話表現.
000060 03 FILLER PIC N(08) VALUES 'こんにちは 日本'.
000070 PROCEDURE DIVISION.
000080 DISPLAY 日常会話表現.
000090 STOP RUN.

とかソースがShiftJISで書かれていたとして。「表」部分は0x955Cで2byte目に0x5C「\」を含んでいます。コンパイルを試してみると:

[]$ cobc -x HELLOJ.cob
HELLOJ.cob:2: Error: syntax error, unexpected "end of file", expecting "Literal" or "Identifier"

怒られちゃいました(;´Д`)。PROGRAM-IDをHELLOJに変更しても

[]$ cobc -x HELLOJ.cob
HELLOJ.cob:5: Error: syntax error, unexpected "end of file", expecting "Literal" or "Identifier"

と今度はSTORAGE SECTIONに書いた日本語変数名で蹴られてます。これは「表」という文字を取り除いても変わりません。それではリテラルはどうかと言いますと:

000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. HELLOJ.
000030 DATA DIVISION.
000040 WORKING-STORAGE SECTION.
000050 01 HELLOJ.
000060 03 FILLER PIC N(08) VALUES 'こんにちは 日本'.
000070 PROCEDURE DIVISION.
000080 DISPLAY HELLOJ.
000090 STOP RUN.

こう書いてみました。

[]$ cobc -x HELLOJ.cob
[]$ ./HELLOJ
{
[]$ ./HELLOJ | nkf -Sx
こんにちは 日本
[]$

大丈夫ですねヽ(´ー`)ノ特に自動では文字コード変換してくれませんので、出力がShiftJISで行われることを仮定してnkfを通してみればしっかりと狙ったとおりの出力が得られます。
cobc -C として中間で吐かれるCのソースを見てみれば分かりますが、

memcpy (b_5, "\202\261\202\361\202\311\202\277\202\315\040\223\372\226\173\040", 16);

と8進数に変換して取り扱ってくれていますのでリテラル中にバックスラッシュがあっても問題ないわけです。項目名やプログラムIDについては処理系にちょっとだけパッチを当てれば対応出来るものと思われます。ただし、現状では項目名やプログラムIDに単体で「\」が含まれていてもエラーになりますので、何らかのオプションがある場合にはチェックを緩くしてくれるようにしないと難しそうです。とりあえずL10Nヽ(´ー`)ノそしてI18N。

Posted by minemaz at 14:45 | Comments (0) | TrackBack

2008年09月24日

MS-1013ノートPC電源不良

MSI MS-1013ノートPCが電源を認識しなくなったので(;´Д`)いろいろ

MS-1013の使用中に電源ランプが消灯していたので(;´Д`)コネクタの接触不良など疑っていろいろ(殴る、蹴る)してたんですがあまり改善しなかったので…
20080922425.jpg
当然ですがヽ(´ー`)ノばらして原因究明。見たところ電源コネクタ近くの部品がモゲてしまってるようでした。
DSCF0439.JPG
基板を取り外してハンダ付け。
20080922426.jpg
モノがでかいので結構楽でした。せっかくなので色々撮影:
DSCF0441.JPG
ずっとRS480だと思ってたんですが、RS482Mみたいですね。実はmini PCIのWLAN+BTの奴つかえるかも?
DSCF0442.JPG
そういえばdipswもありますねヽ(´ー`)ノ

p.s. 組み立て直したら、なぜかネジが四本も余りました(;´Д`)コストダウン成功?

Posted by minemaz at 00:35 | Comments (0) | TrackBack