JP3278613B2 - Language processing system and language processing method - Google Patents

Language processing system and language processing method

Info

Publication number
JP3278613B2
JP3278613B2 JP17002898A JP17002898A JP3278613B2 JP 3278613 B2 JP3278613 B2 JP 3278613B2 JP 17002898 A JP17002898 A JP 17002898A JP 17002898 A JP17002898 A JP 17002898A JP 3278613 B2 JP3278613 B2 JP 3278613B2
Authority
JP
Japan
Prior art keywords
segment type
unit
address
assembler
segment
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.)
Expired - Fee Related
Application number
JP17002898A
Other languages
Japanese (ja)
Other versions
JP2000010764A (en
Inventor
満 岩崎
栄一 佐藤
Original Assignee
エヌイーシーマイクロシステム株式会社
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 エヌイーシーマイクロシステム株式会社 filed Critical エヌイーシーマイクロシステム株式会社
Priority to JP17002898A priority Critical patent/JP3278613B2/en
Publication of JP2000010764A publication Critical patent/JP2000010764A/en
Application granted granted Critical
Publication of JP3278613B2 publication Critical patent/JP3278613B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は言語処理システム及
びその言語処理方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a language processing system and a language processing method.

【0002】[0002]

【従来の技術】フラッシュ機能を有するデバイスにおい
て、一般的には2種類のセルフ書き込み方法がある。
2. Description of the Related Art In a device having a flash function, there are generally two types of self-writing methods.

【0003】1つは、図13に示すように、ROM部が
オブジェクトコード書き換え部分とフラシュメモリ部分
に別れ、オブジェクトコード書き換え部分がフラッシュ
メモリ部分を書き換える方法と、もう1つは、図14に
示すように、フラッシュメモリ部全体を書き換える方法
の2種類がある。
One is a method in which a ROM section is divided into an object code rewriting section and a flash memory section as shown in FIG. 13, and the object code rewriting section rewrites a flash memory section, and the other is a method shown in FIG. As described above, there are two types of methods for rewriting the entire flash memory unit.

【0004】後者の場合、フラッシュメモリ部分を広く
使えるという利点があるが、フラッシュメモリの外から
フラッシュメモリ部の書き換えをコントロールする手段
が必要となる。手段としては、フラッシュメモリ以外の
オブジェクトコードが置ける領域に書き換えオブジェク
トコードをロードし、動作制御をそのオブジェクトコー
ドに渡し、そのオブジェクトコードがフラッシュメモリ
領域を書き換えることになる。
In the latter case, there is an advantage that the flash memory portion can be widely used, but a means for controlling rewriting of the flash memory portion from outside the flash memory is required. As means, the rewrite object code is loaded into an area other than the flash memory where the object code can be placed, and operation control is passed to the object code, and the object code rewrites the flash memory area.

【0005】このように、絶対番地に配置されたセグメ
ントのアドレス(以下配置時アドレスと呼ぶ)と、プロ
グラムがマイコン上で動作するときのアドレス(以下動
作時アドレスと呼ぶ)とが異なるオブジェクトコードを
作成する場合、従来の方法では各セグメントごとに動作
時アドレスを記述していた。
[0005] As described above, an object code in which the address of a segment located at an absolute address (hereinafter referred to as an address at the time of arrangement) and an address at the time when a program operates on a microcomputer (hereinafter referred to as an address at the time of operation) is different. In the case of creation, in the conventional method, the operating address was described for each segment.

【0006】図15に従来の技術の言語処理方法を、図
16に構文解析部の処理を、図17にソースプログラム
を、図18にRAシンボルテーブル(RAは、リロケー
タブルアセンブラを意味する)を、図19にLKシンボ
ルテーブル(LKは、リンカを意味する)を示す。
FIG. 15 shows a conventional language processing method, FIG. 16 shows the processing of a syntax analysis section, FIG. 17 shows a source program, FIG. 18 shows an RA symbol table (RA means relocatable assembler), FIG. 19 shows an LK symbol table (LK means a linker).

【0007】[0007]

【発明が解決しようとする課題】しかし、上述の従来技
術には次のような問題点があった。
However, the above-mentioned prior art has the following problems.

【0008】第1の問題点は配置時アドレスと動作時ア
ドレスが異なるセグメントが複数ある場合、セグメント
サイズを求める作業が必要である。
The first problem is that when there are a plurality of segments having different addresses at the time of arrangement and at the time of operation, it is necessary to obtain the segment size.

【0009】その理由は、2つ目以降のセグメントの配
置アドレスは、最初に配置するセグメントのサイズを求
めアドレスが重ならないように使用者側で注意しなけれ
ばならないためである。
[0009] The reason for this is that, for the allocation addresses of the second and subsequent segments, the size of the segment to be allocated first must be determined and the user must take care so that the addresses do not overlap.

【0010】第2の問題点は、使用するデバイスが変更
になるたびにROM以外のオブジェクトコードが置ける
領域を調べなければならない点である。
A second problem is that every time the device to be used is changed, an area other than the ROM where object codes can be placed must be checked.

【0011】その理由は従来の情報ファイルには動作時
アドレスがないためである。
The reason is that the conventional information file has no address during operation.

【0012】以上の問題点を解決するため、本発明の目
的は、配置時アドレスと動作時アドレスが異なるセグメ
ントが複数ある場合においても、動作アドレス解決の自
動化を可能にする言語処理システム及びその言語処理方
法を提供することにある。
SUMMARY OF THE INVENTION In order to solve the above problems, an object of the present invention is to provide a language processing system and a language therefor capable of automating operation address resolution even when there are a plurality of segments having different addresses at the time of arrangement and at the time of operation. It is to provide a processing method.

【0013】[0013]

【課題を解決するための手段】本発明の言語処理システ
ムは、絶対番地に配置されたセグメントのアドレスであ
る配置時アドレスと、プログラムがマイコン上で動作す
るときのアドレスである動作時アドレスとが、異なるセ
グメントを少なくとも1つ有する場合のセグメントの動
作アドレスを決定する言語処理システムであって、言語
処理システムは、アセンブラ部とリンカ部とから構成さ
れ、アセンブラ部は、字句解析部とセグメントタイプフ
ラグ設定機能付構文解析部とリロケータブルアセンブラ
コード生成部とセグメントタイプ付リロケータブルアセ
ンブラシンボルテーブルとを備え、字句解析部は、ソー
スプログラムに記述された言語をソースプログラム中の
区切り子単位で順次解析を行ない、アセンブラで使用で
きる文字であるか否かを各々解析する手段を有し、セグ
メントタイプフラグ設定機能付構文解析部は、字句解析
部により解析されたソースプログラムを行単位にアセン
ブラの書式にあっているか否かを解析する手段と、動作
時アドレスと配置時アドレスとが異なるセグメントがソ
ースプログラム中に記述されている場合、セグメントタ
イプ付リロケータブルアセンブラシンボルテーブルにセ
グメントタイプフラグを出力する手段とを有し、リロケ
ータブルアセンブラコード生成部は、セグメントタイプ
付リロケータブルアセンブラシンボルテーブルを参照し
てソースプログラムからオブジェクトプログラムを生成
する手段を有し、リンカ部は、結合部と配置部とセグメ
ントタイプフラグ判定機能付シンボル値補正部とリンカ
コード生成部とセグメントタイプ付リンカシンボルテー
ブルとを備え、結合部は、アセンブラ部により出力され
たオブジェクトプログラム中の同じセグメントタイプの
セグメントを1つに結合する手段と、セグメントタイプ
付リンカシンボルテーブルを作成する手段とを有し、配
置部は、結合部により1つに結合された個々のセグメン
トをメモリに配置する手段を有し、セグメントタイプフ
ラグ判定機能付シンボル値補正部は、配置部によりメモ
リに配置されたセグメントのアドレスからセグメントタ
イプ付リンカシンボルテーブル中のシンボル値の補正を
行ない、オブジェクトプログラムの補正を行なう手段
と、セグメントタイプ付リンカシンボルテーブルからセ
グメントタイプフラグを読み取り、動作時アドレスと配
置時アドレスとが異なるセグメントのときは、情報ファ
イルから動作時アドレスを読み取りシンボル値の補正を
行ないオブジェクトプログラムの補正を行なう手段とを
有し、リンカコード生成部は、シンボル値の補正された
オブジェクトプログラムからロードモジュールプログラ
ムを生成する手段を有する。
In the language processing system of the present invention, an arrangement time address which is an address of a segment arranged at an absolute address and an operation time address which is an address when a program operates on a microcomputer are provided. A language processing system for determining an operation address of a segment when at least one different segment is provided, wherein the language processing system includes an assembler unit and a linker unit, and the assembler unit includes a lexical analyzer and a segment type flag. The lexical analyzer includes a syntax analyzer with a setting function, a relocatable assembler code generator, and a relocatable assembler symbol table with a segment type.The lexical analyzer sequentially analyzes the language described in the source program for each delimiter in the source program, Whether the character can be used by the assembler A parsing unit having a segment type flag setting function for analyzing whether or not the source program analyzed by the lexical analyzing unit conforms to the assembler format on a line-by-line basis; Means for outputting a segment type flag to a relocatable assembler symbol table with a segment type when a segment having a different time address and arrangement time address is described in the source program. Means for generating an object program from a source program with reference to the attached relocatable assembler symbol table; the linker section includes a combining section, an arrangement section, a symbol value correction section with a segment type flag determination function, a linker code generation section, and a segment type. Attached A linker symbol table, wherein the combining unit has means for combining segments of the same segment type in the object program output by the assembler unit into one, and means for creating a linker symbol table with segment type, The arranging unit has means for arranging the individual segments combined into one in the memory by the combining unit, and the symbol value correcting unit with a segment type flag determination function is configured to calculate the segment from the address of the segment arranged in the memory by the arranging unit Means for correcting the symbol value in the linker symbol table with segment type and correcting the object program, and reading the segment type flag from the linker symbol table with segment type and when the operating address differs from the allocation address in the segment Is the information file Means for reading an address during operation from the controller and correcting the symbol value, and correcting the object program. The linker code generating section has means for generating a load module program from the object program having the corrected symbol value.

【0014】また、セグメントタイプフラグ設定機能付
構文解析部は、ソースプログラムを行単位でアセンブラ
の書式にあっているか否かの解析を順次行なう手段と、
配置擬似命令が現れた場合は、配置擬似命令処理を行な
う手段と、配置擬似命令が配置時アドレスと動作時アド
レスとが異なるセグメントか否かを判断し、配置時アド
レスと動作時アドレスとが異なるセグメントの場合に
は、セグメントタイプフラグ設定処理によりセグメント
タイプ付リロケータブルアセンブラシンボルテーブルに
セグメントタイプフラグを出力する手段とを有してもよ
い。
The syntax analysis unit with a segment type flag setting function sequentially analyzes the source program in line as to whether the source program conforms to the assembler format.
When a placement pseudo instruction appears, the means for processing the placement pseudo instruction and whether the placement pseudo instruction is a segment in which the address at the time of placement and the address at the time of operation are different are determined, and the address at the time of placement and the address at the time of operation differ. In the case of a segment, means for outputting a segment type flag to a relocatable assembler symbol table with segment type by a segment type flag setting process may be provided.

【0015】本発明の言語処理システムは、絶対番地に
配置されたセグメントのアドレスである配置時アドレス
と、プログラムがマイコン上で動作するときのアドレス
である動作時アドレスとが、異なるセグメントを少なく
とも1つ有する場合のセグメントの動作アドレスを決定
する言語処理システムであって、言語処理システムは、
アセンブラ部とリンカ部とから構成され、アセンブラ部
は、字句解析部と構文解析部とリロケータブルアセンブ
ラコード生成部とリロケータブルアセンブラシンボルテ
ーブルとを備え、字句解析部は、ソースプログラムに記
述された言語をソースプログラム中の区切り子単位で順
次解析を行ない、アセンブラで使用できる文字であるか
否かを各々解析する手段を有し、構文解析部は、字句解
析部により解析されたソースプログラムを行単位にアセ
ンブラの書式にあっているか否かを解析する手段と、リ
ロケータブルアセンブラシンボルテーブルを生成する手
段とを有し、リロケータブルアセンブラコード生成部
は、リロケータブルアセンブラシンボルテーブルを参照
してソースプログラムからオブジェクトプログラムを生
成する手段を有し、リンカ部は、ディレクティブプログ
ラムとディレクティブ解析部とディレクティブ対応結合
部と配置部とセグメントタイプフラグ判定機能付シンボ
ル値補正部とリンカコード生成部とセグメントタイプ付
リンカシンボルテーブルとを備え、ディレクティブ解析
部は、セグメントタイプの指定を行なうファイルである
ディレクティブプログラムの内容を解析する手段を有
し、ディレクティブ対応結合部は、オブジェクトプログ
ラムとディレクティブ解析部の解析内容とを読み込み、
セグメントタイプ付リンカシンボルテーブルを作成する
手段を有し、配置部は、結合部により1つに結合された
個々のセグメントをメモリに配置する手段を有し、セグ
メントタイプフラグ判定機能付シンボル値補正部は、配
置部によりメモリに配置されたセグメントのアドレスか
らセグメントタイプ付リンカシンボルテーブル中のシン
ボル値の補正を行ない、オブジェクトプログラムの補正
を行なう手段と、セグメントタイプ付リンカシンボルテ
ーブルからセグメントタイプフラグを読み取り、動作時
アドレスと配置時アドレスとが異なるセグメントのとき
は、情報ファイルから動作時アドレスを読み取りシンボ
ル値の補正を行ないオブジェクトプログラムの補正を行
なう手段とを有し、リンカコード生成部は、シンボル値
の補正されたオブジェクトプログラムからロードモジュ
ールプログラムを生成する手段を有する。
In the language processing system according to the present invention, at least one segment in which an arrangement time address which is an address of a segment arranged at an absolute address and an operation time address which is an address when a program operates on a microcomputer is different. A language processing system for determining an operation address of a segment when there is one, wherein the language processing system comprises:
The assembler section includes a lexical analysis section, a syntax analysis section, a relocatable assembler code generation section, and a relocatable assembler symbol table. Means for sequentially analyzing each delimiter in the program to determine whether or not the character can be used by the assembler; the parsing unit converts the source program analyzed by the lexical analysis unit into assemblers for each line And a means for generating a relocatable assembler symbol table. The relocatable assembler code generator generates an object program from a source program by referring to the relocatable assembler symbol table. Having means, The linker section includes a directive program, a directive analysis section, a directive correspondence connection section, an arrangement section, a symbol value correction section with a segment type flag determination function, a linker code generation section, and a linker symbol table with a segment type, and the directive analysis section includes: It has means for analyzing the contents of the directive program, which is a file for specifying the segment type, and the directive corresponding connection unit reads the object program and the analysis contents of the directive analysis unit,
A means for creating a linker symbol table with a segment type, the arranging section having means for arranging individual segments combined into one by a combining section in a memory, and a symbol value correcting section with a segment type flag determination function Means for correcting the symbol value in the linker symbol table with segment type from the address of the segment arranged in the memory by the arranging unit to correct the object program, and reading the segment type flag from the linker symbol table with segment type Means for reading the operating address from the information file and correcting the symbol value when the segment is different from the operating address and the arrangement address, and correcting the object program. The corrected object of And means for generating a load module program from E ECTS program.

【0016】本発明の言語処理システムの言語処理方法
は、字句解析部により、ソースプログラムに記述された
言語をソースプログラム中の区切り子単位で順次解析を
行ない、アセンブラで使用できる文字であるか否かを各
々解析する段階と、セグメントタイプフラグ設定機能付
構文解析部によって、字句解析部により解析されたソー
スプログラムを行単位にアセンブラの書式にあっている
か否かを解析し、動作時アドレスと配置時アドレスとが
異なるセグメントがソースプログラム中に記述されてい
る場合、セグメントタイプ付リロケータブルアセンブラ
シンボルテーブルにセグメントタイプフラグを出力する
段階と、リロケータブルアセンブラコード生成部によ
り、セグメントタイプ付リロケータブルアセンブラシン
ボルテーブルを参照してソースプログラムからオブジェ
クトプログラムを生成する段階と、結合部によって、ア
センブラ部により出力されたオブジェクトプログラム中
の同じセグメントタイプのセグメントを1つに結合し、
セグメントタイプ付リンカシンボルテーブルを作成する
段階と、配置部によって、結合部により1つに結合され
た個々のセグメントをメモリに配置する段階と、セグメ
ントタイプフラグ判定機能付シンボル値補正部によっ
て、配置部によりメモリに配置されたセグメントのアド
レスからセグメントタイプ付リンカシンボルテーブル中
のシンボル値の補正を行なって、オブジェクトプログラ
ムの補正を行ない、セグメントタイプ付リンカシンボル
テーブルからセグメントタイプフラグを読み取り、動作
時アドレスと配置時アドレスとが異なるセグメントのと
きは、情報ファイルから動作時アドレスを読み取りシン
ボル値の補正を行ないオブジェクトプログラムの補正を
行なう段階と、リンカコード生成部により、シンボル値
の補正されたオブジェクトプログラムからロードモジュ
ールプログラムを生成する段階とを有する。
In the language processing method of the language processing system according to the present invention, the lexical analysis unit sequentially analyzes the language described in the source program for each delimiter in the source program, and determines whether the character is a character that can be used in an assembler. And the parsing unit with the segment type flag setting function analyzes whether the source program analyzed by the lexical analysis unit conforms to the assembler format on a line-by-line basis. When a segment with a different hour address is described in the source program, the relocatable assembler symbol table with segment type is output to the relocatable assembler symbol table with segment type, and the relocatable assembler symbol table with segment type is referenced by the relocatable assembler code generator And generating an object program from the source program Te, the coupling portion couples the segment of the same segment type in the object program output by the assembler unit into one,
A step of creating a linker symbol table with a segment type, a step of arranging the individual segments combined into one by the combining unit in the memory by the arranging unit, and a arranging unit by the symbol value correcting unit with the segment type flag determination function. Corrects the symbol value in the linker symbol table with segment type from the address of the segment arranged in the memory, corrects the object program, reads the segment type flag from the linker symbol table with segment type, reads the operating address and If the segment has a different address at the time of placement, the operating address is read from the information file, the symbol value is corrected, and the object program is corrected. And a step of generating a load module program from transfected program.

【0017】また、セグメントタイプフラグ設定機能付
構文解析部により、ソースプログラムを行単位でアセン
ブラの書式にあっているか否かの解析を順次行なう段階
と、配置擬似命令が現れた場合は、配置擬似命令処理を
行なう段階と、配置擬似命令が配置時アドレスと動作時
アドレスとが異なるセグメントか否かを判断し、配置時
アドレスと動作時アドレスとが異なるセグメントの場合
には、セグメントタイプフラグ設定処理によりセグメン
トタイプ付リロケータブルアセンブラシンボルテーブル
にセグメントタイプフラグを出力する段階とを有しても
よい。
Further, the syntax analyzer with the segment type flag setting function sequentially analyzes whether the source program conforms to the assembler format on a line-by-line basis. Performing instruction processing and determining whether or not the placement pseudo-instruction is a segment where the address at the time of placement and the address at the time of operation are different; if the placement address and the address at the time of operation are different segments, a segment type flag setting process And outputting a segment type flag to a relocatable assembler symbol table with segment type.

【0018】本発明の言語処理システムの言語処理方法
は、字句解析部により、ソースプログラムに記述された
言語をソースプログラム中の区切り子単位で順次解析を
行ない、アセンブラで使用できる文字であるか否かを各
々解析する段階と、構文解析部によって、字句解析部に
より解析されたソースプログラムを行単位にアセンブラ
の書式にあっているか否かを解析し、リロケータブルア
センブラシンボルテーブルを生成する段階と、リロケー
タブルアセンブラコード生成部により、リロケータブル
アセンブラシンボルテーブルを参照してソースプログラ
ムからオブジェクトプログラムを生成する段階と、ディ
レクティブ解析部により、セグメントタイプの指定を行
なうファイルであるディレクティブプログラムの内容を
解析する段階と、ディレクティブ対応結合部により、オ
ブジェクトプログラムとディレクティブ解析部の解析内
容とを読み込み、セグメントタイプ付リンカシンボルテ
ーブルを作成する段階と、配置部は、結合部により1つ
に結合された個々のセグメントをメモリに配置する段階
と、セグメントタイプフラグ判定機能付シンボル値補正
部によって、配置部によりメモリに配置されたセグメン
トのアドレスからセグメントタイプ付リンカシンボルテ
ーブル中のシンボル値の補正を行なって、オブジェクト
プログラムの補正を行ない、セグメントタイプ付リンカ
シンボルテーブルからセグメントタイプフラグを読み取
り、動作時アドレスと配置時アドレスとが異なるセグメ
ントのときは、情報ファイルから動作時アドレスを読み
取りシンボル値の補正を行ないオブジェクトプログラム
の補正を行なう段階と、リンカコード生成部により、シ
ンボル値の補正されたオブジェクトプログラムからロー
ドモジュールプログラムを生成する段階とを有する。
In the language processing method of the language processing system according to the present invention, the lexical analysis unit sequentially analyzes the language described in the source program for each delimiter in the source program, and determines whether or not the character can be used in an assembler. Analyzing the source program analyzed by the lexical analysis unit on a line-by-line basis to see if the source program is in assembler format, and generating a relocatable assembler symbol table. A step of generating an object program from the source program by referring to the relocatable assembler symbol table by the assembler code generation unit, and a step of analyzing the contents of the directive program which is a file for specifying the segment type by the directive analysis unit; A step of reading the object program and the analysis contents of the directive analysis unit by the directive correspondence connection unit and creating a linker symbol table with segment type; and a step of placing the individual segments combined by the connection unit into a memory. In the arranging step, the symbol value in the linker symbol table with the segment type is corrected by the symbol value correcting unit with the segment type flag determining function from the address of the segment allocated in the memory by the arranging unit, thereby correcting the object program. The segment type flag is read from the linker symbol table with segment type, and if the operating address differs from the placement address, the operating address is read from the information file to correct the symbol value. It has a step of correcting the E transfected program, the linker code generator, and generating a load module program from the corrected object program symbol values.

【0019】本発明による言語処理システム及びその言
語処理方法は、セグメントの動作アドレス決定におい
て、配置時アドレスと動作時アドレスとが異なるセグメ
ントを少なくともひとつ有する場合、セグメントの動作
アドレスを自動的に解決できる構成を提供するものであ
る。
The language processing system and the language processing method according to the present invention can automatically resolve the operation address of a segment when the operation address of the segment has at least one segment having a different address at the time of arrangement and operation. The configuration is provided.

【0020】アセンブラ部では、次の処理が行なわれ
る。セグメントタイプフラグ設定機能付き構文解析部
は、プログラム中に配置時アドレスと動作時アドレスが
異なることを示すセグメントタイプが記述されている
と、セグメントタイプ付RAシンボルテーブルにセグメ
ントタイプフラグを出力する。リンカ部では次の処理が
行なわれる。結合部は、同じセグメントタイプのセグメ
ント(以下、同類のセグメント)を1つに結合する。ま
たオブジェクトプログラム中からシンボル情報を読み出
しセグメントタイプ付LKシンボルテーブルを作成す
る。
The following processing is performed in the assembler unit. The syntax analyzer with a segment type flag setting function outputs a segment type flag to the RA symbol table with segment type when a segment type indicating that the address at the time of operation is different from the address at the time of operation is described in the program. The following processing is performed in the linker section. The joining unit joins segments of the same segment type (hereinafter, similar segments) into one. Also, the symbol information is read from the object program to create an LK symbol table with segment type.

【0021】配置部は結合部により1つにまとめられた
各タイプのセグメントの配置を行なう。セグメントタイ
プフラグ判定機能付シンボル値補正部は配置部により配
置時アドレスが決定したセグメント中のシンボル値の補
正を行なう。このときセグメントタイプフラグ判定機能
付シンボル値補正部はセグメントタイプ付LKシンボル
テーブル中のセグメントタイプフラグを読み取り、配置
時アドレスと動作時アドレスが異なるセグメントか否か
を調べる。配置時アドレスと動作時アドレスが異なるセ
グメントの場合は、情報ファイルより動作時アドレスを
読み取り、動作時アドレスによりシンボル値の補正を行
なう。
The arranging section arranges each type of segment united by the connecting section. The symbol value correction unit with the segment type flag determination function corrects the symbol value in the segment whose address at the time of arrangement is determined by the arrangement unit. At this time, the symbol value correction unit with segment type flag determination function reads the segment type flag in the LK symbol table with segment type, and checks whether or not the segment address is different from the segment address at the time of operation. In the case of a segment where the address at the time of arrangement and the address at the time of operation are different, the address at the time of operation is read from the information file, and the symbol value is corrected by the address at the time of operation.

【0022】これにより配置時アドレスと動作時アドレ
スが異なるセグメントが複数ある場合においても、動作
アドレス解決の自動化を可能にする。
This makes it possible to automate the operation address resolution even when there are a plurality of segments where the address at the time of arrangement and the address at the time of operation are different.

【0023】[0023]

【発明の実施の形態】(本発明の第1の実施の形態)図
1は、本発明の第1の実施の形態の言語処理方法を示す
図である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment of the Present Invention) FIG. 1 is a diagram showing a language processing method according to a first embodiment of the present invention.

