JPH05150960A - プリコンパイラ - Google Patents

プリコンパイラ

Info

Publication number
JPH05150960A
JPH05150960A JP3336064A JP33606491A JPH05150960A JP H05150960 A JPH05150960 A JP H05150960A JP 3336064 A JP3336064 A JP 3336064A JP 33606491 A JP33606491 A JP 33606491A JP H05150960 A JPH05150960 A JP H05150960A
Authority
JP
Japan
Prior art keywords
source program
text
component
line
program list
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.)
Withdrawn
Application number
JP3336064A
Other languages
English (en)
Inventor
Takeshi Komita
武志 小三田
Michiharu Matsubara
道治 松原
Akira Tsunoshima
章 角島
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
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP3336064A priority Critical patent/JPH05150960A/ja
Publication of JPH05150960A publication Critical patent/JPH05150960A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 展開後のソースプログラム・リスト内に部品
内での定義位置を出力することによって、プログラムの
デバッグや最適化の時間を短縮すること。 【構成】 部品展開処理手段3は、呼出し元ソースプロ
グラムで指定された部品を部品ライブラリ1から取り出
して展開すると共に、部品展開の結果得られたソース部
分の各行に対して、その行が元の部品の何れの行に対応
するかを示す定義位置情報を付加する。生成ソースプロ
グラム・リスト出力手段4は、部品展開の結果得られた
ソース部分の各行に対して定義位置情報を付加した形
で、生成ソースプログラム・リストを出力する。図示の
例では、生成ソースプログラム・リストの「乱入力 商
品マスタ #キー値 商品コード」と言う文が元の部品
の002.002の文に対応している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プリコンパイラのリス
トの出力形式に関するものである。近年、コンピュータ
・プログラムの大型化に伴い、プログラムを部品化する
ことによって、既存のロジッグを使用し、製品の品質を
向上することが要求されている。このため、部品化され
たプログラムの見直し作業やデバッグ作業を容易にする
ため、部品展開後に生成されたソースプログラム・リス
トに部品名での定義位置を出力する必要がある。
【0002】図9はプリコンパイラを説明する図であ
る。プリコンパイラとは、コンパイルの前に行われる準
備フェーズを実行するためのプログラムである。例え
ば、SQL記述のCOBOLへの埋め込みを想定する。
SQLの機能はSQLプロセッサにSQL文を与えるこ
とで動作させるのが一般的である。実現方法として、C
OBOLコンパイラ本体を改造し、SQL文を直接SQ
Lプロセッサに渡すオブジェクトを生成する方法が考え
られるが、この方法ではCOBOLコンパイラの改造量
が大きくなり、余り得なやり方ではない。
【0003】別の方法としては、COBOLコンパイラ
本体の改造を行わず、SQLプロセッサの呼出しを外部
プログラムで実現し、ソース中のSQL記述を外部プロ
グラム呼出しに変換するプログラムをCOBOLコンパ
イラの前に実行する方法が考えられる。このときのCO
BOLコンパイラの前に実行するプログラムをプリコン
パイラと呼ぶ。この方法を採用すると、COBOLコン
パイラの改造は不要であり、付加機能としてSQL記述
対応を実現できるメリットがある。
【0004】
【従来の技術】従来の展開後のソースプログラムは、展
開された箇所が部品の何処に該当するかを識別するため
には、ソースプログラムと対応付けてチェックする必要
があった。ところが、コンピュータのプログラム規模が
増大するとともに、部品も大型化,複雑化し、ソースプ
ログラムとの対応付けが困難となる。
【0005】
【発明が解決しようとする課題】したがって、展開後の
ソースプログラム内でバグ(誤り)が発生した場合に
も、プログラムのデバッグ,最適化を行うことに時間が
かかると言った問題が生じていた。本発明は、この点に
鑑みて創作されたものであって、展開後のソースプログ
ラム・リスト内に部品内での定義位置を出力することに
よって、プログラムのデバッグや最適化の時間短縮を行
うことを目的としている。
【0006】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明のプリコンパイラは、部品展開処理手
段(3) と、生成ソースプログラム・リスト出力手段(4)
とを具備するプリコンパイラ(2) であって、部品展開処
理手段(3) は、呼出し元ソースプログラムによって指示
された部品を部品ライブラリ(1) から取り出して展開す
ると共に、部品展開の結果得られるソース部分の行に対
して、当該行が元の部品の何れの行に対応するかを示す
定義位置情報を付加するように構成され、生成ソースプ
ログラム・リスト出力手段(4) は、部品展開の結果得ら
れたソース部分の各行に対して定義位置情報を付加した
形で、生成ソースプログラム・リストを出力するように
構成されていることを特徴とするものである。
【0007】
【作用】図1(c) の生成ソースプログラム・リストの中
の「乱入力 商品マスタ #キー値 商品コード」と言
う文が、図1(b) の部品の「乱入力 ?表名 #キー値
?キー値」を展開して得られたものと仮定する。図1
(b) の「乱入力 ?表名#キー値 ?キー値」の部品内
の位置が002.002(2ページ2行)であるので、
生成ソースプログラム・リストの中の「乱入力 商品マ
スタ #キー値商品コード」と言う文に対して002.
002と言う定義位置情報が付加される。なお、図1
(b) は部品のソースプログラムが文書形式の場合を示す
が、部品のソースプログラムがテキスト形式の場合に
は、定義位置情報として行番号が使用される。
【0008】
【実施例】図2はRREAD部品のソースプログラム
(文書形式の場合)を示す図、図3はWRITE部品の
ソースプログラム(テキスト形式の場合)を示す図、図
4は呼出し元ソースプログラムを示す図、図5は生成ソ
ースプログラム・リストを示す図である。使用されてい
る言語はCAPE(Customer'sApplication ProgramEdit
or) と呼ばれるものであって、CAPE言語に関しては
FUJITSU CAPE文法書1990年10月初版
に説明されており、部品展開に関してはFUJITSU
CAPE/P部品生成説明書V14用1990年10
月初版に説明されている。
【0009】図4の呼出し元ソースプログラムにおける @RREAD(商品マスタ @#キー値 商品コード
@#分岐 無効キー)はRREAD部品を呼び出すため
の部品呼出し文である。そして、商品マスタが?表名
に、商品コードが?キー値に、無効キーが?分岐先にそ
れぞれ対応している。
【0010】また、図2のRREAD部品における @WRITE(?表名 @#キー値 ?キー値 @¥異
常(分岐 ?分岐先))はWRITE部品を呼び出すた
めの部品呼出し文である。なお、部品は部品ライブラリ
に登録されている。
【0011】図5の生成ソースプログラム・リストは、
図4の呼出し元ソースプログラムを本発明のプリコンパ
イラで処理したときに得られるものである。同図におい
て、は生成ソースプログラムの先頭からの連番を示
し、は生成ソースプログラムのページと行位置を示
し、は部品内での定義位置を示す。
【0012】図5の生成ソースプログラム・リストの3
2行ないし35行,46行ないし47行は部品のソース
プログラムが文書形式のため、定義位置情報はページと
行数の形式となる。また、37行ないし44行は部品の
ソースプログラムがテキスト形式のため、定義位置情報
は行番号の形式となる。
【0013】例えば、図5の生成ソースプログラム・リ
ストにおける「乱入力 商品マスタ#キー値 商品コー
ド」と言う文はRREAD部品の002.002(2ペ
ージ2行)の文に対応するので、「乱入力 商品マスタ
#キー値 商品コード」に対して002.002と言
う定義位置情報が付加されている。また、図5の生成ソ
ースプログラム・リストにおける「乱出力 商品マスタ
#キー値商品コード」と言う文はWRITE部品の0
00005(行番号=5)の文に対応しているので、
「乱出力 商品マスタ #キー値 商品コード」に対し
て000005と言う定義位置情報が付加されている。
【0014】図6は本発明の処理を説明する図である。
図6(a) は部品内でのテキスト形式を示す図である。部
品はページ・テキストと、行番号テキストと、その他テ
キストから構成されている。例えば、RREAD部品の
「乱入力」と言う語に着目すると、この語は2ページに
存在するので、ページ・テキストのページ記入欄には
「002」と記入される。ページ・テキストのテキスト
情報の欄には、ページ記入欄の長さ及びページ・テキス
ト全体の長さ等が記入されている。
【0015】RREAD部品の「乱入力」は2行に存在
するので、行番号テキストの行数記入欄には「002」
と記入される。RREAD部品は文書形式であるので、
行番号テキストの行番号欄には何も記入されない。行番
号テキストのテキスト情報の欄には、行番号記入欄の長
さ,行数記入欄の長さ及び行番号テキスト全体の長さ等
が記入されている。
【0016】RREAD部品の「乱入力」に対応するそ
の他のテキストの文字列記入欄には、「乱入力」と記入
されている。このテキスト情報の欄には、「乱入力」自
体の長さ,その前に存在する空白数,「乱入力」をCA
PEとしてコンパイルするときに必要な情報などが記入
される。
【0017】図示しないが、RREAD部品の「乱入
力」のテキストの後には「?表名」のテキストが配置さ
れ、「?表名」のテキストの後には「#キー値」のテキ
ストが配置され、「#キー値」のテキストの後には「?
キー値」のテキストが配置される。此処で行数が「00
3」に変更されるので、「?キー値」のテキストの後に
は、「003」の行数記入欄を持つ行番号テキストが配
置される。「003」の行数記入欄を持つ行番号テキス
トの後には「条件」のテキストが配置される。以下、同
様にしてテキストが配置される。図2のRREAD部品
には3ページは存在しないが、ページが「002」から
「003」に変更された場合には、「003」のページ
記入欄を持つページ・テキストが配置される。
【0018】WRITE部品も同じような形になってい
る。しかし、図示のWRITE部品はテキスト形式にな
っているので、ページ・テキストは存在せず、行番号だ
けの形式になっている。
【0019】図6(b) は展開処理後のテキスト形式を示
す図である。展開処理後のテキストは、行テキストと追
加テキストの組の複数個から構成されている。行テキス
トは、テキスト情報の欄および行記入欄から構成されて
いる。行記入欄には、「乱入力 商品マスタ #キー値
商品コード」のような行毎の展開ソースが記入され
る。追加テキストは、長さ記入欄,識別子記入欄,ペー
ジ行数/行番号記入欄から構成されている。長さ記入欄
には、追加テキスト全体の長さが記入される。識別子記
入欄は、ページ行数/行番号記入欄の内容がページ行数
か,行番号かを示すためのものである。
【0020】図6(c) はリスト出力のデータ形式を示す
図である。リスト出力の各行は、行番号,文書内位置,
定義位置および展開ソースから構成される。図6(c) の
定義位置情報はページと行数から構成されている。図6
(d) もリスト出力のデータ形式を示す図であるが、図6
(d) の定義位置情報は行番号から構成されている。
【0021】図7,図8は本発明のプリコンパイラの処
理を示す図である。この処理は計算機でプリコンパイラ
用のプログラムを実行することによって実現される。ス
テップS1では、部品テキストを読み込む。ステップS
2では、ページ・テキストか,行番号テキストか,その
他のテキストかを調べ、ページ・テキストの場合はステ
ップS3に進み、行番号テキストの場合はステップS4
に進み、その他のテキストの場合はステップS5に進
む。
【0022】ステップS3では、ページ数を退避する。
次にステップS10に進む。ステップS4では、行数,
行番号を退避する。次にステップS10に進む。ステッ
プS5では、テキストの編集,出力を行う。テキスト編
集処理においては、?表名を商品マスタに置き換える処
理なども行う。
【0023】ステップS6では、その他のテキストが行
の先頭か否かを調べる。Yesの場合はステップS7に
進み、Noの場合はステップS10に進む。ステップS
7では、部品形式がテキスト形式か,文書形式かを調べ
る。テキスト形式の場合はステップS8に進み、文書形
式の場合はステップS9に進む。
【0024】ステップS8では、テキスト形式に対応し
た追加テキストを出力をする。ステップS9では、文書
形式に対応した追加テキストを出力する。ステップS1
0では、テキスト終了か否かを調べる。Yesの場合は
ステップS11に進み、Noの場合はステップS1に戻
る。
【0025】ステップS11では、リスト出力指定あり
か否かを調べる。有りの場合はステップS12に進み、
無しの場合は終了とする。ステップS12では、ヘッダ
印刷を行う。ステップS13では、テキストを読み込
む。ステップS14では、印刷データの編集を行う。
【0026】ステップS15では、改行か否かを調べ
る。Yesの場合はステップS16に進み、Noの場合
はステップS13に戻る。ステップS16では、一行印
刷を行う。ステップS17では、テキスト終了か否かを
調べる。Yesの場合は終了とし、Noの場合はステッ
プS13に戻る。
【0027】
【発明の効果】以上の説明から明らかなように、本発明
によれば、部品のリストと展開ソース・リストとの対応
を容易に把握することが出来、デバッグ作業の時間短縮
に寄与する所が大きい。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】RREAD部品のソースプログラム(文書形式
の場合)を示す図である。
【図3】WRITE部品のソースプログラム(テキスト
形式の場合)を示す図である。
【図4】呼出し元ソースプログラムを示す図である。
【図5】生成ソースプログラム・リストを示す図であ
る。
【図6】本発明の処理を説明する図である。
【図7】本発明のプリコンパイラの処理の流れを示す図
である。
【図8】本発明のプリコンパイラの処理の流れ(続き)
を示す図である。
【図9】プリコンパイラを説明する図である。
【符号の説明】
1 部品ライブラリ 2 プリコンパイラ 3 部品展開処理手段 4 生成ソースプログラム・リスト出力手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松原 道治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 角島 章 石川県河北郡宇ノ気町字宇野気ヌ98番地の 2 株式会社ピーエフユー内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 部品展開処理手段(3) と、生成ソースプ
    ログラム・リスト出力手段(4) とを具備するプリコンパ
    イラ(2) であって、 部品展開処理手段(3) は、呼出し元ソースプログラムに
    よって指示された部品を部品ライブラリ(1) から取り出
    して展開すると共に、部品展開の結果得られるソース部
    分の行に対して、当該行が元の部品の何れの行に対応す
    るかを示す定義位置情報を付加するように構成され、 生成ソースプログラム・リスト出力手段(4) は、部品展
    開の結果得られたソース部分の各行に対して定義位置情
    報を付加した形で、生成ソースプログラム・リストを出
    力するように構成されていることを特徴とするプリコン
    パイラ。
JP3336064A 1991-11-26 1991-11-26 プリコンパイラ Withdrawn JPH05150960A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3336064A JPH05150960A (ja) 1991-11-26 1991-11-26 プリコンパイラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3336064A JPH05150960A (ja) 1991-11-26 1991-11-26 プリコンパイラ

Publications (1)

Publication Number Publication Date
JPH05150960A true JPH05150960A (ja) 1993-06-18

Family

ID=18295322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3336064A Withdrawn JPH05150960A (ja) 1991-11-26 1991-11-26 プリコンパイラ

Country Status (1)

Country Link
JP (1) JPH05150960A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006061884A1 (ja) * 2004-12-07 2006-06-15 Hitachi, Ltd. 自動車用制御装置とそのソフトウエア作成方法及びシステム
JP2009205190A (ja) * 2008-02-26 2009-09-10 Hitachi Ltd ソフトウェア自動構成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006061884A1 (ja) * 2004-12-07 2006-06-15 Hitachi, Ltd. 自動車用制御装置とそのソフトウエア作成方法及びシステム
JP2009205190A (ja) * 2008-02-26 2009-09-10 Hitachi Ltd ソフトウェア自動構成装置

Similar Documents

Publication Publication Date Title
JP2609093B2 (ja) ソフトウエアプログラムを生成するための装置及びその方法
JPS61282935A (ja) プログラムにおける属性割当て検査方法及び装置
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JP3186117B2 (ja) データ中心型ソフトウエア部品によるプログラム自動生成システム
JPH04286029A (ja) ソースプログラム・コンバータ
JPS5922140A (ja) 対話型コンパイル方式
WO2013015109A1 (ja) モジュールの構造解析を支援する装置及びプログラム
JP3003459B2 (ja) プログラム作成支援装置
JPH0512034A (ja) 機械で読取り可能な情報の翻訳を可能にする方法
Waterman Pas-ii reference manual
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH02205930A (ja) インタフェースチェック処理方法
JP2841813B2 (ja) 文書修正システム
JPH03185559A (ja) 文書整形装置及び文書整形方法
JPH036624A (ja) 複数コード系に対応する翻訳リスト出力処理方式
JPS59231649A (ja) コンパイルリスト出力処理方式
JPH04248624A (ja) プログラム変換処理装置
JPH03233669A (ja) 文書作成装置
JP3051747B2 (ja) 機械翻訳方法及び機械翻訳システム
JPH03186933A (ja) 言語処理システムのシンボル処理方式
JPH05134854A (ja) ソフトウエア開発支援装置
JPH02116963A (ja) 文書データ処理装置
JPS63269229A (ja) 文字列操作系命令コンパイル処理方式
JPH04209029A (ja) 並列処理プログラム翻訳処理装置
JPH04365131A (ja) ソースプログラムライブラリ管理方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990204