JPH02144629A - Processing system for language processing program - Google Patents

Processing system for language processing program

Info

Publication number
JPH02144629A
JPH02144629A JP29851688A JP29851688A JPH02144629A JP H02144629 A JPH02144629 A JP H02144629A JP 29851688 A JP29851688 A JP 29851688A JP 29851688 A JP29851688 A JP 29851688A JP H02144629 A JPH02144629 A JP H02144629A
Authority
JP
Japan
Prior art keywords
internal ram
program
speed internal
ram
file
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.)
Granted
Application number
JP29851688A
Other languages
Japanese (ja)
Other versions
JPH0823823B2 (en
Inventor
Hiroyasu Saikai
西海 弘恭
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63298516A priority Critical patent/JPH0823823B2/en
Publication of JPH02144629A publication Critical patent/JPH02144629A/en
Publication of JPH0823823B2 publication Critical patent/JPH0823823B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To form a rapid object program by using a rapid internal RAM for a microcomputer which is not used for an ordinary C language processing program for an external variable area. CONSTITUTION:In stead of allocating a storage area of a normal RAM such as an external memory 1003 to a variable, a partial variable is selected and a storage area of the rapid internal RAM 1002 is allocated to the selected variable. At the time of allocating the rapid internal RAM 1002, a language processing program forms an object program allocating the RAM 1002 to a partial variable. Since the data reading/writing speed from/in the RAM 1002 is higher than that of the ordinary RAM, the object program including rapid variable operation expected by a user can be formed. Since the number of bytes in the object program for the data reading/writing from/in the RAM 1002 is shorter than that of an object code for the data reading/writing from/in the ordinary RAM, a compact object program can be formed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ内部に命令によって高速
にデータの読み出し/書き込み可能な特定のメモリ領域
(高速内部RAMと呼ぶ)を持つマイクロコンピュータ
用の言語処理プログラムの処理方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention is a language for a microcomputer that has a specific memory area (referred to as high-speed internal RAM) in which data can be read/written at high speed according to instructions inside the microcomputer. Concerning the processing method of the processing program.

〔従来の技術) プログラムを開発するユーザは言語処理結果のオブジェ
クトプログラムの実行速度、およびオブジェクトプログ
ラムのサイズの両方において性能の良いことを期待する
[Prior Art] Users who develop programs expect good performance in both the execution speed and size of object programs resulting from language processing.

従来の言語処理ブシグラムの処理方式では、マイクロコ
ンピュータが高速内部RAMを持っていた場合でも、前
記高速内部RAM領域は外部メモリに比べるとメモリサ
イズが小さいため、すべての変数を高速内部RAM領域
に割り当てることは不可能であり、すべて外部メモリに
割り当てていた。
In the conventional language processing Bushigram processing method, even if a microcomputer has a high-speed internal RAM, all variables are allocated to the high-speed internal RAM area because the memory size of the high-speed internal RAM area is smaller than that of external memory. That was impossible and allocated to external memory.

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

上述した従来の言語処理プログラムの処理方式では、変
数に対して外部メモリ等の通常のRAMに領域を割り当
てる。一般に通常のRAMのデータの読み出し/書き込
みスピードは高速内部’RAMのデータの読み出し/書
き込みスピードに比べかなり遅くなるため、通常のRA
Mに割り当てられた変数のデータの読み出し/書き込み
スピードが落ち、言語処理プログラムはユーザの期待す
る高速な変数の操作を含むオブジェクトプログラムを生
成でき”ない。さらに一般に通常の’RAMデータの読
み出し/書き込みのオブジェクトフードは高速内部RA
Mデータの読み出し/書き込みのオブジェクトコードよ
りバイト数が長いため、限られた高速内部RAM領域に
格納できるコンパクトなオブジェクトプログラムが期待
できない。
In the conventional language processing program processing method described above, an area is allocated to a variable in a normal RAM such as an external memory. In general, the data read/write speed of normal RAM is much slower than the data read/write speed of high-speed internal RAM.
The read/write speed of data for variables assigned to M is reduced, and the language processing program is unable to generate an object program that includes the high-speed variable operations expected by the user. The object food is a high-speed internal RA
Since the number of bytes is longer than the object code for reading/writing M data, a compact object program that can be stored in the limited high-speed internal RAM area cannot be expected.

またアセンブリ言語による開発は開発効率、保守性の点
でC言語に劣っている。
Furthermore, development using assembly language is inferior to C language in terms of development efficiency and maintainability.

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

本発明は、マイクロニンピユータ内部に命令によって高
速にデータの読み出し/書き込み可能な特定のメモリ領
域を持・つマイクロコンピュ−タ用の言語処理プログラ
ムの処理方式において、変数として宣言されたもののう
ち一部を選別し、前記高速内部RAMを記憶領域として
割り当て、高速内部RAMへのデータの読み出し/書き
込みを可能にするという特徴を持・つ。
The present invention relates to a processing method for a language processing program for a microcomputer, which has a specific memory area in which data can be read/written at high speed according to instructions, among the variables declared as variables. It is characterized in that it selects a portion, allocates the high-speed internal RAM as a storage area, and makes it possible to read/write data to the high-speed internal RAM.

このように、本発明では、変数に対して外部メモリ等の
通常のRAMの記憶領域を割り当てる代わりに、一部の
変数を選別し、高速内部RAMの記憶領域を割り当てる
。この高速内部RAMへの割り当てにより本発明の言語
処理プログラムは一部の変数に高速内部’RAMを割り
当てたオブジェクトプログラムを生成する。高速内部R
AMへのデータの読み出し/書き込みスピードは通常の
RAMへのデータの読み出し/書き込みスピードより速
く、ユーザの期待する高速な変数の操作を含むオブジェ
クトプログラムを生成できる。さらに高速内部RAMデ
ータの読み出し/書き込みのオブジェクトプログラムは
通常のRAMデータの読み出し/書き込みのオブジェク
トフードよりバイト数が短いため、コンパクトなオブジ
ェクトプログラムを生成できる。
In this way, in the present invention, instead of allocating storage areas of ordinary RAM such as external memory to variables, some variables are selected and storage areas of high-speed internal RAM are allocated. By this allocation to the high-speed internal RAM, the language processing program of the present invention generates an object program in which the high-speed internal RAM is allocated to some variables. High speed internal R
The speed of reading/writing data to AM is faster than the speed of reading/writing data to normal RAM, and it is possible to generate an object program that includes high-speed variable operations expected by the user. Furthermore, since the object program for reading/writing high-speed internal RAM data has a shorter number of bytes than the object program for reading/writing normal RAM data, a compact object program can be generated.

〔実施例〕〔Example〕

本発明の実施例について図面を参照してより詳しく説明
する。
Embodiments of the present invention will be described in more detail with reference to the drawings.

第1図は、本発明のシスデム構成図である。オブジェク
トを生成するC言語処理プログラム102は、キーボー
ド104から入力された起動行を解析する起動付解析部
105、前記起動付解析部105の解析結果を保存する
保存部106、入力ファイル101からソースプログラ
ム情報を入力する入力部107、入力したソースプログ
ラム情報を解析する構文解析部108、構文廃析された
ソースプログラムに対しオブジェクトプログラムを生成
し出力するオブジェクト出力部110とを含む。前記構
文解析部108はシンボルテーブルファイル112を作
成するシンボル情報生成出力部109を含む。前記オブ
ジェクト出力部110は前記シンボルテーブルファイル
112からシンボル情報を入力するシンボル情報入力部
111を含む。
FIG. 1 is a system configuration diagram of the present invention. The C language processing program 102 that generates an object includes a startup analysis section 105 that analyzes a startup line input from the keyboard 104, a storage section 106 that stores the analysis result of the startup analysis section 105, and a source program from an input file 101. It includes an input unit 107 that inputs information, a syntax analysis unit 108 that analyzes input source program information, and an object output unit 110 that generates and outputs an object program from the syntax-analyzed source program. The syntax analysis unit 108 includes a symbol information generation output unit 109 that creates a symbol table file 112. The object output unit 110 includes a symbol information input unit 111 that inputs symbol information from the symbol table file 112.

第】−0図に示すマイクロコンピュータ1001は高速
にアクセスできるRAM (高速内部RAM1002、
以下単に高速内部RAMと呼ぶ)と、通常の外部メモ!
71003を持つ。さらに命令セットの一部として第1
表に示す命令を備えている。第1表には各命令の機械語
のバイト数、実行ステート数も示す。
The microcomputer 1001 shown in FIG.
(hereinafter referred to simply as high-speed internal RAM) and normal external memo!
It has 71003. Furthermore, as part of the instruction set,
It has the instructions shown in the table. Table 1 also shows the number of machine language bytes and the number of execution states for each instruction.

第4図は前記入力ファイル101の内容である。FIG. 4 shows the contents of the input file 101.

左側の数字は説明のために付けたソースプログラム中の
行番号である。ユーザは高速内部RAMへ割り当てたい
外部変数名の先頭に、h rを付加して、プログラムの
コーディングを行う。
The numbers on the left are line numbers in the source program for explanation purposes. The user adds hr to the beginning of the external variable name to be allocated to the high-speed internal RAM and codes the program.

第5図は、本実施例におけるC言語処理プログラムのオ
ブジェクト出力部のフローチャートである。第5図の各
処理の機能を説明する。外部変数名判定部501は外部
変数の先頭にhrがあるか否かを判定する0判定の結果
外部変数の先頭にhrがあれば高速内部RAMへ割り当
てる高速内部RAM割り当て処理部502を行い、外部
変数の先頭にhrがなければ通常の外部メモリへ割り当
てる外部メモリ割り当て処理部503を行う。
FIG. 5 is a flowchart of the object output section of the C language processing program in this embodiment. The functions of each process in FIG. 5 will be explained. The external variable name determination unit 501 determines whether or not hr is at the beginning of the external variable. If the result of the 0 judgment is that hr is at the beginning of the external variable, the high-speed internal RAM allocation processing unit 502 allocates it to the high-speed internal RAM, and If hr is not at the beginning of the variable, the external memory allocation processing unit 503 allocates it to a normal external memory.

高速内部RAM割り当て処理部502は、宣言された外
部変数を高速内部RAMに割り当てる。外部メモリ割り
当て処理部503は、宣言された外部変数を外部メモリ
に割り当てる。シンボル情報出力部504は、高速内部
RAM割り当て処理部502あるいは外部メモリ割り当
て処理部503の結果生成されたシンボル情報をシンボ
ルテーブルファイル112へ出力する。
The high-speed internal RAM allocation processing unit 502 allocates the declared external variables to the high-speed internal RAM. The external memory allocation processing unit 503 allocates the declared external variables to external memory. The symbol information output unit 504 outputs symbol information generated as a result of the high-speed internal RAM allocation processing unit 502 or the external memory allocation processing unit 503 to the symbol table file 112.

第6図は、本実施例のオブジェクトファイルの内容(オ
ブジェクトプログラム)である。
FIG. 6 shows the contents of the object file (object program) of this embodiment.

まず、第1図により全体の処理の流れを説明する。C言
語処理プログラム102は、キーボード104から入力
された超勤行情報を起動行解析部105で解析し、解析
結果を保存部106に格納する。処理は入力部107に
移り入力ファイル101からプログラム情報を入力する
0次に構文解析部108でソースプログラムを解析する
。構文解析中に外部変数の宣言があると高速内部RAM
へ割り当てる変数を選別しシンボルテーブルファイル1
12を生成する0次に、オブジェクト出力部110でオ
ブジェクトプログラムを生成し出力ファイル103に出
力する。オブジェクト出力部110でのオブジェクトコ
ード生成時には、シンボルテーブルファイル112から
シンボル情報を入力し、外部変数に割り当てられている
領域が外部メモリの場合は外部変数のアクセスに対して
外部メモリアクセスのオブジェクトコードな出力し、外
部変数に割り当てられている領域が高速内部RAMの場
合は外部変数のアクセスに対して高速内部RAMアクセ
スのオブジェクトコードな出力する。
First, the overall processing flow will be explained with reference to FIG. In the C language processing program 102, the starting line analysis section 105 analyzes the super-duty information inputted from the keyboard 104, and stores the analysis result in the storage section 106. The process moves to the input unit 107, where program information is input from the input file 101. Next, the syntax analysis unit 108 analyzes the source program. When an external variable is declared during syntax analysis, high-speed internal RAM is used.
Select variables to be assigned to symbol table file 1
Next, the object output unit 110 generates an object program and outputs it to the output file 103. When generating object code in the object output unit 110, symbol information is input from the symbol table file 112, and if the area allocated to the external variable is external memory, the object code for external memory access is used for accessing the external variable. If the area allocated to the external variable is a high-speed internal RAM, an object code for high-speed internal RAM access is output for accessing the external variable.