【0024】図1を参照すると本実施の形態はアセンブ
ラ部103とリンカ部104とを含む。アセンブラ部1
03は字句解析部110とセグメントタイプフラグ設定
機能付構文解析部111とRAコード生成部112とセ
グメントタイプ付RAシンボルテーブル113とを備え
ている。
Referring to FIG. 1, the present embodiment includes an assembler unit 103 and a linker unit 104. Assembler unit 1
Reference numeral 03 includes a lexical analyzer 110, a syntax analyzer 111 with a segment type flag setting function, an RA code generator 112, and an RA symbol table 113 with a segment type.

【0025】字句解析部110はソースプログラム10
0に記述された言語をソースプログラム100中の区切
り子単位で順次解析を行ない、アセンブラで使用できる
文字であるか否かを各々解析する。セグメントタイプフ
ラグ設定機能付構文解析部111は、字句解析部110
により解析されたソースプログラム100を行単位にア
センブラの書式にあっているか否かの解析と、動作時ア
ドレスと配置時アドレスが異なるセグメントがソースプ
ログラム100中に記述されている場合、セグメントタ
イプ付RAシンボルテーブル113にセグメントタイプ
フラグ1000(図2)を出力する。
The lexical analysis unit 110 stores the source program 10
The language described in 0 is sequentially analyzed for each delimiter in the source program 100, and whether or not the language is a character that can be used by an assembler is analyzed. The syntax analysis unit with segment type flag setting function 111 includes a lexical analysis unit 110
Whether the source program 100 analyzed in accordance with the above is in the assembler format on a line-by-line basis, and if a segment having a different address at the time of operation and at the time of arrangement is described in the source program 100, The segment type flag 1000 (FIG. 2) is output to the symbol table 113.

