JPS6120129A - 複数コ−ド系情報処理方式 - Google Patents

複数コ−ド系情報処理方式

Info

Publication number
JPS6120129A
JPS6120129A JP59139002A JP13900284A JPS6120129A JP S6120129 A JPS6120129 A JP S6120129A JP 59139002 A JP59139002 A JP 59139002A JP 13900284 A JP13900284 A JP 13900284A JP S6120129 A JPS6120129 A JP S6120129A
Authority
JP
Japan
Prior art keywords
code
code system
data
information processing
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP59139002A
Other languages
English (en)
Inventor
Kousuke Sakota
迫田 行介
Masahiro Uminaga
正博 海永
Hidehiko Akita
秋田 英彦
Fumiya Murata
村田 文也
Shigetake Nakaosa
中筬 恵丈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59139002A priority Critical patent/JPS6120129A/ja
Priority to US06/752,853 priority patent/US4692896A/en
Publication of JPS6120129A publication Critical patent/JPS6120129A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、漢字コード等を含む多ビツト文字コードを扱
う情報処理システムに係り、特に複数のコード系が混在
している場合に好適な情報処理方式に関する。
〔発明の背景〕
電子計算機を用いた情報処理において、文字を表現する
ためのコード系が決められており、英数字、かな、記号
を表わすのに8ビツトコード系が、さらに漢字をも含め
た16ビツトコード系がある。
この8ビツトコード系の中には、J I S 8単位コ
ード”)、 ASCII’)、 E!BCDIC’、 
EBCDIR”)等の種類があり、16ビツトコード系
の中には1.エエS漢字コード゛、 KEIS漢字コ・
−ド”、 :/7トJ I Sコ−トリ等の種類がある
。特に日本語を扱う情報処理においては漢字の使用は必
須であり、といって英数字8ビツトコードも従来データ
を使用することもあるので扱わないとすることはできず
、1つの8ビツトコードと1つの16ビツトコードを混
在させて使用するニーズがある。混在させる方法として
は、8ビツトコードと16ビツトコードの間にシフトコ
ードを挿入しておき、シフトコードの存在によってコー
ド種別を知る方法であるが、このような形式のデータを
処理するとき、いちいちシフトコードを意識しなければ
ならず、プログラム設計を著しく複雑なものにしていた
。これを解決する方法として、以下の方法が考えられて
きた。
シフトJISコードでは、16ビツト漢字コードの上位
桁の8ビツトに、8ビツトコード系の通常文字として扱
わない領域のコードを用いることにより、上位8ビツト
を判定するだけで8ビツトコードであるか16ビツトコ
ードの上位桁であるのかが区別できるようにしている。
これによればシフトコードは不要であり、出力時の表示
幅とデータ量が一致するという特徴があるが、やはり8
ビツトコードか16ビツトコードかを区別しながら処理
する必要がある点では同じである。
他の方法としては、8ビツトコード系については、16
ビツトコード系の上位桁として8ビツトコード系にはな
いビットパターンを付加することにより、すべてを16
ビツトコードとして扱う方法(統一化16ビツトコード
と呼ぶことにする)がある。この方法ではすべての文字
データを16ビツトで統一的に扱えるので処理が容易に
なることと、文字数とデータ量が比例するという特徴が
ある。
8ビツトコードにも16ビツトコードにも英数字が含ま
れているが、両者にはほとんど関連がなく、全く異なる
文字として扱われてしまうが、たとえば、8ビツトコー
ドのl AI も16ビツトコードのl A I もど
ちらも同じ文字であるとして扱いたい場合で、しかも表
示あるいは印字の場合には区別したいという場合には、
特願昭58−135819のようなコードが考えられる
ところで、従来のコンパイラでは、文字を扱う文字型の
データは8ビツトであり、16ビツトコードを扱う場合
には2つのデータエリアを占めるように使用している。
従って】6ビツトコードは単にデータとして、2つの文
字型データとして扱われるので、これを1つの16ビツ
トコードとして認識するのはすべてプログラムの作り方
、つまりプログラム設計にまかされ、プログラム開発。
保守のネックとなっている。
以上、1つの8ビツトコード系と1つの16ビツトコー
ド系の対のみを扱う場合の問題について述べたが、これ
らの標準コード系以外の他のコード系を扱う入出力装置
や、他のCPUや他のコードで記憶されているファイル
を標準コード系を扱うプログラムから扱う場合の問題が
ある。これら非標準コード系データを扱う場合、たとえ
ばデータがファイルにある場合には、そのデータの内容
を、コード変換用のプログラムで変換してから読むよう
にすればよいが、非標準コード系の入出力装置や他CP
Uと直接データを授受する場合には、一度フアイルに格
納し、さらに変換するのでは手間がかかるうえ、時間遅
れが大きくなってしまう。
また、システム内の標準コードを使用する標準コンパイ
ラで生成した実行可能プログラムの他に、他の非標準コ
ンパイラで生成した実行可能プログラムや、非標準コー
ドを扱う実行プログラムを他のシステムから通信制御装
置や二次記憶装置媒体を経由して取込んだものである場
合、41M準コード系のデータについてはその非標準コ
ード系に逆変換して使用するか、その非標準コード系実
行可能プログラムを改造する必要があった。
一般に電子計算機を用いた(対話型)情報処理システム
では、端末入力装置、端末出力装置、二次記憶装置1通
信制御装置等(以後入出力装置等という)の管理および
制御や二次記憶装置内にある、または通信制御装置を経
由して入力される実行プログラムの主記憶装置へのロー
ド処理や主記憶装置内の実行プログラムの実行の制御は
、すべてOSで行なう方式をとっており、実行可能プロ
グラムはOSに対してマクロ命令によって処理や制御を
要求する。要求の内容の違いはマクロ命令の種類により
区別され、要求の対象はマクロ命令のパラメータとして
与えられることが多い。このように、システム全体にか
かわる資源の管理を必要とする共通処理をOSが行なう
従来OSでは、8ビツトコード系のコードを入出力装置
との間で授受する際に、入出力装置のコード系に変換し
たり、使用者の指定するコードで授受するようにするこ
とはできたが、」1記の問題を解決することはできなか
った。
〔発明の目的〕
本発明の目的は電子計算機による情報処理システム等に
おいてビット数の異なるコードを統一的に扱う手段と、
その統一化コードとは異なるコード系の入出力装置等と
のデータの入出力においてコードの違いをプログラムで
意識しないで作成し実行する手段と、上記統一化コード
とは異なるコード系を扱うプログラムも同様にコード変
換を利用者が直接行なうことなく、また改造することな
く実行可能とする手段とを提供することにある。
〔発明の概要〕
8ビツトコードと16ビツトコードを混在させて扱うに
は、システム全体で統一した扱い方を確立する必要があ
る。単に従来の8ビツトデータエリアを2つ公使用する
というレベルでは、プログラマに対する負担は大きい。
さらに、システム内が統一されても、外部にはいろいろ
なコード長、いろいろなコード種別を用いたデータ(フ
ァイル)や入出力装置があり、これらを利用したいとい
うニーズはなくならない。また統一化コード系とは異な
るコード系を扱う外部のプログラムを導入して用いたい
というニーズでも発生する。
本発明はこのような多様的な問題に対して、従来のシス
テムのまま、あるいは部分的対応ではプログラマや利用
者の負担は大きく、もつと総合的な対策が必要である。
このために、まずコンパイラのレベルでコードの統一化
を図ること、OSが、入出力装置等の他に、プログラム
およびファイルの使用しているコード系の種別をも管理
しておき、データの入出力時にOSの入出力制御の中で
コード変換を行なうという方式である。
〔発明の実施例〕
以下、本発明を実施例により詳細に説明する。
第1図は本発明に係る端軸処理装置の構成を表わす。C
PUIには内部に主記憶装置(以下MMという)14を
有し端末入力袋M2と端末出力装置3と二次記憶装置4
と通信制御装置5が接続されており、通信制御袋W5に
は通信回線6を介して他の入出力装置7,8や他のCP
U9が接続されている。第2図はソフトウェアを含めた
情報処理システムの構成を表わす。端末入力装置(以下
KRという)2から入力したコマンドを、コマンド解釈
プログラム(以下CAという)11が解釈し、コマンド
実行プログラム(以下CPという)12をOS 1.0
を介して起動する。CP12はKR2からデータを入力
したり、端末出力装置(以下DISPという)3に表示
したり、二次記憶装置(以下S Mという)4のデータ
を読込んだり書込んだり、通信制御装置(以下COMと
いう)5゜通信回線6を介して他の入出力装置7,8や
他のCPU9とデータの送信、受信を行なう。
CA1.1はまた、コマンドによりコンパイラ(CMP
L) 13を起動する。CMPL13は8M4の中にあ
るソースプログラムをOS i Oを経由して入力し、
実行可能プログラムをMM14内あるいはSMJ内に作
成する。実行可能プログラムはまたC P 1.2とし
て、CAl1により08IOを介して起動される。
CMPI、13は、第3図に示すごとく、ソースプログ
ラム20を、レコード単位に読込み(21)、字句解析
22により単語わけをして記号化し、記号を読みながら
構文解析23で文法通りに正しいかをチェックしながら
構文木を作成し、木を走査しながら中間語を生成しく2
4)、最適化25した後実行可能プログラムを生成しく
26)、ファイル27に出力する。このとき変数名表、
定数表などの各種情報の表28が作られ、参照される(
例えば、中田育男著「コンパイラ」、産業図書昭和56
年)。
第4図に、ソースプログラムの例を示す。
31〜33は文字型変数についての宣言文であり、31
はC1という名称の1文字分の大きさのエリアを持つ文
字型変数を、32は同様Qaという5文字分の文字型変
数を、33はOnという8文字分の文字型変数を宣言し
ている。32で2つの″で囲まれたデータは文字列を表
わし、最後にストップコードとして値Oを持つ文字コー
ドが仮定されている。また[ ]は配列を表わし、ここ
では等号の右辺にある初期値により配列の大きさが決め
られることを示している。34は、代入文で変数C1に
文字型定数1 xI を代入している。
2つの′で囲まれたデータは1文字の文字を表わす。ス
トップコードは文字型データとしては′\0′と表わさ
れるものとする。35はappendという関数を呼出
す文で、3つの引数を持っている。
第4図に表わされた文字型データはすべて英字であるが
、この他第5図に示すような文字が使え、統一化16ビ
ツトコードのすべてが扱える。英字。
英数字、記号はそのまま16ビツトコードとして格納さ
れる(36.37)、8ビツトコードにもある英数字、
記号は、′ビを先行させることにより8ビツトコードの
前にたとえばオールOの8ビツトデータを付加した16
、ビットコードとして格納される(38)。特別な場合
として!自身は、16ビツト化8ビツトコードとし5で
は(39)、16ビツトコードとしては(40)を用い
る。ストップコードは(41)のようにする。またl\
″については(42,43)のようにする。
第5図に示したような文字型データおよび文字列データ
は、第3図22において解析される。第6図に文字列デ
ータのはじめの″以後の文字デーりを解析する手順を示
す。
51で5\′が表われたことを記憶する変数J2と1ビ
が表われたことを記憶する変数J、を0に設定し、52
で文字列の次の1文字を入力し、53.56,59.6
3でその入力文字を判定する。′\′であれば54でま
だJ、がOであれば1にセットして52に戻り、すでに
1であれば66へ行く。1′であるば57でまだf、が
0であれば文字列の終りであるから処理を終了し、そう
でなければ66へ行く。!′であれば、もしすてにJ、
またはf、が1であれば66へ行くが、どちらもOでは
ればf、を1にセットして52に戻る。66で、すてに
f、が1であれば、今入力した文字を16ビツト化8ビ
ツトコード八変換し67、Oではれば16ビツトコード
ヘ変換し68゜変換した16ビツトコードを文字列格納
エリアに出力する69゜ 第3図で構文解析23実行後の構文木並びに各種情報の
表を第7図に示す。
70は各実行文ごとにその構文木がある構文木表のイン
デックスを保持する文表であり、71゜72.73は構
文木表で構文木の節を表わす。
71は節の種類、72.73は節からの枝の先を示す番
号であり、節の種類ごとに異なる表を指す。
71が代入文のとき、72.73は同じ構文木表の別の
節を指す。節の種類が変数、定数、関数呼出しの場合7
2はそれぞれ変数表74〜78.定数表79〜82.関
数表83〜85のインデクスである。
変数表は、変数名74.データ型75.初期値の有無7
6、データ長77、割付アドレス78からなる。初期値
があるときは定数表のインデクスが入り、アドレスは未
だ未定である。関数表は、関数名83.引数の数84.
関数のアドレス85からなり、アドレス85は未定であ
る。定数表は、定数データの型79.データ長80.割
付アドレス81.リテラル表86のインデクス82から
なり、アドレス81は未定である。リテラル表86には
文字型データや文字列データの実体がある。
第3図26では、上記変数表74〜78.定数表79〜
82.リテラル表86を用い、文字型変数74に対して
、データ長77に16を乗じたビット数のエリアを割付
け(第8図90〜92)、そのアドレスを順次割付アド
レス欄78に設定し、つづいて初期値のある変数911
こついてはその値をリテラル表86から移す。また、定
数データについては、変数の初期値となっていないもの
について、データ長80に16を乗じたビット数のエリ
アを割付け(第8図93,941.リテラル表86から
その値を移し、アドレスをアドレス欄81に設定する。
以上の手順は1文字を16ビツ1−とするということを
除いて、従来コンパイラの行なう文字データの割付は処
理と同じであり、実現可能であることは明らかである。
第9図はCPUI内のOS ]、 Oの、CP12から
の入出力要求に対する一般的動作を説明するものである
CP12は0812に対して第10図に示すようなマク
ロ命令119を実行すると、このマクロ命令は第1の引
数のエリア104のアドレスを引数アドレスリスト1.
03の第1のエリアに、同じく第2以後の引数のエリア
105のアドレスのを引数アドレスリスト103の第2
以下のエリアにセットし、引数アドレスリストの先頭ア
ドレス103を、第1のレジスタ101にセットし、マ
クロ名に対応するOS内のプログラムを呼出す(1,1
0)。osioは、第1のレジスタ101からパラメー
タアドレスリスト103を知り、ついで各パラメータ1
04〜106を知ることができ、マクロ命令による要求
内容を調べ、ある場合にはディレクトリ108をサーチ
して、所定の情報を求め、制御テーブル107を作成し
たリシステムバツファ109を作成し、ある場合には、
制御テーブル107を参照して入出力デバイス100に
制御コマンドを送り出して(112) 、システムバッ
ファ109との間でデータの授受をしく115)、完了
コードを制御表107に返しく113)でもらう。08
12は必要ならパラメータエリア104〜106にデー
タをセット後完了コードを第2のレジスタ]02にセッ
トして制御をCP12に戻す(111)。マクロ命令の
終りで第2のレジスタ102の内容を等号の左辺の変数
(完了コード)にセットする。
入出力用のマクロ命令としては第11図に示すもの12
0〜124がある。
ここで、端末入力装置2(第9図では100)からデー
タを入力する場合について説明する。第12図で、完了
コードエリアCCの宣言】31゜バッファエリアbuf
の宣言132.制御テーブルへのポインタエリアfdの
宣言】33をし、ついでコンソール入力装置名とbuf
とfdを引数にしてオープンを要求する(134)。0
810は、第15図のごとく第1の引数よりディレクト
す108の中をサーチしく1.70)、該当する項目を
求める。ディレクトリの1つの項目は第13図のように
、名称141.使用コード種別142゜装置種別143
.装置アドレス144などからなり、端末入力装置の場
合141に” conso Q e” 。
142に端末の使用コード、143に端末であることを
示す記号、144に装置のアドレスがある。
03IOは、もし見つかれば(1,71)該当するディ
レクトリ108と引数アドレスリスト103から種l3
11143 、装置アドレス144.装置使用コード種
別142.bufアドレスを求め、第14図制御テーブ
ルの152,153,154゜156にセットする(1
73)。この他要求元プログラム12の使用するコード
種別を求め155にセットしく173)、システム用の
バッファエリアを確保して(174)、確保できたら(
175)、そのアドレスを157に、システムバッファ
のサイズを158にセットしく176) 、最終ポイン
タ159と取出しポインタ160を0にセットし、制御
テーブルのアドレスをfdにセットし、オープン完了フ
ラグ151を1にする(177)。
プログラムの使用するコード種別は、CALLがCPi
2の起動要求をOSに出したとき、OSがCP12の督
録しであるディレクトリの項をさがし、プロゲラ11を
ロードし実行開始するが、そのときに、プログラムの使
用するコード種別をここには示していないプログラム実
行管理表にセットしておくことにより、OSは現在実行
中のプログラムの使用するコード種別を常に知ることが
できる。
OSは以下のオープン処理がすべて正常に完了すれば、
第2のレジスタ102に0をセットして(178)CP
12に制御を戻し、CP12では第2のレジスタ102
の内容を変数CCにセットする。
続く半定命令で完了コードCCを調べ、0であれば13
6に進み、データ読込マクロを実行する。
readマクロ136では第1引数にopenマクロ1
34で求めたfd、第2引数に読込む文字数を指定する
このときのOSの処理を第16図に従って説明する。ま
ずfdで与えられた制御テーブルが正しくすでにope
nされているかをオープン完了フラグ151でチェック
しく181)、正しければ、装置種別152を調べ(1
82)、端末のとき、データがまだシステムバッファ内
にあるかを取出しく22) ポインタ160と最終ポインタ159を比較して調べ(
183)、なければ端末入力装置アドレス153に対し
て入力制御コマンドを送って1文字ずつシステムバッフ
ァの先頭から順次入れていき(184)、改行文字が入
力されたとき、それまでの全入力文字数を最終ポインタ
159に、0を取出しポインタにそれぞれセットしく1
85)、183に戻る。システムバッファにデータがあ
れば、その文字数をmとしく186)、mがraadマ
クロの第2引数で要求された文字数より小さいとき(1
87)、mをその要求された文字数に変える(188)
。システムバッファ内のm文字を。
後で述べるコード変換処理しなからbufに移す(18
9)、取込みポインタにmを加え、読込文字数をm減じ
る。読込文字数がまだあるなら183に戻り(191)
、もうなければ第2のレジスタ102に0をセットして
(192)終了する。
ただし第16図185,186,187,188゜18
9.190では、装置使用コード種別154をプログラ
ム使用コード種別155を意識する必要がある。すなわ
ち、185で改行文字とは装置使用コード154での改
行文字であり、186の文字数および186〜190の
mは装置使用コード154における文字絃であり、18
7,188゜190の読込文字数はプログラム使用コー
ド155におけるものである。システムバッファ内にお
けるポインタは装置使用コードの種別154により1文
字あたりの更新量は異なる。
以上は端末入力装置からの入力時の実施例であるが、端
末出力装置への出力時はreadマクロの代りにtsr
iteマクロ122を使用すること、データの流れ、コ
ード変換方向が逆になることを除いてreadマクロの
基本的な考え方は同じである。また、3M4上にあるフ
ァイルに対する入出力も、ディレクトリ108にある情
報、制御テーブル107にある情報が増加するが、基本
的な考え方は端末入出力と同じであり、従来技術として
確立されているものである。
さらに、C0M5を介して通信回線6に接続されている
他の入出力袋[17,8や他のCI) U 9どのデー
タの送受信についても、論理的な通信路の確立手順等の
処理が加わるものの、基本的な入出力の方法は端末入出
力の場合と同様であり、これも従来技術として確立され
ているものである。
cl、oseマクロ123は、出力中のシステムバッフ
ァ109の内容を出力し、システムバッファエリアを解
放し、制御テーブル107を削除するような、従来技術
として確立されているものである。
craataマクロ124は、ファイルを新たに作成す
るためのマクロで、第1引数で与えられた名前を持った
ファイル用のディレクトリ108を作成するものであり
、このとき第2引数で与えられたコード種別をそのファ
イルの使用コード142とするものである。
1nquireマクロ125は、na膳eで入出力装置
名やファイル名、CPU名などを指定すると、それが使
用しているコードがcodeに返るマクロで、0810
は、ディレクトリ108内をnameについてサーチし
、もし見つかればそのディレクトリ項目中の使用コード
種別142を取り出してcodeに返す。もし見つから
ないときは、エラーで、第2のレジスタ102にエラー
コードをセットして終了する。
changeマクロ126は、nameで入出力装置名
やファイル名、CPU名などを指定すると、それが使用
しているコードをcodeで与えられたものに変更され
るマクロで、08IOは、ディレクトリ108内をna
meについてサーチし、もし見つかれば、そのディレク
トリ項目中の使用コード種別142に、codeで与え
た使用コード種別をセットする。もし見つからないとき
はエラーで、第2のレジスタ102にエラコードを設定
して終了する。
以下、端末入力装置からの入力時のコード変換について
説明する。
1nquireマクロとchangeマクロの使い方の
一つの例は、コードaの入力装置からコードbのファイ
ルにデータをコピーするとき、コピープログラムの使用
するコードがahlbのいずれでもない場合に、いずれ
のコードをj nquireマクロで調べ、次いてch
angeマクロでそのコピープログラム自身の使用する
コードを変更してしまうことにより、二重変換を防止す
るものである。
第1図において、端末入力装置2.端末出力装置はJI
S8単位コードをとJIS漢字コードを統一化した統一
化16ビツトコードを使用し、二次記憶装置4はJTS
8単位コードを使用し、通信制御装置I25を介して接
続されている入出力装置7と8や第2のCP IJ 9
はHBCDTKコードとK[?IS漢字コードをシフト
コードを用いて混在させた混在コードを使用している場
合を考える。
ここで、統一化]6ビツトコードは、J I S 8単
位コードについては前にすべてがOの8ビツトコードを
付加させて16ビツトにしたものを用いることにする。
また、混在コードでは、先頭にはEBCDTKコードが
シフトコードしかこないものとする。
そこでコードの種別として、非コード、JIS8単位コ
ード、混在コード、統一化16ビツトコードを扱う場合
について説明する。ここで非コードとは、バイナリデー
タファイルのように文字コ−ド以外のデータを含むもの
についてのものであり、またプログラムそのものについ
ては、プログラムの使用するコードに係りなく、常にこ
の種別として扱うものとする。
第17図はコード変換処理の大分類を決定する入出力関
連図で、左辺に入力データのコード種別、上辺に出力デ
ータのコード種別を与えたとき、両者の交点で変換分類
番号が得られる。そこで番号1の処理はコード変換が不
要である組合わせである。番号2の処理は8ビツトコー
ド間のコード変換となり、第18図のごとく2@要素か
らなる8ビツト幅のメモリ内変換表の第1(i=O〜2
”−1)番目の要素に、JIS8単位コードの値jが表
わす文字コードと同じ文字を表わすEBCDIRコード
の値を入れておくことにより、J I S 8単位コー
ドからEBCDIKコードへは、そのメモリ内変換表を
ひくだけで容易に変換できることは明らかである。
番号3の処理は、混在型からJIS8ビットコードの変
換であり、混在型の中がEBCDTにコードだけであれ
ば番号2の処理と同様に逆変換用の変換テーブルを用い
れば変換可変であり、KELS漢字コードが表われた場
合にはエラーとし、第2のレジスタ102にエラーコー
ドを設定してマクロの処理を終らせる。
番号4の処理は、入力したJI88単位コードの前に8
ビツトの0を付加した16ビツトコードにするだけでよ
い。
番号5の処理は番号4の処理の逆で、入力した16ビツ
トコードの前の8ビツトがOであれば残りの8ビツトを
出力すればよく、前の8ビツトが0でなければエラーと
し、第2のレジスタ102にエラーコードを設定してマ
クロの処理を終らせる。
番号6の処理は第19に示すごとく、まずシフトコード
であるかをチェック(201)L、そうでなければEB
CDlにコードであるから、それを番号3の処理と同様
にJIS8単位コードに変換後番号4の処理と同様に先
頭にOを付加して16ビツトコードにする(202)。
201でシフトコードであったときは、次の文字を取出
しく206)、それがシフトコードでなければ(204
)、それはKEISコードであるから(8080) 、
@を減じることによってJTS漢字コードに変換する(
205)。
204でシフトコードであったときは次の文字を取出し
く203)、シフトコードのチェック(201)に行く
。いずれも次の文字がなければ終了する。
番号7の処理は番号6の処理の逆変換で、第20図のご
とく上位8ビットの判定としく212)、0であれば下
位8ビツトはJI88単位コードであるから、それにつ
いて番号2の処理を行ない、JIS8単位コードをEB
CDIKコードに変換(216)し、0でなければJI
S漢字コードであるから(8080) 、、を加えてK
EISコードに変換(22] )する。ただし、EBC
DIKコードの出力モードとKEISコードの出力モー
ドが切り換るときにシフトコードを挿入するために、モ
ードの初期設定211、判定(213,218) 、シ
フトコードの出力(214,219)、モードの更新(
215゜220)を行なう。
以上、−上記記載のコード間の変換について説明したが
、他のコードを扱うことも同様に可能であることは明ら
かである。
以上の実施例ではOS機能を中心に説明して来たが、本
発明の思想はOSとチャンネルとの組合せ、基地OSと
協同的に動作するプログラム全般、仮想計算機の仮想的
OS等においても適用可能である。
〔発明の効果〕
本発明によれば、英数、かな、記号を表わすコードと漢
字を含むコードとが同一データ長で扱えるようになるの
で、これらが混在しているデータを扱う処理プログラム
が、データ長をいちいち判定する必要がなくなり、プロ
グラムの実行性能が向上するとともに、プログラムの生
産性、保守性が向上する。また、異種コード間の変換を
OSレベルで行なってしまうため、利用者はコード系の
違いによるデータのコード変換処理やプログラムの改造
を必要としない。さらに、コード系の異なるホスト計算
機等と接続した場合にもコード系の違いを意識せずにプ
ログラムの開発ができるようになる。そして、コード変
換処理などを個別に行なわなくてすむので、プログラム
の重複開発も避けられるようになる。
【図面の簡単な説明】
第1図は本発明のシステムのハードウェア構成図、第2
図はソフトウェアを含めた本発明情報処理システムの構
成図、第3図は本発明コンパイラの処理流れ図、第4図
はソースプログラムの例を示す説明図、第5図は文字型
データの記述例を示す説明図、第6図はその解析流れ図
、第7図はコンパイラの生成する各種情報のテーブル構
成図、第8図はコンパイラの生成した文字型データの例
を示す説明図、第9図はマクロ命令の実行手順を説明す
る機能ブロック図、第10図はマクロ命令の一般形式を
示す図、第11図はマクロ命令の例を示す説明図、第1
2図はデータ入力プログラムの例を示す説明図、第13
図はディレクトリの1つの項目の構成図、第14図は制
御表の構成図、第15図はopenマクロの処理流れ図
、第16図はreadマクロ命令の処理流れ図、第17
図はコード種別からコード変換処理を求めるメモリ内テ
ーブル昏示す図、第18図は変換テーブルを示す図、第
19図、第20図はコード変換処理流れ図である。 1・・・CPU、2・・・端末入力装置、3・・・端末
出力装置、4・・・二次記憶装置、5・・・通信制御装
置、6・・・通信網、7,8・・・入出力装置、9・・
・CPU、10・・・OS,11・・・コマンド解析プ
ログラム、12・・・コマンドプロセッサ、13・・・
コンパイラ、101.102・・・レジスタ、105・
・・バッファ。 107・・・制御テーブル、108・・・ディレクトリ
、第 2 図 気      −( 4ピ g        ucl 冗 II  図 CC=    0feyt  (yta包己、   b
uヂ 、 子〆 ジ         〜/2ρcc 
  二  1−ξa−d(fel、  クマ 9   
             〜12〕CC=  vri
te (fd 、 yt )         〜/2
ZCC=   C1ose  (fd)       
                     〜/23
cC=  c)−eate (yta7Ie、  ct
yde)       Nt24CC二t/PLly”
” (飛pe 、  ctpde)      八t1
5cC=  CAJAP (7Ltt例e 、 cit
de)      〜/2ど第 12  図 cc   嘘  apeyt  (”cσ7Ijll)
e”、  b、子 、  fdノ l      〜/
34i+   ((Cへ= θ ン    CとトO?
 (Cc )  ;             /3ご
rCC=  ’trelld (fd、 t) 、  
      〜13ど第13  口 第14 図

Claims (1)

  1. 【特許請求の範囲】 1、オペレーティングシステムを有する情報処理システ
    ムにおいて、ソースプログラムを入力するステップと、
    該ソースプログラムの意味を解析し、該意味と等価な処
    理を行なう命令系列ならびにデータを生成するコンパイ
    リングステツプと、該コンパイリングステツプは、上記
    ソースプログラムに指定されている文字型変数について
    は、夫々16以上の第1のビット数の領域に対応するご
    とく文字型配列については上記第1のビット数に配列の
    要素の数を乗じたビット数の領域に対応する如く、文字
    型定数については上記第1のビット数の領域を占める第
    1のコード系に、文字列定数については、該文字列定数
    の文字数に1を加えた数に上記第1のビット数を乗じた
    ビット数の領域を占める第1のコード系に夫々変換する
    ステップであることを特徴とする複数コード系情報処理
    方式。 2、上記情報処理システムは上記情報システムに接続し
    た周辺装置および通信制御装置のデータ入出力要求をマ
    クロ命令により一括管理することを特徴とする第1項記
    載の複数コード系情報処理方式。 3、上記情報処理システムは、上記情報処理システムに
    接続した入力装置が発生するコード系の種別、および出
    力装置が受理するコード系の種別を、該入出力装置ごと
    に格納管理し、上記情報処理システム内の実行可能プロ
    グラムが使用するコード系の種別を、該実行可能プログ
    ラムごとに格納管理し、上記入力装置の使用しているコ
    ード系と、該実行可能プログラムの使用しているコード
    系を対比し、該入力を該実行可能プログラムの使用して
    いるコード系に変換し、しかる後に該実行可能プログラ
    ムにデータを渡し、該実行可能プログラムからデータを
    受取つた後、上記出力装置の使用しているコード系の種
    別と、該実行可能プログラムの使用しているコード系の
    種別を対比し、該出力を該出力装置の使用しているコー
    ド系に変換し、該出力装置にデータを出力するステップ
    を含むことを特徴とする特許請求範囲第1項記載の複数
    コード系情報処理方式。 4、上記情報処理システムは、上記情報処理システム内
    の二次記憶装置内にあるデータのまとまり別に使用して
    いるコード系の種別と、該まとまりごとに格納管理し、
    該まとまりの使用しているコード系の種別と上記実行可
    能プログラムの使用しているコード系の種別を対比し、
    該まとまりからデータの読出し後、あるいは、該まとま
    りへのデータの書込み前に、該実行可能プログラムの使
    用しているコード系へ、あるいは該まとまりの使用して
    いるコード系へ変換するステップを含むことを特徴とす
    る特許請求範囲第1項記載の複数コード系情報処理方式
    。 5、上記情報処理システムは、上記情報処理システム内
    の通信制御装置に接続されている通信回線を介して交信
    可能な入出力装置や、処理装置で使用しているコード系
    の種別を、該入出力装置や処理装置ごとに格納管理し、
    該入出力装置や処理装置の使用しているコード系の種別
    と上記実行可能プログラムの使用しているコード系の種
    別を対比し、上記通信制御装置からデータの受信後ある
    いは該通信制御装置へのデータの送信前に、該実行可能
    プログラムの使用しているコード系にあるいは上記出力
    装置や処理装置の使用しているコード系へ変換するステ
    ップを含むことを特徴とする特許請求範囲第1項記載の
    複数コード系情報処理方式。 6、上記情報処理システムは、上記実行可能プログラム
    から該OSに対するマクロ命令のパラメータで文字型デ
    ータのものについては、該実行可能プログラムの使用し
    ているコード系を調べ、パラメータの文字型データの取
    込み時に上記第1のコード系のコードに変換し、パラメ
    ータに文字型データを返す時に該実行可能プログラムの
    使用しているコード系のコードに変換するものであるこ
    とを特徴とする特許請求範囲第1項記載の複数コード系
    情報処理方式。 7、上記情報処理システムは、コード系の種別について
    の問合わせに対して、該コード系の種別を応答し、また
    、上記実行可能プログラムの使用するコード系を該問合
    わせのコード系と同じもの、あるいは該実行可能プログ
    ラムが指定した位置のコード系に変更する要求に対して
    、該実行可能プログラムの使用するコード系の種別、お
    よび該問合わせのコード系の種別あるいは該指定したコ
    ード系の種別を格納管理し、以後それを該実行可能プロ
    グラムの使用するコード系の種別とするステップを含む
    ことを特徴とする特許請求範囲第1項から第6項記載の
    複数コード系情報処理方式。
JP59139002A 1984-07-06 1984-07-06 複数コ−ド系情報処理方式 Pending JPS6120129A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59139002A JPS6120129A (ja) 1984-07-06 1984-07-06 複数コ−ド系情報処理方式
US06/752,853 US4692896A (en) 1984-07-06 1985-07-08 Method of processing a plurality of code systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59139002A JPS6120129A (ja) 1984-07-06 1984-07-06 複数コ−ド系情報処理方式

Publications (1)

Publication Number Publication Date
JPS6120129A true JPS6120129A (ja) 1986-01-28

Family

ID=15235178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59139002A Pending JPS6120129A (ja) 1984-07-06 1984-07-06 複数コ−ド系情報処理方式

Country Status (2)

Country Link
US (1) US4692896A (ja)
JP (1) JPS6120129A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3701691A1 (de) * 1986-07-31 1988-02-04 Toshiba Ceramics Co Verfahren zum herstellen einer ofenkomponente
JPH01195536A (ja) * 1988-01-29 1989-08-07 Fujitsu Ltd 翻訳時における領域圧縮方式
JPH04305731A (ja) * 1990-06-15 1992-10-28 Internatl Business Mach Corp <Ibm> コード化方法
JP2009169846A (ja) * 2008-01-18 2009-07-30 Fujitsu Ltd コマンド文構築プログラム,処理方法,および処理装置
JP2015191272A (ja) * 2014-03-27 2015-11-02 富士通株式会社 実行制御方法、実行制御プログラムおよび実行制御装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142681A (en) * 1986-07-07 1992-08-25 International Business Machines Corporation APL-to-Fortran translators
JPH0814817B2 (ja) * 1986-10-09 1996-02-14 株式会社日立製作所 自動ベクトル化方法
US4868743A (en) * 1986-11-25 1989-09-19 Hitachi, Ltd. Traversal method of processing tree structure information and apparatus using the same
US5127104A (en) * 1986-12-29 1992-06-30 Dataflow Computer Corporation Method and product involving translation and execution of programs by automatic partitioning and data structure allocation
US4961133A (en) * 1987-11-06 1990-10-02 Visystems, Inc. Method for providing a virtual execution environment on a target computer using a virtual software machine
US4916610A (en) * 1988-10-05 1990-04-10 Racal Data Communications Inc. Multilanguage software integration through preprocessing
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
US5317736A (en) * 1989-07-07 1994-05-31 Bowen Frederic W System for managing information using codes and coded objects
JP2830884B2 (ja) * 1992-02-06 1998-12-02 日本電気株式会社 多重文字コードセットの入出力変換方式
US6377966B1 (en) * 1997-10-22 2002-04-23 Flashpoint Technology, Inc. Graphical interface to select characters representing phonetic articulation and no articulation groups
US6338067B1 (en) 1998-09-01 2002-01-08 Sector Data, Llc. Product/service hierarchy database for market competition and investment analysis
US7337437B2 (en) * 1999-12-01 2008-02-26 International Business Machines Corporation Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code
US8176108B2 (en) * 2000-06-20 2012-05-08 International Business Machines Corporation Method, apparatus and computer program product for network design and analysis
US6948161B2 (en) * 2001-04-20 2005-09-20 International Business Machines Corporation Method, computer system and computer program product for determining the equivalence of two blocks of assignment statements
US7171544B2 (en) * 2003-12-15 2007-01-30 International Business Machines Corporation Run-time parallelization of loops in computer programs by access patterns
US7681177B2 (en) * 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US7949444B2 (en) * 2005-10-07 2011-05-24 Honeywell International Inc. Aviation field service report natural language processing
US9886478B2 (en) 2005-10-07 2018-02-06 Honeywell International Inc. Aviation field service report natural language processing
KR100788135B1 (ko) * 2006-10-17 2007-12-21 삼성에스디에스 주식회사 메인프레임 시스템의 sam/vsam 파일을 개방형시스템에 적합한 sam/vsam 파일로 변환하는마이그레이션 장치 및 그 방법
KR100853933B1 (ko) * 2006-10-17 2008-08-25 삼성에스디에스 주식회사 메인프레임 시스템의 응용프로그램을 개방형 시스템에적합한 응용프로그램으로 변환하는 마이그레이션 장치 및그 방법
US20130159781A1 (en) * 2011-12-16 2013-06-20 Mips Technologies, Inc. System For Compression Of Fixed Width Values In A Processor Hardware Trace
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR111574A (ja) * 1973-12-13 1900-01-01
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
US4445177A (en) * 1981-05-22 1984-04-24 Data General Corporation Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions
US4493029A (en) * 1982-05-14 1985-01-08 At&T Bell Laboratories Microprocessor with PLA adapted to implement subroutines

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3701691A1 (de) * 1986-07-31 1988-02-04 Toshiba Ceramics Co Verfahren zum herstellen einer ofenkomponente
JPH01195536A (ja) * 1988-01-29 1989-08-07 Fujitsu Ltd 翻訳時における領域圧縮方式
JPH04305731A (ja) * 1990-06-15 1992-10-28 Internatl Business Mach Corp <Ibm> コード化方法
JP2009169846A (ja) * 2008-01-18 2009-07-30 Fujitsu Ltd コマンド文構築プログラム,処理方法,および処理装置
JP2015191272A (ja) * 2014-03-27 2015-11-02 富士通株式会社 実行制御方法、実行制御プログラムおよび実行制御装置

Also Published As

Publication number Publication date
US4692896A (en) 1987-09-08

Similar Documents

Publication Publication Date Title
JPS6120129A (ja) 複数コ−ド系情報処理方式
US4974191A (en) Adaptive natural language computer interface system
US6286134B1 (en) Instruction selection in a multi-platform environment
Snir MPI--the Complete Reference: the MPI core
CN106462425B (zh) 使用复常量的方法和系统
US5339434A (en) Heterogeneous data translation system
EP0134897B1 (en) Method for allowing a program to be independent of the national language in which an input to the data processing system is received
Cerf et al. An Experimental Service for Adaptable Data Reconfiguration
JP4699580B2 (ja) データ処理システムの配列の静的初期化方法、データ処理方法、並びにデータ処理システム及びその制御手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US20140156282A1 (en) Method and system for controlling target applications based upon a natural language command string
EP1073953B1 (en) Computer architecture using self-manipulating trees
CN101401075A (zh) 程序调测系统中的映射方法和程序调测系统
US11768757B2 (en) Kernel debugging system and method
US20030212671A1 (en) Operational semantics rules for governing evolution of processes and queries as processes
Bennett A methodology for automated design of computer instruction sets
US6922735B2 (en) Management of co-processor information by integrating non-program information with program information
US6708310B1 (en) Method and system for implementing user-defined codeset conversions in a computer system
EP1504362A1 (en) Cooperation of concurrent, distributed networks of resources
CN113835688A (zh) 一种科学计算语言解释器的对象封装方法
JP2000347875A (ja) ファイル移植技術
Bloom Structure of a direct high-level language processor
KR0123247B1 (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
Feldman Edward W. Czeck
French et al. Design of the Data Description Language Processor
Montuelle et al. Cross software using a universal object module format, CUFOM