次に、C言語処理プログラムが第4図に示すソースプロ
ゲラみを入力し、第6図に示すオブジェクトプログラム
を出力する処理を説明する。
Next, the process by which the C language processing program inputs the source program shown in FIG. 4 and outputs the object program shown in FIG. 6 will be explained.

第6図のオブジェクトプログラムには簡略のため機械語
のみを記述してあり、疑似命令などの制御文は省略しで
ある。また、ソースプログラム情報の入力からオブジェ
クトプログラム出力の全体の処理は前記全体の処理の流
れの説明どうりであるので省略して説明を行う。
In the object program shown in FIG. 6, only machine language is written for the sake of simplicity, and control statements such as pseudo-instructions are omitted. Further, since the entire process from inputting source program information to outputting object program is the same as the above-mentioned overall processing flow, the explanation will be omitted.

まず、第4図のソースプログラムの1行目で宣言されて
いる外部変数に対して第5図に示すシンボル情報出力処
理が行われる過程を説明する。第5図の外部変数名判定
部501で外部変数名hrtotalの判定が行われる
。外部変数名判定部501は外部変数名の先頭がhrで
あるか否かを判定する。
First, a process in which symbol information output processing shown in FIG. 5 is performed on external variables declared in the first line of the source program shown in FIG. 4 will be described. The external variable name hrtotal is determined by the external variable name determination unit 501 in FIG. The external variable name determination unit 501 determines whether the beginning of the external variable name is hr.

外部変数名判定部501の判定結果は外部変数名の先頭
がhrであるので高速内部RAM割り当て処理部502
に処理が移る。高速内部RAM割り当て処理部502で
は外部変数h r totalの領域に高速内部RAM
を割り当てる。同様の処理により外部変数hrdata
l、hrdata2の領域に高速内部RAM割り当て処
理部502が高速内部RAMを割り当てる0次にシンボ
ル情報出力部504が高速内部RAM割り当て処理部5
02によって生成されたシンボル情報を、第1図のシン
ボルテーブルファイル112へ出力する。
The judgment result of the external variable name judgment unit 501 is that the beginning of the external variable name is hr, so the high-speed internal RAM allocation processing unit 502
Processing moves to The high-speed internal RAM allocation processing unit 502 allocates high-speed internal RAM to the area of the external variable h r total.
Assign. The external variable hrdata is created using the same process.
1, the high-speed internal RAM allocation processing unit 502 allocates high-speed internal RAM to the area of hrdata2.0 Next, the symbol information output unit 504 allocates high-speed internal RAM allocation processing unit 5
The symbol information generated by 02 is output to the symbol table file 112 in FIG.

第4図のソースプログラムの1行目は変数定義命令であ
り、C言語処理プログラム102は機械語を生成しない
。従って、該当するオブジェクトは第6図に示すオブジ
ェクトプログラムには出力されない。
The first line of the source program in FIG. 4 is a variable definition instruction, and the C language processing program 102 does not generate machine language. Therefore, the corresponding object is not output to the object program shown in FIG.

第4図のソースプログラムの2.3行目は関数定義文で
ありこれに対し0M語処理プログラム102は機械語を
生成しない。従って該当するオブジェクトは第6図に示
すオブジェクトプログラムには出力されない。
Lines 2 and 3 of the source program in FIG. 4 are function definition statements, and on the other hand, the 0M language processing program 102 does not generate machine language. Therefore, the corresponding object is not output to the object program shown in FIG.

第4図のソースプログラムの4行目はすでに宣言されて
いる外部変数の参照を行っている文である。これに対し
C言語処理プログラム102は第6図に示すオブジェク
トプログラムを生成し出力する。
The fourth line of the source program in FIG. 4 is a statement that references an external variable that has already been declared. In response, the C language processing program 102 generates and outputs the object program shown in FIG.

(a)  第4図の4行目の“hrdatal”に対し
、第6図の1行目を生成し、出力する。
(a) Generate and output the first line in FIG. 6 for "hrdatal" in the fourth line in FIG.

(b)  第4図の4行目の“+hrdata2”に対
し、第6図の2行目を生成し、出力しする。
(b) Generate and output the second line in FIG. 6 for "+hrdata2" in the fourth line in FIG. 4.

(c)  第4図の4行目の“h r total=”
に対し、第6図の3行目を生成し、出力する。
(c) “hr total=” in the 4th line of Figure 4
6, the third line in FIG. 6 is generated and output.

次に第4図のソースプログラムの5行目は関数定義の終
了の記述であり、C言語処理プログラム102は機械語
を生成しない。従って該当するオブジェクトは第6図に
示すオブジェクトプログラムには出力されない。
Next, the fifth line of the source program in FIG. 4 is a description of the end of the function definition, and the C language processing program 102 does not generate machine language. Therefore, the corresponding object is not output to the object program shown in FIG.

第6図に示したオブジェクトプログラムの各行の命令の
バイト数は第1表から求められ、それらの合計は6バイ
トとなる。
The number of bytes of instructions in each line of the object program shown in FIG. 6 is determined from Table 1, and the total number is 6 bytes.

第6図に示したオブジェクトプログラムの各行の命令の
実行ステート数も第1表から求められ、それらの合計は
11ステートとなる。
The number of execution states of the instructions in each line of the object program shown in FIG. 6 is also determined from Table 1, and the total number is 11 states.

ここで従来のC言語処理プログラムの例と比較する。Here, a comparison will be made with an example of a conventional C language processing program.

第2図は入力ファイル101の内容である。左側の数字
は説明のために付けたソースプログラム中の行番号であ
る。
FIG. 2 shows the contents of the input file 101. The numbers on the left are line numbers in the source program for explanation purposes.

従来のC言語処理プログラムのオブジェクト出力部のフ
ローチャートは、第5図に示す実施例1のフローチャー
トの外部変数名判定部501、高速内部RAM割り当て
処理部502がない点を除いて処理は同じである。また
従来のシステム構成図も第1図と同じである。
The flowchart of the object output section of the conventional C language processing program is the same as the flowchart of the first embodiment shown in FIG. 5, except that the external variable name determination section 501 and the high-speed internal RAM allocation processing section 502 are not included. . The conventional system configuration diagram is also the same as FIG. 1.

第2図の入力ファイルに対して第3図のオブジェクトプ
ログラムが得られる過程を説明する。
The process of obtaining the object program shown in FIG. 3 from the input file shown in FIG. 2 will be explained.

第3図の1行目のtotal、data l、data
 2に対して外部メモリ割り当て処理部503が領域と
して外部メモリを割り当てる。第3図のソースプログラ
ムの2.3行目は関数定義文でありこれに対しC言語処
理プログラム102は機械語を生成しない。従って該当
するオブジェクトは第3図に示すオブジェクトプログラ
ムには出力されない。
total, data l, data in the first line of Figure 3
The external memory allocation processing unit 503 allocates an external memory to 2 as an area. Lines 2 and 3 of the source program in FIG. 3 are function definition statements, and the C language processing program 102 does not generate machine language for these statements. Therefore, the corresponding object is not output to the object program shown in FIG.

次に第1図のオブジェクト出力部110が第3図に示す
オブジェクトブードを出力する。第3図のソースプログ
ラムの5行目は関数定義の終了の記述であり、C言語処
理プログラム102は機械語を生成しない。従って該当
するオブジェクトは第3図に示すオブジェクトプログラ
ムには出力されない。
Next, the object output unit 110 shown in FIG. 1 outputs the object object shown in FIG. 3. The fifth line of the source program in FIG. 3 is a description of the end of the function definition, and the C language processing program 102 does not generate machine language. Therefore, the corresponding object is not output to the object program shown in FIG.

第3図に示したオブジェクトプログラムの各行の命令の
バイト数は第1表から求められ、それらの合計は14バ
イトとなる。
The number of bytes of instructions in each line of the object program shown in FIG. 3 is determined from Table 1, and the total is 14 bytes.

第3図に示したオブジェクトプログラムの各行の命令の
実行ステート数も第1表から求められ、それらの合計は
116ステートとなる。
The number of execution states of the instructions in each line of the object program shown in FIG. 3 is also determined from Table 1, and the total number is 116 states.

以上の説明により、変数名の先頭にhrを付けた外部変
数は高速内部RAMに空きがあれば自動的に高速内部R
AMに割り当てられ、高速内部RAM領域に割り当てら
れた外部変数のアクセスに対しては高速内部RAMアク
セスのオブジェクトコードを出力することが可能となる
According to the above explanation, external variables with hr added to the beginning of the variable name will be automatically stored in the high-speed internal RAM if there is free space in the high-speed internal RAM.
It becomes possible to output an object code for high-speed internal RAM access for accessing an external variable allocated to the AM and high-speed internal RAM area.

上記実施例では、高速内部RAMに割り当°Cる外部変
数の数をユーザが管理していなければならない。また、
変数名の先頭にhrを付加しなければならないという制
限がある。これに対し、本発明の他の実施例では高速内
部RAMに割り当てられている外部変数の数と名前の情
報を格納した情報ファイルを使うことで、C言語処理プ
ログラムが外部変数の数を管理するという点で異なる。
In the above embodiment, the user must manage the number of external variables allocated to the high-speed internal RAM. Also,
There is a restriction that hr must be added to the beginning of the variable name. In contrast, in another embodiment of the present invention, the C language processing program manages the number of external variables by using an information file that stores information on the number and names of external variables allocated to the high-speed internal RAM. They are different in this respect.

この実施例では外部変数として宣言されたものはすべて
高速内部RAMへの割り当てを試みる。第11図により
説明すると、まず情報ファイル1113があるか否かを
チエツクする。この情報ファイル1113は高速内部R
AMの割り当て情報を持つファイルである。チエツクの
結果、情報ファイル1113がなければ高速内部RAM
への割り付けがまだ行われていないことを示しているの
で、外部変数を高速内部RAMに割り当て、情報ファイ
ル1113を出力する。次に宣言された外部変数の割り
当て時には情報ファイル1113を入力し、高速内部R
AMに空きがあるか否かを判定し、空きがあれば高速内
部RAMの割り当て情報ファイル1113を更新する。
This embodiment attempts to allocate anything declared as an external variable to high speed internal RAM. To explain with reference to FIG. 11, first, it is checked whether the information file 1113 exists. This information file 1113 is a high-speed internal R
This is a file containing AM allocation information. As a result of the check, if there is no information file 1113, the high-speed internal RAM
This indicates that the external variable has not been allocated yet, so the external variable is allocated to the high-speed internal RAM and the information file 1113 is output. When allocating the next declared external variable, input the information file 1113 and use the high-speed internal R
It is determined whether or not there is free space in the AM, and if there is free space, the high-speed internal RAM allocation information file 1113 is updated.

この繰り返しの結果、高速内部RAMに空きがなくなる
と宣言された外部変数は、それ以降外部メモリに割り当
てら九る。
As a result of this repetition, external variables declared to have no free space in the high-speed internal RAM are no longer allocated to external memory.

本発明の他の実施例について図面を参照してより詳しく
説明する。
Other embodiments of the present invention will be described in more detail with reference to the drawings.

第11図は、本発明のシステム構成図である。FIG. 11 is a system configuration diagram of the present invention.

第10図に示すマイクロコンピュータ1001用のオブ
ジェクトを生成するC言語処理プログラム1102はキ
ーボード1104から入力された起動行を解析する起動
付解析部1105、前記起動付解析部1105の解析結
果を保存する保存部1106、入力ファイル1101か
もソースプログラムを入力する久方部1107、入力し
たソースプログラムを解析する構文解析部1108、構
文解析されたソースプログラムに対しオブジェクトプロ
グラムを生成し出力するオブジェクト出力部1110と
を含む。前記構文解析部1108はシンボルテーブルフ
ァイル1112と情11ファイル1113を作成するシ
ンボル情報生成出力部1109を含む。前記オブジェク
ト出力部1110は前記シンボルテーブルファイル11
12からシンボル情報を入力するシンボル情報入力部1
111を含む。
A C language processing program 1102 that generates an object for the microcomputer 1001 shown in FIG. section 1106, input file 1101 or input source program input section 1107, syntax analysis section 1108 that analyzes the input source program, and object output section 1110 that generates and outputs an object program from the parsed source program. include. The syntax analysis unit 1108 includes a symbol information generation output unit 1109 that creates a symbol table file 1112 and an information 11 file 1113. The object output unit 1110 outputs the symbol table file 11.
symbol information input unit 1 that inputs symbol information from 12;
111 included.

第10図に示すマイクロコンピュータ1001は高速に
アクセスできるRAM (高速内部RAM1002と呼
ぶ)と、通常の外部メモリ1003を持つ、さらに命令
セットの一部として第1表に示す命令を備えている。第
1表には各命令の機械語のバイト数、実行ステート数も
示す。
A microcomputer 1001 shown in FIG. 10 has a RAM that can be accessed at high speed (referred to as a high-speed internal RAM 1002) and a normal external memory 1003, and further includes the instructions shown in Table 1 as part of an instruction set. Table 1 also shows the number of machine language bytes and the number of execution states for each instruction.

第7図は前記入力ファイル1101の内容である。左側
の数字は説明のために付けたソースプログラム中の行番
号である。
FIG. 7 shows the contents of the input file 1101. The numbers on the left are line numbers in the source program for explanation purposes.

第8図は、本実施例におけるC言語処理ブ四グラムのオ
ブジェクト出力部のフローチャートである。ここで第8
図の各処理の機能を説明する。情報ファイル入力部80
1は第11図に示す情報ファイル1113から高速内部
RAM領域の使用状態を示す情報を入力する。情報ファ
イル1113がない場合には高速内部RAMの使用状態
は、外部変数がまだ高速内部RAM領域に割り当てられ
ていないことを示す。
FIG. 8 is a flowchart of the object output section of the C language processing program in this embodiment. Here the 8th
The functions of each process in the figure will be explained. Information file input section 80
1 inputs information indicating the usage status of the high-speed internal RAM area from the information file 1113 shown in FIG. If the information file 1113 does not exist, the usage status of the high-speed internal RAM indicates that the external variable has not yet been allocated to the high-speed internal RAM area.

高速内部RAM空き判定部802は、情報ファイル11
13から入力した高速内部RAM領域の使用状態を示す
情報から高速内部RAM領域に空きがあるか否かを判定
する。高速内部RAM割り当て処理部803は、宣言さ
れた外部変数を高速内部RAMに割り当てる。情報ファ
イル出力部804は、高速内部RAM領域の使用状態を
示す情報を第11図に示す情報ファイル1113へ出力
する。外部メモリ割り当て処理部805は、宣言された
外部変数を外部メモリに割り当てる。シンボル情報出力
部808は、高速内部RAM割り当て処理部803ある
いは外部メモリ割り当て処理部805の結果生成された
シンボル情報をシンボルテーブルファイル1112へ出
力する。
The high-speed internal RAM free space determination unit 802 uses the information file 11
Based on the information indicating the usage status of the high-speed internal RAM area input from 13, it is determined whether there is a free space in the high-speed internal RAM area. The high-speed internal RAM allocation processing unit 803 allocates the declared external variables to the high-speed internal RAM. The information file output unit 804 outputs information indicating the usage status of the high-speed internal RAM area to the information file 1113 shown in FIG. The external memory allocation processing unit 805 allocates the declared external variables to external memory. The symbol information output unit 808 outputs symbol information generated as a result of the high-speed internal RAM allocation processing unit 803 or the external memory allocation processing unit 805 to the symbol table file 1112.

第9図は、本実施例のオブジェクトファイルの内容(オ
ブジェクトプログラム)である。
FIG. 9 shows the contents of the object file (object program) of this embodiment.

まず、第11図により全体の処理の流れを説明する。First, the overall processing flow will be explained with reference to FIG.

C言語処理プログラム1102はキーボード1104か
ら入力された超勤行情報を起動性解析部1105で解析
し、解析結果を保存部1106に格納する。処理は入力
部1107に移り、入力ファイル1101からソースプ
ログラムを入力する0次に構文解析部1108でソース
プログラムを解析する。構文解析中に外部変数の宣言が
あると、シンボル情報生成出力部1109が情報ファイ
ル1113があるか否かを判定して、あれば前記情報フ
ァイル1113の内容を入力する。高速内部RAM領域
に空きがあれば外部変数を高速内部RAMへ割り当て、
シンボルテーブルファイル1112および情報ファイル
1113を出力する。
The C language processing program 1102 analyzes the extra work information input from the keyboard 1104 in the activation analysis unit 1105 and stores the analysis result in the storage unit 1106. The process moves to the input unit 1107, where the source program is input from the input file 1101, and the syntax analysis unit 1108 analyzes the source program. When an external variable is declared during syntax analysis, the symbol information generation/output unit 1109 determines whether or not an information file 1113 exists, and if so, inputs the contents of the information file 1113. If there is free space in the high-speed internal RAM area, assign external variables to the high-speed internal RAM,
A symbol table file 1112 and an information file 1113 are output.

次に、オブジェクト出力部111Oでオブジェクトプロ
グラムを生成し出力ファイル1103に出力する。オブ
ジェクト出力部1110でのオブジェクトコード生成時
には、シンボルテーブルファイル1112からシンボル
情報を入力し、外部変数に割り当てられている領域が外
部メモリの場合は外部変数のアクセスに対して外部メモ
リアクセスのオブジェクトブードを出力し、外部変数に
割り当てられている領域が高速内部RAMの場合は外部
変数のアクセスに対して高速内部RAMアクセスのオブ
ジェクトフードな出力する。
Next, the object output unit 111O generates an object program and outputs it to the output file 1103. When generating object code in the object output unit 1110, symbol information is input from the symbol table file 1112, and if the area allocated to the external variable is external memory, the object code for external memory access is used for accessing the external variable. If the area allocated to the external variable is a high-speed internal RAM, the object food of the high-speed internal RAM access is output for the external variable access.

次に、C言語処理プログラムが第7図に示すソースプロ
グラムを入力し、第9図に示すオブジェクトプログラム
を出力する処理を、第8図のシンボル情報出力処理の7
2−チャートをもちいて説明する。
Next, the C language processing program inputs the source program shown in FIG. 7 and outputs the object program shown in FIG.
2-Explain using a chart.

第9図のオブジェクトプログラムには簡略のため機械語
のみを記述してあり、疑似命令などの制御文は省略しで
ある。また、ソースプログラム情報の入力からオブジェ
クトプログラム出力の全体の処理は前記全体の処理の流
れの説明どうりであるので省略して説明を行う。
In the object program of FIG. 9, only machine language is written for the sake of simplicity, and control statements such as pseudo-instructions are omitted. Further, since the entire process from inputting source program information to outputting object program is the same as the above-mentioned overall processing flow, the explanation will be omitted.

まず、第7図のソースプログラムの1行目で外部変数t
otalが宣言されているので、情報ファイル入力部8
01が情報ファイル1113があるか否かを判定する。
First, in the first line of the source program in Figure 7, the external variable t
Since otal has been declared, the information file input section 8
01 determines whether the information file 1113 exists.

C言語処理開始時点では情報ファイル1113はないの
で、次の高速内部RAM空き判定部802は高速内部R
AM領域に空きがあると判定する。すると処理は高速内
部RAM割り当て処理部803に移り、宣言された外部
変数の領域に高速内部RAMを割り当て、情報ファイル
出力部804が第11図の情報ファイル1113を出力
する。次にシンボル情報出力部806が第11図のシン
ボルテーブルファイル1112を出力する。
Since there is no information file 1113 at the start of C language processing, the next high-speed internal RAM free space determination unit 802 uses the high-speed internal RAM
It is determined that there is free space in the AM area. The process then moves to the high-speed internal RAM allocation processing unit 803, which allocates the high-speed internal RAM to the area of the declared external variable, and the information file output unit 804 outputs the information file 1113 shown in FIG. Next, the symbol information output unit 806 outputs the symbol table file 1112 shown in FIG.

次に、外部変数data 1が宣言されているので、情
報ファイル入力部801が情報ファイル1113がある
か否かを判定する。判定の結果情報ファイル1113が
存在したので前記情報ファイル1113から、高速内部
RAM領域の使用状態を示す情報を入力する0次の高速
内部RAM空き判定部802は高速内部RAM領域に空
きがあると判定する。
Next, since the external variable data 1 has been declared, the information file input unit 801 determines whether or not the information file 1113 exists. As a result of the determination, since the information file 1113 exists, the zero-order high-speed internal RAM free space determination unit 802, which inputs information indicating the usage status of the high-speed internal RAM area from the information file 1113, determines that there is free space in the high-speed internal RAM area. do.

すると処理は高速内部RAM割り当て処理部803に移
り、宣言された外部変数の領域に高速内部RAMを割り
当て、情報ファイル出力部804が情報ファイル111
3を出力する。次に、シンボル情報出力部8−06がシ
ンボルテーブルファイル1112を出力する。
Then, the process moves to the high-speed internal RAM allocation processing unit 803, which allocates high-speed internal RAM to the area of the declared external variable, and the information file output unit 804 outputs the information file 111.
Outputs 3. Next, the symbol information output unit 8-06 outputs the symbol table file 1112.

同様の処理により外部変数data 2の領域に高速内
部RAMを割り当て、情報ファイル出力部804が情報
ファ・イル1113を出力し、次にシンボル情報出力部
80Gがシンボルテーブルファイル1112を出力する
A high-speed internal RAM is allocated to the area of external variable data 2 through similar processing, and the information file output section 804 outputs the information file 1113, and then the symbol information output section 80G outputs the symbol table file 1112.

この行は変数定義命令であり、C言語処理プログラム1
102は機械語を生成しない、従って該当するオブジェ
クトは第9図に示すオブジェクトプログラムには出力さ
れない また、第7図のソースプログラムの2.3行目は関数定
義文でありこれに対しC言語処理プログラム1102は
機械語を生成しない。従つて該当するオブジェクトは第
9図に示すオブジェクトプログラムには出力されない。
This line is a variable definition instruction, and is a C language processing program 1
102 does not generate machine language, so the corresponding object is not output to the object program shown in FIG. 9. Lines 2 and 3 of the source program shown in FIG. Program 1102 does not generate machine language. Therefore, the corresponding object is not output to the object program shown in FIG.

第7図のソースプログラムの4行目はすでに宣言されて
いる外部変数の参照を行っている文である。これに対し
、C言語処理プログラム1102は第9図に示すオブジ
ェクトプログラムを生成し出力する。この時、シンボル
情報入力部1111がシンボルテーブルファイルエ11
2からシンボル情報を入力し、前記外部変数に割り当て
られている領域が外部メモリの場合は外部変数のアクセ
スに対して外部メモリアクセスのオブジェクトコードを
出力1.、外部変数に割り当てられている領域が高速内
部RAMの場合は外部変数のアクセスに対して高速内部
RAMアクセスのオブジェクトコードを出力する。
The fourth line of the source program in FIG. 7 is a statement that refers to an external variable that has already been declared. In contrast, the C language processing program 1102 generates and outputs the object program shown in FIG. At this time, the symbol information input section 1111 inputs the symbol table file 11
Input symbol information from step 2, and if the area allocated to the external variable is an external memory, output the object code of external memory access for accessing the external variable. , if the area allocated to the external variable is a high-speed internal RAM, an object code for high-speed internal RAM access is output for accessing the external variable.

(a)  第7図の4行目の“data 1 ”に対し
、第9図の1行目を生成し、出力する。
(a) Generate and output the first line in FIG. 9 for "data 1" in the fourth line in FIG. 7.

(b)  第7図の4行目の“十data 2″に対し
、第9図の2行目を生成し、出力する。
(b) Generate and output the second line in FIG. 9 for "10 data 2" in the fourth line in FIG. 7.

(c)  第7図の4行目の“total”’”に対1
−1第9図の3行目を生成17、出力する。
(c) 1 for “total”’” in the 4th line of Figure 7
-1 Generate 17 and output the third line in FIG.

次に第7図のソースプログラムの5行目は関数定義の終
了の記述であり、C言語処理プログラム1102は機械
語を生成しない、従って該当するオブジェクトは第9図
に示すオブジェクトプログラムには出力されない。
Next, the fifth line of the source program in Figure 7 is a description of the end of the function definition, and the C language processing program 1102 does not generate machine language, so the corresponding object is not output to the object program shown in Figure 9. .

第9図に示したオブジェクトプログラムの各行の命令の
バイト数は第1表から求められ、それらの合計は6バイ
トとなる。
The number of bytes of instructions in each line of the object program shown in FIG. 9 is determined from Table 1, and the total is 6 bytes.

第9図に示したオブジェクトプログラムの各行の命令の
実行ステート数も第1表から求められ、それらの合計は
11ステートとなる。
The number of execution states of the instructions in each line of the object program shown in FIG. 9 is also determined from Table 1, and the total number is 11 states.

以上の説明により、外部変数として宣言されたものはす
べて高速内部RAMへの割り当てが試みられて、高速内
部RAMに空きがあれば自動的に高速内部RAMに割り
当てられ、高速内部RAM領域に割り当てられた外部変
数のアクセスに対しては高速内部RAMアクセスのオブ
ジェクトコードを出力することが可能となる。
According to the above explanation, all variables declared as external variables are attempted to be allocated to the high-speed internal RAM, and if there is free space in the high-speed internal RAM, they are automatically allocated to the high-speed internal RAM, and then allocated to the high-speed internal RAM area. For accessing external variables, it is possible to output an object code for high-speed internal RAM access.

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

以上説明したように、本発明では従来のC言語処理プロ
グラムでは使われていなかったマイクロコンピュータの
高速内部RAMを外部変数の領域に使用している。これ
により、以下の優れた効果が得られる。
As explained above, in the present invention, the high-speed internal RAM of the microcomputer, which was not used in conventional C language processing programs, is used for the external variable area. This provides the following excellent effects.

(1)外部変数を外部メモリに割り当てる代わりに高速
内部RAMへ割り当てるので、高速なオブジェクトプロ
グラムを生成できる。
(1) Since external variables are allocated to high-speed internal RAM instead of to external memory, high-speed object programs can be generated.

実施例1中で説明した従来例のオブジェクトプログラム
の実行時間の116ステートに対して本発明の実施例で
は11ステートとなっており、105ステートの実行時
間の短縮を実現している。また従来例のオブジェクトプ
ログラムのバイト数の14バイトに対して本発明の実施
例では6バイトとなっており、8バイトのバイト数の短
縮を実現している。これらの短縮の効果は、高速内部R
AMに割り当てられる外部変数が多いほど大きく現れる
The execution time of the conventional object program described in the first embodiment is 116 states, whereas the execution time of the embodiment of the present invention is 11 states, achieving a reduction in the execution time of 105 states. Furthermore, the number of bytes in the conventional object program is 14 bytes, whereas the number of bytes in the embodiment of the present invention is 6 bytes, realizing a reduction in the number of bytes of 8 bytes. The effect of these shortenings is that the high-speed internal R
The larger the number of external variables assigned to AM, the larger the appearance.

(2)従来のC言語処理プログラムでは使われていなか
った高速内部RAMを、本発明では積極的に活用してい
ることにより、ユーザに高速内部RAMを有するマイク
ロコンピュータの7センブリ言語以外での記述方法を提
供できる。
(2) By actively utilizing high-speed internal RAM, which was not used in conventional C language processing programs, the present invention allows users to write microcomputers with high-speed internal RAM in languages other than 7 assembly languages. I can provide a method.

(3)高速内部RAMに割り当てる外部変数の管理を変
数名あるいはC言語処理プログラムが情報ファイルで管
理するので、アセンブラソースでユーザが管理する必要
がなくなる。
(3) Since the external variables allocated to the high-speed internal RAM are managed using variable names or information files by the C language processing program, there is no need for the user to manage them using assembler sources.

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

第1図は本発明の一実施例のシステム構成図、第2図は
従来の入力ファイルの内容(ソースプログラム)、第3
図は従来のオブジェクトファイルの内容(オブジェクト
プログラム)、第4図は本発明の一実施例の入力ファイ
ルの内容(ソースプログラム)、第5図は本発明の一実
施例1におけるC言語処理プログラムのシンボル情報出
力処理のフローチャート、第6図は本発明の一実施例の
オブジェクトファイルの内容(オブジェクトプログラム
)、第7図は本発明の他の実施例の入力ファイルの内容
(ソースプログラム)、第8図は本発明の他の実施例に
おけるC言語処理プログラムのシンボル情報出力処理の
フローチャート、第9図は本発明の他の実施例のオブジ
ェクトファイルの内容(オブジェクトプロ5グラム)、
第10図はマイクロコンピュータの内部構成図、II 
1図は本発明の他の実施例のシステム構成図、第12図
は、マイクロコンピュータの命令セットである。 101・・・・・・入力ファイル、102・・・・・・
C言語処理プログラム、103・・・・・・オブジェク
トファイル、104・・・・・・キーボード、105・
・・・・・起動行解析部、106・・・・・・保存部、
107・・・・・・入力部、108・・・・・・構文解
析部、109・・・・・・シンボル情報生成出力部、1
10・・・・・・オブジェクト出力部、111・・・・
・・シンボル情報入力部、112・・・・・・シンボル
テーブルファイル、501・・・・・・外部変数名判定
部、502・・・・・・高速内部RAM割り当て処理部
、503・・・・・・外部メモリ割り当て処理部、50
4・・・・・・シンボル情報出力部、801・・・・・
・情報ファイル入力部、802・・・・・・高速内部R
AM空き判定部、803・・・・・・高速内部RAM割
り当て処理部、804・・・・・・情報ファイル出力部
、805・・・・・・外部メモリ割り当て処理部、80
6・・・・・・シンボル情報出力部、1001・・・・
・・マイクロコンピュータ、1002・・・・・・高速
内部RAM、1003・・・・・・外部メモリ、110
1・・・・・・入力ファイル、1102・・・・・・C
言語処理プログラム、1103・・・・・・オブジェク
トファイル、1104・川・・キーボード、1105・
・・・・・起動行解析部、1106・・・・・・保存部
、1107・・・・・・入力部、11o8・・印・構文
解析部、1109・・・・・・シンボル情報生成出力部
、1110・・・・・・オブジェクト出力部、1111
・・川・シンボル情報入力部、1112・・・・・・シ
ンボルテーブルファイル、1113・・・・・・情報フ
ァイル。 代理人 弁理士  内 原   晋 第1図 肩l閏 万3図 羞7図 !−図 1trltpttrl m fir4hi/ +Arj
a112;石4回 老5図 夏乙図 5ity図 石/Z図
Fig. 1 is a system configuration diagram of an embodiment of the present invention, Fig. 2 is a conventional input file content (source program), and Fig. 3 is a system configuration diagram of an embodiment of the present invention.
The figure shows the contents of a conventional object file (object program), Figure 4 shows the contents of an input file (source program) in an embodiment of the present invention, and Figure 5 shows the content of a C language processing program in the first embodiment of the present invention. Flowchart of symbol information output processing, FIG. 6 shows the contents of an object file (object program) in one embodiment of the present invention, FIG. 7 shows the contents of an input file (source program) in another embodiment of the present invention, and FIG. The figure is a flowchart of symbol information output processing of a C language processing program in another embodiment of the present invention, and FIG. 9 shows the contents of an object file (object program 5) in another embodiment of the present invention.
Figure 10 is an internal configuration diagram of a microcomputer, II
FIG. 1 is a system configuration diagram of another embodiment of the present invention, and FIG. 12 is a microcomputer instruction set. 101... Input file, 102...
C language processing program, 103...Object file, 104...Keyboard, 105.
...Start line analysis section, 106...Storage section,
107...Input unit, 108...Syntax analysis unit, 109...Symbol information generation output unit, 1
10...Object output section, 111...
... Symbol information input section, 112 ... Symbol table file, 501 ... External variable name determination section, 502 ... High-speed internal RAM allocation processing section, 503 ... ...External memory allocation processing unit, 50
4...Symbol information output section, 801...
・Information file input section, 802...High speed internal R
AM free judgment section, 803... High-speed internal RAM allocation processing section, 804... Information file output section, 805... External memory allocation processing section, 80
6...Symbol information output section, 1001...
... Microcomputer, 1002 ... High-speed internal RAM, 1003 ... External memory, 110
1...Input file, 1102...C
Language processing program, 1103...Object file, 1104・Kawa・Keyboard, 1105・
...Start line analysis section, 1106...Storage section, 1107...Input section, 11o8...Mark/syntax analysis section, 1109...Symbol information generation output Part, 1110...Object output part, 1111
... River/symbol information input section, 1112 ... Symbol table file, 1113 ... Information file. Agent: Susumu Uchihara, Patent Attorney Figure 1, shoulder l, 3 figures, 7 figures! -Figure 1trltpttrl m fir4hi/ +Arj
a112; stone 4th old figure 5 summer otsu figure 5ity figure stone/Z figure

