JPH11143705A - ソースプログラムチェック装置および記録媒体 - Google Patents

ソースプログラムチェック装置および記録媒体

Info

Publication number
JPH11143705A
JPH11143705A JP9309075A JP30907597A JPH11143705A JP H11143705 A JPH11143705 A JP H11143705A JP 9309075 A JP9309075 A JP 9309075A JP 30907597 A JP30907597 A JP 30907597A JP H11143705 A JPH11143705 A JP H11143705A
Authority
JP
Japan
Prior art keywords
macro
source program
instruction
syntax
message
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
JP9309075A
Other languages
English (en)
Inventor
Masako Ito
雅子 伊藤
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 JP9309075A priority Critical patent/JPH11143705A/ja
Publication of JPH11143705A publication Critical patent/JPH11143705A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 本発明は、ソースプログラムのチェックを行
うソースプログラムチェック装置および記録媒体に関
し、ソースプログラム中のマクロを対応する命令に置換
するときに置換後の命令に対応づけてテーブル等にマク
ロ名等を保存しておき、構文テキスト作成時に命令に対
応するマクロ名等を併せて出力し、ソースプログラム上
のマクロチェックを簡易に実現する装置を提供すること
を目的とする。 【解決手段】 ソースプログラム中で記述されたマクロ
を対応する命令あるいは命令群に展開する際に当該展開
した命令あるいは命令群に対応づけてマクロ情報を記憶
する手段と、展開した後のソースプログラムの構文を解
析して構文テキストを作成する手段と、作成した構文テ
キストについてメッセージを出力する際に当該出力する
メッセージ中の該当部分に対応づけて上記マクロ情報を
出力する手段とを備えるように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソースプログラム
のチェックを行うソースプログラムチェック装置および
記録媒体に関するものである。
【0002】
【従来の技術】従来のソースプログラミングのチェック
装置は、ソースプログラム中に記述されたマクロ(例え
ばC言語のSHIFTマクロ)を対応する命令に置換が
行われた部分に対してチェック結果のメッセージを出力
する場合、マクロ置換後のソースプログラムに対してメ
ッセージ、例えば「y<<1+zはシフトと加減算が混
在している。( )を付け忘れていないか?」というメ
ッセージを出力していた。
【0003】
【発明が解決しようとする課題】上述したように従来の
チェック装置は、ソースプログラム中のマクロを対応す
る命令に置換した後のソースプログラムに対して上記メ
ッセージを出力していたため、ソースプログラム上でい
ずれの個所のマクロに対するメッセージなのかわからな
いという問題があると共に、この判らない命令群に対応
するマクロを元のソースプログラム上から探す必要が生
じてしまい効率的にソースプログラムのマクロのチェッ
クを行い難いという問題があった。
【0004】本発明は、これらの問題を解決するため、
ソースプログラム中のマクロを対応する命令に置換する
ときに置換後の命令に対応づけてテーブル等にマクロ名
等を保存しておき、構文テキスト作成時に命令に対応す
るマクロ名等を併せて出力し、ソースプログラム上のマ
クロチェックを簡易に実現する装置を提供することを目
的としている。
【0005】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、マクロ置
換処理手段1は、ソースプログラム中で記述されたマク
ロを対応する命令あるいは命令群に展開したり、展開す
る際に展開した命令あるいは命令群に対応づけてマクロ
情報を記憶させたりなどするものである。
【0006】構文テキスト作成手段2は、展開された後
のソースプログラムから構文テキストを作成したりなど
するものである。メッセージ出力手段3は、作成した構
文テキストについてメッセージを出力したり、メッセー
ジ中の該当部分に対応づけてマクロ情報を出力したりな
どするものである。
【0007】次に、動作を説明する。マクロ置換処理手
段1がソースプログラム中で記述されたマクロを対応す
る命令あるいは命令群に展開する際に展開した命令ある
いは命令群に対応づけてマクロ情報を記憶し、構文テキ
スト作成手段2が展開された後のソースプログラムから
構文テキストを作成し、メッセージ出力手段3が作成さ
れた構文テキストについてメッセージを出力する際に出
力するメッセージ中の該当部分に対応づけてマクロ情報
を出力するようにしている。
【0008】この際、展開した命令あるいは命令群と一
緒にマクロ情報を格納するテーブルのアドレスを設定す
ると共にアドレスにマクロ情報を設定し記憶するように
している。
【0009】また、マクロ情報として、マクロ名あるい
はマクロ名とファイル名と行番号とするようにしてい
る。従って、ソースプログラム中のマクロを対応する命
令に置換するときに置換後の命令に対応づけてテーブル
等にマクロ名、ファイル名、行数等を保存しておき、構
文テキスト作成時に命令に対応するマクロ名等を併せて
出力することにより、ソースプログラム上のマクロチェ
ックを簡易に実現することが可能となる。
【0010】
【発明の実施の形態】次に、図1から図3を用いて本発
明の実施の形態および動作を順次詳細に説明する。ここ
で、図示外の記録媒体あるいは外部記憶装置であるハー
ドディスク装置などから読み出したプログラム、または
センタの外部記憶装置から回線を介して転送を受けたプ
ログラムを主記憶にローディングして起動し、以下に説
明する各種処理を行うようにしている。
【0011】図1は、本発明の1実施例説明図を示す。
図1において、マクロ置換処理手段1は、ソースプログ
ラム中で記述されたマクロ(例えば図示のSHIFTマ
クロ)を対応する命令あるいは命令群に展開したり、展
開する際に展開した命令あるいは命令群に対応づけてマ
クロ情報を記憶したりなどするものである。例えば図1
の(a)のソースプログラムの x=SHIFT(y)+z; 中のマクロ“SHIFT(y)”を命令“y<<1”
(1ビット左にシフトする命令)に置換すると共に、マ
クロ情報を対応づけて記憶するために、 x=[11][0000]y<<1[12]+z; ・・・ [1e]TST のようにするものである。ここで、[11]は図中では
矩形で囲んだものであって、SHIFTマクロの置換開
始の意を表し、[0000]は図中では矩形で囲んだも
のであって、文字列テーブルの先頭からのバイト数(ア
ドレス)でSHIFTマクロ名を指すを表し、[12]
は図中の矩形で囲んだものであって、SHIFTマクロ
の置換終了の意を表す。また、[1e]は図中では矩形
で囲んだものであって、文字列テーブルTSTの開始の
意を表す。
【0012】以上によって、図1の(a)のC言語のソ
ースプログラムは、図1の(b)のマクロを命令に展開
したソースプログラムに変換されることとなり、変換後
のソースプログラム中の文字列テーブルにマクロ名など
のマクロ情報を記憶することが可能となる。
【0013】構文テキスト作成手段2は、展開された後
の図1の(b)のソースプログラムの構文を解析して図
1の(c)の構文テキストを作成したりなどするもので
ある。ここでは、図中で矢印を用いて示したように構文
を解析した構文テキストを作成するものである。この
際、構文テキストの命令に対応するマクロが文字列テー
ブルに記憶されていた場合には、その命令列に対応づけ
て図1の(a)のマクロ名を併せて生成、ここでは、そ
の直後の( )内に表示、例えば図1の(d)に示す
“y<<1”(SHIFTマクロ)と生成する。
【0014】メッセージ出力手段3は、作成した構文テ
キストについてメッセージを出力したり、メッセージ中
の該当部分に対応づけてマクロ情報を出力したりなどす
るものである。ここでは、図示の下記のようにメッセー
ジ中の対応する命令の直後の( )内にマクロ名を出力
して当該命令が元の図1の(a)のソースプログラムの
ときのマクロ名である旨を明瞭にし、命令とマクロ名と
の対応関係を明瞭にすることが可能となる。
【0015】「“y<<1+z”(SHIFTマクロ)
はシフトと加減算が混在している。( )をつけ忘れで
はないか。」 以上によって、図1の(a)のC言語のソースプログラ
ムを設計者が記述すると、自動的に図1の(b)のよう
にマクロ置換処理が実行され、更に図1の(c)のよう
に構文テキストをメモリ上に作成し、その結果、図1の
(d)に示す構文テキスト中の命令のうち間違いの可能
性の高い部分について、命令の直後の()内にマクロ名
を入れて出力し、構文テキストの命令と元のマクロ名と
の対応関係を判りやすくしてチェックをし易くすること
が可能となる。
【0016】図2は、本発明の入力Cソースと出力メッ
セージの関係図を示す。図2の(a)は、入力Cソース
の例を示す。ここで、入力Cソース上の命令(マクロ) SHIFT(y)+z について考察する。
【0017】図2の(b)は、出力メッセージの例を示
す。これは、既述した図1の(d)の出力メッセージ
「“y<<1+z”(SHIFTマクロ)はシフトと加
減算が混在している。( )をつけ忘れではないか。」
であって、構文テキスト“y<<1+z”中の“y<<
1”が元の図2の(a)の入力Cソース中のいずれの命
令(マクロ)であるかをその直後の“(SHIFTマク
ロ)”によって対応関係を明瞭にしたものである。即
ち、右側の点線の矩形で囲んだ図2の(a)の入力Cソ
ース中のSHIFT(y)が図2の(b)の出力メッセ
ージ中のy<<1に対応していることを一目で判るよう
に対応づけたものである。従来のように、出力メッセー
ジ中の「SHIFTマクロ」という補助情報がなけれ
ば、図中の2つの点線の矩形が対応していることがわか
らないこととなる。
【0018】図3は、本発明の他の実施例説明図を示
す。この図3は、図1に対応した他の実施例説明図であ
って、図1のマクロ名の他にソースプログラム中の行数
を対応づけたものである。
【0019】図3の(a)は、入力のCソースプログラ
ム(fagi.c)の例を示す。ここでは、左端にCソ
ースプログラムの行数を記載する。図3の(b)は、マ
クロ置換後のCソースプログラムの例を示す。ここで
は、 [1e]MDT [0000][0007][0001] [1e]TST SHIFT¥0fagi.c¥0・・・ にマクロ名、ファイル名、行数を置換して記憶する。こ
こで、[1e]MDTはマクロテーブル開始の意を表
し、[0000]は文字列テーブル先頭からのバイト数
を表し、[0007]は文字列テーブルの先頭からのバ
イト数でSHIFTマクロ定義のfagi.cファイル
名を表し、[0001]はSHIFTマクロ定義の行番
号を表す。[1e]TSTは文字列テーブルの開始の意
を表す。
【0020】以上によって、図3の(a)のC言語のソ
ースプログラムは、図3の(b)のマクロを命令に展開
したソースプログラムに変換されることとなり、変換後
のソースプログラム中のマクロテーブルにSHIFTマ
クロのファイル名と行番号、文字列テーブルにSHIF
Tマクロ定義のfagi.cファイル名を記憶すること
が可能となる。
【0021】図3の(c)は、構文テキスト(メモリ
上)の例を示す。これは、図3の(b)のCソースプロ
グラムから作成した構文テキストの例であって、最下段
に示す図示の下記のように、マクロ定義のファイル名f
agi.cと行番号1を記憶している。
【0022】[マクロ|SHIFT|ファイル名fag
i.c|行番号1] 図3の(d)は、メッセージ出力の例を示す。ここで
は、図示の下記のようなメッセージを出力する。
【0023】「“y<<1+z”(fagi.cの1行
目SHIFTマクロ)はシフトと加減算が混在してい
る。( )をつけ忘れではないか。」 ここで、( )内の“fagi.cの1行目SHIFT
マクロ”によってその直前の命令“y<<1+z”につ
いて、対応するマクロが図3の(a)のCソースプログ
ラムというファイル名fagi.cの1行目のSHIF
Tマクロに対応していることを表したいる。
【0024】以上によって、図3の(a)のC言語のソ
ースプログラムを設計者が記述すると、自動的に図3の
(b)のようにマクロ置換処理が実行され、更に図3の
(c)のように構文テキストをメモリ上に作成し、その
結果、図3の(d)に示す構文テキスト中の命令のうち
間違いの可能性の高い部分について、命令の直後の()
内に対応するソースプログラムのファイル名、マクロ
名、および行数を入れて出力し、構文テキストの命令と
元のソースプログラム、マクロ名、行数との対応関係を
判りやすくしてチェックをし易くすることが可能とな
る。
【0025】
【発明の効果】以上説明したように、本発明によれば、
ソースプログラム中のマクロを対応する命令に置換する
ときに置換後の命令に対応づけてテーブル等にマクロ
名、ファイル名、行数等を保存しておき、構文テキスト
作成時に命令に対応するマクロ名、ファイル名、行数等
を併せて生成しメッセージ中に命令と当該マクロ名、行
数などを対応づけて出力する構成を採用しているため、
ソースプログラム上のマクロチェックを簡易に行うこと
が可能となる。これにより、ソースプログラミングチェ
ック時にマクロ置換が行われた部分(命令)に対してメ
ッセージを出力する場合に、置換前のマクロ名、行数を
一緒に対応づけて表示等することで、設計者がソースプ
ログラム中のどこに対するメッセージなのか混乱するこ
となくソースプログラムのチェックができ、作業効率が
向上する。
【図面の簡単な説明】
【図1】本発明の1実施例説明図である。
【図2】本発明の入力Cソースと出力メッセージの関係
図である。
【図3】本発明の他の実施例構説明図である。
【符号の説明】
1:マクロ置換処理手段 2:構文テキスト作成手段 3:メッセージ出力手段

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】ソースプログラムのチェックを行うチェッ
    ク装置において、 ソースプログラム中で記述されたマクロを対応する命令
    あるいは命令群に展開する際に当該展開した命令あるい
    は命令群に対応づけてマクロ情報を記憶する手段と、 上記展開した後のソースプログラムの構文を解析して構
    文テキストを作成する手段と、 上記作成した構文テキストについてメッセージを出力す
    る際に当該出力するメッセージ中の該当部分に対応づけ
    て上記マクロ情報を出力する手段とを備えたことを特徴
    とするソースプログラムチェック装置。
  2. 【請求項2】上記展開した命令あるいは命令群に対応づ
    けてマクロ情報を記憶するとして、上記展開した命令あ
    るいは命令群と一緒にマクロ情報を格納するテーブルの
    アドレスを設定すると共に当該アドレスにマクロ情報を
    設定したことを特徴とする請求項1記載のソースプログ
    ラムチェック装置。
  3. 【請求項3】上記マクロ情報として、マクロ名あるいは
    マクロ名とファイル名と行番号としたことを特徴とする
    請求項1あるいは請求項2記載のソースプログラムチェ
    ック装置。
  4. 【請求項4】ソースプログラム中で記述されたマクロを
    対応する命令あるいは命令群に展開する際に当該展開し
    た命令あるいは命令群に対応づけてマクロ情報を記憶す
    る手段と、 上記展開した後のソースプログラムの構文を解析して構
    文テキストを作成する手段と、 上記作成した構文テキストについてメッセージを出力す
    る際に当該出力するメッセージ中の該当部分に対応づけ
    て上記マクロ情報を出力する手段として機能させるプロ
    グラムを記録したコンピュータ読み取り可能な記録媒
    体。
