JPH10177484A - 引数チェック装置 - Google Patents

引数チェック装置

Info

Publication number
JPH10177484A
JPH10177484A JP33874196A JP33874196A JPH10177484A JP H10177484 A JPH10177484 A JP H10177484A JP 33874196 A JP33874196 A JP 33874196A JP 33874196 A JP33874196 A JP 33874196A JP H10177484 A JPH10177484 A JP H10177484A
Authority
JP
Japan
Prior art keywords
argument
function
type
source code
program 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
JP33874196A
Other languages
English (en)
Inventor
Kouichi Motoshige
浩一 本重
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 JP33874196A priority Critical patent/JPH10177484A/ja
Publication of JPH10177484A publication Critical patent/JPH10177484A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 プログラムの誤動作を防止できる引数チェッ
ク装置を得ること。 【解決手段】 本発明は、プログラムソースコード記憶
領域21と、プログラムソースコードに含まれる関数に
おける引数の個数および型からなる関数引数テーブルを
記憶する関数引数テーブル記憶領域22と、引数の型に
対応したデフォルト値からなるテーブルである関数引数
テーブルを記憶する引数設定値テーブル記憶領域23
と、関数名、該関数の引数の個数および型からなる関数
引数テーブルを作成する関数引数テーブル作成部11
と、関数呼出部の引数および型と、関数引数テーブルの
個数および型を比較して関数呼出部の引数の個数または
型に誤りがないか否かをチェックする関数引数チェック
部12と、関数呼出部の引数の個数または型に誤りがあ
る場合誤りがある引数の型に対応したデフォルト値を関
数呼出部の引数として自動設定する関数引数自動設定部
13とを具備している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンパイル処理に
おいて引数のチェックに用いられる引数チェック装置に
関する。
【0002】
【従来の技術】データ処理装置において用いられるプロ
グラム言語、特に関数型言語においては、プログラムが
インタプリタを介して所定のデータ型の引数、引数個数
に変換され、これらを一旦記憶装置に格納した後、関数
型言語のための所定の組み込み関数ルーチンに制御を渡
して引数の処理を行うように構成されている。この種の
データ処理装置には、上述した処理に用いられる引数の
当否をチェックする機能を有する引数チェック装置(特
開昭61−188630号公報)が用いられている。
【0003】
【発明が解決しようとする課題】ところで、従来の引数
チェック装置においては、引数の当否を高速でチェック
できるという利点を有しているが、引数に誤りがある場
合の対策について何等考慮されていない。従って、従来
の引数チェック装置においては、引数に誤りがあること
のみが判るだけで、その対策がとられていないため、結
局、プログラムの誤動作が発生するという欠点があっ
た。本発明はこのような背景の下になされたもので、プ
ログラムの誤動作を防止することができる引数チェック
装置を提供することを目的とする。
【0004】
【課題を解決するための手段】請求項1に記載の発明
は、プログラムソースコードにおける関数宣言部の引数
および型からなる関数引数テーブルを作成する関数引数
テーブル作成手段と、前記プログラムソースコードにお
ける関数呼出部の引数の個数および型が、前記関数引数
テーブルにおける前記関数宣言部の引数の個数および型
と一致しているか否かを判断する判断手段と、前記判断
手段が、一致していないと判断したとき、当該引数の型
に対応したデフォルト値を当該引数として設定する設定
手段とを具備することを特徴とする。また、請求項2に
記載の発明は、請求項1に記載の引数チェック装置にお
いて、前記関数引数テーブル作成手段の制御により、前
記関数引数テーブルを記憶する関数引数テーブル記憶手
段を具備することを特徴とする。また、請求項3に記載
の発明は、請求項1または2に記載の引数チェック装置
において、前記プログラムソースコードにおける関数呼
出部の引数の型に対応した前記デフォルト値を記憶する
引数設定値テーブル記憶手段とを具備し、前記設定手段
は、前記引数設定値テーブル記憶手段より前記デフォル
ト値を読み出し、該デフォルト値を前記当該引数として
設定することを特徴とする。
【0005】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態について説明する。図1は本発明の一実施形態に
よる引数チェック装置の構成を示すブロック図である。
この図において、20は、プログラムソースコード、関
数引数テーブル、引数設定値テーブルを記憶する記憶部
である。
【0006】ここで、上記プログラムソースコードと
は、例えば、関数型言語をいい、従って、このプログラ
ムソースコードには、関数を宣言する関数宣言部や上記
関数を呼び出す関数呼出部等が含まれている。また、上
記関数には、引数の個数および型の情報が含まれてい
る。また、関数引数テーブルとは、上記プログラムソー
スコードに含まれる関数における引数の個数および型か
らなるテーブルをいう。また、引数設定値テーブルと
は、引数の型に対応したデフォルト値からなるテーブル
という。
【0007】また、記憶部20は、プログラムソースコ
ード記憶領域21、関数引数テーブル記憶領域22およ
び引数設定値テーブル記憶領域23を有している。上記
プログラムソースコード記憶領域21には、上述したプ
ログラムソースコードが記憶されており、関数引数テー
ブル記憶領域22には、関数引数テーブルが記憶されて
いる。また、引数設定値テーブル記憶領域23には、引
数設定値テーブルが記憶されている。
【0008】11は、関数引数テーブル作成部であり、
プログラムソースコード記憶領域21に記憶されている
プログラムソースコードの関数宣言部に基づいて、関数
名、該関数の引数の個数および型からなる関数引数テー
ブルを作成する。また、関数引数テーブル作成部11
は、作成した関数引数テーブルを関数引数テーブル記憶
領域22へ書き込む。
【0009】12は、関数引数チェック部であり、プロ
グラムソースコード内の関数呼出部の引数の個数および
型と、関数引数テーブル記憶領域22に記憶されている
関数引数テーブルにおける引数の個数および型とを比較
して、上記関数呼出部の引数の個数または型に誤りがな
いか否かをチェックする。13は、関数引数自動設定部
であり、関数引数チェック部12において、関数呼出部
の引数の個数または型に誤りがある場合、引数設定値テ
ーブル記憶領域23より誤りがある当該引数に型に対応
したデフォルト値を引数設定値テーブル記憶領域23か
ら読み出して、これを関数呼出部の引数として自動的に
設定する。
【0010】次に、上述した一実施形態による引数チェ
ック装置の動作について、図2を参照して説明する。図
2において、まず、ステップS1では、関数引数テーブ
ル作成部11は、プログラムソースコード記憶領域21
に書き込まれているプログラムソースコードの参照を開
始した後、ステップS2へ進む。ステップS2では、関
数引数テーブル作成部11は、参照中のプログラムソー
スコードにおける関数宣言部に基づいて、関数名、該関
数の引数の個数および型からなる関数引数テーブルを作
成する。次いで、関数引数テーブル作成部11は、作成
した上記関数引数テーブルを関数引数テーブル記憶領域
22へ書き込む。
【0011】ステップS3では、関数引数チェック部1
2は、プログラムソースコード記憶領域21に記憶され
ているプログラムソースコードの参照を開始した後、ス
テップS4へ進む。ステップS4では、関数引数チェッ
ク部12は、参照中のプログラムソースコードの関数呼
出部の関数名をキーとして、関数引数テーブル記憶領域
22に記憶されている関数引数テーブルの検索を開始し
た後、ステップS5へ進む。
【0012】ステップS5では、関数引数チェック部1
2は、上記プログラムソースコードの関数呼出部の関数
名が関数引数テーブルにおいて検索されたか否か、言い
換えれば、関数引数テーブルに上記関数呼出部の関数名
があるか否かを判断する。この判断結果が「NO」の場
合には、関数引数チェック部12は、引数のチェック処
理を終了する。
【0013】今、関数引数テーブルに関数呼出部の関数
名があるものとすると、関数引数チェック部12は、ス
テップS5の判断結果を「YES」として、ステップS
6へ進む。ステップS6では、関数引数チェック部12
は、関数呼出部の当該関数の引数の個数および型と、関
数引数テーブルの当該関数の引数の個数および型とを比
較した後、ステップS7へ進む。
【0014】ステップS7では、関数引数チェック部1
2は、ステップS6において、両引数の個数および型が
一致したか否かを判断し、この判断結果が「YES」の
場合、引数のチェック処理を終了する。一方、今、ステ
ップS7の判断結果が「NO」であるものとすると、関
数引数自動設定部13は、ステップS8へ進む。
【0015】ステップS8では、関数引数自動設定部1
3は、引数の個数または型が不一致であった、関数呼出
部の引数の型に対応したデフォルト値を、引数設定値テ
ーブル記憶領域23より読み出す。次いで、関数引数自
動設定部13は、該デフォルト値を関数呼出部の引数と
して設定した後、チェック処理を終了する。
【0016】以上説明したように、本発明の一実施形態
による引数チェック装置によれば、プログラムソースコ
ードにおける、関数呼出部の引数の個数または型に誤り
がある場合、予め設定されているデフォルト値が、上記
関数呼出部の引数として自動設定されるので、プログラ
ムの誤動作を防止することができる。
【0017】
【発明の効果】本発明によれば、判断手段によりプログ
ラムソースコードにおける関数呼出部の引数の個数およ
び型が、関数引数テーブルにおける前記関数宣言部の引
数の個数および型と一致していないと判断された場合、
設定手段により当該引数の型に対応したデフォルト値を
当該引数として自動的に設定されるので、プログラムの
誤動作を防止することができるという効果が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態による引数チェック装置
の構成を示すブロック図である。
【図2】 同一実施形態による引数チェック装置の動作
を説明するフローチャートである。
【符号の説明】
11 関数引数テーブル作成部 12 関数引数チェック部 13 関数引数自動設定部 20 記憶部 21 プログラムソースコード記憶領域 22 関数引数テーブル記憶領域 23 引数設定値テーブル記憶領域

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 プログラムソースコードにおける関数宣
    言部の引数および型からなる関数引数テーブルを作成す
    る関数引数テーブル作成手段と、 前記プログラムソースコードにおける関数呼出部の引数
    の個数および型が、前記関数引数テーブルにおける前記
    関数宣言部の引数の個数および型と一致しているか否か
    を判断する判断手段と、 前記判断手段が、一致していないと判断したとき、当該
    引数の型に対応したデフォルト値を当該引数として設定
    する設定手段とを具備することを特徴とする引数チェッ
    ク装置。
  2. 【請求項2】 前記関数引数テーブル作成手段の制御に
    より、前記関数引数テーブルを記憶する関数引数テーブ
    ル記憶手段を具備することを特徴とする請求項1に記載
    の引数チェック装置。
  3. 【請求項3】 前記プログラムソースコードにおける関
    数呼出部の引数の型に対応した前記デフォルト値を記憶
    する引数設定値テーブル記憶手段とを具備し、 前記設定手段は、前記引数設定値テーブル記憶手段より
    前記デフォルト値を読み出し、該デフォルト値を前記当
    該引数として設定することを特徴とする請求項1または
    2に記載の引数チェック装置。
