JPS61188630A - Argument checking system - Google Patents

Argument checking system

Info

Publication number
JPS61188630A
JPS61188630A JP2780385A JP2780385A JPS61188630A JP S61188630 A JPS61188630 A JP S61188630A JP 2780385 A JP2780385 A JP 2780385A JP 2780385 A JP2780385 A JP 2780385A JP S61188630 A JPS61188630 A JP S61188630A
Authority
JP
Japan
Prior art keywords
argument
type
built
register
arguments
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
JP2780385A
Other languages
Japanese (ja)
Inventor
Takeshi Shinoki
剛 篠木
Akira Hattori
彰 服部
Masanobu Yuhara
雅信 湯原
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
Original Assignee
Fujitsu 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 filed Critical Fujitsu Ltd
Priority to JP2780385A priority Critical patent/JPS61188630A/en
Publication of JPS61188630A publication Critical patent/JPS61188630A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To execute a check at a high speed, and to increase the executing speed of processing by storing the type of an argument and its number in a register, and controlling an execution of a built-in function routine by a result of comparison of the designated readout contents of a memory and a value of the register. CONSTITUTION:When an interpreter incorporates an argument, and delivers it to a routine, the argument and the number of arguments are stored in a stack 1. By keeping pace with it, a type of its argument is stored in a prescribed register of argument type store registers 41-44, and also the number of arguments is stored in an argument number store register 5. In this state, when starting an execution of a built-in function, a built-in function routine number is sent through a line 8, and the type of the argument corresponding to its number, and its number of pieces are read out of a memory 7. The type of this readout argument and its number of pieces are compared with the type and the number of pieces of a type register and a register 5 by a comparator 6. Its comparison result is sent to a sequencer, and offered for execution control of the built-in function. In this way, whether the built-in function to which the argument is given is right or not is checked.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置のインタプリタから組込み関数
ルーチンへ引き渡される引数のチェック手段を改善した
引数チ壬ツク方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an argument checking method that improves means for checking arguments passed from an interpreter of a data processing device to an intrinsic function routine.

データ処理装置で用いられるプログラム言語、特に関数
型言語においては、そのプログラムがインタプリタを介
して所定のデータ型の引数、引数個数に変えられ1.こ
れらを一旦格納した後その関数型言語のための所要9組
込み関数ルーチンに制御を渡してその引数の処理を行な
って所定のデータ処理を杵なうように構成されている。
In programming languages used in data processing devices, especially functional languages, the program is converted into arguments of a predetermined data type and number of arguments via an interpreter.1. After storing these once, control is passed to nine required built-in function routines for the functional language to process the arguments and perform predetermined data processing.

このような処理に用いられる引数がその処理に供される
のに先立って組込み関数ルーチンとの関係においてその
当否をチェックする必要がある。
Before an argument used in such a process is used for the process, it is necessary to check whether the argument is valid or not in relation to the built-in function routine.

そのチェックを短時間のうちに遂行し得ることはシステ
ムの性能向上という観点から重要なことである。
Being able to perform this check in a short time is important from the perspective of improving system performance.

〔従来の技術〕[Conventional technology]

従来のこの種チェック方式はインタプリタと組込み関数
ルーチンとの間で取り極められた記憶装置にインタプリ
タが引数、その型情報及び個数のデータを予め格納し、
そして制御が組込み関数ル−チン側に引き渡された後組
込み関数ルーチン側で記憶装置からデータを読み出して
引数の個数や型を遂次間べてい(という技法が採られて
いる。
In the conventional checking method of this kind, the interpreter stores the arguments, their type information, and number data in advance in a storage device arranged between the interpreter and the built-in function routine.
After control is transferred to the built-in function routine, the built-in function routine reads data from the storage device and successively changes the number and types of arguments.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

この技法は関数型言語に包含される引数の型及び個数の
全部又は一部につきそ9すべてを逐次的に当否を調べて
いかなければならないから、チェックに時間がかかり、
結果としてプログラム実行速度の向上を阻害する一つの
要因となっている。
This technique requires time to check all or some of the types and numbers of arguments included in the functional language, as it requires sequentially checking whether they are valid or not.
As a result, this is one of the factors that hinders improvement in program execution speed.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上述した問題点の解決を図った引数チェック方
式を提供するもので、その手段は、インタプリタが関数
型言語の゛ための所要の組込み関数ルーチンに引数を引
き渡すのに先立ってその引数。
The present invention provides an argument checking method that solves the above-mentioned problems, and includes means for checking arguments before an interpreter passes the arguments to a required built-in function routine for a functional language.

を格納手段に格納した後組込み関数ルーチンに制御を移
して前記引数の処理を行なうデータ処理装置において、
引数の型及び個数を格納するレジスタと、組込み関数ル
ーチン毎に当該組込み関数ルーチンが受は付は得る引数
の型及び個数を格納するメモリとを設け、前記インタプ
リタからの引数の格納と並行してその引数の型及び個数
を前記レジスタに格納し、前記メモリの指定された読み
出し内容と前記レジスタの値との比較結果により組込み
関数ルーチンの実行を制御するようにしたものである。
In a data processing device that stores the argument in a storage means and then transfers control to a built-in function routine to process the argument,
A register for storing the type and number of arguments and a memory for storing the type and number of arguments that the intrinsic function routine receives for each intrinsic function routine are provided, and in parallel with storing the arguments from the interpreter. The type and number of the arguments are stored in the register, and the execution of the built-in function routine is controlled based on the comparison result between the specified read contents of the memory and the value of the register.

〔作用〕[Effect]

本発明方式によれば、組込み関数ルーチンに引き渡され
る引数の格納と共に引数の型及び個数がレジスタに格納
される。又、各組込み関数ルーチン毎に当該組込み関数
ルーチンが受は付は得る引数の型及び個数を予めイモリ
に格納しておく。そして、組込み関数ルーチンへ引き渡
される引数によって指定されるメモリの読み出し内容が
レジスタの値と比較され、その結果により組込み関数ル
ーチンの実行が制御される。
According to the method of the present invention, the types and number of arguments are stored in registers as well as the arguments passed to the built-in function routine. Further, for each built-in function routine, the type and number of arguments that the built-in function routine receives are stored in memory in advance. Then, the read content of the memory specified by the argument passed to the built-in function routine is compared with the value of the register, and the execution of the built-in function routine is controlled based on the result.

上述の比較はハード的に一編に為し得るから、チェック
は高速化され得る。
Since the above comparison can be performed in one piece in hardware, the check can be made faster.

〔実施例〕〔Example〕

以下、添付図面を参照しながら本発明の詳細な説明する
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

添付図面は本発明の一実施例を示す。この図において、
■は図示しないインクブリタカζら線2、及び線3を経
て送られて来る引数及び引数個数を格納し、図示しない
組込み関数ルーチンにそれらを□引き渡すスタックであ
る。4.乃至44は線2に□接続される引数型格納レジ
スタである。5は□線3に接続される引数個数格納レジ
スタである。これらレジスタは比較器6の一方の比較入
力に接続され得るようになっている。
The accompanying drawings illustrate one embodiment of the invention. In this diagram,
(2) is a stack that stores arguments and the number of arguments sent via lines 2 and 3 from an ink printer (not shown), and delivers them to a built-in function routine (not shown). 4. 44 are argument type storage registers connected to line 2. 5 is an argument number storage register connected to the □ line 3. These registers can be connected to one comparison input of the comparator 6.

7は組込み関数ルーチン毎にその組込み関数ル゛  −
チンが受は付は得る引数−の型及び個数を格納するメモ
リであって、このメモリの各内容(引数の型及び個数)
は線8を経て送られて来る組込み関数JL/ニチン番号
をアドレスとしで受は取り、このアドレスにより読み出
されるようになっている。
7 is the built-in function routine for each built-in function routine.
A memory that stores the type and number of arguments to be obtained, and each content of this memory (type and number of arguments)
takes the built-in function JL/NITIN number sent via line 8 as an address, and is read out using this address.

そして、メモリ7の出力は比較器6の他方の比較入力に
接続されている。比較器6の出力は図示しな訴シーケン
サに接続されている。   □このような構成の下にお
ける引数チェック態様を次に説明する。□ インタプリタが引数を組込み関数ルーチンに受は渡す際
に、引数及び引数個数をスタック1に格納する。この格
納と並行しで、その引数の型を引数型格納レジスタ4.
及び44のうちの所定のレジスタに格納すると共に引数
個数を引数個数格納レジスタ5に格納する。  ′  
     −そして、組込み関数の★゛行を開始すると
き、線8を経て組込み関数ルー゛皐ン番号が送られ、そ
の番号に対応する肝数の型及び引数個数がメモリ7から
読み出される。゛ この読み出された引数め型及び引数□個数が比較器6に
おいて引数型格納レジスタ及び引数個数格納レジスタ5
の引数の型及び引数個数と比較される。その比較結果を
シ」ケンサに送り、組込み関数の実行制御に供する。こ
のようにして、引数が与えられる組込み関数の当否のチ
ェックが行なわれる。
The output of the memory 7 is connected to the other comparison input of the comparator 6. The output of the comparator 6 is connected to a sequencer (not shown). □The argument checking mode under such a configuration will be explained next. □ When the interpreter passes arguments to the built-in function routine, it stores the arguments and the number of arguments on stack 1. In parallel with this storage, the type of the argument is stored in the argument type storage register 4.
and 44, and the number of arguments is stored in the argument number storage register 5. ′
- Then, when starting the ★゛ line of the built-in function, the built-in function routine number is sent via line 8, and the type and number of arguments corresponding to that number are read from memory 7.゛The read argument type and number of arguments are stored in the argument type storage register and argument number storage register 5 in the comparator 6.
is compared with the argument type and number of arguments. The comparison results are sent to the sequencer and used to control the execution of built-in functions. In this way, the validity of the built-in function to which arguments are given is checked.

このチェックはハードウェアにより一遍に行なわれ得る
ので、チェックの高速化となり、ひいては処理系の実行
速度の向上に表る。
Since this check can be performed all at once by hardware, the speed of the check is increased, which in turn improves the execution speed of the processing system.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明によれば、 ■引数チェックの高速化が図れて、 ■処理系の実行速度を向上し得る、等の効果が得られる
As explained above, according to the present invention, effects such as (1) speeding up of argument checking and (2) improving the execution speed of the processing system can be obtained.

【図面の簡単な説明】[Brief explanation of the drawing]

添付図面は本発明の一実施例を示す図である。 図において、1はスタック、4.乃至44は引数型格納
レジスタ、5は引数個数格納レジスタ、6は比較器、7
はメモリである。
The accompanying drawings illustrate one embodiment of the invention. In the figure, 1 is a stack, 4. 44 are argument type storage registers, 5 is an argument number storage register, 6 is a comparator, and 7
is memory.

Claims (1)

【特許請求の範囲】[Claims] インタプリタが関数型言語のための所要の組込み関数ル
ーチンに引数を引き渡すのに先立ってその引数を格納手
段に格納した後組込み関数ルーチンに制御を移して前記
引数についての処理を行なうデータ処理装置において、
引数の型及び個数を格納するレジスタと、組込み関数ル
ーチン毎に当該組込み関数ルーチンが受け付け得る引数
の型及び個数を格納するメモリとを設け、前記インタプ
リタからの引数の格納と並行してその引数の型及び個数
を前記レジスタに格納し、前記メモリの指定された読み
出し内容と前記レジスタの値との比較結果により組込み
関数ルーチンの実行を制御するようにしたことを特徴と
する引数チェック方式。
In a data processing device in which an interpreter stores an argument in a storage means before passing the argument to a required built-in function routine for a functional language, and then transfers control to the built-in function routine to process the argument,
A register for storing the type and number of arguments and a memory for storing the type and number of arguments that the intrinsic function routine can accept for each intrinsic function routine are provided. An argument checking method characterized in that a type and number are stored in the register, and execution of the built-in function routine is controlled based on a comparison result between specified read contents of the memory and a value of the register.
JP2780385A 1985-02-15 1985-02-15 Argument checking system Pending JPS61188630A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2780385A JPS61188630A (en) 1985-02-15 1985-02-15 Argument checking system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2780385A JPS61188630A (en) 1985-02-15 1985-02-15 Argument checking system

Publications (1)

Publication Number Publication Date
JPS61188630A true JPS61188630A (en) 1986-08-22

Family

ID=12231132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2780385A Pending JPS61188630A (en) 1985-02-15 1985-02-15 Argument checking system

Country Status (1)

Country Link
JP (1) JPS61188630A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129206A (en) * 2007-11-22 2009-06-11 Toshiba Corp Information processor, program verification method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129206A (en) * 2007-11-22 2009-06-11 Toshiba Corp Information processor, program verification method, and program

Similar Documents

Publication Publication Date Title
JPS6028015B2 (en) information processing equipment
JPS61188630A (en) Argument checking system
JPH01297738A (en) Computer testing device
JPS62254237A (en) Inter-printer type branch instruction executing system
JP2961754B2 (en) Parallel processing unit of information processing device
JPS6250867B2 (en)
JPS6310398A (en) Access system for two-port memory
JPS5856153A (en) Subroutine return system
JPS62221059A (en) Central processing unit
JPS61290546A (en) Tracing system for microprogram controller
JP2618387B2 (en) Testing method for information processing equipment
JPS6028014B2 (en) microprocessor
JPS63155346A (en) Ram check system
JPS6113617B2 (en)
JPS59194292A (en) Testing system
JPS63292337A (en) Logic simulation system
JPS61103268A (en) Control system of close coupling multi processor interruption
JPS63157252A (en) Data processor
JPS6393046A (en) Microprogram controller
JPH01108636A (en) Data processor with tag
JPH02266452A (en) Device for accessing cpu bus in other system
JPH0564373B2 (en)
JPS6318444A (en) System for developing software development supporting system
JPS63172341A (en) Electronic calculator
JPS6257034A (en) Software test system using virtual device