JP9309075A 1997-11-11 1997-11-11 ソースプログラムチェック装置および記録媒体 Pending JPH11143705A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9309075A JPH11143705A (ja) 1997-11-11 1997-11-11 ソースプログラムチェック装置および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9309075A JPH11143705A (ja) 1997-11-11 1997-11-11 ソースプログラムチェック装置および記録媒体

Publications (1)

Publication Number Publication Date
JPH11143705A true JPH11143705A (ja) 1999-05-28

Family

ID=17988588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9309075A Pending JPH11143705A (ja) 1997-11-11 1997-11-11 ソースプログラムチェック装置および記録媒体

Country Status (1)

Country Link
JP (1) JPH11143705A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265095A (ja) * 2006-03-29 2007-10-11 Hitachi Software Eng Co Ltd ソースプログラム検証プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265095A (ja) * 2006-03-29 2007-10-11 Hitachi Software Eng Co Ltd ソースプログラム検証プログラム

Similar Documents

Publication Publication Date Title
JPH11143705A (ja) ソースプログラムチェック装置および記録媒体
JP2006293436A (ja) プログラムコード生成装置および生成方法
JP2007079906A (ja) ソースコード生成装置
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH11338519A (ja) プログラマブルコントローラ、プログラム作成支援装置及びプログラム作成支援方法
JP2007058808A (ja) Htmlデータ生成プログラムの開発支援方法及び支援装置
JP4362777B2 (ja) プログラミング装置、シンボル自動登録方法、プログラムおよび記録媒体
JPH0594310A (ja) 機械語コード生成方法
JP2011048492A (ja) プログラムの作成支援装置、作成支援方法及び作成支援プログラム
KR100817364B1 (ko) 프로그래머블 로직 컨트롤러의 주변 장치 및 그 프로그램작성 방법
JPH1195987A (ja) リンクコマンドエディタおよびリンクコマンドエディタプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2712896B2 (ja) 言語処理システム
JPH05143545A (ja) 複数命令テキストの命令選択実行処理方式
JP2000035809A (ja) プログラマブル・コントローラ
JP2000131388A (ja) Ic試験装置のシステム構成設定装置
JPH0449421A (ja) ファイル編集方式
JPH11282691A (ja) ソフトウェア開発システム
JPH0358225A (ja) ファイル編集方式
JP2000047862A (ja) ソフトウエア開発支援方法および装置並びに記録媒体
JP2000003273A (ja) プログラム編集支援装置及びプログラム編集支援装置の制御プログラムを記録した媒体
JPH0736685A (ja) 部品処理装置
JP2004295557A (ja) プログラムコードの入力支援装置
JPH04373020A (ja) 関数対応表作成装置
JPH0495128A (ja) 命令パターン抽出処理装置
JPH07191858A (ja) シミュレーションインタプリタ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040413