JP33874196A 1996-12-18 1996-12-18 引数チェック装置 Pending JPH10177484A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33874196A JPH10177484A (ja) 1996-12-18 1996-12-18 引数チェック装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33874196A JPH10177484A (ja) 1996-12-18 1996-12-18 引数チェック装置

Publications (1)

Publication Number Publication Date
JPH10177484A true JPH10177484A (ja) 1998-06-30

Family

ID=18321030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33874196A Pending JPH10177484A (ja) 1996-12-18 1996-12-18 引数チェック装置

Country Status (1)

Country Link
JP (1) JPH10177484A (ja)

Similar Documents

Publication Publication Date Title
US7165237B2 (en) Data store for arbitrary data types with type safe storage and retrieval
JPH08234966A (ja) ソフトウェア・パッケージがパッケージングの規則及び要件に従っているかどうかを決定するシステム及び方法
US5832273A (en) System for deleting redundant instructions from high level language source code containing in-line assembly instructions
US6820251B1 (en) System and method for a software recovery mechanism
CA2416304C (en) System and method of verifying the authenticity of dynamically connectable executable images
US7089242B1 (en) Method, system, program, and data structure for controlling access to sensitive functions
US4870573A (en) Microcomputer capable of testing execution of a program with no branch
US6785883B1 (en) Software system for tracing data
US6286136B1 (en) Compile processing apparatus and method and program executing apparatus and method
KR900006667B1 (ko) 부분적 프로그램 결합 시스템
EP1130499A2 (en) System and method for verifying safety of software
US20040015876A1 (en) Method and structure of implementing a safe pointer
US6496975B1 (en) Method, system, and program for performing conditional program operations
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP2731047B2 (ja) プログラムのオペランドチェック方式
JP2797749B2 (ja) ファイル破壊事前チェック機構
JPH06309236A (ja) メモリの不正書込み検出回路
JPH05143310A (ja) データ部自動生成エデイタ
JP2937893B2 (ja) 入力データのチェック方法
CN111625463B (zh) 一种程序状态检测方法和装置
JP2533532B2 (ja) オンラインテスト方式
KR100258094B1 (ko) 칠에서의 프로시져/프로세스 호출시 매개변수의 모드 검사방법
JPH02195438A (ja) マクロ展開における回帰的呼び出し検出方式
JP3604936B2 (ja) 最適化方法,最適化装置及び記録媒体
JPH03147130A (ja) オペレーティングシステム修正方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010619