JP2000029678A - プログラム言語変換方法、変換装置および記録媒体 - Google Patents

プログラム言語変換方法、変換装置および記録媒体

Info

Publication number
JP2000029678A
JP2000029678A JP10135726A JP13572698A JP2000029678A JP 2000029678 A JP2000029678 A JP 2000029678A JP 10135726 A JP10135726 A JP 10135726A JP 13572698 A JP13572698 A JP 13572698A JP 2000029678 A JP2000029678 A JP 2000029678A
Authority
JP
Japan
Prior art keywords
conversion
language
program
character string
database
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
JP10135726A
Other languages
English (en)
Inventor
Kenichiro Kikuchi
謙一郎 菊池
Yuji Arai
裕二 荒居
Yujiro Araki
勇次郎 荒木
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.)
NTT Comware Corp
Original Assignee
NTT Communicationware 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 NTT Communicationware Corp filed Critical NTT Communicationware Corp
Priority to JP10135726A priority Critical patent/JP2000029678A/ja
Publication of JP2000029678A publication Critical patent/JP2000029678A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ソフトウェアを記述しているプログラム言語
を別の言語に変換するに際し、変換を自動化することで
個人のスキルや経験によらず言語移植を迅速に行うこと
ができるプログラム言語の変換方法、変換装置および記
録媒体を提供する。 【解決手段】 変換元のソースプログラムから1ワード
を読み取り、2つの言語間の仕様の違いを解析して変換
規則を規定したデータベースを調査して、このワードに
対する変換規則が規定されているかを判定し、規定され
ている場合には、その変換規則に基づいて変換した文字
列を出力し、規定されていない場合には所定の処理を行
う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ソフトウェアを
記述するプログラム言語の変換方法、変換装置および記
録媒体に関するものである。
【0002】
【従来の技術】従来、ソフトウェアを記述しているプロ
グラム言語(適宜、言語と略記する)を別の言語に移植
して動作可能とする(以下、言語移植という)際には、
図6に示したような作業をプログラマ自身が行ってい
た。すなわち、移植元であるソースプログラムに記載さ
れている処理のロジックを丹念に解析して(S1)、処
理のフローを作成し(S2)、移植先の言語に移し変え
て再コーディングを行い(S3)、この言語移植したプ
ログラムが正常に動作するまでデバック作業が行われて
いた。
【0003】
【発明が解決しようとする課題】しかし、上記移植元プ
ログラムの処理ロジックの解析、処理フローの作成、移
植先言語での再コーディングといった各工程はすべて人
手によるため、プログラマ各個人のノウハウに頼る部分
が大きかった。また、プログラマ各個人のスキル差によ
って言語変換処理を実現する方法にバラツキが生じ、不
注意によって誤った変換処理が行われ、コンパイル時の
エラーが多発してデバッグに余計な時間がかかるといっ
たこともあった。
【0004】したがって、あるシステムを稼働させてい
る膨大なプログラムを分担して言語変換し別のシステム
に移植する場合、大変作業効率が悪かった。また、移植
元言語と移植先言語の双方の仕様において、形式的に対
応付けられる部分は、変換を自動化するための変換ツー
ルを作成することができ、この変換ツールを使用するこ
とで容易に変換することができた。しかし、そうでない
部分については変換が困難であり、結局、人手による変
換に頼らざるを得なかった。
【0005】そこで、この発明は、このような従来の課
題に着目してなされたもので、ソフトウェアを記述して
いるプログラム言語を別の言語に変換するに際し、変換
を自動化することで個人のスキルや経験によらず言語移
植を迅速に行うことができるプログラム言語の変換方
法、変換装置および記録媒体を提供することを目的とす
るものである。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、この発明のプログラム言語変換方法は、第1のプロ
グラム言語で記述された第1のソースプログラムに対し
て、第2のプログラム言語で記述するための変換処理を
行って第2のソースプログラムに出力するプログラム言
語変換方法において、前記2つのプログラム言語間の変
換規則を規定したデータベースに、前記第1のソースプ
ログラムから読み出した文字列に対する変換規則が規定
されているか否かについて調査する調査過程と、前記調
査過程で前記データベースに前記変換規則が規定されて
いるという調査結果が出された場合に当該変換規則に基
づいて前記文字列の前記変換処理を行って前記第2のソ
ースプログラムに出力する過程と、前記調査過程で前記
データベースに前記変換規則が規定されていないという
調査結果が出された場合に所定の処理を行う過程とを備
えたことを特徴とするものである。
【0007】また、この発明のプログラム言語変換装置
は、第1のプログラム言語で記述された第1のソースプ
ログラムに対して、第2のプログラム言語で記述するた
めの変換処理を行って第2のソースプログラムに出力す
るプログラム言語変換装置において、前記2つのプログ
ラム言語間の変換規則を規定したデータベースと、前記
第1のソースプログラムから読み出した文字列に対する
変換規則が前記データベースに規定されているか否かに
ついて調査する調査手段と、前記調査手段によって前記
データベースに前記変換規則が規定されているという調
査結果が出された場合に当該変換規則に基づいて前記文
字列の前記変換処理を行って前記第2のソースプログラ
ムに出力する手段と、前記調査手段によって前記データ
ベースに前記変換規則が規定されていないという調査結
果が出された場合に所定の処理を行うよう指示を与える
手段とを備えたことを特徴とするものである。
【0008】そして、この発明の記録媒体は、第1のプ
ログラム言語で記述された第1のソースプログラムに対
して、第2のプログラム言語で記述するための変換処理
を行って第2のソースプログラムに出力する言語変換プ
ログラムを記録した記録媒体において、前記言語変換プ
ログラムは、前記2つのプログラム言語間の変換規則を
規定したデータベースに、前記第1のソースプログラム
から読み出した文字列に対する変換規則が規定されてい
るか否かについて調査する調査過程と、前記調査過程で
前記データベースに前記変換規則が規定されているとい
う調査結果が出された場合に当該変換規則に基づいて前
記文字列の前記変換処理を行って前記第2のソースプロ
グラムに出力する過程と、前記調査過程で前記データベ
ースに前記変換規則が規定されていないという調査結果
が出された場合に所定の処理を行う過程とを備えたこと
を特徴とするものである。
【0009】このようなプログラム言語変換方法、変換
装置によって、言語移植する際に移植元のソースプログ
ラムに記載された処理のロジックを解析しフローを作成
して、再コーディングするといった手間が省けるので、
移植作業中のミスが飛躍的に減少する。形式的な変換が
できない部分についても上記変換データベースを参照す
ることにより変換が可能となる。また、上記言語変換プ
ログラムが記録された記録媒体をコンピュータにセット
して、当該プログラムを読み取らせることによって容易
にプログラム言語の変換処理を実行することができる。
【0010】
【発明の実施の形態】この発明の好ましい実施の形態に
ついて、以下、添付図面を参照しつつ詳細に説明する。
この実施形態では、既存交換機および新型交換機間でソ
フトウェアを移植する際の言語変換プロセスを例に挙げ
て説明する。
【0011】<既存交換機および新型交換機のソフトウ
ェア構成>図1は、既存運用中の交換機Aと新ノード交
換機Bにおけるソフトウェア構成の概略について示した
ものである。
【0012】既存運用中の交換機Aは、PHM(Packet
Handling Module:パケット処理モジュール)を採用し
た交換機であり、DEX系のOS1、システム管理部
2、保守運用部3、呼処理機能部4で構成されている。
ここで、交換機Aの呼処理機能を実現しているプログラ
ムはCHILL言語で記述されている。CHILL言語
は、旧CCITT(現ITU−T)勧告を受けた高水準
プログラム言語で、蓄積プログラム制御交換機の交換用
プログラムやサポートプログラムなどに使用されるシス
テム記述言語である。また、CHILL言語は一般の高
水準言語と比較して、交換機の処理には不要な数式処理
などの機能が削除されており、逆に交換機に特有のハー
ドウェア制御記述などの機能が追加されている。
【0013】一方、新ノード交換機Bは、MHN−P
(Multimedia Handling Node-Packet:新ノードシステ
ム)を採用した交換機であり、68系のOS1、システ
ム管理部2、保守運用部3、呼処理機能部4、インター
フェーサ5で構成されている。新ノード交換機Bでは、
高水準言語としては標準的なC言語でソフトウェアが記
述され、特に呼処理機能においてはオブジェクト指向的
要素が取り入れられ、汎用性・拡張性に富んだものとな
っている。
【0014】交換機Aから交換機Bへ移行する際には、
CHILL言語で記述されたプログラムをC言語に変換
して記述し、交換機Aから交換機Bへ個々のプログラム
を移植する必要がある。このプログラム移植の過程にお
いて、特に交換機で重要な役割を占める呼処理機能部4
のプログラムを移植する際に、この発明にかかる言語変
換装置を用いることによって、スムーズなプログラムの
移植が可能となる。
【0015】<プログラム言語変換処理の流れ>図2
は、変換元のプログラムであるCHILL言語ソースモ
ジュールを変換先のC言語ソースモジュールへ移植する
際の言語変換処理の流れについて示したものである。
【0016】まず、言語変換の開始指令が与えられると
(S10)、変換元プログラムであるCHILL言語ソ
ースモジュールから、1単語ごと命令文が読み出される
(S11)。読み出されたCHILL言語による文字列
は大文字で記述されているため、C言語の記述形式であ
る小文字に一律に変換される(S12)。そして、あら
かじめ用意された双方言語間の変換規則について規定さ
れている変換データベースを調査して、この小文字に変
換された文字列に対して変換規則が規定されているか否
かが判定される(S13)。このデータベースに一致し
た文字列があった場合は、その文字列に対応した変換先
文字列をC言語ソースモジュールに出力する(S1
4)。
【0017】一方、このデータベースに一致した文字列
がなかった場合には、言語間の規則に従い、形式的な変
換を実行してC言語ソースモジュールに出力する(S1
5)。この場合、例えば、C言語ソースモジュールに変
換できない旨のコメントを出力したり、空白行として出
力したり、あるいは、別ファイルにCHILL言語ソー
スファイル名の何行目のどの部分が変換できなかったか
が出力される。
【0018】<プログラム言語特性変換データベース>
図3は、上述した変換データベースの構造について示し
ている。このデータベースには、CHILL言語の旧文
字列と、その旧文字列に対応するC言語の新文字列とが
対応付けられて登録されている。図4は、これを具体化
したものであって、この変換データベースにおけるCH
ILL言語とC言語の変換規則について示している。例
えば、プログラム中で使用される変数の型名として、C
HILL言語の変数宣言DCLとC言語の型名(voi
d、構造体のタグ名など)とが対応付けられている。ま
た、命令文では、CHILL言語において、IF文の条
件式の前後に括弧がなく条件式も等号1つで結ばれるの
に対し、C言語では、IF文の条件式の前後に括弧を付
けて条件式も等号2つで結ばれるといった具合に双方の
言語の書式や命令文などの仕様の差異に着目して、変換
規則が規定されている。
【0019】このように、変換データベースは、CHI
LL言語とC言語との言語特性、特に文法や構文を解析
して両言語間の対応付けを行ったものであり、必要に応
じて、このデータベースへの追加・削除・変更を行うこ
とによってデータベースの内容が更新できるようになっ
ている。これによりプログラム言語の適正な変換がなさ
れ、変換効率を高めることができる。
【0020】<プログラム言語変換装置>図5は、この
ようなプログラム言語変換方法を採用したプログラム言
語変換装置の構成について示したものである。この変換
装置は、装置全体を統括・制御する中央処理装置10
と、言語変換プログラムをロードしておくメモリ11
と、上述した特性部変換データベース12と、CHIL
L言語ソースモジュールおよびC言語ソースモジュール
がファイル形式で保存されている記憶装置13と、ユー
ザが入力指示を与える入力装置14と、プリンタなどの
出力装置15とで構成される。
【0021】ユーザが入力装置14から言語変換の開始
指令を与えると、メモリ11上に言語変換プログラムが
ロードされ、この言語変換プログラムからの指令を受け
て、中央処理装置10は、記憶装置13からCHILL
言語ソースモジュールファイルを読み出し、そのモジュ
ールに記述されている1ワードごとに、特性部変換デー
タベース12に変換規則が規定されているかを調査す
る。
【0022】変換規則が規定されている場合には、その
変換規則に基づいてC言語ソースモジュールファイルに
変換後の文字列を出力する。変換規則が規定されていな
い場合には、上述したようにコメント文などをC言語ソ
ースモジュールファイルに出力する。このC言語ソース
モジュールは、Cコンパイラによってコンパイルおよび
所定のライブラリとリンクされ、実行モジュールが作成
される。コンパイル時のエラーや完成したC言語ソース
モジュールのリストは出力装置15から出力することが
できる。なお、この変換装置は、例えばUNIXワーク
ステーションと、その周辺機器で構成することができ
る。
【0023】
【発明の効果】以上詳細に説明したように、この発明に
よれば、次のような効果がある。まず、従来、プログラ
マのスキルに頼る部分が大きかった異種言語間のプログ
ラム移植に際し、言語仕様の差異を分析することによっ
て言語レベルで変換することができる。また、このよう
な言語仕様の分析のみでは変換できない部分について
は、変換形式をデータベース化し、対応する文字列を出
力することによって、変換可能となる。このように異種
言語間で変換効率を高めたことによって、プログラムの
移植作業が効率化され、人手による修正作業を大幅に削
減することができる。
【図面の簡単な説明】
【図1】既存運用中の交換機Aと新ノード交換機Bにお
けるソフトウェア構成の概略について示したものであ
る。
【図2】変換元のプログラムであるCHILL言語ソー
スモジュールを変換先のC言語ソースモジュールへ移植
する際の言語変換処理の流れについて示したものであ
る。
【図3】特性部変換データベースの構造について示した
ものである。
【図4】CHILL言語とC言語の変換規則について示
したものである。
【図5】プログラム言語変換装置の構成について示した
ものである。
【図6】従来より行われている言語移植の工程について
示したものである。
【符号の説明】 1 OS(オペレーティングシステム) 2 システム管理部 3 保守運用部 4 呼処理機能部 10 中央処理装置 11 メモリ 12 特性部変換データベース 13 記憶装置 14 入力装置 15 出力装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 荒居 裕二 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内 (72)発明者 荒木 勇次郎 東京都港区港南一丁目9番1号 エヌ・テ ィ・ティ・コミュニケーションウェア株式 会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 第1のプログラム言語で記述された第1
    のソースプログラムに対して、第2のプログラム言語で
    記述するための変換処理を行って第2のソースプログラ
    ムに出力するプログラム言語変換方法において、 前記2つのプログラム言語間の変換規則を規定したデー
    タベースに、前記第1のソースプログラムから読み出し
    た文字列に対する変換規則が規定されているか否かにつ
    いて調査する調査過程と、 前記調査過程で前記データベースに前記変換規則が規定
    されているという調査結果が出された場合に当該変換規
    則に基づいて前記文字列の前記変換処理を行って前記第
    2のソースプログラムに出力する過程と、 前記調査過程で前記データベースに前記変換規則が規定
    されていないという調査結果が出された場合に所定の処
    理を行う過程と、 を備えたことを特徴とするプログラム言語変換方法。
  2. 【請求項2】 第1のプログラム言語で記述された第1
    のソースプログラムに対して、第2のプログラム言語で
    記述するための変換処理を行って第2のソースプログラ
    ムに出力するプログラム言語変換装置において、 前記2つのプログラム言語間の変換規則を規定したデー
    タベースと、 前記第1のソースプログラムから読み出した文字列に対
    する変換規則が前記データベースに規定されているか否
    かについて調査する調査手段と、 前記調査手段によって前記データベースに前記変換規則
    が規定されているという調査結果が出された場合に当該
    変換規則に基づいて前記文字列の前記変換処理を行って
    前記第2のソースプログラムに出力する手段と、 前記調査手段によって前記データベースに前記変換規則
    が規定されていないという調査結果が出された場合に所
    定の処理を行うよう指示を与える手段と、 を備えたことを特徴とするプログラム言語変換装置。
  3. 【請求項3】 第1のプログラム言語で記述された第1
    のソースプログラムに対して、第2のプログラム言語で
    記述するための変換処理を行って第2のソースプログラ
    ムに出力する言語変換プログラムを記録した記録媒体に
    おいて、 前記言語変換プログラムは、 前記2つのプログラム言語間の変換規則を規定したデー
    タベースに、前記第1のソースプログラムから読み出し
    た文字列に対する変換規則が規定されているか否かにつ
    いて調査する調査過程と、 前記調査過程で前記データベースに前記変換規則が規定
    されているという調査結果が出された場合に当該変換規
    則に基づいて前記文字列の前記変換処理を行って前記第
    2のソースプログラムに出力する過程と、 前記調査過程で前記データベースに前記変換規則が規定
    されていないという調査結果が出された場合に所定の処
    理を行う過程と、 を備えたことを特徴とする記録媒体。
