JPH0256639A - Simplified language processing system - Google Patents
Simplified language processing systemInfo
- Publication number
- JPH0256639A JPH0256639A JP20977088A JP20977088A JPH0256639A JP H0256639 A JPH0256639 A JP H0256639A JP 20977088 A JP20977088 A JP 20977088A JP 20977088 A JP20977088 A JP 20977088A JP H0256639 A JPH0256639 A JP H0256639A
- Authority
- JP
- Japan
- Prior art keywords
- external
- subroutine
- output
- section
- external subroutine
- 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
- 238000003672 processing method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ディジタル計算機の簡易言語処理方式に利用
する。特に、コンピュータを利用し、エンドユーザに簡
易言語としての機能を提供する装置の機能拡張に関する
ものである。DETAILED DESCRIPTION OF THE INVENTION [Industrial Field of Application] The present invention is applied to a simple language processing method for a digital computer. In particular, it relates to functional expansion of devices that utilize computers and provide end users with functions as simple languages.
本発明は簡易言語処理方式において、
あらかじめ定めた外部サブルーチンを外部サブルーチン
テーブルに設定しておきソースプログラムを入力したと
き外部サブルーチンが含まれている場合に外部サブルー
チンテーブルを検索し、該当する外部サブルーチンを読
出してそのオブジェクトプログラムを生成し実行するこ
とにより、コンパイラを殆ど変更することなく容易に機
能を拡張ができるようにしたものである。In a simple language processing method, the present invention sets predetermined external subroutines in an external subroutine table, and when a source program is input and an external subroutine is included, the external subroutine table is searched and the corresponding external subroutine is searched. By reading, generating and executing the object program, functions can be easily extended without changing the compiler.
従来、アドレスを取扱えない高級言語(たとえばFOR
TRAN)によって記述された簡易言語処理装置は、機
能拡張のたびにコンパイラを大幅に改造するとともに、
実行制御部においても同様の改造を行うことが必要であ
った。Conventionally, high-level languages that cannot handle addresses (for example, FOR
The simple language processing device written by TRAN) has undergone major modifications to the compiler each time its functions have been expanded.
It was also necessary to make similar modifications to the execution control section.
しかし、このような従来例の簡易言語処理方式では、簡
易言語の機能を拡張していくには、開発者の経験、ノウ
ハウに依存する部分が大きいために、次のような欠点が
あった。However, in such conventional simple language processing methods, expanding the functions of the simple language largely depends on the experience and know-how of the developer, and thus has the following drawbacks.
(1〕 開発作業に莫大な時間を要する。(1) Development work requires a huge amount of time.
(2)機能拡張にともなう品質低下が生じやすい。(2) Quality deterioration is likely to occur with functional expansion.
(3)開発作業の標準化が進まない。(3) Standardization of development work is not progressing.
本発明は上記の欠点を解決するもので、コンパイラを殆
ど変更することなく容易に機能を拡張できる簡易言語処
理方式を提供することを目的とする。The present invention solves the above-mentioned drawbacks, and aims to provide a simple language processing method whose functions can be easily expanded without changing the compiler.
本発明は、簡易言語処理方式において、コンパイラ部は
、あらかじめ定められた外部サブルーチンが設定される
外部サブルーチンテーブルと、外部サブルーチン処理部
と、言語入力部の出力を解釈しその内容に外部サブルー
チンが含まれているときにはその出力をこの外部サブル
ーチン処理部に与え、含まれていないときにはオブジェ
クト生成部に与える言語解釈部とを備え、上記外部サブ
ルーチン処理部は、上記言語解釈部の出力に基づいて上
記外部サブルーチンテーブルを検索し該当する外部サブ
ルーチンを読出してそのオブジェクトプログラムを生成
しオブジェクト出力部に与える手段を含むことを特徴と
する。The present invention provides a simple language processing method in which a compiler section interprets the output of an external subroutine table in which predetermined external subroutines are set, an external subroutine processing section, and a language input section, and includes the external subroutines in the contents. the external subroutine processing section provides the output to the external subroutine processing section when the output is included, and the language interpretation section provides the output to the object generation section when the output is not included. The present invention is characterized in that it includes means for searching a subroutine table, reading out a corresponding external subroutine, generating an object program thereof, and providing the object program to an object output section.
あらかじめ定められた外部サブルーチンを外部サブルー
チンテーブルに設定しておく。言語解釈部は言語入力部
の出力を解釈しその内容に外部サブルーチンが含まれて
いるときにはその出力を外部サブルーチン処理部に与え
、含まれていないときには上記オブジェクト生成部に与
える。外部サブルーチン処理部は言語解釈部の出力に基
づいて外部サブルーチンを検索し該当する外部サブルー
チンを読出してそのオブジェクトプログラムを生成しオ
ブジェクト出力部に与える。以上の動作によりコンパイ
ラを殆ど変更することなく容易に機能を拡張ができる。Predetermined external subroutines are set in the external subroutine table. The language interpretation section interprets the output of the language input section, and if the contents include an external subroutine, the output is given to the external subroutine processing section, and when it is not included, the output is given to the object generation section. The external subroutine processing section searches for an external subroutine based on the output of the language interpretation section, reads out the corresponding external subroutine, generates an object program for it, and supplies it to the object output section. With the above operations, functions can be easily extended without changing the compiler.
本発明の実施例について図面を参照して説明する。第1
図は本発明一実施例簡易言語処理装置のブロック構成図
である。第1図において、簡易言語処理装置において、
ソースプログラムを人力する言語入力部11、このソー
スプログラムのオブジェクトプログラムを生成するオブ
ジェクト生成部13、オブジェクトファイル17および
オブジェクト生成部13の出力をオブジェクトファイル
17に格納するオブジェクト出力部I6を含むコンパイ
ラ部lOと、オブジェクトファイル17の内容を読出す
オブジェクト入力部21.オブジェクト入力部21の出
力を解釈するオブジェクト解釈部22およびオブジェク
ト解釈部22の出力を実行する実行処理部23を含む実
行制御部23とを備える。Embodiments of the present invention will be described with reference to the drawings. 1st
The figure is a block diagram of a simple language processing device according to an embodiment of the present invention. In FIG. 1, in the simple language processing device,
A compiler unit 10 that includes a language input unit 11 that manually generates a source program, an object generation unit 13 that generates an object program of this source program, an object file 17, and an object output unit I6 that stores the output of the object generation unit 13 in the object file 17. and an object input section 21 that reads the contents of the object file 17. It includes an object interpretation section 22 that interprets the output of the object input section 21 and an execution control section 23 that includes an execution processing section 23 that executes the output of the object interpretation section 22.
ここで本発明の特徴とするところは、コンパイラ部10
は、あらかじめ定められた外部サブルーチンが設定され
る外部サブルーチンテーブル15と、外部サブルーチン
処理部14と、言語入力部11の出力を解釈しその内容
に外部サブルーチンが含まれているときにはその出力を
この外部サブルーチン処理部14に与え、含まれていな
いときにはオブジェクト生成部13に与える言語解釈部
12とを備え、外部サブルーチン処理部14は、言語解
釈部12の出力に基づいて外部サブルーチンテーブルを
検索し該当する外部サブルーチンを読出してそのオブジ
ェクトプログラムを生成し上記オブジェクト出力部16
に与える手段を含むことにある。Here, the feature of the present invention is that the compiler section 10
interprets the output of the external subroutine table 15 in which predetermined external subroutines are set, the external subroutine processing unit 14, and the language input unit 11, and if the content includes an external subroutine, the output is transferred to this external subroutine. The external subroutine processing section 14 searches the external subroutine table based on the output of the language interpretation section 12 to find the corresponding subroutine. The object output unit 16 reads an external subroutine and generates an object program for it.
It consists in including the means to provide for.
このような構成の簡易言語処理装置の動作について説明
する。第2図は本発明の簡易言語処理装置の動作を示す
フローチャートである。第3図は本発明の簡易言語処理
装置のソースプログラムを示す図である。The operation of the simple language processing device having such a configuration will be explained. FIG. 2 is a flow chart showing the operation of the simple language processing device of the present invention. FIG. 3 is a diagram showing a source program of the simple language processing device of the present invention.
第1図および第2図において、コンパイル時に言語入力
部11は、ソースプログラムを入力する(SL)。入力
されたソースプログラムは、言3吾解釈部12により、
ソースプログラムがどのような内容のものであるのか、
解釈される(S2)。ソースプログラムの内容により(
S3)、各オブジェクトを生成するオブジェクト生成部
13に制御を弓き渡し、その内容にあったオブジェクト
が生成される(S4)。一方、人力したソースプログラ
ムの中に外部サブルーチンがあった場合には(S3)、
オブジェクト生成部13に制御を渡さずに、外部サブル
ーチン処理部14に制御を引き渡す。In FIGS. 1 and 2, the language input unit 11 inputs a source program at the time of compiling (SL). The input source program is processed by the Gen3go interpreter 12.
What is the content of the source program?
It is interpreted (S2). Depending on the contents of the source program (
S3), control is passed to the object generation unit 13 that generates each object, and objects matching the contents are generated (S4). On the other hand, if there is an external subroutine in the manually created source program (S3),
Control is passed to the external subroutine processing unit 14 without passing control to the object generation unit 13.
外部サブルーチン処理部14では、外部サブルーチンテ
ーブル15に外部サブルーチン名が登録されているかど
うか検索を行い(S9)、もし登録されていれば(S1
0)、その内容にあったオブジェクトう生成する(Sl
l)。もし登録されていなければ(S10)、エラーと
して処理を行う(S12)。The external subroutine processing unit 14 searches whether the external subroutine name is registered in the external subroutine table 15 (S9), and if it is registered (S1
0), generate an object that matches the content (Sl
l). If it is not registered (S10), it is processed as an error (S12).
オブジェクト生成部13および外部サブルーチン処理部
14により生成されたオブジェクトは(34,511)
、オブジェクト出力部16により出力されオブジェクト
ファイル17に内容が蓄積される(S5)。The object generated by the object generation unit 13 and external subroutine processing unit 14 is (34,511)
, the contents are outputted by the object output unit 16 and stored in the object file 17 (S5).
実行時には、オブジェクトファイル17に蓄積されたオ
ブジェクトをオブジェクト入力部21により入力を行う
(S6)。人力されたオブジェクトは、オブジェクト解
釈部22により内容が解釈され(S7)、実行処理部2
3により実行される(S8)。At the time of execution, the object stored in the object file 17 is inputted by the object input unit 21 (S6). The content of the manually created object is interpreted by the object interpretation unit 22 (S7), and the execution processing unit 2
3 (S8).
第3図はソースプログラムの一例である。コンパイル時
には、言語入力部11により、ソースプログラムP1〜
P12を入力する。入力されたソースプログラムP1〜
P12はく言語解釈部12によりその内容が解釈される
。たとえば、ソースプログラムP1で、“CBEGIN
”と記述すべきところを、“CBGIN”とした場合に
は、この言語解釈部12でエラーとして処理を行う。FIG. 3 is an example of a source program. At the time of compilation, the language input unit 11 inputs source programs P1 to
Enter P12. Input source program P1~
The content is interpreted by the P12 language interpreter 12. For example, in source program P1, “CBEGIN
” instead of “CBGIN,” the language interpreter 12 treats it as an error.
次に、オブジェクト生成部13によりソースプログラム
の内容により、各々のオブジェクトが生成される。この
例ではソースプログラムP1〜P8およびソースプログ
ラムPL2は、このオブジェクト生成部13により処理
される。Next, the object generation unit 13 generates each object based on the contents of the source program. In this example, source programs P1 to P8 and source program PL2 are processed by this object generation unit 13.
一方、外部サブルーチンがある場合にはこの例ではソー
スプログラムP9〜pH、オブジェクト生成部13では
、処理をせずに外部サブルーチン処理部14で処理を行
う。外部サブルーチン処理部14では、外部サブルーチ
ンテーブル15に外部サブルーチン名が登録されている
かどうか検索を行い、もし登録されていればその内容に
あったオブジェクトを生成する。たとえば、ソースプロ
グラムP9で“QCHIND”とすべきところを“QC
HINT”とした場合に、この外部サブルーチンテーブ
ル15に外部サブルーチン名が登録されていないので、
外部サブルーチン処理部14によりエラーとして処理が
行われる。次に、オブジェクト生成部13および外部サ
ブルーチン処理部14により生成されたオブジェクトは
、オブジェクト出力部16によりオブジェクトファイル
17にその内容が出力され、蓄積される。On the other hand, if there is an external subroutine, in this example, the source programs P9 to pH and the object generation section 13 do not process it, but the external subroutine processing section 14 processes it. The external subroutine processing section 14 searches whether an external subroutine name is registered in the external subroutine table 15, and if it is registered, generates an object matching the contents. For example, in source program P9, what should be “QCHIND” is replaced with “QC”.
HINT”, the external subroutine name is not registered in this external subroutine table 15, so
The external subroutine processing unit 14 processes this as an error. Next, the contents of the object generated by the object generation section 13 and the external subroutine processing section 14 are outputted to the object file 17 by the object output section 16 and stored.
実行時には、オブジェクトファイル17に蓄積されたオ
ブジェクトをオブジェクト入力部21により入力する。During execution, the objects stored in the object file 17 are input by the object input unit 21.
次に、オブジェクト解釈部22では、入力したオブジェ
クトの内容を解釈し、実行処理部23により実行する。Next, the object interpretation section 22 interprets the contents of the input object, and the execution processing section 23 executes it.
以上説明したように、本発明は、簡易雪路のステートメ
ントをふやすことなく、機能の拡張が容易にできる優れ
た効果がある。また、実際の外部サブルーチンを呼出す
ような記述ができるためにソースプログラムの記述が容
易にできる利点がある。As explained above, the present invention has an excellent effect that functions can be easily expanded without increasing the number of simple snow-covered roads. Another advantage is that the source program can be written easily because it can be written as if it were to call an actual external subroutine.
第1図は本発明一実施例簡易言語処理装置のブロック構
成図。
第2図は本発明の簡易言語処理装置の動作を示すフロー
チャート。
第3図は本発明の簡易言語処理装置のソースプログラム
を示す図。
10・・・コンパイラ部、11・・・言語入力部、12
・・・言語解釈部、13・・・オブジェクト生成部、1
4・・・外部サブルーチン処理部、15・・・外部サブ
ルーチンテーブル、16・・・オブジェクト出力部、1
7・・・オブジェクトファイル、20・・・実行制御部
、21・・・オブジェクト入力部、22・・・オブジェ
クト解釈部、23・・・実行処理部。
特許出願人 日本電気株式会社11’j”%代理人
弁理士 井 出 直 孝、′実施例 ソースプログラム
第3図FIG. 1 is a block diagram of a simple language processing device according to an embodiment of the present invention. FIG. 2 is a flowchart showing the operation of the simple language processing device of the present invention. FIG. 3 is a diagram showing a source program of the simple language processing device of the present invention. 10... Compiler section, 11... Language input section, 12
...Language interpretation section, 13...Object generation section, 1
4... External subroutine processing section, 15... External subroutine table, 16... Object output section, 1
7... Object file, 20... Execution control section, 21... Object input section, 22... Object interpretation section, 23... Execution processing section. Patent applicant NEC Corporation 11'j”% agent
Patent attorney Naotaka Ide, 'Example source program Figure 3
Claims (1)
スプログラムのオブジェクトプログラムを生成するオブ
ジェクト生成部、オブジェクトファイルおよび上記オブ
ジェクト生成部の出力をこのオブジェクトファイルに格
納するオブジェクト出力部を含むコンパイラ部を備えた
簡易言語処理方式において、 上記コンパイラ部は、あらかじめ定められた外部サブル
ーチンが設定される外部サブルーチンテーブルと、外部
サブルーチン処理部と、上記言語入力部の出力を解釈し
その内容に外部サブルーチンが含まれているときにはそ
の出力をこの外部サブルーチン処理部に与え、含まれて
いないときには上記オブジェクト生成部に与える言語解
釈部とを備え、 上記外部サブルーチン処理部は、上記言語解釈部の出力
に基づいて上記外部サブルーチンテーブルを検索し該当
する外部サブルーチンを読出してそのオブジェクトプロ
グラムを生成し上記オブジェクト出力部に与える手段を
含む ことを特徴とする簡易言語処理方式。[Claims] 1. A language input section that inputs a source program, an object generation section that generates an object program of this source program, an object output section that stores an object file and the output of the object generation section in this object file. In a simple language processing method that includes a compiler section, the compiler section interprets the output of the external subroutine table in which predetermined external subroutines are set, the external subroutine processing section, and the language input section, and converts the output into the contents. a language interpreter that supplies the output of the external subroutine to the external subroutine processor when the external subroutine is included, and to the object generator when the external subroutine is not included; A simplified language processing method comprising means for searching the external subroutine table based on the above, reading out a corresponding external subroutine, generating an object program thereof, and providing the generated object program to the object output section.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20977088A JPH0256639A (en) | 1988-08-23 | 1988-08-23 | Simplified language processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20977088A JPH0256639A (en) | 1988-08-23 | 1988-08-23 | Simplified language processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0256639A true JPH0256639A (en) | 1990-02-26 |
Family
ID=16578321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20977088A Pending JPH0256639A (en) | 1988-08-23 | 1988-08-23 | Simplified language processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0256639A (en) |
-
1988
- 1988-08-23 JP JP20977088A patent/JPH0256639A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5860008A (en) | Method and apparatus for decompiling a compiled interpretive code | |
JP4699580B2 (en) | Method for static initialization of data processing system array, data processing method, and computer-readable storage medium storing data processing system and program for causing computer to execute control procedure thereof | |
EP1164478A2 (en) | Method and apparatus for resolving data references in generated code | |
JP2856663B2 (en) | Optimization method and apparatus for defining visible boundaries in compiled code | |
US5150474A (en) | Method for transferring arguments between object programs by switching address modes according to mode identifying flag | |
Pagan | Converting interpreters into compilers | |
JPH0256639A (en) | Simplified language processing system | |
GB2420638A (en) | Method of substituting code fragments in Internal Representation | |
Cox et al. | Advanced programming aids in PROGRAPH | |
JP2002082811A (en) | Compiling method and recording medium | |
JP2827724B2 (en) | Program debug processing method | |
JP2977642B2 (en) | FORTRAN compilation processor | |
Symes | Manipulation of data structures in a numerical analysis problem solving system: NAPSS | |
JP2004139369A (en) | Analysis method for pointer pointing constant address domain | |
JPH06259528A (en) | Method and device for generating animation | |
JP2764782B2 (en) | Data structure expansion method for COBOL programs | |
JP3424596B2 (en) | Method and apparatus for caching symbol reference information | |
Housden et al. | Character string pattern matching in Algol 68 | |
JP2721377B2 (en) | BASIC program compression method | |
JPH06236282A (en) | Compiler and interpreter for variable size of data format | |
JPH0795273B2 (en) | Partial expansion processing method of sum calculation in compiler | |
JPH06242942A (en) | Source code level debugging device | |
JPS63140339A (en) | Reserved word managing system for version identification | |
JPH04248624A (en) | Program conversion processor | |
JPH0731601B2 (en) | Information processing equipment |