JPH0690669B2 - 文字列操作系命令コンパイル処理方式 - Google Patents
文字列操作系命令コンパイル処理方式Info
- Publication number
- JPH0690669B2 JPH0690669B2 JP10396887A JP10396887A JPH0690669B2 JP H0690669 B2 JPH0690669 B2 JP H0690669B2 JP 10396887 A JP10396887 A JP 10396887A JP 10396887 A JP10396887 A JP 10396887A JP H0690669 B2 JPH0690669 B2 JP H0690669B2
- Authority
- JP
- Japan
- Prior art keywords
- subscript
- text
- instruction
- character string
- read
- 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.)
- Expired - Fee Related
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔概要〕 添字評価時期が命令実行の最初に1回だけ行うように定
められた文字列操作系命令の翻訳処理にあたって,中間
テキストが添字である場合には,それを直ちにオブジェ
クト展開し,添字以外である場合には,一旦,作業用テ
キスト記憶部に格納しておき,その命令についての中間
テキスト終了時に,順次,作業用テキスト記憶部から読
み込んでオブジェクト展開することにより,簡単な処理
構成で,添字評価を先に行うことができるようにしてい
る。
められた文字列操作系命令の翻訳処理にあたって,中間
テキストが添字である場合には,それを直ちにオブジェ
クト展開し,添字以外である場合には,一旦,作業用テ
キスト記憶部に格納しておき,その命令についての中間
テキスト終了時に,順次,作業用テキスト記憶部から読
み込んでオブジェクト展開することにより,簡単な処理
構成で,添字評価を先に行うことができるようにしてい
る。
本発明は,例えばCOBOLコンパイラなどの文字列操作系
命令コンパイル処理方式に関するものである。
命令コンパイル処理方式に関するものである。
計算機言語の1つであるCOBOLにおける表の扱いでは,
一意名を添字として使用することが可能である。この添
字評価時期については,COBOLの標準規格により,各命令
単位に決定されている。命令の中で添字付けされたデー
タが記述された時点と,添字評価時期が異なる場合に
も,簡単に統一的に,予め定められた位置において,添
字のオブジェクトを展開することが必要とされる。
一意名を添字として使用することが可能である。この添
字評価時期については,COBOLの標準規格により,各命令
単位に決定されている。命令の中で添字付けされたデー
タが記述された時点と,添字評価時期が異なる場合に
も,簡単に統一的に,予め定められた位置において,添
字のオブジェクトを展開することが必要とされる。
第5図は従来方式の問題点説明図である。
例えば,COBOLコンパイラは,COBOL言語で記述された原始
プログラムを入力し,実行可能形式となっているプログ
ラム(以下,オブジェクトモジュールという)に翻訳す
る処理を行う。このコンパイラは,構文解析フェーズと
コード生成フェーズとからなり,2つのフェーズ間には,
中間テキストと呼ばれる特殊コードが介在する。
プログラムを入力し,実行可能形式となっているプログ
ラム(以下,オブジェクトモジュールという)に翻訳す
る処理を行う。このコンパイラは,構文解析フェーズと
コード生成フェーズとからなり,2つのフェーズ間には,
中間テキストと呼ばれる特殊コードが介在する。
ところで,COBOL原始プログラムには,「表操作」という
データの扱いがある。1つのデータ形式を複数個集め
て,1つのデータとして扱うもので,各々の要素を参照す
るために,指標付けまたは添字付けを行う。通常,COBOL
の各命令において,指標や添字は,そのデータが記述さ
れた時点で評価すればよいので,構文解析フェーズは,
指標や添字が出現したタイミングで,添字評価用の中間
テキストを出力し,コード生成フェーズも,添字評価用
の中間テキストを読み込んだときに,そのオブジェクト
を展開するという処理を行う。
データの扱いがある。1つのデータ形式を複数個集め
て,1つのデータとして扱うもので,各々の要素を参照す
るために,指標付けまたは添字付けを行う。通常,COBOL
の各命令において,指標や添字は,そのデータが記述さ
れた時点で評価すればよいので,構文解析フェーズは,
指標や添字が出現したタイミングで,添字評価用の中間
テキストを出力し,コード生成フェーズも,添字評価用
の中間テキストを読み込んだときに,そのオブジェクト
を展開するという処理を行う。
ところが,例えばANS COBOL(American National Stan
dard COBOL)1985の規格では,いわゆるINSPECT命令,ST
RING命令,UNSTRING命令などの文字列操作系の命令で,
一意名に関する添字は,命令の実行の最初に1回だけ評
価するという規格になっている。文字列操作系命令は,
複数個の中間テキストに分割され,構文解析フェーズ
は,文字列操作系命令の添字の評価時期を意識せずに中
間テキストを作成するので,前述のように中間テキスト
の読み込み順に,オブジェクトを展開した場合,上記文
字列操作系命令の規格にそぐわないオブジェクトモジュ
ールが生成されることになる。
dard COBOL)1985の規格では,いわゆるINSPECT命令,ST
RING命令,UNSTRING命令などの文字列操作系の命令で,
一意名に関する添字は,命令の実行の最初に1回だけ評
価するという規格になっている。文字列操作系命令は,
複数個の中間テキストに分割され,構文解析フェーズ
は,文字列操作系命令の添字の評価時期を意識せずに中
間テキストを作成するので,前述のように中間テキスト
の読み込み順に,オブジェクトを展開した場合,上記文
字列操作系命令の規格にそぐわないオブジェクトモジュ
ールが生成されることになる。
これを第5図に従って,さらに詳細に説明する。
例えば,第5図(イ)に示す命令について,構文解析フ
ェーズでは,命令単位の添字評価時期を意識せずに,第
5図(ロ)に示すような複数個の中間テキストを作成す
る。従って,コード生成フェーズでは,命令によって規
定されている添字評価時期を考慮してオブジェクト展開
をする必要がある。
ェーズでは,命令単位の添字評価時期を意識せずに,第
5図(ロ)に示すような複数個の中間テキストを作成す
る。従って,コード生成フェーズでは,命令によって規
定されている添字評価時期を考慮してオブジェクト展開
をする必要がある。
即ち,例えば,第5図(イ)に示す命令において,図示
(a)のデータに作用の結果が転記された後,図示
(b)のデータに作用の結果が転記される命令があると
する。(a)のデータに作用の結果が転記されると,当
然,AやBの値が変更されるので,(b)のデータに作用
結果を転記する場合,変更前の値を添字の値として使用
するか,変更後の値を使用するかで,結果が大きく変わ
ってくるからである。
(a)のデータに作用の結果が転記された後,図示
(b)のデータに作用の結果が転記される命令があると
する。(a)のデータに作用の結果が転記されると,当
然,AやBの値が変更されるので,(b)のデータに作用
結果を転記する場合,変更前の値を添字の値として使用
するか,変更後の値を使用するかで,結果が大きく変わ
ってくるからである。
しかし,従来方式によれば,コード生成フェーズは,中
間テキストの入力,各命令のオブジェクト展開,添字評
価に関するオブジェクト展開などのサブルーチン化され
た処理部によって構成され,通常,添字に関する中間テ
キストが現れた時点で,添字評価に関するオブジェクト
展開のための処理部を呼び出し,その他の場合には,各
命令単位のオブジェクト展開処理部を呼び出すので,オ
ブジェクト展開順序が,第5図(ロ)に示すように,中
間テキストの並びの順番になる。従って,前述の文字列
操作系命令のように,添字と評価時期が命令の実行の最
初に1回だけとなっているものについては、上記各処理
部を無条件に呼び出すと,規格にそぐわないオブジェク
トが生成されることになる。
間テキストの入力,各命令のオブジェクト展開,添字評
価に関するオブジェクト展開などのサブルーチン化され
た処理部によって構成され,通常,添字に関する中間テ
キストが現れた時点で,添字評価に関するオブジェクト
展開のための処理部を呼び出し,その他の場合には,各
命令単位のオブジェクト展開処理部を呼び出すので,オ
ブジェクト展開順序が,第5図(ロ)に示すように,中
間テキストの並びの順番になる。従って,前述の文字列
操作系命令のように,添字と評価時期が命令の実行の最
初に1回だけとなっているものについては、上記各処理
部を無条件に呼び出すと,規格にそぐわないオブジェク
トが生成されることになる。
上記問題を解決するための手段として,最初に考えられ
るのは,構文解析フェーズが作成する中間テキストの順
序を,命令毎の規格にあったものにすることである。し
かし,命令毎の添字評価時期を意識して中間テキストを
作成するのは,構文解析フェーズの改造が大きく,体系
的な処理が困難であるという問題がある。
るのは,構文解析フェーズが作成する中間テキストの順
序を,命令毎の規格にあったものにすることである。し
かし,命令毎の添字評価時期を意識して中間テキストを
作成するのは,構文解析フェーズの改造が大きく,体系
的な処理が困難であるという問題がある。
次に,コード生成フェーズにおいて,文字列操作系命令
が出現した場合のみを特別に意識して処理することが考
えられる。この場合,メインの処理部だけでなく,添字
評価に関するオブジェクト展開のための処理部も,特別
に文字列操作系命令を意識しなければならないし,その
他の命令では,メインの処理部が中間テキスト入力およ
び添字評価に関するオブジェクト展開の処理をしてか
ら,命令別の処理部を呼び出すのに対して,文字列操作
系命令においては,その処理部が中間テキストの入力か
ら添字評価に関するオブジェクト展開までの機能も網羅
しなければならなくなり,処理負担が極めて大きいとい
う問題が発生する。
が出現した場合のみを特別に意識して処理することが考
えられる。この場合,メインの処理部だけでなく,添字
評価に関するオブジェクト展開のための処理部も,特別
に文字列操作系命令を意識しなければならないし,その
他の命令では,メインの処理部が中間テキスト入力およ
び添字評価に関するオブジェクト展開の処理をしてか
ら,命令別の処理部を呼び出すのに対して,文字列操作
系命令においては,その処理部が中間テキストの入力か
ら添字評価に関するオブジェクト展開までの機能も網羅
しなければならなくなり,処理負担が極めて大きいとい
う問題が発生する。
本発明は上記問題点の解決を図り,命令の中で添字付け
されたデータが記述された時点と,添字評価時期が異な
る場合にも,簡単な処理構成で,統一的にオブジェクト
展開を行う手段を提供することを目的としている。
されたデータが記述された時点と,添字評価時期が異な
る場合にも,簡単な処理構成で,統一的にオブジェクト
展開を行う手段を提供することを目的としている。
第1図は本発明の原理ブロック図を示す。
第1図において,10は高級計算機言語で記述された原始
プログラム,11はCPUおよびメモリなどからなる処理装
置,12は原始プログラム10を機械語コードに翻訳するコ
ンパイラ,13は構文分析フェーズ,14は中間テキスト,15
は中間テキストからオブジェクトのコードを生成するコ
ード生成フェーズ,16は表操作等に用いられる添字を判
定する添字判定部,17は添字のオブジェクトを展開する
添字オブジェクト展開処理部,18は文字列操作系命令の
オブジェクトを展開する文字列操作系命令オブジェクト
展開処理部,19は一般の各命令について命令単位でオブ
ジェクトを展開する他の命令オブジェクト展開処理部,2
0は作業用メモリや外部記憶装置等の作業用テキスト記
憶部,21は1つの命令の終了を判定する命令終了判定部,
22は中間テキストを作業用テキスト記憶部に書き出す中
間テキスト書き出し部,23は作業用テキスト記憶部20か
ら読み込んでオブジェクト展開を行うオブジェクト展開
部,24は翻訳結果であるオブジェクトのコードが格納さ
れるオブジェクトモジュールを表す。
プログラム,11はCPUおよびメモリなどからなる処理装
置,12は原始プログラム10を機械語コードに翻訳するコ
ンパイラ,13は構文分析フェーズ,14は中間テキスト,15
は中間テキストからオブジェクトのコードを生成するコ
ード生成フェーズ,16は表操作等に用いられる添字を判
定する添字判定部,17は添字のオブジェクトを展開する
添字オブジェクト展開処理部,18は文字列操作系命令の
オブジェクトを展開する文字列操作系命令オブジェクト
展開処理部,19は一般の各命令について命令単位でオブ
ジェクトを展開する他の命令オブジェクト展開処理部,2
0は作業用メモリや外部記憶装置等の作業用テキスト記
憶部,21は1つの命令の終了を判定する命令終了判定部,
22は中間テキストを作業用テキスト記憶部に書き出す中
間テキスト書き出し部,23は作業用テキスト記憶部20か
ら読み込んでオブジェクト展開を行うオブジェクト展開
部,24は翻訳結果であるオブジェクトのコードが格納さ
れるオブジェクトモジュールを表す。
本発明では,文字列操作系命令に現れる添字について,
命令の最初に1回だけ評価することを実現するため,次
のような処理が行われる。
命令の最初に1回だけ評価することを実現するため,次
のような処理が行われる。
構文解析フェーズ13は,原始プログラム10を読み込ん
で,文法上のエラーチェック等を行いながら,解析結果
を内部コードである中間テキスト14として出力する。こ
の処理は,従来と同様である。
で,文法上のエラーチェック等を行いながら,解析結果
を内部コードである中間テキスト14として出力する。こ
の処理は,従来と同様である。
コード生成フェーズ15は,中間テキスト14を読み込んで
オブジェクトモジュール24を出力する。この際,読み込
んだ中間テキスト14が,添字に関するものであれば,添
字判定部16による判定によって,添字オブジェクト展開
処理部17が起動され,添字オブジェクト展開処理部17
は,添字を評価する機械語コードをオブジェクトモジュ
ール24に出力する。添字以外の場合には,各命令単位の
オブジェクト展開を行うサブルーチンによって構成され
る命令オブジェクト展開処理部が呼び出されるが,特に
文字列操作系命令に関するものである場合には,文字列
操作系命令オブジェクト展開処理部18が呼び出される。
オブジェクトモジュール24を出力する。この際,読み込
んだ中間テキスト14が,添字に関するものであれば,添
字判定部16による判定によって,添字オブジェクト展開
処理部17が起動され,添字オブジェクト展開処理部17
は,添字を評価する機械語コードをオブジェクトモジュ
ール24に出力する。添字以外の場合には,各命令単位の
オブジェクト展開を行うサブルーチンによって構成され
る命令オブジェクト展開処理部が呼び出されるが,特に
文字列操作系命令に関するものである場合には,文字列
操作系命令オブジェクト展開処理部18が呼び出される。
文字列操作系命令オブジェクト展開処理部18は,命令終
了判定部21によって,文字列操作系命令の終了が判定さ
れるまで,中間テキスト書き出し部22を呼び出し,中間
テキスト14と順次作業用テキスト記憶部20に出力する。
作業用テキスト記憶部20には,添字に関するもの以外の
中間テキストが一時的に格納されることになる。命令終
了判定部21によって,命令の終了が検出されると,オブ
ジェクト展開部23が呼び出され,オブジェクト展開部23
は,作業用テキスト記憶部20から順次中間テキストを読
み込んで,それをオブジェクトに展開し,オブジェクト
モジュール24に出力する。
了判定部21によって,文字列操作系命令の終了が判定さ
れるまで,中間テキスト書き出し部22を呼び出し,中間
テキスト14と順次作業用テキスト記憶部20に出力する。
作業用テキスト記憶部20には,添字に関するもの以外の
中間テキストが一時的に格納されることになる。命令終
了判定部21によって,命令の終了が検出されると,オブ
ジェクト展開部23が呼び出され,オブジェクト展開部23
は,作業用テキスト記憶部20から順次中間テキストを読
み込んで,それをオブジェクトに展開し,オブジェクト
モジュール24に出力する。
本発明によれば,添字の評価時期が中間テキスト14の並
びの順でいいものについては,従来と同様に順番にオブ
ジェクト展開がなされる。例えば,ANS COBOL 1985の
規格における文字列操作系命令のように,添字評価時期
が命令の最初でなければならないものについては,添字
が出現したときに,添字オブジェクト展開処理部17によ
って,直ちにオブジェクトモジュール24への出力が行わ
れるが,それ以外の文字列操作系命令の途中の中間テキ
ストは,作業用テキスト記憶部20に書き出され,文字列
操作系命令の中間テキストが終了したときに,改めて,
作業用テキスト記憶部20からの読み込みによって,オブ
ジェクト展開がなされる。従って,従来の処理構成を大
幅に変更することなく,添字評価時期を中間テキストの
並びにかかからず,命令の最初とすることができる。
びの順でいいものについては,従来と同様に順番にオブ
ジェクト展開がなされる。例えば,ANS COBOL 1985の
規格における文字列操作系命令のように,添字評価時期
が命令の最初でなければならないものについては,添字
が出現したときに,添字オブジェクト展開処理部17によ
って,直ちにオブジェクトモジュール24への出力が行わ
れるが,それ以外の文字列操作系命令の途中の中間テキ
ストは,作業用テキスト記憶部20に書き出され,文字列
操作系命令の中間テキストが終了したときに,改めて,
作業用テキスト記憶部20からの読み込みによって,オブ
ジェクト展開がなされる。従って,従来の処理構成を大
幅に変更することなく,添字評価時期を中間テキストの
並びにかかからず,命令の最初とすることができる。
第2図は本発明の一実施例に係るコード生成フェーズ処
理説明図,第3図は本発明の一実施例に係る文字列操作
系命令オブジェクト展開処理説明図,第4図は本発明の
一実施例説明図である。
理説明図,第3図は本発明の一実施例に係る文字列操作
系命令オブジェクト展開処理説明図,第4図は本発明の
一実施例説明図である。
第1図に示すコード生成フェーズ15の処理概要は,例え
ば第2図に示すようになっている。以下の説明における
番号〜は,第2図に示す処理に対応する。
ば第2図に示すようになっている。以下の説明における
番号〜は,第2図に示す処理に対応する。
中間テキストを1レコードずつ読む。
読むべき中間テキストがなくなった場合,処理を終
了する。
了する。
読み込んだ中間テキストのレコードが,添字に関す
るものであるか否かを判定する。添字である場合,処理
を実行し,添字でない場合,処理を実行する。
るものであるか否かを判定する。添字である場合,処理
を実行し,添字でない場合,処理を実行する。
添字を評価するオブジェクトを展開する。その後,
処理へ制御を戻して同様に処理を繰り返す。
処理へ制御を戻して同様に処理を繰り返す。
各命令単位に用意されたオブジェクト展開処理部を
呼び出し,それぞれオブジェクト展開を行う。その後,
処理へ制御を戻す。
呼び出し,それぞれオブジェクト展開を行う。その後,
処理へ制御を戻す。
第1図に示す文字列操作系命令オブジェクト展開処理部
18は,例えば第3図に示すように処理する。この処理
は,前述した第2図に示す処理の1つである。以下の
説明における番号〜は,第3図に示す処理〜に
対応する。
18は,例えば第3図に示すように処理する。この処理
は,前述した第2図に示す処理の1つである。以下の
説明における番号〜は,第3図に示す処理〜に
対応する。
中間テキストの並びが終了したか否かを判定する。
終了した場合,処理へ制御を移す。
終了した場合,処理へ制御を移す。
終了でない場合,第1図に示す作業用テキスト記憶
部20に,中間テキストのレコードをそのまま出力する。
その後,次の中間テキストを読み込むため,呼び出し元
へ制御を戻す。
部20に,中間テキストのレコードをそのまま出力する。
その後,次の中間テキストを読み込むため,呼び出し元
へ制御を戻す。
中間テキストの並びが終了した場合,上記処理で
書き出しておいた中間テキストを,作業用テキスト記憶
部20から1レコードずつ読む。
書き出しておいた中間テキストを,作業用テキスト記憶
部20から1レコードずつ読む。
作業用テキスト記憶部20におけるテキストの終了を
判定し,テキストがなくなった場合,次の命令の処理の
ために制御を呼び出し元へ戻す。
判定し,テキストがなくなった場合,次の命令の処理の
ために制御を呼び出し元へ戻す。
作業用テキスト記憶部20から読み込んだ中間テキス
トについて,文字列操作系命令のオブジェクトを展開す
る。その後,処理へ制御を戻し,同様に処理を繰り返
す。
トについて,文字列操作系命令のオブジェクトを展開す
る。その後,処理へ制御を戻し,同様に処理を繰り返
す。
次に,第4図に従って,簡単な具体例を説明する。な
お,この例は,添字評価が命令の最初でなくても,結果
的には同様になるが,添字評価の時期を命令の実行の最
初に行わなければならない例として説明する。
お,この例は,添字評価が命令の最初でなくても,結果
的には同様になるが,添字評価の時期を命令の実行の最
初に行わなければならない例として説明する。
第4図に示す原始プログラム10中の文字列操作系命令
は,いわゆるANS COBOL 1985の規格によるSTRING命令
であって,データ名がそれぞれA,B,Cのデータを係合し
て,データ名D(A)に作用結果を転記することを指示
する命令である。構文解析フェーズ13による解析によ
り,中間テキスト14が出力される。中間テキスト14にお
いて,「BEGIN」は命令の開始,「STR1」,「STR2」は
文字列操作系命令の詳細コード,「INDEX」は添字,「E
ND」は命令の終了を表す。
は,いわゆるANS COBOL 1985の規格によるSTRING命令
であって,データ名がそれぞれA,B,Cのデータを係合し
て,データ名D(A)に作用結果を転記することを指示
する命令である。構文解析フェーズ13による解析によ
り,中間テキスト14が出力される。中間テキスト14にお
いて,「BEGIN」は命令の開始,「STR1」,「STR2」は
文字列操作系命令の詳細コード,「INDEX」は添字,「E
ND」は命令の終了を表す。
コード生成フェーズ15では,中間テキスト14から順次,1
レコードずつ読み込み,(1)〜(3)および(5)の
ように,添字に関するもの以外のレコードを,作業用フ
ァイル40に書き出す。「INDEX」については,(4)の
ように,直ちに添字評価用のコードが生成され,オブジ
ェクトモジュール24に出力される。
レコードずつ読み込み,(1)〜(3)および(5)の
ように,添字に関するもの以外のレコードを,作業用フ
ァイル40に書き出す。「INDEX」については,(4)の
ように,直ちに添字評価用のコードが生成され,オブジ
ェクトモジュール24に出力される。
「END」により命令の終了が検出されると,(6)のよ
うに,作業用ファイル40から中間テキストを1レコード
ずつ読み込み,オブジェクト展開をして,結果をオブジ
ェクトモジュール24に出力する。
うに,作業用ファイル40から中間テキストを1レコード
ずつ読み込み,オブジェクト展開をして,結果をオブジ
ェクトモジュール24に出力する。
なお,文字列操作系命令として,STRING命令以外に,文
字列を分解するUNSTRING命令や,文字列の置換,文字数
のカウント等を行うINSPECT命令についても,同様に添
字評価を命令の最初に行う。
字列を分解するUNSTRING命令や,文字列の置換,文字数
のカウント等を行うINSPECT命令についても,同様に添
字評価を命令の最初に行う。
以上説明したように,本発明によれば,命令の中で添字
付けされたデータが記述された時点と,添字評価時期が
異なる場合にも,簡単な処理構成で,統一的にオブジェ
クト展開を行うことが可能になる。
付けされたデータが記述された時点と,添字評価時期が
異なる場合にも,簡単な処理構成で,統一的にオブジェ
クト展開を行うことが可能になる。
第1図は本発明の原理ブロック図,第2図は本発明の一
実施例に係るコード生成フェーズ処理説明図,第3図は
本発明の一実施例に係る文字列操作系命令オブジェクト
展開処理説明図,第4図は本発明の一実施例説明図,第
5図は従来方式の問題点説明図である。 図中,10は原始プログラム,11は処理装置,12はコンパイ
ラ,13は構文解析フェーズ,14は中間テキスト,15はコー
ド生成フェーズ,16は添字判定部,17は添字オブジェクト
展開処理部,18は文字列操作系命令オブジェクト展開処
理部,19は他の命令オブジェクト展開処理部,20は作業用
テキスト記憶部,21は命令終了判定部,22は中間テキスト
書き出し部,23はオブジェクト展開部,24はオブジェクト
モジュールを表す。
実施例に係るコード生成フェーズ処理説明図,第3図は
本発明の一実施例に係る文字列操作系命令オブジェクト
展開処理説明図,第4図は本発明の一実施例説明図,第
5図は従来方式の問題点説明図である。 図中,10は原始プログラム,11は処理装置,12はコンパイ
ラ,13は構文解析フェーズ,14は中間テキスト,15はコー
ド生成フェーズ,16は添字判定部,17は添字オブジェクト
展開処理部,18は文字列操作系命令オブジェクト展開処
理部,19は他の命令オブジェクト展開処理部,20は作業用
テキスト記憶部,21は命令終了判定部,22は中間テキスト
書き出し部,23はオブジェクト展開部,24はオブジェクト
モジュールを表す。
Claims (1)
- 【請求項1】添字評価を命令の実行の最初に行うように
規定された文字列操作系命令の仕様を有する原始プログ
ラムのコンパイル処理方式であって,構文解析フェーズ
により生成された中間テキストを,コード生成フェーズ
においてオブジェクトに展開するコンパイル処理方式に
おいて, 上記中間テキストが一時的に格納される作業用テキスト
記憶部(20)と, 上記コード生成フェーズにおける中間テキストの読み込
み時に,読み込んだ中間テキストが添字に関するもので
あるか否かを判定する添字判定手段(16)と, 読み込んだ中間テキストが添字である場合に,添字に関
するオブジェクト展開を行う添字オブジェクト展開処理
手段(17)と, 読み込んだ中間テキストが添字以外の上記文字列操作系
命令に関するものである場合に,その命令に関する中間
テキストの並びが終了するまで,その読み込んだ中間テ
キストを上記作業用テキスト記憶部に書き出すと共に,
その命令に関する中間テキストの並びが終了した場合
に,上記作業用テキスト記憶部から中間テキストを順次
読み込み,文字列操作系命令に関するオブジェクト展開
を行う文字列操作系命令オブジェクト展開処理手段(1
8)とを備えたことを特徴とする文字列操作系命令コン
パイル処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10396887A JPH0690669B2 (ja) | 1987-04-27 | 1987-04-27 | 文字列操作系命令コンパイル処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10396887A JPH0690669B2 (ja) | 1987-04-27 | 1987-04-27 | 文字列操作系命令コンパイル処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63269229A JPS63269229A (ja) | 1988-11-07 |
| JPH0690669B2 true JPH0690669B2 (ja) | 1994-11-14 |
Family
ID=14368155
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10396887A Expired - Fee Related JPH0690669B2 (ja) | 1987-04-27 | 1987-04-27 | 文字列操作系命令コンパイル処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0690669B2 (ja) |
-
1987
- 1987-04-27 JP JP10396887A patent/JPH0690669B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63269229A (ja) | 1988-11-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0630066B2 (ja) | テーブル型言語翻訳方法 | |
| JPH0690669B2 (ja) | 文字列操作系命令コンパイル処理方式 | |
| JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
| JP2827724B2 (ja) | プログラムデバッグ処理方法 | |
| JP2764782B2 (ja) | Cobolプログラムのデータ構造展開方式 | |
| JPS5846439A (ja) | 計算機のプログラム編集方法 | |
| JP2000181691A (ja) | プログラム構造解析方式 | |
| JPS6367695B2 (ja) | ||
| JP2590083B2 (ja) | ソース・プログラム翻訳処理方法 | |
| KR100229567B1 (ko) | 오버레이 코딩시 좌표값과 텍스트값 생성방법 | |
| JPS59231649A (ja) | コンパイルリスト出力処理方式 | |
| JPH05143354A (ja) | テキストフアイル変換方式 | |
| JPH03186933A (ja) | 言語処理システムのシンボル処理方式 | |
| JPH04248624A (ja) | プログラム変換処理装置 | |
| JPH04270422A (ja) | プリコンパイル処理方式 | |
| JPH0334029A (ja) | 索引入出力の指定方式 | |
| JPH0358135A (ja) | 複数のオペランドを修飾するテキストの出力方法 | |
| JPH0535497A (ja) | 論理型言語の実現方式 | |
| JPH0778100A (ja) | データ変換処理装置 | |
| Hoadley et al. | A remote assembler for PDP-8 programs | |
| JPH02178845A (ja) | データベース操作言語のプリコンパイル方式 | |
| JPH07105014A (ja) | 言語処理システムのシンボル処理方式 | |
| JPH04209029A (ja) | 並列処理プログラム翻訳処理装置 | |
| JPS61206041A (ja) | プログラム言語の拡張方法 | |
| JPH0495139A (ja) | 言語処理プログラムのクロスリファレンス出力方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |