JPH0343834A - 関数デリバリ機構 - Google Patents

関数デリバリ機構

Info

Publication number
JPH0343834A
JPH0343834A JP17805189A JP17805189A JPH0343834A JP H0343834 A JPH0343834 A JP H0343834A JP 17805189 A JP17805189 A JP 17805189A JP 17805189 A JP17805189 A JP 17805189A JP H0343834 A JPH0343834 A JP H0343834A
Authority
JP
Japan
Prior art keywords
source program
program
function
delivery mechanism
source
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
JP17805189A
Other languages
English (en)
Inventor
Toshimitsu Ushijima
牛島 敏光
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 JP17805189A priority Critical patent/JPH0343834A/ja
Publication of JPH0343834A publication Critical patent/JPH0343834A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、エキスパートシステム構築ツールなどに利用
され、1.[SP処理系上の応用プログラムに対して汎
用関数群をデリバリ用として提イハする関数デリバリ機
構に欄する。
〔従来の技術〕
従来、この種の関数デリバリ機構は、各ソースプログラ
ムの実行時に必要となる全ての提供関数を画一的に集め
たものをデリバリ用として提供しており、また、そのデ
リバリ用の関数群は、もとの関数群と同じインタフェー
スで使用することができるようになっている。
〔発明が解決しようとする課題〕
しかしながら、上述した従来の関数デリバリ機構では、
デリバリ用の提供関数群が各応用プログラムごとに最適
化されていないため、大きな記憶容量を必要とし、また
、全ての関数が開発時と同じようにして、すなわちソー
スプログラム中に記述したインタフェースと同じように
して、インタプリタを経由して使用できるため、デリバ
リ版、すなわち実行専用関数板としての料金設定上問題
となっていた。
本発明はこのような従来の欠点を改善したもので、その
目的は、実行専用のコンパクトな実行モジュール群を生
成することが可能な関数デリバリ機構を提供することに
ある。
〔課題を解決するための手段] 本発明の関数デリバリ機構は、ソースプログラムを解析
するプログラム解析手段と、ソースプログラムに使用さ
れている関数の呼び出し形式をソースプログラム中で書
き換えるソースプログラム書き換え手段と、使用されて
いる関数のみを前記ソースプログラム書き換え手段によ
り書き換えた形に適用した形で実行時モジュールとして
出力する実行時モジュール作成手段と、前記ソースプロ
グラム書き換え手段により書き換えたソースプログラム
をコンパイルさせるソースプログラムコンパイル手段と
を有している。
〔作 用] プログラム解析手段は、ソースプログラム中にどのよう
な提供関数がどこで使用されているかを解析する。ソー
スプログラム書き換え手段では、ソースプログラムに使
用されている関数の呼び出し形式をソースプログラム中
で書き換える。一方、実行時モジュール作成手段では、
ソースプログラムに使用されている関数のみを所定の形
で実行時モジュールとして出力する。ソースプログラム
コンパイル手段では、ソースプログラム書き換え手段に
より書き換えたソー・スプログラムをコンパイルさせて
オブジェクトプログラムを生成する。
〔実施例〕
以下本発明の一実施例を図面に基づいて説明する。
第1図は本発明の一実施例のブロック図である。
第1図において、ソースプログラム6は、例えばエキス
パートシステムのようなIJsP処理系処理心上プログ
ラムであり、また提供関数群7は、エキスパートシステ
ムを開発するために提供される関数の集まりであって、
実行時Gこソースプログラム6から呼び出される関数を
含んでいる。この提供関数群7の典型的なものが、LI
SP環境のエキスパートシステム構築ツールである。
第1図を参照すると、本実施例の関数デリバリ機構iは
、ソースプログラム6を解析するプログラム解析手段2
と、ソースプログラム6からの個々の提供関数の呼び出
し形式をソースプログラム6中で書き換えて一時ソース
プログラム8として出力するソースプログラム書き換え
手段3と、L、ISPコンパイラ10により一時ソース
プログラム8をコンパイルさせオブジェクトプログラム
11を生成させるソースプログラムコンパイル手段4と
、提供関数群7のうちソースプログラム6に使われてい
るもののみをソースプログラム書き換え手段3で書き換
えた形に適用した形で実行時モジュール9として出力す
る実行時モジュール作成手段5とを備えている。
次にこのような構成の関数デリバリ機構の動作について
説明する。
先づ、プログラム解析手段2は、ソースプログラム6が
実際に、提供関数群7の内のどの関数をどこで使用して
いるかを解析する。またソースプログラム書き換え手段
3は、プログラム解析手段2からの解析結果に基づき、
ソースプログラム6からの個々の提供関数の呼び出し形
式を意味のない単なる記号列からなる関数名の呼び出し
に書き換え、−時ソースプログラム8として出力する。
一方、実際に使用されている提供関数の方は、実行時モ
ジュール作成手段5によりその関数名が、意味のない単
なる記号列に変換され、ソースプログラム6に使われて
いるもののみを実行時モジュール9として出力される。
−時ソースプログラム8は、ソースプログラムコンパイ
ル手段4がLISPコンパイラ10を使用してコンパイ
ルし、オブジェクトプログラム11となる。この後、−
特ソースプログラム8は、ソースプログラムコンパイル
手段4により削除される。このようにして関数デリバリ
機構は、LISP処理系処理心上プログラムであるソー
スプログラム6と提供関数群7とから、実行時モジュー
ル9とオブジェクトプログラム11とを生成する。生成
されたこれらのプログラムファイルが、各個別の情報処
理装置上で動作することになるが、この時提供関数群7
は、必要なものだけから成る実行時モジュール9となり
、また、個々の提供関数は、オブジェクトプログラム1
1以外からの使用ができなくなる。
このようにして本実施例の関数デリバリ機構によれば、
LISPコンパイラIOに手を加えずに、応用プログラ
ムと汎用機能提供関数群との間での結合処理を行ない、
最小実行モジュールのみを各情報処理装置に与えること
が可能となる。
〔発明の効果〕
以上説明したように本発明は、ソースプロゲラl、の解
析を行ない、提供関数の方は、インタフェースを変更し
必要な関数群だけを抽出し、ソースプログラムの方は、
インタフェースを変更してコンパイラによりコンパイル
するようにしているので、実行専用のコンパクトな実行
モジュール群を生成することができるという効果がある
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図である。 第1図において、■・・・関数デリバリ機構、2・・・
プログラム解析手段、3・・・ソースプロゲラムロき換
え手段、4・・・ソースプログラムコンパイル手段、5
・・・実行時モジュール作成手段、6・・・ソースプロ
グラム、7・・・提供関数群、8・・・−時ソースプロ
グラム、9・・・実行時モジュール、lO・・・LIS
Pコンパイラ、11・・・オブジェクトプログラムであ
る。

