JPH06110701A - コンピユータ・プログラム言語変換装置及びその方法 - Google Patents

コンピユータ・プログラム言語変換装置及びその方法

Info

Publication number
JPH06110701A
JPH06110701A JP4215032A JP21503292A JPH06110701A JP H06110701 A JPH06110701 A JP H06110701A JP 4215032 A JP4215032 A JP 4215032A JP 21503292 A JP21503292 A JP 21503292A JP H06110701 A JPH06110701 A JP H06110701A
Authority
JP
Japan
Prior art keywords
conversion
language
program
conversion rule
term
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.)
Granted
Application number
JP4215032A
Other languages
English (en)
Other versions
JPH0778742B2 (ja
Inventor
Moichi Ono
茂一 小野
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP4215032A priority Critical patent/JPH0778742B2/ja
Priority to EP93306031A priority patent/EP0583117A2/en
Priority to US08/105,839 priority patent/US6219831B1/en
Publication of JPH06110701A publication Critical patent/JPH06110701A/ja
Publication of JPH0778742B2 publication Critical patent/JPH0778742B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 多くのコンピュータ・プログラム言語間のプ
ログラム変換に適用できる汎用性の高いプログラム言語
変換装置及び方法を提供すること。 【構成】 変換ルール入力手段の画面から起点言語モデ
ル文、目標言語モデル文、及び用語(変数)部分の変換
規則を入力すると、変換ルール生成手段がこの入力に基
づいて変換ルールを生成し、変換ルール・データ・ベー
スに記憶する。変換ルールは探索用キー、用語変換指示
部、及び目標言語生成プログラムからなっている。変換
ルール駆動手段により、探索用キーは変換前の起点プロ
グラムの変換に必要な変換ルールをデータ・ベースから
探索して取り出す際に用いられ、用語変換指示部は用語
変換テーブルまたは用語変換プログラムを呼び出すため
に用いられ、目標言語生成プログラムは変換後の目標プ
ログラムを生成するのに用いられる。変換ルール入力手
段、変換ルール生成手段、及び変換ルール駆動手段は変
換対象言語の起点言語と目標言語には依存しない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピユータ・プログ
ラム言語変換装置及びコンピユータ・プログラム言語変
換方法に関し、特に、特定の二つのプログラム言語間の
プログラム変換に限ることなく、多くのコンピユータ・
プログラム言語間のプログラム変換に利用可能な汎用性
の高いコンピユータ・プログラム言語変換装置及び方法
に関する。
【従来の技術】
【0002】コンピユータへ仕事の手続きを与えるプロ
グラムは、コンピユータ・プログラム言語(またはプロ
グラミング言語と呼ばれる)で書かれる。コンピユータ
・プログラム言語には多くの種類が存在する。言語の水
準から見れば機械語と呼ばれる計算機に直接依存する言
語から高級言語と呼ばれる人間の言語により近い言語が
あり、言語の用途から見れば科学計算向きのフオートラ
ン(FORTRAN)から事務処理向きのコボル(CO
BOL)言語があり、特定の研究所や企業により特定の
コンピユータ用に開発された言語もある。最近では、適
用業務に近い第4世代言語と称せられる一般ユーザ向き
の言語もある。また同じ種類の言語であってもレベルの
違いから異なった方言が存在する。あるコンピユータ・
プログラム言語、例えばフオートラン、で書かれたプロ
グラムを別のコンピユータ・プログラム言語、例えばコ
ボル、に変換しなければならない必要性がよくある。こ
れは、あるコンピユータ用の言語で書かれたプログラム
を別のコンピユータにおいて走らせたい時、その別のコ
ンピユータ用の言語にそのプログラムを書き換える必要
がある時などに生ずる。
【0003】このため、異なるコンピユータ言語間(以
下、変換前の言語を起点言語と言い、変換後の言語を目
標言語と言う。)でプログラムを変換するコンピュータ
・プログラム言語変換装置が必要とされる。ここで言う
変換とは、プログラムの形態を一の言語(起点言語)か
ら他の言語(目標言語)へ変化させることを指す。
【0004】従来から多くのコンピユータ・プログラム
言語変換装置が提案されている。従来のコンピユータ・
プログラム言語変換装置の問題点としては、異なる言語
間の変換方法が変換装置に内蔵されるプログラムに固定
されているため、変換前の起点言語のレベルが変わった
だけでも変換装置に内蔵されるプログラムを修正する必
要がある。しかも、変換装置を作成する段階で変換前の
起点言語と変換後の目標言語との相違を綿密に調査する
必要がある。さらに異なった言語間、例えばフオートラ
ンとコボル間、或は4世代言語と称せられる適用業務言
語間、での変換はそのすべての仕様が異なるためプログ
ラム言語変換装置の作成には多大の労力を必要とする。
しかも、プログラム言語変換装置の作成には変換前後の
起点言語と目標言語の両方の言語に熟知した技術者が必
要であるが、このような人材は容易には得難い。
【0005】このような問題を解決するために、従来に
おいて例えば特開平2−10434号に示されるような
プログラム言語トランスレータが提案されている。これ
は起点言語と目標言語の基本構文(命令文)を対比した
テーブルを設け、変換前のプログラムの構文を解析して
このテーブルから該当する目標言語の基本構文を選び出
すものである。この特開平2−10434号は起点言語
や目標言語を新しくする場合には、その新しい基本構文
をテーブルに記憶させるだけでよい。しかし、このテー
ブル内の基本構文はその機能を表す部分、例えばGO
TOの部分(以下、キーワードと呼ぶ)と、変数の部
分、例えば%1の部分(以下、用語と呼ぶ)とを一緒に
記憶しており、対応するテーブル内の目標言語への変換
は基本構文のキーワードと用語を一括して変換する。従
って、この従来例はキーワードと用語を一体として一括
変換するため、用語自体を独立な規則に基づいて変換す
ることができず、プログラム言語トランスレータとして
の汎用性に欠ける。
【0006】さらに、別の従来例の特開平2−1833
39号には、字句解析および構文解析を起点言語や目標
言語によらない独立なルーチンとして組み込むことによ
り、コンピユータ・プログラム言語変換装置の汎用性を
得ることが提案されている。しかし、この従来例にも命
令文の変換を機能を表すキーワード部分と変数を表す用
語部分とに分け、これらの変換を独立に行ない、より汎
用性の高いコンピユータ・プログラム言語変換装置を実
現することに関する示唆はない。
【0007】
【発明が解決しようとする課題】従って、この発明はよ
り多くのコンピユータ言語間の変換が可能な従来より汎
用性の高いコンピユータ・プログラム言語変換装置及び
方法を提供することを目的とする。この発明によれば、
コンピュータ入力画面に操作者が起点言語のモデル文か
ら目標言語のモデル文へ変換する変換モデルを入力すれ
ば、変換ルールが自動的に生成される。この際、起点言
語から目標言語への変換において、命令文中の機能を表
すキーワードと変数を表す用語とを別々の規則に従って
変換することを指示できる汎用性の高いコンピユータ・
プログラム言語変換装置及び方法を提供する。
【0008】
【課題を解決するための手段】この発明のコンピユータ
・プログラム言語変換装置は変換ルール入力手段、変換
ルール生成手段、及び変換ルール駆動手段を有する。変
換ルール入力手段は、変換前のプログラムが書かれた起
点言語の命令文をモデル化したものを起点言語の文法に
従って記述して入力する起点言語入力部、起点言語の命
令文の機能を果たす変換後の目標言語の命令文をモデル
化したものを目標言語の文法に従って記述して入力する
目標言語入力部、及び起点言語の命令文を構成する個々
の変数すなわち用語を目標言語の命令文の変数へ変換す
る規則を記述して入力する用語変換入力部、を有する。
【0009】変換ルール生成手段は、起点言語部で入力
された入力モデル文を用いて変換ルール探索用キーを生
成し、用語変換入力部で入力された規則を用いて用語変
換テーブルまたは用語変換プログラム呼び出し関数を生
成し、目標言語入力部で入力された出力モデル文を用い
て目標言語生成プログラムを生成し、これらを一組みと
した変換ルールを生成する。この変換ルールは変換ルー
ル・データ・ベース内に記憶されて蓄積される。
【0010】変換ルール駆動手段は、変換前の起点プロ
グラムが入力されると、起点プログラムを解析し、起点
言語の命令文を変換するための変換ルールを変換ルール
・データ・ベースから変換ルール探索用キーを用いて取
り出す。変換ルール駆動手段はさらに、その取り出され
た変換ルールに含まれている用語変換テーブル呼び出し
関数を用いて変換前の命令文の用語を変換後のプログラ
ムの命令文の用語に変換し、さらに、その変換ルールに
同じく含まれる目標言語生成プログラムを用いて変換後
の目標言語による命令文を生成して出力する。
【0011】
【作用】この発明によれば、変換ルール入力手段により
起点言語モデル文、目標言語モデル文、及び用語(変
数)部分の変換規則を入力し、この入力に基づいて変換
ルール生成手段が変換ルールを作成し、変換ルール・デ
ータ・ベースに蓄積することにより、プログラムの言語
変換を実行することができる。このように起点部の起点
言語によるモデル文は起点言語のプログラマは誰でも記
述でき、変換ルール入力手段によりこれを入力できる。
また、そのモデル文の機能を理解すれば目標言語のプロ
グラマはそれを目標言語のモデル文で記述でき、これを
用語部の変換規則と共に変換ルール入力手段により入力
できる。したがって、用語部分を独立に変換できる変換
ルールを命令文の変換ルールと同時に生成できる。ま
た、この変換ルールの生成は、必ずしも起点言語から目
標言語への変換に必要なもの全部を一度に生成しなくて
もよく、随時に起点プログラムの目標プログラムへの変
換時に必要な変換ルールを生成していくようにすること
ができる。従って、一定数のプログラム変換をすれば起
点言語から目標言語への変換に必要な変換ルールが変換
ルール・データ・ベースに蓄積される。
【0012】この発明によれば、変換ルール駆動手段が
起点言語で書かれたプログラムを命令毎にまたは命令群
毎に解析し、これら命令毎または命令群を変換ルール・
データ・ベースに記憶されている変換ルールの起点言語
のモデル文と照合し、一致しているものを見つけ、それ
ら命令文または命令群に対応する目標言語のモデル文を
作成するプログラムを変換ルールから取り出すことによ
り変換が実現する。この時、変換ルールから用語部分を
変換するためのテーブルまたはプログラムの呼び出し関
数も同じく取り出されて、用語変換のためのテーブルを
用いて用語変換が行われる。
【0013】この発明によれば、変換ルール入力手段、
変換ルール生成手段、及び変換ルール駆動手段は原則と
して起点言語及び目標言語の種類に依存しないものであ
る。従ってこの発明のプログラム言語変換装置は汎用性
の非常に高いものである。以下、図面を参照しながらこ
の発明を一実施例に基づいて説明する。
【0014】
【実施例】図1は、この発明の一実施例の汎用コンピユ
ータ・プログラム言語変換装置1の概略的構成を示すブ
ロック図である。変換装置1は変換ルール生成手段2を
有する。この変換ルール生成手段2には変換ルール入力
手段3が接続されていて、変換ルール入力手段3からの
入力に基づき変換ルールを生成する。生成された変換ル
ールは変換ルール・データ・ベース4に記憶されて蓄積
される。用語変換テーブル作成手段5は用語変換テーブ
ル入力手段6からの入力に基づいて用語変換テーブル7
を作成する。起点言語プログラム入力手段8は変換前の
起点プログラム80を入力して解析等の変換前の前処理
を行う。変換ルール駆動手段9は入力された起点プログ
ラムに対応した変換ルールを変換ルール・データ・ベー
ス4から探索して取り出し、その変換ルールに基づいて
目標プログラム90に変換する。また、変換ルール駆動
手段9は同じ変換ルールに基づいて用語変換テーブル7
を呼び出し、起点プログラム80と目標プログラム90
間の用語変換を行う。変換されたプログラムは目標言語
プログラム出力部10により出力されて、目標言語に変
換された目標プログラム90ができる。
【0015】次に、この変換装置1で用いられる変換ル
ールの生成を説明する。図2に示すように変換ルール生
成手段2には変換ルール入力手段3の入力画面30を提
供するユーザ・インタフエイスと、変換ルール・テキス
ト・イメージ・フアイル22と、変換ルール探索用キー
・フアイル23と、及び変換ルール・データ・ベース4
が接続されている。変換ルール駆動手段9は、起点プロ
グラム80を目標プログラム90に変換する際に、変換
ルール探索用キー・フアイル23を用いて、変換ルール
・データ・ベース4にアクセスして変換ルールを取り出
す。変換ルール生成は起点プログラム80と目標プログ
ラム90の変換前になされるが、変換中に必要な変換ル
ールを生成することもできる。これは、後で説明するよ
うに変換中に適当な変換ルールが無い場合に変換ルール
駆動手段9が変換ルール生成手段2を呼び出すことによ
り行われる。変換ルール・テキスト・イメージ・フアイ
ル22は後で説明する変換ルールの保守用に用いられ
る。
【0016】変換ルール入力手段3の画面30は初期設
定入力画面と変換ルール入力画面とを提供する。初期設
定入力画面は変換対象言語の起点言語及び目標言語の指
定などを行う。例えば、AシステムのコボルからBシス
テムのコボルへの変換、または、フオートランからコボ
ルへの変換等である。図3は変換ルール入力画面30を
示す。このコンピユータ入力画面30から、ルールを作
成する際に作成者が入力や修正または削除や変更等の指
示をすることもできる。この入力画面30は上から基点
言語入力部31、用語変換入力部32、及び目標言語入
力部33を有し、その下部には入力後の処理(変換ルー
ルの新規作成、既存のルールの修正、ルールの追加、削
除、変更、置換など)を指示するプログラム機能キー3
4の表示を有する。この画面30に付随するプログラム
機能には、入力したテキストを編集する機能をも設けて
ある。
【0017】変換ルール・テキスト・イメージ・フアイ
ル22には、変換ルール入力画面30に入力されたルー
ルをその入力形式に類似した形で記憶してある。これ
は、以後の変換ルールの保守用として画面30上に再表
示し易いようにするためである。
【0018】変換ルール探索用キー・フアイル23に
は、変換ルールの探索用キーを記憶していて、この探索
用キーは入力された変換ルールの起点言語部を、この実
施例で使用したプログラミング言語、PROLOG、で
容易に探索できるように変換したものである。この実施
例ではこの変換された起点言語部を探索用内部形式と称
している。
【0019】今、例としてフオートランの命令文の一
つ、IF文、をコボルの対応する機能を持つ命令文に変
換する変換ルールの生成を説明する。図4及び図5はこ
の実施例の変換ルール生成の手順を示す流れ図である。
図4の初期設定においては(ブロック41)、初期設定
画面上で変換対象言語つまり起点言語(フオートラン)
と目標言語(コボル)の種類を指定し、また必要に応じ
て起点言語固有の記述上の区切り文字などを指定する。
【0020】画面入力においては(ブロック42)、図
3に示す変換ルール入力手段3のコンピユータ入力画面
30上で、操作員が変換ルールの作成の基になるフオー
トラン及びコボルのモデル文等を入力する。図3の画面
30の起点言語入力部31には、操作員により入力され
る起点言語の命令文は次のようにモデル化されたもので
ある。すなわち、起点言語の命令文を構成する命令語、
すなわち、機能を表す語、はそのままに表示する。命令
文で変数に相当する部分は先頭に星印*を付けた文字ま
たは文字列で表示する。
【0021】フーオトランのIF文の一般形は、IF
(A)N1、N2、N3である。Aは関係式で、Aの値
の正、零、負に応じて、ステートメント番号N1、N
2、N3のいずれかを実行することをこのIF文は意味
する。いまステートメント番号N1、N2、N3を10
0、200、300とすると、IF文は、A<0ならば
ステートメント番号100を実行し、A=0ならばステ
ートメント番号200を実行し、A>0ならばステート
メント番号300を実行することを命令する。IF文に
おいて、A、N1、N2、N3はプログラムの内容に応
じてそれぞれ異なった形で表現される変数に相当する。
この発明ではこの変数を用語部分と称する。IF文にお
いてIFは命令文の機能を表す命令語に相当し、同じ言
語のプログラムでは一定の形を取る。従って、この発明
では命令語IFは変換ルールのキーワード部分となる。
【0022】図3の画面30上の基点言語入力部31に
IF文をモデル化した文、すなわち、IF(*A)*N
1、*N2、*N3をフオートランの文法に則って入力
する。すなわち、命令語のIFの部分はそのままにして
キーワードとして使用する。用語部分には星印*を先頭
に付けた文字又は文字列で表示する。このようにしてお
けば、PROLOG言語のユニフイケイシヨン(統合
化)機能を使用して、変換対象の起点言語プログラムの
各変換単位文ごとに、このモデル文から生成される変換
ルール探索用キーと照合して該当変換ルールを容易に探
索することができる。このように起点言語の命令文を変
換ルール探索用キーで照合したい形に表現することをモ
デル化という。
【0023】フオートランの命令文のIF(A)10
0、200、300と同じ機能をコボルの命令文で記述
すると、IF A<0 PERFORM L100、I
F A=0 PERFORM L200、IF A>0
PERFORM L300となる。フオートランでス
テートメント番号は数字で表示されるが、コボルではラ
ベルに相当する。ここではコボルのラベルを英字で始ま
る文字列とした。
【0024】目標言語入力部33においては、起点言語
入力部31に入力した命令文と同じ機能または意図する
機能(別な機能に変換したい場合もある)を実現できる
ように、目標言語で記述して表示する。先のフオートラ
ンのモデル化された命令文 IF(*A)*N1,*N2,*N3 と同等の機能をコボルで実行させたい場合には画面30
の目標言語入力部33に、 IF *A<0 PERFORM *XL1. IF *A=0 PERFORM *XL2. IF *A>0 PERFORM *XL3. のように記述する。ここで*XL1、*XL2、*XL
3は後で説明する用語変換入力部32で入力された変換
指示により変換装置1が作成するコボルで使用可能な要
素名をモデル化したものである。
【0025】用語変換入力部32においては、次の入力
が行われる。起点言語および目標言語の変換対象言語が
異なる体系の言語の場合には、使用する言語の構成要素
が異なる。例えば、フオートランのステートメント番号
は数字で表示されるが、これはコボルでのラベルに相当
する。コボルのラベルは通常は英字で始まる文字列であ
る。また、同系統の言語であっても装置名を表す予約語
が異なる場合がある。このため、用語変換入力部32へ
の入力は、入力された情報から用語変換プログラムまた
は用語変換テーブルを呼び出すPROLOG言語述語を
生成するためのものである。
【0026】例えば、 *N1 Label *XL1 と言う用語変換入力部32への指示は、フオートランの
ステートメント番号をコボルの英字付きのラベルへ変換
することを意味する。これは、後述の変換ルール生成手
段2によりPROLOG言語の例えば、 & table (Label,N1,XL1) のような「項」といわれる形に変形される。ここでは例
えば、N1にステートメント番号100が与えられる
と、XL1に100の先頭に英文字のLをつけたL10
0というラベルを生成する機能を持っている。したがっ
て、用語変換入力部32には、 *N1 Label *XL1 *N2 Label *XL2 *N3 Label *XL3 を入力する。
【0027】次に、図3の画面30上で、プログラム機
能キー34により新規に変換ルールを作成するか、また
は既存の変換ルールを修正して使用するかの指示をす
る。もし、既存の変換ルールを修正して使用する場合に
は、図3の画面30上に入力した変換ルールと同じ変換
ルールまたは類似した変換ルールを、変換ルール探索用
キー・フアイル23内を探索して探し(ブロック4
3)、該当の変換ルールを変換ルール・テキスト・イメ
ージ・フアイル22から読み込み、これを画面上30に
表示する(ブロック44)。
【0028】画面の操作においては(ブロック45)、
図3の画面30上で操作員が変換ルールの作成・修正・
編集を行い、その後の措置をプログラム機能キー34に
より指示する。この指示には、追加、削除、変更、置換
などがある。
【0029】以上のようにして、図3の変換モデル入力
手段の入力画面30上の起点言語入力部31、用語変換
入力部32、及び目標言語入力部33に入力された内容
は、以下、変換ルール生成手段2により変換ルールを生
成するため処理される。
【0030】まず、起点言語の字句解析では(ブロック
46)、初期設定画面(ブロック41)で指定した言語
別または命令文別の区切り文字表47を参照しながら、
起点言語入力部31に入力された起点言語のモデル文を
変数とそれ以外のキーワードとなる要素に分解する。
【0031】探索用内部形式への変換においては(ブロ
ック48)、先に分解された要素を後の変換ルール駆動
手段9の探索用キーとして用いられるように探索用内部
形式に変換する。すなわち、起点言語のモデル文を後の
起点プログラムの変換の際に変換ルールを探索するため
に用いるキーに変換する。この時、変換ルール駆動手段
9での探索方法に合うようにキーの作成方法を変えるこ
とができる。例えば、使用しているキーワードの語順が
異なっていても同じキーとして取り扱いたい場合は、キ
ーワードを昇順または降順に並べ替えたものをサブ・キ
ーとして持たせることにより、より弾力的な照合を行う
ことができる。
【0032】例えば、起点言語入力部31に入力された
モデル文、IF(*A)*N1,*N2,*N3、は変
換ルール生成手段2により探索用内部形式に、conv
ert([”IF”,”(”,A,”)”,N
1,”,”,N2,”,”,N3])に変換される。こ
のconvert(・・・)で表示される探索用内部形
式が変換ルール探索用キーとして用いられるように変換
ルールの最初の行に置かれる。この探索用キーは変換ル
ール駆動手段9が必要な変換ルールを探索して取り出す
際、必要な変換ルールかを照合する目的に用いられる。
【0033】用語変換入力部32の処理においては(ブ
ロック49)、次の処理が行われる。変換対象言語が異
なる体系の言語の場合には使用する言語の構成要素が異
なる。このため、用語変換入力部の32処理では入力さ
れた情報から用語変換を行う用語変換プログラムまたは
用語変換テーブルを呼び出すPROLOG言語述語を生
成する。例えば、 *N1 Label *XL1 と言う用語変換入力部32への指示は、フオートランの
ステートメント番号をコボルの英字付きのラベルへ変換
することを意味する。これは、PROLOG言語の例え
ば、 & table (label,N1,XL1) のような「項」といわれる形に変形される。ここでは例
えば、*N1にステートメント番号100が与えられる
と、*XL1に100の先頭に英文字のLをつけたL1
00というラベルを生成する機能を持っている。
【0034】したがって、用語変換入力部32は次のよ
うな用語変換プログラムまたは用語変換テーブルを呼び
出す用語変換指示部としてPROLOG言語述語に変換
される。 <− table (label,N1,XL1) & table (label,N2,XL2) & table (label,N3,XL3) これらの行は、変換ルールの中で先のconvert
(・・・)で表示される変換ルール探索用キーの次に置
かれる。
【0035】目標言語入力部の処理では(ブロック5
1)、目標言語入力部33で入力されたモデル文を字句
解析して、変換ルール駆動手段9で変換ルールが取り出
され処理されたときに、目標言語を生成できるような形
に変換する。この時、目標言語部に使用される変数が起
点言語部または用語変換部に定義されており、目標言語
を生成するときに未定義で不都合が生じないようにエラ
ー・チエツクもする。
【0036】たとえば、先の IF *A<0 PERFORM *XL1. は、 &Z1:=’IF’||A||’<0 PERFORM’||XL1||’.’ の形に変換される。これは変換ルール駆動手段による実
行時に、引用符(’’)で囲まれた文字列と起点言語部
から得られた情報(*AがX)、用語変換部から得られ
た情報(XL1がL100)とを連結操作して、 IF X<0 PERFORM L100. を生成することを意味する。従って、目標言語部の処理
では、次のような目標言語生成プログラムが変換ルール
生成手段2により生成され、用語変換指示部の次に置か
れる。
【0037】 &Z1:=’IF’||A||’<0 PERFORM’||XL1||’.’ &Z2:=’IF’||A||’<0 PERFORM’||XL2||’.’ &Z3:=’IF’||A||’<0 PERFORM’||XL3||’.’ &prst(Z1,out)& n1(out) &prst(Z2,out)& n1(out) &prst(Z3,out)& n1(out)
【0038】以上の説明のように、起点言語入力部31
の入力から作成された変換ルール探索用キー、用語変換
入力部32の入力から作成された用語変換指示部、及び
目標言語入力部33の入力から作成された目標言語生成
プログラムが一組となって図15に示すような変換ルー
ル99を構成する。この変換ルール99が、フオートラ
ンのIF文をコボルの同じ機能を持った命令文に変換す
る変換ルールである。
【0039】以上の処理でエラーがあれば、エラー部分
を操作員に指摘し修正を要求する(ブロック52)。
【0040】変換ルール作成画面でエラーが無くなる
と、操作員は変換ルール99の追加、変更、置換などの
指示をする(ブロック53)。この際の処理を図5、図
6及び図15を合わせて参照しながら説明する。もし、
追加の指示を出すと、同じ変換ルール99が変換ルール
探索用キー・フアイル23内にないことを確認する(ブ
ロック54)。次に、変換ルール探索用キー・フアイル
23内に以上の処理で作成された変換ルールの変換ルー
ル探索用キー、変換ルール探索用サブ・キー、変換ルー
ル・テキスト・イメージ・フアイル22へのポインタ、
及び変換ルール・データ・ベース4へのポインタを記憶
する(ブロック55)。次に、変換ルール(変換ルール
探索用キー、用語変換指示部、及び目標言語生成文の一
組)99を変換ルール・データ・ベース4内に記憶する
(ブロック56)。これにより変換ルール・データ・ベ
ース4が構築される。次に、この変換ルール99を作成
した際の変換ルール入力画面30の内容を、後の変換ル
ール99の保守用として画面に再表示し易いように、変
換ルール・テキスト・イメージ・フアイル22に記憶す
る(ブロック57)。
【0041】変更を指示した場合、変換ルール99の変
換ルール探索用キーが変更されていないことを確認する
(ブロック58)。変換ルール・データ・ベース4内の
当該変換ルールの変換ルール探索用キー以外の部分を新
しい変換ルールに変更する(ブロック59)。そして、
テキスト・イメージ・フアイル22内の起点言語入力部
以外の部分を変更する(ブロック60)。
【0042】置換を指示した場合、変換ルール99の新
しい変換ルール探索用キーがキー・フアイル23内にな
いことを確認する(ブロック61)。キー・フアイル2
3内の旧い探索用キーを削除し、新しい探索用キーを登
録する(ブロック62)。変換ルール・データ・ベース
4内の当該変換ルールをそっくり新旧入れ換える(ブロ
ック63)。そして、テキスト・イメージ・フアイル2
2内の当該部分を新旧入れ換える(ブロック64)。そ
して、次の変換ルール作成があるならば同じ処理を以下
繰り返す(ブロック65)。次の変換ルール作成がなけ
れば終了する(ブロック66)。
【0043】以上で説明した変換ルール作成において、
図6に示すような関連フアイルが、起点言語モデル文を
解析して生成された変換ルール探索用キーを軸として作
られる。すなわち、起点言語モデル文31は変換ルール
探索用キーとなるものであり、このキーを中心として変
換ルール・データ・ベース4、変換ルール探索用キー・
フアイル23、及び変換ルール・テキスト・イメージ・
フアイル22が構築される。
【0044】上述した変換ルール生成を以下に簡単にま
とめて説明する。図8は変換前の起点プログラム80を
いくつか示すものである。その内の81はフオートラン
の前述したIF文である。図9は対応する変換後の目標
プログラムのいくつかを示すもので、その内の91はフ
オートランIF文81を変換した後のコボルの同等の命
令文である。図10は、図8の起点プログラム81を図
9の目標プログラム90のうちの対応する機能を持つコ
ボルの命令文91に変換するための変換ルールを作成す
る際、操作員により変換ルール入力画面30に入力され
る起点言語及び目標言語のモデル文と用語変換規則の例
を示したものである。図15はフオートランの前述した
IF文81をコボルの同じ機能の命令文91に変換する
ため、図10の入力から変換ルール生成手段2により生
成された変換ルール99を示すものである。変換ルール
99は、起点言語入力部から生成された変換ルール探索
用キー、用語変換入力部から生成された用語変換指示
部、及び目標言語入力部から生成された目標言語生成プ
ログラムを一組としたもので、これが変換ルール・デー
タ・ベース4に記憶されて蓄積される。
【0045】次に、このようにして生成された変換ルー
ル99により、起点プログラム80を目標プログラム9
0に変換する仕方を図7を参照しながら説明する。
【0046】図7に示すように、起点プログラム80を
目標プログラム90に変換する際、初期化設定で作動環
境環境パラメータ71aを設定して変換対象の言語種類
などを指定する(ブロック71)。起点言語プログラム
入力は、初期設定で指定された入力装置から、起点言語
プログラム80を1レコードごと読み取る(ブロック7
2)。もし、起点言語プログラム80の変換単位文が2
レコード以上に分割されている場合にはこの起点言語プ
ログラム入力8で複数レコードを変換単位文に再構成す
る。起点プログラム80の注釈行あるいは注釈を後の出
力用に別途記憶する。そして、変換単位文を次の処理に
渡す。
【0047】次に、変換単位文の字句解析を行う(ブロ
ック73)。字句解析においては、図4で説明した変換
ルール作成の時と同じ字句解析機構を使用して言語区切
り文字表47を参照しながら変換単位ごと構成要素へ分
解する。例えば、図8に示す起点プログラム80の内の
フオートランの命令文81のIF文、 IF(X)100,200,300は [IF],[(],[X],[)],[10
0],[,],[200],[,],[300]が、構
成要素として分解され解析される。
【0048】次の照合用内部形式変換においては(ブロ
ック74)、この分解された構成要素を変換ルール探索
用キー(図15の最初の行参照)と照合し易いようにす
るため、内部形式に変換して、中間フアイル21または
記憶装置に記憶しておく。例えば先のIF文の場合は、
中間フアイル21は図21の行21aに示される形式を
有する。起点プログラム80の1フアイルを読み込み終
るまで字句解析機構(ブロック73)と照合用内部形式
変換機構(ブロック74)は上述の操作を繰り返す(ブ
ロック75)。
【0049】変換補助情報抽出支援機構においては(ブ
ロック76)、言語変換を行う場合、最初のレコードか
ら順に逐次変換できることが多いが、変換処理中の命令
文の前後の情報を参照できれば変換効率の高い変換を行
うことが可能になる。ここでは先に作成されて中間フア
イル21に貯えられている変換ルール照合用キーから情
報を取り出すことを可能にしている。たとえば、構成要
素の変数が算術演算あるいは文字操作に使用されている
等の情報である。これらの必要とする情報は変換対象言
語ごとに異なるので、変換補助情報フアイル77へのイ
ンタフエイスを提供している。
【0050】起点言語プログラム取り出し機構は(ブロ
ック78)、中間フアイル21から変換ルール照合用キ
ー形式(図21の行21a)に変換されている起点プロ
グラム80を取り出す。この際に変換ルール・データ・
ベース4の特性情報に与えられている数の変換単位文を
取り出し、次の変換ルール・データ・ベース照合機構
(ブロック79)へ渡す。
【0051】変換ルール・データ・ベース照合機構(ブ
ロック79)においては、中間フアイル21に読み込ま
れている起点プログラム80は変換ルール照合用キー形
式(図21の行21a)に変換されているが、それは基
本的に要素から構成されている。変換ルール・データ・
ベース4及び変換ルール探索用キー・フアイル23に記
憶されている変換ルール99の探索用キー(図15の最
初の行)は変換ルール作成手段2で生成されたもので、
キー・ワードと変数とから構成されている。これらの照
合は構成要素のうち、変換ルール・データ・ベース4の
中から同じキーワードを持ち、それらが同じ順に配置さ
れており、なおかつ、キー・ワード以外の構成要素の数
と同じ数の変数を持つ変換ルール探索用キーを探索す
る。キーワードとそれ以外の要素の位置関係が同じ場合
に該当ルールが存在したものとしてその変換ルールに基
づいて変換が開始される。この変換ルール探索用キーの
探索は実際はキー・フアイル23内の探索用キーを用い
て行われる。そして、該当する探索用キーが見つかった
らキー・フアイル23内に記憶されている変換ルール・
データ・ベース4内の該当変換ルール99へのポインタ
ーを用いて該当変換ルール99を取り出す(図6参
照)。変換ルールを探索するとき、複数の変換単位文を
照合する場合があるがその流れ図は図23の通りであ
る。
【0052】該当する変換ルールが変換ルール・データ
・ベース4に存在しなかった場合(ブロック101の
G)、その旨のメツセージを出力して、これに対する変
換ルールの新規作成を操作員へ要請する(ブロック10
2)。操作員は新規にルールを作成するか、または作成
を後回しにするかの指示をする(ブロック103)。新
規にルールが作成された場合にはこのルールに基づいて
変換が行われる(ブロック103のF)。ルールが作成
されなかった場合には変換ができなかったことのメツセ
ージを出力して次の処理へ進む(ブロック104)。
【0053】該当する変換ルールが見つかると(ブロッ
ク101のF)、変換ルール・データ・ベース4から変
換ルール99が取りだされ、変換ルール99(図15参
照)から用語変換指示部及び目標言語生成プログラムが
付随的に取り出され(ブロック105)、用語変換及び
目標言語生成が実行される。目標言語生成の実行は変換
ルール99の指定にもよるが、まず用語変換ライブラリ
7の呼び出し、用語の変換から始める(ブロック10
7)。目標言語生成プログラムの変数部分を、変換され
た用語で置換する(ブロック108)。目標言語生成プ
ログラムで目標言語の目標プログラム90を生成し(ブ
ロック109)、これを目標言語出力部10から指定の
出力装置へ出力する。このとき、入力のときに分離され
別に記憶してある注釈行または注釈を呼び出し必要に応
じて出力する。
【0054】この実施例の起点プログラム(フオートラ
ンのIF文、図8の81)をコボル(図9の目標プログ
ラム91)に変換する場合、ブロック105で取り出さ
れた変換ルール99(図15)の用語変換指示部から、
用語変換ライブラリイ7に記憶されている図20の用語
変換テーブル7を取り出す。そして、フオートランのス
テートメント番号100をコボルのラベルL100に変
換する(ブロック107、108)。そして、変換ルー
ル99(図15)の目標言語生成プログラムが、引用符
(’’)で囲まれた文字列と起点言語部から得られた情
報(*AがX)、用語変換部から得られた情報(XL1
がL100等)とを連結操作して、図9の目標プログラ
ムの命令文列91を生成する。
【0055】図20に示される用語変換テーブル及び用
語変換ロジック7は、変換される起点言語と目標言語の
必要に応じて別途、用語変換テーブル入力6から用語変
換テーブル作成手段5により作成して登録する類のもの
である。
【0056】このようにして、一つの起点プログラム8
0の変換が終了し(ブロック110)、次の起点プログ
ラムの変換がなければ(ブロック111)、プログラム
言語変換処理が終了する(ブロック112)。
【0057】図22は、以上に説明した図7に示めすプ
ログラム言語変換処理を実際に実行する変換ルール駆動
手段9の一例の変換ルール駆動プログラム100の主要
部を示すものである。この変換ルール駆動プログラム1
00は、図21の中間フアイル21に保存されている起
点プログラム81の内部形式21aを、 data(M,List) で逐次取り出し、 convert(List) で該当する変換ルール99(図15)を呼び出し、上述
した通りに図9に示す目標プログラム91を生成する。
以上から理解されるように、この変換ルール駆動プログ
ラム100は、変換対象言語の起点言語にも目標言語に
も依存しない形式を有する。
【0058】次に、この実施例による他の変換例を図8
に示すいくつかの起点プログラム80を例にとって説明
する。
【0059】起点プログラムの複数命令文を1セットと
して目標プログラムに変換したいことがある。例えば、
フオートランで DATA HEAD(1)/’HEAD1’/ DATA HEAD(2)/’HEAD2’/ DATA HEAD(3)/’HEAD3’/ のように定義された文字列を他の別なエリアTITLE
に移動する時には、図8の起点プログラム82に示す以
下の1セットの命令文 TITLE(1)=HEAD(1) TITLE(2)=HEAD(2) TITLE(3)=HEAD(3) のように記述する。これをコボルに変換するときに、図
9の目標プログラム92に示す、一つの命令文、 MOVE HEAD TO TITLE のように変換したい時の変換ルールは次のようにして作
成する。
【0060】変換ルール入力画面30にモデル文を入力
する際、複数命令文をセットとして変換したい時には、
図11に示すように起点言語入力部の各々のモデル命令
文の先頭に!印を付けて入力し、これらを群として扱う
ことができる。すなわち、 起点言語入力部 !*TO(*I)=*FROM(*
I) !*TO(*J)=*FROM(*J) !*TO(*K)=*FROM(*K) 目標言語入力部 MOVE *COBOLY TO *
COBOLX のように記述する。これらは変換ルール生成手段2によ
り起点言語の複数文と照合できるような形で図16に示
す変換ルール99の変換ルール探索用キーに変換され記
憶される。
【0061】用語変換入力部は、前述のフオートラン命
令文、 !*TO(*I)=*FROM(*I) !*TO(*J)=*FROM(*J) !*TO(*K)=*FROM(*K) をコボルの命令文 MOVE *COBOLY TO *COBOLX に変換する例では、*I、*J、*Kの値が連続してい
ることが条件になるが、このような場合は用語変換入力
部に、例えば、 *I relation *J *J relation *K *TO name *COBOLX *FROM name *COBOLY と指示する。これは、変換ルール生成手段2により図1
6に示すような変換ルール99の用語変換指示部を生成
し、 & table(relation,*I,*J) & table(relation,*J,*K) という形の「項」に変換されるが、これには、 *J=*I+1または*K=*J+1 の関係が成立する時のみ処理を先に進めるような機能を
持っている。
【0062】図20は、図16の変換ルール99の用語
変換指示部に従って用語変換をする用語変換テーブルを
含む。図21の21bには、図8の起点プログラム82
を中間フアイル21に変換した例を示す。
【0063】図8に示される他の起点プログラム83、
84、85は、IBMのシリーズ/1コンピユータに用
いられる事象駆動型言語(EDL)で書かれている。こ
れらを図9に示されるC言語で書かれた目標プログラム
93、94、95にそれぞれ変換するには、変換ルール
入力画面に図12、図13、図14に示されるような起
点言語及び目標言語のモデル文及び用語変換ルールを入
力する。
【0064】これら図12、図13、図14の変換ルー
ル入力画面の入力に基づいて、変換ルール生成手段2に
より変換ルール99がそれぞれ図17、図18、図19
のように生成される。変換ルール99の用語変換指示部
が用語変換の際に使用する用語変換テーブルは図20に
示される。
【0065】図8に示される起点プログラム83、8
4、85は、図21に示される中間フアイル21c、2
1d、21eの形にそれぞれ変換された後、図22に示
す変換ルール駆動プログラム100により取り出された
図17、図18、図19に示す変換ルール99により、
図9に示す目標プログラム93、94、95にそれぞれ
変換される。
【0066】
【発明の効果】この発明によれば、変換ルール入力手段
により起点言語モデル文、目標言語モデル文、及び用語
(変数)部分の変換規則を入力し、この入力に基づいて
変換ルール生成手段が変換ルールを作成し、変換ルール
・データ・ベースに蓄積することにより、プログラムの
言語変換を実行することができる。このように起点部の
起点言語によるモデル文は起点言語のプログラマは誰で
も記述でき、変換ルール入力手段によりこれを入力でき
る。また、そのモデル文の機能を理解すれば目標言語の
プログラマはそれを目標言語のモデル文で記述でき、こ
れを用語部の変換規則と共に変換ルール入力手段により
入力できる。したがって、用語部分を独立に変換できる
変換ルールを命令文の変換ルールと同時に生成できる。
また、以上の説明から理解されるように、この発明のプ
ログラム言語変換装置の主要部分の変換ルール入力手
段、変換ルール生成手段、及び変換ルール駆動手段は変
換言語の種類に依存しない。従って、汎用性の高いプロ
グラム言語変換装置を達成できる。さらに、この発明の
プログラム言語変換装置及び方法によればブログラム言
語の変数を機能を表すキーワードとは別に変換できるの
で汎用性を増すことができる。さらに、この発明のプロ
グラム言語変換装置及び方法は、保守用に変換ルールの
一部を独立なフアイルとして記憶しているので、変換ル
ールの保守に優れている。
【図面の簡単な説明】
【図1】 この発明の一実施例によるコンピユータ・プ
ログラム言語変換装置を示す概略ブロック図。
【図2】 この実施例の変換ルールの生成及び利用を示
す概略ブロック図。
【図3】 この実施例の変換ルール入力手段の変換ルー
ル入力画面を示す図。
【図4】 この実施例の変換ルール生成の手順を示す流
れ図(その1)。
【図5】 この実施例の変換ルール生成の手順を示す流
れ図(その2)。
【図6】 変換ルールの関連フアイルを示す概略ブロッ
ク図。
【図7】 プログラム言語変換の手順を示す流れ図。
【図8】 変換前の起点プログラムの例を示す図。
【図9】 変換後の目標プログラムの例を示す図。
【図10】 変換ルール入力画面の例を示す図。
【図11】 変換ルール入力画面の例を示す図。
【図12】 変換ルール入力画面の例を示す図。
【図13】 変換ルール入力画面の例を示す図。
【図14】 変換ルール入力画面の例を示す図。
【図15】 変換ルールの例を示す図。
【図16】 変換ルールの例を示す図。
【図17】 変換ルールの例を示す図。
【図18】 変換ルールの例を示す図。
【図19】 変換ルールの例を示す図。
【図20】 用語変換テーブル及び用語変換ロジックを
示す図。
【図21】 起点プログラムの変換処理前の中間フアイ
ルを示す図。
【図22】 変換ルール駆動手段の変換ルール駆動プロ
グラムを示す図。
【図23】 複数個の変換単位文と変換ルールの照合及
び取り出しの手順を示す流れ図。
【符号の説明】 1 コンピユータ・プログラム言語変換装置 2 変換ルール生成手段 3 変換ルール入力手段 4 変換ルール・データ・ベース 5 用語変換テーブル生成手段 6 用語変換テーブル入力手段 7 用語変換テーブル 8 起点プログラム入力手段 9 変換ルール駆動手段 10 目標言語プログラム出力部 22 変換ルール・テキスト・イメージ・フアイ
ル 23 変換ルール探索用キー・フアイル 30 変換ルール入力画面 80 起点プログラム 90 目標プログラム 99 変換ルール

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】一のコンピユータ言語である起点言語で書
    かれた起点プログラムを他のコンピユータ言語である目
    標言語で書かれた目標プログラムに変換するコンピユー
    タ・プログラム言語変換装置において、 前記起点言語のモデル文と前記目標言語とモデル文で表
    した変換モデルを入力する変換ルール入力手段と、 入力された前記モデル文から変換ルールを生成する変換
    ルール生成手段と、 前記起点プログラムを入力する起点プログラム入力手段
    と、 入力された前記起点プログラムに対応した前記変換ルー
    ルを探索し、探索された変換ルールの内容に基づいて前
    記起点プログラムを前記目標プログラムに変換する変換
    ルール駆動手段と、 を備えたことを特徴とするコンピユータ・プログラム言
    語変換装置。
  2. 【請求項2】前記モデル文が、前記起点言語及び目標言
    語において機能を表すそれぞれ固有のキーワード部分と
    変数を表す用語部分とに区別可能になっていることを特
    徴とする請求項1のコンピユータ・プログラム言語変換
    装置。
  3. 【請求項3】前記変換ルール入力手段が、前記モデル文
    のほか前記起点言語と前記目標言語の用語部分間の変換
    指示も入力することを特徴とする請求項2のコンピユー
    タ・プログラム言語変換装置。
  4. 【請求項4】前記変換ルール生成手段が、前記起点言語
    のモデル文から前記変換ルールを探索するために用いら
    れる探索用キーを生成し、前記目標言語のモデル文から
    前記目標プログラムを生成するために用いられる目標言
    語生成プログラムを生成し、前記変換指示から前記起点
    言語の用語部分を前記目標言語の用語部分へ変換する用
    語変換指示部を生成し、これらを一組とした前記変換ル
    ールを作成することを特徴とする請求項3のコンピユー
    タ・プログラム言語変換装置。
  5. 【請求項5】前記用語変換指示部の指示に基づいて前記
    用語部分を変換するための用語変換テーブル及び変換プ
    ログラムを、有することを特徴とする請求項4のコンピ
    ユータ・プログラム言語変換装置。
  6. 【請求項6】前記起点プログラム入力手段が前記起点プ
    ログラムを前記変換ルールと照合し易い中間形式に変
    え、前記変換ルール駆動手段が前記中間形式に基づいて
    前記変換ルールを前記探索キーに基づいて探索すること
    を特徴とする請求項5のコンピユータ・プログラム言語
    変換装置。
  7. 【請求項7】前記変換ルール入力手段、前記変換ルール
    生成手段、及び前記変換ルール駆動手段が変換対象言語
    である前記起点言語及び前記目標言語に依存しないこと
    を特徴とする請求項1のコンピユータ・プログラム言語
    変換装置。
  8. 【請求項8】前記変換ルールが、前記起点言語の複数の
    前記モデル文を前記目標言語の一つの前記モデル文に関
    連付けていて、前記起点プログラムの複数の命令文を前
    記目標プログラムの一つの命令文に変換することを特徴
    とする請求項1のコンピユータ・プログラム言語変換装
    置。
  9. 【請求項9】前記変換ルールの前記探索用キーを記憶し
    た探索用キー・フアイルを有し、前記変換ルールの変更
    等の保守に前記探索用キー・フアイルを使用するように
    したことを特徴とする請求項2のコンピユータ・プログ
    ラム言語変換装置。
  10. 【請求項10】前記変換ルール入力手段により入力され
    た内容を、後の変換ルールの修正等の保守のために独立
    な変換ルール・テキスト・イメージ・フアイルとして有
    することを特徴とする請求項1のコンピユータ・プログ
    ラム言語変換装置。
  11. 【請求項11】一のコンピユータ言語である起点言語で
    書かれた起点プログラムを他のコンピユータ言語である
    目標言語で書かれた目標プログラムに変換するコンピユ
    ータ・プログラム言語変換装置において、 前記起点言語のある命令文を前記起点言語の文法に則っ
    て機能が表わされるキーワード部分と変数が表される用
    語部分に区別したモデル文で入力する起点言語入力部、
    前記ある命令文の機能に対応した前記目標言語の命令文
    を前記目標言語の文法に則って機能が表されるキーワー
    ド部分と変数が表される用語部分に区別したモデル文で
    入力する目標言語入力部、及び前記起点言語及び前記目
    標言語の前記用語部分間の変換規則を入力する用語変換
    入力部、を持つ変換ルール入力手段と、 前記起点言語入力部で入力された内容から生成されて変
    換ルール探索用キーとして使用される部分、前記用語変
    換入力部で入力された内容から生成されて用語変換テー
    ブルまたは用語変換プログラム呼び出し関数として使用
    される部分、及び前記目標言語入力部で入力された内容
    から生成されて目標言語作成プログラムとして使用され
    る部分、を含む変換ルールを生成する変換ルール生成手
    段と、 前記変換ルールを記憶して蓄積する変換ルール・データ
    ・ベースと、 前記起点プログラムを入力する起点言語入力手段と、 入力された前記起点プログラムの命令文に対応した前記
    変換ルールを前記変換ルール探索用キーを用いて前記変
    換ルール・データ・ベースから取り出し、取り出された
    前記変換ルールの前記用語変換テーブルまたは用語変換
    プログラム呼び出し関数を用いて用語変換を行い、取り
    出された前記変換ルールの前記目標言語生成プログラム
    を用いて前記目標プログラムの命令文を作成して出力す
    る変換ルール駆動手段と、 を有することを特徴とする前記コンピユータ・プログラ
    ム言語変換装置。
  12. 【請求項12】一のコンピユータ言語である起点言語で
    書かれた起点プログラムを他のコンピユータ言語である
    目標言語で書かれた目標プログラムに変換するコンピユ
    ータ・プログラム言語変換方法において、 前記起点言語のモデル文と前記目標言語のモデル文によ
    り表した変換モデルを入力するステップと、 入力された前記モデル文から変換ルールを生成するステ
    ップと、 前記起点プログラムを入力するステップと、 入力された前記起点プログラムに対応した前記変換ルー
    ルを探索し、探索された変換ルールの内容に基づいて前
    記起点プログラムを前記目標プログラムに変換するステ
    ップと、を備えたことを特徴とするコンピユータ・プロ
    グラム言語変換方法。
  13. 【請求項13】前記変換モデルを入力するステップにお
    いて、前記モデル文が、前記起点言語及び目標言語にお
    いて機能を表すそれぞれ固有のキーワード部分と変数を
    表す用語部分とに区別可能になっていることを特徴とす
    る請求項12のコンピユータ・プログラム言語変換方
    法。
  14. 【請求項14】前記変換モデルを入力するステップにお
    いて、前記モデル文のほか前記起点言語と前記目標言語
    の用語部分間の変換指示も入力することを特徴とする請
    求項13のコンピユータ・プログラム言語変換方法。
  15. 【請求項15】前記変換ルールを生成するステップが、
    前記起点言語のモデル文から前記変換ルールを探索する
    ために用いられる探索用キーを生成し、前記目標言語の
    モデル文から前記目標プログラムを生成するために用い
    られる目標言語生成プログラムを生成し、前記変換指示
    から前記起点言語の用語部分を前記目標言語の用語部分
    へ変換する用語変換指示部を生成し、これらを一組とし
    た前記変換ルールを作成することを特徴とする請求項1
    4のコンピユータ・プログラム言語変換方法。
JP4215032A 1992-08-12 1992-08-12 コンピユータ・プログラム言語変換装置及びその方法 Expired - Lifetime JPH0778742B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP4215032A JPH0778742B2 (ja) 1992-08-12 1992-08-12 コンピユータ・プログラム言語変換装置及びその方法
EP93306031A EP0583117A2 (en) 1992-08-12 1993-07-30 A device and method for converting computer programming languages
US08/105,839 US6219831B1 (en) 1992-08-12 1993-08-12 Device and method for converting computer programming languages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4215032A JPH0778742B2 (ja) 1992-08-12 1992-08-12 コンピユータ・プログラム言語変換装置及びその方法

Publications (2)

Publication Number Publication Date
JPH06110701A true JPH06110701A (ja) 1994-04-22
JPH0778742B2 JPH0778742B2 (ja) 1995-08-23

Family

ID=16665626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4215032A Expired - Lifetime JPH0778742B2 (ja) 1992-08-12 1992-08-12 コンピユータ・プログラム言語変換装置及びその方法

Country Status (3)

Country Link
US (1) US6219831B1 (ja)
EP (1) EP0583117A2 (ja)
JP (1) JPH0778742B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842204A (en) * 1994-10-07 1998-11-24 Tandem Computers, Inc. Method and apparatus for translating source code from one high-level computer language to another
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
US6006031A (en) * 1994-10-07 1999-12-21 Tandem Computers Incorporated Method and apparatus for reconciling conflicting translations by factoring and parameterizing differences
JP3505266B2 (ja) * 1995-06-15 2004-03-08 三洋電機株式会社 プログラム実行装置
GB2315343A (en) * 1996-06-25 1998-01-28 Texas Instruments Inc Non-model-based application transitioning
US6425118B1 (en) 1997-07-18 2002-07-23 Compaq Computer Corporation System for automatically generating tests to ensure binary compatibility between software components produced by a source-to-source computer language translator
US6633837B1 (en) * 1999-10-14 2003-10-14 Object Reservoir Method and system for generating software code using a symbolic language translator
EP1126660B1 (de) * 2000-02-15 2004-12-01 Siemens Aktiengesellschaft Verfahren zur Uebermittlung einer Nachricht sowie Gateway
DE10105729C1 (de) * 2001-02-08 2002-08-08 Tenovis Gmbh & Co Kg Verfahren und System zur funktionsmäßigen Erweiterung einer Telekommunikationsanlage
US20020144246A1 (en) * 2001-03-29 2002-10-03 Ibm Corporation Method and apparatus for lexical analysis
US7020721B1 (en) * 2001-04-02 2006-03-28 Palmsource, Inc. Extensible transcoder annotation for transcoding proxy servers
FI111107B (fi) * 2001-05-15 2003-05-30 Softageneraattori Oy Menetelmä translaattorin kehittämiseksi ja vastaava järjestelmä
US6964038B2 (en) * 2001-07-17 2005-11-08 Hewlett-Packard Development Company, L.P. Constant values in mixed language programming environments
US20090106353A1 (en) * 2001-09-19 2009-04-23 Belovich Steven G Method and system for providing an event auditing client server software arrangement
CA2467727A1 (en) * 2001-11-21 2003-05-30 Enterasys Networks, Inc. Translating configuration files among network devices
JP2004038876A (ja) * 2002-07-08 2004-02-05 Hitachi Ltd プログラム等のデータ形式変換方法及び装置、並びにそのデータ形式変換装置を用いたコントローラ管理システム
JP3494376B1 (ja) * 2002-12-05 2004-02-09 株式会社システムズ プログラム解析装置およびプログラム
US20080320054A1 (en) * 2003-04-09 2008-12-25 Cindy Howard Database and Software Conversion System and Method
US7272821B2 (en) 2003-08-25 2007-09-18 Tech Mahindra Limited System and method of universal programming language conversion
US6876314B1 (en) 2004-02-18 2005-04-05 Robocoder Corporation Self-generating automatic code generator
US8620816B2 (en) * 2004-10-14 2013-12-31 Google Inc. Information vault, data format conversion services system and method
KR100825722B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 Bpel4ws 프로세스를 칼라드 페트리넷으로 변환하는방법 및 그 장치
CN101118487B (zh) * 2006-08-02 2011-09-28 鸿富锦精密工业(深圳)有限公司 量测程序转换系统及方法
US20080127129A1 (en) * 2006-08-30 2008-05-29 Microsoft Corporation Compiling logical programs to rewrite systems
US20080162109A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Creating and managing a policy continuum
US9043367B2 (en) * 2007-05-23 2015-05-26 Oracle International Corporation Self-learning data lenses for conversion of information from a first form to a second form
US9037613B2 (en) * 2007-05-23 2015-05-19 Oracle International Corporation Self-learning data lenses for conversion of information from a source form to a target form
US8683451B1 (en) * 2010-04-30 2014-03-25 The United States Of America As Represented By The Secretary Of The Navy System and method for translating software code
US8607206B2 (en) 2010-09-24 2013-12-10 Group Business Software Ag Automatic synchronous-to-asynchronous software application converter
CN114265866A (zh) * 2021-11-24 2022-04-01 青岛海尔科技有限公司 流式数据处理方法、规则插件、流式数据处理模块及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63280337A (ja) * 1987-05-13 1988-11-17 Hitachi Ltd デ−タ変換方式
JPS6431233A (en) * 1987-07-27 1989-02-01 Hitachi Ltd Method for device for automatically converting programming language, and computer system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4374408A (en) * 1971-06-16 1983-02-15 Burroughs Corporation Multi-pass system and method for source to source code translation
SE467229B (sv) * 1983-08-19 1992-06-15 Kurt Katzeff Anordning foer bildande av en information och/eller instruktion avsedd att inmatas i en datamaskins programminne
JPH0630066B2 (ja) * 1983-10-24 1994-04-20 株式会社日立製作所 テーブル型言語翻訳方法
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4864503A (en) * 1987-02-05 1989-09-05 Toltran, Ltd. Method of using a created international language as an intermediate pathway in translation between two national languages
JPS6466777A (en) * 1987-09-08 1989-03-13 Sharp Kk Mechanical translation device
JPH0281230A (ja) * 1988-09-19 1990-03-22 Hitachi Ltd 構文解析および言語処理システム
DE68926956T2 (de) * 1988-09-20 1997-03-27 Digital Equipment Corp Anordnung zur teilung eines generischen kodes für ein digitales datenverarbeitungssystem
US4916610A (en) * 1988-10-05 1990-04-10 Racal Data Communications Inc. Multilanguage software integration through preprocessing
US5230049A (en) * 1988-11-29 1993-07-20 International Business Machines Corporation Program source code translator
CA2284247C (en) * 1989-09-01 2005-12-06 Amdahl Corporation Programmable computer with automatic translation between source and object code
US5117349A (en) * 1990-03-27 1992-05-26 Sun Microsystems, Inc. User extensible, language sensitive database system
US5295070A (en) * 1991-05-31 1994-03-15 Franklin Electronic Publishers Incorporated Electronic dual language dictionary

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63280337A (ja) * 1987-05-13 1988-11-17 Hitachi Ltd デ−タ変換方式
JPS6431233A (en) * 1987-07-27 1989-02-01 Hitachi Ltd Method for device for automatically converting programming language, and computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program

Also Published As

Publication number Publication date
EP0583117A2 (en) 1994-02-16
US6219831B1 (en) 2001-04-17
JPH0778742B2 (ja) 1995-08-23

Similar Documents

Publication Publication Date Title
JPH06110701A (ja) コンピユータ・プログラム言語変換装置及びその方法
Nix Editing by example
Caprile et al. Restructuring program identifier names
US5321608A (en) Method and system for processing natural language
JPS6091450A (ja) テ−ブル型言語翻訳器
JPH03111969A (ja) 計画作成支援方法
US20040102960A1 (en) Process and system for generating knowledge code and converting knowledge code into text
JPH1124913A (ja) Jclプログラム変換装置および記録媒体
Bowers et al. TEI and Bavarian dialect resources in Austria: updates from the DBÖ and WBÖ
JPH04160473A (ja) 事例再利用型翻訳方法および装置
Boldyreff et al. Greater understanding through maintainer driven traceability
JP3345522B2 (ja) データ項目部品を利用するプログラム開発支援装置
JP3112623B2 (ja) プログラム生産支援装置
JPH07160490A (ja) コーディング支援装置
JPH07146785A (ja) プログラム自動生成方法および装置
JPH06214776A (ja) ソフトウェア自動生成システム
JP3003459B2 (ja) プログラム作成支援装置
Babkin et al. Analysis of Approaches to the Development of a DSL for Software Systems
Gou Comparative study of computer tools for linguistic annotation of corpora
JPH02116972A (ja) プログラムデータベースの検索方式
JP3316884B2 (ja) 言語翻訳装置
Hufflen Languages for bibliography styles
Cohen et al. Adaptive Interfaces
JPH08297579A (ja) テキストデータにおける区切り語処理方式
JPH1040086A (ja) プログラム変換方法