namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: chasen for OS/2



清水@住友林業です。

Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは 
Sun, 14 Jun 1998 00:02:51 +0900 に書きました ;

> jman はすごく便利ですね :-)。

wait3()・waitpid()・setsid() の件は解決しました。
解説ありがとうございました。

じつは職場の HP-UX の man の実体は jman だったりするんですが、意味が
よく取れない日本語と、HP-UX 独自拡張部分が混在した説明なので、ラベル
の低いユーザは苦労するです :-p

で、なんとか EUC ベースで動くようになりました。UNIX 版と同じく、入力
は JIS/EUC、出力も EUC、辞書・文法・chasenrc の類も EUC で動かします。
クライアント/サーバで利用しても動きます。

# server.c には非常に "汚い" 修正を施してあります。

最後に全体に対する patch を付けます。OS/2 に依存する部分は 

  #ifdef __EMX__ 

で参照しています。

# cygnus gcc でもほとんど同じ patch になると思います > 広瀬さん。


>>UNIX でこのような処理を行った場合、どのような応答になるのでしょう?
>>ご存じの方がいらっしゃいましたらご教示ください。
>
> | % chasen -Dlocalhost test.txt.euc 
> | OS/2        OS/2        OS/2        未定義語        
> | を          を          を          格助詞          
> | 使って      つかって    使う        動詞           子音動詞ワ行 
> | タ系連用テ形
> | い          い          いる        動詞性接尾辞   母音動詞 
> | 基本連用形
> | ます        ます        ます        動詞性接尾辞   動詞性接尾辞ま
> | す型 基本形
> | 。          。          。          句点            
> | EOS
> 
> このようになりました。スタンドアロンで実行したときと同じ挙動です。 

うーむ、やはりそうなりますよね。

... というわけで server.c と client.c をザーっと眺めたところ、
ChaSen のクライアントは、サーバに対して、解析する文章の後ろに、

(改行)
.(改行)
QUIT(改行)

という文字列を送信することが期待されているようなのですが、OS/2
だと最初の('.' に先行する)改行が送られていません。(もっとも、
ファイルの最後尾に改行か EOF があれば問題ないのですが、私が試し
たパターンは、最後尾に改行も EOF もなかったのでした)

どうも Socket に対する書き込み・読み込みの挙動が、若干、UNIX と
違うような気がします > OS/2 + emx gcc の Socket I/F

ま、ここまで原因がわかったので、以下のような patch を適用して強
制的に改行コードを送るようにしたところ、高林さんと同じ結果が得ら
れました。


*** ../chasen1.51/chasen/client.c       Mon Jul 28 16:59:00 1997
--- ./chasen/client.c   Tue Jun 16 09:42:44 1998
***************
*** 177,182 ****
--- 177,185 ----
  {
      int status;

+ #ifdef        __EMX__
+     fputs("\n", ofp);
+ #endif        /* __EMX__ */
      fputs(".\nQUIT\n", ofp);
      fclose(ofp);
      while (wait(&status) != pid)


> ChaSenのドキュメントによると
> 
> |   茶筌サーバを利用した解析は、スタンドアロンでの実行に比べ、はじめの
> |   一文を解析するまでの時間が短いという利点がある。ただし、一度に大量
> |   のテキストを解析するのはスタンドアロンの方が高速である。
> 
> とのことなので、無理してサーヴァにする必要はないような気がします。

えー、これは「OS/2 ユーザの意地」です ;-)

Win32版は v1.0 でスタンドアロン利用しかできない。しかし OS/2 なら... を
目指しているのでした。

以下は余談になりますが....

> やはり手元の PCに Plagiaをインストールするべきでしょう :-)。
> 
> # 400MBくらいで OKです

これ、東芝のノートPC(Tecra 740CT)に入るでしょうか?

SVGA チップが Chips&Technology の 65554 です。NIC は蒐集狂 :-) と
言われているので何とでもなります。PCMCIA NIC は Xircom・TDK・3com
・Panasonic・東芝・Accton・D-Link と揃ってます (^^;

# コンピュータセンター(海浜幕張)に、私が root やっている Solaris
# があるのですが、現地には汎用機屋しかいないので新宿からアレコレや
# るには勇気がいる... 

--

File: chasen-1.51-os2.patch.gz -- part 1 of 1 -- UUENCODED by PMUUE 1.44

begin 600 chasen-1.51-os2.patch.gz
M'XL("%#OA34`!F-H87-E;BTQ+C4Q+6]S,BYP871C:`#=.FN/&]=UGVG`_^$N
M+=LSNT/N\+5+CKQNJ14ET5YRM\N5[-02Z!$Y7(Y%SA`SPY6VC7Z,T%%1H"V:
MI&AKPXW=5J[C.(F"HHB-!$&"%FV0Q`&*"OU4H$'/N8^9.^20VI57AMJ!Q+US
M'^>>]SWGS%U=727Y_'IO:/J64\A7"NLM\Y8UL$=6IN4ZY+7IB!2KI%@P*A6C
M4B6%6FWS^>=RN1S)QQ,/IA9,=$AA@Q2*1JEL%'2<6'W^N=7D0SM(0=<*-<+>
M"7D!?VB#(-B>.QZ;3M\G+Y'!R#STGW]NA;RPO9TA6^2PUV-OEW;JESO8D]O%
MCIV+M(.0+3K\M3J;?FSV>D1Z7B`W;1](RAWC;OLMWKU%O#')#;!O>R_JZTT8
M6H@2PQ=:N1/BFT!7QI;D?G\<^$F<26YTVS,G).=#:XQC9TI`J@2*9:VD1Q*X
MV-R^V-R'->>4G>8%:*KK?;N7)'/J6Q[I@[@=.[!=AXFEO=MMM>I[2,-%T8YP
M/7:G'MGMD+YK^<1Q`S(TCRP"S)HH*H6[?:7>:;2[>[O[!Q2"]+Y5*NBZ'F%P
M[?)^O46IRET4[6B?(].SS9LC*W?HF6/B3R<3UPN8X!B90G!/2N:S3&6J=$N;
M6KDD2_=:8Y_"!?.FFK,=:PDU>X]R87NW?:EYN7L%ND?VS?6>ZPSLP_P06="Y
MTMC982O6;]K.NC^DD!N7.AS..>7U7:!,A09%'1N=UYH=RH-6_?4&GS<&ET&[
MN/9#U_;V5O:<LKVM9KFIT%?:@BYN)]C'F]"YW\+W_18TKS-),Y(E29\ER?XP
M;]VQGB&*5^=\-FO.NVZR2?2J4:@8)3WANM/G@P>OD*)NZ#6CLK',@Y>U@C[O
MP(7W8<XG9F%":2XTVVB%V#GUO?61VS-'."R[-,FC,83I?G,.>/%^L<1.O5WZ
MB5623RP0.SB0A",![6$LS9M\!AAYI&S8M7OAM0Y7'#:JYEW2&]F6$T`#W,Z1
MY>5=)*/Q9F-F)JYO-PY@xxxxxxx`V_F""_E>WC7X0562#ZJO'$W!\\>ANO!(
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
6/KZ%=Y;4GS2/?;;X\K\0D5T_`#H``%1U
`
end

File: chasen-1.51-os2.patch.gz -- end of part 1 of 1

end
--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>