Claims (1)

    【特許請求の範囲】
  1.  ソースプログラムを解析するプログラム解析手段と、
    ソースプログラムに使用されている関数の呼び出し形式
    をソースプログラム中で書き換えるソースプログラム書
    き換え手段と、使用されている関数のみを前記ソースプ
    ログラム書き換え手段により書き換えた形に適用した形
    で実行時モジュールとして出力する実行時モジュール作
    成手段と、前記ソースプログラム書き換え手段により書
    き換えたソースプログラムをコンパイルさせるソースプ
    ログラムコンパイル手段とを備えていることを特徴とす
    る関数デリバリ機構。
JP17805189A 1989-07-12 1989-07-12 関数デリバリ機構 Pending JPH0343834A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17805189A JPH0343834A (ja) 1989-07-12 1989-07-12 関数デリバリ機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17805189A JPH0343834A (ja) 1989-07-12 1989-07-12 関数デリバリ機構

Publications (1)

Publication Number Publication Date
JPH0343834A true JPH0343834A (ja) 1991-02-25

Family

ID=16041745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17805189A Pending JPH0343834A (ja) 1989-07-12 1989-07-12 関数デリバリ機構

Country Status (1)

Country Link
JP (1) JPH0343834A (ja)

Similar Documents

Publication Publication Date Title
EP1074911B1 (en) Aspect-oriented programming
US5586328A (en) Module dependency based incremental compiler and method
Mainland et al. Flask: Staged functional programming for sensor networks
Fauth et al. Automated generation of DSP program development tools using a machine description formalism
JPH0343834A (ja) 関数デリバリ機構
JP2003030269A (ja) メタモデルを用いた単一マイクロプロセッサ上の並列シミュレーションのための方法
CN115268918A (zh) 一种基于规则模板的c++代码向c代码的自动转化方法
JP2718427B2 (ja) 大規模知識ベースにおけるデータアクセス方式
JPH0683597A (ja) オブジェクト指向プログラム開発装置およびオブジェクト指向プログラム開発方法
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法
Glauert et al. Dactl: an experimental graph rewriting
JP3018783B2 (ja) コンパイル方式
Johnson et al. A software environment for digital signal-processing simulations
JP2003330731A (ja) プロジェクト管理ファイル生成装置
Walker First-class patterns for Icon
Aspen Determining the feasibility of automatically translating SMILE to a Java framework
Danvy et al. A unifying approach to goal-directed evaluation
JPH0695890A (ja) コンパイラにおける名前置換方式
JPH0795275B2 (ja) コンパイル処理装置
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
Magnaghi et al. An Inter-procedural Approach for Optimizations of Java Programs
JPH0683630A (ja) プログラム自動変換装置
Schlüter Partial Evaluation in Template Haskell
JPH0612259A (ja) コンパイラ処理方式
Walker An Expression Data Type for Icon