JPH03292530A - ソースプログラム整形方法 - Google Patents
ソースプログラム整形方法Info
- Publication number
- JPH03292530A JPH03292530A JP9402090A JP9402090A JPH03292530A JP H03292530 A JPH03292530 A JP H03292530A JP 9402090 A JP9402090 A JP 9402090A JP 9402090 A JP9402090 A JP 9402090A JP H03292530 A JPH03292530 A JP H03292530A
- Authority
- JP
- Japan
- Prior art keywords
- source program
- information
- style
- formatting
- format
- 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
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、任意の形式で記述されたソースプログラムを
、利用者特有の記述形式に整形するのに好適なソースプ
ログラム整形方式に関する。
、利用者特有の記述形式に整形するのに好適なソースプ
ログラム整形方式に関する。
従来、米国AT&T社のU N I X System
VのCbコマンドという、C言語プログラムの整形機
能が存在した。
VのCbコマンドという、C言語プログラムの整形機
能が存在した。
上記従来技術は、固定の記述形式への整形のみが可能で
あり、利用者特有の記述形式への整形は行っていない。
あり、利用者特有の記述形式への整形は行っていない。
しかし、利用者には日頃親しんでいる特有の記述形式が
あり、該記述形式に合致しないソースプログラムは、該
プログラムの理解。
あり、該記述形式に合致しないソースプログラムは、該
プログラムの理解。
修正に当たり、精神的苦痛を誘引するこのため利用者が
日頃親しんでいる記述形式へと整形するために、自身の
記述形式に合わせた該ソースプログラムの修正が必要と
なり、作業効率が低下するという問題があった。
日頃親しんでいる記述形式へと整形するために、自身の
記述形式に合わせた該ソースプログラムの修正が必要と
なり、作業効率が低下するという問題があった。
本発明の目的は、ソースプログラムの記述形式の相違に
よる利用者の精神的苦痛の軽減、及び。
よる利用者の精神的苦痛の軽減、及び。
該プログラム理解・修正といった保守作業の効率向上に
ある。
ある。
上記目的は、利用者が作成したソースプログラムから、
該利用者特有の記述形式を抽出し、記述形式の情報(ス
タイル情報)として記憶する手段と、記述形式情報(ス
タイル情報)に基づき、ソースプログラムを整形する手
段を設けることにより、達成される。
該利用者特有の記述形式を抽出し、記述形式の情報(ス
タイル情報)として記憶する手段と、記述形式情報(ス
タイル情報)に基づき、ソースプログラムを整形する手
段を設けることにより、達成される。
利用者特有の記述形式の抽出、及び、記憶手段は、ソー
スプログラムの構文を解析し、文、単語。
スプログラムの構文を解析し、文、単語。
スペース、タブ等プログラム構成情報の種類、配置、数
等のスタイル情報を抽出し、これら情報を記憶する。
等のスタイル情報を抽出し、これら情報を記憶する。
ソースプログラム整形手段は、整形対象ソースプログラ
ム中のプログラム構成情報を検索し、該構成情報の配置
、数等をあらかじめ記憶されたスタイル情報に基づき変
更する。
ム中のプログラム構成情報を検索し、該構成情報の配置
、数等をあらかじめ記憶されたスタイル情報に基づき変
更する。
これにより、任意の形式で記述されたソースプログラム
を利用者特有の記述形式へと整形することが可能となり
、記述形式の相違を意識すること無く、ソースプログラ
ムを理解、修正を行うことが可能となる。
を利用者特有の記述形式へと整形することが可能となり
、記述形式の相違を意識すること無く、ソースプログラ
ムを理解、修正を行うことが可能となる。
以下、本発明の一実施例を図を用いて、詳細に説明する
。
。
第1図は、本発明を実現するための処理フローであり、
第2図は、本発明を実現する、計算機の機器構成図であ
り、第3図は、システムの構成を示すブロック図である
。
第2図は、本発明を実現する、計算機の機器構成図であ
り、第3図は、システムの構成を示すブロック図である
。
第1図の処理フローに基づき、第3図の各部の動作を説
明する。
明する。
入力解析部(302)は、利用者から″抽出ソースプロ
グラム名称 スタイル情報名称″、又は、″整形 ソー
スプログラム名称 スタイル情報名称″を受は取り、パ
抽出″、″整形″といった動作コマンド、ソースプログ
ラム名称、及びスタイル情報名称等、を抽出(101)
L、該動作コマンドにより、ソースプログラムから、ス
タイル情報を抽出する動作と、ソースプログラムの記述
形式を整形する動作に分岐する(102)。
グラム名称 スタイル情報名称″、又は、″整形 ソー
スプログラム名称 スタイル情報名称″を受は取り、パ
抽出″、″整形″といった動作コマンド、ソースプログ
ラム名称、及びスタイル情報名称等、を抽出(101)
L、該動作コマンドにより、ソースプログラムから、ス
タイル情報を抽出する動作と、ソースプログラムの記述
形式を整形する動作に分岐する(102)。
利用者が、抽出コマンドを入力した場合、ソースプログ
ラムリード/ライト部(305)は、入力解析部(30
2)で解析した名称のファイルから、ソースプログラム
をバッファへ読み込む(103)。構文解析部(307
)は、バッファの内容を構文解析しく104)、構文の
識別子と、対応する文を出力する、スタイル情報抽出部
(308)で、構文の記述形式を解析し、スタイル情報
テーブルへ登録する(105)。スタイル情報テーブル
は、構文の識別子と該構文の記述形式を記憶するテーブ
ルである(第4図で詳細に説明する)。スタイル情報リ
ード/ライト部(309)は、スタイル情報テーブルの
内容を、入力解析部(302)で抽出した名称のファイ
ルへ書き込む(106)。利用者が整形コマンドを入力
した場合、スタイル情報リード/ライト部(309)は
、入力解析部(302)で解析した名称のスタイル情報
をスタイル情報テーブルへ、ソースプログラムリード/
ライト部(305)は、ソースプログラムをバッファへ
読み込む(107,108)。
ラムリード/ライト部(305)は、入力解析部(30
2)で解析した名称のファイルから、ソースプログラム
をバッファへ読み込む(103)。構文解析部(307
)は、バッファの内容を構文解析しく104)、構文の
識別子と、対応する文を出力する、スタイル情報抽出部
(308)で、構文の記述形式を解析し、スタイル情報
テーブルへ登録する(105)。スタイル情報テーブル
は、構文の識別子と該構文の記述形式を記憶するテーブ
ルである(第4図で詳細に説明する)。スタイル情報リ
ード/ライト部(309)は、スタイル情報テーブルの
内容を、入力解析部(302)で抽出した名称のファイ
ルへ書き込む(106)。利用者が整形コマンドを入力
した場合、スタイル情報リード/ライト部(309)は
、入力解析部(302)で解析した名称のスタイル情報
をスタイル情報テーブルへ、ソースプログラムリード/
ライト部(305)は、ソースプログラムをバッファへ
読み込む(107,108)。
適合スタイル検索部(303)では、バッファへ読み込
んだソースプログラムの先頭から構文解析しく109)
、構文に適合する記述形式をスタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形しバッファへ
書き込む(111) 。
んだソースプログラムの先頭から構文解析しく109)
、構文に適合する記述形式をスタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形しバッファへ
書き込む(111) 。
適合スタイル検索部(303)は、バッファに、まだ整
形していない文が有るか無いか判定(112)し、有る
場合は、順次、構文解析、適合スタイル検索、ソースプ
ログラム整形、及び、バッファ書き込みを行なう。バッ
ファの内容を全て整形し終わった時、ソースプログラム
リード/ライト部(305)は、バッファの内容をファ
イルへ書き込む(113)。
形していない文が有るか無いか判定(112)し、有る
場合は、順次、構文解析、適合スタイル検索、ソースプ
ログラム整形、及び、バッファ書き込みを行なう。バッ
ファの内容を全て整形し終わった時、ソースプログラム
リード/ライト部(305)は、バッファの内容をファ
イルへ書き込む(113)。
第4図は、スタイル情報テーブルの一例である。
スタイル情報テーブルは、構文識別子枠(401)と、
構文スタイル枠(402)から構成される。
構文スタイル枠(402)から構成される。
構文名称枠(401)には、構文を識別する情報が記憶
され、構文スタイル枠(402)には、構文の記述形式
が記憶される。
され、構文スタイル枠(402)には、構文の記述形式
が記憶される。
第15図を用いて、第1図の機能の例を説明する。利用
者が作成したソースプログラム第15図(、)から、利
用者固有のスタイル情報を抽出し、該スタイル情報と異
なる記述形式で記述されたソースプログラム第15図(
b)を抽出した該スタイル情報に基づき整形し、出力(
第15図(C))した場合の例である。
者が作成したソースプログラム第15図(、)から、利
用者固有のスタイル情報を抽出し、該スタイル情報と異
なる記述形式で記述されたソースプログラム第15図(
b)を抽出した該スタイル情報に基づき整形し、出力(
第15図(C))した場合の例である。
利用者が作成したソースプログラム第15図(a)をソ
ースプログラムリード(103)処理でバッファへ読み
込み、既存のunix yacc lex機能を用いた
構文解析(104)処理により文を解析し、構文を識別
する情報(構文識別子)を取得する。スタイル情報抽出
(105)処理で、語の並びより構文の記述形式を抽出
し、該構文識別子と、対応する記述形式をスタイル情報
テーブルへ設定し、スタイル情報ライト(106)処理
でファイルへ書き込む。利用者が作成したソースプログ
ラム(1)と、異なる記述形式で作成されたソースプロ
グラム(2)を、該スタイル情報に基づき整形する場合
、スタイル情報リード(107)処理により、該スタイ
ル情報をスタイル情報テーブルへ読み込み、ソースプロ
グラムリード(108)処理で、該ソースプログラム(
2)をバッファへよみこむ。既存のunix yacc
lex機能を用いた構文解析(109)処理により、
バッファ内の文を先頭から解析し、構文を識別する情報
(構文識別子)を取得する。適合スタイル検索(110
)処理で、構文を識別する情報(構文識別子)に対応す
る記述形式を検索し、ソースプログラム整形(111)
処理で、構文を該記述形式に基づき整形し、バッファへ
書き込む。バッファ内のソースプログラムを全て整形し
たか(112)判定し、まだ整形していない文が有る場
合は、構文解析(109)処理、適合スタイル検索(1
10)処理、及びソースプログラム整形(112)処理
を順次繰り返す。全て整形し終わった場合は、ソースプ
ログラムライト(113)処理で、バッファの内容をフ
ァイルへ書き込む。
ースプログラムリード(103)処理でバッファへ読み
込み、既存のunix yacc lex機能を用いた
構文解析(104)処理により文を解析し、構文を識別
する情報(構文識別子)を取得する。スタイル情報抽出
(105)処理で、語の並びより構文の記述形式を抽出
し、該構文識別子と、対応する記述形式をスタイル情報
テーブルへ設定し、スタイル情報ライト(106)処理
でファイルへ書き込む。利用者が作成したソースプログ
ラム(1)と、異なる記述形式で作成されたソースプロ
グラム(2)を、該スタイル情報に基づき整形する場合
、スタイル情報リード(107)処理により、該スタイ
ル情報をスタイル情報テーブルへ読み込み、ソースプロ
グラムリード(108)処理で、該ソースプログラム(
2)をバッファへよみこむ。既存のunix yacc
lex機能を用いた構文解析(109)処理により、
バッファ内の文を先頭から解析し、構文を識別する情報
(構文識別子)を取得する。適合スタイル検索(110
)処理で、構文を識別する情報(構文識別子)に対応す
る記述形式を検索し、ソースプログラム整形(111)
処理で、構文を該記述形式に基づき整形し、バッファへ
書き込む。バッファ内のソースプログラムを全て整形し
たか(112)判定し、まだ整形していない文が有る場
合は、構文解析(109)処理、適合スタイル検索(1
10)処理、及びソースプログラム整形(112)処理
を順次繰り返す。全て整形し終わった場合は、ソースプ
ログラムライト(113)処理で、バッファの内容をフ
ァイルへ書き込む。
次に、スタイル情報を編集する場合の実施例を示す。
第5図は、第1図の機能に、スタイル情報を編集する機
能を追加した場合の処理フローであり、第6図は、シス
テムの構成を示すブロック図である。
能を追加した場合の処理フローであり、第6図は、シス
テムの構成を示すブロック図である。
第5図の処理フローに基づき、第6図の各部の動作を説
明する。
明する。
利用者が、″編集 スタイル情報名称″を入力した場合
、スタイル情報リード/ライト部(309)は、スタイ
ル情報を、入力解析部(603)で抽出した名称のファ
イルからスタイル情報テーブルへ読み込み(107)、
該テーブルの内容を、スタイル情報表示部(602)で
出力装置(301)へ表示出力する(502)。利用者
がスタイル情報を設定、及び、変更する目的でデータを
入力した場合、スタイル情報編集部(601)は入力解
析部(302)で解析した内容をスタイル情報テーブル
に設定しく503)、該内容にエラーが有るか無いかを
判定する(504)。エラーが有る場合は再度入力を要
求し、無い場合は、スタイル情報リード/ライト部(3
09)で、スタイル情報テーブルの内容を、ファイルに
書き込む(106)。
、スタイル情報リード/ライト部(309)は、スタイ
ル情報を、入力解析部(603)で抽出した名称のファ
イルからスタイル情報テーブルへ読み込み(107)、
該テーブルの内容を、スタイル情報表示部(602)で
出力装置(301)へ表示出力する(502)。利用者
がスタイル情報を設定、及び、変更する目的でデータを
入力した場合、スタイル情報編集部(601)は入力解
析部(302)で解析した内容をスタイル情報テーブル
に設定しく503)、該内容にエラーが有るか無いかを
判定する(504)。エラーが有る場合は再度入力を要
求し、無い場合は、スタイル情報リード/ライト部(3
09)で、スタイル情報テーブルの内容を、ファイルに
書き込む(106)。
利用者が、抽出コマンド、及び、整形コマンドを入力し
た場合の処理は、第1図の場合と同様である。
た場合の処理は、第1図の場合と同様である。
第16図(b)は、第4図に示したスタイル情報を用い
て、第16図(a)を整形した結果であり、第16図(
d)は、第16図(c)に示したスタイル情報を用いて
、第16図(b)を整形した結果である。
て、第16図(a)を整形した結果であり、第16図(
d)は、第16図(c)に示したスタイル情報を用いて
、第16図(b)を整形した結果である。
以下、第4図のスタイル情報を第16図(c)の記述形
式に編集する例を用いて、第5図を詳細に説明する。入
力解析(505)は、6編集 スタイル情報名称″を受
は取り、編集コマンドコードとスタイル情報名称を抽出
する。動作分岐(501)は、コマンドコードにより処
理を分岐させる。本例では、編集コマンドなので処理は
スタイル情報リード(107)へ移る。スタイル情報リ
ード(107)は、指定されたスタイル情報をスタイル
情報テーブルへ読み込む。スタイル情報表示(502)
は、スタイル情報テーブルの内容を表示する。スタイル
情報編集(503)内で表示したスタイル情報を編集す
る。スタイル情報表示(502)、及びスタイル情報編
集(503)は、例えば公知のunix viエディタ
を用いて行なえば良い。処理504は、記述形式の設定
に誤りが有るか無いかを検索し、誤りが有る場合は処理
503へ、無い場合は処理106へ処理を分岐する。処
理106で編集したスタイル情報をファイルへ書き込む
。入力解析(505)で、ソースプログラムの整形、又
はスタイル情報の抽出コマンドを受は取った場合は、第
1図と同様な処理が行なわれる。
式に編集する例を用いて、第5図を詳細に説明する。入
力解析(505)は、6編集 スタイル情報名称″を受
は取り、編集コマンドコードとスタイル情報名称を抽出
する。動作分岐(501)は、コマンドコードにより処
理を分岐させる。本例では、編集コマンドなので処理は
スタイル情報リード(107)へ移る。スタイル情報リ
ード(107)は、指定されたスタイル情報をスタイル
情報テーブルへ読み込む。スタイル情報表示(502)
は、スタイル情報テーブルの内容を表示する。スタイル
情報編集(503)内で表示したスタイル情報を編集す
る。スタイル情報表示(502)、及びスタイル情報編
集(503)は、例えば公知のunix viエディタ
を用いて行なえば良い。処理504は、記述形式の設定
に誤りが有るか無いかを検索し、誤りが有る場合は処理
503へ、無い場合は処理106へ処理を分岐する。処
理106で編集したスタイル情報をファイルへ書き込む
。入力解析(505)で、ソースプログラムの整形、又
はスタイル情報の抽出コマンドを受は取った場合は、第
1図と同様な処理が行なわれる。
次に、スタイル利用情報を設定し、スタイル情報を選択
する場合の実施例を示す。
する場合の実施例を示す。
第7図は、第1図の機能に、スタイル利用情報を設定し
、スタイル情報を選択する機能を追加した場合の処理フ
ローであり、第8図は、システムの構成を示すブロック
図である。
、スタイル情報を選択する機能を追加した場合の処理フ
ローであり、第8図は、システムの構成を示すブロック
図である。
第7図の処理フローに基づき、第8図の各部の動作を説
明する。
明する。
利用者が、″スタイル利用情報設定 スタイル利用情報
名称″を入力した場合、スタイル利用情報リード/ライ
ト部(803)は、スタイル利用情報を、入力解析部(
805)で抽出した名称のファイルから、スタイル利用
情報テーブル(第9図で詳細に説明する。)へ読み込み
(702)、スタイル利用情報表示部(801)により
、出力装!(301)に表示出力する(703)。利用
者がスタイル利用情報を設定、及び、変更する目的でデ
ータを入力した場合、スタイル利用情報編集部(802
)は入力解析部(805)で解析した内容をスタイル利
用情報テーブルに設定しく704)、該内容にエラーが
有るか無いかを判定(705)する。エラーが有る場合
は、再度入力を要求し、無い場合は、スタイル利用情報
り−ド/ライト部(803)で、スタイル利用情報テー
ブルの内容を、ファイルに書き込む(706)。
名称″を入力した場合、スタイル利用情報リード/ライ
ト部(803)は、スタイル利用情報を、入力解析部(
805)で抽出した名称のファイルから、スタイル利用
情報テーブル(第9図で詳細に説明する。)へ読み込み
(702)、スタイル利用情報表示部(801)により
、出力装!(301)に表示出力する(703)。利用
者がスタイル利用情報を設定、及び、変更する目的でデ
ータを入力した場合、スタイル利用情報編集部(802
)は入力解析部(805)で解析した内容をスタイル利
用情報テーブルに設定しく704)、該内容にエラーが
有るか無いかを判定(705)する。エラーが有る場合
は、再度入力を要求し、無い場合は、スタイル利用情報
り−ド/ライト部(803)で、スタイル利用情報テー
ブルの内容を、ファイルに書き込む(706)。
利用者が、整形コマンドを入力した場合、スタイル利用
情報リード/ライト部(803)は、スタイル利用情報
を、入力解析部(805)で抽出した名称のファイルか
ら、スタイル利用情報テーブルへ読み込む(702)、
スタイル情報選択部(806)は、スタイル利用情報テ
ーブルの内容、入力解析部(805)で抽出した利用者
を識別する識別子、及び開発システムを識別する識別子
により、整形に使用するスタイル情報を選択(707)
し、スタイル情報リード/ライト部(309)で該スタ
イル情報をスタイル情報テーブルへ読み込む(107)
。ソースプログラムリード/ライト部(305)は、入
力解析部(805)で抽出した名称のファイルからソー
スプログラムをバッファへ読み込む(108)。適合ス
タイル検索部(303)では、バッファへ読み込んだソ
ースプログラムの先頭から構文解析を行ない(109)
、構文に適合する記述形式をスタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形し、バッファ
へ書き込む(111)。適合スタイル検索部(303)
は、バッファにまだ整形していない文が有るか無いか判
定(112)L、有る場合は、順次、構文解析、適合ス
タイル検索、ソースプログラム整形、及び、バッファ書
き込みを行なう。バッファの内容を全て整形し終わった
時、ソースプログラムリード/ライト部(305)は、
バッファの内容をファイルへ書き込む(113)。
情報リード/ライト部(803)は、スタイル利用情報
を、入力解析部(805)で抽出した名称のファイルか
ら、スタイル利用情報テーブルへ読み込む(702)、
スタイル情報選択部(806)は、スタイル利用情報テ
ーブルの内容、入力解析部(805)で抽出した利用者
を識別する識別子、及び開発システムを識別する識別子
により、整形に使用するスタイル情報を選択(707)
し、スタイル情報リード/ライト部(309)で該スタ
イル情報をスタイル情報テーブルへ読み込む(107)
。ソースプログラムリード/ライト部(305)は、入
力解析部(805)で抽出した名称のファイルからソー
スプログラムをバッファへ読み込む(108)。適合ス
タイル検索部(303)では、バッファへ読み込んだソ
ースプログラムの先頭から構文解析を行ない(109)
、構文に適合する記述形式をスタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形し、バッファ
へ書き込む(111)。適合スタイル検索部(303)
は、バッファにまだ整形していない文が有るか無いか判
定(112)L、有る場合は、順次、構文解析、適合ス
タイル検索、ソースプログラム整形、及び、バッファ書
き込みを行なう。バッファの内容を全て整形し終わった
時、ソースプログラムリード/ライト部(305)は、
バッファの内容をファイルへ書き込む(113)。
利用者が、抽出コマンドを入力した場合の処理は、第1
図の場合と同様である。
図の場合と同様である。
第9図に、スタイル利用情報テーブルの一例を示す。ス
タイル利用情報テーブルは、スタイル利用対象枠(90
1)とスタイル情報識別子枠(902)から構成される
。スタイル利用対象枠(901)には、スタイル情報を
利用する利用者、グループ、及び整形するソースプログ
ラムを識別する情報が記憶され、スタイル情報識別子枠
(902)には、スタイル情報を識別する情報が記憶さ
れる。
タイル利用情報テーブルは、スタイル利用対象枠(90
1)とスタイル情報識別子枠(902)から構成される
。スタイル利用対象枠(901)には、スタイル情報を
利用する利用者、グループ、及び整形するソースプログ
ラムを識別する情報が記憶され、スタイル情報識別子枠
(902)には、スタイル情報を識別する情報が記憶さ
れる。
次に、ヘッダフォーマット情報を設定し、ヘッダコメン
トを生成する機能の実施例を示す。
トを生成する機能の実施例を示す。
第10図は、第1図の機能に、ヘッダフォーマット情報
を設定し、ヘッダコメントを生成する機能を追加した場
合の処理フローであり、第11図は、システムの構成を
示すブロック図である。
を設定し、ヘッダコメントを生成する機能を追加した場
合の処理フローであり、第11図は、システムの構成を
示すブロック図である。
第10図の処理フローに基づき、第11@の各部の動作
を説明する。
を説明する。
利用者が、″ヘッダフォーマット情報設定 へラダフォ
ーマット情報名称”を入力した場合、ヘッダフォーマッ
ト情報リード/ライト部(1103)は、ヘッダフォー
マット情報を、入力解析部(1105)で抽出した名称
のファイルから、ヘッダフォーマット情報テーブル(第
12図で詳細に説明する)へ読み込み(1003)、ヘ
ッダフォーマット情報表示部(1101)により出力装
置(301)に表示出力(1004)する。利用者がヘ
ッダフォーマット情報を設定、及び変更する目的で、デ
ータを入力した場合、ヘッダフォーマット情報編集部(
1102)は、入力解析部(1105)で解析した内容
をヘッダフォーマット情報テーブルに設定(1005)
L、該内容にエラーが有るか無いかを判定(1006)
する。
ーマット情報名称”を入力した場合、ヘッダフォーマッ
ト情報リード/ライト部(1103)は、ヘッダフォー
マット情報を、入力解析部(1105)で抽出した名称
のファイルから、ヘッダフォーマット情報テーブル(第
12図で詳細に説明する)へ読み込み(1003)、ヘ
ッダフォーマット情報表示部(1101)により出力装
置(301)に表示出力(1004)する。利用者がヘ
ッダフォーマット情報を設定、及び変更する目的で、デ
ータを入力した場合、ヘッダフォーマット情報編集部(
1102)は、入力解析部(1105)で解析した内容
をヘッダフォーマット情報テーブルに設定(1005)
L、該内容にエラーが有るか無いかを判定(1006)
する。
エラーが有る場合は、再度入力を要求し、無い場合は、
ヘッダフォーマット情報リード/ライト部(1103)
で、ヘッダフォーマット情報テーブルの内容を、ファイ
ルに書き込む(1007)。
ヘッダフォーマット情報リード/ライト部(1103)
で、ヘッダフォーマット情報テーブルの内容を、ファイ
ルに書き込む(1007)。
利用者が整形コマンドを入力した場合、ヘッダフォーマ
ット情報リード/ライト部(1103)は、ヘッダフォ
ーマット情報をヘッダフォーマット情報テーブルへ、ソ
ースプログラムリード/ライト部(305)は、ソース
プログラムをバッファへ読み込む(108)。ヘッダコ
メント作成部(1106)では、ヘッダフォーマット情
報テーブル中に設定した予約語(第12図の@func
。
ット情報リード/ライト部(1103)は、ヘッダフォ
ーマット情報をヘッダフォーマット情報テーブルへ、ソ
ースプログラムリード/ライト部(305)は、ソース
プログラムをバッファへ読み込む(108)。ヘッダコ
メント作成部(1106)では、ヘッダフォーマット情
報テーブル中に設定した予約語(第12図の@func
。
@date)の位置に挿入する値を、システム、及び、
ソースプログラムより取得し、バッファにヘッダコメン
トを書き込む(1010)。システム、及び、ソースプ
ログラムから値が取得不可能な項目はぼ該項目の位置を
空白にする。スタイル情報リード/ライト部(309)
は、入力解析部(1105)で抽出した名称のファイル
から、スタイル情報をスタイル情報テーブルへ読み込む
(107)。適合スタイル検索部(303)では、バッ
ファ内のソースプログラムを先頭から構文解析(109
)し、構文に適合する記述形式をスタイル情報テーブル
から検索する(110)。ソースプログラム整形部(3
04)は検索した記述形式に基づき文を整形し、バッフ
ァへ書き込む(111)。適合スタイル検索部(303
)は、バッファ内にまだ整形していない文が有るか無い
か判定しく112)、有る場合は、順次構文解析、適合
スタイル検索。
ソースプログラムより取得し、バッファにヘッダコメン
トを書き込む(1010)。システム、及び、ソースプ
ログラムから値が取得不可能な項目はぼ該項目の位置を
空白にする。スタイル情報リード/ライト部(309)
は、入力解析部(1105)で抽出した名称のファイル
から、スタイル情報をスタイル情報テーブルへ読み込む
(107)。適合スタイル検索部(303)では、バッ
ファ内のソースプログラムを先頭から構文解析(109
)し、構文に適合する記述形式をスタイル情報テーブル
から検索する(110)。ソースプログラム整形部(3
04)は検索した記述形式に基づき文を整形し、バッフ
ァへ書き込む(111)。適合スタイル検索部(303
)は、バッファ内にまだ整形していない文が有るか無い
か判定しく112)、有る場合は、順次構文解析、適合
スタイル検索。
ソースプログラム整形、及び、バッファ書き込みを行な
う。バッファの内容を全て整形し終わった時、ソースプ
ログラムリード/ライト部(305)は、バッファの内
容を、ファイルへ書き込む(113)。利用者が、抽出
コマンドを入力した場合の処理は、第1図の場合と同様
である。
う。バッファの内容を全て整形し終わった時、ソースプ
ログラムリード/ライト部(305)は、バッファの内
容を、ファイルへ書き込む(113)。利用者が、抽出
コマンドを入力した場合の処理は、第1図の場合と同様
である。
第12図にヘッダフォーマット情報テーブルの例を示す
。ヘッダフォーマット情報テーブルは、文字列形式のテ
ーブル、であり、ヘッダコメントの型の情報を記憶する
。ヘッダコメントの型の情報は、固定文字と、予め定め
られた予約語(第12図の、@func、 @date
)からなる。固定文字はヘッダコメントを形成する文字
として、そのまま出力し、予約語はシステム、及び、ソ
ースプログラムから値(関数名称、日付)を取得し、該
予約語の位置に置き換えて出力する。
。ヘッダフォーマット情報テーブルは、文字列形式のテ
ーブル、であり、ヘッダコメントの型の情報を記憶する
。ヘッダコメントの型の情報は、固定文字と、予め定め
られた予約語(第12図の、@func、 @date
)からなる。固定文字はヘッダコメントを形成する文字
として、そのまま出力し、予約語はシステム、及び、ソ
ースプログラムから値(関数名称、日付)を取得し、該
予約語の位置に置き換えて出力する。
第17図(b)は、第12図のへツダフォーマット情報
テーブル内容に基づき、第17図(a)にヘッダコメン
トを付加した例である。以下、本例を用いて第10図を
説明する。入力解析(1001)は、′ヘッダフォーマ
ット情報設定 ヘッダフォーマット情報名称″を受は取
り、ヘッダフォーマット情報設定コマンドとヘッダフォ
ーマット情報名称を抽出する。動作分岐(1002)は
、コマンドにより処理を分岐させる0本例では、ヘッダ
フォーマット情報設定コマンドなので処理はヘッダフォ
ーマット情報リード(1003)へ移る。
テーブル内容に基づき、第17図(a)にヘッダコメン
トを付加した例である。以下、本例を用いて第10図を
説明する。入力解析(1001)は、′ヘッダフォーマ
ット情報設定 ヘッダフォーマット情報名称″を受は取
り、ヘッダフォーマット情報設定コマンドとヘッダフォ
ーマット情報名称を抽出する。動作分岐(1002)は
、コマンドにより処理を分岐させる0本例では、ヘッダ
フォーマット情報設定コマンドなので処理はヘッダフォ
ーマット情報リード(1003)へ移る。
ヘッダフォーマット情報リード(1003)は、指定さ
れたヘッダフォーマット情報をヘッダフォーマット情報
テーブルへ読み込む。ヘッダフォーマット情報表示(1
004)は、ヘッダフォーマット情報テーブルの内容を
表示する。ヘッダフォーマット情報編集(1005)内
で表示したヘッダフォーマット情報を編集する。ヘッダ
フォーマット情報表示(1004)、及びヘッダフォー
マット情報編集(1005)は、例えば公知のunix
viエディタを用いて行なえば良い。処理1006は、
記述形式の設定に誤りが有るか無いかを検索し、誤りが
有る場合は処理1005へ、無い場合は処理1007へ
処理を分岐する。処理1007で編集したヘッダフォー
マット情報をファイルへ書き込む。入力解析(1001
)で、′整形 ヘッダフォーマット情報名称、ソースプ
ログラム名称 スタイル情報名称′″を受は取った場合
、整形コマンドとヘッダフォーマット情報名称と、ソー
スプログラム名称と、スタイル情報名称を抽出する。動
作分岐(1002)は、コマンドコードにより処理を分
岐させる。今回は、整形コマンドなので処理はヘッダフ
ォーマット情報リード(1003)へ移る。ヘッダフォ
ーマット情報リード(1003)は、指定されたヘッダ
フォーマット情報をヘッダフォーマット情報テーブルへ
、ソースプログラムリード(108)は、ソースプログ
ラムをバッファへ読み込む。ヘッダコメント作成(10
10)ではヘッダフォーマット情報テーブルを解析し、
固定文字と予約語を検出する。固定文字は、バッファに
そのまま書き出す。予約語@ funcの場合は、ソー
スプログラム中より関数名称を検索し、該予約語の位置
に書き込む。予約語@dateの場合は、例えば公知の
unix time()を用いて時間を取り出し、該予
約語の位置に書き込む。スタイル情報リード(107)
処理は、該スタイル情報をスタイル情卸テーブルへ読み
込む。既存のunix yacclex機能を用いた構
文解析(109)処理により。
れたヘッダフォーマット情報をヘッダフォーマット情報
テーブルへ読み込む。ヘッダフォーマット情報表示(1
004)は、ヘッダフォーマット情報テーブルの内容を
表示する。ヘッダフォーマット情報編集(1005)内
で表示したヘッダフォーマット情報を編集する。ヘッダ
フォーマット情報表示(1004)、及びヘッダフォー
マット情報編集(1005)は、例えば公知のunix
viエディタを用いて行なえば良い。処理1006は、
記述形式の設定に誤りが有るか無いかを検索し、誤りが
有る場合は処理1005へ、無い場合は処理1007へ
処理を分岐する。処理1007で編集したヘッダフォー
マット情報をファイルへ書き込む。入力解析(1001
)で、′整形 ヘッダフォーマット情報名称、ソースプ
ログラム名称 スタイル情報名称′″を受は取った場合
、整形コマンドとヘッダフォーマット情報名称と、ソー
スプログラム名称と、スタイル情報名称を抽出する。動
作分岐(1002)は、コマンドコードにより処理を分
岐させる。今回は、整形コマンドなので処理はヘッダフ
ォーマット情報リード(1003)へ移る。ヘッダフォ
ーマット情報リード(1003)は、指定されたヘッダ
フォーマット情報をヘッダフォーマット情報テーブルへ
、ソースプログラムリード(108)は、ソースプログ
ラムをバッファへ読み込む。ヘッダコメント作成(10
10)ではヘッダフォーマット情報テーブルを解析し、
固定文字と予約語を検出する。固定文字は、バッファに
そのまま書き出す。予約語@ funcの場合は、ソー
スプログラム中より関数名称を検索し、該予約語の位置
に書き込む。予約語@dateの場合は、例えば公知の
unix time()を用いて時間を取り出し、該予
約語の位置に書き込む。スタイル情報リード(107)
処理は、該スタイル情報をスタイル情卸テーブルへ読み
込む。既存のunix yacclex機能を用いた構
文解析(109)処理により。
バッファ内の文を先頭から解析し、構文を識別する情報
(構文識別子)を取得する。適合スタイル検索(110
)処理で、構文を識別する情報(構文識別子)に対応す
る記述形式を検索し、ソースプログラム整形(111)
処理で、構文を該記述形式に基づき整形し、バッファへ
書き込む。バッファ内のソースプログラムを全て整形し
たが(112)判定し、まだ整形していない文が有る場
合は、構文解析(109)処理、適合スタイル検索(1
10)処理、及びソースプログラム整形(112)処理
を順次繰り返す。全て整形し終わった場合は、ソースプ
ログラムライト(113)処理で、バッファの内容をフ
ァイルへ書き込む。
(構文識別子)を取得する。適合スタイル検索(110
)処理で、構文を識別する情報(構文識別子)に対応す
る記述形式を検索し、ソースプログラム整形(111)
処理で、構文を該記述形式に基づき整形し、バッファへ
書き込む。バッファ内のソースプログラムを全て整形し
たが(112)判定し、まだ整形していない文が有る場
合は、構文解析(109)処理、適合スタイル検索(1
10)処理、及びソースプログラム整形(112)処理
を順次繰り返す。全て整形し終わった場合は、ソースプ
ログラムライト(113)処理で、バッファの内容をフ
ァイルへ書き込む。
入力解析(1001)で、抽出コマンドを抽出した場合
の処理は、第1図の場合と同様である。
の処理は、第1図の場合と同様である。
次に、ソースプログラムから、プログラム情報を生成、
及び、プログラム情報から、ソースプログラムを生成す
る場合の実施例を示す。
及び、プログラム情報から、ソースプログラムを生成す
る場合の実施例を示す。
第13図は、第1図の機能にソースプログラムからプロ
グラム情報を生成する機能−及び、プログラム情報から
ソースプログラムを生成する機能を追加した場合の処理
フローであり、第14図は。
グラム情報を生成する機能−及び、プログラム情報から
ソースプログラムを生成する機能を追加した場合の処理
フローであり、第14図は。
システムの構成を示すブロック図である。
第13図の処理フローに基づき、第14図の各部の動作
を説明する。
を説明する。
利用者が、″プログラム情報生成 ソースプログラム名
称 スタイル情報名称 プログラム情報名称″を入力し
た場合、ソースプログラムリート/ライト部(305)
は、入力解析部で抽出した名称のファイルから、ソース
プログラムをバッファへ読み込む(103)。構文解析
部(307)は、バッファの内容を構文解析しく104
)、構文の識別子と、対応する文を出力する。スタイル
情報抽出部(308)で構文の記述形式を解析し、スタ
イル情報テーブルへ登録する(105)。スタイル情報
リード/ライト部(309)は、スタイル情報テーブル
の内容を、入力解析部(1401)で抽出した名称のフ
ァイルへ書き込む(106)。
称 スタイル情報名称 プログラム情報名称″を入力し
た場合、ソースプログラムリート/ライト部(305)
は、入力解析部で抽出した名称のファイルから、ソース
プログラムをバッファへ読み込む(103)。構文解析
部(307)は、バッファの内容を構文解析しく104
)、構文の識別子と、対応する文を出力する。スタイル
情報抽出部(308)で構文の記述形式を解析し、スタ
イル情報テーブルへ登録する(105)。スタイル情報
リード/ライト部(309)は、スタイル情報テーブル
の内容を、入力解析部(1401)で抽出した名称のフ
ァイルへ書き込む(106)。
プログラム情報生成部(1403)は、バッファの内容
からプログラム情報を作成(1305)L、プログラム
情報リード/ライト部(1404)で、ファイルへプロ
グラム情報を書き込む(1306)。
からプログラム情報を作成(1305)L、プログラム
情報リード/ライト部(1404)で、ファイルへプロ
グラム情報を書き込む(1306)。
利用者が、′ソースプログラム生成 プログラム情報名
称 スタイル情報名称 ソースプログラム名称′″を入
力した場合、プログラム情報リード/ライト部(140
3)は、入力解析部(1401)で抽出した名称のファ
イルから、プログラム情報を読み込み(1303)。ソ
ースプログラム生成部(1402)で、ソースプログラ
ムを作成し、バッファへ書き込む(1304)。スタイ
ル情報リード/ライト部(309)は、スタイル情報を
、入力解析部(1401)で抽出した名称のファイルか
ら、スタイル情報テーブルに読み込む。
称 スタイル情報名称 ソースプログラム名称′″を入
力した場合、プログラム情報リード/ライト部(140
3)は、入力解析部(1401)で抽出した名称のファ
イルから、プログラム情報を読み込み(1303)。ソ
ースプログラム生成部(1402)で、ソースプログラ
ムを作成し、バッファへ書き込む(1304)。スタイ
ル情報リード/ライト部(309)は、スタイル情報を
、入力解析部(1401)で抽出した名称のファイルか
ら、スタイル情報テーブルに読み込む。
適合スタイル検索部(303)では、バッファのソース
プログラムの、先頭から構文解析(109)を行ない、
構文に適合する記述形式を、スタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形し、バッファ
へ書き込み(111)。
プログラムの、先頭から構文解析(109)を行ない、
構文に適合する記述形式を、スタイル情報テーブルから
検索する(110)。ソースプログラム整形部(304
)は、検索した記述形式に基づき文を整形し、バッファ
へ書き込み(111)。
適合スタイル検索部(303)は、バッファに、まだ整
形していない文が有るか無いか判定しく112)、有る
場合は、順次、構文解析、適合スタイル検索、ソースプ
ログラム整形、及び、バッファ書き込みを行なう。
形していない文が有るか無いか判定しく112)、有る
場合は、順次、構文解析、適合スタイル検索、ソースプ
ログラム整形、及び、バッファ書き込みを行なう。
バッファの内容を全て整形し終わった時、ソースプログ
ラムリード/ライト部(305)は、バッファの内容を
、入力解析部(1401)で抽出したファイルへ書き込
む(113)。
ラムリード/ライト部(305)は、バッファの内容を
、入力解析部(1401)で抽出したファイルへ書き込
む(113)。
本発明によれば、利用者は、日常使いなれていない記述
形式のソースプログラムを、使いなれた記述形式のソー
スプログラムに整形し、参照、及び編集することが可能
となる。
形式のソースプログラムを、使いなれた記述形式のソー
スプログラムに整形し、参照、及び編集することが可能
となる。
第1図、第5図、第7図、第10図、第13図は、本発
明の実施例の処理フロー図、第2図は本発明が実施され
るハードウェア環境を示すブロック図、第3図、第6図
、第8図、第11図、第14図は本発明の実施例に係る
機能構成を示すブロック図、第4図は本発明の一実施例
でのスタイル情報テーブルの一例を示す図、第9図は、
本発明の実施例におけるスタイル利用情報テーブルの一
例を示す図、第12図は、ヘッダフォーマット情報テー
ブルの一例を示す図、第15図は、本発明の第一の実施
例に係るソースプログラムを示す図、第16図は、本発
明の第二の実施例に係るソースプログラムとスタイル情
報テーブルを示す図、第17図は、本発明の第四の実施
例に係るソースプログラムを示す図である。 105・・・スタイル情報抽出、110・・・適合スタ
イ第 2 図 寥 3 図 ■ 旦 スタイル楕雇テーフ゛°ル 不 5 図 第 図 ■ 図 猶 9 図 スフイルオリ用斗青板テーフ゛′ル ネ ノー 図 1ρ 園 ■ z 図 猶 13 図 窩 5 図 (0−) (bン (C) 烹 4 菌 ■ /6 図 ((1−) (C) (d−)
明の実施例の処理フロー図、第2図は本発明が実施され
るハードウェア環境を示すブロック図、第3図、第6図
、第8図、第11図、第14図は本発明の実施例に係る
機能構成を示すブロック図、第4図は本発明の一実施例
でのスタイル情報テーブルの一例を示す図、第9図は、
本発明の実施例におけるスタイル利用情報テーブルの一
例を示す図、第12図は、ヘッダフォーマット情報テー
ブルの一例を示す図、第15図は、本発明の第一の実施
例に係るソースプログラムを示す図、第16図は、本発
明の第二の実施例に係るソースプログラムとスタイル情
報テーブルを示す図、第17図は、本発明の第四の実施
例に係るソースプログラムを示す図である。 105・・・スタイル情報抽出、110・・・適合スタ
イ第 2 図 寥 3 図 ■ 旦 スタイル楕雇テーフ゛°ル 不 5 図 第 図 ■ 図 猶 9 図 スフイルオリ用斗青板テーフ゛′ル ネ ノー 図 1ρ 園 ■ z 図 猶 13 図 窩 5 図 (0−) (bン (C) 烹 4 菌 ■ /6 図 ((1−) (C) (d−)
Claims (1)
- 【特許請求の範囲】 1、計算機、及び、対話用端末を有する情報処理装置に
おいて、ソースプログラムの記述形式を解析するステッ
プと、解析結果の記述形式を記憶するステップと、記憶
した記述形式をもとにソースプログラムを整形するステ
ップを有することを特徴としたソースプログラム整形方
法。 2、特許請求の範囲第1項に加え、記憶した記述形式を
編集するステップを追加したことを特徴とするソースプ
ログラム整形方法。 3、特許請求の範囲第1項に加え、記記形式と利用者を
識別する情報を対として記憶するステップと、利用者を
識別し、該利用者に対応する記述形式をもとにソースプ
ログラムを整形するステップを追加したことを特徴とす
るソースプログラム整形方法。 4、特許請求の範囲第1項に加え、ソースプログラムの
ヘツダコメントの型を利用者が対話的に設定し、ヘツダ
コメントの型の情報(ヘッダフォーマット情報)として
記憶するステップと、ヘツダコメントの型の情報(ヘッ
ダフォーマット情報)から、ヘツダコメントを作成する
際必要な、パラメータ情報を、利用者、計算機、及び、
ソースプログラムから取得するステップと、ソースプロ
グラムにヘツダコメントを付加するステップを有するこ
とにより、ヘツダコメントの生成を可能とした、ソース
プログラム整形方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9402090A JPH03292530A (ja) | 1990-04-11 | 1990-04-11 | ソースプログラム整形方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9402090A JPH03292530A (ja) | 1990-04-11 | 1990-04-11 | ソースプログラム整形方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03292530A true JPH03292530A (ja) | 1991-12-24 |
Family
ID=14098865
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9402090A Pending JPH03292530A (ja) | 1990-04-11 | 1990-04-11 | ソースプログラム整形方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03292530A (ja) |
-
1990
- 1990-04-11 JP JP9402090A patent/JPH03292530A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7761788B1 (en) | System and method for capturing document style by example | |
| JPH08241332A (ja) | 全文登録語検索装置および方法 | |
| JPS6375835A (ja) | 目的コ−ド、プログラム・リスト及び設計文書を生成する装置 | |
| EP1677207A1 (en) | Translation support device | |
| CN112199335A (zh) | 一种操作日志的生成方法和生成系统 | |
| JP2017167433A (ja) | サマリ生成装置、サマリ生成方法及びサマリ生成プログラム | |
| CN119512959A (zh) | 基于大语言模型的软件需求文档解析与测试用例自动生成方法及系统 | |
| JP3981158B2 (ja) | 文書索引生成装置 | |
| JPH0877196A (ja) | 文書情報抽出装置 | |
| JP3698247B2 (ja) | オブジェクト指向開発支援装置 | |
| JP3003459B2 (ja) | プログラム作成支援装置 | |
| JP3785439B2 (ja) | 自然言語処理装置とその自然言語処理方法、及び自然言語処理プログラム | |
| JP2999654B2 (ja) | 端末装置 | |
| JP2003005965A (ja) | データ編集ツール/データアクセスライブラリ自動生成装置 | |
| JP2811804B2 (ja) | 変数出力範囲指定方式 | |
| JPS63226730A (ja) | プログラム自動作成方法 | |
| CN120973347A (zh) | 一种基于ai辅助的sap代码开发方法及系统 | |
| JP3318254B2 (ja) | ファイルの解読方法 | |
| JPH0546373A (ja) | フローチヤート作成処理装置 | |
| CN121963043A (zh) | 基于数据增强处理的问题应答方法及其相关设备 | |
| KR19990039431A (ko) | 개체관계도 케이스도구간의 정보 호환을 위한 씨디아이에프변환시스템 | |
| JPS6051950A (ja) | プログラム出力方式 | |
| JPH0375846A (ja) | データベース操作方法 | |
| JPH04167123A (ja) | 混在データ処理方式 | |
| JPH03132862A (ja) | 特殊文字群案内方式 |