JPH01300342A - Program development system - Google Patents

Program development system

Info

Publication number
JPH01300342A
JPH01300342A JP13029688A JP13029688A JPH01300342A JP H01300342 A JPH01300342 A JP H01300342A JP 13029688 A JP13029688 A JP 13029688A JP 13029688 A JP13029688 A JP 13029688A JP H01300342 A JPH01300342 A JP H01300342A
Authority
JP
Japan
Prior art keywords
data
function
logical number
program
argument
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
JP13029688A
Other languages
Japanese (ja)
Inventor
Hiroshi Wada
弘 和田
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.)
Toshiba TEC Corp
Original Assignee
Tokyo Electric Co 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 Tokyo Electric Co Ltd filed Critical Tokyo Electric Co Ltd
Priority to JP13029688A priority Critical patent/JPH01300342A/en
Publication of JPH01300342A publication Critical patent/JPH01300342A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To facilitate the maintenance of a program development system by referring to a table which contains the address information decided in response to a logic number and to receive an access and the information on the length, etc. CONSTITUTION:The stored addresses of a variable and a constant are shown in the logic numbers and a logic number corresponds to an argument which is delivered to a function. Then the reference is given to a table which stores the address information decided in response to a logic number and to receive an access. Thus it is possible to know the store place for the data to be processed within the function. Then the argument can be described by using a logic number that points the object data on the table storing the related data to be processed. As a result, the careless mistakes are decreased together with reduction of the description value when a source program is coded. At the same time, the data are retrieved with a logic number used as a key. Thus the capacity of an execution program is also reduced and the maintenance is easily attained just with the change of the table.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムの開発を容品にするプログラム開発
システムに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program development system that facilitates program development.

〔従来の技術〕[Conventional technology]

近年における半導体技術の目覚ましい発展に伴い多くの
分野にマイクロコンピュータ技術が取入れられるように
なり、機器の小形化や高度な制御やデータの管理・利用
等が手軽に行え、しかも、機器の小形化やコストダウン
、信頼性の向上等ができるようになって、もはやマイク
ロコンピュータ技術はなくてはならない存在となった。
With the remarkable development of semiconductor technology in recent years, microcomputer technology has been adopted in many fields, making it easier to miniaturize equipment, perform advanced control, and manage and use data. Microcomputer technology has become indispensable due to its ability to reduce costs and improve reliability.

ところで、高速制御・大容量データ処理が要求されるマ
イクロコンピュータ応用機器においては、使用するプロ
セッサも16ビツトや32ビツトなど高機能のものに移
行しており、コーディングが複雑となるので、ソフトウ
ェア開発言語もアセンブラ中心から高級コンパイラ言語
を利用する傾向がますます増大している。特にターゲッ
トシステムのハードウェア構成に直結した制御のための
プログラムを容易に記述でき、高級な処理も手軽に行え
る点で「0C”言語」が着目され、マイクロコンピュー
タ応用機器のプログラム開発言語として普及が著しい。
By the way, in microcomputer-applied equipment that requires high-speed control and large-capacity data processing, the processors used are also shifting to highly functional ones such as 16-bit and 32-bit, making coding more complex, so software development languages are being used. There is also an increasing tendency to use high-level compiler languages instead of focusing on assembler. In particular, the ``0C'' language has attracted attention because it is easy to write control programs that are directly connected to the hardware configuration of the target system, and can easily perform high-level processing, and has become popular as a program development language for microcomputer application equipment. Significant.

ここで開発言語としての”C”を見てみると、これはソ
ースプログラムを記述する場合、通常。
If we look at "C" as a development language, this is usually used when writing source programs.

関数”と呼ばれるプログラムモジュールに対し、必要と
する入力データを”引き数°として渡し、この関数の持
つ機能を自己が開発しようとしているプログラムにおい
て実現するように#C#コンパイラに依頼する形をとる
Pass the required input data as an argument to a program module called a function, and ask the C# compiler to implement the functionality of this function in the program you are developing. .

例えば、r5000H(IIは16進表記を示す)番地
の5バイト分のメモリの内容と2000011番地の4
バイト分のメモリの内容とを10進加算する」と云った
プログラムの場合、IO進加算プログラムを定義したラ
イブラリ藺数名を“Cat  add″とし、5000
11番地を示すアドレス(またはそのポインタ)をA3
00G 、 2000011番地を示すアドレス(また
はそのポインタ)をA2000Gとし、これをソースプ
ログラム上で定義しであるとすると、この関数のコーリ
ングシーケンスは Ca 1  add (5,A3000 、 4. A
20000)であり、”C”コンパイラはこのような記
述のあるソースプログラムをコンパイルすると、例えば
第5図(C)に示すように展開され、これのオブジェク
トコードを生成することになる。これを見るとわかるよ
うに、先ず始めに引き数である「5」。
For example, the contents of 5 bytes of memory at address r5000H (II indicates hexadecimal notation) and 4 bytes at address 2000011.
In the case of a program that adds the contents of a byte of memory in decimal notation, the name of the library that defines the IO decimal addition program is ``Cat add'', and 5000
The address (or its pointer) indicating address 11 is A3
Assuming that the address (or its pointer) indicating addresses 00G and 2000011 is A2000G, and this is defined in the source program, the calling sequence of this function is Ca 1 add (5, A3000, 4. A
20,000), and when a "C" compiler compiles a source program with such a description, it is expanded as shown in FIG. 5(C), and an object code thereof is generated. As you can see, the first argument is "5".

rA5000 J 、  r 4J 、  rA200
00Jを順にスタックに格納するルーチン(この例では
24バイト)を作成し、次に始めて関数rcal  a
ddJ  (この例では5バイト)のIO進加算処理ル
ーチンを繋ぐ形のプログラムを展開する。そのため、こ
の例ではリンク処理前のオブジェクトコードレベルで2
9バイトを要していることがわかる。そして、最終的に
はリンカによるリンク処理により関数rcal  ad
dJに定義されたlO進加算処理プログラムの実行に必
要なコードがそっくり付加されることになり、最終的に
は相当に大きな容量の実行形式プログラムとなる。
rA5000J, r4J, rA200
Create a routine that sequentially stores 00J on the stack (24 bytes in this example), and then start by calling the function rcal a
Develop a program that connects the IO base addition processing routine of ddJ (5 bytes in this example). Therefore, in this example, at the object code level before link processing, 2
It can be seen that 9 bytes are required. Finally, the link process by the linker creates the function rcal ad
All the codes required to execute the lO base addition processing program defined in dJ are added, and the end result is an executable program with a considerably large capacity.

