JPH0264738A - 文字列出力装置 - Google Patents

文字列出力装置

Info

Publication number
JPH0264738A
JPH0264738A JP63217677A JP21767788A JPH0264738A JP H0264738 A JPH0264738 A JP H0264738A JP 63217677 A JP63217677 A JP 63217677A JP 21767788 A JP21767788 A JP 21767788A JP H0264738 A JPH0264738 A JP H0264738A
Authority
JP
Japan
Prior art keywords
source program
file
output
program
output intermediate
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
JP63217677A
Other languages
English (en)
Inventor
Takashi Mori
岳志 森
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63217677A priority Critical patent/JPH0264738A/ja
Publication of JPH0264738A publication Critical patent/JPH0264738A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、文字列をプリンタ等の出力機器上に出力する
出力装置に関する。特に、C言語で作成されたソースプ
ログラムを文字列として出力する文字列出力装置に利用
するものである。
〔概要〕
本発明は、ソースプログラムの文字列を出力する文字列
出力装置において、 プログラムの文書化に必要な関数と広域データのアクセ
ス関係をソースプログラムの中間ファイルを解析し、そ
の情報をソースプログラムに付加して出力することによ
り、 出力されたソースプログラムを読み易くし、プログラム
の保守性を向上させるものである。
〔従来の技術〕
近年、プログラムの複雑化と大規模化に伴い、プログラ
ムの生産性、可読性および保守性を向上させるために、
プログラムを人間が読み易いように出力する技術が重要
となっている。
この種のプログラム出力装置の従来技術としては、ブリ
ティプリンティングがあり、それは主にソースプログラ
ムのインデンテーション(プログラムのブロックがひと
目で分かるように書出す先頭位置を右にずらす字下げを
いう。)を調整することによって、可読性を上げること
を目的としている。
また、トロント大学のロナルド・ベーカーによる装置S
EEでは(文献: Ronald Beacker、 
”HumanFactors In Computln
g Systems : Design Pr1ncp
lefor the Enhanced Presen
tation of Computer Pro−gr
am 5ource Text”、proc、CHI’
86.Boston、Apri113−17.1986
.pp、51−58 ) 、C言語プログラムを対象に
、ソースプログラムのインデンテーションの他に、プロ
グラムの注釈や区切り記号、式の構文解析結果や文字の
構造などに着目し、より高度な出力装置を開発している
〔発明が解決しようとする問題点〕
しかし、この装置SEEでは、ひとつひとつのプログラ
ムファイルを全く独立に出力しているため、複数のプロ
グラムファイルから構成されるシステム全体からみると
、プログラムの解読や文書化のために必須な関数の呼び
出しに関する情報を出力できない問題があった。
本発明の目的は、上述の従来技術の問題点を解決するも
ので、複数のプログラムファイルを処理し、プログラム
の解読やプログラムの文書化に必須な関数の呼び出し関
係と広域データのアクセス関係の情報を付加して、プロ
グラムの可読性および保守性を向上させるものである。
〔問題点を解決するための手段〕
本・発明は、入力されたソースプログラムを構文解析し
その結果を出力用中間ファイルに格納するソースプログ
ラム解析手段と、このソースプログラム解析手段で得ら
れた複数の出力用中間ファイルの内容を解析してその関
数と広域データのアクセス関係とを上記出力用中間ファ
イルに格納する出力用中間ファイル解析手段と、上記出
力用中間ファイル解析手段で得られた出力用中間ファイ
ルに格納されている関数と広域データのアクセス関係と
をソースプログラムに付加してソースプログラムを出力
する出力手段とを備えたことを特徴とする。
〔作用〕
ソースプログラムファイルを解析して、そのファイル中
で定義されている関数や広域データの関数名や定義場所
である行数を記述した出力用中間ファイルを作成する。
複数の出力用中間ファイルにわたるような関数名や広域
データの定義場所については複数の出力用中間ファイル
を解析することによって、それらの定義されているファ
イル名と行数を記述した出力用中間ファイルを作成する
そして、ソースプログラムを出力する際にこの出力用中
間ファイルを参照して、行末に関数名あるいはアクセス
している広域データを表示してソースプログラムの文字
列を出力し、読み易くすることができる。
〔実施例〕
以下本発明実施例を図面を参照して詳細に説明する。
第1図は本発明の一実施例装置の全体構成を示す図であ
る。本実施例の文字列出力装置は、入力されたソースプ
ログラムを構文解析しその結果を出力用中間ファイルに
格納するソースプログラム解析手段としてのソースプロ
グラム解析装置1と、このソースプログラム解析手段で
得られた複数の出力用中間ファイルの内容を解析してそ
の関数と広域データのアクセス関係とを上記出力用中間
ファイルに格納する出力用中間ファイル解析手段として
の中間ファイル解析装置2と、上記出力用中間ファイル
解析手段で得られた出力用中間ファイルに格納されてい
る関数と広域データのアクセス関係とをソースプログラ
ムに付加してソースプログラムを出力する出力手段とし
ての出力処理装置3とから構成されている。そして、ソ
ースプログラム解析装置1は、ソースプログラムファイ
ル11を解析して、そのプログラム内で定義されている
関数と広域データを出力用中間ファイル21に格納する
。出力用中間ファイル解析装置2は、このソ−スプログ
ラム解析装置1で解析され格納された複数の出力用中間
ファイル21.〜21..を処理して、その関数と広域
データのアクセス関係を出力用中間ファイル22.〜2
2..に設定するものである。さらに、出力処理装置3
は、ソースプログラムファイル11と対応する出力用中
間ファイル22からソースプログラムに関数と広域デー
タのアクセス関係を付加しながら出力機器上にソースプ
ログラムを出力するものである。
第2図は、第1図に示すソースプログラム解析装置1で
生成される出力用中間ファイル21の構造を示すもので
ある。出力用中間ファイル21では、対応するソースプ
ログラムファイル11内で定義されている関数の名前と
、その関数の名前が定義されているソースプログラムフ
ァイル11内での行数をFUNC行で示し、対応するソ
ースプログラムファイル11内で定義されている広域デ
ータの名前とそれが定義されているソースプログラムフ
ァイル11内での行数をDATA行で示し、対応するソ
ースプログラムファイル11内でアクセスしている関数
の名前とそれが定義されているソースプログラムファイ
ル名と行数(定義ファイル欄)とをCALL行で示し、
対応するソースプログラムファイルll内で使用されて
いる広域データの名前とそれが定義されているソースプ
ログラムファイル名と行数(定義ファイル欄)とをUS
E行で示している。
次に、第1図と第2図とを参照して、本実施例文字列出
力装置を利用して目的となる文字列の出力を得るための
動作を説明する。この例は、一つのシステムが複数のソ
ースプログラムファイルで形成されている場合で説明す
る。
■ ソースプログラム解析装置1によって、ソースプロ
グラムファイル11から対応する出力用中間ファイル2
1を出力する。このとき、入力されたソースプログラム
ファイル11の数だけ出力用中間ファイル21.〜21
1.が生成され、自己のファイル以外で定義されている
関数や広域データをアクセスしている場合には、第2図
における定義ファイル欄は未解決のままで出力用中間フ
ァイル211〜21゜を生成する。
第3図に定義ファイル欄が未解決のままとなったソース
プログラムから出力用中間ファイル21のファイルFl
を生成した例を示す。この例は、ファイル11内で定義
されている関数mainがアクセスしている関するf、
g、hのうち、関数g1hはファイル11内で定義され
ていないため、その出力用中間ファイル21のファイル
F1の定義ファイル欄は、undef となっている。
■ 次にソースプログラム解析装置1で生成された複数
の出力用中間ファイル21、〜21イを出力用中間ファ
イル解析装置2に入力する。出力用中間ファイル解析装
置2は、上述のソースプログラム解析装置1での解析で
は未解決なアクセス関数や広域データの存在ファイルを
検索し、出力用中間ファイル221〜22..の定義フ
ァイル欄に記述する。
第4図に出力用中間ファイル解析装置2で解析された出
力用中間ファイル22.〜22゜の−例を示す。すなわ
ち、第3図の出力用中間ファイル21で未解決であった
関数g、hが、出力用中間ファイル解析装置2により、
出力用中間ファイル21のファイルF2に存在すること
が判別され、その結果から出力用中間ファイルのファイ
ル22のファイルF1の関数g、hに対する定義ファイ
ル欄にその出力用中間ファイルF2の名前と行数が記述
される。
■ ソースプログラムファイル11を出力処理装置3に
より出力機器上に出力する際、上記■の出力用中間ファ
イル解析によって得られた出力用中間ファイル22から
以下の判別を行うことができる。
(a)  指定されたソースプログラムファイル11内
で定義されている関数の関数名とその定義場所(行数)
(b)  定義されている関数がアクセスしている関数
の関数名とその定義場所(ファイル名と行数)。
(C)  定義されている関数がアクセスしている広域
データのデータ名とその定義場所(ファイル名と行数)
本実施例では、上記(a)、b)、(C)に対して、出
力処理装置3により以下の処理を行いながらソースプロ
グラムの出力を行う。
(d)  関数が定義されている行全体に網掛けを施し
、行末にその関数名と行数を記述する。
(e)  参照している関数の関数名の部分に網掛けを
施し、その行末にその関数が定義されているプログラム
ファイル名と行数を記述する。
(f)  を照している広域データのデータ名の部分に
網掛けを施し、その行末にその広域データが定義されて
いるファイル名と行数とを記述する。
このような形態でソースプログラムの文字列が本実施例
装置から出力されるので、プログラムの入力者等にとっ
て、ソースプログラムとともに関数と広域データのアク
セス関係をその文字列から3忍識することができるため
、ソースプログラムを読み易い形態で出力することが可
能である。
〔発明の効果〕
以上説明したように、本発明は、ソースプログラムとと
もに関数と広域データのアクセス関係も文字列中に出力
されるので、ソースプログラムが読み易くなり、プログ
ラムの可読性と保守性を向上させることができる。
【図面の簡単な説明】 第1図は本実施例の全体構成を示す図。 第2図は出力用中間ファイルの構成を示す図。 第3図はソースプログラムファイルと出力用中間ファイ
ルとの対応を示す図。 第4図は出力用中間ファイル解析処理の一例を示す図。 1・・・ソースプログラム解析装置、2・・・出力用中
間ファイル解析装置、3・・・出力処理装置、11・・
・ソースプログラムファイル、2L 22・・・出力用
中間ファイル。

