JPH0944364A - アセンブラ処理装置及びアセンブラ処理方法 - Google Patents

アセンブラ処理装置及びアセンブラ処理方法

Info

Publication number
JPH0944364A
JPH0944364A JP21241095A JP21241095A JPH0944364A JP H0944364 A JPH0944364 A JP H0944364A JP 21241095 A JP21241095 A JP 21241095A JP 21241095 A JP21241095 A JP 21241095A JP H0944364 A JPH0944364 A JP H0944364A
Authority
JP
Japan
Prior art keywords
expression
file
read
processing
node
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
JP21241095A
Other languages
English (en)
Other versions
JP2827979B2 (ja
Inventor
Eiji Shamoto
英司 社本
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 JP21241095A priority Critical patent/JP2827979B2/ja
Publication of JPH0944364A publication Critical patent/JPH0944364A/ja
Application granted granted Critical
Publication of JP2827979B2 publication Critical patent/JP2827979B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 処理時間を短縮し処理効率の高いアセンブラ
処理装置及びアセンブラ処理方法を提供する。 【解決手段】 仮想メモリ管理がない動作環境における
アセンブラ処理装置において、ソースファイル入力部1
1と、構文解析部11と、式生成処理部16と、テンポ
ラリファイル17と、式評価処理部18と、オペランド
決定処理部19と、オブジェクトファイル出力部20と
を備え、式生成処理部16が、解析木を蓄積するメモリ
バッファがオーバーフローとなった場合に生成中の解析
木の式の根に読み込み指示用のノードを挿入し、かつメ
モリバッファの内容を前記テンポラリファイル17に出
力し、式評価処理部18が、前記読み込み指示用のノー
ドの内容にしたがってテンポラリファイル17からの読
み込みを行い、前記メモリバッファに格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力したソースファイ
ルをオブジェクトファイルに変換して出力するアセンブ
ラ処理装置及びアセンブラ処理方法に関し、特に仮想メ
モリ管理がない動作環境におけるアセンブラ処理装置及
びアセンブラ処理方法に関する。
【0002】
【従来の技術】従来、ソースファイルを入力しオブジェ
クトファイルに変換して出力するアセンブラ処理装置
は、例えば図9のブロック図に示すように構成される。
同図に示す従来のアセンブラ処理装置は、仮想メモリ管
理がない動作環境において動作し、シンボルの前方参照
ができる1パスアセンブラである。そして、1パス目で
未解決だったオペランドに記述された式を後から解決す
るため、解析木を仮想メモリ空間に保存する。
【0003】図示のアセンブラ処理装置90は、まずソ
ースファイル入力部91がソースファイルを読み込む。
次に、構文解析部92が読み込んだソースファイルを構
文解析し、参照情報テーブル93及び式情報テーブル9
4を生成し、解析した内容を中間コード95として出力
する。
【0004】参照情報テーブル93は、前方参照があっ
た際に作成される参照情報のテーブルである。式情報テ
ーブル94は、前方参照があった際のオペランドに記述
された式のテーブルである。中間コード95は、ソース
プログラムを機械語コードに変換したコードである。ま
た、構文解析部92は、式生成処理部96を用いて式情
報のノードを生成し、生成した式を式評価処理部97を
用いて評価する。
【0005】オペランド決定処理部98は、構文解析部
92による構文解析終了後、参照情報テーブル93及び
式情報テーブル94を用いて、前方参照によって未決定
であった中間コード95のオペランドを解決し、オブジ
ェクトコードを作成する。このようにして作成されたオ
ブジェクトファイルは、オブジェクトファイル出力部9
9から出力される。また、オペランド決定処理部98
は、生成した式を式評価処理97を用いて評価する。
【0006】参照情報テーブル93、式情報テーブル9
4及び中間コード95の関係を図10に示す。入力され
たソースファイル中にn個の前方参照が記述されている
場合、参照情報テーブル93には参照情報エントリ93
a〜93nが作成される。また、式情報テーブル94に
は式情報エントリ94a〜94nが作成される。参照情
報エントリ93a〜93nの参照情報は、参照している
式情報の仮想アドレスと参照位置における中間コード9
5の位置とを持つ。
【0007】式情報エントリ94h(h:a≦h≦n)
の詳細な構成例を図11に示す。あるオペランドにk個
の項があるとする。式情報エントリ94hは、解析木で
構成されている。当該解析木を構成する各ノード941
a〜941kは、それぞれ仮想アドレスによって他のノ
ードを指す。
【0008】図12のフローチャートを参照して、従来
のアセンブラ処理装置90における構文解析部92の動
作について説明する。まず入力したソースファイルの構
文の解析を行う(ステップ1201)。ここで、構文解
析部92は、式生成処理部96を用いて式情報テーブル
94に式のノードを生成し、構文の解析を行う。
【0009】次に、式評価処理部97を用いて生成した
式の評価を行う(ステップ1202)。評価した結果が
未解決なら参照情報生成処理を行う(ステップ120
3)。参照情報生成処理では、参照情報テーブル93に
参照情報エントリの生成を行う。参照情報生成処理が終
了した後、または式評価処理部97による評価結果が未
解決でない場合、終了判定処理を行う(ステップ120
4)。終了判定処理では、未処理の構文がまだあるか否
かの判定を行う。そして、未処理の構文がまだあればス
テップ1201に戻り、入力したソースファイルのすべ
てについて構文解析が済んでいれば構文解析を終了す
る。
【0010】次に、図13のフローチャートを参照し
て、オペランド決定処理部98の動作について説明す
る。オペランド決定処理部98は、参照情報テーブル9
3中の参照情報エントリを先頭から一つずつ処理する。
まず参照情報終了判定処理を行う(ステップ130
1)。参照情報終了判定処理では、参照位置に参照情報
がまだあるか否かの判定を行う。そして、まだ参照情報
があれば式評価処理を行う(ステップ1302)。すべ
ての参照情報について処理を終了した場合は、オペラン
ド決定処理部98による処理を終了する。
【0011】式評価処理では、参照中の参照情報が指し
ている式情報を評価する。そして、評価した結果が未解
決ならエラーとし(ステップ1303)、評価結果が未
解決でないなら参照情報解決処理を行なう(ステップ1
304)。参照情報解決処理では、式情報の評価結果を
そのアドレス値を参照情報が指している中間コードの位
置へ埋め込む。そして、参照位置変更処理を行なう(ス
テップ1305)。参照位置変更処理では、参照情報の
参照位置を次の参照情報の位置に変更し、ステップ13
01の参照情報終了判定処理に戻る。
【0012】以上のように、式評価処理部96は構文解
析部92からもオペランド決定処理部98からも呼ばれ
る。次に、図14のフローチャートを参照して、式評価
処理部97による式評価処理の動作を説明する。
【0013】まず、仮想アドレスで与えられたノードが
メモリ上にあるかどうかをチェックする(ステップ14
01)。メモリ上にない場合、当該ノードをファイル上
からメモリ上にロードする(ステップ1402)。次
に、仮想アドレスをポインタに変換して(ステップ14
03)、当該ノードがどのタイプかチェックする(ステ
ップ1404)。そして、当該ノードのタイプに応じた
処理を行なう(ステップ1405〜1411)。
【0014】このような処理を行う式評価処理部97
は、再帰的に呼び出される。この場合、アセンブラソー
ス中のオペランドに書かれた式がj個の項を有するな
ら、j回呼び出されることになる。そして、式評価処理
部97が呼び出される度に、ノードがメモリ上にあるか
どうかをチェックし、仮想アドレスをポインタに変更す
ることが必要であった。
【0015】すなわち、従来のアセンブラ処理装置にお
いて、仮想アドレスで与えられたノードがメモリ上にあ
るかどうかをチェックするのに要する時間をT1とし、
仮想アドレスをポインタに変更するのに要する時間をT
2とし、与えられたノードがメモリ上になくファイルか
らロードした際にかかる時間をT3とし、与えられたメ
モリがメモリ上になくファィルからロードした回数をi
回とすると、式処理の仮想メモリ処理にかかる時間をT
jは、 Tj=j×(T1+T2)+i×T3 であった。
【0016】
【発明が解決しようとする課題】上述したように、従来
のアセンブラ処理装置によれば、ソースファイル中のオ
ペランドにかかれた式の項がj個なら式評価処理部がj
回呼ばれることになる。従って、仮想アドレスで与えら
れたノードがメモリ上にあるかどうかのチェックと仮想
アドレスをポインタに変更する処理がそれぞれj回実行
されることとなり、多大な処理時間を要するという欠点
があった。
【0017】本発明は、上記従来の欠点を解消し、処理
時間を短縮し処理効率の高いアセンブラ処理装置及びア
センブラ処理方法を提供することを目的とする。
【0018】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、仮想メモリ管理がない動作環境における
アセンブラ処理装置において、ソースファイルを読み込
む入力手段と、読み込んだソースファイルを構文解析す
る構文解析手段と、構文解析処理において解析木の式を
生成する式生成処理手段と、生成された式を必要に応じ
て格納するテンポラリファイルと、生成された式を評価
する式評価処理手段と、前方参照があった場合のオペラ
ンドの決定を行うオペランド決定処理手段と、生成した
オブジェクトファイルを出力する出力手段とを備え、前
記式生成処理手段が、解析木を蓄積するメモリバッファ
がオーバーフローとなった場合に生成中の解析木の式の
根に読み込み指示用のノードを挿入し、かつメモリバッ
ファの内容を前記テンポラリファイルに出力し、前記式
評価処理手段が、前記読み込み指示用のノードの内容に
したがってテンポラリファイルからの読み込みを行い、
前記メモリバッファに格納する構成としている。
【0019】また、他の態様では、前記読み込み指示用
のノードが、少なくとも、読み込むファイルの位置、読
み込むノードの数、メモリバッファに読み込む位置、解
析木の根へのポインタを有している。
【0020】また、他の態様では、前記式評価処理手段
が、前記読み込み指示用のノードによって指示されるノ
ードをすべて前記テンポラリファイルから読み込んで前
記メモリバッファに格納する構成としている。
【0021】また、他の態様では、前記読み込み指示用
のノードが、前記メモリバッファ上に格納されている。
【0022】上記目的を達成する本発明のアセンブラ処
理方法では、仮想メモリ管理がない動作環境で、ソース
ファイルを読み込む工程と、読み込んだソースファイル
を構文解析する工程と、構文解析した結果に対して前方
参照があった場合のオペランドの決定を行う工程と、オ
ペランドを決定して生成されたオブジェクトファイルを
出力する工程とを備えたアセンブラ処理を行うアセンブ
ラ処理方法において、前記構文解析を行う工程が、解析
木を生成してメモリバッファに蓄積する工程と、メモリ
バッファがオーバーフローとなった場合に生成中の解析
木の式の根に読み込み指示用のノードを挿入し、かつメ
モリバッファの内容をテンポラリファイルに出力する工
程と、生成された式を評価する工程とを備え、前記式を
評価する工程が、前記読み込み指示用のノードの内容に
したがって前記テンポラリファイルからの読み込みを行
い、前記メモリバッファに格納する工程を備える構成と
している。
【0023】また、他の態様では、前記オペランドの決
定を行う工程が、生成された式を評価する工程を備え、
前記式を評価する工程が、前記読み込み指示用のノード
の内容にしたがって前記テンポラリファイルからの読み
込みを行い、前記メモリバッファに格納する工程を備え
る構成としている。
【0024】
【作 用】本発明によれば、式生成処理手段が、解析木
を蓄積するメモリバッファがオーバーフローとなった場
合に生成中の解析木の式の根に読み込み指示用のノード
を挿入し、かつメモリバッファの内容を前記テンポラリ
ファイルに出力し、前記式評価処理手段が、前記読み込
み指示用のノードの内容にしたがってテンポラリファイ
ルからの読み込みを行い、前記メモリバッファに格納す
るため、ノードの読み込みを行った後は、当該解析木の
式については、テンポラリファイルから読み出されて環
状ノードバッファに格納されていることが保証され、ノ
ードを読み込む度に仮想メモリを参照し、仮想アドレス
をポインタに変換する処理を行う必要はない。
【0025】また、読み込み指示用ノードにしたがっ
て、指示された単位でテンポラリファイルからの読み込
みを行うため、各ノードごとにファイルからの読み込み
を行う場合に比してファイルへのアクセス回数が減少す
る。
【0026】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。図1は、本発明の1実施例によるアセンブ
ラ処理装置の構成を示すブロック図である。
【0027】図示のように、本実施例のアセンブラ処理
装置10は、ソースファイルを読み込むソースファイル
入力部11と、読み込んだソースファイルを構文解析す
る構文解析部12と、構文解析処理において解析木の式
を生成する式生成処理部16と、生成された式を必要に
応じて格納するテンポラリファイル17と、生成された
式を評価する式評価処理部18と、前方参照があった場
合のオペランドの決定を行うオペランド決定処理部19
と、生成したオブジェクトファイルを出力するオブジェ
クトファイル出力部20とを備える。
【0028】構文解析部12は、ソースファイル入力部
11で読み込んだソースファイルを構文解析し、参照情
報テーブル13及び式情報テーブル14を生成し、解析
した内容を中間コード15として出力する。ここで、参
照情報テーブル13は、前方参照があった際に作成され
る参照情報のテーブルである。式情報テーブル14は、
前方参照があった際のオペランドに記述された式のテー
ブルである。中間コード15は、ソースプログラムを機
械語コードに変換したコードである。また、構文解析部
12は、式生成処理部16を用いて式情報のノードを生
成し、生成した式を式評価処理部18を用いて評価す
る。
【0029】図2に参照情報テーブル13、式情報テー
ブル14及び中間コード15の関係を示す。入力された
ソースファイル中にn個の前方参照が記述されている場
合、参照情報テーブル13には、参照情報エントリ13
1a〜131nが作成される。また、式情報テーブル1
4には、式情報エントリ141a〜141nが作成され
る。作成された参照情報は、参照している式情報のポイ
ンタと参照位置における中間コード15の位置を持つ。
【0030】参照情報テーブル13と式情報テーブル1
4の詳細な構成例を図3に示す。図示のように、式情報
エントリ141は解析木で構成されており、各ノード1
43は、それぞれ他のノードをポインタによって指す。
読み込み指示用ノード142は、読み込むファイルの位
置、読み込むノードの数、メモリバッファに読み込む位
置、解析木の根へのポインタを持っている。また、図4
に示すように、読み込み指示用ノード141はメモリ上
の読み込み指示用バッファに生成され、ノードは環状ノ
ードバッファに生成される。読み込み指示用バッファと
環状ノードバッファは、原則として、共にメモリ上に配
置される。
【0031】式生成処理部16は、構文解析部12の制
御により生成した解析木の式を前記読み込み指示用バッ
ファ及び環状ノードバッファにバッファリングする。バ
ッファリングにおいて、解析木の生成を行なうメモリバ
ッファがいっぱいになった場合、生成中の解析木の式の
根に読み込み指示用のノードを挿入し、メモリバッファ
の内容をテンポラリファイル17に出力する。
【0032】式評価処理部18は、メモリバッファにバ
ッファリングされた式を読み出して評価を行う。また、
式がテンポラリファイル17に格納されている場合、読
み込み指示ノード解析処理によりテンポラリファイルか
らの読み込みを行う。
【0033】オペランド決定処理部19は、構文解析部
12による構文解析終了後、参照情報テーブル13及び
式情報テーブル14を用いて、前方参照によって未決定
であった中間コード15のオペランドを解決して、オブ
ジェクトコードを作成する。そして、オブジェクトファ
イルを生成してオブジェクトファイル出力部20から出
力する。また、オペランド決定処理部19は、生成した
式を式評価処理部18を用いて評価する。
【0034】次に、図5ないし図8のフローチャートを
参照して本実施例の動作について説明する。図5は、構
文解析部12による構文解析処理の動作を示すフローチ
ャートである。まず、入力したソースファイルの構文の
解析を行う(ステップ501)。ここで、構文解析部9
2は、式生成処理部96を用いて解析木の式のノードを
生成し、構文の解析を行う。生成した式のノードはバッ
ファリング処理により式情報テーブル14に挿入する。
【0035】次に、式評価処理部18を用いて生成した
式の評価を行う(ステップ502)。評価した結果が未
解決なら参照情報生成処理を行う(ステップ503)。
参照情報生成処理では、参照情報テーブル13に参照情
報エントリの生成を行う。参照情報生成処理が終了した
後、または式評価処理部18による評価結果が未解決で
ない場合、終了判定処理を行う(ステップ504)。終
了判定処理では、未処理の構文がまだあるか否かの判定
を行う。そして、未処理の構文がまだあればステップ5
01に戻り、入力したソースファイルのすべてについて
構文解析が済んでいれば構文解析を終了する。
【0036】図6は、式生成処理部16によるバッファ
リング処理の動作を示すフローチャートである。まず、
生成した解析木の式のノードをメモりバッファに格納す
るため、環状ノードバッファのオーバーフローチェック
を行なう(ステップ601)。そして、オーバーフロー
していなければ、そのままノードを環状ノードバッファ
に格納するノード挿入処理を行う(ステップ604)。
【0037】一方、環状ノードバッファがオーバーフロ
ーしている場合、読み込み指示用ノード142を生成す
る(ステップ602)。読み込み指示用ノード生成処理
では、読み込み指示用ノード142を読み込むファイル
の位置としてテンポラリファイル17の参照位置を、読
み込むノードの数として生成中の解析木を除く環状ノー
ドバッファに入っているノードの数を、メモリバッファ
に読み込む位置として環状ノードバッファに入っている
先頭のノードの位置をそれぞれ設定し、読み込み指示用
バッファに生成する。
【0038】次に、生成中の解析木を除き、環状ノード
バッファに入っているノードを全てテンポラリファイル
17に出力する(ステップ603)。そして、式生成処
理部16より与えられたオーバフロー以降のノードを環
状ノードバッファに追加し(ステップ604)、処理を
終了する。
【0039】図7は、オペランド決定処理部19による
オペランド決定処理の動作を示すフローチャートであ
る。オペランド決定処理部19は、参照情報テーブル1
3中の参照情報エントリを先頭から一つずつ処理する。
まず参照情報終了判定処理を行う(ステップ701)。
参照情報終了判定処理では、参照位置に参照情報がまだ
あるか否かの判定を行う。そして、まだ参照情報があれ
ば式評価処理を行う(ステップ702)。すべての参照
情報について処理を終了した場合は、オペランド決定処
理部19による処理を終了する。
【0040】式評価処理では、参照中の参照情報が指し
ている式情報を評価する。そして、評価した結果が未解
決ならエラーとし(ステップ703)、評価結果が未解
決でないなら参照情報解決処理を行なう(ステップ70
4)。参照情報解決処理では、式情報の評価結果をその
アドレス値を参照情報が指している中間コードの位置へ
埋め込む。そして、参照位置変更処理を行なう(ステッ
プ705)。参照位置変更処理では、参照情報の参照位
置を次の参照情報の位置に変更し、ステップ701の参
照情報終了判定処理に戻る。
【0041】次に、図8のフローチャートを参照して、
式評価処理部18による式評価処理の動作を説明する。
図示のように、式評価処理部18は、まず当該ノードが
どのタイプかチェックする(ステップ801)。そし
て、当該ノードのタイプに応じた処理を行なう(ステッ
プ802〜810)。
【0042】式評価処理部18における処理の内容は、
原則として従来のものと同様であるが、従来の式評価処
理にはない処理として、読み込み指示用ノード解析処理
が追加されている。この処理では、読み込み指示用ノー
ドに記述されている内容にしたがい、テンポラリファイ
ル17上で指示されている読み込むファイルの位置から
指示されているノードの数分だけ指示されている読み込
み位置の環状ノードバッファに読み込みを行なう。
【0043】したがって、この処理によってノードの読
み込みを行った後は、当該解析木の式については、テン
ポラリファイル17から読み出されて環状ノードバッフ
ァに格納されていることが保証されるため、ノードを読
み込む度に仮想メモリを参照し、仮想アドレスをポイン
タに変換する処理を行う必要はない。
【0044】また、読み込み指示用ノードにしたがっ
て、指示された単位でテンポラリファイル17からの読
み込みを行うため、各ノードごとにファイルからの読み
込みを行う場合に比してファイルへのアクセス回数も減
少する。すなわち、従来のアセンブラ処理装置におい
て、与えられたノードがメモリ上になくファイルからロ
ードした際にかかる時間をT3とし、与えられたメモリ
がメモリ上になくファィルからロードした回数をi回と
した場合に、ファイルへのアクセスに要する時間の合計
はi×T3である。一方、本実施例において、読み込み
指示用ノード解析処理が呼ばれ、ファイルにアクセスす
る回数はiより少ないので、読み込み指示用ノード解析
処理の時間に要する時間をTnとすれば、 Tn<j×T3 が成り立つ。
【0045】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
【0046】
【発明の効果】以上説明したように、本発明によれば、
ノードを読み込む度に仮想メモリを参照し、仮想アドレ
スをポインタに変換する処理を行う必要がないため、具
体的には、従来のアセンブラ処理において、ソースファ
イルのオペランドに書かれた式の項をj個とし、仮想ア
ドレスで与えられたノードがメモリ上にあるかどうかを
チェックするのに要する時間をT1とし、仮想アドレス
をポインタに変更するのに要する時間をT2とした場合
に、これらの処理に要する時間の合計であるj×(T1
+T2)の時間を短縮することができる。
【0047】また、読み込み指示用ノードにしたがっ
て、指示された単位でテンポラリファイルからの読み込
みを行うことにより、各ノードごとにファイルからの読
み込みを行う場合に比してファイルへのアクセス回数が
減少するため、アセンブラ処理時間をより一層短縮する
ことができる。具体的には、従来のアセンブラ処理装置
において、与えられたノードがメモリ上になくファイル
からロードした際にかかる時間をT3とし、与えられた
メモリがメモリ上になくファィルからロードした回数を
i回とした場合に、ファイルへのアクセスに要する時間
の合計はi×T3である。これに対し、本実施例におい
て、読み込み指示用ノード解析処理が呼ばれ、ファイル
にアクセスする回数はiより少ないので、読み込み指示
用ノード解析処理の時間に要する時間をTnとすれば、 Tn<j×T3 が成り立つ。したがって、従来のアセンブラ処理におけ
る処理時間の合計が Tj=j×(T1+T2)+j×T3 であることから、 Tj−Tn>j×(T1+T2) で示される時間だけ短縮することができる。
【図面の簡単な説明】
【図1】 本発明の1実施例にかかるアセンブラ処理装
置の構成を示すブロック図である。
【図2】 本実施例の参照情報テーブルと式情報テーブ
ルと中間コードとの関係を示す図である。
【図3】 本実施例の参照情報テーブルと式情報テーブ
ルの構成を示すブロック図である。
【図4】 本実施例のメモリバッファの構成を示すブロ
ック図である。
【図5】 本実施例の構文解析部の動作を示すフローチ
ャートである。
【図6】 本実施例のバッファリング処理の動作を示す
フローチャートである。
【図7】 本実施例のオペランド決定処理部の動作を示
すフローチャートである。
【図8】 本実施例の式評価処理部の動作を示すフロー
チャートである。
【図9】 従来のアセンブラ処理装置の構成を示すブロ
ック図である。
【図10】 従来のアセンブラ処理装置における参照情
報テーブルと式情報テーブルと中間コードとの関係を示
す図である。
【図11】 従来のアセンブラ処理装置における参照情
報テーブルと式情報テーブルの構成を示すブロック図で
ある。
【図12】 従来のアセンブラ処理装置の構文解析部の
動作を示すフローチャートである。
【図13】 従来のアセンブラ処理装置のオペランド決
定処理部の動作を示すフローチャートである。
【図14】 従来のアセンブラ処理装置の式評価処理部
の動作を示すフローチャートである。
【符号の説明】
10 アセンブラ処理装置 11 ソースファイル入力部 12 構文解析部 13 参照情報テーブル 14 式情報テーブル 15 中間コード 16 式生成処理部 17 テンポラリファイル 18 式評価処理部 19 オペランド決定処理部 20 オブジェクトファイル出力部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 仮想メモリ管理がない動作環境における
    アセンブラ処理装置において、 ソースファイルを読み込む入力手段と、読み込んだソー
    スファイルを構文解析する構文解析手段と、構文解析処
    理において解析木の式を生成する式生成処理手段と、生
    成された式を必要に応じて格納するテンポラリファイル
    と、生成された式を評価する式評価処理手段と、前方参
    照があった場合のオペランドの決定を行うオペランド決
    定処理手段と、生成したオブジェクトファイルを出力す
    る出力手段とを備え、 前記式生成処理手段が、解析木を蓄積するメモリバッフ
    ァがオーバーフローとなった場合に生成中の解析木の式
    の根に読み込み指示用のノードを挿入し、かつメモリバ
    ッファの内容を前記テンポラリファイルに出力し、 前記式評価処理手段が、前記読み込み指示用のノードの
    内容にしたがってテンポラリファイルからの読み込みを
    行い、前記メモリバッファに格納することを特徴とする
    アセンブラ処理装置。
  2. 【請求項2】 前記読み込み指示用のノードが、少なく
    とも、読み込むファイルの位置、読み込むノードの数、
    メモリバッファに読み込む位置、解析木の根へのポイン
    タを有していることを特徴とする請求項1に記載のアセ
    ンブラ処理装置。
  3. 【請求項3】 前記式評価処理手段が、前記読み込み指
    示用のノードによって指示されるノードをすべて前記テ
    ンポラリファイルから読み込んで前記メモリバッファに
    格納することを特徴とする請求項2に記載のアセンブラ
    処理装置。
  4. 【請求項4】 前記読み込み指示用のノードが、前記メ
    モリバッファ上に格納されていることを特徴とする請求
    項1ないし請求項3に記載のアセンブラ処理装置。
  5. 【請求項5】 仮想メモリ管理がない動作環境で、ソー
    スファイルを読み込む工程と、読み込んだソースファイ
    ルを構文解析する工程と、構文解析した結果に対して前
    方参照があった場合のオペランドの決定を行う工程と、
    オペランドを決定して生成されたオブジェクトファイル
    を出力する工程とを備えたアセンブラ処理を行うアセン
    ブラ処理方法おいて、 前記構文解析を行う工程が、 解析木を生成してメモリバッファに蓄積する工程と、 メモリバッファがオーバーフローとなった場合に生成中
    の解析木の式の根に読み込み指示用のノードを挿入し、
    かつメモリバッファの内容をテンポラリファイルに出力
    する工程と、 生成された式を評価する工程とを備え、 前記式を評価する工程が、前記読み込み指示用のノード
    の内容にしたがって前記テンポラリファイルからの読み
    込みを行い、前記メモリバッファに格納する工程を備え
    ることを特徴とするアセンブラ処理方法。
  6. 【請求項6】 前記オペランドの決定を行う工程が、生
    成された式を評価する工程を備え、 前記式を評価する工程が、前記読み込み指示用のノード
    の内容にしたがって前記テンポラリファイルからの読み
    込みを行い、前記メモリバッファに格納する工程を備え
    ることを特徴とする請求項5に記載のアセンブラ処理方
    法。
JP21241095A 1995-07-28 1995-07-28 アセンブラ処理装置及びアセンブラ処理方法 Expired - Fee Related JP2827979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21241095A JP2827979B2 (ja) 1995-07-28 1995-07-28 アセンブラ処理装置及びアセンブラ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21241095A JP2827979B2 (ja) 1995-07-28 1995-07-28 アセンブラ処理装置及びアセンブラ処理方法

Publications (2)

Publication Number Publication Date
JPH0944364A true JPH0944364A (ja) 1997-02-14
JP2827979B2 JP2827979B2 (ja) 1998-11-25

Family

ID=16622131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21241095A Expired - Fee Related JP2827979B2 (ja) 1995-07-28 1995-07-28 アセンブラ処理装置及びアセンブラ処理方法

Country Status (1)

Country Link
JP (1) JP2827979B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024169232A1 (zh) * 2023-02-17 2024-08-22 工业互联网创新中心(上海)有限公司 工业互联网标识解析方法及其装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024169232A1 (zh) * 2023-02-17 2024-08-22 工业互联网创新中心(上海)有限公司 工业互联网标识解析方法及其装置

Also Published As

Publication number Publication date
JP2827979B2 (ja) 1998-11-25

Similar Documents

Publication Publication Date Title
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
US20080178149A1 (en) Inferencing types of variables in a dynamically typed language
JP3327818B2 (ja) プログラム変換装置及び記録媒体
US20090249307A1 (en) Program analysis apparatus, program analysis method, and program storage medium
JP3424520B2 (ja) プログラム変換装置とデバッグ装置
JP2006505844A (ja) プログラムコード変換の検証を実行するための方法および装置
US6684394B1 (en) Relocation format for linking with relocation instructions containing operations for combining section data
JP2879099B1 (ja) 抽象構文木処理方法、抽象構文木処理プログラムを記録したコンピュータ読み取り可能な記録媒体、抽象構文木データを記録したコンピュータ読み取り可能な記録媒体、及び、抽象構文木処理装置
JP2827979B2 (ja) アセンブラ処理装置及びアセンブラ処理方法
KR0125605B1 (ko) 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치
US8645758B2 (en) Determining page faulting behavior of a memory operation
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
US6086632A (en) Register optimizing compiler using commutative operations
JPS5922140A (ja) 対話型コンパイル方式
US20040111684A1 (en) Design method of logic circuit
US7024664B2 (en) Symbolic assembly language
JPH02176938A (ja) 機械語命令最適化方式
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
US20050010577A1 (en) Method and apparatus for generating Web content
KR100277479B1 (ko) 칠 분리 컴파일 방법
JP3323147B2 (ja) コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体
JPH07110758A (ja) プログラムのコンパイル・リンク方式
JP2000132405A (ja) インライン展開処理装置及び方法
JPH02159629A (ja) 計算機言語翻訳方式
JPH08234998A (ja) アセンブラの処理方法

Legal Events

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