一方、開発しようとするアプリケーションシステム(例
えば、在庫管理システムや給与計算システム、売上げ管
理システム等)を考えると、加算処理のルーチンはアプ
リケーションの中で随所に使用されることが予測され、
この場合、rcal  addJ関数の記述に遭遇する
度に先のスタック格納ルーチンと、rcal  add
Jの実行のための処理ルーチンが付加されることになる
。そのため、高度な処理を目指したアプリケーションシ
ステムをアセンブラを利用した場合とは比べようのない
程、容易に開発することができても、生成された実行プ
ログラムは膨大な容量となり、アセンブラのようにコン
パクトに纏めることはできない。
On the other hand, when considering the application system to be developed (e.g., inventory management system, payroll system, sales management system, etc.), it is expected that addition processing routines will be used throughout the application.
In this case, each time the rcal addJ function description is encountered, the previous stack storage routine and rcal add
A processing routine for executing J will be added. Therefore, even if it is possible to develop an application system aiming for advanced processing much more easily than when using an assembler, the generated executable program has a huge capacity, and it is not as compact as an assembler. It cannot be summarized into.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

このように、「”C”言語」を用いて目的のアプリケー
ションシステムを開発する場合に関数と呼ばれるプログ
ラムモジュールを利用する際にその関数にデータを入力
しようとするとそれは引き数として記述しなければなら
ない。そして、従来においては引き数を持つ関数をコン
パイルすると、与えられた引き数をスタックに格納する
処理ルーチンが必ず付加され、これが数十バイトもの容
量を持つことになる。そして、高度な処理を目指したア
プリケーションシステムでは引き数を与えてデータの授
受を行うケースはソースプログラム上、随所に現われる
のを避けられないから、生成された実行プログラムは膨
大な容量となり、アセンブラのようにコンパクトに纏め
ることはできない。
In this way, when developing a target application system using the "C" language and using a program module called a function, if you want to input data to that function, you must write it as an argument. . Conventionally, when a function with arguments is compiled, a processing routine that stores the given arguments on the stack is always added, and this has a capacity of several tens of bytes. In application systems that aim for advanced processing, cases in which data is exchanged by giving arguments inevitably appear in the source program, so the generated executable program has a huge capacity, and the assembler It cannot be summarized in such a compact manner.

一方、マイクロコンピュータ応用機器では、半導体メモ
リ素子の大容量化と低コスト化が進んで、内蔵する半導
体メモリの容量が大きくなっても、高度なアプリケーシ
ョンシステムを搭載して実行させると、そのアプリケー
ションのプログラムが大きいため、結局はメインメモリ
上に確保できるデータエリアは狭められ、処理したいデ
ータが増大してもこれに応えることができない。そして
、「°C”言語」によるプログラム開発は時代の趨勢で
あり、短期間に良質のソフトウェアを開発できるととも
に、蓄積したソフトウェア資産を将来に亙って有効に活
かせると云う点で生産性も見逃すことができないので、
上述のような生成プログラムの容量増大を抑制できるよ
うにすることが望まれる。
On the other hand, in microcomputer-applied equipment, semiconductor memory elements have become larger in capacity and lower in cost. Since the program is large, the data area that can be secured on the main memory is ultimately limited, and even if the amount of data that needs to be processed increases, it cannot be accommodated. Program development using the "°C" language is a trend of the times, and it is not only possible to develop high-quality software in a short period of time, but also improves productivity in that the accumulated software assets can be effectively utilized in the future. Because you can't miss it
It is desirable to be able to suppress the increase in the capacity of generated programs as described above.

また、「”C″言語を用いてソースプログラムを作成す
るに当り、一般に「引き数」はアドレス、レングス、デ
ータの性格(データが数値であるか、文字であるか、1
6進数、lO進数、8進数・・・であるか等)等のうち
、少なくとも前の2つを記述する必要があるが、先のI
O進加算の例を見てもわかるように引き数の記述量が多
く、これが頻繁に利用されるとなるとプログラマの作業
量もばかにならない他、コーディング上のケアレスミス
も発生し易くなり、デバッグも大変である。また、改良
のために条件を変更したり、ターゲットシステムが変更
になったりした場合にはソースプログラムにおいて「引
き数」を変更し、再コンパイルする必要が生じるが、そ
のためにはソースプログラムをつぶさにチエツクして修
正を加えねばならず、メンテナンスの面でも大変である
In addition, when creating a source program using the C language, arguments generally include addresses, lengths, the nature of the data (whether the data is numerical or character, etc.).
It is necessary to write at least the first two of the hexadecimal numbers, IO base numbers, octal numbers, etc.), but the first I
As you can see from the example of O-adic addition, there are a large number of arguments written, and if this is used frequently, the amount of work for the programmer becomes significant, and careless mistakes in coding are likely to occur, making debugging difficult. It is also difficult. Also, if conditions are changed for improvement or the target system is changed, it will be necessary to change the "arguments" in the source program and recompile it, but to do so, the source program must be thoroughly checked. Therefore, it is difficult to maintain the system.

そこでこの発明の目的とするところは、ソースプログラ
ムコーディング上のケアレスミスや記述量が少なくでき
るとともに、実行プログラムの容量も小さくでき、しか
も、メンテナンスの面でも楽になるプログラム開発シス
テムを提供することにある。
Therefore, the purpose of this invention is to provide a program development system that can reduce careless mistakes in source program coding and the amount of description, reduce the size of the executable program, and facilitate maintenance. .

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本発明は次のように構成する
。すなわち、C言語を利用したプログラム開発システム
において、各論理番号に対応しその論理番号割当て引き
数により授受するデータの格納アドレス情報並びにデー
タ長情報を格納するテーブル並びに各論理番号に対応し
て割付けられて引き数による授受データを格納するデー
タエリアとを定義したデータファイル用関数及び論理番
号を取込むための単一の引き数を受けてこれより当該論
理番号の指すデータ格納アドレスとデータ長情報とを前
記テーブルより検索し当該格納アドレスより始まる前記
データ長分のアドレス領域内にあるデータを取込んで関
数内定義の処理に供する手順を持たせたライブラリ関数
とを持つデータ格納手段と、関数に与える各引き数にそ
れぞれ特定論理番号を与える特定論理番号付与手段と、
前記データファイル用関数の取込み指示を含めC言語で
記述したソースプログラムを受けてこれのコンパイル処
理を実行しソースプログラム中の各引き数は前記特定論
理番号付与手段にて得られた論理番号に変換し定数とし
てプログラム中に組込んでコンパイル処理済みの第1の
ファイルを生成するコンパイル処理機能及びこの第1の
ファイルをリンク処理するとともに前記データファイル
関数で定義されたデータファイルを付加した実行形式の
プログラムを生成するリンク処理機能とを有する演算処
理手段とを設けて構成する。
In order to achieve the above object, the present invention is configured as follows. That is, in a program development system using the C language, there is a table that stores storage address information and data length information for data that corresponds to each logical number and is exchanged by the logical number allocation argument, and a table that stores the data length information that is allocated corresponding to each logical number. Receives a data file function that defines a data area for storing exchanged data using an argument and a single argument for taking in a logical number, and from this receives the data storage address and data length information pointed to by the logical number data storage means having a library function having a procedure for searching from the table, fetching data within the address area for the data length starting from the storage address, and providing the data for processing defined within the function; specific logical number assigning means for assigning a specific logical number to each argument given to the
Receives a source program written in C language including an instruction to import the data file function, compiles the same, and converts each argument in the source program into a logical number obtained by the specific logical number assigning means. A compile processing function that generates a compiled first file by incorporating it into the program as a constant, and an executable format that links this first file and adds a data file defined by the data file function. and a link processing function for generating a program.

