JPS62159235A - List processing system - Google Patents
List processing systemInfo
- Publication number
- JPS62159235A JPS62159235A JP56186A JP56186A JPS62159235A JP S62159235 A JPS62159235 A JP S62159235A JP 56186 A JP56186 A JP 56186A JP 56186 A JP56186 A JP 56186A JP S62159235 A JPS62159235 A JP S62159235A
- Authority
- JP
- Japan
- Prior art keywords
- program
- written
- expression
- machine language
- executing
- 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
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、リスト処理言語処理系におけるプログラムの
呼出し実行方法とプログラムの内部構造に関するつ
〔発明の背景〕
リスト処理言語処理系においては、通常機械語で博かれ
たプログラムとS表現で書かれたプログラムの双方が実
行可能である。従来、プログラムを呼出す場合には、機
械語で書かれたプログラムかS表現で書かれたプログラ
ムかを判定し1機械語で書かれたプログラムを呼出す場
合には、呼出すプログラムのペースレジスタと戻り番地
をセットした後、当該プログラムに分岐してプログラム
を実行し、S表現で書かれたプログラムを呼出す場合に
は、S表現で書かれたプログラムの番地と、S表現で書
かれたプログラムを解釈実行する解釈実行部のペースレ
ジスタと、戻り番地をセットした後、解釈実行部に分岐
してS表現で書かれたプログラムを解釈実行するという
方式がとられてきた。Detailed Description of the Invention [Field of Application of the Invention] The present invention relates to a method for calling and executing a program in a list processing language processing system and an internal structure of the program. Both programs written in S-expression and programs written in S-expression are executable. Conventionally, when calling a program, it is determined whether the program is written in machine language or S expression.1 When calling a program written in machine language, the pace register and return address of the called program are determined. After setting, branch to the relevant program and execute the program, and when calling a program written in S expression, interpret and execute the program written in S expression and the address of the program written in S expression. A method has been adopted in which the pace register and return address of the interpretation execution section are set, and then the program branches to the interpretation execution section and the program written in S expression is interpreted and executed.
通常、速度を重視するプログラムを機械語で書くが、上
記の方式では、プログラムを呼出す度に毎回判定を必要
とし、そのための時間を要するという問題があった。Usually, programs that emphasize speed are written in machine language, but the above method has the problem of requiring a determination every time the program is called, which takes time.
本発明の目的は、プログラム呼出し時に、それが機械語
で書かれたプログラムかS表現で書かれたプログラムか
の判定を不要とする方式を提供することにある。An object of the present invention is to provide a method that makes it unnecessary to determine whether a program is written in machine language or S expression when calling a program.
本発明は、S表現で書かれたプログラムに対応する実行
可能な機械語プログラムを準備し、それを経由してS表
現で書かれたプログラムの解釈実行部に分岐することに
より、プログラム呼出し時に1機械語で書かれたプログ
ラムかS表現で書か。The present invention prepares an executable machine language program corresponding to a program written in S expression, and branches to the interpretation execution part of the program written in S expression via it. A program written in machine language or written in S expression.
れたプログラムかの判定を不要とし、双方ともに、同様
の方式で呼出しを可能とするものである。This eliminates the need to determine whether the program is a program that has been executed, and allows both programs to be called in the same manner.
以下1本発明の一実施例を図に従って説明する。 An embodiment of the present invention will be described below with reference to the drawings.
第1図は、本発明の一実施例を示すリスト処理言語処理
系のブロック構成図であり、制御部11゜解釈実行部1
21機械語で書かれたプログラム13、S表現で書かれ
たプログラム14からなる。FIG. 1 is a block diagram of a list processing language processing system showing an embodiment of the present invention, in which the control section 11゜interpretation execution section 1
The program consists of 13 programs written in 21 machine language and 14 programs written in S expression.
機械語で書かれたプログラム13、S表現で書かれたプ
ログラム14は相互に呼出し可能な関係にあり、また自
分自身の呼出しも可能である。解釈実行部12は、S表
現で書かれたプログラムを解釈し、実行する部分である
。The program 13 written in machine language and the program 14 written in S expression are in a mutually callable relationship, and can also call themselves. The interpretation execution unit 12 is a part that interprets and executes a program written in S expression.
次に第2図に機械語で書かれたプログラムの構造図を示
す。機械語で書かれたプログラム22は、プログラムの
識別子21からポイントされている。Next, FIG. 2 shows a structural diagram of a program written in machine language. A program 22 written in machine language is pointed to by a program identifier 21.
プログラムの識別子21は、例えばプログ511名称で
あり、その定義として、機械語で書かれたプログラム2
2をポイントしている。The program identifier 21 is, for example, the name of the program 511, and its definition is the program 2 written in machine language.
It points to 2.
第3図に従来のS表現で書かれたプログラムの構成図を
示す。S表現で書かれたプログラム32は、プログラム
の識別子31からポイントされている。プログラム識別
子31は、第2図におけるプログラム識別子21と同様
、例えばプログラム名称であり、その定義として、S表
現で書かれたプログラム32をポイントしている。FIG. 3 shows a configuration diagram of a program written in the conventional S expression. A program 32 written in S expression is pointed to by a program identifier 31. Like the program identifier 21 in FIG. 2, the program identifier 31 is, for example, a program name, and its definition points to a program 32 written in S expression.
第4図のフローチャートを用いて第1図の制御部11が
機械語で書かれたプログラム13を実行したり、S表現
で書かれたプログラム14を解釈、実行部13により解
釈実行する場合の従来の方法について説明する。まず、
1!II別子からプログラムの定義を得(ステップ10
1)、プログラムの定義が機械語で書かれているかS表
現で書かれているかを判定しく102)、機械語で書か
れたプログラムの場合は1機械語で書かれたプログラム
のペースレジスタをセットしく103)、戻り番地をセ
ットしく104)、機械語プログラムに分岐して(10
5)プログラムを実行する。S表現で書かれたプログラ
ムの場合は、S表現で書かれたプログラムのアドレスを
セットしく106)、解釈実行部のベースレジスタをセ
ットしく107)、戻り番地をセットしくLO8)−解
釈実行部に分岐して(109)プログラムを解釈実行す
る6第5図に1本発明の一実施例としての、S表現で書
かれたプログラムの構造図を示す。プログラム識別子5
1は、実行可能プログラム52をポイントし、実行可能
プログラム52は、S表現で書かれたプログラム53を
ポイントする。プログラム識別子51は1例えばプログ
ラム名称である。Conventional methods in which the control section 11 shown in FIG. 1 executes a program 13 written in machine language using the flowchart shown in FIG. We will explain how to do this. first,
1! Obtain the program definition from the II identifier (step 10
1) Determine whether the program definition is written in machine language or S expression102) If the program is written in machine language, set the pace register for the program written in machine language. 103), set the return address 104), and branch to the machine language program (10
5) Run the program. In the case of a program written in S expression, set the address of the program written in S expression 106), set the base register of the interpretation execution section 107), and set the return address LO 8) - to the interpretation execution section. Branch (109) Interpret and execute the program 6 FIG. 5 shows a structural diagram of a program written in S expression as an embodiment of the present invention. program identifier 5
1 points to an executable program 52, and the executable program 52 points to a program 53 written in S expression. The program identifier 51 is 1, for example, a program name.
実行可能プログラム52は機械語で書かれている。Executable program 52 is written in machine language.
実行可能プログラム52の内容を、第6図のフローチャ
ートを用いて説明する。まず、S表現で書かれたプログ
ラムのアドレスをセットしくステップ201)、解釈実
行部のペースレジスタをセットしく202)、解釈実行
部に分岐する(203)。The contents of the executable program 52 will be explained using the flowchart of FIG. First, the address of the program written in S expression is set (step 201), the pace register of the interpretation execution section is set (202), and the process branches to the interpretation execution section (203).
第7図のフローチャートで9本発明の一実施例として第
5図に示したS表現で書かれたプログラムの構造を実施
した場合の、第1図制御部11が機械語で書かれたプロ
グラム13を実行したり、S表現で書かれたプログラム
14を解釈実行部13により解釈実行する方法について
説明する。The flowchart in FIG. 7 shows the program 13 in which the control unit 11 in FIG. 1 is written in machine language when the structure of the program written in the S expression shown in FIG. A method of interpreting and executing the program 14 written in S expression using the interpretation execution unit 13 will be explained.
まず、呼出すプログラムのペースレジスタをセットしく
ステップ301)、戻り番地をセットしく302)、プ
ログラムに分岐しく303)、実行する。呼出すプログ
ラムのペースレジスタのセット(301)とは、呼出す
プログラムが機械語で書かれたプログラムの場合はその
プログラムのベースアドレス、S表現で書かれたプログ
ラムのなぜなら第2図、第5図に示すように、機械語で
書かれたプログラム22も、実行可能プログラム52も
、双方ともプログラム識別子21.51からポイントさ
れており、また双方とも機械語で書かれているからであ
る。First, the pace register of the program to be called is set (step 301), the return address is set (302), the program is branched (step 303), and the program is executed. The pace register set (301) of the calling program is the base address of the calling program if it is written in machine language, or the reason for the program written in S expression as shown in Figures 2 and 5. This is because both the program 22 written in machine language and the executable program 52 are pointed to by the program identifier 21.51, and both are written in machine language.
従来のプログラム呼出し方法第4図と、本発明(7)
一実施例としてのプログラム呼出し方法第7図とを、機
械語で書かれたプログラムを呼出す場合について比較し
てみるに、第4図のステップ101゜102に相当する
部分が、第7図では削除されている。また、S表現で書
かれたプログラムを呼出す場合について考えてみるに、
第4図のステップ106.107,109に相当する処
理は、第6図に示す、実行可能プログラムのステップ2
01゜202.203にそれぞれ相当する。この場合は
、一度、実行可能プログラムに分岐(第7図ステップ3
03)の後、解釈実行部に分岐(第6図ステップ203
)するため、第4図におけるS表現で書かれたプログラ
ム呼出しの場合より分岐が一回増えるが、第4図におけ
るステップ101.102の処理は削除される。Conventional program calling method FIG. 4 and the present invention (7)
Comparing the program calling method in FIG. 7 as an example with the case of calling a program written in machine language, it is found that the parts corresponding to steps 101 and 102 in FIG. 4 are deleted in FIG. has been done. Also, considering the case of calling a program written in S expression,
The processing corresponding to steps 106, 107, and 109 in FIG. 4 is performed in step 2 of the executable program shown in FIG.
01°202.203 respectively. In this case, branch to the executable program once (Step 3 in Figure 7).
03), branch to the interpretation execution section (step 203 in Figure 6).
), there is one more branch than in the case of the program call written in the S expression in FIG. 4, but the processing in steps 101 and 102 in FIG. 4 is deleted.
本実施例によれば、呼出すプログラムが、機械語で書か
れているかS表現で書かれているかの判定をすることな
くプログラムを呼出すことが可能であるため、特に機械
語で書かれたプログラムの呼出し時間が削減されるとい
う効果がある。According to this embodiment, since it is possible to call a program without determining whether the program to be called is written in machine language or S expression, it is possible to call a program written in machine language. This has the effect of reducing call time.
本発明によれば、呼出し時に、機械語で書かれたプログ
ラムかS表現で書かれたプログラムかの判定すなわち、
第4図のステップio1.,102の部分が不要となる
ため、プログラムの呼出し時間を削減できるという効果
がある。According to the present invention, at the time of calling, it is determined whether the program is written in machine language or in S expression, that is,
Step io1 in FIG. , 102 are no longer necessary, which has the effect of reducing program calling time.
第1図はリスト言語処理系のブロック図、第2図は機械
語で書かれたプログラムの構造図、第3図は従来のS表
現で書かれたプログラムの構造図、第4図は従来のプロ
グラム呼出し手順を示すフローチャート、第5図は本発
明の一実施例としてのS表現で書かれたプログラムの構
造図、第6図は第5図の実行可能プログラムの内容を表
すフローチャート、第7図は第5図を実施した場合のプ
ログラム呼出し手順を示すフローチャートである。
、百 3 図
冨 4 図Figure 1 is a block diagram of the list language processing system, Figure 2 is a structural diagram of a program written in machine language, Figure 3 is a structural diagram of a program written in conventional S representation, and Figure 4 is a diagram of the conventional program. Flowchart showing the program calling procedure, FIG. 5 is a structural diagram of a program written in S expression as an embodiment of the present invention, FIG. 6 is a flowchart showing the contents of the executable program of FIG. 5, FIG. 5 is a flowchart showing a program calling procedure when FIG. 5 is implemented. , 100 3 Figures 4 Figures
Claims (1)
クスプレッション:Symblic Expressi
on)で書かれたプログラムの双方を実行可能な処理系
において、機械語で書かれた実行可能なプログラムを経
由して、該S表現で書かれたプログラムを解釈実行する
ことにより、プログラム呼出し時には、該機械語で書か
れたプログラムと該S表現で書かれたプログラムとの判
定を不要としたことを特徴とするリスト処理方式。Programs written in machine language and S expressions (Symbolic Expressi)
On a processing system that can execute both programs written in S expression, the program written in S expression is interpreted and executed via an executable program written in machine language. , a list processing method characterized in that it is not necessary to determine between a program written in the machine language and a program written in the S expression.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56186A JPS62159235A (en) | 1986-01-08 | 1986-01-08 | List processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56186A JPS62159235A (en) | 1986-01-08 | 1986-01-08 | List processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62159235A true JPS62159235A (en) | 1987-07-15 |
Family
ID=11477135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP56186A Pending JPS62159235A (en) | 1986-01-08 | 1986-01-08 | List processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62159235A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03129526A (en) * | 1989-10-16 | 1991-06-03 | Fujitsu Ltd | Subr/expr call control system |
-
1986
- 1986-01-08 JP JP56186A patent/JPS62159235A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03129526A (en) * | 1989-10-16 | 1991-06-03 | Fujitsu Ltd | Subr/expr call control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62159235A (en) | List processing system | |
JPH07210397A (en) | Program conversion method and program execution method using the same | |
JPH0447337B2 (en) | ||
JPS61213928A (en) | Alteration system for program | |
JPH0588878A (en) | Lisp instruction executing system | |
JPH01194053A (en) | Processing system for command procedure | |
JPH0250730A (en) | Language converting system based upon common machine word | |
JPH01140239A (en) | Instruction executing address preserving processing system | |
JPS62212734A (en) | Executing system for intermediate code program | |
JPS63132340A (en) | Execution control system in logical type language | |
JPH01158532A (en) | Program executing system | |
JPS63259736A (en) | Debugging segment dividing system | |
JPS628230A (en) | Program specialization system | |
JPH0772874B2 (en) | Interrupt receiving device | |
JPH0561673A (en) | Dynamic link system for object program | |
JPH04205430A (en) | Program execution controller | |
JPS63158632A (en) | System program execution system in interpreter system | |
JPS63163659A (en) | On-line processing system for electronic computer system | |
JPH10171656A (en) | Script language processor | |
JPH0573335A (en) | Automatic in-line development system for program | |
JPH02166521A (en) | Method execution control system | |
JPH05216828A (en) | Error processing system in batch execution of software simulator | |
JPH02224131A (en) | Computer system | |
JPH07230396A (en) | Mutual constitution system for different kinds of file system forms | |
JPS63245722A (en) | Load module linking system |