JPH1185486A - プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体 - Google Patents

プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体

Info

Publication number
JPH1185486A
JPH1185486A JP9249111A JP24911197A JPH1185486A JP H1185486 A JPH1185486 A JP H1185486A JP 9249111 A JP9249111 A JP 9249111A JP 24911197 A JP24911197 A JP 24911197A JP H1185486 A JPH1185486 A JP H1185486A
Authority
JP
Japan
Prior art keywords
editing
program
source program
display data
compile
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
JP9249111A
Other languages
English (en)
Inventor
Kazuyuki Watanabe
和之 渡辺
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9249111A priority Critical patent/JPH1185486A/ja
Priority to US09/027,903 priority patent/US6151699A/en
Publication of JPH1185486A publication Critical patent/JPH1185486A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

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

Abstract

(57)【要約】 【課題】複雑なプログラムであっても、プログラミング
ミスを起こすことなくプログラムを簡単に編集すること
ができるプログラム編集装置を提供すること。 【解決手段】プログラム編集装置は、ソースプログラム
格納部14,条件入力部20,表示データ生成部26,
及び表示部18aを備える。ソースプログラム格納部は
ソースプログラムを格納し、条件入力部はソースプログ
ラムに含まれるコンパイル条件の何れかを入力する。表
示データ生成部は、この条件入力手段によって入力され
たコンパイル条件でコンパイル対象となる本文を抽出す
ることにより表示データを生成し、表示部はこの表示デ
ータに基づいた表示を行う。これによって、コンパイル
条件に関連する本文のみが表示部に表示される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム編集装
置に関し、特に、コンパイル条件が指定されたソースプ
ログラムの編集に用いられるプログラム編集装置,プロ
グラム編集方法,及びコンピュータ可読媒体に関する。
【0002】
【従来の技術】近年、C言語、アセンブラ、COBOL
等のプログラミング言語で書かれたプログラムを開発す
る際、プログラムの一部を変更して新たなプログラムを
開発することが多い。例えば、オリジナルのプログラム
をバージョンアップしたり、ハードウェア構成に応じて
オリジナルのプログラムを改良することによって、プロ
グラムが開発されている。このように、プログラムの一
部を変更して新たなプログラムを開発する場合には、編
集プログラム(エディタ)を使用して、プログラムを編集
することが多い。エディタを使用すると、プログラマや
オペレータの負担を軽減し、プログラム開発における生
産性を向上させることができるからである。
【0003】また、あるプログラムを様々な機種(ハー
ドウェア)で使用可能にするために、すなわち、汎用性
のあるプログラムを開発するために、使用されるコンピ
ュータの機種に応じたコンパイル条件がプログラムに設
定(記述)される場合がある。このコンパイル条件は、あ
る機種用のオブジェクトプログラムを編集する際にのみ
コンパイルされるソースプログラムの本文を識別可能と
するために、例えば、その内容を示すプリプロセッサ制
御文をソースプログラムに記述することによって指定さ
れる。プリプロセッサは、ソースプログラムをコンパイ
ルする前に、指示された内容に従ってこのソースプログ
ラムを書き直す処理,即ち、前段の処理であり、プリプ
ロセッサ制御文は、プリプロセッサの内容を示すため
に、ソースプログラムに記述される。そして、使用する
機種に応じてコンパイル条件が指定されると、プログラ
ムのコンパイル前に、指定されたコンパイル条件が設定
された部分,及びコンパイル条件如何に拘わらずに必要
な部分のみがソースプログラムから抽出され、抽出され
た部分のみがコンパイラによってコンパイルされる。
【0004】このように、オリジナルのソースプログラ
ムに様々なコンパイル条件が設定されるにしたがって、
このソースプログラムが複雑になるので、このソースプ
ログラムの編集作業が煩雑になる。このため、様々なコ
ンパイル条件が設定されることによって複雑になったソ
ースプログラムについても容易に編集することが可能な
プログラム編集装置が、要望されている。
【0005】従来、プログラム編集方法として、ソース
プログラムをそのまま表示してソースプログラムを編集
する方法、複雑なソースプログラムを分割して編集する
方法等がある。
【0006】
【発明が解決しようとする課題】しかしながら、ソース
プログラムをそのまま表示して編集する方法では、様々
なコンパイル条件が設定されることによって、ソースプ
ログラムが複雑になった場合には、そのプログラマは、
その複雑なコンパイル条件の設定を含むソースプログラ
ムを理解することが、難しくなる。そのため、プログラ
ミングミスを起こす可能性が高くなるという問題があ
る。
【0007】また、ソースプログラムを分割して編集す
る方法では、分割されたソースプログラムの管理が難し
くなる。このため、プログラミングミスを起こす可能性
が高くなる問題や、ソースプログラムの編集作業が煩雑
になるという問題がある。
【0008】そこで、本発明は、複雑なプログラムであ
っても、プログラミングミスを起こすことなく、プログ
ラムを簡単に編集することができるプログラム編集装
置,プログラム編集方法,及びコンピュータ可読媒体を
提供することを課題とする。
【0009】
【課題を解決するための手段】本発明は、前記課題を解
決するために以下のような手段を採用した。すなわち、
本発明は、ソースプログラム格納手段から読み出した少
なくとも1つのコンパイル条件を含むソースプログラム
を編集するプログラム編集装置であって、条件入力手段
と、表示データ生成手段と、表示手段とを備えている。
【0010】ソースプログラム格納部は、ソースプログ
ラムを格納する。条件入力部は、ソースプログラムに含
まれるコンパイル条件のいずれかを入力する。表示デー
タ生成手段は、条件入力手段によって入力されたコンパ
イル条件で指定されたコンパイル対象となる本文をソー
スプログラムから抽出することによって、表示データを
生成する。表示手段は、この表示データに基づいた表示
を行う。
【0011】この構成によれば、編集対象であるソース
プログラムが、ソースプログラム格納手段から読み出さ
れる。読み出されたソースプログラムに含まれるコンパ
イル条件のいずれかが、入力される。コンパイル条件が
入力されると、コンパイル条件が入力された場合にコン
パイル対象となる本文を、ソースプログラム格納部から
読み出したソースプログラムから抽出することによっ
て、表示データが生成される。そして、この表示データ
が表示される。これにより、コンパイル条件が入力され
た場合にコンパイル対象となる本文のみが表示される。
従って、編集者は、容易にソースプログラムを理解する
ことができ、プログラミングミスを減らすことができ
る。
【0012】また、本発明によるプログラム編集装置
は、表示データを編集する表示データ編集手段と、条件
入力手段によって入力されたコンパイル条件,及び表示
データ生成手段によって生成された表示データに基づい
てソースプログラムを自動的に編集する自動編集手段
と、この自動編集手段によって編集されたソースプログ
ラムをソースプログラム格納部に保存する保存手段とを
備えていても良い。
【0013】この構成によれば、条件入力手段によって
入力されたコンパイル条件,及び表示データ生成手段に
よって生成された表示データに基づいて、ソースプログ
ラム格納手段から読み出したソースプログラムは、自動
的に編集される。そして、自動編集されたソースプログ
ラムは、ソースプログラム格納手段に格納される。これ
により、一旦コンパイル条件を入力した後、表示データ
を編集すれば、入力されたコンパイル条件,及び編集さ
れた表示データに基づいて、ソースプログラムは、自動
的に編集されて格納される。従って、編集作業が煩わし
くない。
【0014】また、本発明によるプログラム編集装置
は、表示データ生成手段が、条件入力手段によって入力
されたコンパイル条件にのみ関連する本文を強調するよ
うに表示データを生成する構成となっていても良い。
【0015】また、本発明は、少なくとも1つのコンパ
イル条件を含むソースプログラムを編集するプログラム
編集方法であって、編集プログラムを読み込む工程と、
前記編集プログラムによって編集されるソースプログラ
ムを読み込む工程と、前記ソースプログラムに含まれる
コンパイル条件のいずれかを入力する工程と、この工程
によって入力されたコンパイル条件で指定されたコンパ
イル対象となる本文を、ソースプログラムから抽出する
ことによって、表示データを生成する工程と、前記表示
データに基づいた表示を行う工程と、前記表示データを
編集する工程と、前記入力されたコンパイル条件,及び
前記生成された表示データに基づいて前記ソースプログ
ラムを編集する工程とから成ることを特徴とする。
【0016】また、本発明は、少なくとも1つのコンパ
イル条件を含むソースプログラムを編集する編集プログ
ラムを格納するコンピュータ可読媒体であって、前記編
集プログラムは、表示装置が接続されたコンピュータに
対して、前記ソースプログラムに含まれるコンパイル条
件のいずれかを入力する工程と、この工程によって入力
されたコンパイル条件で指定されたコンパイル対象とな
る本文を、ソースプログラムから抽出することによっ
て、表示データを生成する工程と、この表示データに基
づいた表示を前記表示装置上で行う工程と、前記表示デ
ータを編集する工程と、前記入力されたコンパイル条
件,及び前記編集された表示データに基づいて前記ソー
スプログラムを生成する工程とを行わしめることを特徴
とする。
【0017】
【発明の実施の形態】以下、図面を参照して、本発明の
実施形態を具体的に説明する。 <概略>図1は、本発明のプログラム編集装置の構成を
示す。図1に示すように、このプログラム編集装置10
は、編集プログラム格納部12と、ソースプログラム格
納部14と、CPU(Central Processing Unit)16
と、コンソール18とを備えている。
【0018】編集プログラム格納部12は、CPU16
で実行される編集プログラムを格納する。この編集プロ
グラムは、コンソール18から入力される編集コマンド
に応じて、編集プログラム格納部12からCPU16に
読み出される。編集プログラム格納部12は、RAM(R
andaom Access Memory), 磁気ディスク, 磁気テープ,光
磁気ディスク, IC(Integrated Circuit)カード, フラッ
シュメモリ等の記録媒体から構成されている。
【0019】ソースプログラム格納部14は、CPU1
6で編集されるソースプログラムを格納する。このソー
スプログラム格納部14は、編集プログラム格納部12
と同様の記録媒体から構成されている。このソースプロ
グラム格納部14に格納されているソースプログラム
は、編集対象となるプログラムであり、コンソール18
から入力される編集コマンドに応じてソースプログラム
格納部14から読み出される。また、このソースプログ
ラムは、本文、コメント、プリプロセッサ制御文等を含
むC言語で記述されている。
【0020】ここに、本文は、プログラム実行時に実際
に実行される命令文であり、実行前にコンパイルされる
部分である。また、コメントは、プログラムの処理に関
係のない注釈文であり、コンパイルされない部分であ
る。また、プリプロセッサ制御文は、コンパイルを実行
する前処理を示すと共に、マクロ定義, ファイルの取り
込み, コンパイル条件設定等をサポートする制御文であ
る。
【0021】コンソール18は、CPU16から出力さ
れるデータを表示すると共に、コンパイル条件の指定,
コマンド入力, データ入力等に使用される。このコンソ
ール18は、データを表示する表示部18aと、表示部
18aで表示されるデータを一時的に蓄えるメモリバッ
ファ18bとを備えている。
【0022】CPU16は、コンパイル条件入力部20
と、表示条件認識部22と、表示処理部24と、プログ
ラム編集部26と、表示条件認識部28と、自動編集部
30と、保存部32とを備えている。これらのコンパイ
ル条件入力部20〜保存部32は、編集プログラムをC
PU16で実行することによって、実現される。
【0023】コンパイル条件入力部20は、編集者(操
作者)がコンソール18を操作することによって入力さ
れたコンパイル条件を受け付ける。このコンパイル条件
は、所望の機種のコンピュータに対応しており、例えば
「AAA」と指定される。
【0024】表示条件認識部22は、コンパイル条件入
力部20が受け付けたコンパイル条件,即ち、指定され
たコンパイル条件「AAA」を認識(記憶)する。表示処理
部24は、表示部18aに表示される表示データを生成
する。具体的に述べると、表示処理部24は、ソースプ
ログラム格納部14から編集対象となるソースプログラ
ムを読み込み、読み込んだソースプログラム全体から、
表示条件認識部22が認識したコンパイル条件(指定さ
れたコンパイル条件)に従ったコンパイルの際に不要と
なる部分、即ち、他のコンパイル条件を示すプリプロセ
ッサ制御文に関連する本文,コメント,及びプリプロセ
ッサ制御文を削除することにより、表示データを生成す
る。
【0025】言い換えれば、表示データは、指定された
コンパイル条件に関連する本文(指定されたコンパイル
条件が設定されている本文及びこの本文と共に組をなす
他の本文),コメント,及び指定されたコンパイル条件
如何に拘わらずコンパイルされる(どの機種でも実行さ
れる)本文から、構成される。さらに、表示データで
は、指定されたコンパイル条件に関連する本文が強調さ
れる。
【0026】生成された表示データは、コンソール18
のメモリバッファ18bに転送される。表示部18a
は、メモリバッファ18bに格納されている表示データ
を随時読み出して、図示せぬディスプレイ上に表示す
る。
【0027】編集者は、図示せぬディスプレイ上に表示
されたデータ(本文)に対して編集作業を行う。具体的に
述べると、編集者は、図示せぬディスプレイ上に表示さ
れたデータに対する削除コマンド,追加コマンド,移動
コマンド等の編集コマンドを、コンソール18を介して
表示データ編集部26に入力する。なお、編集者は、デ
ータ編集を行う際に、モード設定コマンドを入力する、
このモード設定コマンドは、指定されたコンパイル条件
に関連する本文に対する編集を行うのか(第1モード)、
若しくは、指定されたコンパイル条件如何に拘わらずコ
ンパイルされる本文に対する編集を行うのか(第2モー
ド)を指定するためのコマンドである。モード設定コマ
ンドを入力することによって、編集者は、どちらの本文
に対する編集であるかを認識しながら編集作業を行うこ
とができる。
【0028】表示データ編集部26は、コンソール18
のメモリバッファ18bに格納されている表示データを
読み込むとともに、コンソール18を介して入力された
編集コマンドに従ってこの表示データに対する編集作業
を実行する。なお、この表示データ編集部26にて編集
された表示データは、表示処理部24に逐次フィードバ
ックされるので、表示部18aに表示されるデータは編
集内容を反映したものとなる。また、この表示データ編
集部26にて最終的に編集完了された表示データは、自
動編集部30に転送される。
【0029】保存条件認識部28は、コンパイル条件入
力部20で受け付けられたコンパイル条件,即ち、指定
されたコンパイル条件を、保存条件として認識する。こ
の保存条件は、表示データ編集部26によって編集され
た表示データ(本文)をソースプログラム格納部14内に
格納されているソースプログラムに反映させるときに使
用される条件である。
【0030】自動編集部30は、保存条件認識部28に
よって認識された保存条件に基づいて、表示データ編集
部26によって編集されたデータ(本文)を、ソースプロ
グラム格納部14に格納されているソースプログラムに
反映させる。このような反映を行うことにより、自動編
集部30は、ソースプログラムを自動的に編集する。
【0031】保存部18は、自動編集部30で編集され
たソースプログラムを、ソースプログラム格納部11に
オーバライトする。このように、コンパイル条件入力部
20〜表示処理部24は、ソースプログラムに含まれる
各文のうち、指定されたコンパイル条件に関連する本文
及び無条件にコンパイルされる本文のみを表示部18a
に表示し、かつ、指定されたコンパイル条件に関連する
本文のみを強調する。そして、プログラム編集部26〜
保存部32は、コンソール18から入力された編集内容
及び 保存条件に従って、ソースプログラムを自動的に
編集する。
【0032】この構成によれば、編集者が、ソースプロ
グラムの指定コマンドと編集コマンドとをコンソール1
8から入力すると、指定されたソースプログラムがソー
スプログラム格納部14からCPU16に読み込まれる
と共に、編集プログラムが編集プログラム格納部12か
らCPU16に読み込まれる。
【0033】そして、編集者が、コンパイル条件を指定
すると、表示処理部24は、指定されたコンパイル条件
に従ってコンパイルされる2種類の本文(指定されたコ
ンパイル条件に関連する本文と条件に関係なくコンパイ
ルされる本文)のみを含み、かつ、指定されたコンパイ
ル条件に関連する本文のみが強調された表示データを生
成する。
【0034】生成された表示データは、コンソール18
の表示部18aに表示される。編集者は、表示されたデ
ータに対して編集作業を行う。なお、データを編集する
とき、編集者は、モード設定コマンドを入力する。モー
ド設定コマンドは、指定されたコンパイル条件に関連す
る本文に対する編集(第1モード)であるか、条件に関係
なくコンパイルされる本文に対する編集(第2モード)で
あるかを設定するコマンドである。モード設定コマンド
を入力することによって、編集者は、どちらの本文に対
する編集であるかを認識しながら編集作業を行うことが
できる。
【0035】このように、コンパイル条件入力部20〜
表示処理部24は、ソースプログラムに含まれる各文の
うち、指定されたコンパイル条件に関する本文及び無条
件にコンパイルされる本文のみを表示部18aに表示
し、且つ、指定されたコンパイル条件に関連する本文の
みを強調する。そして、プログラム編集部26〜保存部
32は、コンソール18から入力された編集内容及び保
存条件に従って、ソースプログラムを自動的に編集す
る。
【0036】この構成によれば、編集者が、ソースプロ
グラムの指定コマンドと編集開始コマンドとをコンソー
ル18から入力すると、指定されたソースプログラムが
ソースプログラム格納部14からCPU16に読み込ま
れると共に、編集プログラムが編集プログラム格納部1
2からCPU16に読み込まれる。
【0037】そして、編集者が、コンパイル条件を指定
すると、表示処理部24は、指定されたコンパイル条件
に従ってコンパイルされる本文(指定されたコンパイル
条件に関連する本文,及び指定されたコンパイル条件如
何に拘わらずコンパイルされる本文)のみを含み、且
つ、指定されたコンパイル条件に関連する本文のみが強
調された表示データを生成する。
【0038】そして、上述したようにして編集者が編集
コマンドを入力すると、表示データ編集部26によって
表示データが編集される。このように表示データが編集
されると、編集された表示データは、表示データ編集部
26から自動編集部30に送られる。一方、保存条件認
識部28は、コンパイル条件入力部20が受け付けたコ
ンパイル条件を保存条件として認識する。認識された保
存条件は、保存条件認識部28から自動編集部30に送
られる。そして、自動編集部30は、編集された表示デ
ータ(本文)及び保存条件に基づいて、ソースプログラム
を自動的に編集する。編集されたソースプログラムは、
自動編集部30から保存部32に送られる。保存部32
は、編集されたソースプログラムをソースプログラム格
納部14にオーバーライトする。
【0039】このように、編集者は、様々なコンパイル
条件が指定された複雑なソースプログラムであっても、
プログラミングミスを起こすことなく、プログラムを簡
単に編集することができる。 <編集処理>次に、編集プログラム格納部12に格納さ
れている編集プログラムに従ったCPU16による編集
処理の流れについて、図2〜図7を参照して説明する。
なお、以下の説明は、C言語で記述されたソースプログ
ラムを編集プログラムで編集する例を用いて行う。C言
語で記述されたソースプログラムは、実際に実行される
プログラムの内容を示す本文と、コンパイルされない注
釈文(メモ)等を//で囲んで示すコメントと、先頭に#が
付されたプログラムの前処理を示すプリプロセッサ制御
文とから成る(図4及び図7参照)。
【0040】図2は、編集処理の概略を示すフローチャ
ートである。図2に示すように、編集処理は、処理A〜
処理Fに分けることができる。まず、CPU16は、指
定されたコンパイル条件AAAを記憶する(処理A)。次
に、CPU16は、指定されたコンパイル条件AAAに関
連する(#ifdef AAA,#endifで囲まれている)本文,及び
指定されたコンパイル条件如何に拘わらず無条件にコン
パイルされる本文を残し、それ以外の部分(つまり、他
のコンパイル条件に関連する本文,コメント,及びプリ
プロセッサ制御文)を削除する(処理B)。次に、CPU
16は、指定されたコンパイル条件AAAに関連する(#ifd
ef AAA,#endifで囲まれている)本文のみを、強調して表
示する(処理C)。
【0041】この表示がなされている間に、編集者は、
モード設定コマンドをコンソール18を介して入力する
ことによって、所望のモードを設定した後、表示されて
いる本文を編集する(処理D)。このとき、編集者は、モ
ードを設定することによって、指定されたコンパイル条
件AAAに関連する本文に対する編集(第1モード)である
か、又は、コンパイル条件AAA如何に拘わらず無条件に
コンパイルされる本文に対する編集(第2モード)である
かを識別した上で、編集内容を入力する。編集後、CP
U16は、処理Aにて記憶されたコンパイル条件AAAを
有効にする(再認識する)(処理E)。そして、CPU16
は、編集された表示データをソースプログラム格納部1
4に格納されているプログラムに反映させることによ
り、処理Bにて削除された箇所(他のコンパイル条件の
みに関連する本文, コメント, プリプロセッサ制御文)
を含むソースプログラムとして整形する(処理F)。
【0042】図3は、編集処理の内容を更に詳細に示す
フローチャートである。このフローチャートは、上述し
たように、編集者がコンソール18を介して入力した編
集開始コマンドをトリガとしてスタートする。そして、
図3に示すように、編集者がコンパイル条件「AAA」を
指定すると、CPU16の表示条件認識部22は、処理
Aを行い、編集者がコンソール18を介して入力するこ
とによって指定されたコンパイル条件AAAを、認識(記
憶)する(S101)。次に、図3に示される全ソースプ
ログラム(ソース41)が、ソースプログラム格納部14
からCPU16の表示処理部24に読み込まれる(S1
02)。
【0043】そして、CPU16の表示処理部24は、
処理Bを行い、指定されたもの以外のコンパイル条件に
関連する本文, コメント, プリプロセッサ制御文を削除
する(S103)。
【0044】処理Bは、図4の例に示すように、コンパ
イル条件「AAA」が指定された場合、S102にて読み
込んだソースプログラム41から、他のコンパイル条件
「BBB」が指定されたときにのみコンパイルされる本
文,#ifdef BBB, #endif 等のプリプロセッサ制御文,
及び/*BBB*/等のコメントを削除し、本文のみのソース
42を生成する処理である。このとき、コンパイル条件
に影響されない本文、つまり、どの機種のコンピュータ
用にコンパイルされる時でも使用される本文は、デフォ
ルトで(無条件に)コンパイルされる本文なので、削除さ
れない。従って、ソースプログラム41において、#ifd
ef AAA〜#endifの間や#ifdef BBB〜#endifの間にない記
述(本文),例えば、printf("ABC\n");は、コンパイル条
件(機種)に関係なく無条件にコンパイルされるので、削
除されることなくソースプログラム42に残される。
【0045】その後、CPU16の表示処理部24は、
処理Cを行い、指定されたコンパイル条件に関連する本
文のみを強調する(S104)。処理Cは、図5の例に示
すように、コンパイル条件AAAに関連する本文、つま
り、ソースプログラム41において、#ifdef AAA〜#end
ifで囲まれた本文のみを、色分け、修飾等によって、強
調する処理である。即ち、コンパイル条件AAAが指定さ
れたときのみコンパイルされる本文であるか、コンパイ
ル条件に関わらずコンパイルされる本文であるかを識別
する処理である。
【0046】このように処理されたソースプログラム
(即ち表示データ)43は、一時的にメモリバッファ18
bに保持され、表示部18aに表示される。そして、C
PU16の表示データ編集部26は、編集者が表示デー
タ43を参照しながら入力した編集コマンドに従って、
プログラムを編集する(S105)。このとき表示データ
編集部26は、編集者によって入力されたモード選択コ
マンドに従って2種類のモード(コンパイル条件AAAと無
条件)を切り替えて、編集作業を行う。
【0047】図6の例では、表示データ44において、
printf("aaa\n");が、コンパイル条件AAAに関連する本
文として書き加えられ、printf("abc\n");は、無条件に
コンパイルされる本文として書き加えられている。
【0048】そして、表示データ編集部26から編集済
表示データ44を受け取った表示処理部24は、コンソ
ール18の表示部18aに、編集された本文(ソース4
4)を表示させる(S106)。
【0049】編集作業が終了すると、編集者は、コンソ
ール18を介して編集済プログラムの保存を指示する。
プログラムの保存が指示されると、CPU16の保存条
件認識部28は、処理Eを実行する(S107)。処理E
は、既に指定されているコンパイル条件AAAを、ソース
プログラムを保存するときの保存条件として、再認識す
る処理である。
【0050】次に、CPU16の自動編集部30は、処
理Fを行い(S108)、表示データ編集部26から受け
取った編集済表示データ44を構成する各本文を、ソー
スプログラム格納部14から読み出したソースプログラ
ム内におけるコンパイル条件AAAが指定されている箇所
に、埋め込む。
【0051】図7に示すように、処理Bにて(S103)
削除された部分(#ifdef AAA, #endifで囲まれていない
本文, コメント, プリプロセッサ制御文)を含むソース
プログラム45を生成する。
【0052】表示データ44において、printf("aaa\
n");は、3行目のprintf("AAA\n");の直後に、コンパイ
ル条件AAAのときのみ、コンパイルされるものとして、
書き加えられている。このため、表示データ44に基づ
いてソースプログラム45が生成されると、printf("aa
a\n");は、printf("AAA\n");の直後に埋め込まれる。な
お、最終的に保存されるソースプログラム45は、汎用
性を損なわないように整形される。即ち、ソースプログ
ラム45は、コンパイル条件AAA、コンパイル条件BBB
等、どのコンパイル条件が指定されたときであってもコ
ンパイル可能なように、表示処理部24によって削除さ
れた部分(他のコンパイル条件のみに関連する本文、コ
メント、プリプロセッサ制御文)も、含んでいる。
【0053】CPU16の保存部32は、自動編集され
たソースプログラム(ソース45)を、ソースプログラム
格納部14にオーバライトする(S109)。以上で編集
処理の一サイクルは収容されるが、更に、他のコンパイ
ル条件「BBB」等が指定された場合には、この編集処理
(S101〜S109)が繰り返され、ソースプログラム
が更に編集される。
【0054】本実施形態によれば、コンパイル条件が指
定されると、指定されたコンパイル条件に関連する本
文,及び指定されたコンパイル条件とは無条件にコンパ
イルされる本文(編集に必要な部分)のみが表示されると
共に、指定されたコンパイル条件に関連する本文のみが
強調される。編集者は、編集作業に必要な上記した2種
類の本文を参照しながら、編集内容に応じてモードを切
り換え、表示データの編集作業を行う。編集後、ソース
プログラムの保存が指示されると、指定されたコンパイ
ル条件を保存条件として、編集された本文に基づいてソ
ースプログラム(ソース45)が自動的に生成される。そ
して、編集されたソースプログラム(ソース45)がソー
スプログラム格納部14にオーバーライトされる。
【0055】このように、様々なコンパイル条件が指定
されているソースプログラムを編集する際に、編集者が
コンパイル条件を指定すれば、指定されたコンパイル条
件に関連する本文,及び指定されたコンパイル条件とは
無条件にコンパイルされる本文のみが表示され、指定さ
れたコンパイル条件に関連する本文のみが強調される。
従って、編集者は、プログラムの処理内容を容易に理解
して、簡単に編集作業を行うことができる。
【0056】また、編集者は、自由にコンパイル条件を
指定してプログラムを編集することができる。従って、
コンパイル条件が複雑に入り組んだ複雑なプログラムで
あっても、簡単に編集することができる。
【0057】また、編集者は、モードを設定するだけ
で、指定されたコンパイル条件に関連する本文に対する
編集であるか、無条件にコンパイルされる本文に対する
編集であるかを識別した上で、編集内容を入力すること
ができる。従って、編集者は、プログラム編集時に、コ
ンパイル条件を書き加える必要がなく、編集作業が複雑
にならない。
【0058】また、編集後、指定されたコンパイル条
件,及び編集された本文に基づいて、ソースプログラム
が自動的に生成されて保存される。これにより、一旦コ
ンパイル条件を指定すれば、再度コンパイル条件を指定
することなく、ソースプログラムを編集して保存するこ
とができる。従って、ソースプログラムの編集作業が煩
わしくない。
【0059】尚、本実施形態では、ソースプログラム格
納部14に格納されている1本のソースプログラムの編
集作業について説明したが、本発明は、これに限られる
ことなく、複数の各種のプログラムがソースプログラム
格納部14に格納されている場合にも適用することがで
きる。複数のソースプログラムが保存されている場合に
は、編集対象となるソースプログラムのファイル名等を
指定して、ソースプログラム格納部14から読み出し、
コンパイル条件を指定して、編集作業を行えばよい。
【0060】本実施形態では、C言語で記述されている
ソースプログラムを例にとって説明したが、例えば、ア
センブラ、COBOL、FORTRANのような、様々
な言語で記述されたプログラムにも適用することができ
る。また、OS(Operating System)やAP(Application
Program)等の各種のソースプログラムを編集すること
ができる。
【0061】更に、本実施形態では、コンパイル条件
は、機種ごとに指定されるとして説明したが、これに限
定されることなく、コンパイル条件は、様々な状況に応
じて指定される条件としてもよい。
【0062】
【発明の効果】上記のように、本発明によるプログラム
編集装置,プログラム編集方法,及びコンピュータ可読
媒体によれば、編集に必要な部分(指定されたコンパイ
ル条件に関連した本文,及び指定されたコンパイル条件
とは無条件にコンパイルされる本文)のみを表示し、指
定されたコンパイル条件に関連する本文のみを強調して
表示することができる。このため、容易にプログラム内
容を把握して編集作業を行うことができる。従って、プ
ログラミングミスを低減することができると共に、編集
作業を簡単にすることができる。
【図面の簡単な説明】
【図1】本発明によるプログラム編集装置の構成図
【図2】編集処理の概略を示すフローチャート
【図3】編集作業を示すフローチャート
【図4】処理Bの説明図
【図5】処理Cの説明図
【図6】表示される編集結果の説明図
【図7】処理Fの説明図
【符号の説明】
10 プログラム編集装置 12 編集プログラム格納部 14 ソースプログラム格納部 16 CPU 18 コンソール 20 コンパイル条件入力部 22 表示条件認識部 24 表示処理部 26 プログラム編集部 28 保存条件認識部 30 自動編集部 32 保存部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ソースプログラム格納手段から読み出した
    少なくとも1つのコンパイル条件を含むソースプログラ
    ムを編集するプログラム編集装置において、 前記ソースプログラムに含まれるコンパイル条件のいず
    れかを指定する条件入力手段と、 この条件入力手段によって入力されたコンパイル条件で
    指定されたコンパイル対象となる本文を、前記ソースプ
    ログラムから抽出することによって、表示データを生成
    する表示データ生成手段と、 この表示データに基づいた表示を行う表示手段と、を備
    えたことを特徴とするプログラム編集装置。
  2. 【請求項2】前記表示データを編集する表示データ編集
    手段と、 前記条件入力手段によって入力されたコンパイル条件,
    及び前記表示データ生成手段によって生成された表示デ
    ータに基づいて、前記ソースプログラムを自動的に編集
    する自動編集手段と、 この自動編集手段によって編集されたソースプログラム
    を前記ソースプログラム格納手段に保存する保存手段
    と、を備えたことを特徴とする請求項1記載のプログラ
    ム編集装置。
  3. 【請求項3】前記表示データ生成手段は、前記条件入力
    手段によって入力されたコンパイル条件にのみ関連する
    本文を強調するように前記表示データを生成することを
    特徴とする請求項1又は2記載のプログラム編集装置。
  4. 【請求項4】少なくとも1つのコンパイル条件を含むソ
    ースプログラムを編集するプログラム編集方法におい
    て、 編集プログラムを読み込む工程と、 前記編集プログラムによって編集されるソースプログラ
    ムを読み込む工程と、 前記ソースプログラムに含まれるコンパイル条件のいず
    れかを入力する工程と、 この工程によって入力されたコンパイル条件で指定され
    たコンパイル対象となる本文を、ソースプログラムから
    抽出することによって、表示データを生成する工程と、 前記表示データに基づいた表示を行う工程と、 前記表示データを編集する工程と、 前記入力されたコンパイル条件,及び前記生成された表
    示データに基づいて前記ソースプログラムを編集する工
    程と、から成ることを特徴とするプログラム編集方法。
  5. 【請求項5】少なくとも1つのコンパイル条件を含むソ
    ースプログラムを編集する編集プログラムを格納するコ
    ンピュータ可読媒体であって、前記編集プログラムは、
    表示装置が接続されたコンピュータに対して、 前記ソースプログラムに含まれるコンパイル条件のいず
    れかを入力する工程と、 この工程によって入力されたコンパイル条件で指定され
    たコンパイル対象となる本文を、ソースプログラムから
    抽出することによって、表示データを生成する工程と、 この表示データに基づいた表示を前記表示装置上で行う
    工程と、 前記表示データを編集する工程と、 前記入力されたコンパイル条件,及び前記編集された表
    示データに基づいて前記ソースプログラムを生成する工
    程とを行わしめることを特徴とするコンピュータ可読媒
    体。
JP9249111A 1997-09-12 1997-09-12 プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体 Pending JPH1185486A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9249111A JPH1185486A (ja) 1997-09-12 1997-09-12 プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体
US09/027,903 US6151699A (en) 1997-09-12 1998-02-23 Computer apparatus and method for editing programs, and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9249111A JPH1185486A (ja) 1997-09-12 1997-09-12 プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
JPH1185486A true JPH1185486A (ja) 1999-03-30

Family

ID=17188124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9249111A Pending JPH1185486A (ja) 1997-09-12 1997-09-12 プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体

Country Status (2)

Country Link
US (1) US6151699A (ja)
JP (1) JPH1185486A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123343A (ja) * 2006-11-14 2008-05-29 Sharp Corp ソフトウェア差分測定装置、ソフトウェア差分測定プログラム、およびソフトウェア差分測定プログラムを記録した記録媒体
JP2016218609A (ja) * 2015-05-18 2016-12-22 富士通株式会社 ソースコード生成プログラム、ソースコード生成方法およびコンピュータ

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591405A (zh) * 2001-11-09 2005-03-09 无锡永中科技有限公司 版本兼容的数据处理系统
US20040003383A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Stripping of unnecessary information from source code
US7395523B2 (en) * 2003-11-24 2008-07-01 International Business Machines Corporation Method and apparatus for efficiently developing encoded instructions by tracking multiple unverified instances of repetitive code segments
US20060150150A1 (en) * 2005-01-06 2006-07-06 International Business Machines Corporation Editor support for modifying generated source code
US8776015B1 (en) * 2007-02-08 2014-07-08 The Mathworks, Inc. Pattern modeling methods and systems
US20090204939A1 (en) * 2008-02-13 2009-08-13 Yuliya Kimovna Lavrova Methods for visual representation of macros language

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116333A (ja) * 1989-09-29 1991-05-17 Nec Corp 一括コンパイル方式
JPH0588876A (ja) * 1991-09-30 1993-04-09 Toshiba Corp 編集プログラム実行時における表示変更方法
US5432942A (en) * 1993-06-10 1995-07-11 The United States Of America As Represented By The Secretary Of The Navy Data structure extraction, conversion and display tool
EP0686916A1 (en) * 1994-06-07 1995-12-13 Digital Equipment Corporation Method and apparatus for testing software
US5583983A (en) * 1994-11-17 1996-12-10 Objectware, Inc. Multi-platform object-oriented software development and deployment system
US5671416A (en) * 1995-02-24 1997-09-23 Elson; David Apparatus and a method for searching and modifying source code of a computer program
US5822588A (en) * 1995-06-09 1998-10-13 Sun Microsystem, Inc. System and method for checking the use of synchronization locks in a multi-threaded target program
US5946488A (en) * 1997-05-16 1999-08-31 Thnkage Ltd. Method for selectively and incrementally displaying the results of preprocessing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123343A (ja) * 2006-11-14 2008-05-29 Sharp Corp ソフトウェア差分測定装置、ソフトウェア差分測定プログラム、およびソフトウェア差分測定プログラムを記録した記録媒体
JP2016218609A (ja) * 2015-05-18 2016-12-22 富士通株式会社 ソースコード生成プログラム、ソースコード生成方法およびコンピュータ

Also Published As

Publication number Publication date
US6151699A (en) 2000-11-21

Similar Documents

Publication Publication Date Title
US6728950B2 (en) Method and apparatus for translating between source and target code
US5204960A (en) Incremental compiler
EP0528640A2 (en) Computer system for generating a user interface
US20060150150A1 (en) Editor support for modifying generated source code
US11256481B2 (en) Software development environment with compilation and read-evaluate-print-loop operations
JPH1185486A (ja) プログラム編集装置,プログラム編集方法,及びコンピュータ可読媒体
US20070094639A1 (en) Preparing assembly languague source code
JP2006285754A (ja) プログラムソースコード自動生成装置
US20230134007A1 (en) Support device, non-transitory computer-readable storage medium, and support method
JP2004287869A (ja) プログラム実行監視装置および方法
JP2672968B2 (ja) デバッグ用ソースリスト出力処理方式
JPH0887416A (ja) 制御プログラム作成装置
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JP2000353112A (ja) 中間言語レベルのデバッグ方法及びシステム
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
JPH07262193A (ja) 文書処理装置
JP2000242504A (ja) コンパイラ装置
JP2001034482A (ja) コンパイル装置、プログラム最適化装置、コンパイル処理方法及び記録媒体
JPH02100732A (ja) プログラム文法チェック方式
JPH05100836A (ja) ソースプログラム注釈行編集装置
JPH06119203A (ja) デバック行削除装置
JPH0358225A (ja) ファイル編集方式
JPH05265721A (ja) 差分コンパイル方法および装置
JPH04209029A (ja) 並列処理プログラム翻訳処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040331