【0026】セグメントタイプ付RAシンボルテーブル
113はソースプログラム100中に記述されたシンボ
ルの情報を登録するテーブルである。セグメントタイプ
付RAシンボルテーブル113はメモリ上に作成されR
Aコード生成部112から参照される。
The segment type-added RA symbol table 113 is a table for registering information on symbols described in the source program 100. The RA symbol table 113 with segment type is
It is referenced from the A code generation unit 112.

【0027】RAコード生成部112は、ソースプログ
ラム100からセグメントタイプ付RAシンボルテーブ
ル113の内容を参照してオブジェクトプログラム10
1を生成する。
The RA code generation unit 112 refers to the contents of the RA symbol table 113 with the segment type from the source program 100 and
1 is generated.

【0028】リンカ部104は結合部114と配置部1
15とセグメントタイプフラグ判定機能付シンボル値補
正部116とLKコード生成部117とセグメントタイ
プ付LKシンボルテーブル118とを備えている。
The linker section 104 includes the connecting section 114 and the arrangement section 1
15, a symbol value correction unit 116 with a segment type flag determination function, an LK code generation unit 117, and an LK symbol table with segment type 118.

【0029】結合部114はアセンブラ部103により
出力されたオブジェクトプログラム101中の同類のセ
グメントを1つに結合し、セグメントタイプ付LKシン
ボルテーブル118をメモリ上に作成する。配置部11
5は結合部114により1つに結合された個々のセグメ
ントをメモリに配置する。
The combining unit 114 combines similar segments in the object program 101 output by the assembler unit 103 into one, and creates an LK symbol table with segment type 118 on the memory. Arrangement unit 11
5 arranges the individual segments combined into one by the combining unit 114 in the memory.

【0030】セグメントタイプフラグ判定機能付シンボ
ル値補正部116は配置部115によりメモリに配置さ
れたセグメントのアドレスからセグメントタイプ付LK
シンボルテーブル118中のシンボル値の補正を行な
い、オブジェクトプログラムの補正も行なう。またセグ
メントタイプ付LKシンボルテーブル118からセグメ
ントタイプフラグ(図11−1100)を読み取り、動
作時アドレスと配置時アドレスが異なるセグメントのと
きは、情報ファイル105から動作時アドレスを読み取
りシンボル値の補正を行ないオブジェクトプログラムの
補正も行なう。
The symbol value correction unit with segment type flag determination function 116 uses the segment type LK based on the address of the segment arranged in the memory by the arrangement unit 115.
The symbol values in the symbol table 118 are corrected, and the object program is also corrected. Also, the segment type flag (FIG. 11-1100) is read from the LK symbol table with segment type 118, and if the operating address is different from the arrangement address, the operating address is read from the information file 105 to correct the symbol value. Also corrects the object program.

【0031】LKコード生成部117はシンボル値の補
正されたオブジェクトプログラムをロードモジュールプ
ログラム102を生成する。
The LK code generator 117 generates the load module program 102 from the object program whose symbol value has been corrected.

【0032】次に図1から図11を参照して本発明の第
1の実施の形態の動作について詳細に説明する。
Next, the operation of the first embodiment of the present invention will be described in detail with reference to FIGS.

【0033】字句解析部110はソースプログラム10
0を入力し、アセンブラで使用できる文字であるか否か
の解析を行なう。解析を終えたソースプログラム100
はセグメントタイプフラグ設定機能付構文解析部111
に供給される。セグメントタイプフラグ設定機能付構文
解析部111はソースプログラムを行単位でアセンブラ
の書式にあっているか否かの解析を順次行なう(図4の
ステップS200、S201、S204)。
The lexical analyzer 110 is provided for the source program 10
Input 0 and analyze whether the character can be used by the assembler. Source program 100 after analysis
Is a syntax analyzer 111 with a segment type flag setting function
Supplied to The syntax analysis unit with segment type flag setting function 111 sequentially analyzes whether the source program conforms to the assembler format line by line (steps S200, S201, S204 in FIG. 4).

【0034】配置擬似命令が現れた場合は、ステップS
204の処理により配置擬似命令処理S205を行な
う。次に配置擬似命令が配置時アドレスと動作時アドレ
スが異なるセグメントか否かをステップS206により
判断し、もし配置時アドレスと動作時アドレスが異なる
セグメントだった場合には、セグメントタイプフラグ設
定処理(S207)によりセグメントタイプ付RAシン
ボルテーブル113にセグメントタイプフラグ1000
を出力する。RAコード生成部112はセグメントタイ
プ付RAシンボルテーブル113を入力し、オブジェク
トプログラム101を生成する。
If a placement pseudo instruction appears, step S
A placement pseudo instruction process S205 is performed by the process of 204. Next, it is determined in step S206 whether or not the placement pseudo-instruction is a segment in which the placement address is different from the operation address. If the placement pseudo instruction is a segment in which the placement address is different from the operation address, a segment type flag setting process (S207) ), The segment type flag 1000 is added to the RA symbol table 113 with segment type.
Is output. The RA code generation unit 112 receives the RA symbol table with segment type 113 as input, and generates the object program 101.

【0035】結合部114はオブジェクトプログラム1
01を入力し、オブジェクトプログラム101中のセグ
メントごとに解析を行ない同類のセグメントを1つのセ
グメントに結合する。またオブジェクトプログラム10
1中からシンボル情報を読みだし、メモリ上にセグメン
トタイプ付LKシンボルテーブル118を作成する。配
置部115は結合された個々のセグメントの配置を行な
う。
The connection unit 114 is an object program 1
01 is input, analysis is performed for each segment in the object program 101, and similar segments are combined into one segment. The object program 10
1, the symbol information is read out, and an LK symbol table with segment type 118 is created on the memory. The arranging section 115 arranges the combined individual segments.

【0036】セグメントタイプフラグ判定機能付シンボ
ル値補正部116は、配置したアドレスによりセグメン
トタイプ付LKシンボルテーブル118中のシンボル値
を補正する。またセグメントタイプフラグ判定機能付シ
ンボル値補正部116はセグメントタイプ付LKシンボ
ルテーブル118中からセグメントタイプフラグ110
0を読み取る。
The symbol value correction unit with segment type flag determination function 116 corrects the symbol value in the LK symbol table with segment type 118 based on the allocated address. The symbol value correction unit 116 with a segment type flag determination function outputs the segment type flag 110 from the LK symbol table 118 with a segment type.
Read 0.

【0037】次に、図5を用いてその動作を詳しく説明
する。図5のステップS300によりセグメントタイプ
フラグ1100が配置時アドレスと動作時アドレスが異
なることを示しているか否かを判断する。もし配置時ア
ドレスと動作時アドレスが異なる場合は、動作時アドレ
スを情報ファイル105から読込み(ステップS30
2)、ステップS303により動作時アドレスでシンボ
ル値の補正を行なう。一方、配置時アドレスと動作時ア
ドレスが同じ場合はステップS301により配置時アド
レスでシンボル値を補正する。最後にLKコード生成部
117によりロードモジュールプログラム102を生成
する。
Next, the operation will be described in detail with reference to FIG. It is determined whether or not the segment type flag 1100 indicates that the address at the time of arrangement and the address at the time of operation are different by step S300 in FIG. If the address at the time of arrangement is different from the address at the time of operation, the address at the time of operation is read from the information file 105 (step S30).
2) In step S303, the symbol value is corrected using the operating address. On the other hand, if the address at the time of arrangement and the address at the time of operation are the same, the symbol value is corrected by the address at the time of arrangement at step S301. Finally, the LK code generation unit 117 generates the load module program 102.

【0038】次に具体例を用いて本発明の第1の実施の
形態の動作を説明する。
Next, the operation of the first embodiment of the present invention will be described using a specific example.

【0039】図6に示すようにセグメント700、70
1、702の3つがソースプログラム100に記述され
ているとする。
As shown in FIG.
It is assumed that three of 1, 702 are described in the source program 100.

【0040】図1の字句解析部110はソースプログラ
ム100を入力し、アセンブラで使用できる文字か否か
を解析する。アセンブラで使用できない文字は含まれて
いないので、セグメントタイプフラグ設定機能付構文解
析部111に処理が渡される。セグメントタイプフラグ
設定機能付構文解析部111は3つのセグメント70
0、701、702について書式の解析を行なう。今、
セグメント700が解析されるとする(図4のステップ
S200、S201、S204)。セグメント700に
は配置擬似命令“cseg”があるため配置擬似命令処
理S205を行なう。さらに“transfer”は配
置時アドレスと動作時アドレスが異なることを示すセグ
メントタイプなのでセグメントタイプフラグ1000を
セグメントタイプ付RAシンボルテーブル113に出力
する(図4のステップS206、S207、図2(b)
1000−1)。
The lexical analyzer 110 shown in FIG. 1 receives the source program 100 and analyzes whether or not the character can be used by an assembler. Since characters that cannot be used in the assembler are not included, the process is passed to the syntax analyzer 111 with a segment type flag setting function. The syntax analysis unit 111 with the segment type flag setting function has three segments 70
The format is analyzed for 0, 701, and 702. now,
It is assumed that the segment 700 is analyzed (steps S200, S201, S204 in FIG. 4). Since the segment 700 has the placement pseudo instruction "cseg", the placement pseudo instruction processing S205 is performed. Further, since "transfer" is a segment type indicating that the address at the time of arrangement and the address at the time of operation are different, the segment type flag 1000 is output to the RA symbol table with segment type 113 (steps S206 and S207 in FIG. 4, FIG. 2B).
1000-1).

【0041】次にセグメント701が解析されるとす
る。セグメント701も“cseg”があるため配置擬
似命令処理S205を行なう。セグメント701には
“transfer”がないためセグメントタイプフラ
グ1000は出力されず終了する(図2のステップS2
06、図2(b)1000−2)。
Next, it is assumed that the segment 701 is analyzed. Since segment 701 also has "cseg", placement pseudo instruction processing S205 is performed. Since there is no “transfer” in the segment 701, the segment type flag 1000 is not output and the process ends (step S2 in FIG. 2).
06, FIG. 2 (b) 1000-2).

【0042】セグメント702はセグメント700と同
じ処理を行なう(図4のステップS206、S207、
図2(b)1000−3)。以上の処理によりセグメン
トタイプ付RAシンボルテーブル113は図2(b)の
ようになる。
The segment 702 performs the same processing as the segment 700 (steps S206 and S207 in FIG. 4).
Fig. 2 (b) 1000-3). With the above processing, the RA symbol table with segment type 113 becomes as shown in FIG.

【0043】次にRAコード生成部112によりセグメ
ントタイプ付RAシンボルテーブル113の情報を含む
オブジェクトプログラム101が作成される。
Next, the object program 101 including the information of the RA symbol table with segment type 113 is created by the RA code generator 112.

【0044】結合部114はオブジェクトプログラム1
01を読込む。オブジェクトプログラム101中にはセ
グメントタイプ付RAシンボルテーブル113の情報
(図2(b))が入っているため、この情報を元にセグ
メントタイプ付LKシンボルテーブル118を作成す
る。また同類のセグメントの結合も行なうため、この場
合セグメント700とセグメント702は結合される。
結合後のセグメントタイプ付LKシンボルテーブル11
8は図3(b)のようになっている。
The connection unit 114 is the object program 1
Read 01. Since the object program 101 contains information of the RA symbol table with segment type 113 (FIG. 2B), the LK symbol table with segment type 118 is created based on this information. In addition, since similar segments are combined, in this case, the segment 700 and the segment 702 are combined.
LK symbol table 11 with segment type after combination
8 is as shown in FIG.

【0045】次に配置部115により各セグメントはメ
モリに配置される。メモリマップを図7に示す。配置が
終わったならばセグメントタイプフラグ判定機能付構文
解析部116によりシンボル値の補正を行なう。今、セ
グメント700、702の補正を行なうとする。このと
きセグメントタイプ付LKシンボルテーブル118を参
照し、セグメントタイプフラグ1100(図3(b)1
100−1)がアクティブであるため、動作時アドレス
を情報ファイル105より読込みセグメントの動作時ア
ドレスでシンボル値を補正する(ステップS300、S
302、S303)。動作時アドレスを持つ情報ファイ
ル105の内容は、情報ファイルの例(図8)のように
なっている。
Next, the arrangement section 115 arranges each segment in the memory. FIG. 7 shows the memory map. When the arrangement is completed, the symbol value is corrected by the syntax analysis unit with segment type flag determination function 116. Now, it is assumed that the segments 700 and 702 are corrected. At this time, the LK symbol table with segment type 118 is referred to, and the segment type flag 1100 (FIG.
Since 100-1) is active, the operating address is read from the information file 105 and the symbol value is corrected by the operating address of the segment (steps S300, S300).
302, S303). The contents of the information file 105 having the operating address are as shown in the example of the information file (FIG. 8).

【0046】次にセグメント701の補正を行なう場合
は、セグメントタイプフラグ1100がセグメントタイ
プ付LKシンボルテーブル118においてノンアクティ
ブであるので、セグメントの配置時アドレスでシンボル
値の補正を行なう(ステップS300、S301)。
Next, when correcting the segment 701, since the segment type flag 1100 is inactive in the LK symbol table with segment type 118, the symbol value is corrected by the address at the time of arrangement of the segment (steps S300 and S301). ).

【0047】シンボルの補正が終わったならば、LKコ
ード生成部117によりロードモジュールプログラム1
02を生成する。
When the symbol correction is completed, the LK code generator 117 loads the load module program 1
02 is generated.

【0048】(本発明の第2の実施の形態)本発明の第
1の実施の形態では1つのソースプログラムと3つのセ
グメントを用いる場合について説明したがソースプログ
ラム、セグメントの数に制限はない。
(Second Embodiment of the Present Invention) In the first embodiment of the present invention, a case where one source program and three segments are used has been described, but the number of source programs and segments is not limited.

【0049】第1の実施の形態の問題点として、ソース
プログラム100を新規に作成、または、既存のものを
修正しなければならない。
As a problem of the first embodiment, it is necessary to newly create the source program 100 or to modify an existing one.

【0050】また、既存のライブラリを流用できない、
という問題があげられる。この対策案として、第2の実
施の形態をしめす。
In addition, existing libraries cannot be used.
The problem is raised. A second embodiment is shown as a countermeasure for this.

【0051】図9を参照すると本実施の形態は、リンカ
部404にディレクティブプログラム403とディレク
ティブ解析部412を有している。
Referring to FIG. 9, in the present embodiment, a linker 404 has a directive program 403 and a directive analyzer 412.

【0052】アセンブラ部402は、従来のアセンブラ
部103と同等である。リンカ部404のディレクティ
ブ対応結合部405は、ディレクティブ解析部412に
より解析された内容を読み込む点で図1の結合部114
と異なる。
The assembler unit 402 is equivalent to the conventional assembler unit 103. The directive corresponding connecting unit 405 of the linker unit 404 reads the content analyzed by the directive analyzing unit 412,
And different.

【0053】以上が図1の実施の形態と異なる点であ
る。
The above is the difference from the embodiment of FIG.

【0054】ディレクティブプログラム403はセグメ
ントタイプの指定を行なうファイルである。ディレクテ
ィブ解析部412はディレクティブプログラム403の
内容を解析する。
The directive program 403 is a file for designating a segment type. The directive analyzer 412 analyzes the contents of the directive program 403.

【0055】本実施の形態の動作を図面を参照して詳細
に説明する。
The operation of the present embodiment will be described in detail with reference to the drawings.

【0056】図9のアセンブラ部402は、従来のアセ
ンブラ部103と同等のため、字句解析部110、RA
コード生成部112、配置部115、セグメントタイプ
フラグ判定機能付構文解析部116、LKコード生成部
117、セグメントタイプ付LKシンボルテーブル11
8の動作については、図1に示された実施の形態の各手
段である字句解析部110、RAコード生成部112、
配置部115、セグメントタイプフラグ判定機能付構文
解析部116、LKコード生成部117、セグメントタ
イプ付LKシンボルテーブル118の動作と同等のため
説明は省略する。
Since the assembler unit 402 shown in FIG. 9 is equivalent to the conventional assembler unit 103, the lexical analyzer 110 and the RA
Code generation unit 112, placement unit 115, syntax analysis unit 116 with segment type flag determination function, LK code generation unit 117, LK symbol table 11 with segment type
8, the lexical analyzer 110, the RA code generator 112, and the respective units of the embodiment shown in FIG.
The operations are the same as those of the arrangement unit 115, the syntax analysis unit 116 with a segment type flag determination function, the LK code generation unit 117, and the LK symbol table 118 with a segment type, so that the description is omitted.

【0057】図1に示された実施の形態ではセグメント
タイプフラグ設定機能付構文解析部111により配置時
アドレスと動作時アドレスが異なるセグメントの有無を
解析し、セグメントタイプ付RAシンボルテーブル11
3にセグメントタイプフラグを出力していた。本実施の
形態ではこの処理をアセンブラ部103では行なわな
い。このため図6のソースプログラム100の記述は簡
略化され図9に示すソースプログラム400の形式とな
る。図6のソースプログラム100との違いは、配置時
アドレスと動作時アドレスが異なることを示すセグメン
トタイプ“transfer”が図10のソースプログ
ラム400には必要ないことである。
In the embodiment shown in FIG. 1, the syntax analyzer 111 with a segment type flag setting function analyzes the presence or absence of a segment having an address different from the address at the time of arrangement and the address at the time of operation.
3 output the segment type flag. In the present embodiment, this processing is not performed by the assembler unit 103. Therefore, the description of the source program 100 in FIG. 6 is simplified and becomes the format of the source program 400 shown in FIG. The difference from the source program 100 of FIG. 6 is that the segment type “transfer” indicating that the address at the time of arrangement and the address at the time of operation are different is not necessary in the source program 400 of FIG.

【0058】図9の構文解析部410は字句解析部11
0により解析されたソースプログラムがアセンブラの書
式にあっているか否かの解析とRAシンボルテーブル4
11の生成を行なうものであり、従来技術と同等の処理
である。
The parsing unit 410 shown in FIG.
0 whether the source program analyzed in the assembler format or not and the RA symbol table 4
11 is performed, which is the same processing as the conventional technique.

【0059】ディレクティブ対応結合部405は、オブ
ジェクトプログラム401、および、ディレクティブ解
析部412の解析内容を読み込み、セグメントタイプ付
LKシンボルテーブル118を生成する。
The directive correspondence unit 405 reads the object program 401 and the analysis contents of the directive analyzer 412, and generates the LK symbol table with segment type 118.

【0060】次に具体例について説明する。Next, a specific example will be described.

【0061】図9においてソースプログラム400を入
力する場合を説明する。ソースプログラム400には図
10に示すように3つのセグメント800、801(7
01)、802が記述されている。構文解析部410は
前述の具体例でいえば配置時アドレスと動作時アドレス
が異なることを示すセグメントタイプ“tranfe
r”の解析を行なわないため、セグメント800、80
1(701)、802はすべて同じ処理が行なわれ、R
Aコード生成部により従来と同等のオブジェクトプログ
ラム401が生成される。
The case where the source program 400 is input will be described with reference to FIG. As shown in FIG. 10, the source program 400 has three segments 800 and 801 (7
01) and 802 are described. The syntax analysis unit 410 has a segment type “transfer” indicating that the address at the time of placement is different from the address at the time of operation in the above-described specific example.
Since the analysis of r ″ is not performed, the segments 800 and 80
1 (701) and 802 all perform the same processing.
The A-code generation unit generates an object program 401 equivalent to the conventional one.

【0062】次にディレクティブ対応結合部405は旧
形式オブジェクトプログラム401の読込みを行なった
後、ディレクティブ解析部412の呼び出しを行なう。
ディレクティブ解析部412はディレクティブプログラ
ム403を読込み解析を行なう。今、ディレクティブプ
ログラム403に図11に示す命令が記述されていたと
する。ディレクティブ解析部412はこの命令を解析
し、セグメント“cseg1”、“cseg3”に対
し、配置タイプを“transfer”にする。そして
セグメントタイプ付LKシンボルテーブル118の該当
欄にセグメントタイプフラグ1100を出力するように
ディレクティブ対応結合部405に指示する(図12の
ステップS500、S502)。 “cseg1”はセ
グメント800、“cseg3”はセグメント802の
ことである。
Next, after reading the old format object program 401, the directive correspondence connection unit 405 calls the directive analysis unit 412.
The directive analysis unit 412 reads and analyzes the directive program 403. Now, assume that the instruction shown in FIG. 11 is described in the directive program 403. The directive analysis unit 412 analyzes this instruction, and sets the placement type to “transfer” for the segments “cseg1” and “cseg3”. Then, it instructs the directive correspondence unit 405 to output the segment type flag 1100 in the corresponding column of the LK symbol table with segment type 118 (steps S500 and S502 in FIG. 12). “Cseg1” refers to the segment 800, and “cseg3” refers to the segment 802.

【0063】指示を受けたディレクティブ対応結合部4
05は、生成したセグメントタイプ付LKシンボルテー
ブル118のセグメント“cseg1”、“cseg
3”に対応するセグメントタイプ付LKシンボルテーブ
ル118の該当欄にセグメントタイプフラグを出力す
る。
Directive corresponding connection unit 4 that received the instruction
05 indicates the segments “cseg1” and “cseg1” of the generated segment type-added LK symbol table 118.
The segment type flag is output to the corresponding column of the LK symbol table with segment type 118 corresponding to 3 ″.

【0064】配置部115以降の処理は前述の第1の実
施の形態と同じである。
The processing after the arrangement unit 115 is the same as in the first embodiment.

【0065】本発明の第2の実施の形態はリンカ部40
4だけで図1で示した実施の形態と同じ効果を得ること
ができるという新たな効果を有する。
In the second embodiment of the present invention, the linker 40
4 has a new effect that the same effect as the embodiment shown in FIG. 1 can be obtained.

【0066】[0066]

【発明の効果】以上説明したように本発明は以下の効果
を有する。
As described above, the present invention has the following effects.

【0067】第1の効果は、動作時アドレスと配置時ア
ドレスが異なるセグメントが複数存在する場合、各々の
セグメントに対し動作時アドレスを記述しなくてよいこ
とにある。この結果、使用者がプログラムを作成する際
の煩わしさを取り除くことができ、さらにセグメントサ
イズの計算を行なわなくてよいため、プログラムの補正
などで動作時アドレスが変更になるとき、動作時アドレ
スの計算間違いを無くすことができるということであ
る。
The first effect is that when there are a plurality of segments having different addresses at the time of operation and addresses at the time of arrangement, it is not necessary to describe the address at the time of operation for each segment. As a result, it is possible to eliminate the troublesomeness of the user when creating a program, and furthermore, it is not necessary to calculate the segment size. This means that calculation errors can be eliminated.

【0068】その理由は、動作時アドレスと配置時アド
レスが異なるセグメントに対しシンボルテーブルにフラ
グを出力する手段により、シンボルテーブルにフラグを
出力し、シンブルテーブルに出力されたフラグを読み取
る手段によりフラグを読み取った後、動作時アドレスと
配置時アドレスが異なるセグメントを連続して配置する
手段により自動的にセグメントの配置を行なうためであ
る。
The reason is that the flag is output to the symbol table by means for outputting a flag to the symbol table for a segment having an address different from the address at the time of operation and the address at the time of arrangement, and the flag is read by means for reading the flag output to the thimble table. This is because, after reading, segments are automatically arranged by means for continuously arranging segments having different addresses at the time of operation and at the time of arrangement.

【0069】第2の効果は、開発するデバイスが変更に
なったときに動作時アドレスを調査しなくてよいことに
ある。この結果、使用者がデバイスの調査をする際の煩
わしさを取り除くことができるということである。
The second effect is that it is not necessary to check the operating address when the device to be developed is changed. As a result, it is possible to eliminate troublesomeness when the user investigates the device.

【0070】その理由は、情報ファイルに動作時アドレ
スを持たせたことと、情報ファイルから動作時アドレス
を読み取る手段により自動的にアドレスを取得するため
である。
The reason is that the information file has an operation address and that the address is automatically obtained by means for reading the operation address from the information file.

【0071】さらに、第2の実施の形態による効果によ
り、既存のソースプログラムを修正するという煩わしさ
を取り除くことができるということである。
Further, with the effect of the second embodiment, the trouble of modifying an existing source program can be eliminated.

【0072】その理由は、ディレクティブプログラム
より、動作時アドレスと配置時アドレスが異なるセグメ
ントを指定することができるからである。
The reason is that a segment having a different address at the time of operation and an address at the time of arrangement can be specified by the directive program .

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態の言語処理方法を示
す図である。
FIG. 1 is a diagram showing a language processing method according to a first embodiment of the present invention.

【図2】(a)処理前のセグメントタイプ付RAシンボ
ルテーブルを示す図表である。 (b)処理後のセグメントタイプ付RAシンボルテーブ
ルを示す図表である。
FIG. 2A is a diagram showing an RA symbol table with segment type before processing. (B) A diagram showing an RA symbol table with segment type after processing.

【図3】(a)結合前のセグメントタイプ付LKシンボ
ルテーブルを示す図表である。 (b)結合後のセグメントタイプ付LKシンボルテーブ
ルを示す図表である。
FIG. 3A is a diagram showing an LK symbol table with a segment type before combining. (B) A diagram showing an LK symbol table with segment type after combination.

【図4】本発明の第1の実施の形態のセグメントタイプ
フラグ設定機能付構文解析部の処理を示す図である。
FIG. 4 is a diagram illustrating processing of a syntax analysis unit with a segment type flag setting function according to the first embodiment of this invention;

【図5】本発明の実施の形態のセグメントタイプフラグ
判定機能付シンボル値補正部の処理を示す図である。
FIG. 5 is a diagram illustrating processing of a symbol value correction unit with a segment type flag determination function according to the embodiment of the present invention.

【図6】本発明の第1の実施の形態のソースプログラム
を示す図である。
FIG. 6 is a diagram illustrating a source program according to the first embodiment of this invention.

【図7】本発明の実施の形態のメモリマップを示す図で
ある。
FIG. 7 is a diagram showing a memory map according to the embodiment of the present invention.

【図8】情報ファイルの例を示す図である。FIG. 8 is a diagram illustrating an example of an information file.

【図9】本発明の第2の実施の形態の言語処理方法を示
す図である。
FIG. 9 is a diagram illustrating a language processing method according to a second embodiment of this invention.

【図10】本発明の第2の実施の形態のソースプログラ
ムを示す図である。
FIG. 10 is a diagram illustrating a source program according to the second embodiment of this invention.

【図11】ディレクティブプログラムに記述されていた
命令を示す図である。
FIG. 11 is a diagram showing instructions described in a directive program.

【図12】本発明の第2の実施の形態のディレクティブ
解析部の処理を示す図である。
FIG. 12 is a diagram illustrating processing of a directive analysis unit according to the second embodiment of this invention.

【図13】従来の技術のメモリマップを示す図である。FIG. 13 is a diagram showing a memory map according to a conventional technique.

【図14】従来の技術のメモリマップを示す図である。FIG. 14 is a diagram showing a memory map according to a conventional technique.

【図15】従来の技術の言語処理方法を示す図である。FIG. 15 is a diagram showing a conventional language processing method.

【図16】従来の技術の構文解析部の処理を示す図であ
る。
FIG. 16 is a diagram showing processing of a syntax analysis unit according to a conventional technique.

【図17】従来の技術のソースプログラムを示す図であ
る。
FIG. 17 is a diagram showing a source program according to a conventional technique.

【図18】従来の技術のRAシンボルテーブルを示す図
表である。
FIG. 18 is a chart showing an RA symbol table according to the related art.

【図19】従来の技術のLKシンボルテーブルを示す図
表である。
FIG. 19 is a table showing an LK symbol table according to the related art.

【符号の説明】[Explanation of symbols]

100、400、1200 ソースプログラム 101 オブジェクトプログラム 102 ロードモジュールプログラム 103、402 アセンブラ部 104、404 リンカ部 105 情報ファイル 110 字句解析部 111 セグメントタイプフラグ設定機能付構文解析
部 112 RAコード生成部 113 セグメントタイプ付RAシンボルテーブル 114 結合部 115 配置部 116 セグメントタイプフラグ判定機能付シンボル
値補正部 117 LKコード生成部 118 セグメントタイプ付LKシンボルテーブル 401 旧形式オブジェクトプログラム 403 ディレクティブプログラム 405 ディレクティブ対応結合部 410 構文解析部 411 RAシンボルテーブル 412 ディレクティブ解析部 600 メモリマップ 601、602、603、604、605、700、7
01、702、800、801、802、1401、1402 セグメント 1000、1100 セグメントタイプフラグ 1203 シンボル値補正部 1204 LKシンボルテーブル 1500 RAM 1501 フラッシュメモリ 1502 ROM
100, 400, 1200 Source program 101 Object program 102 Load module program 103, 402 Assembler unit 104, 404 Linker unit 105 Information file 110 Lexical analysis unit 111 Syntax analysis unit with segment type flag setting function 112 RA code generation unit 113 With segment type RA symbol table 114 Coupling unit 115 Arrangement unit 116 Symbol value correction unit with segment type flag determination function 117 LK code generation unit 118 LK symbol table with segment type 401 Old format object program 403 Directive program 405 Directive correspondence coupling unit 410 Syntax analysis unit 411 RA symbol table 412 Directive analysis unit 600 Memory map 601, 602, 03,604,605,700,7
01 , 702 , 800 , 801, 802, 1401 , 1402 segment 1000, 1100 segment type flag 1203 symbol value correction unit 1204 LK symbol table 1500 RAM 1501 flash memory 1502 ROM

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−241196(JP,A) 特開 平6−51993(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-8-241196 (JP, A) JP-A-6-51993 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/06

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 絶対番地に配置されたセグメントのアド
レスである配置時アドレスと、プログラムがマイコン上
で動作するときのアドレスである動作時アドレスとが、
異なるセグメントを少なくとも1つ有する場合のセグメ
ントの動作アドレスを決定する言語処理システムであっ
て、 該言語処理システムは、アセンブラ部とリンカ部とから
構成され、 該アセンブラ部は、字句解析部とセグメントタイプフラ
グ設定機能付構文解析部とリロケータブルアセンブラコ
ード生成部とセグメントタイプ付リロケータブルアセン
ブラシンボルテーブルとを備え、 前記字句解析部は、ソースプログラムに記述された言語
を前記ソースプログラム中の区切り子単位で順次解析を
行ない、アセンブラで使用できる文字であるか否かを各
々解析する手段を有し、 前記セグメントタイプフラグ設定機能付構文解析部は、
前記字句解析部により解析された前記ソースプログラム
を行単位にアセンブラの書式にあっているか否かを解析
する手段と、前記動作時アドレスと前記配置時アドレス
とが異なるセグメントが前記ソースプログラム中に記述
されている場合、前記セグメントタイプ付リロケータブ
ルアセンブラシンボルテーブルにセグメントタイプフラ
グを出力する手段とを有し、 前記リロケータブルアセンブラコード生成部は、前記セ
グメントタイプ付リロケータブルアセンブラシンボルテ
ーブルを参照して前記ソースプログラムからオブジェク
トプログラムを生成する手段を有し、 前記リンカ部は、結合部と配置部とセグメントタイプフ
ラグ判定機能付シンボル値補正部とリンカコード生成部
とセグメントタイプ付リンカシンボルテーブルとを備
え、 前記結合部は、前記アセンブラ部により出力された前記
オブジェクトプログラム中の同じセグメントタイプのセ
グメントを1つに結合する手段と、前記セグメントタイ
プ付リンカシンボルテーブルを作成する手段とを有し、 前記配置部は、前記結合部により1つに結合された個々
のセグメントをメモリに配置する手段を有し、 前記セグメントタイプフラグ判定機能付シンボル値補正
部は、前記配置部により前記メモリに配置されたセグメ
ントのアドレスから前記セグメントタイプ付リンカシン
ボルテーブル中のシンボル値の補正を行ない、前記オブ
ジェクトプログラムの補正を行なう手段と、前記セグメ
ントタイプ付リンカシンボルテーブルから前記セグメン
トタイプフラグを読み取り、前記動作時アドレスと前記
配置時アドレスとが異なるセグメントのときは、情報フ
ァイルから前記動作時アドレスを読み取り前記シンボル
値の補正を行ない前記オブジェクトプログラムの補正を
行なう手段とを有し、 前記リンカコード生成部は、前記シンボル値の補正され
た前記オブジェクトプログラムからロードモジュールプ
ログラムを生成する手段を有する言語処理システム。
1. An arrangement time address which is an address of a segment arranged at an absolute address and an operation time address which is an address when a program operates on a microcomputer,
What is claimed is: 1. A language processing system for determining an operation address of a segment having at least one different segment, said language processing system comprising an assembler unit and a linker unit, wherein said assembler unit comprises a lexical analyzer and a segment type. The lexical analyzer includes a syntax analyzer with a flag setting function, a relocatable assembler code generator, and a relocatable assembler symbol table with a segment type, wherein the lexical analyzer sequentially analyzes a language described in the source program for each delimiter in the source program. Has a means for respectively analyzing whether or not the character can be used in the assembler, the syntax analysis unit with a segment type flag setting function,
Means for analyzing whether or not the source program analyzed by the lexical analysis unit conforms to an assembler format on a line-by-line basis; Means for outputting a segment type flag to the relocatable assembler symbol table with segment type, wherein the relocatable assembler code generation unit refers to the relocatable assembler symbol table with segment type from the source program. Means for generating an object program, wherein the linker section comprises a combining section, an arrangement section, a symbol value correction section with a segment type flag determination function, a linker code generation section, and a linker symbol table with a segment type. The combining unit has means for combining segments of the same segment type in the object program output by the assembler unit into one, and means for creating the linker symbol table with segment type, Means for arranging the individual segments combined into one by the combining unit in a memory, the symbol value correcting unit with a segment type flag determination function having an address of a segment arranged in the memory by the arranging unit. Means for correcting the symbol value in the linker symbol table with segment type, correcting the object program, reading the segment type flag from the linker symbol table with segment type, Address is different Means for reading the address at the time of operation from an information file and correcting the symbol value to correct the object program, wherein the linker code generation unit is configured to execute the object correction with the symbol value corrected. A language processing system having means for generating a load module program from a program.
【請求項2】 前記セグメントタイプフラグ設定機能付
構文解析部は、 前記ソースプログラムを行単位でアセンブラの書式にあ
っているか否かの解析を順次行なう手段と、 配置擬似命令が現れた場合は、配置擬似命令処理を行な
う手段と、 前記配置擬似命令が前記配置時アドレスと前記動作時ア
ドレスとが異なるセグメントか否かを判断し、前記配置
時アドレスと前記動作時アドレスとが異なるセグメント
の場合には、セグメントタイプフラグ設定処理により前
記セグメントタイプ付リロケータブルアセンブラシンボ
ルテーブルに前記セグメントタイプフラグを出力する手
段とを有する請求項1に記載の言語処理システム。
2. A parsing unit with a segment type flag setting function for sequentially analyzing whether or not the source program conforms to an assembler format line by line, and when a placement pseudo instruction appears, Means for performing a placement pseudo-instruction process; and determining whether or not the placement pseudo-instruction is a segment in which the placement address and the operation address are different. 2. The language processing system according to claim 1, further comprising: means for outputting the segment type flag to the relocatable assembler symbol table with segment type by a segment type flag setting process.
【請求項3】 絶対番地に配置されたセグメントのアド
レスである配置時アドレスと、プログラムがマイコン上
で動作するときのアドレスである動作時アドレスとが、
異なるセグメントを少なくとも1つ有する場合のセグメ
ントの動作アドレスを決定する言語処理システムであっ
て、 該言語処理システムは、アセンブラ部とリンカ部とから
構成され、 該アセンブラ部は、字句解析部と構文解析部とリロケー
タブルアセンブラコード生成部とリロケータブルアセン
ブラシンボルテーブルとを備え、 前記字句解析部は、ソースプログラムに記述された言語
を前記ソースプログラム中の区切り子単位で順次解析を
行ない、アセンブラで使用できる文字であるか否かを各
々解析する手段を有し、 前記構文解析部は、前記字句解析部により解析された前
記ソースプログラムを行単位にアセンブラの書式にあっ
ているか否かを解析する手段と、前記リロケータブルア
センブラシンボルテーブルを生成する手段とを有し、 前記リロケータブルアセンブラコード生成部は、前記リ
ロケータブルアセンブラシンボルテーブルを参照して前
記ソースプログラムからオブジェクトプログラムを生成
する手段を有し、 前記リンカ部は、ディレクティブプログラムとディレク
ティブ解析部とディレクティブ対応結合部と配置部とセ
グメントタイプフラグ判定機能付シンボル値補正部とリ
ンカコード生成部とセグメントタイプ付リンカシンボル
テーブルとを備え、 前記ディレクティブ解析部は、セグメントタイプの指定
を行なうファイルである前記ディレクティブプログラム
の内容を解析する手段を有し、 前記ディレクティブ対応結合部は、前記オブジェクトプ
ログラムと前記ディレクティブ解析部の解析内容とを読
み込み、前記セグメントタイプ付リンカシンボルテーブ
ルを作成する手段を有し、 前記配置部は、前記結合部により1つに結合された個々
のセグメントをメモリに配置する手段を有し、 前記セグメントタイプフラグ判定機能付シンボル値補正
部は、前記配置部により前記メモリに配置されたセグメ
ントのアドレスから前記セグメントタイプ付リンカシン
ボルテーブル中のシンボル値の補正を行ない、前記オブ
ジェクトプログラムの補正を行なう手段と、前記セグメ
ントタイプ付リンカシンボルテーブルから前記セグメン
トタイプフラグを読み取り、前記動作時アドレスと前記
配置時アドレスとが異なるセグメントのときは、情報フ
ァイルから前記動作時アドレスを読み取り前記シンボル
値の補正を行ない前記オブジェクトプログラムの補正を
行なう手段とを有し、 前記リンカコード生成部は、前記シンボル値の補正され
た前記オブジェクトプログラムからロードモジュールプ
ログラムを生成する手段を有する言語処理システム。
3. A location address, which is an address of a segment located at an absolute address, and an operation address, which is an address when a program operates on a microcomputer,
What is claimed is: 1. A language processing system for determining an operation address of a segment having at least one different segment, said language processing system comprising an assembler unit and a linker unit, wherein said assembler unit comprises a lexical analyzer and a parser. And a relocatable assembler code generator and a relocatable assembler symbol table. Means for analyzing whether or not there is, respectively, the syntax analysis unit, means for analyzing whether the source program analyzed by the lexical analysis unit is in assembler format line by line, and Means for generating a relocatable assembler symbol table, The relocatable assembler code generation unit has means for generating an object program from the source program by referring to the relocatable assembler symbol table. The linker unit includes a directive program, a directive analysis unit, a directive correspondence connection unit, and a placement unit. And a symbol value correction unit with a segment type flag determination function, a linker code generation unit, and a linker symbol table with a segment type, wherein the directive analysis unit analyzes the contents of the directive program which is a file for specifying a segment type. Means for reading the object program and the contents of analysis by the directive analysis unit, and the linker symbol table with segment type. The arrangement unit has means for arranging individual segments combined into one by the combining unit in a memory, and the symbol value correction unit with a segment type flag determination function is Means for correcting the symbol value in the linker symbol table with segment type from the address of the segment allocated in the memory by the allocation unit and correcting the object program; and determining the segment type from the linker symbol table with segment type. Means for reading a flag and, when the operating address and the arrangement address are different segments, reading the operating address from an information file and correcting the symbol value to correct the object program, The linker code generation unit includes: Language processing system having a means for generating a load module program from the corrected said object program symbol values.
【請求項4】 前記字句解析部により、ソースプログラ
ムに記述された言語を前記ソースプログラム中の区切り
子単位で順次解析を行ない、アセンブラで使用できる文
字であるか否かを各々解析する段階と、 前記セグメントタイプフラグ設定機能付構文解析部によ
って、前記字句解析部により解析された前記ソースプロ
グラムを行単位にアセンブラの書式にあっているか否か
を解析し、前記動作時アドレスと前記配置時アドレスと
が異なるセグメントが前記ソースプログラム中に記述さ
れている場合、前記セグメントタイプ付リロケータブル
アセンブラシンボルテーブルにセグメントタイプフラグ
を出力する段階と、 前記リロケータブルアセンブラコード生成部により、前
記セグメントタイプ付リロケータブルアセンブラシンボ
ルテーブルを参照して前記ソースプログラムからオブジ
ェクトプログラムを生成する段階と、 前記結合部によって、前記アセンブラ部により出力され
た前記オブジェクトプログラム中の同じセグメントタイ
プのセグメントを1つに結合し、前記セグメントタイプ
付リンカシンボルテーブルを作成する段階と、 前記配置部によって、前記結合部により1つに結合され
た個々のセグメントをメモリに配置する段階と、 前記セグメントタイプフラグ判定機能付シンボル値補正
部によって、前記配置部により前記メモリに配置された
セグメントのアドレスから前記セグメントタイプ付リン
カシンボルテーブル中のシンボル値の補正を行なって、
前記オブジェクトプログラムの補正を行ない、前記セグ
メントタイプ付リンカシンボルテーブルから前記セグメ
ントタイプフラグを読み取り、前記動作時アドレスと前
記配置時アドレスとが異なるセグメントのときは、情報
ファイルから前記動作時アドレスを読み取り前記シンボ
ル値の補正を行ない前記オブジェクトプログラムの補正
を行なう段階と、 前記リンカコード生成部により、前記シンボル値の補正
された前記オブジェクトプログラムからロードモジュー
ルプログラムを生成する段階とを有する請求項1に記載
の言語処理システムの言語処理方法。
4. A step of sequentially analyzing the language described in the source program for each delimiter in the source program by the lexical analysis unit and analyzing whether or not the language is a character usable in an assembler. The segment type flag setting function-equipped syntax analysis unit analyzes whether or not the source program analyzed by the lexical analysis unit conforms to the assembler format on a line-by-line basis. Outputting a segment type flag to the relocatable assembler symbol table with segment type when the segment having a different type is described in the source program; andthe relocatable assembler code generation unit generates the relocatable assembler symbol table with segment type. Generating an object program from the source program with reference to the source program; combining the segments of the same segment type in the object program output by the assembler unit into one by the combining unit; Creating a table; arranging the individual segments combined into one by the combining unit in the memory by the arranging unit; and arranging the segment value by the segment type flag determination function-equipped symbol value correcting unit by the arranging unit. Correcting the symbol value in the segment type-added linker symbol table from the address of the segment arranged in the memory,
The object program is corrected, the segment type flag is read from the linker symbol table with segment type, and when the operating address and the arrangement address are different segments, the operating address is read from the information file. 2. The method according to claim 1, further comprising: correcting the object program by correcting a symbol value; and generating a load module program from the object program having the corrected symbol value by the linker code generator. 3. The language processing method of the language processing system.
【請求項5】 前記セグメントタイプフラグ設定機能付
構文解析部により、前記ソースプログラムを行単位でア
センブラの書式にあっているか否かの解析を順次行なう
段階と、 配置擬似命令が現れた場合は、配置擬似命令処理を行な
う段階と、 前記配置擬似命令が前記配置時アドレスと前記動作時ア
ドレスとが異なるセグメントか否かを判断し、前記配置
時アドレスと前記動作時アドレスとが異なるセグメント
の場合には、セグメントタイプフラグ設定処理により前
記セグメントタイプ付リロケータブルアセンブラシンボ
ルテーブルに前記セグメントタイプフラグを出力する段
階とを有する請求項4に記載の言語処理システムの言語
処理方法。
5. A step of sequentially analyzing whether or not the source program conforms to the assembler format line by line by the syntax analyzer with the segment type flag setting function, and when an arrangement pseudo instruction appears, Performing a placement pseudo-instruction process; and determining whether the placement pseudo-instruction is a segment in which the placement address and the operation address are different. If the placement address and the operation address are in different segments, Outputting the segment type flag to the relocatable assembler symbol table with segment type by a segment type flag setting process.
【請求項6】 前記字句解析部により、ソースプログラ
ムに記述された言語を前記ソースプログラム中の区切り
子単位で順次解析を行ない、アセンブラで使用できる文
字であるか否かを各々解析する段階と、 前記構文解析部によって、前記字句解析部により解析さ
れた前記ソースプログラムを行単位にアセンブラの書式
にあっているか否かを解析し、前記リロケータブルアセ
ンブラシンボルテーブルを生成する段階と、 前記リロケータブルアセンブラコード生成部により、前
記リロケータブルアセンブラシンボルテーブルを参照し
て前記ソースプログラムからオブジェクトプログラムを
生成する段階と、 前記ディレクティブ解析部により、セグメントタイプの
指定を行なうファイルである前記ディレクティブプログ
ラムの内容を解析する段階と、 前記ディレクティブ対応結合部により、前記オブジェク
トプログラムと前記ディレクティブ解析部の解析内容と
を読み込み、前記セグメントタイプ付リンカシンボルテ
ーブルを作成する段階と、 前記配置部は、前記結合部により1つに結合された個々
のセグメントをメモリに配置する段階と、 前記セグメントタイプフラグ判定機能付シンボル値補正
部によって、前記配置部により前記メモリに配置された
セグメントのアドレスから前記セグメントタイプ付リン
カシンボルテーブル中のシンボル値の補正を行なって、
前記オブジェクトプログラムの補正を行ない、前記セグ
メントタイプ付リンカシンボルテーブルから前記セグメ
ントタイプフラグを読み取り、前記動作時アドレスと前
記配置時アドレスとが異なるセグメントのときは、情報
ファイルから前記動作時アドレスを読み取り前記シンボ
ル値の補正を行ない前記オブジェクトプログラムの補正
を行なう段階と、 前記リンカコード生成部により、前記シンボル値の補正
された前記オブジェクトプログラムからロードモジュー
ルプログラムを生成する段階とを有する請求項3に記載
の言語処理システムの言語処理方法。
6. The lexical analysis unit sequentially analyzes a language described in a source program for each delimiter in the source program, and analyzes whether the language is a character that can be used in an assembler. Analyzing the source program analyzed by the lexical analysis unit in the assembler format on a line basis by the syntax analysis unit to generate the relocatable assembler symbol table; and generating the relocatable assembler code. Generating an object program from the source program by referring to the relocatable assembler symbol table, and analyzing the contents of the directive program, which is a file for specifying a segment type, by the directive analyzer. Reading the object program and the analysis contents of the directive analysis unit by the directive correspondence connection unit to create the linker symbol table with segment type; and the arrangement unit is connected by the connection unit to one. Arranging each segment set in the memory by the symbol value correcting unit with the segment type flag determination function, from the address of the segment arranged in the memory by the arranging unit, the symbol in the linker symbol table with the segment type. After correcting the value,
The object program is corrected, the segment type flag is read from the linker symbol table with segment type, and when the operating address and the arrangement address are different segments, the operating address is read from the information file. 4. The method according to claim 3, further comprising: correcting a symbol value to correct the object program; and generating a load module program from the object program having the corrected symbol value by the linker code generation unit. 5. The language processing method of the language processing system.
JP17002898A 1998-06-17 1998-06-17 Language processing system and language processing method Expired - Fee Related JP3278613B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17002898A JP3278613B2 (en) 1998-06-17 1998-06-17 Language processing system and language processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17002898A JP3278613B2 (en) 1998-06-17 1998-06-17 Language processing system and language processing method

Publications (2)

Publication Number Publication Date
JP2000010764A JP2000010764A (en) 2000-01-14
JP3278613B2 true JP3278613B2 (en) 2002-04-30

Family

ID=15897273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17002898A Expired - Fee Related JP3278613B2 (en) 1998-06-17 1998-06-17 Language processing system and language processing method

Country Status (1)

Country Link
JP (1) JP3278613B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123719A (en) * 2009-12-11 2011-06-23 Renesas Electronics Corp Language processing system, language processing method and language-processing program

Also Published As

Publication number Publication date
JP2000010764A (en) 2000-01-14

Similar Documents

Publication Publication Date Title
US7000151B2 (en) System and method for providing run-time type checking
US9086899B2 (en) Loading and debugging method and debugging system thereof
JPH05257709A (en) Parallelism discriminating method and parallelism supporting method using the same
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
JP3278613B2 (en) Language processing system and language processing method
JP2000216855A (en) Method, editor, computer, control module and storage medium for editing configuration data for communication system
JPH08241196A (en) Branch instruction processing system
JP3327674B2 (en) Program translation apparatus and method
JP3682050B2 (en) Embedded software development equipment
JP2907129B2 (en) Patch creation system
JPS5922140A (en) Interactive compiling system
JP2812302B2 (en) Program development equipment
JP3596570B2 (en) Method of allocating classes to main storage
JP3260264B2 (en) How to create and operate patches at a high-level language level
JPH08234997A (en) Register allocation method
JP2000155673A (en) Link device and link method
JP3063297B2 (en) Language processing program creation device
JP2977642B2 (en) FORTRAN compilation processor
KR100277479B1 (en) How to compile a separate fill
CN115373689A (en) Compiling optimization method, device, equipment and medium based on LLVM
JP2003076547A (en) System and method for automatically generating control software
JPH11272500A (en) Debug method and debug device for the same and program storage medium
JP3018783B2 (en) Compilation method
JPH07129408A (en) Executing system for language processing program
JP2001184229A (en) Rom-nized processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees