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
Application number
JP8414590A
Other languages
English (en)
Inventor
Tsugiichi Shibata
柴田 次一
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8414590A priority Critical patent/JPH03282826A/ja
Publication of JPH03282826A publication Critical patent/JPH03282826A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はf#報処理ンステムにおける高級言語の翻訳方
式に関し、特に、プログラムの翻訳時に並列化可能な部
分を複数のタスクに分割して並列に動作させるオブジェ
クトプログラムを生成する言語翻訳プログラムの処理方
式に関する。
〔従来の技術〕
従来、高級言語で記述されたプログラムの中で並列動作
が可能な部分を主プログラムとは異なるタスクとして動
作させるためには、タスクを分割する区間をソースプロ
グラム中にコンパイラ指示文で指示し、分割されたタス
ク間で共有する変数を共有変数として宣言し、タスク間
の同期をとるための手続きを呼出し、タスク間の同期を
とるたメツcrツク変数を定義してロック/アンロック
の手続きを呼び出すような処理を追加する必要があった
〔発明が解決しようとする課題〕
上述した従来の並列化の方法では、並列化な行うために
ソースプログラムにコンパイラの指示文を挿入し、同期
/排他の制御の手続き、ロック変数、共有変数の宣言を
追加しなければならならず、ソースプログラムをオリジ
ナルと異なるものに書き換える必要がある。
この変更によって、ソースプログラムは同一の処理を行
うものでも複数存在することKなり、さらにコンパイラ
指示文や特殊な手続きの呼び出し文によって他機種の言
語処理系への移行性が低下するという欠点がある。
〔課題を解決するための手段〕
本発明の並列化翻訳方式は、並列化指示ファイルを入力
してソースプログラム中の並列化すべき箇所および排他
/同期制御の必要な箇所を認識する並列化指示ファイル
入力部と、ソースプログラムの字句解析を行う字句解析
部と、字句解析の結果を入力して前記ソースプログラム
の意味か解析し中間コードを生成する意味解析部と、前
記並列化指示ファイル入力部が入力した情報をもとに煎
紀意味解析部が生成した中間コードに並列化情報を挿入
する並列化情報挿入部と、前記並列化情報挿入部が出力
した中間コードを入力してオブジェクト;−ドを生成す
る命令コード生成部とを含む。
〔実施例〕
次に本発明について図面を参照して詳細に説明する。
第1図は本発明の一実施例を示すブロック図である。同
図において並列化翻訳方式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を入力
して並列化の対象となる手続き、ループの文番号、ロッ
クする変数などを読み込む。
次に主制御部2は排他/同期制御情報挿入部5を呼び出
す。排他/同期制御情報挿入部5は意味解析部4および
並列化指示ファイル入力部7の情報から中間コードテー
ブル8に排他/同期制御の情報、並列化するループの情
報などを追加/挿入する。
この後、主制御部2は命令コード生成部6を呼び出す。
命令コード生成部6は排他/同期制御情報挿入部5の出
力である中間コードテーブル8を入力して並列に動作す
るオブジェクトプログラム11を生成する。
第2図は並列化指示ファイル10の内容を示す説明図で
ある。同図において並列化指示ファイル10は、並列化
指示部人、共有変数定義部B、共有変数排他宣言部Cな
どから構成される。
並列化指示部Aは並列化するループの文番号。
並列化するタスクの最下タスク数を記述する。
共有変数定義部Bはタスク間で共有する変数名を記述す
る。この変数名は命令コード生成部によってタスク間で
共有する領域にデータが割り当てられる。
共有変数排他宣言部Cは共有変数の名前を記述し、この
変数の参照および更新のステートメントの前後には排他
制御のオブジェクトコードが生成される。
〔発明の効果〕
以上説明したように本発明によれば利用者のソースプロ
グラムの内容を修正することなしに並列に動作するオブ
ジェクトコードな生成することが可能になるため、ソー
スプログラムを並列化する際にソースプログラム自体の
内容の更新を行う必要がない。したがってソースプログ
ラムを更新することによる他機種への移行性が向上し、
並列化しないソースプログラムと並列化したソースプロ
ダラムの両方を管理する必要がなくなるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
並列化指示ファイルの内容を示す説明図である。 1・・・・・・並列化翻訳方式、3・・・・・・字句解
析部、4・・・・・・意味解析部、5・・・・・・排他
/同期制御情報挿入部、6・・・・・・命令コード生成
部、7・・・・・・並列化指示ファイル入力部、8・・
・・・・中間コードテーブル、9・・・・・・ソースプ
ログラム、10・・・・・・並列化指示ファイル、11
・・・・・・オブジェクトプログラム。

Claims (1)

    【特許請求の範囲】
  1. 並列化指示ファイルを入力してソースプログラム中の並
    列化すべき箇所および排他/同期制御の必要な箇所を認
    識する並列化指示ファイル入力部と、ソースプログラム
    の字句解析を行う字句解析部と、字句解析の結果を入力
    して前記ソースプログラムの意味を解析し中間コードを
    生成する意味解析部と、前記並列化指示ファイル入力部
    が入力した情報をもとに前記意味解析部が生成した中間
    コードに並列化情報を挿入する並列化情報挿入部と、前
    記並列化情報挿入部が出力した中間コードを入力してオ
    ブジェクトコードを生成する命令コード生成部とを含む
    ことを特徴とする並列化翻訳方式。
JP8414590A 1990-03-30 1990-03-30 並列化翻訳方式 Pending JPH03282826A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012510661A (ja) * 2008-12-01 2012-05-10 ケーピーアイティ クミンズ インフォシステムズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム
JP2012530995A (ja) * 2009-06-26 2012-12-06 コードプレイ、ソフトウェア、リミテッド 処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
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) 説明書生成装置及びその方法