JPH0358135A - 複数のオペランドを修飾するテキストの出力方法 - Google Patents
複数のオペランドを修飾するテキストの出力方法Info
- Publication number
- JPH0358135A JPH0358135A JP19529289A JP19529289A JPH0358135A JP H0358135 A JPH0358135 A JP H0358135A JP 19529289 A JP19529289 A JP 19529289A JP 19529289 A JP19529289 A JP 19529289A JP H0358135 A JPH0358135 A JP H0358135A
- Authority
- JP
- Japan
- Prior art keywords
- text
- operand
- intermediate text
- area
- semiconductor memory
- 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
Links
- 238000000034 method Methods 0.000 title claims description 19
- 239000004065 semiconductor Substances 0.000 claims abstract description 26
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 9
- 238000005034 decoration Methods 0.000 description 6
- 239000003607 modifier Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[概要]
原始プログラムを翻訳する際における複数のオペランド
を修飾するテキストの出力方法に関し、複数のオペラン
ドに対する複数の修飾を可能とすることを目的とし、 半導体メモリ部.記憶装置及び制御装置とを有するコン
ピュータシステムにおいて、原始プログラムを中間テキ
ストに翻訳する場合に、任意の時点で原始プログラム中
の複数のオペランドを修飾する中間テキストを記憶装置
の退避領域に生成し、各オペランドの情報を、当該オペ
ランドを修飾する中間テキストの退避先アドレスと共に
半導体メモリ部に生成し、中間テキストを出力する時点
で対応する修飾のための中間テキス1・を半導体メモリ
部に記録されたテキスト退避先アドレスを基に前記記憶
装置の退避領域から読出し、記憶装置の中間テキスト領
域へ出力するように構成する。
を修飾するテキストの出力方法に関し、複数のオペラン
ドに対する複数の修飾を可能とすることを目的とし、 半導体メモリ部.記憶装置及び制御装置とを有するコン
ピュータシステムにおいて、原始プログラムを中間テキ
ストに翻訳する場合に、任意の時点で原始プログラム中
の複数のオペランドを修飾する中間テキストを記憶装置
の退避領域に生成し、各オペランドの情報を、当該オペ
ランドを修飾する中間テキストの退避先アドレスと共に
半導体メモリ部に生成し、中間テキストを出力する時点
で対応する修飾のための中間テキス1・を半導体メモリ
部に記録されたテキスト退避先アドレスを基に前記記憶
装置の退避領域から読出し、記憶装置の中間テキスト領
域へ出力するように構成する。
[産業上の利用分野]
本発明は原始プログラムを翻訳する際における複数のオ
ペランドを修飾するテキストの出力方法に関し、更に詳
しくは原始プログラムを中間テキストに翻訳する際に、
複数のオペランドを修飾するテキストを出力する方法に
関する。
ペランドを修飾するテキストの出力方法に関し、更に詳
しくは原始プログラムを中間テキストに翻訳する際に、
複数のオペランドを修飾するテキストを出力する方法に
関する。
近年の高級言語(例えばCOBOL)の文法規定の複雑
化に伴い、複数のオペランドに対する複数の修飾を可能
とすることが要求されてきている。
化に伴い、複数のオペランドに対する複数の修飾を可能
とすることが要求されてきている。
このため、修飾のための中間テキストを一時退避してお
く方法が提供されているが、より複雑な修飾を可能とす
るため、修飾のための中間テキストを任意の順序で生成
し、任意の順序で出力することが必要となる。
く方法が提供されているが、より複雑な修飾を可能とす
るため、修飾のための中間テキストを任意の順序で生成
し、任意の順序で出力することが必要となる。
[従来の技術]
例えば、以下に示すプログラムを翻訳する場合について
説明する。
説明する。
MOVE A TO B
このプログラムの意味は、「Aという領域の内容をBと
いう領域に移せ」という意味である。この場合、“MO
V E”はオペコードてあり、“A,B”がオペラン
ドである。オペランドA,Bを修飾するものはない。次
に、以下に示すプログラムについて考える。
いう領域に移せ」という意味である。この場合、“MO
V E”はオペコードてあり、“A,B”がオペラン
ドである。オペランドA,Bを修飾するものはない。次
に、以下に示すプログラムについて考える。
MOVE A(2:3) To Bこのプログラ
ムの意味は「Aという領域の2バイト目から長さ3バイ
トをBという領域に移せ」という意味である。ここで、
“(2 : 3)”はオペランドAを修飾する修飾語で
ある。これが更に複雑になると、例えば MOVE PTR−hA(IDX)(2:3)To
B という命令になる。ここで、“PTR一”はポインタで
あり、ある起点からの相対アドレスでデータの位置を示
すときの起点を指定するものである。
ムの意味は「Aという領域の2バイト目から長さ3バイ
トをBという領域に移せ」という意味である。ここで、
“(2 : 3)”はオペランドAを修飾する修飾語で
ある。これが更に複雑になると、例えば MOVE PTR−hA(IDX)(2:3)To
B という命令になる。ここで、“PTR一”はポインタで
あり、ある起点からの相対アドレスでデータの位置を示
すときの起点を指定するものである。
“(IDX)”は表の何番目の要素かを示すインデック
スである。このプログラムを翻訳する場合、翻訳プログ
ラムはプログラムの左から順に解析していき、 PTR IDX MOD という具合にオペランドAを修飾する修飾語が解析され
る。ここで、“MOD”は“(2 : 3)”を示して
おり、部分参照を示している。これがオペランドAの中
間テキストとなる。この中間テキストは、記憶装置の退
避領域に一時的に退避しておき、中間テキスト出力時に
読出して出力していた。
スである。このプログラムを翻訳する場合、翻訳プログ
ラムはプログラムの左から順に解析していき、 PTR IDX MOD という具合にオペランドAを修飾する修飾語が解析され
る。ここで、“MOD”は“(2 : 3)”を示して
おり、部分参照を示している。これがオペランドAの中
間テキストとなる。この中間テキストは、記憶装置の退
避領域に一時的に退避しておき、中間テキスト出力時に
読出して出力していた。
[発明が解決しようとする課題]
従来方式の場合、例えば上述したプログラムにおいて、
PTR 4A (IDX)(X (IDX): 3)と
いう具合に、修飾のためのテキスト中のオペランドを更
に更に修飾するようなプログラムの場合、解析順序と出
力順序が異なるため、正しい位置に中間テキストを出力
することができなかった。従って、修飾する中間テキス
トに更に他のオペランドが含まれる場合等、正しい順序
で中間テキストを出力することができず、複雑な修飾を
処理することができないという問題があった。
いう具合に、修飾のためのテキスト中のオペランドを更
に更に修飾するようなプログラムの場合、解析順序と出
力順序が異なるため、正しい位置に中間テキストを出力
することができなかった。従って、修飾する中間テキス
トに更に他のオペランドが含まれる場合等、正しい順序
で中間テキストを出力することができず、複雑な修飾を
処理することができないという問題があった。
本発明はこのような課題に鑑みてなされたものであって
、高級言語の複雑な文法規定に対応し、複数のオペラン
ドに対する複数の修飾を可能とするテキストの出力方法
を提供することを目的としている。
、高級言語の複雑な文法規定に対応し、複数のオペラン
ドに対する複数の修飾を可能とするテキストの出力方法
を提供することを目的としている。
[課題を解決するための手段]
第1図は本発明方法の原理を示すフローチャートである
。本発明は、 半導体メモリ部,記憶装置及び制御装置とを有するコン
ピュータシステムにおいて、原始プログラムを中間テキ
ストに翻訳する場合に、(モ意の時点で原始プログラム
中の複数のオペランドを修飾する中間テキストを記憶装
置の退避領域に生成し(ステップ1)、 各オペランドの情報を、当該オペランドを修飾する中間
テキストの退避先アドレスと共に半導体メモリ部に生成
し(ステップ2)、 中間テキストを出力する時点で対応する修飾のための中
間テキストを半導体メモリ部に記録されたテキスト退避
先アドレスを基に前記記憶装置の退避領域から読出し、
記憶装置の中間テキスト領域へ出力する(ステップ3)
ようにしたことを特徴としている。
。本発明は、 半導体メモリ部,記憶装置及び制御装置とを有するコン
ピュータシステムにおいて、原始プログラムを中間テキ
ストに翻訳する場合に、(モ意の時点で原始プログラム
中の複数のオペランドを修飾する中間テキストを記憶装
置の退避領域に生成し(ステップ1)、 各オペランドの情報を、当該オペランドを修飾する中間
テキストの退避先アドレスと共に半導体メモリ部に生成
し(ステップ2)、 中間テキストを出力する時点で対応する修飾のための中
間テキストを半導体メモリ部に記録されたテキスト退避
先アドレスを基に前記記憶装置の退避領域から読出し、
記憶装置の中間テキスト領域へ出力する(ステップ3)
ようにしたことを特徴としている。
[作用]
半導体メモリ部に格納されるオペランド情報のなかに、
退避領域に退避される中間テキストの番地情報を書込ん
でおく。このような構或とすることにより、退避領域の
参照が速やかに行え、高級言語の複雑な文法規定に対応
し、複数のオペランドに対する複数の修飾を可能とする
テキストの出力方法を提供することができる。
退避領域に退避される中間テキストの番地情報を書込ん
でおく。このような構或とすることにより、退避領域の
参照が速やかに行え、高級言語の複雑な文法規定に対応
し、複数のオペランドに対する複数の修飾を可能とする
テキストの出力方法を提供することができる。
[実施例]
以下、図面を参照して本発明の実施例を詳細に説明する
。
。
第2図は本発明方法を実施するブロックの構成例を示す
図である。図において、1は制御装置、2はバス、3は
バス2を介して制御装置1と接続される半導体メモリ部
、4はバス2を介して制御装置1と接続される記憶装置
である。記憶装置4には、オペランドを修飾する中間テ
キストを格納する退避領域4aと、中間テキストを格納
する中間テキスト領域4bとが含まれる。
図である。図において、1は制御装置、2はバス、3は
バス2を介して制御装置1と接続される半導体メモリ部
、4はバス2を介して制御装置1と接続される記憶装置
である。記憶装置4には、オペランドを修飾する中間テ
キストを格納する退避領域4aと、中間テキストを格納
する中間テキスト領域4bとが含まれる。
このように構成されたシステムにおいて、制御装置1は
原始プログラムを1ラインずつ取込んで翻訳のための解
析を行う。解析の結果、任意の時点で原始プログラム中
の複数のオペランドを修飾する中間テキストを記憶装置
4の退避領域4aに書込む。
原始プログラムを1ラインずつ取込んで翻訳のための解
析を行う。解析の結果、任意の時点で原始プログラム中
の複数のオペランドを修飾する中間テキストを記憶装置
4の退避領域4aに書込む。
次に、各オペランドの情報を、当該オペランドを修飾す
る中間テキストの退避先アドレスと共に、半導体メモリ
部3に書込む。そして、中間テスキトを記憶装置4の中
間テキスト領域4bに書込む。
る中間テキストの退避先アドレスと共に、半導体メモリ
部3に書込む。そして、中間テスキトを記憶装置4の中
間テキスト領域4bに書込む。
この時に、半導体メモリ部3に書込まれているテキスト
退避先アドレスを基に退避領域4aをアクセスし、アク
セスした番地に格納されている中間テキストを読出し、
中間テキスト領域4bに書込む。
退避先アドレスを基に退避領域4aをアクセスし、アク
セスした番地に格納されている中間テキストを読出し、
中間テキスト領域4bに書込む。
このようなシステムを用いて、第3図に示すようなプロ
グラムを翻訳する場合について考える。
グラムを翻訳する場合について考える。
同図に示すプログラムはオペランド2とオペランド3を
加算したものをオペランド1とするプログラムを示して
いる。オペランド2には修飾1としてオペランド4が修
飾し、同じく修飾3としてオペランド6が修飾している
。オペランド4には修飾2としてオペランド5が修飾す
る複雑な構造となっている。一方、オペランド3には、
修飾4としてオペランド7が修飾している。
加算したものをオペランド1とするプログラムを示して
いる。オペランド2には修飾1としてオペランド4が修
飾し、同じく修飾3としてオペランド6が修飾している
。オペランド4には修飾2としてオペランド5が修飾す
る複雑な構造となっている。一方、オペランド3には、
修飾4としてオペランド7が修飾している。
このようなプログラムを翻訳するに際し、制御装置1は
左から順に解析していく。第4図は本発明方法の動作説
明図である。制御装置1は、先ず第3図に示すプログラ
ムを左から順に解析していく。解析の結果、第4図に示
すように、半導体メモリ部3にはオペランド情報が、オ
ペランド1,オペランド2・・・というように書込まれ
ていく (生成されていく)。図中のO中の数字は、解
析・生或の順序を示している。
左から順に解析していく。第4図は本発明方法の動作説
明図である。制御装置1は、先ず第3図に示すプログラ
ムを左から順に解析していく。解析の結果、第4図に示
すように、半導体メモリ部3にはオペランド情報が、オ
ペランド1,オペランド2・・・というように書込まれ
ていく (生成されていく)。図中のO中の数字は、解
析・生或の順序を示している。
解析していく過程において、オペランドを修飾するオペ
ランドが出てきたら、オペランドを修飾する中間テキス
トとして退避領域4aに書込む(生或する)。例えば、
第3図の場合、オペランド2はオペランド4により修飾
され、オペランド4は更にオペランド5により修飾され
ている。そこで、制御装置1は、退避領域4aに先ず修
飾1のテキストとしてオペランド4を書込む(生成する
)。次に、半導体メモリ部3のオペランド2の情報を格
納する部分の修飾1のところに、修飾1のためのテキス
トの退避領域アドレスを書込む(生或する)。
ランドが出てきたら、オペランドを修飾する中間テキス
トとして退避領域4aに書込む(生或する)。例えば、
第3図の場合、オペランド2はオペランド4により修飾
され、オペランド4は更にオペランド5により修飾され
ている。そこで、制御装置1は、退避領域4aに先ず修
飾1のテキストとしてオペランド4を書込む(生成する
)。次に、半導体メモリ部3のオペランド2の情報を格
納する部分の修飾1のところに、修飾1のためのテキス
トの退避領域アドレスを書込む(生或する)。
一方、オペランド2はオペランド4による修飾の他に、
修飾3としてオペランド6による修飾もある。そこで、
制御装置1は退避領域4aに先ず修飾3のテキストとし
てオペランド6を書込む。
修飾3としてオペランド6による修飾もある。そこで、
制御装置1は退避領域4aに先ず修飾3のテキストとし
てオペランド6を書込む。
その後、半導体メモリ部3のオペランド2情報を格納す
る部分の修飾3のところに、修fv5Bのためのテキス
トの退避領域アドレスを書込む。
る部分の修飾3のところに、修fv5Bのためのテキス
トの退避領域アドレスを書込む。
以下、同様のシーケンスを繰返すと、第4図に示すよう
な情報が半導体メモリ部3と退避領域4aに生或される
。この後、制御装置1は中間テキスト領域4bに、中間
テキストを書込むが、書込むに際し、半導体メモリ部3
の各オペランド部分に格納されている中間テキストの退
避先アドレスが存在していたら、当該アドレスを基に退
避領域4aをアクセスし、読出した情報を中間テキスト
として中間テキスト領域4bに書込む。中間テキスト領
域4bには、図に示すような中間テキストが生成される
。
な情報が半導体メモリ部3と退避領域4aに生或される
。この後、制御装置1は中間テキスト領域4bに、中間
テキストを書込むが、書込むに際し、半導体メモリ部3
の各オペランド部分に格納されている中間テキストの退
避先アドレスが存在していたら、当該アドレスを基に退
避領域4aをアクセスし、読出した情報を中間テキスト
として中間テキスト領域4bに書込む。中間テキスト領
域4bには、図に示すような中間テキストが生成される
。
このようにして、本発明によれば、オペランド修飾のた
めのテキストを退避する領域を設け、その退避先のアド
レスを半導体メモリ部3の各オペランド情報の一部とし
て書込んでおくことにより、複数のオペランドに対する
複数の修飾が可能となる。
めのテキストを退避する領域を設け、その退避先のアド
レスを半導体メモリ部3の各オペランド情報の一部とし
て書込んでおくことにより、複数のオペランドに対する
複数の修飾が可能となる。
次に、具体的なプログラムに本発明方法を適用してみる
。第5図はCOBOLの具体的なプログラム例を示す図
である。第6図はその具体的動作説明図である。このプ
ログラムを解析すると、半導体メモリ部3には、図に示
すようにオペランドに関する情報が生成され、対応して
オペランドを修飾する中間テキストの内容は、退避領域
4aに図に示すように生戊される。図中Oでしめされた
数字は解析の順序を示している。このようにして、半導
体メモリ部3と退避領域4bにそれぞれ情報が生成され
た後、中間テキスト領域4bに図に示されるように中間
テキストが生成される。なお、第5図に示すプログラム
のうち、0でくくられた部分は部分参照領域であるので
、退避領域4aには、図に示すように部分参照C,Eと
して書込奉れる。
。第5図はCOBOLの具体的なプログラム例を示す図
である。第6図はその具体的動作説明図である。このプ
ログラムを解析すると、半導体メモリ部3には、図に示
すようにオペランドに関する情報が生成され、対応して
オペランドを修飾する中間テキストの内容は、退避領域
4aに図に示すように生戊される。図中Oでしめされた
数字は解析の順序を示している。このようにして、半導
体メモリ部3と退避領域4bにそれぞれ情報が生成され
た後、中間テキスト領域4bに図に示されるように中間
テキストが生成される。なお、第5図に示すプログラム
のうち、0でくくられた部分は部分参照領域であるので
、退避領域4aには、図に示すように部分参照C,Eと
して書込奉れる。
上述の説明では、修飾のための退避領域を記憶装置上に
設けた場合を示したが、本発明はとれに限るものではな
く、半導体メモリ部3上に設けてもよい。この場合、同
時に退避する修飾のためのテキストの容量は制限される
が、処理速度が向上する。また、実際のプログラムもC
OBOLに限るものではなく、その他の種類のプログラ
ムにも同様に適用することができる。
設けた場合を示したが、本発明はとれに限るものではな
く、半導体メモリ部3上に設けてもよい。この場合、同
時に退避する修飾のためのテキストの容量は制限される
が、処理速度が向上する。また、実際のプログラムもC
OBOLに限るものではなく、その他の種類のプログラ
ムにも同様に適用することができる。
[発明の効果]
以上、詳細に説明したように、本発明によれば半導体メ
モリ部に格納されるオペランド情報のなかに、退避領域
に退避される中間テキストの番地情報を書込んでおこと
により、退避領域の参照が速やかに行え、高級言語の複
雑な文法規定に対応し、複数のオペランドに対する複数
の修飾を可能とするテキストの出力方法を提供すること
ができる。
モリ部に格納されるオペランド情報のなかに、退避領域
に退避される中間テキストの番地情報を書込んでおこと
により、退避領域の参照が速やかに行え、高級言語の複
雑な文法規定に対応し、複数のオペランドに対する複数
の修飾を可能とするテキストの出力方法を提供すること
ができる。
第1図は本発明方法の原理を示すフローチャート、
第2図は本発明方法を実施するブロックの構或例を示す
図、 第3図はプログラムの例を示す図、 第4図は本発明方法の動作説明図、 第5図はCOBOLのプログラム例を示す図、第6図は
本発明方法の具体的動作説明図である。 第2図において、 1は制御装置、 2はバス、 3は半導体メモリ部、 4は記憶装置、 4aは退避領域、 4bは中間テキスト領域である。
図、 第3図はプログラムの例を示す図、 第4図は本発明方法の動作説明図、 第5図はCOBOLのプログラム例を示す図、第6図は
本発明方法の具体的動作説明図である。 第2図において、 1は制御装置、 2はバス、 3は半導体メモリ部、 4は記憶装置、 4aは退避領域、 4bは中間テキスト領域である。
Claims (1)
- 【特許請求の範囲】 半導体メモリ部、記憶装置及び制御装置とを有するコン
ピュータシステムにおいて、原始プログラムを中間テキ
ストに翻訳する場合に、任意の時点で原始プログラム中
の複数のオペランドを修飾する中間テキストを記憶装置
の退避領域に生成し(ステップ1)、 各オペランドの情報を、当該オペランドを修飾する中間
テキストの退避先アドレスと共に半導体メモリ部に生成
し(ステップ2)、 中間テキストを出力する時点で対応する修飾のための中
間テキストを半導体メモリ部に記録されたテキスト退避
先アドレスを基に前記記憶装置の退避領域から読出し、
記憶装置の中間テキスト領域へ出力する(ステップ3)
ようにしたことを特徴とする複数のオペランドを修飾す
るテキストの出力方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19529289A JPH0358135A (ja) | 1989-07-26 | 1989-07-26 | 複数のオペランドを修飾するテキストの出力方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19529289A JPH0358135A (ja) | 1989-07-26 | 1989-07-26 | 複数のオペランドを修飾するテキストの出力方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0358135A true JPH0358135A (ja) | 1991-03-13 |
Family
ID=16338730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19529289A Pending JPH0358135A (ja) | 1989-07-26 | 1989-07-26 | 複数のオペランドを修飾するテキストの出力方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0358135A (ja) |
-
1989
- 1989-07-26 JP JP19529289A patent/JPH0358135A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956510A (en) | Apparatus and method for revising computer program code | |
JPS6091450A (ja) | テ−ブル型言語翻訳器 | |
JPH0358135A (ja) | 複数のオペランドを修飾するテキストの出力方法 | |
JPH0512034A (ja) | 機械で読取り可能な情報の翻訳を可能にする方法 | |
JPS6351292B2 (ja) | ||
JP2570407B2 (ja) | プログラマブル・コントローラ | |
JP2721377B2 (ja) | Basicプログラム圧縮方法 | |
JPS59231649A (ja) | コンパイルリスト出力処理方式 | |
JPH03186933A (ja) | 言語処理システムのシンボル処理方式 | |
JPS5894041A (ja) | 高級言語のデバツク支援装置 | |
JPS58168153A (ja) | デ−タ処理システム | |
JPH02281334A (ja) | テキストファイル自動生成方式 | |
JPH0690669B2 (ja) | 文字列操作系命令コンパイル処理方式 | |
JP2806535B2 (ja) | マイクロコンピュータ開発支援装置 | |
JP3428253B2 (ja) | シーケンサ | |
JPH021027A (ja) | 圧縮形式ソースプログラムのコンパイル方式 | |
JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 | |
JPH04102125A (ja) | アセンブラのシンボル処理方式 | |
JPS61206038A (ja) | コンピユ−タのプログラミング実行方法 | |
JPH04270422A (ja) | プリコンパイル処理方式 | |
JPH04365131A (ja) | ソースプログラムライブラリ管理方式 | |
JPS62282334A (ja) | オブジエクト・リストへの名標表示方式 | |
Hoadley et al. | A remote assembler for PDP-8 programs | |
JPH0512333A (ja) | 多言語サポート情報処理装置 | |
JPH0535493A (ja) | アセンブラにおける汎用逆アセンブラ処理方式 |