JP3212099B2 - プリコンパイル処理方式 - Google Patents

プリコンパイル処理方式

Info

Publication number
JP3212099B2
JP3212099B2 JP41240490A JP41240490A JP3212099B2 JP 3212099 B2 JP3212099 B2 JP 3212099B2 JP 41240490 A JP41240490 A JP 41240490A JP 41240490 A JP41240490 A JP 41240490A JP 3212099 B2 JP3212099 B2 JP 3212099B2
Authority
JP
Japan
Prior art keywords
expansion
source
elements
unit
key
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.)
Expired - Fee Related
Application number
JP41240490A
Other languages
English (en)
Other versions
JPH04220724A (ja
Inventor
哲夫 嶋崎
道治 松原
章 角島
明美 柴田
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 JP41240490A priority Critical patent/JP3212099B2/ja
Publication of JPH04220724A publication Critical patent/JPH04220724A/ja
Application granted granted Critical
Publication of JP3212099B2 publication Critical patent/JP3212099B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力ソースを翻訳処理
することで新たな出力ソースを生成するプリコンパイル
処理方式に関し、特に、コーディング量の削減を実現で
きるプリコンパイル処理方式に関するものである。
【0002】ユーザの作成しなければならないプログラ
ムは、着実にその数を増やしている。これから、プリコ
ンパイラにあっても、作業を効率良く進めるためには、
プログラムの記述を簡略かつ容易にして、コーディング
時間と記述ミスを極力削減できるような手段を講じてい
く必要があ
【0003】
【従来の技術】プリコンパイラでは、出力ソースの展開
を制御する展開制御手段を備えて、この展開制御手段を
制御していくことで、ユーザの希望する出力ソースを生
成して出力していくよう処理することになる。
【0004】従来のプリコンパイラでは、独自の命令や
関数に従ってこの展開制御手段を提供することで、ユー
ザのニーズにあった出力ソースの展開制御を可能にする
構成を採っていた。
【0005】例えば、インライン展開される部品を呼び
出すときに、パラメタの指定があるときには、その部品
に従って「乱入力 商品コード #キー ?パラ」と出
力ソースを展開し、パラメタの指定がないときには、
「乱入力 商品コード」と出力ソースを展開する場合に
は、処理を振り分ける“@@条件,@@成立,@@不成
立,@@条件終了”という命令と、括弧内のデータの指
定の有無をチェックする“@%指定”という真理値関数
とを使用して、この部品の展開定義を図に示すように
記述する。
【0006】そして、プリコンパイル処理時に、この部
品の展開定義記述に従って、入力ソースに記述されるそ
の部品の呼び出し記述にパラメタの指定があるときに
は、「乱入力 商品コード #キー ?パラ」という出
力ソースを展開し、一方、パラメタの指定がないときに
は、「乱入力 商品コード」という出力ソースを展開し
ていくという方法を採っていたのである。
【0007】ここで、上述の“#キー”は予約語であ
り、また、“?パラ”の部分には入力ソースで指定され
るパラメタが展開されることになる。
【0008】また、プリコンパイラでは、添字付き変数
の全要素を関数の引数として渡す処理や出力をしていく
処理を実行していくことになる。
【0009】従来のプリコンパイラでは、このような添
字付き変数については、ユーザに対して全要素について
コーディングさせる構成を採っていた。そして、転記す
る場合にあっても、個々の要素を1つずつ転記させる構
成を採っていた。
【0010】例えば、部品の呼び出しのためのパラメタ
の“キー1値”について、“キー1値(1)”、“キー
1値(2)”、“キー1値(3)”という3つの添字の
パラメタが存在する場合には、ユーザに対して、その部
品の展開定義のところで、「?キー1値(1),?キー
1値(2),?キー1値(3)」というように添字の全
要素についてコーディングさせるという構成を採ってい
たのである。
【0011】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術では、展開制御用の命令/関数を用いて部
品の展開定義を記述する構成を採っているものであるこ
とから、部品の展開定義のコーディング量が多くなり、
ユーザの負荷が増大するとともにコーディングミスが増
大するという問題点があった。
【0012】そして、このような従来技術では、部品の
展開定義に記述される添字付きパラメタ等のように、展
開対象のソースに添字付き変数がある場合に、ユーザ
は、いちいち添字付き変数の全要素についてコーディン
グしなければならないことから、ユーザの負荷が増大す
るとともにコーディングミスが増大するという問題点が
あった。
【0013】本発明はかかる事情に鑑みてなされたもの
であって、入力ソースを翻訳処理することで新たな出力
ソースを生成するプリコンパイル処理方式において、コ
ーディング量の削減を実現できる新たなプリコンパイル
処理方式の提供を目的とするものである。
【0014】
【課題を解決するための手段】図1に、本発明の原理構
成を図示する。
【0015】発明のデータ処理装置1は、添字付き変
数に対して、いちいち全要素についてコーディングしな
くても済ませるようにすることで、部品の展開定義等の
コーディング量の削減を実現するものであって、解析部
10と、開部15と、添字付き変数管理部20と、全
要素指定判断部21と、要素展開処理部22とを備え
る。
【0016】ここで、2はプリコンパイル対象の入力ソ
ースを格納する入力ソースファイル、3はプリコンパイ
ルされた出力ソースを格納する出力ソースファイルであ
る。
【0017】この解析部10は、入力ソースを解析する
ことで、入力ソースの語を区切る処理を実行する。展開
部15は、部品以外の展開ソースの展開処理を実行す
る。
【0018】字付き変数管理部20は、添字付き変数
の全要素の展開情報を管理する。全要素指定判断部21
は、展開対象のソースに記述される変数が全要素指定を
指示する全要素指定記号の設定されている添字付き変数
であるか否かを判断する。要素展開処理部22は、全要
素指定判断部21が全要素指定記号の設定されている添
字付き変数であることを検出するときに、その添字付き
変数の全要素を展開用作業域に設定して全要素の展開処
理を実行する。
【0019】
【作用】発明では、部品の展開定義等の展開情報が添
字付き変数を持つものである場合には、上述の「課題を
解決するための手段」の欄で説明した全要素指定記号を
用いて記述する構成を採って、添字付き変数管理部20
が、この添字付き変数の全要素の展開情報を管理する構
成を採る。
【0020】例えば、“キー1値”が、“キー1値
(1)”、“キー1値(2)”、“キー1値(3)”と
いう3つの添字を持つ添字付き変数である場合には、
「?キー1値(@$全要素)」と記述して、添字付き変
数管理部20が、この“キー1値”の全要素の展開情報
を管理するのである。
【0021】この全要素指定記号を用いる展開定義の記
述を受けて、全要素指定判断部21は、展開対象のソー
スに記述される変数が全要素指定記号の設定されている
添字付き変数であるか否かを判断し、この判断により全
要素指定記号の設定されている添字付き変数であると判
断されると、要素展開処理部22は、添字付き変数管理
部20からその添字付き変数の全要素を読み出し、展開
用作業域に設定して全要素の一括展開処理を実行する。
【0022】この展開処理に従って、上述の“キー1
値”の例でもって説明するならば、“キー1値
(1)”、“キー1値(2)”、“キー1値(3)”と
いう3つの添字の展開情報が展開されることになる。
【0023】このようにして、本発明によれば、添字付
き変数について全要素指定記号による記述を許して、こ
の全要素指定記号の指定があるときには、その添字付き
変数の全要素についての展開処理を一括して実行してい
くように構成するものであることから、いちいち添字付
き変数の全要素についてコーディングしなくても済むよ
うになるので、展開定義のコーディング量の大幅な削減
を実現できるようになるのである。
【0024】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。
【0025】最初に、図2に示す本発明に関連する技術
について説明する。
【0026】この本発明に関連する技術では、展開制御
用の命令/関数を用いずに展開ソースの制御を可能にす
ることで、部品の展開定義のコーディング量の削減を図
ることを実現する。
【0027】図中、1はプリコンパイル処理を実行する
データ処理装置、2はプリコンパイル対象の入力ソース
を格納する入力ソースファイル、3はプリコンパイルさ
れた出力ソースを格納する出力ソースファイルである。
【0028】この図に示すデータ処理装置1は、解析部
10と、部品展開定義管理部11と 、表記記号解析部1
2と、内部情報展開部13と、表記記号展開部14と、
展開部15とを備える。
【0029】この解析部10は、入力ソースを解析する
ことで入力ソースの語を区切る処理を実行する。部品展
開定義管理部11は、部品の展開定義を管理する。この
部品展開定義管理部11で管理される部品の展開定義
は、パラメタの指定の有無に基づいて展開ソースの出力
省略を指示する省略記号を用いて記述されることにな
る。
【0030】表記記号解析部12は、入力ソースに部品
の呼び出し記述があるときに、その呼び出し記述の持つ
パラメタ情報との対応関係をとりつつ、部品展開定義管
理部11に管理される部品の展開定義を内部情報に展開
する。内部情報展開部13は、表記記号解析部12によ
り展開される内部情報を管理する。
【0031】表記記号展開部14は、内部情報展開部1
3に展開される内部情報に従って、部品の呼び出し記述
にパラメタの指定がないときには、省略記号の指定部分
の展開ソースの非展開処理を実行し、パラメタの指定が
あるときには、省略記号の指定部分の展開ソースの展開
処理を実行する。展開部15は、部品以外の展開ソース
の展開処理を実行する。
【0032】このように構成される図2に示すデータ処
理装置1では、部品展開定義管理部11で管理される部
品の展開定義が、上述の「課題を解決するための手段」
欄で説明した省略記号を用いて記述する構成を採る。例
えば、図9に示した従来の部品の展開定義は、省略記号
「〔・・・〕」を用いて、図3のように極めて単純に記
述される。
【0033】この省略記号を用いる部品の展開定義の記
述を受けて、表記記号解析部12は、入力されてくる入
力ソースに部品の呼び出し記述があるときには、その呼
び出し記述の持つパラメタ情報との対応関係をとりつ
つ、部品展開定義管理部11に 管理される部品の展開定
義を内部情報に展開する。
【0034】そして、この内部情報を受けて、表記記号
展開部14は、部品の呼び出し記述にパラメタの指定が
ないときには、省略記号の指定部分の展開ソースの非展
開処理を実行し、パラメタの指定があるときには、省略
記号の指定部分の展開ソースの展開処理を実行する。
【0035】この展開処理を受けて、展開部15は、図
3の部品の展開定義の例でもって説明するならば、入力
ソースに記述されるその部品の呼び出し記述にパラメタ
の指定があるときには、「乱入力 商品コード #キー
?パラ」と展開される出力ソースを出力し、一方、パ
ラメタの指定がないときには、「乱入力 商品コード」
と展開される出力ソースを出力していく。
【0036】このようにして、図2に示す本発明に関連
する技術では、部品の展開定義について省略記号による
記述を許して、パラメタの指定の有無によってこの省略
記号の指定する展開ソースの展開制御を実行していくよ
うに構成するものであることから、展開制御用の命令/
関数等を用いなくても部品の展開定義の展開制御を実行
できるようになるので、部品の展開定義のコーディング
量の大幅な削減を実現できるようになる。
【0037】更に、図2に示す本発明に関連する技術に
ついて説明する。
【0038】図4及び図5に、図3の部品の展開定義を
用いてプリコンパイル処理を実行する場合の処理例を図
示する。図中、図2で説明したように、10は解析部、
12は表記記号解析部、13は内部情報展開部、14は
表記記号展開部、15は展開部である。
【0039】16は入力パラメタ格納域であって、部品
の呼び出し記述に記述されるパラメタ情報を格納するも
の、17は省略記号テーブルであって、入力パラメタ格
納域 16をポイントするものである。この省略記号テー
ブル17は、省略記号が入れ子構造を採るときに、1階
層中に含まれるパラメタ情報を内部情報展開部13の下
のテキストを見にいかなくても、直ちに特定できるよう
にするために備えられることになる。
【0040】次に、この図4及び図5の説明図に従っ
て、表記記号解析部12及び表記記号展開部14の実行
する処理について詳細に説明する。
【0041】表記記号解析部12は、入力されてくる入
力ソースに部品の呼び出し記述があるときには、図3に
示した部品の展開定義を内部情報に展開していく処理を
実行する。
【0042】図中の内部情報展開部13が、このとき生
成される内部情報を表すものであって、この図に示すよ
うに、表記記号解析部12は、図3の部品の展開定義に
従って、“乱入力”というテキストと、“商品コード”
というテキストと、省略記号の先頭位置に位置してその
省略記号の終了記号「〕」の指定位置をポイントするポ
インタと、省略記号テーブル17をポイントするポイン
タと、予約語として用意される“#キー”というテキス
トと、入力パラメタ格納域16をポイントするポインタ
とから構成される内部情報を展開していくように処理す
る。
【0043】表記記号展開部14は、この展開される部
品の展開定義の内部情報を受けて、部品の展開ソースを
生成する。
【0044】すなわち、図4に示すように、部品の呼び
出し記述にパラメタの指定がないときには、入力パラメ
タ格納域16にパラメタ情報が格納されていないことを
受けて、省略記号の指定部分の展開ソースの非展開処理
を実行することで、「乱入力商品コード」と展開される
出力ソースを生成して出力していく。
【0045】これに対して、図5に示すように、部品の
呼び出し記述に例えば“126”と いったパラメタの指
定があるときには、入力パラメタ格納域16にパラメタ
“126”が格納されていることを受けて、省略記号の
指定部分の展開ソースの展開処理を実行することで、
「乱入力 商品コード #キー 126」と展開される
出力ソースを生成して出力していく。
【0046】このようにして、図2に示す本発明に関連
する技術では、部品の展開定義について省略記号による
記述を許して、パラメタの指定の有無によってこの省略
記号の指定する展開ソースの展開制御を実行していくよ
うに構成するものである。
【0047】ここで、この技術では、省略記号による記
述に従うものを開示したが、指定する展開ソースの繰り
返しを規定する繰り返し記号による記述を許して、パラ
メタの指定の有無によってこの繰り返し記号の指定する
展開ソースの展開制御を実行していくように構成するこ
とも有効なものとなる。
【0048】次に、本発明の実施例について説明する。
【0049】図に、本発明で新たに設ける全要素指定
記号を用いて部品の展開定義を記述する記述例を図示す
る。
【0050】ここで、図(a)は、「@READ」と
いう部品の展開定義に対して、“@$全要素”という全
要素指定記号を用いて記述する記述例であり、図
(b)は、「@WRITE」という部品の展開定義に対
して、“@$全要素”という全要素指定記号を用いて記
述する記述例である。
【0051】この図に示すように、本発明では、添字付
き変数の“キー1値”について、「?キー1値
(1)”,?キー1値(2)”,?キー1値(3)」と
いうように添字の全要素について記述させるのではなく
て、「?キー1値(@$全要素)」と記述させる構成を
採ることを特徴とする。この記述構成により、添字付き
変数を持つ展開定義の記述は極めて単純なものとなる。
【0052】この全要素指定記号を用いる展開定義の記
述を受けて、図に示すように、要素展開処理部22
は、添字付き変数管理部20の管理テーブル23からそ
の添字付き変数の全要素を読み出し、展開用作業域24
に設定して全要素を一括して展開処理する。
【0053】この要素展開処理部22の展開処理に従っ
て、図(a)に示すように、入力ソースに図の部品
「@READ」の呼び出し記述があるとするならば、こ
の部品「@READ」の呼び出し時に、パラメタとし
て、 商品コード → ?表名1 キー1,キー2,キー3 → ?キー1値 が渡され、更に、この部品「@READ」から呼び出さ
れる図の部品「@WRITE」の呼び出し時に、パラ
メタとして、 ?表名1 →?表名2 ?キー1値(@$全要素) →?キー2値 が渡されることで、図(b)に示すような展開結果が
得られて出力ソースとして出力されていくことになる。
【0054】このようにして、発明では、添字付き変
数について全要素指定記号による記述を許して、この全
要素指定記号の指定があるときには、その添字付き変数
の全要素についての展開処理を一括して実行していくよ
うに構成するものである。
【0055】
【発明の効果】以上説明したように、本発明によれば、
添字付き変数について全要素指定記号による記述を許し
て、この全要素指定記号の指定があるときには、その添
字付き変数の全要素についての展開処理を実行していく
ように構成するものであることから、いちいち添字付き
変数の全要素についてコーディングしなくても済むよう
になるので、展開定義のコーディング量の大幅な削減を
実現できるようになる。
【0056】これから、ユーザの負荷が大きく軽減でき
るとともに、コーディングミスを減らすことができるよ
うになる。しかも、本発明によれば、添字付き変数の添
字数に関係なく対応できることから、添字付き変数に対
して柔軟に対応できるのである。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明に関連する技術の説明図である。
【図3】品の展開定義の記述例である。
【図4】本発明に関連する技術の処理の説明図である。
【図5】本発明に関連する技術の処理の説明図である。
【図6】本発明に従う部品の展開定義の記述例である。
【図7】本発明の処理の説明図である。
【図8】本発明の展開処理を説明するための説明図であ
る。
【図9】従来技術に従う部品の展開定義の記述例であ
る。
【符号の説明】
1 データ処理装置 2 入力ソースファイル 3 出力ソースファイル 10 解析部 11 部品展開定義管理部 12 表記記号解析部 13 内部情報展開部 14 表記記号展開部 15 展開部 20 添字付き変数管理部 21 全要素指定判断部 22 要素展開処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 松原 道治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 角島 章 石川県河北郡宇ノ気町字宇野気ヌ98番地 の2 株式会社ピーエフユー内 (72)発明者 柴田 明美 石川県金沢市増泉3丁目4番30号 株式 会社石川富士通ソフトウェア開発内 (56)参考文献 特開 平1−159733(JP,A) J.J.ドノバン著,池田克夫訳, 「システム・プログラム▲I▼」,日本 コンピュータ協会,1982年4月15日, p.124−127 (58)調査した分野(Int.Cl.7,DB名) G06F 9/45

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力ソースを翻訳処理することで新たな
    出力ソースを生成するプリコンパイル処理方式におい
    て、添字付き変数の全要素の展開情報を管理する管理部と、 開対象のソースに記述される添字付き変数に、全要素
    指定を指示する全要素指定記号が設定されているのか否
    かを判断する判断部と、 上記判断部が全要素指定記号の設定されている添字付き
    変数であることを検出するときに、上記管理部からその
    添字付き変数の全要素を読み出し、該全要素の展開処理
    一括実行する処理部とを備えることを、 特徴とするプリコンパイル処理方式。
JP41240490A 1990-12-20 1990-12-20 プリコンパイル処理方式 Expired - Fee Related JP3212099B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41240490A JP3212099B2 (ja) 1990-12-20 1990-12-20 プリコンパイル処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41240490A JP3212099B2 (ja) 1990-12-20 1990-12-20 プリコンパイル処理方式

Publications (2)

Publication Number Publication Date
JPH04220724A JPH04220724A (ja) 1992-08-11
JP3212099B2 true JP3212099B2 (ja) 2001-09-25

Family

ID=18521248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41240490A Expired - Fee Related JP3212099B2 (ja) 1990-12-20 1990-12-20 プリコンパイル処理方式

Country Status (1)

Country Link
JP (1) JP3212099B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.J.ドノバン著,池田克夫訳,「システム・プログラム▲I▼」,日本コンピュータ協会,1982年4月15日,p.124−127

Also Published As

Publication number Publication date
JPH04220724A (ja) 1992-08-11

Similar Documents

Publication Publication Date Title
JP4889204B2 (ja) シェルに対するコマンドの入力パラメータを処理するための媒体およびシステム
US6529922B1 (en) Instruction set for controlling a processor to convert linear data to logarithmic data in a single instruction that define the exponent filed of the logarithmic value
US7676787B2 (en) Component based design time architecture
JPH06175898A (ja) ファイル内部構造の構成方法及び装置
US20030081002A1 (en) Method and system for chaining and extending wizards
JPH02272627A (ja) デイジタル・コンピユータ・システムとその手続呼び出し方法
Hart Win32 systems programming
JP3212099B2 (ja) プリコンパイル処理方式
JPH07200312A (ja) ディジタルデータ処理システムとエラー処理方法
Neumann et al. Wafe-An X Toolkit Based Frontend for Application Programs in Various Programming Languages.
JPH05241923A (ja) ファイル変換装置
JP2004362343A (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
JP2659264B2 (ja) コマンドオプション指定処理装置
KR102566934B1 (ko) 병렬 처리 기반의 문서 포맷 변환을 수행하는 전자 장치 및 그 동작 방법
Sumimoto et al. An Automatic MPI ABI Translation Library Builder to Enable MPI Application Binary Portability
JP2831697B2 (ja) アーキテクチャ合成装置
Huda et al. Building Imaging Forensic Application Using Libewf and Design Pattern Approach
England Graphical prototyping of graphical tools
JP2841813B2 (ja) 文書修正システム
CN116257551A (zh) 数据库查询语句的处理方法、存储介质与设备
JP3034527B2 (ja) エディタ装置
CN115309376A (zh) 一种应用创建方法、装置、电子设备及存储介质
JPH0795273B2 (ja) コンパイラにおける和計算の部分展開処理方式
JPH07129408A (ja) 言語処理プログラムの実行方式
Soloway et al. Cognitive factors in programming: the good, the bad, and the ugly

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010703

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees