★「jtoe Linux (Unix)版」について      2005.10.07

「jtoe Linux (Unix)版」は、福岡大学大学院理学研究科柴田研究室の大学院生、
佐藤和広氏が Windows版をもとにして作成したものです。「jtoe Linux (Unix)版」
は、全てのソースファイルを makefile とともに同一のサブディレクトリに
コピーしておいて、「make」コマンドを実行すれば、実行ファイル「jtoe」が
自動作成されます。Turbo Linux, Vine Linux, Plamo Linux, Java Desktop
System, Solaris 9 (Unix) で製作、実行を確認しています。

 Windows版と比較したときの「 Linux (Unix)版」の主な特徴は、以下の２点です。

(１)データの日本語(漢字、かな)コードが Shift-jis ではなく euc コードに
  なっていること。そこで、翻訳プログラムの辞書引きは、もともとのWindows版
  では Shift-jis コードから単語の登録ページを計算しているのですが、Linux
  (Unix)版では euc コードで計算しています。euc コードを、まず Jis コードに
  変換し、それをさらに Shift-jis コードに変換する部分が Windows版プログラム
  の辞書引き部分にパッチ当てされています。その他、全角文字列を操作する
  関数で、いくつか eucコード用に若干の変更を加えた部分があります。

(２)「Windows版」には無い、「 Linux (Unix)版」だけについているオマケ機能
  として、「統語構造構文木製作機能」があります。実行ファイル jtoe を起動
  させると、最初に「初期値設定」の画面が表示されますが、第７番目の初期値
  を「Y」(= yes) に設定して翻訳を実行すると、翻訳した過程をトレースして、
   「統語構造構文木」(ツリー)のような図を、tree という名前のファイルに書き
  出します。これは、翻訳システム jtoe が、出力される英訳文を、どのような
  統語構造の文として生成したかを表しています。語学学習の授業などで役立つ
  だけでなく、jtoe が正しい英訳文の生成に失敗した時には、どこの部分で解析
  に失敗したかが目で見て直観的に理解しやすい、といった使い道が考えられます。

(３)１６進数の列を整数型にキャストする時に、後ろの方から逆順に並べて行く
プロセッサ（リトルエンデアン）と、前から正順に並べて行くプロセッサ（ビッグ
エンデアン）があります。パソコンで圧倒的なシェアを誇っているインテルの
プロセッサはリトルエンデアンなので、このソースコードもデフォールトでは
リトルエンデアンを仮定してあります。もしもそうでないプロセッサを持つコン
ピュータ（たとえば Sun のワークステーション）で実行すると、辞書のページ
計算がめちゃくちゃな数値を出してくるので、辞書引きがまったくできなくな
ります。そのような場合には、jedcfunc.c および bunp1.c ファイルの先頭にある
コメント文 /* #define BIG_ENDIAN */ のコメント記号を削除して、#define
BIG_ENDIAN を復活させ、 define文 #define 32_BITS をコメント記号で挟んで
/*  #define 32_BITS */ としてください。これで正常な辞書引きと文法プロセス
が実行できるようになります。
 また、たとえば Sun のワークステーションでは、文字に色を付けると、表示が
一部消えたり、乱れたりすることがあります。このような場合には、macro.h
の上段に書いてあるコメント文 /* #define Solaris */ のコメント記号をはず
して、define文 #define Solaris を実行させてください。カラー表示ではなく
なりますが、表示内容の乱れはなくなります。


翻訳用の日本語例文ファイルとして、Windows版と同様に、friend.rei, miscella.
rei の日本が含まれています。もちろん、Linux版では日本語コードは EUC です。
翻訳させてみてください。


まだ改良途上にある実験的な翻訳ソフトですので、不十分な点が多々あることは
製作者自身がよく承知しておりますが、皆様からのコメントやご質問を歓迎致し
ます。時間が許す限りで、佐藤和広、または柴田勝征がお答えします。ただし、
お答えでき兼ねる場合もあり得ることをあらかじめ御承知おきください。

     kshibata@sm.fukuoka-u.ac.jp

