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

プリコンパイル処理方式

Info

Publication number
JPH04220724A
JPH04220724A JP41240490A JP41240490A JPH04220724A JP H04220724 A JPH04220724 A JP H04220724A JP 41240490 A JP41240490 A JP 41240490A JP 41240490 A JP41240490 A JP 41240490A JP H04220724 A JPH04220724 A JP H04220724A
Authority
JP
Japan
Prior art keywords
expansion
component
source
specified
symbol
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.)
Granted
Application number
JP41240490A
Other languages
English (en)
Other versions
JP3212099B2 (ja
Inventor
Tetsuo Shimazaki
哲夫 嶋崎
Michiharu Matsubara
松原 道治
Akira Tsunoshima
角島 章
Akiyoshi Shibata
明美 柴田
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)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力ソースを翻訳処理
することで新たな出力ソースを生成するプリコンパイル
処理方式に関し、特に、コーディング量の削減を実現で
きるプリコンパイル処理方式に関するものである。ユー
ザの作成しなければならないプログラムは、着実にその
数を増やしている。これから、プリコンパイラにあって
も、作業を効率良く進めるためには、プログラムの記述
を簡略かつ容易にして、コーディング時間と記述ミスを
極力削減できるような手段を講じていく必要があるので
ある。
【0002】
【従来の技術】プリコンパイラでは、出力ソースの展開
を制御する展開制御手段を備えて、この展開制御手段を
制御していくことで、ユーザの希望する出力ソースを生
成して出力していくよう処理することになる。従来のプ
リコンパイラでは、独自の命令や関数に従ってこの展開
制御手段を提供することで、ユーザのニーズにあった出
力ソースの展開制御を可能にする構成を採っていた。
【0003】例えば、インライン展開される部品を呼び
出すときに、パラメタの指定があるときには、その部品
に従って「乱入力  商品コード  #キー  ?パラ
」と出力ソースを展開し、パラメタの指定がないときに
は、「乱入力  商品コード」と出力ソースを展開する
場合には、処理を振り分ける“@@条件,@@成立,@
@不成立,@@条件終了”という命令と、括弧内のデー
タの指定の有無をチェックする“@%指定”という真理
値関数とを使用して、この部品の展開定義を図8に示す
ように記述する。そして、プリコンパイル処理時に、こ
の部品の展開定義記述に従って、入力ソースに記述され
るその部品の呼び出し記述にパラメタの指定があるとき
には、「乱入力  商品コード  #キー  ?パラ」
という出力ソースを展開し、一方、パラメタの指定がな
いときには、「乱入力  商品コード」という出力ソー
スを展開していくという方法を採っていたのである。こ
こで、上述の“#キー”は予約語であり、また、“?パ
ラ”の部分には入力ソースで指定されるパラメタが展開
されることになる。
【0004】また、プリコンパイラでは、添字付き変数
の全要素を関数の引数として渡す処理や出力をしていく
処理を実行していくことになる。従来のプリコンパイラ
では、このような添字付き変数については、ユーザに対
して全要素についてコーディングさせる構成を採ってい
た。そして、転記する場合にあっても、個々の要素を1
つずつ転記させる構成を採っていた。
【0005】例えば、部品の呼び出しのためのパラメタ
の“キー1値”について、“キー1値(1)”、“キー
1値(2)”、“キー1値(3)”という3つの添字の
パラメタが存在する場合には、ユーザに対して、その部
品の展開定義のところで、「?キー1値(1),?キー
1値(2),?キー1値(3)」というように添字の全
要素についてコーディングさせるという構成を採ってい
たのである。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術では、展開制御用の命令/関数を用いて部
品の展開定義を記述する構成を採っているものであるこ
とから、部品の展開定義のコーディング量が多くなり、
ユーザの負荷が増大するとともにコーディングミスが増
大するという問題点があった。そして、このような従来
技術では、部品の展開定義に記述される添字付きパラメ
タ等のように、展開対象のソースに添字付き変数がある
場合に、ユーザは、いちいち添字付き変数の全要素につ
いてコーディングしなければならないことから、ユーザ
の負荷が増大するととともにコーディングミスが増大す
るという問題点があった。
【0007】本発明はかかる事情に鑑みてなされたもの
であって、入力ソースを翻訳処理することで新たな出力
ソースを生成するプリコンパイル処理方式において、コ
ーディング量の削減を実現できる新たなプリコンパイル
処理方式の提供を目的とするものである。
【0008】
【課題を解決するための手段】図1(a)に、展開制御
用の命令/関数を用いずに展開ソースの制御を可能にす
ることで、部品の展開定義のコーディング量の削減を図
る本発明の原理構成を図示し、図1(b)に、添字付き
変数に対していちいち全要素についてコーディングしな
くても済ませるようにすることで、部品の展開定義等の
コーディング量の削減を図る本発明の原理構成を図示す
る。
【0009】最初に、図1(a)に示す本発明の原理構
成について説明する。図中、1は本発明のプリコンパイ
ル処理を実行するデータ処理装置、2はプリコンパイル
対象の入力ソースを格納する入力ソースファイル、3は
プリコンパイルされた出力ソースを格納する出力ソース
ファイルである。図1(a)に示す本発明のデータ処理
装置1は、解析部10と、部品展開定義管理部11と、
表記記号解析部12と、内部情報展開部13と、表記記
号展開部14と、展開部15とを備える。
【0010】この解析部10は、入力ソースを解析する
ことで入力ソースの語を区切る処理を実行する。部品展
開定義管理部11は、部品の展開定義を管理する。この
部品展開定義管理部11で管理される部品の展開定義は
、パラメタの指定の有無に基づいて展開ソースの出力省
略を指示する省略記号を用いて記述されることになる。 表記記号解析部12は、入力ソースに部品の呼び出し記
述があるときに、その呼び出し記述の持つパラメタ情報
との対応関係をとりつつ、部品展開定義管理部11に管
理される部品の展開定義を内部情報に展開する。内部情
報展開部13は、表記記号解析部12により展開される
内部情報を管理する。表記記号展開部14は、内部情報
展開部13に展開される内部情報に従って、部品の呼び
出し記述にパラメタの指定がないときには、省略記号の
指定部分の展開ソースの非展開処理を実行し、パラメタ
の指定があるときには、省略記号の指定部分の展開ソー
スの展開処理を実行する。展開部15は、部品以外の展
開ソースの展開処理を実行する。
【0011】次に、図1(b)に示す本発明の原理構成
について説明する。図中、図1(a)で説明したものと
同じものについては同一の記号で示してある。図1(b
)に示す本発明のデータ処理装置1は、図1(a)で説
明した解析部10と、図1(a)で説明した展開部15
と、添字付き変数管理部20と、全要素指定判断部21
と、要素展開処理部22とを備える。
【0012】この添字付き変数管理部20は、添字付き
変数の全要素の展開情報を管理する。全要素指定判断部
21は、展開対象のソースに記述される変数が全要素指
定を指示する全要素指定記号の設定されている添字付き
変数であるか否かを判断する。要素展開処理部22は、
全要素指定判断部21が全要素指定記号の設定されてい
る添字付き変数であることを検出するときに、その添字
付き変数の全要素を展開用作業域に設定して全要素の展
開処理を実行する。
【0013】
【作用】最初に、図1(a)に示す本発明の作用につい
て説明する。図1(a)に示す本発明では、部品展開定
義管理部11で管理される部品の展開定義が、上述の「
課題を解決するための手段」欄で説明した省略記号を用
いて記述する構成を採る。例えば、図5に示した従来の
部品の展開定義は、省略記号「〔・・・〕」を用いて、
図2のように極めて単純に記述される。
【0014】この省略記号を用いる部品の展開定義の記
述を受けて、表記記号解析部12は、入力されてくる入
力ソースに部品の呼び出し記述があるときには、その呼
び出し記述の持つパラメタ情報との対応関係をとりつつ
、部品展開定義管理部11に管理される部品の展開定義
を内部情報に展開する。そして、この内部情報を受けて
、表記記号展開部14は、部品の呼び出し記述にパラメ
タの指定がないときには、省略記号の指定部分の展開ソ
ースの非展開処理を実行し、パラメタの指定があるとき
には、省略記号の指定部分の展開ソースの展開処理を実
行する。この展開処理を受けて、展開部15は、図2の
部品の展開定義の例でもって説明するならば、入力ソー
スに記述されるその部品の呼び出し記述にパラメタの指
定があるときには、「乱入力  商品コード  #キー
  ?パラ」と展開される出力ソースを出力し、一方、
パラメタの指定がないときには、「乱入力  商品コー
ド」と展開される出力ソースを出力していく。
【0015】このようにして、図1(a)に示す本発明
によれば、部品の展開定義について省略記号による記述
を許して、パラメタの指定の有無によってこの省略記号
の指定する展開ソースの展開制御を実行していくように
構成するものであることから、展開制御用の命令/関数
等を用いなくても部品の展開定義の展開制御を実行でき
るようになるので、部品の展開定義のコーディング量の
大幅な削減を実現できるようになるのである。
【0016】次に、図1(b)に示す本発明の作用につ
いて説明する。図1(b)に示す本発明では、部品の展
開定義等の展開情報が添字付き変数を持つものである場
合には、上述の「課題を解決するための手段」の欄で説
明した全要素指定記号を用いて記述する構成を採って、
添字付き変数管理部20が、この添字付き変数の全要素
の展開情報を管理する構成を採る。例えば、“キー1値
”が、“キー1値(1)”、“キー1値(2)”、“キ
ー1値(3)”という3つの添字を持つ添字付き変数で
ある場合には、「?キー1値(@$全要素)」と記述し
て、添字付き変数管理部20が、この“キー1値”の全
要素の展開情報を管理するのである。
【0017】この全要素指定記号を用いる展開定義の記
述を受けて、全要素指定判断部21は、展開対象のソー
スに記述される変数が全要素指定記号の設定されている
添字付き変数であるか否かを判断し、この判断により全
要素指定記号の設定されている添字付き変数であると判
断されると、要素展開処理部22は、添字付き変数管理
部20からその添字付き変数の全要素を読み出し、展開
用作業域に設定して全要素の一括展開処理を実行する。 この展開処理に従って、上述の“キー1値”の例でもっ
て説明するならば、“キー1値(1)”、“キー1値(
2)”、“キー1値(3)”という3つの添字の展開情
報が展開されることになる。
【0018】このようにして、図1(b)に示す本発明
によれば、添字付き変数について全要素指定記号による
記述を許して、この全要素指定記号の指定があるときに
は、その添字付き変数の全要素についての展開処理を一
括して実行していくように構成するものであることから
、いちいち添字付き変数の全要素についてコーディング
しなくても済むようになるので、展開定義のコーディン
グ量の大幅な削減を実現できるようになるのである。
【0019】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。最初に、図1(a)に示す本発明の実施例について
説明する。図3及び図4に、図2の部品の展開定義を用
いて本発明のプリコンパイル処理を実行する場合の処理
例を図示する。図中、図1(a)で説明したように、1
0は解析部、12は表記記号解析部、13は内部情報展
開部、14は表記記号展開部、15は展開部である。1
6は入力パラメタ格納域であって、部品の呼び出し記述
に記述されるパラメタ情報を格納するもの、17は省略
記号テーブルであって、入力パラメタ格納域16をポイ
ントするものである。この省略記号テーブル17は、省
略記号が入れ子構造を採るときに、1階層中に含まれる
パラメタ情報を内部情報展開部13の下のテキストを見
にいかなくても、直ちに特定できるようにするために備
えられることになる。
【0020】次に、この図3及び図4の説明図に従って
、表記記号解析部12及び表記記号展開部14の実行す
る処理について詳細に説明する。表記記号解析部12は
、入力されてくる入力ソースに部品の呼び出し記述があ
るときには、図2に示した部品の展開定義を内部情報に
展開していく処理を実行する。図中の内部情報展開部1
3が、このとき生成される内部情報を表すものであって
、この図に示すように、表記記号解析部12は、図2の
部品の展開定義に従って、“乱入力”というテキストと
、“商品コード”というテキストと、省略記号の先頭位
置に位置してその省略記号の終了記号「〕」の指定位置
をポイントするポインタと、省略記号テーブル17をポ
イントするポインタと、予約語として用意される“#キ
ー”というテキストと、入力パラメタ格納域16をポイ
ントするポインタとから構成される内部情報を展開して
いくように処理する。
【0021】表記記号展開部14は、この展開される部
品の展開定義の内部情報を受けて、部品の展開ソースを
生成する。すなわち、図3に示すように、部品の呼び出
し記述にパラメタの指定がないときには、入力パラメタ
格納域16にパラメタ情報が格納されていないことを受
けて、省略記号の指定部分の展開ソースの非展開処理を
実行することで、「乱入力  商品コード」と展開され
る出力ソースを生成して出力していく。これに対して、
図4に示すように、部品の呼び出し記述に例えば“12
6”といったパラメタの指定があるときには、入力パラ
メタ格納域16にパラメタ“126”が格納されている
ことを受けて、省略記号の指定部分の展開ソースの展開
処理を実行することで、「乱入力  商品コード  #
キー?パラ」と展開される出力ソースを生成して出力し
ていく。
【0022】このようにして、図1(a)に示す本発明
では、部品の展開定義について省略記号による記述を許
して、パラメタの指定の有無によってこの省略記号の指
定する展開ソースの展開制御を実行していくように構成
するものである。ここで、この実施例では、省略記号に
よる記述に従うものを開示したが、指定する展開ソース
の繰り返しを規定する繰り返し記号による記述を許して
、パラメタの指定の有無によってこの繰り返し記号の指
定する展開ソースの展開制御を実行していくように構成
することも有効なものとなる。
【0023】次に、図1(b)に示す本発明の実施例に
ついて説明する。図5に、本発明で新たに設ける全要素
指定記号を用いて部品の展開定義を記述する記述例を図
示する。ここで、図5(a)は、「@READ」という
部品の展開定義に対して、“@$全要素”という全要素
指定記号を用いて記述する記述例であり、図5(b)は
、「@WRITE」という部品の展開定義に対して、“
@$全要素”という全要素指定記号を用いて記述する記
述例である。
【0024】この図に示すように、本発明では、添字付
き変数の“キー1値”について、「?キー1値(1)”
,?キー1値(2)”,?キー1値(3)」というよう
に添字の全要素について記述させるのではなくて、「?
キー1値(@$全要素)」と記述させる構成を採ること
を特徴とする。この記述構成により、添字付き変数を持
つ展開定義の記述は極めて単純なものとなる。
【0025】この全要素指定記号を用いる展開定義の記
述を受けて、図6に示すように、要素展開処理部22は
、添字付き変数管理部20の管理テーブル23からその
添字付き変数の全要素を読み出し、展開用作業域24に
設定して全要素を一括して展開処理する。この要素展開
処理部22の展開処理に従って、図7(a)に示すよう
に、入力ソースに図5の部品「@READ」の呼び出し
記述があるとするならば、この部品「@READ」の呼
び出し時に、パラメタとして、 商品コード                    
→  ?表名1キー1,キー2,キー3       
 →  ?キー1値が渡され、更に、この部品「@RE
AD」から呼び出される図5の部品「@WRITE」の
呼び出し時に、パラメタとして、 ?表名1                     
 →?表名2?キー1値(@$全要素)      →
?キー2値が渡されることで、図7(b)に示すような
展開結果が得られて出力ソースとして出力されていくこ
とになる。
【0026】このようにして、図1(b)に示す本発明
では、添字付き変数について全要素指定記号による記述
を許して、この全要素指定記号の指定があるときには、
その添字付き変数の全要素についての展開処理を一括し
て実行していくように構成するものである。
【0027】
【発明の効果】以上説明したように、本発明によれば、
部品の展開定義について省略記号による記述を許して、
パラメタの指定の有無によってこの省略記号の指定する
展開ソースの展開制御を実行していくように構成するも
のであることから、展開制御用の命令/関数等を用いな
くても部品の展開定義の展開制御を実行できるようにな
るので、部品の展開定義のコーディング量を大幅に削減
できるようになる。これから、ユーザの負荷が大きく軽
減できるとともに、コーディングミスを減らすことがで
きるようになるのである。
【0028】また、本発明によれば、添字付き変数につ
いて全要素指定記号による記述を許して、この全要素指
定記号の指定があるときには、その添字付き変数の全要
素についての展開処理を実行していくように構成するも
のであることから、いちいち添字付き変数の全要素につ
いてコーディングしなくても済むようになるので、展開
定義のコーディング量の大幅な削減を実現できるように
なる。これから、ユーザの負荷が大きく軽減できるとと
もに、コーディングミスを減らすことができるようにな
るのである。しかも、本発明によれば、添字付き変数の
添字数に関係なく対応できることから、添字付き変数に
対して柔軟に対応できるのである。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明に従う部品の展開定義の記述例である。
【図3】本発明の処理の説明図である。
【図4】本発明の処理の説明図である。
【図5】本発明に従う部品の展開定義の記述例である。
【図6】本発明の処理の説明図である。
【図7】本発明の展開処理を説明するための説明図であ
る。
【図8】従来技術に従う部品の展開定義の記述例である
【符号の説明】
1    データ処理装置 2    入力ソースファイル 3    出力ソースファイル 10  解析部 11  部品展開定義管理部 12  表記記号解析部 13  内部情報展開部 14  表記記号展開部 15  展開部 20  添字付き変数管理部 21  全要素指定判断部 22  要素展開処理部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  入力ソースを翻訳処理することで新た
    な出力ソースを生成するプリコンパイル処理方式におい
    て、パラメタの指定の有無に基づいて展開ソースの出力
    省略を指示する省略記号を用いて部品の展開定義を記述
    するよう構成し、かつ、入力ソースに部品の呼び出し記
    述があるときに、該呼び出し記述の持つパラメタ情報と
    の対応関係をとりつつ、該部品の展開定義を内部情報に
    展開する表記記号解析部(12)と、上記表記記号解析
    部(12)により展開された内部情報に従って、部品の
    呼び出し記述にパラメタの指定がないときには、上記省
    略記号の指定部分の展開ソースの非展開処理を実行し、
    パラメタの指定があるときには、該展開ソースの展開処
    理を実行する表記記号展開部(14)とを備えることを
    、特徴とするプリコンパイル処理方式。
  2. 【請求項2】  入力ソースを翻訳処理することで新た
    な出力ソースを生成するプリコンパイル処理方式におい
    て、添字付き変数に対して全要素指定を指示する全要素
    指定記号を用いて展開定義を記述するよう構成し、かつ
    、展開対象のソースに記述される変数に上記全要素指定
    記号が設定されているか否かを判断する全要素指定判断
    部(21)と、上記全要素指定判断部(21)が全要素
    指定記号の設定されている添字付き変数であることを検
    出するときに、該添字付き変数の全要素を展開用作業域
    に設定して該全要素の展開処理を実行する要素展開処理
    部(22)とを備えることを、特徴とするプリコンパイ
    ル処理方式。
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 true JPH04220724A (ja) 1992-08-11
JP3212099B2 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)