Claims (1)

【特許請求の範囲】[Claims] マイクロコンピュータ内部に命令によって高速にデータ
の読み出し/書き込み可能な特定のメモリ領域を持つマ
イクロコンピュータ用の言語処理プログラムの処理方式
において、変数として宣言されたもののうち一部を選別
し、前記高速内部RAMを記憶領域として割り当て、高
速内部RAMへのデータの読み出し/書き込みを可能と
することを特徴とする言語処理プログラムの処理方式。
In a processing method for a language processing program for a microcomputer that has a specific memory area in which data can be read/written at high speed according to instructions inside the microcomputer, a part of those declared as variables is selected and the data is stored in the high-speed internal RAM. 1. A processing method for a language processing program, characterized in that it allocates a memory area as a storage area and enables reading/writing of data to/from a high-speed internal RAM.
JP63298516A 1988-11-25 1988-11-25 Language processing program processing method Expired - Lifetime JPH0823823B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63298516A JPH0823823B2 (en) 1988-11-25 1988-11-25 Language processing program processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63298516A JPH0823823B2 (en) 1988-11-25 1988-11-25 Language processing program processing method

Publications (2)

Publication Number Publication Date
JPH02144629A true JPH02144629A (en) 1990-06-04
JPH0823823B2 JPH0823823B2 (en) 1996-03-06

Family

ID=17860732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63298516A Expired - Lifetime JPH0823823B2 (en) 1988-11-25 1988-11-25 Language processing program processing method

Country Status (1)

Country Link
JP (1) JPH0823823B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120028A (en) * 1991-10-28 1993-05-18 Nec Corp Micro computer device
EP0756231A1 (en) * 1995-07-28 1997-01-29 Nec Corporation Method of allocating memory to variables

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58151654A (en) * 1982-03-03 1983-09-08 Fujitsu Ltd Register assigning system
JPS60145553A (en) * 1984-01-09 1985-08-01 Pioneer Electronic Corp Cassette loading mechanism
JPS63145553A (en) * 1986-12-09 1988-06-17 Nec Corp Memory control system with control mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58151654A (en) * 1982-03-03 1983-09-08 Fujitsu Ltd Register assigning system
JPS60145553A (en) * 1984-01-09 1985-08-01 Pioneer Electronic Corp Cassette loading mechanism
JPS63145553A (en) * 1986-12-09 1988-06-17 Nec Corp Memory control system with control mode

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120028A (en) * 1991-10-28 1993-05-18 Nec Corp Micro computer device
EP0756231A1 (en) * 1995-07-28 1997-01-29 Nec Corporation Method of allocating memory to variables
US6029003A (en) * 1995-07-28 2000-02-22 Nec Corporation Method of assigning external variables to memories when compiling source program

Also Published As

Publication number Publication date
JPH0823823B2 (en) 1996-03-06

Similar Documents

Publication Publication Date Title
US5742828A (en) Compiler and method for evaluation of foreign syntax expressions in source code
US5768582A (en) Computer program product for domained incremental changes storage and retrieval
US6895508B1 (en) Stack memory protection
US7039908B2 (en) Unification-based points-to-analysis using multilevel typing
JPH09212369A (en) Storage area allocation device
Perkins et al. Machine-independent Pascal code optimization
US5826087A (en) Method and apparatus for cross calling programs of different lexical scoping methodology
JPH0823823B2 (en) Language processing program processing method
JPH04311227A (en) Microcomputer
JP3060907B2 (en) Processing method of language processing program
JPH11345127A (en) compiler
JPH08234997A (en) Register allocation method
JPH07105013A (en) Register allocation system
JPH0281137A (en) Optimized compiler and compiling method
JP2669387B2 (en) Database driven automatic program generation system
JP2002358102A (en) Programming device for programmable logic controller
JPS6234240A (en) Data allotting system
JPH02136929A (en) Reduction system for instruction sentence of object program
JPH02105224A (en) Data allocation system in compiler
JPH03186933A (en) Symbol processing system for language processing system
Van Vlierberghe Memory management in Ada83 and Ada9X
JPH06324882A (en) Compiler device
KR19990015812A (en) How to assign dynamic shortcuts
JPH03109642A (en) Compiling device
Mark et al. Designing Your Own Data Structures