JPS61234435A - プログラム開発支援方式 - Google Patents
プログラム開発支援方式Info
- Publication number
- JPS61234435A JPS61234435A JP60074218A JP7421885A JPS61234435A JP S61234435 A JPS61234435 A JP S61234435A JP 60074218 A JP60074218 A JP 60074218A JP 7421885 A JP7421885 A JP 7421885A JP S61234435 A JPS61234435 A JP S61234435A
- Authority
- JP
- Japan
- Prior art keywords
- program
- input
- file
- processing part
- tools
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はプログラム開発支援方式に関し、特に、プログ
ラム記述言語の種別に応じてプログラムの操作、解析を
行う機能の実現に好適なプログラム開発支援方式に関す
る。
ラム記述言語の種別に応じてプログラムの操作、解析を
行う機能の実現に好適なプログラム開発支援方式に関す
る。
従来のプログラミング環境のシステム構成では。
例えば、雑誌“コンピュータ・ツデイ(Coa+put
erToday)” 1984年9月号(サイエンス社
)(p4図2.29図1、p51図2)のように、個々
のプログラミングツールからソースプログラムファイル
への入出力処理は各々別々にファイルシステムを経由し
て行っていた。しかし、複数のプログラミングツールの
間で共通に必要となるプログラム操作・解析処理部を独
立化して共有するようには配慮されていなかった。
erToday)” 1984年9月号(サイエンス社
)(p4図2.29図1、p51図2)のように、個々
のプログラミングツールからソースプログラムファイル
への入出力処理は各々別々にファイルシステムを経由し
て行っていた。しかし、複数のプログラミングツールの
間で共通に必要となるプログラム操作・解析処理部を独
立化して共有するようには配慮されていなかった。
本発明の目的は、プログラム開発支援装置が有する複数
のプログラミングクールの組合せ使用時の言語仕様やフ
ァイル形式の不一致を無くすると共に、ツールめ変更や
新規追加を容易にしたり、必要な記憶装置の容量を少な
くするような方式を提供することにある。
のプログラミングクールの組合せ使用時の言語仕様やフ
ァイル形式の不一致を無くすると共に、ツールめ変更や
新規追加を容易にしたり、必要な記憶装置の容量を少な
くするような方式を提供することにある。
従来のプログラミングツールはプログラムの操作や解析
を行う場合、ソーステキスト形式のファイルに格納され
たプログラムを個々に入力して処理していたため、ツー
ル間の不一致や無駄が生じていた。本発明では、プログ
ラムの操作、解析処還部を独立化し、各ツールが共有で
きるようにした。また、プログラムは、構文解析終了後
の中間語形式で保存することにより、処理を高速化した
。
を行う場合、ソーステキスト形式のファイルに格納され
たプログラムを個々に入力して処理していたため、ツー
ル間の不一致や無駄が生じていた。本発明では、プログ
ラムの操作、解析処還部を独立化し、各ツールが共有で
きるようにした。また、プログラムは、構文解析終了後
の中間語形式で保存することにより、処理を高速化した
。
以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例のシステム構成を示すもの
である。入出力端末装置1はプログラムの表示や印刷お
よびオペレータから本システムへの入力と本システムか
らオペレータへのメツセージや結果の出力を行う装置で
あり、その制御は処理装置20内のマンマシンインター
フェイス処理部2が行う。本システムが提供するプログ
ラム開発支援機能の実現はそれに対応するプログラミン
グツール3が行うが、その時、必要に応じてプログラム
操作・解析処理部4を利用子る。プログラム操作・解析
部4は、ファイル入出力処理部5を経由してファイル6
の抽象構文木形式の中間語プログラムの入出力を行う。
である。入出力端末装置1はプログラムの表示や印刷お
よびオペレータから本システムへの入力と本システムか
らオペレータへのメツセージや結果の出力を行う装置で
あり、その制御は処理装置20内のマンマシンインター
フェイス処理部2が行う。本システムが提供するプログ
ラム開発支援機能の実現はそれに対応するプログラミン
グツール3が行うが、その時、必要に応じてプログラム
操作・解析処理部4を利用子る。プログラム操作・解析
部4は、ファイル入出力処理部5を経由してファイル6
の抽象構文木形式の中間語プログラムの入出力を行う。
なお、プログラミングツール3の具体例としては、構造
エディタ、インタプリタ、コンパイラ、テスト網ら率測
定ツール。
エディタ、インタプリタ、コンパイラ、テスト網ら率測
定ツール。
ソーステキスト清書ツール、誤り自動検出ツールなどが
ある。
ある。
第2図は、本発明に特徴的な第1図のプログラム操作・
解析部4の詳細な構成を示す、中間語プログラム入出力
管理部10は中間語プログラムをファイルから読み込み
、中間語プログラム用バッファ7に格納したり、逆にフ
ァイルへ書き出す。
解析部4の詳細な構成を示す、中間語プログラム入出力
管理部10は中間語プログラムをファイルから読み込み
、中間語プログラム用バッファ7に格納したり、逆にフ
ァイルへ書き出す。
構文解析部11は構文規則表8を参照しながら、与えら
れたソーステキストの構文解析を行い、中間語に変換し
て中間語プログラムに追加する。中間語編集部12はプ
ログラミングツール3およびプログラム操作・解析処理
部4内の他の処理部分(10〜14)の要求に応じて、
中間語プログラムの部分木の削除、挿入、置換、探索な
どを行う。
れたソーステキストの構文解析を行い、中間語に変換し
て中間語プログラムに追加する。中間語編集部12はプ
ログラミングツール3およびプログラム操作・解析処理
部4内の他の処理部分(10〜14)の要求に応じて、
中間語プログラムの部分木の削除、挿入、置換、探索な
どを行う。
ソーステキスト作成部13は、テキスト表示規則表9を
参照しながら、中間語プログラムをソーステキストに変
換する。フロー解析部14は中間語プログラムに対する
制御フロー図を作成したり、データ値の八人参照関係を
表わすデータフロー図を作成する。
参照しながら、中間語プログラムをソーステキストに変
換する。フロー解析部14は中間語プログラムに対する
制御フロー図を作成したり、データ値の八人参照関係を
表わすデータフロー図を作成する。
第3図は第2図の構文規則表8の1例のうちのif文、
条件式1文、代入文1式、演算子の構文規則を示したも
のである。第4図はプログラムのソーステキストの例と
してパスカル(Pascal)言語で記述したif文を
示したものである。第5図は、第4図のソーステキスト
に対応する中間プログラムを抽象構文木で表現した例で
ある。
条件式1文、代入文1式、演算子の構文規則を示したも
のである。第4図はプログラムのソーステキストの例と
してパスカル(Pascal)言語で記述したif文を
示したものである。第5図は、第4図のソーステキスト
に対応する中間プログラムを抽象構文木で表現した例で
ある。
次に本実施例の動作例を示す。
(a)プログラミングツールとして構造エディタを使用
する場合: 構造エディタの処理の流れの一部を第6図に示す。今、
第4図のプログラム例のrY:=Y串2」をry :
=Y+2Jに修正する場合を考える。
する場合: 構造エディタの処理の流れの一部を第6図に示す。今、
第4図のプログラム例のrY:=Y串2」をry :
=Y+2Jに修正する場合を考える。
まず、入出力端末装置1から構造エディタの使用と編集
の対象とするプログラムを指定すると処理装置20内の
マンマシンインターフェイス処理部2を経由して、プロ
グラミングツールとしての構造エディタ3が起動される
。以後、第6図に従って、以下の処理が行われる。− (1)中間語プログラム入出力管理部10を用いて、指
定された編集対象プログラムを、中間語プログラム用フ
ァイル6から中間語プログラム用主記憶バッファ7へ読
み込む(ステップ31)。
の対象とするプログラムを指定すると処理装置20内の
マンマシンインターフェイス処理部2を経由して、プロ
グラミングツールとしての構造エディタ3が起動される
。以後、第6図に従って、以下の処理が行われる。− (1)中間語プログラム入出力管理部10を用いて、指
定された編集対象プログラムを、中間語プログラム用フ
ァイル6から中間語プログラム用主記憶バッファ7へ読
み込む(ステップ31)。
(2)ソーステキスト作成部13を用いて、主記憶バッ
ファ7の中間語プログラムをソーステキスト形式に変換
する(ステップ32)。
ファ7の中間語プログラムをソーステキスト形式に変換
する(ステップ32)。
(3)マンマシンインターフェイス処理部2を用いて、
変換されたソーステキストを入出力端末装置1に表示す
る(ステップ33)。
変換されたソーステキストを入出力端末装置1に表示す
る(ステップ33)。
(4)入出力端末装置1からry : =y傘2」をr
Y : =Y+2Jに修正するためのコマンドが入力さ
れると、マンマシンインターフェイス処理部2からそれ
を受は取り、そのコマンドの指示内容を解読する(ステ
ップ34)。
Y : =Y+2Jに修正するためのコマンドが入力さ
れると、マンマシンインターフェイス処理部2からそれ
を受は取り、そのコマンドの指示内容を解読する(ステ
ップ34)。
(5)構文解析部11を用いて、rY : ==Y+2
Jの構文解析を行い、対応する中間語プログラムに変換
する。
Jの構文解析を行い、対応する中間語プログラムに変換
する。
(6)中間語編集部12を用いて、第51!ii!の中
間語プログラムのrY : =Y中2Jに対応する部分
をrY : =Y+2Jの中間語で置換する(ステツブ
36)。
間語プログラムのrY : =Y中2Jに対応する部分
をrY : =Y+2Jの中間語で置換する(ステツブ
36)。
(7)上記のステップ(2)、(3)を繰返す。
(8)入出力端末装置1から終了コマンドが入力される
と、マンマシンインターフェイス処理部2からそれを受
は取り、そのコマンドの指示内容を解読する。
と、マンマシンインターフェイス処理部2からそれを受
は取り、そのコマンドの指示内容を解読する。
(9)中間語プログラム入出力管理部10を用いて、主
記憶バッファ内の中間語をファイルへ書き込む(ステッ
プ38)。
記憶バッファ内の中間語をファイルへ書き込む(ステッ
プ38)。
(10)構造エディタの処理を終了する。
(b)プログラミングツールとして、コンパイラを利用
する場合: その処理の流れを第7図に示す。今、第4図のプログラ
ム例がソーステキスト形式で与えられて。
する場合: その処理の流れを第7図に示す。今、第4図のプログラ
ム例がソーステキスト形式で与えられて。
コンパイルする場合を考える。まず、入出力端末装置1
からコンパイラの使用と対象とするプログラムを指定す
ると、マンマシンインターフェイス処理部2を経由して
、コンパイラ3が起動される。
からコンパイラの使用と対象とするプログラムを指定す
ると、マンマシンインターフェイス処理部2を経由して
、コンパイラ3が起動される。
以後、第7図に従って以下の処理が行われる。
(1)指定されたプログラムが第4図のソーステキスト
形式であることを確認後(ステップ41)、ファイルか
ら読み込み、構文解析部11を用いて構文解析を行いな
がら、第5図の中間語プログラムに変換し、主記憶バッ
ファ7に格納する(ステップ42)。
形式であることを確認後(ステップ41)、ファイルか
ら読み込み、構文解析部11を用いて構文解析を行いな
がら、第5図の中間語プログラムに変換し、主記憶バッ
ファ7に格納する(ステップ42)。
(2)中間語プログラムの意味解析後5機械語に変換し
、オブジェクトモジュールとしてファイル出力する(ス
テップ44)。
、オブジェクトモジュールとしてファイル出力する(ス
テップ44)。
(3)コンパイラの処理を終了する。
(c)プログラミングツールがテキスト網ら率測定用コ
ード埋め込みツールの場合: その処理の流れを第8図に示す、今、第4図のプログラ
ム例がソーステキスト形式で与えられて、テスト網ら率
測定用コード埋め込みを行う場合を考える。まず、入出
力端末装置i!1からテスト網ら率測定用コード埋め込
みツールの使用と測定対象とするプログラムを指定する
と、マンマシンインターフェイス処理部2を経由して、
テスト網ら率測定用コード埋め込みツール3が起動され
る。以後、第8図に従って処理が行われる。
ード埋め込みツールの場合: その処理の流れを第8図に示す、今、第4図のプログラ
ム例がソーステキスト形式で与えられて、テスト網ら率
測定用コード埋め込みを行う場合を考える。まず、入出
力端末装置i!1からテスト網ら率測定用コード埋め込
みツールの使用と測定対象とするプログラムを指定する
と、マンマシンインターフェイス処理部2を経由して、
テスト網ら率測定用コード埋め込みツール3が起動され
る。以後、第8図に従って処理が行われる。
(1)前記(b)の(1)に同じ。
(2)中間語編集部12を用いて、中間語プログラム内
の分岐命令に相当する部分を探索し、そこに、テスト網
ら率測定用コーiに対応する中間語プログラム(部分構
文木)を挿入する(ステップ45)。
の分岐命令に相当する部分を探索し、そこに、テスト網
ら率測定用コーiに対応する中間語プログラム(部分構
文木)を挿入する(ステップ45)。
(3)処理を終了する。
なお1本実施例の稼動するプログラム開発支援装置の機
器構成を第9図に示す。中央処理装置91は、その他の
装置を利用して、本発明の実施のための実行制御とデー
タ処理を行う。主記憶装置92はその際の各種データお
よびプログラムの格納場所である。入出力端末装置11
93は、第1図の入出力端末装置1と同じである。カー
ド読取機94は、カード形式のプログラムを中央処理装
置91へ読み込む、プリンタ95は、本システムからの
各種の出力を印字する。補助記憶装!96は各種データ
や、各種形式のプログラムの格納場所である。
器構成を第9図に示す。中央処理装置91は、その他の
装置を利用して、本発明の実施のための実行制御とデー
タ処理を行う。主記憶装置92はその際の各種データお
よびプログラムの格納場所である。入出力端末装置11
93は、第1図の入出力端末装置1と同じである。カー
ド読取機94は、カード形式のプログラムを中央処理装
置91へ読み込む、プリンタ95は、本システムからの
各種の出力を印字する。補助記憶装!96は各種データ
や、各種形式のプログラムの格納場所である。
このように本実施例によれば、従来、構造エディタ、イ
ンタープリタ、コンパイラ、テスト網ら率測定ツール等
々が個別に内蔵していた構文解析部や中間語編集部を共
有できるため1次の効果がある。
ンタープリタ、コンパイラ、テスト網ら率測定ツール等
々が個別に内蔵していた構文解析部や中間語編集部を共
有できるため1次の効果がある。
(1)構造エディタで作成したプログラムをコンパイラ
に入力した時に構文エラーが発生するといったような言
語仕様の不一致、あるいは構造エディタが出力したプロ
グラムのファイル形式をコンパイラが入力できないとい
ったファイル仕様の不一致が完全に防止できる。
に入力した時に構文エラーが発生するといったような言
語仕様の不一致、あるいは構造エディタが出力したプロ
グラムのファイル形式をコンパイラが入力できないとい
ったファイル仕様の不一致が完全に防止できる。
(2)一度、ソーステキスト形式から中間語形式に変換
されたプログラムはプログラムツール間で共有するため
、各ツールの実行時にその変換作業が不要となり、処理
が高速になる。
されたプログラムはプログラムツール間で共有するため
、各ツールの実行時にその変換作業が不要となり、処理
が高速になる。
(3)システムの稼動に必要となる主記憶容量が少なく
なる。
なる。
(4)新たなプログラムツールの付加や機能変更が容易
になる。
になる。
本発明によれば、プログラム操作・解析処理部および中
間語プログラムを複数のツール間で共有できるので、複
数ツールの組合せ使用時の言語仕様やファイル仕様の不
一致の防止、各ツールの実行速度の大巾向上、システム
が必要とする主記憶容量の削減、新規機能を支援するツ
ールの開発工数の削減、などの効果がある。
間語プログラムを複数のツール間で共有できるので、複
数ツールの組合せ使用時の言語仕様やファイル仕様の不
一致の防止、各ツールの実行速度の大巾向上、システム
が必要とする主記憶容量の削減、新規機能を支援するツ
ールの開発工数の削減、などの効果がある。
第1図は本発明によるプログラム開発支援装置の一実施
例のシステム構成図、第2図はプログラム操作・解析処
理部の詳細な構成図、第3図は構文規則表の一部分を示
す図、第4図はプログラムのソーステキスト例の一部分
を示す図、第5図はその抽像構文木形式の中間語プログ
ラムの例を示す図、第6〜8図は各々、構造エディタ、
コンパイラ、テスト網ら率測定用コード埋め込みツール
の処理の流れ図、第9図はプログラム開発支援装置の機
器構成図である。 3・・・プログラムツール群、4・・・プログラム操作
・解析処理部、6・・・中間語プログラム、11・・・
構文解析部、12・・・中間語編集部、13・・・ソー
ステキ第 1 図 くえf> :: = λ’J <co*rlλ
tiρR? aex <5fafatjにt〉ex
ist < 5tpiL鷹tt*をン<coJ上亡λρ
70::= (gzr)<StL2g*gJ>::
= に、+> 1<usxr)tt> l ・−
−−くへssλ)λ>::=<λd> := <、!
χrン〈eズ/7> ;: =: <e工F’>
<σf><eズ?〉1 <1j) 1 〈、1st> くρrン ;: 二 寸1−(xし 〈 〉 ユ第
4 図 λ子 x>。 the* Y’;=’r’本2 elsε z;=θi 第 5 図 ■ Y を 遁 ≦ 口 第 7 口 第 8 回
例のシステム構成図、第2図はプログラム操作・解析処
理部の詳細な構成図、第3図は構文規則表の一部分を示
す図、第4図はプログラムのソーステキスト例の一部分
を示す図、第5図はその抽像構文木形式の中間語プログ
ラムの例を示す図、第6〜8図は各々、構造エディタ、
コンパイラ、テスト網ら率測定用コード埋め込みツール
の処理の流れ図、第9図はプログラム開発支援装置の機
器構成図である。 3・・・プログラムツール群、4・・・プログラム操作
・解析処理部、6・・・中間語プログラム、11・・・
構文解析部、12・・・中間語編集部、13・・・ソー
ステキ第 1 図 くえf> :: = λ’J <co*rlλ
tiρR? aex <5fafatjにt〉ex
ist < 5tpiL鷹tt*をン<coJ上亡λρ
70::= (gzr)<StL2g*gJ>::
= に、+> 1<usxr)tt> l ・−
−−くへssλ)λ>::=<λd> := <、!
χrン〈eズ/7> ;: =: <e工F’>
<σf><eズ?〉1 <1j) 1 〈、1st> くρrン ;: 二 寸1−(xし 〈 〉 ユ第
4 図 λ子 x>。 the* Y’;=’r’本2 elsε z;=θi 第 5 図 ■ Y を 遁 ≦ 口 第 7 口 第 8 回
Claims (1)
- 1、計算機言語で記述されたプログラムの入出力処理部
とプログラム開発支援機能処理部とマンマシンインター
フェイス処理部からなるプログラム開発支援方式におい
て、プログラム入出力処理部とプログラム開発支援機能
処理部の間にプログラム操作・解析処理部を設けたこと
を特徴とするプログラム開発支援方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60074218A JPS61234435A (ja) | 1985-04-10 | 1985-04-10 | プログラム開発支援方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60074218A JPS61234435A (ja) | 1985-04-10 | 1985-04-10 | プログラム開発支援方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61234435A true JPS61234435A (ja) | 1986-10-18 |
Family
ID=13540826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60074218A Pending JPS61234435A (ja) | 1985-04-10 | 1985-04-10 | プログラム開発支援方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61234435A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517635A (en) * | 1992-12-17 | 1996-05-14 | International Business Machines Corporation | System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects |
-
1985
- 1985-04-10 JP JP60074218A patent/JPS61234435A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517635A (en) * | 1992-12-17 | 1996-05-14 | International Business Machines Corporation | System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5971562A (ja) | 時分割計算機システムの制御方式 | |
US20070198915A1 (en) | Document Processing Device And Document Processing Method | |
US20010051974A1 (en) | Method and apparatus for automatic generation of data interfaces | |
JPS61234435A (ja) | プログラム開発支援方式 | |
JPH07182179A (ja) | オブジェクト指向データベース管理装置 | |
CN112734378A (zh) | 一种生成项目简报的方法、系统及介质 | |
JP2946715B2 (ja) | プログラム生成方法およびそのための仕様入力方法 | |
Snelting | Experiences with the PSG—Programming System Generator | |
CN109597624A (zh) | 一种sql格式化的方法 | |
JP3003459B2 (ja) | プログラム作成支援装置 | |
JP2977642B2 (ja) | Fortranコンパイル処理装置 | |
KR970011897B1 (ko) | 언어해석 처리장치 | |
JP3031767B2 (ja) | 自然言語処理装置 | |
JPS61234434A (ja) | プログラム編集方式 | |
JP2811804B2 (ja) | 変数出力範囲指定方式 | |
JPS58121450A (ja) | コメント自動作成装置 | |
JPH10269066A (ja) | 日本語によるシェル自動作成装置 | |
JPH06161723A (ja) | プログラム開発言語編集装置 | |
JPS62145422A (ja) | ソ−スプログラム自動生成方法 | |
JPH08179938A (ja) | 仕様書自動生成装置及び方法 | |
JPH0264744A (ja) | 障害解析情報取得方式 | |
JPH03186933A (ja) | 言語処理システムのシンボル処理方式 | |
JPS6365530A (ja) | コ−ド最適化方式 | |
JPH01298439A (ja) | リスト解析装置 | |
Collins et al. | Comprehensive tools for assembler construction |