〔作 用〕[For production]

このような構成において、ライブラリ関数には論理番号
を取込むための単一の引き数を受けてこれより当該論理
番号の指すデータ格納アドレスとデータ長情報とを前記
テーブルより検索し当該格納アドレスのデータを取込ん
で関数内定義の処理に供する手順を持たせてあり、この
ライブラリ関数を用いるには一つのアドレスやデータを
渡す場合にデータ長やアドレス、データの性格等、複数
の引き数を本来必要とする場合でも論理番号割当てるた
めの変数名等による一つの引き数を使用した形で記述す
る。データファイル用関数の取込み指示を含めC言語で
記述したソースプログラムが与えられると演算処理手段
はそのコンパイル処理を実行しソースプログラム中の各
引き数は前記特定論理番号付与手段にて得られた論理番
号に変換し定数としてプログラム中に組込んでコンパイ
ル処理済みの第1のファイルを生成する。次にリンク処
理を指令すると演算処理手段はこの第1のファイルをリ
ンク処理し、その際、前記データファイル関数で定義さ
れたデータファイルを付加した実行形式のプログラムを
生成する。
In such a configuration, the library function receives a single argument for reading a logical number, searches the table for the data storage address and data length information pointed to by the logical number, and retrieves the data storage address and data length information pointed to by the logical number. It has a procedure for importing data and processing it as defined within the function, and when using this library function, multiple arguments such as data length, address, and data characteristics must be passed when passing one address or data. Even if it is actually necessary, write it using a single argument such as a variable name for assigning a logical number. When a source program written in C language including an instruction to import a function for a data file is given, the arithmetic processing means executes the compilation process, and each argument in the source program is assigned a logic value obtained by the specific logical number assigning means. It converts it into a number and incorporates it into the program as a constant to generate a compiled first file. Next, when link processing is instructed, the arithmetic processing means performs link processing on this first file, and at this time generates an executable program to which the data file defined by the data file function is added.

このように変数や定数の格納アドレスを論理番号で表わ
し、関数に渡す引き数には論理番号を対応させる構造と
し、論理番号に対応して定めたアクセスすべきアドレス
情報やレングス等の情報を格納したテーブルを用意して
これを参照することにより前記関数内で処理すべき対象
のデータの格納場所を知るようにしたものであるから、
引き数の記述は処理対象の関連データを保管したテーブ
ルの目的データを指し示す論理番号を用いれば良く、従
って、この発明によれば、ソースプログラムコーディン
グ上のケアレスミスや記述量が少なくできるとともに、
論理番号をキーとしてデータを検索処理する形態をとる
ので、実行プログラムの容量も小さくでき、しかも、メ
ンテナンスはテーブルの変更のみで可能であり、メンテ
ナンスも容易となるプログラム開発システムを提供でき
る。
In this way, the storage addresses of variables and constants are represented by logical numbers, and the arguments passed to functions are structured to correspond to logical numbers, and information such as address information to be accessed and length determined in correspondence with the logical numbers is stored. By preparing a table and referring to it, the storage location of the data to be processed in the function is known.
Arguments can be described using logical numbers that point to target data in a table that stores related data to be processed. Therefore, according to the present invention, careless mistakes and the amount of description in source program coding can be reduced, and
Since data is searched and processed using a logical number as a key, the capacity of an execution program can be reduced, and maintenance can be performed only by changing tables, making it possible to provide a program development system that is easy to maintain.

〔実施例〕〔Example〕

以下、本発明の一実施例について図面を参照して説明す
る。
An embodiment of the present invention will be described below with reference to the drawings.

第1図は本装置の構成を示すブロック図であり、図中1
は中央処理装置であって、システム全体の制御や演算処
理の実行を担うものであり、2はメモリで、オペレーシ
ョンシステムの他、”C”コンパイラやリンカ、エディ
タ等、中央処理装置1に実行させるべき各種プログラム
を格納したり、ワーキングエリアやテキストの各のエリ
ア等に使用される。3は外部記憶装置で、”C”言語に
おいて使用する標準及びユーザ定義の各種ライブラリ関
数や各種ヘッダファイルそして、ソースプログラムリス
トその他が格納されており、中央処理装置1により制御
されてメモリ2との間でデータ授受を行うことができる
。4はキーボードであり、中央処理装置1にデータやコ
マンドを与えるためのものである。5はデイスプレィで
、キーボード4からの入力を表示したり、中央処理装置
1からの各種メツセージや実行内容の表示等を行うもの
であり、6はハードコピーを出力するためのプリンタで
ある。
Figure 1 is a block diagram showing the configuration of this device.
2 is the central processing unit, which is responsible for controlling the entire system and executing arithmetic processing, and 2 is the memory, in addition to the operation system, the "C" compiler, linker, editor, etc. that are executed by the central processing unit 1. It is used to store various programs that need to be executed, and as a working area, text area, etc. 3 is an external storage device that stores various standard and user-defined library functions used in the "C" language, various header files, source program lists, etc., and is controlled by the central processing unit 1 and is connected to the memory 2. Data can be exchanged between the two. 4 is a keyboard, which is used to give data and commands to the central processing unit 1; 5 is a display that displays input from the keyboard 4, various messages and execution contents from the central processing unit 1, and 6 is a printer for outputting hard copies.

第2図は本発明を実施するために必要なデータ管理テー
ブルの構造例と論理番号の関連を示す図である。
FIG. 2 is a diagram showing an example of the structure of a data management table necessary for implementing the present invention and the relationship between logical numbers.

データ管理テーブルは図に示すように多重構造を持つも
ので、■のデータファイルテーブル(Data Fll
e Table)と■のデータファイルとよりなる。■
のデータファイルはリンク処理後においては、実行形式
プログラム内において、使用したユーザ定義関数毎に用
意されるかたちとなる。
The data management table has a multilayer structure as shown in the figure.
e Table) and the data file (■). ■
After the link processing, the data file is prepared for each user-defined function used in the executable program.

■のデータファイルテーブル(Data Flle T
able)は対象となる各データファイル■の存在する
データファイル先頭セグメント情報と各データファイル
の中で管理されている論理番号の最大値を格納したもの
であって、アプリケーションシステム当り、例えば1つ
有している。データファイル先頭セグメント情報により
対象となるデータファイルの先頭のアドレスを知ること
ができる。
■Data file table (Data Full T
able) stores data file first segment information in which each target data file exists and the maximum value of the logical number managed in each data file. For example, there is one per application system. are doing. The start address of the target data file can be known from the data file start segment information.

■のデータファイルはファイルヘッダ(Filellc
adcr) 、最大エリア番号(MAXエリアNo、)
、論理番号テーブル■のエンドアドレス、論理番号テー
ブル■、レングス、アドレステーブル(Length 
■The data file has a file header (Filellc).
adcr), maximum area number (MAX area No.)
, end address of logical number table ■, logical number table ■, length, address table (Length
.

Address Table)■、それにデータエリア
■を含む。
Address Table) ■, and a data area ■.

