JP2003330729A - コンパイラ装置 - Google Patents

コンパイラ装置

Info

Publication number
JP2003330729A
JP2003330729A JP2002138885A JP2002138885A JP2003330729A JP 2003330729 A JP2003330729 A JP 2003330729A JP 2002138885 A JP2002138885 A JP 2002138885A JP 2002138885 A JP2002138885 A JP 2002138885A JP 2003330729 A JP2003330729 A JP 2003330729A
Authority
JP
Japan
Prior art keywords
file
constant
compiler
source
constant information
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.)
Withdrawn
Application number
JP2002138885A
Other languages
English (en)
Inventor
Masatoshi Saito
正年 齋藤
Keiichi Hamada
慶一 濱田
Kenji Kitamura
健司 北村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002138885A priority Critical patent/JP2003330729A/ja
Publication of JP2003330729A publication Critical patent/JP2003330729A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 定数情報ファイルのみの変更を可能とし、ソ
ースファイルのメンテナンス時間を短縮させたコンパイ
ラ装置を得る。 【解決手段】 ソースファイル2を変換してオブジェク
トファイル1を生成するコンパイラ4Aと、オブジェク
トファイル1をターゲットマシン12Aに転送する通信
手段5Aとを備え、コンパイラ4Aは、オブジェクトフ
ァイル1を生成するとともに、ソースファイル2の定数
データを抽出して定数情報ファイル6として自動生成
し、定数情報ファイル6の定数データは、ユーザにより
変更可能に構成され、通信手段5Aは、オブジェクトフ
ァイル1とともに、定数情報ファイル6の定数データを
ターゲットマシン12Aに転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ソースファイル
からオブジェクトファイルを生成するコンパイラ装置に
関し、特にソースファイルのメンテナンス時間を短縮す
ることのできるコンパイラ装置に関するものである。
【0002】
【従来の技術】図6はたとえば特開平11−24937
号公報に示された従来のコンパイラ装置を示すブロック
構成図である。図6において、11はコンパイラ装置、
12はコンパイラ装置11に接続された制御用計算機な
どのターゲットマシンである。
【0003】1はオンラインで用いられるオブジェクト
ファイルであり、コンパイラ装置11およびターゲット
マシン12内にそれぞれ設けられている。2はコンピュ
ータにおいてソースとなるソースファイルであり、コン
パイラ装置11内において、オブジェクトファイル1を
生成するために用いられる。
【0004】3はコンパイラ装置11内の定義ファイル
であり、オブジェクトファイル1およびソースファイル
2のそれぞれの構造および両者の関係を定義している。
4はコンパイラ装置11内のコンパイラであり、ソース
ファイル2および定義ファイル3を読み込んでオブジェ
クトファイル1を生成する。
【0005】5はコンパイラ装置11に設けられた通信
手段であり、コンパイラ装置11内で生成されたオブジ
ェクトファイル1をターゲットマシン12上に転送す
る。
【0006】次に、図6に示した従来のコンパイラ装置
による動作について説明する。まず、ユーザは、オブジ
ェクトファイル1の元となるソースファイル2および定
義ファイル3を、専用のビルダまたはテキストエディタ
(図示せず)を用いて作成する。
【0007】コンパイラ4は、ソースファイル2および
定義ファイル3を読み込み、定義ファイル3を参照しな
がら、定義内容にしたがってソースファイル2のデータ
を変換し、オブジェクトファイル1に書き込むことによ
り、オブジェクトファイル1を生成する。
【0008】生成されたオブジェクトファイル1は、通
信手段5によりターゲットマシン12に転送される。こ
れにより、ターゲットマシン12は、転送されたオブジ
ェクトファイル1にしたがって所定の処理を実行する。
【0009】
【発明が解決しようとする課題】従来のコンパイラ装置
は以上のように、コンパイラ4が生成するオブジェクト
ファイル1をそのままターゲットマシン12に転送して
いるので、コンパイル後にユーザがソースファイル2の
定数データを書き換えた場合には、再度コンパイルを実
行してオブジェクトファイル1を生成し直さなければな
らず、パラメータ調整など頻繁に定数データを書き換え
る必要がある場合には、多大な時間をコンパイルに要す
るという問題点があった。
【0010】この発明は上記のような問題点を解決する
ためになされたもので、コンパイラが生成するオブジェ
クトファイルから定数データの情報を分離して、オブジ
ェクトファイルのみならず定数情報ファイルを生成する
ことにより、定数情報ファイルのみの変更を可能とし、
ソースファイルのメンテナンス時間を短縮させたコンパ
イラ装置を得ることを目的とする。
【0011】
【課題を解決するための手段】この発明に係るコンパイ
ラ装置は、コンピュータにおいてソースとなるソースフ
ァイルと、オンラインに用いられるオブジェクトファイ
ルと、ソースファイルを変換してオブジェクトファイル
を生成するコンパイラと、オブジェクトファイルをター
ゲットマシンに転送する通信手段とを備え、コンパイラ
は、オブジェクトファイルを生成するとともに、ソース
ファイルの定数データを抽出して定数情報ファイルとし
て自動生成し、定数情報ファイルの定数データは、ユー
ザにより変更可能に構成され、通信手段は、オブジェク
トファイルとともに、定数情報ファイルの定数データを
ターゲットマシンに転送するものである。
【0012】また、この発明に係るコンパイラ装置は、
定数情報ファイルとソースファイルとの間に設けられた
定数情報編集処理部を備え、定数情報編集処理部は、定
数情報ファイルの内容変更時に、内容変更部分に対応し
たソースファイル内の定数データ部分を書き換えて、ソ
ースファイルと定数情報ファイルの整合性を常に保持さ
せるものである。
【0013】
【発明の実施の形態】実施の形態1.以下、図面を参照
しながら、この発明の実施の形態1について詳細に説明
する。図1はこの発明の実施の形態1を示すブロック構
成図であり、前述(図6参照)と同様のものについて
は、同一符号を付して、または符号の後に「A」を付し
て詳述を省略する。
【0014】図1において、6はコンパイラ装置11A
内の定数情報ファイルであり、コンパイラ4Aにおい
て、ソースファイル2の定数データが抽出されることに
より生成される。
【0015】通信手段5Aは、コンパイラ4Aにより生
成されたオブジェクトファイル1および定数情報ファイ
ル6をターゲットマシン12A上に転送する。定数情報
ファイル6は、通信手段5Aによって、ターゲットマシ
ン12A上に定数データ7として展開される。
【0016】この場合、コンパイラ4Aは、ソースファ
イル2を変換して生成されるオブジェクトファイル1
と、ソースファイル2の定数データとを、定数情報ファ
イル6として自動生成するようになっている。
【0017】すなわち、コンパイラ4Aは、ソースファ
イル2を変換してオブジェクトファイル1を生成する際
に、ソースファイル2から定数データを自動的に定数情
報ファイル6としてオブジェクトファイル1から分離し
て生成し、オブジェクトファイル1および定数情報ファ
イル6を、通信手段5Aを用いてターゲットマシン12
Aに転送する。
【0018】図2は図1内の定数情報ファイル6の一例
を示す説明図である。図2において、第1列のリソース
位置a、b、c、・・・は、ソースファイル2の定数デ
ータ位置を示す位置情報である。
【0019】また、第2列の配置先アドレスa、b、
c、・・・は、ターゲットマシン上で展開されるアドレ
ス情報である。さらに、第3列は定数データのデータ
型、第4列はソースファイル2から抽出した定数データ
をそれぞれ示している。
【0020】次に、図3を参照しながら、図1に示した
この発明の実施の形態1による動作について説明する。
図3はこの発明の実施の形態1によりオブジェクトファ
イル1を生成する際の処理手順を示すフローチャートで
ある。
【0021】まず、従来と同様に、ユーザは、専用のビ
ルダまたはテキストエディタなどによりオブジェクトフ
ァイル1の元となるソースファイル2を作成するととも
に、オブジェクトファイル1の生成に必要な定義を記述
した定義ファイル3を作成する(ステップS1)。
【0022】次に、コンパイラ4Aを起動してコンパイ
ルを開始する(ステップS2)。これにより、コンパイ
ラ4Aは、ソースファイル2および定義ファイル3を読
み込み、定義ファイル3の定義内容にしたがってソース
ファイル2を解析し、ソースファイル2に定数データが
存在するか否かを判定する(ステップS3)。
【0023】ステップS3において、定数データが存在
しない(すなわち、NO)と判定されればステップS5
に進み、定数データが存在する(すなわち、YES)と
判定されれば、見つかった定数データを抽出し、定数情
報として定数情報ファイル6を生成する(ステップS
4)。
【0024】次に、定義ファイル3を参照しながら、定
数データが抽出されたソースファイル2を変換して、オ
ブジェクトファイル1を生成する(ステップS5)。最
後に、通信手段5Aは、生成されたオブジェクトファイ
ル1および定数情報ファイル6をターゲットマシン12
A上に転送する(ステップS6)。
【0025】これにより、コンパイラ装置11A内の定
数情報ファイル6は、ターゲットマシン12A上で、配
置先アドレスにしたがって、定数データ7として展開さ
れる。この結果、コンパイラ4Aが生成するオブジェク
トファイル1から定数データが分離される。
【0026】したがって、コンパイル後のソースファイ
ル2内の定数データを変更する場合には、定数情報ファ
イル6の内容のみ変更すれば良く、再度コンパイルを実
行する必要が無いので、ソースファイル2のメンテナン
ス時間を短縮することができる。
【0027】実施の形態2.なお、上記実施の形態1で
は、定数情報ファイル6の内容変更時における定数情報
ファイル6とソースファイル2との整合性について特に
考慮しなかったが、定数情報ファイル6とソースファイ
ル2との整合性を常に保持させるための定数情報編集処
理部をコンパイラ装置内に設けてもよい。
【0028】以下、図4および図5を参照しながら、定
数情報編集処理部を設けたこの発明の実施の形態2につ
いて説明する。図4はこの発明の実施の形態2を示すブ
ロック構成図であり、前述(図1参照)と同様のものに
ついては、同一符号を付して、または符号の後に「B」
を付して詳述を省略する。
【0029】図4において、8はコンパイラ装置11B
内に設けられた定数情報編集処理部であり、定数情報フ
ァイル6の内容を変更すると同時に、ソースファイル2
内の対応する定数データ部分を書き換えて、ソースファ
イル2と定数情報ファイル6との整合性を常に保持させ
る。
【0030】すなわち、定数情報編集処理部8は、コン
パイラ4Aにより生成された定数情報ファイル6の定数
データと、対応するソースファイル2の定数データとを
変更する。
【0031】この場合、定数情報ファイル6の定数デー
タがユーザによって変更された場合、変更された定数デ
ータが定数情報ファイル6に更新されると同時に、定数
情報得4編集処理部8は、定数情報ファイル6の元とな
っているソースファイル2内の該当する定数データ位置
を検出して、新しい定数データに書き換える。
【0032】次に、図5を参照しながら、この発明の実
施の形態2による処理動作について説明する。図5はこ
の発明の実施の形態2により定数情報ファイル6を編集
する際の処理手順を示すフローチャートである。
【0033】図5において、まず、定数情報編集処理部
8は、定数情報ファイル6から定数データを読み出す
(ステップS11)。続いて、ユーザは、定数データを
変更する(ステップS12)。
【0034】これに応答して、定数情報編集処理部8
は、定数情報ファイル6の内容を更新し(ステップS1
3)、定数情報ファイル6に記録されているリソース位
置から、ソースファイル2の該当する定数データ部分を
検出し(ステップS14)、定数データを新しい定数デ
ータに書き換える(ステップS15)。
【0035】このように、ユーザが定数情報ファイル6
の定数データを変更する際に、定数情報ファイル6の内
容変更と同時に、定数情報編集処理部8が、ソースファ
イル2内の対応する定数データ部分を自動的に書き換え
ることにより、ソースファイル2と定数情報ファイル6
の整合性を常に保持させることができる。
【0036】また、ソースファイル2の該当する定数デ
ータ部分が自動的に書き換えられるので、定数データの
変更をさらに容易にすることができる。
【0037】
【発明の効果】以上のように、この発明によれば、コン
ピュータにおいてソースとなるソースファイルと、オン
ラインに用いられるオブジェクトファイルと、ソースフ
ァイルを変換してオブジェクトファイルを生成するコン
パイラと、オブジェクトファイルをターゲットマシンに
転送する通信手段とを備え、コンパイラは、オブジェク
トファイルを生成するとともに、ソースファイルの定数
データを抽出して定数情報ファイルとして自動生成し、
定数情報ファイルの定数データは、ユーザにより変更可
能に構成され、通信手段は、オブジェクトファイルとと
もに、定数情報ファイルの定数データをターゲットマシ
ンに転送するようにしたので、定数情報ファイルのみの
変更を可能とし、ソースファイルのメンテナンス時間を
短縮させたコンパイラ装置が得られる効果がある。
【0038】また、この発明に係るコンパイラ装置は、
定数情報ファイルとソースファイルとの間に設けられた
定数情報編集処理部を備え、定数情報編集処理部は、定
数情報ファイルの内容変更時に、内容変更部分に対応し
たソースファイル内の定数データ部分を書き換えて、ソ
ースファイルと定数情報ファイルの整合性を常に保持さ
せるようにしたので、ソースファイルと定数情報ファイ
ルの整合性を常に保持させることのできるコンパイラ装
置が得られる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1を示すブロック構成
図である。
【図2】 この発明の実施の形態1による定数情報ファ
イルの構造の一例を示す説明図である。
【図3】 この発明の実施の形態1によるコンパイル処
理手順を示すフローチャートである。
【図4】 この発明の実施の形態2を示すブロック構成
図である。
【図5】 この発明の実施の形態2による定数情報ファ
イルの編集処理手順を示すフローチャートである。
【図6】 従来のコンパイラ装置を示すブロック構成図
である。
【符号の説明】
1 オブジェクトファイル、2 ソースファイル、3
定義ファイル、4Aコンパイラ、5A 通信手段、6
定数情報ファイル、7 定数データ、8 定数情報編集
処理部、11A、11B コンパイラ装置、12A タ
ーゲットマシン。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北村 健司 兵庫県神戸市兵庫区浜山通6丁目1番2号 三菱電機コントロールソフトウエア株式 会社内 Fターム(参考) 5B081 CC41 CC43

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータにおいてソースとなるソー
    スファイルと、 オンラインに用いられるオブジェクトファイルと、 前記ソースファイルを変換して前記オブジェクトファイ
    ルを生成するコンパイラと、 前記オブジェクトファイルをターゲットマシンに転送す
    る通信手段とを備えたコンパイラ装置において、 前記コンパイラは、前記オブジェクトファイルを生成す
    るとともに、前記ソースファイルの定数データを抽出し
    て定数情報ファイルとして自動生成し、 前記定数情報ファイルの定数データは、ユーザにより変
    更可能に構成され、 前記通信手段は、前記オブジェクトファイルとともに、
    前記定数情報ファイルの定数データを前記ターゲットマ
    シンに転送することを特徴とするコンパイラ装置。
  2. 【請求項2】 前記定数情報ファイルと前記ソースファ
    イルとの間に設けられた定数情報編集処理部を備え、 前記定数情報編集処理部は、前記定数情報ファイルの内
    容変更時に、内容変更部分に対応した前記ソースファイ
    ル内の定数データ部分を書き換えて、前記ソースファイ
    ルと前記定数情報ファイルの整合性を常に保持させるこ
    とを特徴とする請求項1に記載のコンパイラ装置。