JP10135726A 1998-05-18 1998-05-18 プログラム言語変換方法、変換装置および記録媒体 Pending JP2000029678A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10135726A JP2000029678A (ja) 1998-05-18 1998-05-18 プログラム言語変換方法、変換装置および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10135726A JP2000029678A (ja) 1998-05-18 1998-05-18 プログラム言語変換方法、変換装置および記録媒体

Publications (1)

Publication Number Publication Date
JP2000029678A true JP2000029678A (ja) 2000-01-28

Family

ID=15158456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10135726A Pending JP2000029678A (ja) 1998-05-18 1998-05-18 プログラム言語変換方法、変換装置および記録媒体

Country Status (1)

Country Link
JP (1) JP2000029678A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011756A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
JP2007310653A (ja) * 2006-05-18 2007-11-29 Fuji Electric Fa Components & Systems Co Ltd ソースプログラムの言語変換装置
JP2011086319A (ja) * 2011-02-01 2011-04-28 Systems:Kk プログラムの生産方法および生産装置
CN102222004A (zh) * 2011-07-01 2011-10-19 福建富士通信息软件有限公司 交换机专用语言转换为c语言的方法
CN103150200A (zh) * 2013-04-08 2013-06-12 西安电子科技大学 一种计算机语言转换系统及c语言到msvl语言的转换方法
JP2017204213A (ja) * 2016-05-13 2017-11-16 日本電信電話株式会社 設定サーバ、設定方法および設定プログラム
CN112181489A (zh) * 2020-09-28 2021-01-05 中国平安人寿保险股份有限公司 代码迁移方法、装置、计算机设备及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011756A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
JP4724387B2 (ja) * 2004-06-24 2011-07-13 富士通株式会社 プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
JP2007310653A (ja) * 2006-05-18 2007-11-29 Fuji Electric Fa Components & Systems Co Ltd ソースプログラムの言語変換装置
JP2011086319A (ja) * 2011-02-01 2011-04-28 Systems:Kk プログラムの生産方法および生産装置
CN102222004A (zh) * 2011-07-01 2011-10-19 福建富士通信息软件有限公司 交换机专用语言转换为c语言的方法
CN103150200A (zh) * 2013-04-08 2013-06-12 西安电子科技大学 一种计算机语言转换系统及c语言到msvl语言的转换方法
JP2017204213A (ja) * 2016-05-13 2017-11-16 日本電信電話株式会社 設定サーバ、設定方法および設定プログラム
CN112181489A (zh) * 2020-09-28 2021-01-05 中国平安人寿保险股份有限公司 代码迁移方法、装置、计算机设备及存储介质
CN112181489B (zh) * 2020-09-28 2023-07-25 中国平安人寿保险股份有限公司 代码迁移方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US5778212A (en) Interprocedural analysis user interface
US5812855A (en) System and method for constaint propagation cloning for unknown edges in IPA
US11579856B2 (en) Multi-chip compatible compiling method and device
WO1990001738A1 (en) Machine process for translating programs in binary machine language into another binary machine language
US20030115576A1 (en) Breakpoint safety net
JP2000029678A (ja) プログラム言語変換方法、変換装置および記録媒体
US20230113783A1 (en) Cross-platform code conversion method and device
CN114840195B (zh) 一种针对iOS SDK静态库的私有化方法
Gough et al. An experiment in mixed compilation/interpretation
KR100309674B1 (ko) 실시간데이터베이스관리시스템의트랜잭션전처리방법
JPH04148336A (ja) Fortranプログラム文法解析方式
JPH04324525A (ja) プログラム移植支援装置
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH0695868A (ja) ソフトウェア管理方式
JPH0385639A (ja) プログラム言語翻訳機
JPH05150998A (ja) コンパイラ
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
JPH0371229A (ja) プログラム制御装置
JPH03268029A (ja) 構文チェッカ
JPS58169637A (ja) コンパイル処理方式
JPH04364537A (ja) 並列処理用プログラム最適化方法、装置およびコンパイラ
JPH06266562A (ja) オブジェクト指向言語処理システムにおける目的コードサイズ最適化方式
JPH0279127A (ja) フォートラン・コンパイル処理方式
JPS63317826A (ja) シンボリックデバッグ方式
JPH10289109A (ja) コンパイル制御方法、コンパイル装置及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041124