このうち、上記ファイルヘッダはファイル名及びスモー
ルモードやラージモード等の情報が格納されている。こ
れはターゲットプロセッサ(使用するMPU、マイクロ
プロセッサ)が例えばインテル系統のものであれば16
ビツトのi 808Bやi 8028[i等のように6
4にバイト単位をセグメントとするメモリアドレスの管
理をするため、プログラムが複数のセグメントに亙るラ
ージモデルと単一セグメント内で済むスモールモデル等
、そのモデルのよりアドレスの扱いが異なり、アドレス
指定等において使用するアドレス操作のためのプログラ
ミング所要バイト数が大きく変わるのをモデルに応じた
適正なものにするようにそのための情報として提供する
ためである。このようなモデルの種別がないMPUをタ
ーゲットMPUとする場合にはこれは不要である。
Among these, the file header stores information such as the file name and small mode and large mode. This is 16 if the target processor (MPU, microprocessor used) is from the Intel family, for example.
Bit i 808B, i 8028 [i etc. 6
4. In order to manage memory addresses in byte units as segments, addresses are handled differently depending on the model, such as a large model where the program spans multiple segments and a small model where the program can be completed within a single segment. This is to provide information so that the number of bytes required for programming for address operations to be used varies widely, so that the number of bytes required for programming can vary widely depending on the model. This is not necessary when the target MPU is an MPU that does not have such a model type.

最大エリア番号(MAXNll)はデータファイルテー
ブル■の最大エリア番号と同じ値が入り、これはデータ
ファイルをアクセスしている時にその都度データファイ
ルテーブルの最大エリア番号情報を見に行かなくても済
むようにするためである。ここではセグメント管理を行
うMPUを想定しており、データファイルとデータファ
イルテーブルが異なるセグメントのメモリエリアに配置
されている場合の便宜を図ることが目的である。従って
、このような形式をとらないMPUをターゲットとする
場合は不要である。
The maximum area number (MAXNll) has the same value as the maximum area number of the data file table■, so that you do not have to check the maximum area number information of the data file table every time you access the data file. This is for the purpose of Here, an MPU that performs segment management is assumed, and the purpose is to provide convenience when a data file and a data file table are arranged in memory areas of different segments. Therefore, it is not necessary when targeting an MPU that does not take this format.

論理テーブルのエンドアドレスは論理テーブルをサーチ
する時の終了をチエツクするためのものである。すなわ
ち、この論理番号テーブルの占めるエンドアドレスを格
納したもので、この論理番号テーブルを使用するプログ
ラムがテーブルの領域を越えてデータを拾うことを避け
るために使用する。
The end address of the logical table is used to check the end when searching the logical table. That is, it stores the end address occupied by this logical number table, and is used to prevent a program using this logical number table from picking up data beyond the area of the table.

論理番号テーブル■は指定された論理番号をこのテーブ
ルよりサーチして探し出すためのものであって、この論
理番号テーブル■には使用する論理番号が格納されてお
り、且つ、格納論理番号は1− nの小大順(昇順;し
かし、サーチの時間を問題にしなければ必ずしもこのよ
うにしなくとも良いが)に整列している必要があり、こ
のようにすることにより、指定された論理番号がどのデ
ータファイルで管理されているかをサーチする場合のス
ピードを向上することができる。
The logical number table ■ is used to search and find a specified logical number from this table, and this logical number table ■ stores the logical numbers to be used, and the stored logical numbers are 1- They must be arranged in the order of small to large (ascending order; however, it is not necessary to do this if search time is not an issue). It is possible to improve the speed when searching for data that is managed in a data file.

レングス、アドレステーブルは論理番号テーブルと対を
成しており、論理番号で示されるデータメモリの実アド
レス(Address )とデータ長(Len ) 、
データの性格が格納されている。データエリアには実際
のデータが格納される。
The length and address table is paired with the logical number table, and the real address (Address) of the data memory indicated by the logical number, the data length (Len),
The characteristics of the data are stored. Actual data is stored in the data area.

このようなデータファイルテーブルはユーザ定義の関数
として作成しておき、ライブラリに予め登録しておく。
Such a data file table is created as a user-defined function and registered in the library in advance.

本発明では上記の各種テーブルを使用して本来、コーリ
ングシケースで引き数として設定しなければならないも
のを、論理番号の形で引き数を与えると、ユーザ定義に
よる関数において、この論理番号をもとに上記テーブル
を参照して実データを得ることができるようなデータフ
ァイルテーブルを作成し、リンク処理によって生成され
た実行形式のプログラムでは、このデータファイルテー
ブルを参照して演算処理を進めることができるようにす
るものである。そして、本格的なアプリケーションシス
テムを開発する場合、一般に”C”言語に標準添附され
て提供されるライブラリ関数はそのままでは内容的に不
十分なことが多いため、ユーザ側で目的に合った関数を
開発して使用する傾向が強いので、このユーザ開発関数
の中で、上述したテーブルを利用する処理手順を記述し
ておくことによって実行形式のプログラム中に上記デー
タファイルテーブルとデータファイルを取込み、これを
参照して目的の演算制御を実現する。
In the present invention, by using the above-mentioned various tables, by providing an argument in the form of a logical number, which would normally have to be set as an argument in the calling case, this logical number can also be used in a user-defined function. Create a data file table that allows you to obtain actual data by referring to the above table, and in the executable program generated by link processing, you can refer to this data file table and proceed with calculation processing. It is something that makes it possible. When developing a full-scale application system, the library functions that come standard with the "C" language are often insufficient in terms of content as is, so it is up to the user to create functions that suit their purposes. Since there is a strong tendency to develop and use it, by writing the processing procedure that uses the above-mentioned table in this user-developed function, you can import the above data file table and data file into the executable program, and use this data file. Achieve the desired calculation control by referring to .

次にこのようなテーブル利用処理手順を含めて記述した
10進加算演算処理のユーザ関数rcal  addJ
を例に本発明を説明する。本発明では第5図の従来例と
同様の形で計算を行う場合を考えて見ると、関数rca
l  addJのコーリングシーケンスは第3図の(b
)の如く、rCa l  a d d  (A5000
 、 A20000) Jと記述する。ここで、A30
00 、 A20000は加算する二つのデータの格納
アドレスを示す変数名若しくはラベルのようなもので、
これがそれぞれ論理番号のどれに該当させるかを”C″
言語おけるプリプロセッサによりソースプログラム上で
定義しておく。
Next, the user function rcal addJ for decimal addition calculation processing is written including such a table usage processing procedure.
The present invention will be explained using an example. In the present invention, considering the case where calculation is performed in the same manner as the conventional example shown in FIG.
The calling sequence of l addJ is shown in (b) in Figure 3.
), rCal a d d (A5000
, A20000) is written as J. Here, A30
00 and A20000 are variable names or labels that indicate the storage addresses of the two data to be added.
“C” indicates which logical number each of these corresponds to.
Define it in the source program using the language's preprocessor.

この例では変数名rA5000 Jは論理番号”10“
In this example, the variable name rA5000 J is the logical number "10"
.

r A20000Jは論理番号”12″を使用するよう
にブリプロセッサで定義しておく。また、この加算処理
関数で使用する第2図のデータ管理テーブルもコンパイ
ル前にユーザ定義のライブラリ関数として作成しておく
が、論理番号テーブル■はその格納データのテーブル内
での位置がレングス、アドレステーブル■の格納データ
におけるテーブル内での位置と対応付けておく。但し、
アドレステーブル■の格納データにおける論理番号対応
アドレスはライブラリ中においてはラベルで表記してお
き、データエリア■における当該論理番号対応エリアも
対応するラベルで表記して、リンク処理時にこの論理番
号対応エリアの実アドレスが定まった段階でアドレステ
ーブル■の格納データにおける論理番号対応アドレスは
その実アドレスをデータとして格納されるようにする。
r A20000J is defined in the preprocessor to use logical number "12". Also, the data management table shown in Figure 2 used in this addition processing function is created as a user-defined library function before compilation, but the logical number table ■ is based on the length and address of the stored data. It is associated with the position within the table in the data stored in table ■. however,
The address corresponding to the logical number in the data stored in the address table ■ is written with a label in the library, and the area corresponding to the logical number in the data area ■ is also written with a corresponding label. When the real address is determined, the logical number corresponding address in the data stored in the address table (2) is stored as data.

従って、実行形式のプログラムでは実データとなってい
る。
Therefore, in an executable program, it is actual data.

エディタを起動させ、キーボード4を操作して上述のよ
うな関数を作成して、外部記憶装置3に記憶させ、また
、上述のようなブリプロセッサ及びコーリングシーケン
スを含むソースプログラムをキー人力してメモリ2上に
作成し、また、外部記憶装置3に記憶させる。そして、
当該ソースプログラムのコンパイルを中央処理装置1に
指令すると、中央処理装置1はメモリ2上の”C°コン
パイラを起動させ、コンパイルを実行して、リロケータ
ブルなオブジェクトコードを生成する。
Start the editor, operate the keyboard 4 to create the above-mentioned function, and store it in the external storage device 3. Also, manually input the source program including the above-mentioned pre-processor and calling sequence into the memory. 2 and stored in the external storage device 3. and,
When the central processing unit 1 is instructed to compile the source program, the central processing unit 1 activates the C° compiler in the memory 2, executes the compilation, and generates relocatable object code.

第3図(b)に示すように本発明によるコーリングシー
ケンス例では従来に比べ、関数rcal  addJへ
の引き数は2つに減少している。また、コンパイル結果
の展開例は第3図(e)に示す如きであり、2つの引き
数はデータ管理テーブルのレングス、アドレス情報より
論理番号を示すデータをスタックに格納する形に表現さ
れて、展開ロジックのバイト数も減少している。
As shown in FIG. 3(b), in the calling sequence example according to the present invention, the number of arguments to the function rcal addJ is reduced to two compared to the conventional one. Further, an example of the expansion of the compilation result is shown in Fig. 3(e), where the two arguments are expressed in the form of storing data indicating the logical number from the length of the data management table and the address information on the stack. The number of bytes for expansion logic has also decreased.

このコンパイル処理後のオブジェクトコードをリンク処
理するように中央処理装置1に指令すると、中央処理装
置1はメモリ2上のリンカを起動させ、リンクを実行し
て、上記スタック処理ルーチンにrcal  addJ
で定義された10進加算実行ルーチンを付加し更に、第
2図のデータ管理テーブルをデータファイルとして付加
した実行形式のプログラムを生成する。
When the central processing unit 1 is instructed to link the object code after this compilation processing, the central processing unit 1 starts the linker in the memory 2, executes the linking, and sends rcal addJ to the stack processing routine.
An executable program is generated by adding the decimal addition execution routine defined in , and further adding the data management table shown in FIG. 2 as a data file.

ここで、実行形式のプログラム中では第4図のように展
開したデータファイルを付加するが、関数rcal  
addJによるプログラム中ではデータファイルテーブ
ル■゛を、以下のようにアクセスし、目的のデータを得
る。
Here, in the executable program, the expanded data file is added as shown in Figure 4, but the function rcal
In the program using addJ, the data file table ■'' is accessed as follows to obtain the desired data.

先ず、引き数の論理番号’ 10”をデータファイルテ
ーブル■゛の最大エリア番号と比較し、「論理番号≦最
大エリア番号」を満足するブロックを捜し、nlセグメ
ントを得る。すなわち、関数rcal  addJでは
論理番号テーブル■゛を使用しているので、この論理番
号テーブル■゛では最大エリア番号WAX &に! r
loo J テあり、従って、論理番号”10′は10
0以下であるので、MAX No、r 100 Jのデ
ータファイル■″の先頭アドレスを知る。次に関数rc
al  addJのプログラムはこの求めた先頭アドレ
ス以下に分布するMAX No、 rloo Jのデー
タファイル■゛における所定位置にあるシーケンシャル
なファイルである論理番号テーブル■゛をサーチし、ス
タックに格納されたデータである論理番号”lO”が論
理番号テーブル■゛における三番目に一致することを知
る。
First, the logical number '10' of the argument is compared with the maximum area number of the data file table {circle over (2)} to search for a block that satisfies 'logical number≦maximum area number' and obtain the nl segment. In other words, since the function rcal addJ uses the logical number table ■'', the maximum area number WAX &! in this logical number table ■''! r
Loo J Te is present, therefore the logical number "10' is 10
Since it is less than 0, we know the start address of the data file ■'' of MAX No, r 100 J. Next, the function rc
The al addJ program searches the logical number table ■゛, which is a sequential file located at a predetermined position in the data file ■゛ of MAX No. rlooo J distributed below this calculated start address, and searches the logical number table ■゛, which is a sequential file, with the data stored in the stack. It is known that a certain logical number "lO" matches the third one in the logical number table {circle around (2)}.

そこで、この三番目対応のレングスとアドレスをレング
ス、アドレステーブル■′より得る。これは論理番号”
IO”が論理番号テーブル■′における三番目に一致す
るので、シーケンシャルなファイルであるレングス、ア
ドレステーブル■゛の先口グラムはMAX NIILr
too Jのデータファイル■゛におけるデータエリア
■゛の中の論理番号’ 10”対応の5バイト分のアド
レスに格納されたデータを取込む。同様にして、スタッ
クに格納された論理番号”12’を捜すが、今度はデー
タファイル■−の最大エリア番号MAX k rloo
 Jと比較し、上記条件を満足するので、論理番号テー
ブル■′をサーチし、論理番号テーブル■″における四
番目に一致することを知る。そこで、この四番目対応の
レングスとアドレスをレングス、アドレステーブル■゛
より得る。これは論理番号”12“が論理番号テーブル
■゛における四番目に一致するので、レングス、アドレ
ステーブル■゛の先頭アドこれより、関数rcal  
addJのプログラムはMAX 1llO,rloo 
Jのデータファイル■゛におけるデータエリア■−の中
の論理番号”12”対応の4バイト分のアドレスに格納
されたデータを取込む。そして、両データをlO進加算
して結果を得る。
Therefore, the length and address of this third correspondence are obtained from the length and address table ■'. This is a logical number”
Since "IO" matches the third position in the logical number table ■', the leading gram of the sequential file length and address table ■' is MAX NIILr.
Take in the data stored at the 5-byte address corresponding to the logical number '10' in the data area ■'' in the data file ■'' of too J. Similarly, read the data stored at the 5-byte address corresponding to the logical number '12' stored in the stack. , but this time the maximum area number of the data file ■- is MAX k rlooo
Since it satisfies the above conditions, it searches the logical number table ■' and finds that it matches the fourth position in the logical number table ■''.Then, the length and address corresponding to this fourth position are set as Length and Address. This is obtained from the table ``.'' This is because the logical number "12" matches the fourth position in the logical number table ``.'' From this, the function rcal
addJ's program is MAX 1llO, rlooo
The data stored in the 4-byte address corresponding to the logical number "12" in the data area ■- in the data file ■'' of J is read. Then, both data are added in lO base to obtain a result.

尚、データエリア■″の中の各論理番号対応のそれぞれ
所定バイト分のアドレスには、この論理番号を変数や定
数等の格納領域として割当てるようにプログラムするこ
とにより、当該割当てた変数や定数等のデータがプログ
ラム実行により実データとして格納されるので、これを
上述のような手法で利用する。
In addition, by programming to allocate this logical number as a storage area for variables, constants, etc. to addresses corresponding to each logical number of a predetermined byte in the data area ``'', the allocated variables, constants, etc. This data is stored as actual data by program execution, and is used in the manner described above.

このように、本システムは”C′言語を利用したプログ
ラム開発システムにおいて、各論理番号に対応しその論
理番号割当て引き数により授受するデータの格納アドレ
ス情報並びにデータ長情報を格納するテーブル並びに各
論理番号に対応して割付けられて引き数による授受デー
タを格納するデータエリアとを定義したデータファイル
用関数及び論理番号を取込むための単一の引き数を受け
てこれより当該論理番号の指すデータ格納アドレスとデ
ータ長情報とを前記テーブルより検索し当該格納アドレ
スより始まる前記データ長分のアドレス領域内にあるデ
ータを取込んで関数内定義の処理に供する手順を持たせ
たライブラリ関数とを持つデータ格納手段と、関数に与
える各引き数にそれぞれ特定論理番号を与える特定論理
番号付与手段と、データファイル関数の取込みを含め、
C言語で記述したソースプログラムを受けてこれのコン
パイル処理を実行しソースプログラム中の各引き数を前
記特定論理番号付与手段に得られた論理番号に変換し定
数としてプログラム中に組込んでコンパイル処理済みの
第1のファイルを生成するコンパイル処理機能及びこの
第1のファイルをコンパイル処理するとともに、引き数
による授受データの格納領域とを持つ前記データファイ
ル用関数に基づくデータファイルを付加したデータ実行
形式のプログラムを生成するリンク処理手段とを設けて
構成したものである。
In this way, this system is a program development system using the "C" language, and includes a table that stores storage address information and data length information for data that corresponds to each logical number and is exchanged using the logical number assignment argument, as well as a table that stores data length information for each logical number. A data file function that defines a data area that is allocated in accordance with the number and stores the data exchanged by the argument, and a single argument to take in the logical number, and then the data pointed to by the logical number. A library function that has a procedure for searching the table for a storage address and data length information, fetching data within an address area for the data length starting from the storage address, and providing it for processing defined within the function. including a data storage means to have, a specific logical number assigning means to assign a specific logical number to each argument given to the function, and importing a data file function,
Receiving a source program written in C language, compiling it, converting each argument in the source program into a logical number obtained by the specific logical number assigning means, incorporating it into the program as a constant, and compiling it. a data execution format that includes a compile processing function that generates a completed first file, a compile process for this first file, and a data file based on the data file function that has a storage area for data exchanged using arguments; The system is constructed by providing a link processing means for generating a program.

そして、ライブラリ関数には論理番号を取込むだめの単
一の引き数を受けてこれより当該論理番号の指すデータ
格納アドレスとデータ長情報を検索し当該格納アドレス
のデータを取込んで関数内定義の処理に供する手順を持
たせたことにより、このライブラリ関数を用いるには一
つのアドレスやデータを渡す場合にデータ長やアドレス
、データの性格等、複数の引き数を本来必要とする場合
でも論理番i当てるための変数名等による一つの引き数
を使用した形で記述すれば済むようにし、そして、デー
タファイル用関数の取込み指示を含めC言語で記述した
ソースプログラムが与えられると演算処理手段はそのコ
ンパイル処理を実行しソースプログラム中の各引き数は
前記特定論理番号付与手段にて得られた論理番号に変換
し定数としてプログラム中に組込んでコンパイル処理済
みの第1のファイルを生成するので、次にリンク処理を
指令すると演算処理手段はこの第1のファイルをリンク
処理し、その際、前記データファイル関数で定義された
データファイルを付加した実行形式のプログラムを生成
するが、これには従来に比べて授受する引き数は大幅に
減少するので引き数をプログラムの処理本体に引き渡す
手続きが簡素化され、またテーブルを参照して目的のデ
ータを引き渡すので、引き数授受の伴う関数の出現頻度
の高いアプリケーションシステムでは実行プログラムの
容量を圧縮できることになる。また、上述のように変数
や定数の格納アドレスを論理番号で表わし、関数に渡す
引き数には論理番号を対応させる構造とし、論理番号に
対応して定めたアクセスすべきアドレス情報やレングス
等の情報を格納したテーブルを用意してこれを参照する
ことにより前記関数内で処理すべき対象のデータの格納
場所を知るようにしており、論理番号をキーとしてデー
タを検索処理する形態をとるので、メンテナンスはテー
ブルの変更のみで可能であり、メンテナンスも容易とな
る。
Then, the library function receives a single argument to take in a logical number, searches for the data storage address and data length information pointed to by the logical number, takes in the data at the storage address, and defines it within the function. By providing a procedure for processing this library function, when passing a single address or data, it is logically possible to pass a single address or data even when multiple arguments are originally required, such as data length, address, data characteristics, etc. It is sufficient to write the program using one argument such as a variable name to assign the number i, and when a source program written in C language including an instruction to import a function for a data file is given, the arithmetic processing means executes the compilation process, converts each argument in the source program into a logical number obtained by the specific logical number assigning means, and incorporates it into the program as a constant to generate a compiled first file. Therefore, when link processing is next commanded, the arithmetic processing means links this first file, and at that time generates an executable program with the data file defined by the data file function added. Since the number of arguments to be passed and received is significantly reduced compared to the conventional method, the procedure for passing arguments to the main processing body of the program is simplified, and since the target data is passed by referring to a table, it is easier to use functions that involve passing and receiving arguments. For application systems that appear frequently, the capacity of executable programs can be compressed. In addition, as mentioned above, the storage addresses of variables and constants are represented by logical numbers, and the arguments passed to functions are structured to correspond to logical numbers, and the address information to be accessed, length, etc. By preparing a table that stores information and referring to it, the storage location of the data to be processed within the function is known, and the data is searched and processed using a logical number as a key. Maintenance can be done by simply changing the table, making maintenance easier.

このように、「”C”言語」を用いて目的のアプリケー
ションシステムを開発する場合に関数と呼ばれるプログ
ラムモジュールを利用する際にその関数にデータを入力
しようとするとそれは引き数として記述しなければなら
ないが、引き数の記述を必要とする関数の出現頻度が高
くとも本発明によればその数を少なくでき、従来に比べ
てプログラマの作業量を軽減することができる。また、
引き数の記述量の低減と負担の軽減によってコーディン
グ上のケアレスミス発生も少なくなり、デバッグも容易
となる。また、データテーブルを参照する形式となるの
で、改良のために条件を変更したり、ターゲットシステ
ムが変更になっても対応が容易であり、従って、メンテ
ナンスが楽になる。また、従来においては引き数を持つ
関数をコンパイルすると、与えられた引き数をスタック
に格納する処理ルーチンが必ず付加され、これが数十バ
イトもの容量を持つことになり、高度な処理を目指した
アプリケーションシステムでは引き数を与えてデータの
授受を行うケースはソースプログラム上、随所に現われ
るのを避けられないから、生成された実行プログラムは
膨大な容量となっていたが、論理番号を利用して必要な
データを捜すことができるデータテーブルを使用し、こ
れを一つのアプリケーションシステムで共用するように
したので、実行形式のプログラムをコンパクトに纏める
ことができるようになる。従って、生産性も向上し、プ
ログラムの開発コストの低減にも繋がる。
In this way, when developing a target application system using the "C" language and using a program module called a function, if you want to input data to that function, you must write it as an argument. However, even if the frequency of occurrence of functions that require description of arguments is high, according to the present invention, the number can be reduced, and the workload of the programmer can be reduced compared to the conventional method. Also,
By reducing the amount of arguments to be written and reducing the burden, careless mistakes in coding are less likely to occur, and debugging becomes easier. Furthermore, since it is a format that refers to a data table, it is easy to deal with changes in conditions or target systems for improvement, and therefore, maintenance becomes easier. Additionally, in the past, when a function with arguments was compiled, a processing routine was always added to store the given arguments on the stack, which resulted in a capacity of several tens of bytes. In the system, it is unavoidable that cases where data is exchanged by giving arguments appear in many places in the source program, so the generated execution program has a huge capacity. By using a data table that allows you to search for specific data and sharing this in one application system, it becomes possible to compile executable programs in a compact manner. Therefore, productivity is improved and program development costs are reduced.

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

以上、詳述したようにこの発明によれば、変数や定数の
格納アドレスを論理番号で表わし、関数に渡す引き数に
は論理番号を対応させる構造とし、論理番号に対応して
定めたアクセスすべきアドレス情報やレングス等の情報
を格納したテーブルを用意してこれを参照することによ
り前記関数内で処理すべき対象のデータの格納場所を知
るようにしたものであるから、引き数の記述は処理対象
の関連データを保管したテーブルの目的データを指し示
す論理番号を用いれば良く、従って、この発明によれば
、ソースプログラムコーディング上の、ケアレスミスや
記述量が少なくできるとともに、論理番号をキーとして
データを検索処理する形態をとるので、実行プログラム
の容量も小さくでき、しかも、メンテナンスはテーブル
の変更のみで可能であり、メンテナンスも容品となるプ
ログラム開発システムを提供できる。
As described in detail above, according to the present invention, storage addresses of variables and constants are represented by logical numbers, arguments passed to functions are structured to correspond to logical numbers, and access points are defined corresponding to the logical numbers. By preparing a table that stores information such as address information and length, it is possible to know the storage location of the data to be processed within the function, so the argument description is as follows. It is sufficient to use a logical number that points to the target data in a table that stores related data to be processed. Therefore, according to the present invention, careless mistakes and the amount of description in source program coding can be reduced, and the logical number can be used as a key. Since data is searched and processed, the capacity of the execution program can be reduced, and maintenance can be done only by changing tables, making it possible to provide a program development system that is easy to maintain.

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

第1図は本発明の一実施例を示すシステム構成ブロック
図、第2図は本発明で使用するデータ管理テーブルの構
成を説明するための図、第3図は本発明によるコーリン
グシーケンスの例を説明するための図、第4図は第3図
に示す例題における生成データファイルの具体的な構成
例を示す図、第5図は従来例を説明するための図である
。 1・・・中央処理装置、2・・・メモリ、3・・・外部
記憶装置、4・・・キーボード、5・・・デイスプレィ
、6・・・プリンタ。 出願人代理人  弁理士 鈴江武彦 第1図 第3図 第5図
FIG. 1 is a system configuration block diagram showing an embodiment of the present invention, FIG. 2 is a diagram for explaining the configuration of a data management table used in the present invention, and FIG. 3 is an example of a calling sequence according to the present invention. FIG. 4 is a diagram for explaining a specific example of the structure of a generated data file in the example shown in FIG. 3, and FIG. 5 is a diagram for explaining a conventional example. DESCRIPTION OF SYMBOLS 1...Central processing unit, 2...Memory, 3...External storage device, 4...Keyboard, 5...Display, 6...Printer. Applicant's agent Patent attorney Takehiko Suzue Figure 1 Figure 3 Figure 5

Claims (1)

【特許請求の範囲】 C言語を利用したプログラム開発システムにおいて、 各論理番号に対応しその論理番号割当て引き数により授
受するデータの格納アドレス情報並びにデータ長情報を
格納するテーブル並びに各論理番号に対応して割付けら
れて引き数による授受データを格納するデータエリアと
を定義したデータファイル用関数及び論理番号を取込む
ための単一の引き数を受けてこれより当該論理番号の指
すデータ格納アドレスとデータ長情報とを前記テーブル
より検索し当該格納アドレスより始まる前記データ長分
のアドレス領域内にあるデータを取込んで関数内定義の
処理に供する手順を持たせたライブラリ関数とを持つデ
ータ格納手段と、 関数に与える各引き数にそれぞれ特定論理番号を与える
特定論理番号付与手段と、 前記データファイル用関数の取込み指示を含めC言語で
記述したソースプログラムを受けてこれのコンパイル処
理を実行しソースプログラム中の各引き数は前記特定論
理番号付与手段にて得られた論理番号に変換し定数とし
てプログラム中に組込んでコンパイル処理済みの第1の
ファイルを生成するコンパイル処理機能及びこの第1の
ファイルをリンク処理するとともに前記データファイル
関数で定義されたデータファイルを付加した実行形式の
プログラムを生成するリンク処理機能とを有する演算処
理手段とを設けて構成したことを特徴とするプログラム
開発システム。
[Claims] In a program development system using the C language, a table that stores storage address information and data length information of data corresponding to each logical number and exchanged by the logical number assignment argument, and corresponding to each logical number. A data file function that defines a data area that is allocated as a data area and stores data exchanged by an argument, and a single argument for taking in a logical number, from which the data storage address pointed to by the logical number is defined. A data storage that has data length information and a library function that has a procedure for searching data length information from the table, fetching data within the address area for the data length starting from the storage address, and providing it for processing defined within the function. means for assigning a specific logical number to each argument given to the function; and receiving a source program written in C language including an instruction to import the data file function, and compiling the source program. A compile processing function that converts each argument in the source program into a logical number obtained by the specific logical number assigning means and incorporates it into the program as a constant to generate a compiled first file; A program development system comprising: arithmetic processing means having a link processing function for linking files of the above file and generating an executable program to which a data file defined by the data file function is added. .
JP13029688A 1988-05-30 1988-05-30 Program development system Pending JPH01300342A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13029688A JPH01300342A (en) 1988-05-30 1988-05-30 Program development system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13029688A JPH01300342A (en) 1988-05-30 1988-05-30 Program development system

Publications (1)

Publication Number Publication Date
JPH01300342A true JPH01300342A (en) 1989-12-04

Family

ID=15030924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13029688A Pending JPH01300342A (en) 1988-05-30 1988-05-30 Program development system

Country Status (1)

Country Link
JP (1) JPH01300342A (en)

Similar Documents

Publication Publication Date Title
US6438745B1 (en) Program conversion apparatus
US6502237B1 (en) Method and apparatus for performing binary translation method and apparatus for performing binary translation
US7162709B2 (en) System and method for common code generation
US5729748A (en) Call template builder and method
USRE38104E1 (en) Method and apparatus for resolving data references in generated code
US6226789B1 (en) Method and apparatus for data flow analysis
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
JPH11161502A (en) Method and device for efficient operation regarding value of basic type free of static overloading
US6083282A (en) Cross-project namespace compiler and method
US20050160415A1 (en) Method and system for improving performance of Java virtual machine
JP2006155632A (en) Compilation system, storage medium, and compilation method
JP2002502516A (en) Selective emulation interpretation using post-translation instructions
US20060277541A1 (en) Relocatable component file format
KR19990024035A (en) Debug support device, program translation device, recording medium recording computer readable debug support program, recording medium recording program translation program
US20120011490A1 (en) Development system
US5819276A (en) Method for supporting multiple file-systems in file input/output operations
US6314564B1 (en) Method for resolving arbitrarily complex expressions at link-time
US6883080B1 (en) Program executing apparatus and program development supporting apparatus
US6026242A (en) Methods, computer program products, and apparatus for initializing global registers
JPH03208159A (en) Extended software function for multiprocessor system
JPH01300342A (en) Program development system
KR100417655B1 (en) Regulating information generator and program development system composed of regulator
US3735364A (en) Data handling system for handling data in compliance with normal and special descriptors
EP1046985A2 (en) File portability techniques
JP3264901B2 (en) Compiling device and compiling method