JPH03282826A - 並列化翻訳方式 - Google Patents
並列化翻訳方式Info
- Publication number
- JPH03282826A JPH03282826A JP8414590A JP8414590A JPH03282826A JP H03282826 A JPH03282826 A JP H03282826A JP 8414590 A JP8414590 A JP 8414590A JP 8414590 A JP8414590 A JP 8414590A JP H03282826 A JPH03282826 A JP H03282826A
- Authority
- JP
- Japan
- Prior art keywords
- source program
- parallel conversion
- section
- parallelization
- intermediate code
- 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
- 238000006243 chemical reaction Methods 0.000 title abstract 10
- 238000004458 analytical method Methods 0.000 claims abstract description 22
- 230000001360 synchronised effect Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 15
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000007717 exclusion Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はf#報処理ンステムにおける高級言語の翻訳方
式に関し、特に、プログラムの翻訳時に並列化可能な部
分を複数のタスクに分割して並列に動作させるオブジェ
クトプログラムを生成する言語翻訳プログラムの処理方
式に関する。
式に関し、特に、プログラムの翻訳時に並列化可能な部
分を複数のタスクに分割して並列に動作させるオブジェ
クトプログラムを生成する言語翻訳プログラムの処理方
式に関する。
従来、高級言語で記述されたプログラムの中で並列動作
が可能な部分を主プログラムとは異なるタスクとして動
作させるためには、タスクを分割する区間をソースプロ
グラム中にコンパイラ指示文で指示し、分割されたタス
ク間で共有する変数を共有変数として宣言し、タスク間
の同期をとるための手続きを呼出し、タスク間の同期を
とるたメツcrツク変数を定義してロック/アンロック
の手続きを呼び出すような処理を追加する必要があった
。
が可能な部分を主プログラムとは異なるタスクとして動
作させるためには、タスクを分割する区間をソースプロ
グラム中にコンパイラ指示文で指示し、分割されたタス
ク間で共有する変数を共有変数として宣言し、タスク間
の同期をとるための手続きを呼出し、タスク間の同期を
とるたメツcrツク変数を定義してロック/アンロック
の手続きを呼び出すような処理を追加する必要があった
。
上述した従来の並列化の方法では、並列化な行うために
ソースプログラムにコンパイラの指示文を挿入し、同期
/排他の制御の手続き、ロック変数、共有変数の宣言を
追加しなければならならず、ソースプログラムをオリジ
ナルと異なるものに書き換える必要がある。
ソースプログラムにコンパイラの指示文を挿入し、同期
/排他の制御の手続き、ロック変数、共有変数の宣言を
追加しなければならならず、ソースプログラムをオリジ
ナルと異なるものに書き換える必要がある。
この変更によって、ソースプログラムは同一の処理を行
うものでも複数存在することKなり、さらにコンパイラ
指示文や特殊な手続きの呼び出し文によって他機種の言
語処理系への移行性が低下するという欠点がある。
うものでも複数存在することKなり、さらにコンパイラ
指示文や特殊な手続きの呼び出し文によって他機種の言
語処理系への移行性が低下するという欠点がある。
本発明の並列化翻訳方式は、並列化指示ファイルを入力
してソースプログラム中の並列化すべき箇所および排他
/同期制御の必要な箇所を認識する並列化指示ファイル
入力部と、ソースプログラムの字句解析を行う字句解析
部と、字句解析の結果を入力して前記ソースプログラム
の意味か解析し中間コードを生成する意味解析部と、前
記並列化指示ファイル入力部が入力した情報をもとに煎
紀意味解析部が生成した中間コードに並列化情報を挿入
する並列化情報挿入部と、前記並列化情報挿入部が出力
した中間コードを入力してオブジェクト;−ドを生成す
る命令コード生成部とを含む。
してソースプログラム中の並列化すべき箇所および排他
/同期制御の必要な箇所を認識する並列化指示ファイル
入力部と、ソースプログラムの字句解析を行う字句解析
部と、字句解析の結果を入力して前記ソースプログラム
の意味か解析し中間コードを生成する意味解析部と、前
記並列化指示ファイル入力部が入力した情報をもとに煎
紀意味解析部が生成した中間コードに並列化情報を挿入
する並列化情報挿入部と、前記並列化情報挿入部が出力
した中間コードを入力してオブジェクト;−ドを生成す
る命令コード生成部とを含む。
次に本発明について図面を参照して詳細に説明する。
第1図は本発明の一実施例を示すブロック図である。同
図において並列化翻訳方式1は、主制御部29字句解析
部3.意味解析部4.排他/同期制御情報挿入部5.命
令コード生成部6.並列化指示ファイル入力部7.中間
コードテーブル8から構成されている。また、並列化翻
訳方式lはソースプログラム9および並列化指示ファイ
ル10を入力し、オブジェクトプログラム11を作成す
る。
図において並列化翻訳方式1は、主制御部29字句解析
部3.意味解析部4.排他/同期制御情報挿入部5.命
令コード生成部6.並列化指示ファイル入力部7.中間
コードテーブル8から構成されている。また、並列化翻
訳方式lはソースプログラム9および並列化指示ファイ
ル10を入力し、オブジェクトプログラム11を作成す
る。
上記の並列化翻訳方式1が呼び出されると、主制御部2
は字句解析部3を呼び出し、字句解析部3はソースプロ
グラム9を入力して高級言語で記述されたプログラムの
字句解析を行う。次に主制御部2は意味解析部4を呼び
出す。意味解析部4は字句解析の結果からソースプログ
ラムの意味を解析し、中間コードテーブル8を作成し主
制御部2へ戻る。さらに主制御部2は並列化指示ファイ
ル入力部7を呼び出し、並列化指示ファイル10を入力
して並列化の対象となる手続き、ループの文番号、ロッ
クする変数などを読み込む。
は字句解析部3を呼び出し、字句解析部3はソースプロ
グラム9を入力して高級言語で記述されたプログラムの
字句解析を行う。次に主制御部2は意味解析部4を呼び
出す。意味解析部4は字句解析の結果からソースプログ
ラムの意味を解析し、中間コードテーブル8を作成し主
制御部2へ戻る。さらに主制御部2は並列化指示ファイ
ル入力部7を呼び出し、並列化指示ファイル10を入力
して並列化の対象となる手続き、ループの文番号、ロッ
クする変数などを読み込む。
次に主制御部2は排他/同期制御情報挿入部5を呼び出
す。排他/同期制御情報挿入部5は意味解析部4および
並列化指示ファイル入力部7の情報から中間コードテー
ブル8に排他/同期制御の情報、並列化するループの情
報などを追加/挿入する。
す。排他/同期制御情報挿入部5は意味解析部4および
並列化指示ファイル入力部7の情報から中間コードテー
ブル8に排他/同期制御の情報、並列化するループの情
報などを追加/挿入する。
この後、主制御部2は命令コード生成部6を呼び出す。
命令コード生成部6は排他/同期制御情報挿入部5の出
力である中間コードテーブル8を入力して並列に動作す
るオブジェクトプログラム11を生成する。
力である中間コードテーブル8を入力して並列に動作す
るオブジェクトプログラム11を生成する。
第2図は並列化指示ファイル10の内容を示す説明図で
ある。同図において並列化指示ファイル10は、並列化
指示部人、共有変数定義部B、共有変数排他宣言部Cな
どから構成される。
ある。同図において並列化指示ファイル10は、並列化
指示部人、共有変数定義部B、共有変数排他宣言部Cな
どから構成される。
並列化指示部Aは並列化するループの文番号。
並列化するタスクの最下タスク数を記述する。
共有変数定義部Bはタスク間で共有する変数名を記述す
る。この変数名は命令コード生成部によってタスク間で
共有する領域にデータが割り当てられる。
る。この変数名は命令コード生成部によってタスク間で
共有する領域にデータが割り当てられる。
共有変数排他宣言部Cは共有変数の名前を記述し、この
変数の参照および更新のステートメントの前後には排他
制御のオブジェクトコードが生成される。
変数の参照および更新のステートメントの前後には排他
制御のオブジェクトコードが生成される。
以上説明したように本発明によれば利用者のソースプロ
グラムの内容を修正することなしに並列に動作するオブ
ジェクトコードな生成することが可能になるため、ソー
スプログラムを並列化する際にソースプログラム自体の
内容の更新を行う必要がない。したがってソースプログ
ラムを更新することによる他機種への移行性が向上し、
並列化しないソースプログラムと並列化したソースプロ
ダラムの両方を管理する必要がなくなるという効果があ
る。
グラムの内容を修正することなしに並列に動作するオブ
ジェクトコードな生成することが可能になるため、ソー
スプログラムを並列化する際にソースプログラム自体の
内容の更新を行う必要がない。したがってソースプログ
ラムを更新することによる他機種への移行性が向上し、
並列化しないソースプログラムと並列化したソースプロ
ダラムの両方を管理する必要がなくなるという効果があ
る。
第1図は本発明の一実施例を示すブロック図、第2図は
並列化指示ファイルの内容を示す説明図である。 1・・・・・・並列化翻訳方式、3・・・・・・字句解
析部、4・・・・・・意味解析部、5・・・・・・排他
/同期制御情報挿入部、6・・・・・・命令コード生成
部、7・・・・・・並列化指示ファイル入力部、8・・
・・・・中間コードテーブル、9・・・・・・ソースプ
ログラム、10・・・・・・並列化指示ファイル、11
・・・・・・オブジェクトプログラム。
並列化指示ファイルの内容を示す説明図である。 1・・・・・・並列化翻訳方式、3・・・・・・字句解
析部、4・・・・・・意味解析部、5・・・・・・排他
/同期制御情報挿入部、6・・・・・・命令コード生成
部、7・・・・・・並列化指示ファイル入力部、8・・
・・・・中間コードテーブル、9・・・・・・ソースプ
ログラム、10・・・・・・並列化指示ファイル、11
・・・・・・オブジェクトプログラム。
Claims (1)
- 並列化指示ファイルを入力してソースプログラム中の並
列化すべき箇所および排他/同期制御の必要な箇所を認
識する並列化指示ファイル入力部と、ソースプログラム
の字句解析を行う字句解析部と、字句解析の結果を入力
して前記ソースプログラムの意味を解析し中間コードを
生成する意味解析部と、前記並列化指示ファイル入力部
が入力した情報をもとに前記意味解析部が生成した中間
コードに並列化情報を挿入する並列化情報挿入部と、前
記並列化情報挿入部が出力した中間コードを入力してオ
ブジェクトコードを生成する命令コード生成部とを含む
ことを特徴とする並列化翻訳方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8414590A JPH03282826A (ja) | 1990-03-30 | 1990-03-30 | 並列化翻訳方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8414590A JPH03282826A (ja) | 1990-03-30 | 1990-03-30 | 並列化翻訳方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03282826A true JPH03282826A (ja) | 1991-12-13 |
Family
ID=13822333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8414590A Pending JPH03282826A (ja) | 1990-03-30 | 1990-03-30 | 並列化翻訳方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03282826A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012510661A (ja) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
JP2012530995A (ja) * | 2009-06-26 | 2012-12-06 | コードプレイ、ソフトウェア、リミテッド | 処理方法 |
-
1990
- 1990-03-30 JP JP8414590A patent/JPH03282826A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012510661A (ja) * | 2008-12-01 | 2012-05-10 | ケーピーアイティ クミンズ インフォシステムズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
JP2015207318A (ja) * | 2008-12-01 | 2015-11-19 | ケーピーアイティ テクノロジーズ リミテッド | 逐次コンピュータプログラムコードを並列処理する方法及びシステム |
JP2012530995A (ja) * | 2009-06-26 | 2012-12-06 | コードプレイ、ソフトウェア、リミテッド | 処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5276880A (en) | Method for parsing and representing multi-versioned computer programs, for simultaneous and synchronous processing of the plural parses | |
de Roever | The need for compositional proof systems: A survey | |
Glässer et al. | The formal semantics of SDL-2000: status and perspectives | |
JP2003233499A (ja) | 複数の意味レベルによるアスペクト指向プログラミングのための方法 | |
US20040237036A1 (en) | Methods and systems for generating supporting files for commands | |
JPH03282826A (ja) | 並列化翻訳方式 | |
Hannan et al. | Higher-order arity raising | |
KR20090011974A (ko) | 컴파일 대상 파일 추출 방법 | |
Oliveira et al. | A tactic language for refinement of state-rich concurrent specifications | |
JPH10187461A (ja) | 言語処理方式 | |
GB2420638A (en) | Method of substituting code fragments in Internal Representation | |
US6948159B2 (en) | Automatic compilation of electronic telecommunications system message generation code | |
JPH0683597A (ja) | オブジェクト指向プログラム開発装置およびオブジェクト指向プログラム開発方法 | |
JP2682206B2 (ja) | 目的プログラムの最適化方式 | |
JPH0795275B2 (ja) | コンパイル処理装置 | |
Castro | Structured arrows: a type-based framework for structured parallelism | |
Liskov et al. | Programming with Abstract Data Types (1974) | |
JPH0417028A (ja) | プログラム言語の翻訳編集方式 | |
JPH03144830A (ja) | 並列処理方式 | |
Simpson | Design and verification of IFL: a wide-spectrum intermediate functional language. | |
CN112579088A (zh) | 面向异构混合编程的一站式程序编译方法 | |
Trutmann | On component reuse in embedded systems | |
JPH0488531A (ja) | コード最適化方式 | |
Terwilliger | Reusing proofs of program correctness in ENCOMPASS | |
JPH0765011A (ja) | 説明書生成装置及びその方法 |