Also Published As

Publication number Publication date
JP3212099B2 (ja) 2001-09-25

Similar Documents

Publication Publication Date Title
JPH04220724A (ja) プリコンパイル処理方式
JPH04286029A (ja) ソースプログラム・コンバータ
CA2586401A1 (en) Motion control systems
JPH04242420A (ja) 磁気テープデータ記録方式
JPS60254239A (ja) オブジエクトフアイル変換制御方式
JPH0580998A (ja) 翻訳処理方式
JPS61253577A (ja) 日本語処理フイルタ
JPH0520151A (ja) データ変更方式
JPH0511988A (ja) ソフトウエア操作システム
JPH04359381A (ja) ワークステーションの画面データ作成方式
JPH04178836A (ja) 書式編集処理方式
JPH04140803A (ja) 期待値データ生成方式
JPH01292418A (ja) コマンドシステムのコマンドパラメータ制御方式
JPH05143354A (ja) テキストフアイル変換方式
JPH04340628A (ja) ファジィ推論処理コンパイルシステム
JPS6057437A (ja) コンパイラ装置
JPH0452828A (ja) 修正プログラム言語選択方式
JPH0363729A (ja) 他システム制御言語の変換方式
JPH04282729A (ja) プログラム変換装置
JPS6286436A (ja) エデイタ制御情報作成システム
JPH03186933A (ja) 言語処理システムのシンボル処理方式
JPH05100865A (ja) コンパイル方式
JPS60120437A (ja) ロボット言語実行方法
JPH0283628A (ja) マルチタスクコンパイラ処理方式
JPH034336A (ja) プログラムデバッグ処理装置

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