JP2002138885A 2002-05-14 2002-05-14 コンパイラ装置 Withdrawn JP2003330729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002138885A JP2003330729A (ja) 2002-05-14 2002-05-14 コンパイラ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002138885A JP2003330729A (ja) 2002-05-14 2002-05-14 コンパイラ装置

Publications (1)

Publication Number Publication Date
JP2003330729A true JP2003330729A (ja) 2003-11-21

Family

ID=29700212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002138885A Withdrawn JP2003330729A (ja) 2002-05-14 2002-05-14 コンパイラ装置

Country Status (1)

Country Link
JP (1) JP2003330729A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053406A (ja) * 2004-08-13 2006-02-23 Fujitsu Ltd オブジェクトファイル配信方法、オブジェクトファイル配信システム、および電子機器
JP4783289B2 (ja) * 2004-06-28 2011-09-28 パナソニック株式会社 プログラム生成装置、プログラムテスト装置、プログラム実行装置、及び情報処理システム
KR101548960B1 (ko) 2008-09-16 2015-09-01 삼성전자주식회사 가상 플랫폼을 이용한 프로그램 작성과 디버깅 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4783289B2 (ja) * 2004-06-28 2011-09-28 パナソニック株式会社 プログラム生成装置、プログラムテスト装置、プログラム実行装置、及び情報処理システム
US8307354B2 (en) 2004-06-28 2012-11-06 Panasonic Corporation Program creation device, program test device, program execution device, information processing system
JP2006053406A (ja) * 2004-08-13 2006-02-23 Fujitsu Ltd オブジェクトファイル配信方法、オブジェクトファイル配信システム、および電子機器
KR101548960B1 (ko) 2008-09-16 2015-09-01 삼성전자주식회사 가상 플랫폼을 이용한 프로그램 작성과 디버깅 방법 및 장치

Similar Documents

Publication Publication Date Title
JP2004086863A (ja) ソフトウェア導入方法、その方法をコンピュータに実行させるプログラム及びそのプログラムを格納した媒体
JP2003330729A (ja) コンパイラ装置
JP2009134445A (ja) ソフトウェア部品抽出支援装置
JP2007079955A (ja) 情報処理方法および装置、記録媒体、並びにプログラム
JPH05113882A (ja) 中間フアイルによる外付けマン・マシン・インターフエース実現方式
JP2002297343A (ja) プリンタドライバ及びその追加モジュール
JPH11259288A (ja) デグレードチェック装置
JP2008299763A (ja) 分散オブジェクト開発ツール
JP2007083444A (ja) 画像形成装置、制御方法、制御プログラムおよび記憶媒体
JP2003058336A (ja) プリンタ制御装置
JPH09101899A (ja) 手続きのプロセス化方式
JP2005165584A (ja) プログラム作成システム及び方法
JP2015125487A (ja) 情報処理装置、情報処理方法、およびプログラム
JPH103382A (ja) オペレーティングシステム生成装置および生成方法
JPH09167247A (ja) 色分版用ファイル作成装置
JP2000322248A (ja) ソフトウェアコンポーネント編集表示システムおよび記録媒体
JP2000035882A (ja) 関数呼び出しの手順を動的に変更する方法
JPS6381543A (ja) フアイル管理方式
JP2004199369A (ja) Webアプリケーションシステム
JP2009099068A (ja) モーションコントローラおよびモーションプログラム有効軸判別方法
JP2003280857A (ja) 印刷方法及び印刷システム
JP2006085407A (ja) プログラム間通信システム、プログラム間通信方法、データ構造生成システムおよびプログラム
JP2009037399A (ja) コンフィギュレーションコード生成装置およびコンフィギュレーションコード生成装置用プログラム
JP2008107908A (ja) データ解析システム
JP2003271207A (ja) プログラムの実行方式及びプログラム開発支援装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802