JPS61188630A - Argument checking system - Google Patents
Argument checking systemInfo
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
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.
従来のこの種チェック方式はインタプリタと組込み関数
ルーチンとの間で取り極められた記憶装置にインタプリ
タが引数、その型情報及び個数のデータを予め格納し、
そして制御が組込み関数ル−チン側に引き渡された後組
込み関数ルーチン側で記憶装置からデータを読み出して
引数の個数や型を遂次間べてい(という技法が採られて
いる。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.
この技法は関数型言語に包含される引数の型及び個数の
全部又は一部につきそ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.
本発明は上述した問題点の解決を図った引数チェック方
式を提供するもので、その手段は、インタプリタが関数
型言語の゛ための所要の組込み関数ルーチンに引数を引
き渡すのに先立ってその引数。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.
本発明方式によれば、組込み関数ルーチンに引き渡され
る引数の格納と共に引数の型及び個数がレジスタに格納
される。又、各組込み関数ルーチン毎に当該組込み関数
ルーチンが受は付は得る引数の型及び個数を予めイモリ
に格納しておく。そして、組込み関数ルーチンへ引き渡
される引数によって指定されるメモリの読み出し内容が
レジスタの値と比較され、その結果により組込み関数ル
ーチンの実行が制御される。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.
以下、添付図面を参照しながら本発明の詳細な説明する
。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.
以上説明したように本発明によれば、
■引数チェックの高速化が図れて、
■処理系の実行速度を向上し得る、等の効果が得られる
。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.
添付図面は本発明の一実施例を示す図である。
図において、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)
ーチンに引数を引き渡すのに先立ってその引数を格納手
段に格納した後組込み関数ルーチンに制御を移して前記
引数についての処理を行なうデータ処理装置において、
引数の型及び個数を格納するレジスタと、組込み関数ル
ーチン毎に当該組込み関数ルーチンが受け付け得る引数
の型及び個数を格納するメモリとを設け、前記インタプ
リタからの引数の格納と並行してその引数の型及び個数
を前記レジスタに格納し、前記メモリの指定された読み
出し内容と前記レジスタの値との比較結果により組込み
関数ルーチンの実行を制御するようにしたことを特徴と
する引数チェック方式。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.
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)
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 |
-
1985
- 1985-02-15 JP JP2780385A patent/JPS61188630A/en active Pending
Cited By (1)
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 |