JPS63298635A - 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式 - Google Patents

高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式

Info

Publication number
JPS63298635A
JPS63298635A JP13579687A JP13579687A JPS63298635A JP S63298635 A JPS63298635 A JP S63298635A JP 13579687 A JP13579687 A JP 13579687A JP 13579687 A JP13579687 A JP 13579687A JP S63298635 A JPS63298635 A JP S63298635A
Authority
JP
Japan
Prior art keywords
information
name
source program
compiler
information acquisition
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
JP13579687A
Other languages
English (en)
Inventor
Tomoyuki Yui
朋之 湯井
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 JP13579687A priority Critical patent/JPS63298635A/ja
Publication of JPS63298635A publication Critical patent/JPS63298635A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は高級言語のソースプログラム解析ツールに関し
、特にソースプログラムからの情報を取得する方式に関
する。
(従来の技術) 従来、高級言語のソースプログラム解析ツールにおける
ソースプログラムの情報は、例えば、宣言情報出力ツー
ルや手続き量情報出力ツールなどの各ツールからそれぞ
れソースプログラムを直接入力して、ソースプログラム
の各行を一行ずつ走査しながら取得している。そのため
、同じ高級言語に対して複数の解析ツールがあれば、同
じソースプログラムの情報をそれぞれ別々に取得してい
た。
第2図(a)は宣言情報出力ツールの実行を示し、第2
図(b)は手続き量情報出力ツールの実行を示す説明図
である。第2図において201はソースプログラム情報
取得部、202は宣言情報出力部、203は手続き量情
報出力部、204は出力結果である。第2図(a)、(
b)は上述した説明を表わしたものである。
(発明が解決しようとする問題点) 上述した従来技術による高級言語のノースプログラム解
析ツールを生成する方式では、ソースプログラムの情報
は、当該ツールが直接ソースプログラムを走査したとき
に取得しているため、ある高級言語のノースプログラム
の解析ツールを作成するときには、各ツールでそれぞれ
ソースプログラムからの情報を取得しなければならな(
八という欠点がある。
本発明の目的は、コンパイラにソースプログラムを入力
したときに生成されるテーブルを利用して高級言語のソ
ースプログラム解析ツールにより高級言語のソースプロ
グラムの情報?取得することにより上記欠点を除去し、
上記情報取得のわずられしさのないように構成した高級
言語のソースプログラム解析ツールにおける情報取得方
式を提供することにある。
(問題点を解決するための手段) 本発明による高級言語のソースプログラム解析ツールに
おける情報取得方式は名標情報取得手段と、手続き情報
取得手段と、名前情報取得手段と、名標定義参照情報取
得手段とを具備して構成したものである。
名標情報取得手段は、ソースプログラムコンパイル時に
コンパイラの構文解析部により生成される名標情報テー
ブルから名標情報を入力するためのものである。
手続き情報取得手段は、コンパイラの構文解析部により
生成される手続き情報テーブルから手続き情報を入力す
る六めのものである。
名前情報取得手段は、コンパイラの宣言文解析部圧より
生成される名前情報テーブルから名前情報を入力するた
めのものである。
名標定義参照情報取得手段は、コンパイラの中間語列生
成部により生成される名標定義参照情報テーブルから名
標定義参照情報を入力するためのものである。
(実施例) 次に、本発明について図面を参照して説明する。
第1図は、本発明による高級言語のソースプログラム解
析ツールにおける情報取得方式を実現する一実施例を示
すブロック図である。
第1図を参照すると本発明の一実施例はコンパイラ部1
0と、コンパイラ生成テーブル部11と、情報取得手段
23と、ソースプログラム解析ツール9とから構成され
る。さらにコンパイラ部10はトークン列生成部12と
、構文解析部13と、宣言文解析部14と、中間語列生
成部15とを含む。また、コンパイラ生成テーブル11
は名標情報テーブル5と、手続き情報テーブル6と、名
前情報テーブル7と、名標定義参照テーブル8とを含む
。情報取得手段23は名標情報取得手段1と、手続き情
報取得手段2と、名前情報取得手段3と、名標定義参照
情報取得手段4とを含む。ソースプログラム解析ツール
9は宣言情報出力ツール21、または手続き量情報出力
ツール22などを含む。
ここで、16はソースプログラム、1フは第1のトーク
ン列、18は第2のトークン列、19は第3のトークン
列、2Gは中間語列である。
次に、コンパイラ部10の処理について説明する。
トークン列生成部12はソースプログラム16ヲ読込み
、ソースプログラムをコンパイラの認識する最小単位の
コード群である第1のトークン列1フに変換して出力す
る。次に、構文解析部13は第1のトークン列17を読
込み、構文のチェックを行いながらソースプログラム1
6に記述され九名標を格納するテーブルである名標情報
テーブル5を生成し、さらにプログラムの外部手続き、
および内部手続きに対応して生成されろ手続き情報テー
ブル6を生成する。
ま六、宣言文のトークンを第2のトークン列18に出力
し、実行文のトークyを第3のトークン列19に出力す
る。宣言文解析部14は第2のトークン列18を読込み
、名標が宣言されたときに当該名標に対する属性を格納
するテーブルである名前情報テーブルフを生成する。ま
た、中間語列生成部15は第8のトークン列19を読込
み、中間語列20を出力するとともに名標がプログラム
上に宣言されている位置と、参照されている位置とを格
納するテーブルである名標定義参照テーブル8を生成す
る。
情報取得手段23は、コンパイラ部10によって生成さ
れ九コンパイラ生成テーブル11から情報を取得するも
のである。
名標情報取得手段1、手続き量情報取得手続2、名前情
報取得手段3、および名標定義参照情報取得手段4はソ
ースプログラム解析ツール9から必要に応じて起動され
る。
名標情報取得手段1は、名標情報テーブル8t−人力し
てソースプログラム解析ツール9に必要な情報を取得し
、ソースプログラム解析ツール9にこの情報を引渡す。
手続き情報取得手段2は、手続き情報テーブル6を入力
してソースプログラム解析ツール9に必要な情報を取得
し、ソースプログラム解析ツール9にこの情報を引1度
す。名前情報取得手段3は、名前情報テーブルフを入力
してソースプログラム解析ツール9に必要な情報分取得
し、ソースプログラム解析ツール9にこの情報を引渡す
。名標定義参照情報取得手段4は、名標定義参照テーブ
ルを入力してソースプログラム解析ツール9に必要な情
報を取得し、ソースプログラム解析ツール9にこの情報
を一引渡す。
ソースプログラム解析ツール9は、情報取得手段23か
ら引継いだ情報分出力結果24.25に編集して出力す
る。
(発明の効果) 以上説明したように本発明は、コンパイラにソースプロ
グラムを入力したときだ生成されるテーブルを利用して
、高級言語のソースプログラム解析ツールによシ高級言
語のソースプログラムの情報を取得することにより、あ
る高級言語に対して複数の解析ツールがあっても、コン
パイラが生成するテーブルから情報を取得する手段を−
り作成するだけで複数の解析ツールがその情報を参照で
きるようになυ、各解析ツールがそれぞれソースプログ
ラムから直接、情報を取得する操作が不要になるという
効果がある。
【図面の簡単な説明】
第1図は、本発明による高級言語のソースプログラム解
析ツールにおける情報取得方式を実現する一実施例を示
すブロック図である。 第2図tま、従来技術による高級言語のソースプログラ
ム解析ツールにおける情報取得方式の実例を示す説明図
である。 1・・・名標情報取得手段 2・・・手続き情報取得手段 3・・・名前情報取得手段 4・・・名標定義参照情報取得手段 S・・・名標情報テーブル 6・・−手続き情報テーブル フ・・・名前情報テーブル 8・・・名標定義参照テーブル 9・・・ノースプログラム解析ツール 10−−−コンパイラ部 11・・・コンパイラ生成テーブル 12・・・トークン列生成部 13−・・構文解析部 14・・・宣言文解析部 15・・・中間語列生成部 16・・・ソースプログラム 17〜19・・−トークン列 20・拳・中間語列 21書・・宣言情報出力ツール 22・・・手続き量情報出力ツール 23・d・情報取得手段 24.25.204−−、出力結果 201・・−ノースプログラム情報取得部202・・・
宣言情報出力部

Claims (1)

    【特許請求の範囲】
  1. ソースプログラムコンパイル時にコンパイラの構文解析
    部により生成される名標情報テーブルから名標情報を入
    力するための名標情報取得手段と、前記コンパイラの構
    文解析部により生成される手続き情報テーブルから手続
    き情報を入力するための手続き情報取得手段と、コンパ
    イラの宣言文解析部により生成される名前情報テーブル
    から名前情報を入力するための名前情報取得手段と、コ
    ンパイラの中間語列生成部により生成される名標定義参
    照情報テーブルから名標定義参照情報を入力するための
    名標定義参照情報取得手段とを具備して構成したことを
    特徴とする高級言語のソースプログラム解析ツールにお
    ける情報取得方式。
JP13579687A 1987-05-29 1987-05-29 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式 Pending JPS63298635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13579687A JPS63298635A (ja) 1987-05-29 1987-05-29 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13579687A JPS63298635A (ja) 1987-05-29 1987-05-29 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式

Publications (1)

Publication Number Publication Date
JPS63298635A true JPS63298635A (ja) 1988-12-06

Family

ID=15160026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13579687A Pending JPS63298635A (ja) 1987-05-29 1987-05-29 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式

Country Status (1)

Country Link
JP (1) JPS63298635A (ja)

Similar Documents

Publication Publication Date Title
EP0406602B1 (en) Method and apparatus for debugging parallel programs by serialization
KR920020317A (ko) 프로그램처리장치 및 프로그램처리방법
CA2078247A1 (en) Source code analyzer
GB2312973A (en) Programming aid enabling source code to be viewed with a general purpose document browser
US5408667A (en) Method for unified design documentation
JPS63298635A (ja) 高級言語のソ−スプログラム解析ツ−ルにおける情報取得方式
Cox et al. Advanced programming aids in PROGRAPH
Chow et al. Topological composition systems: Specifications for lexical elements of visual languages
Steinbeck LibVCS4j: A Java Library for Repository Mining
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
JPH03126103A (ja) ロボット用プログラム作成装置
Yang et al. Code understanding through program transformation for reusable component identification
JPH06242958A (ja) コンパイル方式
JPH04215128A (ja) 利用者語変換の機密保護システム
JPS6115236A (ja) オブジエクトリストの部分作成方法
Manduchi et al. LINDA: The experiment description language of the MDS‐Plus data acquisition system
JPH0566929A (ja) コンパイラの再コンパイル時間の短縮方式
JPH10293685A (ja) プログラム理解支援方法
JPH0417028A (ja) プログラム言語の翻訳編集方式
JPS59231649A (ja) コンパイルリスト出力処理方式
Antoniadis Combining source code metadata and static analysis results via a compiler plug-in
JPH01297737A (ja) プログラム実行時間推定方式
JPS6142036A (ja) 原始プログラムの変換方法
JPH036622A (ja) コンパイルリスト出力装置
JPH03176740A (ja) ソースファイルの互換方式