Claims (1)

  1. 【特許請求の範囲】 1、入力されたソースプログラムを構文解析しその結果
    を出力用中間ファイルに格納するソースプログラム解析
    手段と、 このソースプログラム解析手段で得られた複数の出力用
    中間ファイルの内容を解析してその関数と広域データの
    アクセス関係とを上記出力用中間ファイルに格納する出
    力用中間ファイル解析手段と、 上記出力用中間ファイル解析手段で得られた出力用中間
    ファイルに格納されている関数と広域データのアクセス
    関係とをソースプログラムに付加してソースプログラム
    を出力する出力手段とを備えた文字列出力装置。
JP63217677A 1988-08-30 1988-08-30 文字列出力装置 Pending JPH0264738A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63217677A JPH0264738A (ja) 1988-08-30 1988-08-30 文字列出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63217677A JPH0264738A (ja) 1988-08-30 1988-08-30 文字列出力装置

Publications (1)

Publication Number Publication Date
JPH0264738A true JPH0264738A (ja) 1990-03-05

Family

ID=16707993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63217677A Pending JPH0264738A (ja) 1988-08-30 1988-08-30 文字列出力装置

Country Status (1)

Country Link
JP (1) JPH0264738A (ja)

Similar Documents

Publication Publication Date Title
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
CN106598869A (zh) 实现软件自动测试的方法、装置及电子设备
JPS61255469A (ja) 言語生成装置
JP2016076080A (ja) ソースコード解析装置、ソースコード解析方法、及びプログラム
Raymond Flexible text display with lector
EP1768034A1 (en) Document processing device and document processing method
JPH0916382A (ja) プログラム開発支援システム
JPH0264738A (ja) 文字列出力装置
JP3660432B2 (ja) 辞書登録装置及び辞書登録方法
US20250272496A1 (en) Sentence generation device, sentence generation method, and recording medium
KR102881281B1 (ko) 시퀀스 처리 방법 및 장치
JP3318254B2 (ja) ファイルの解読方法
JPS59231649A (ja) コンパイルリスト出力処理方式
JP3340124B2 (ja) かな漢字変換装置
KR100588729B1 (ko) 문자형 온라인 서비스에서 사용자 화면 제공장치 및 방법
JP2010237968A (ja) マルチコアプログラム作成支援装置及びプログラム
JPS6266371A (ja) テキスト分離型学習システム
JPH03208122A (ja) 画面項目属性設定方法
JP2006350585A (ja) 医療情報入力システム
JP2019053464A (ja) 変換補助装置
JP2007323250A (ja) 仮名漢字変換用辞書登録システム、仮名漢字変換用辞書登録処理方法及び仮名漢字変換用辞書登録プログラム
Tisseverasinghe A design of a multi-process simulator for a new personal computer: a step in the right direction
JPH04155569A (ja) かな漢字変換装置
JPH02282790A (ja) 図形文字処理装置
JPH027158A (ja) 中国語文章作成装置