JP3130828B2 - アセンブル処理方式 - Google Patents

アセンブル処理方式

Info

Publication number
JP3130828B2
JP3130828B2 JP09110819A JP11081997A JP3130828B2 JP 3130828 B2 JP3130828 B2 JP 3130828B2 JP 09110819 A JP09110819 A JP 09110819A JP 11081997 A JP11081997 A JP 11081997A JP 3130828 B2 JP3130828 B2 JP 3130828B2
Authority
JP
Japan
Prior art keywords
macro
symbol
processing
procedure
token
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
JP09110819A
Other languages
English (en)
Other versions
JPH10301790A (ja
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 JP09110819A priority Critical patent/JP3130828B2/ja
Priority to US09/066,825 priority patent/US5999733A/en
Priority to EP98107726A priority patent/EP0875825A3/en
Publication of JPH10301790A publication Critical patent/JPH10301790A/ja
Application granted granted Critical
Publication of JP3130828B2 publication Critical patent/JP3130828B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明のアセンブル処理方式
は、特にマクロ機能を処理可能なアセンブル処理方式に
関する。
【0002】
【従来の技術】従来のアセンブラの構成を図6を参照し
て説明する。
【0003】図6で、アセンブラ202は、まずソース
ファイル入力部2021がソースファイル201を読み
込む。次に構文解析部2022で、読み込んだソースフ
ァイル201を構文解析する。構文解析終了後、コード
生成処理部2025でオブジェクトコードを作成し、オ
ブジェクトファイル203をオブジェクトファイル出力
部2026から出力する。
【0004】構文解析部2022はマクロ定義行を見つ
けたときは、マクロ定義処理部2023を呼び出し、マ
クロ参照行を見つけたときは、マクロ参照処理部202
4を呼び出す。
【0005】マクロ定義処理部2023はマクロ定義さ
れたマクロプログラム本体を、マクロ定義領域2027
に格納し、マクロ仮パラメータとマクロローカルシンボ
ルをマクロシンボルテーブル2029に格納する。
【0006】マクロ参照処理部2024は、マクロ定義
領域2027からマクロ定義されたマクロプログラム本
体を読み込み、マクロ仮パラメータとマクロローカルシ
ンボルをそれぞれマクロ実パラメータとグローバルシン
ボルに置き換えて、マクロプログラム本体の展開を行
い、展開したプログラムをマクロ展開領域2028に格
納する。
【0007】構文解析部2022は、字句解析部202
21によって字句の解析を行い、字句解析部20221
はシンボル処理部202211によってシンボルの登録
および参照の処理を行う。
【0008】シンボル処理部202211はグローバル
シンボルをシンボルテーブル20210に登録の処理を
行う。
【0009】次に、構文解析部2022の処理のフロー
を図7を参照して説明する。
【0010】まず、字句解析処理301によって、読み
込んだソースファイル201からトークンを一つ取り出
す。次に構文一致判定処理302によって、言語仕様に
一致する構文があるか否か判定を行う。一致する構文が
あれば構文判定処理303を行い、なければ字句解析処
理301を行う。構文判定処理303は、構文の判定を
行い、マクロ定義の構文であればマクロ定義処理304
を行い、マクロ参照の構文であればマクロ参照処理30
5を行い、終了の構文であれば構文解析部2022を終
了し、それ以外なら各トークンに対応する意味解析処理
3061〜306Nを行う。
【0011】マクロ定義処理304ではマクロ定義の処
理を行い、マクロ参照処理305ではマクロ参照の処理
を行う。
【0012】次に、字句解析部20221の処理のフロ
ーを図8を参照して説明する。
【0013】まず、先頭文字判定処理401によって、
先頭の文字別にどの処理を行うかを判定する。先頭の文
字が数字なら数字処理402を行い、記号なら記号処理
403を行い、英字ならシンボル処理404を行う。
【0014】前記数字処理402は、字句の切れ目まで
文字を取り込み、取り込んだ文字列を数字として処理
し、字句解析部20221の処理を終了する。また、記
号処理403は、字句の切れ目まで文字を取り込み、取
り込んだ文字列を記号として処理し、字句解析部202
21の処理を終了する。
【0015】また、シンボル処理404は、字句の切れ
目まで文字を取り込み、シンボルの判定処理405を行
う。シンボル判定処理405は、シンボルが予約語であ
るか、ユーザシンボルであるかの判定を行い、予約語で
あれば予約語処理406を行い、ユーザシンボルであれ
ば、ユーザシンボル処理407を行う。
【0016】予約語処理406は、予約語の処理を行
い、字句解析部20221の処理を終了する。また、ユ
ーザシンボル処理407は、ユーザシンボルの処理を行
い、字句解析部20221の処理を終了する。
【0017】次に、マクロ定義処理部2023の処理フ
ローを図9を参照して説明する。
【0018】まず、マクロ仮パラメータ登録処理501
を行う。マクロ仮パラメータ登録処理501は、ソース
プログラムファイル中のマクロ定義行の解析を行い、解
析により得られたマクロ仮パラメータをマクロシンボル
テーブル2029に登録処理し、次にマクロローカルシ
ンボル登録処理502を行う。マクロローカルシンボル
登録処理502では、ソースプログラムファイル中のマ
クロローカルシンボル定義行の解析を行い、解析により
得られたマクロローカルシンボルをマクロシンボルテー
ブル2029に登録処理する、次に、マクロ定義プログ
ラム本体について先頭文字判定処理503を行う。
【0019】先頭文字判定処理503は、マクロ定義プ
ログラム本体の先頭文字が英字であるかどうかの判定を
行い、英字であるならマクロシンボルトークン判定処理
504を行い、そうでないなら、先頭文字を出力用バッ
ファに格納し、マクロ定義領域トークン出力処理507
を行う。
【0020】マクロシンボルトークン判定処理504
は、トークンを読み出し、トークンがマクロ仮パラメー
タかマクロローカルシンボルかマクロ定義終了語かを判
定し、マクロ仮パラメータならマクロ仮パラメータ変換
処理505を行い、マクロローカルシンボルならマクロ
ローカルシンボル変換処理506を行い、マクロ定義終
了語ならマクロ定義処理を終了し、そうでなければ、ト
ークンを出力用バッファに格納し、マクロ定義領域トー
クン出力処理507を行う。
【0021】マクロ仮パラメータ変換処理505はマク
ロ仮パラメータを、マクロ仮パラメータを表すメタ文字
から始まる文字列に変換し、出力用バッファに格納して
マクロ定義領域トークン出力処理507を行う。
【0022】マクロローカルシンボル変換処理506
は、マクロローカルシンボルをマクロローカルシンボル
を表すメタ文字から始まる文字列に変換し、出力用バッ
ファに格納してマクロ定義領域トークン出力処理507
を行う。
【0023】マクロ定義領域トークン出力処理507
は、出力用バッファに格納された文字列を、マクロ定義
領域2027に出力し、先頭文字判定処理503に戻
る。
【0024】次に、マクロ参照処理部2024の処理フ
ローを図10及び図11を参照して説明する。
【0025】まず、マクロ実パラメータ登録処理601
を行う。マクロ実パラメータ登録処理601は、ソース
プログラムファイル中のマクロ参照行の解析を行い、解
析により得られたマクロ実パラメータの値を、マクロシ
ンボルテーブル2029のマクロ仮パラメータエントリ
領域に設定した後、マクロ展開領域終了判定処理602
を行う。マクロ展開領域終了判定処理602は、マクロ
展開領域2028に、トークンの最大値分の大きさの領
域があるか否かの判定を行い、領域があればマクロ定義
領域終了位置判定処理604を行い、終了位置でなけれ
ば、マクロ展開領域確保処理603を行う。マクロ展開
領域確保処理603は、マクロ展開領域2028を元の
領域に連続して追加確保し、マクロ定義領域終了位置判
定処理604を行う。マクロ定義領域終了位置判定処理
604は、マクロ定義領域2027の読み込み位置が、
マクロ定義領域2027の終了位置を指していないか判
定を行い、終了位置を指していれば、入力先変更処理6
11を行い、終了位置を指していなければ、メタ文字判
定処理605を行う。
【0026】メタ文字判定処理605は、マクロ定義領
域2027の読み込み位置の文字がメタ文字か否かを判
定し、メタ文字ならばマクロシンボルトークン判定処理
606を行い、メタ文字でなければ、マクロ定義領域2
027の読み込み位置の文字をそのまま出力用バッファ
に格納し、マクロ展開領域トークン出力処理610を行
う。
【0027】マクロシンボルトークン判定処理606
は、マクロ定義領域2027の読み込み位置からトーク
ンを一つ取り出し、取り出したトークンがマクロ仮パラ
メータなら実パラメータ置換処理607を行い、マクロ
ローカルシンボルならマクロローカルシンボル生成処理
608を行う。
【0028】マクロ実パラメータ置換処理607は、仮
パラメータを表すメタ文字から始まる文字列を、実パラ
メータに置き換え、出力用バッファに格納し、マクロ展
開領域トークン出力処理610を行う。
【0029】マクロローカルシンボル生成処理608
は、他のシンボル名と重複をしないシンボル名を生成
し、マクロローカルシンボル置換処理609を行う。
【0030】マクロローカルシンボル置換処理609
は、マクロローカルシンボルを表すメタ文字から始まる
文字列を、マクロローカルシンボル生成処理608によ
って生成したシンボル名に置き換え、出力用バッファに
格納し、マクロ展開トークン出力処理610を行う。
【0031】マクロ展開領域トークン出力処理610
は、出力用バッファに格納された文字列を、マクロ展開
領域2028に出力する。
【0032】入力先変更処理611は、字句解析部20
221へのソースプログラムファイルの入力先を保存し
た後、字句解析部20221へのソースプログラムファ
イル入力先を、マクロ展開領域2028に変更し、構文
解析部2022を呼び出す。次に、構文解析部2022
から戻ってきたら、入力先復帰処理612を行う。入力
先復帰処理612は、字句解析部20221へのソース
プログラムファイルの入力先を、入力先変更処理611
で保存した入力先に復帰する処理を行い、マクロ展開領
域開放処理613を行う。
【0033】マクロ展開領域開放処理613では、マク
ロ展開領域2028の開放を行い、マクロ参照処理を終
了する。
【0034】次に、図12に示すようなソースプログラ
ムファイルが入力されたときのマクロ定義処理2023
と、マクロ展開処理2024の処理内容を具体的に例示
し、説明する。
【0035】図12に示したソースプログラムファイル
は8行からなるソースプログラムファイルで、1行目か
ら6行目までがm1というマクロ名でマクロ定義を行っ
ており、7行目でマクロm1の参照を行っている。
【0036】図12のソースプログラムで、「macro」
はマクロ定義行を示す予約語で、「macro」の前にシン
ボル名が記述されると、そのシンボル名がマクロ名とな
り、「macro」の後ろに記述されるシンボル名がマクロ
仮パラメータ名になる。
【0037】「local」はローカル疑似命令を示す予約
語で、「local」の後ろにシンボル名が記述されると、
そのシンボル名はマクロローカルシンボルになる。
【0038】「mov」は機械語の予約語で、その行にあ
る「#」はオペランドの修飾語である。
【0039】「br」は機械語の予約語で、その行にある
「!」はオペランドの修飾語である。
【0040】「endm」はマクロ定義部の終了を示す予約
語で、「end」は、アセンブル処理するソースプログラ
ム全体の終了を示す予約語である。
【0041】また、「10110110b」は2進数の
数字を表している。
【0042】以上のようなソースプログラムについて、
マクロ定義処理2023の処理内容を図9を参照して説
明する。
【0043】まず、マクロ仮パラメータ登録処理501
でマクロ仮パラメータ「para1」の登録処理を行う。つ
ぎにマクロローカルシンボル登録処理502でマクロロ
ーカルシンボル「lab」の登録処理を行い、次に、マク
ロ定義領域終了判定処理1203を行う。
【0044】このとき、ソースプログラムファイルの読
み出し位置は3行目の先頭の文字になっており、その文
字はタブであるので、マクロ定義領域トークン出力処理
507を行い、マクロ定義領域2027にタブを出力し
(図13の1文字目)、続いて先頭文字判定処理503
を行う。
【0045】次の文字は「m」で、英字であるので、マ
クロシンボルトークン判定処理504を行う。マクロシ
ンボルトークン判定処理504は、トークン「mov」を
取り出す。トークン「mov」は、マクロ仮パラメータ、
マクロローカルシンボル、マクロ終了語のいずれでもな
いので、マクロ定義領域トークン出力処理507を行
う。
【0046】マクロ定義領域トークン出力処理507
は、トークン「mov」を、マクロ定義領域2027に出
力して(図13の2から4文字目まで)、先頭文字判定
処理503に戻る。
【0047】トークンの先頭が英字ではない、あるいは
トークンがマクロ仮パラメータ、マクロローカルシンボ
ル、マクロ終了語でないときは、前述したのと同様にマ
クロ定義処理を行う。
【0048】同様の処理で、3行目のトークン「para
1」の先頭の文字までが、マクロ定義領域2027に出
力される(図13の5から8文字目まで)。
【0049】3行目のトークン「para1」の先頭からの
処理は以下のようになる。先頭文字判定処理503で、
「p」が英字と判定されて、マクロシンボルトークン判
定処理504が実行される。
【0050】マクロシンボルトークン判定処理504は
トークン「para1」を取り出す。トークン「para
1」はマクロ仮パラメータなので、マクロ仮パラメータ
変換処理505を行う。
【0051】マクロ仮パラメータ変換処理505では、
1つ目のマクロ仮パラメータを表すメタ文字「%」から始
まる文字列「%p1」に置き換えて、マクロ定義領域トー
クン出力処理507を行う。
【0052】マクロ定義領域トークン出力処理507
は、マクロ定義領域2027に文字列「%p1」を出力し
て(図13の9から11文字目まで)、続いて先頭文字
判定処理503に戻る。
【0053】引続き、トークンの先頭が英字ではない、
あるいはトークンがマクロ仮パラメータ、マクロローカ
ルシンボル、マクロ終了語でないときの処理が行われ
て、4行目の先頭の文字までがマクロ定義領域2027
に出力される(図13の12文字目)。
【0054】4行目のトークン「lab」の先頭からの処
理は以下のようになる。まず、先頭文字判定処理503
で「l」が英字と判定されて、マクロシンボルトークン
判定処理504を行う。マクロシンボルトークン判定処
理504は、トークン「lab」を取り出す。トークン「l
ab」はマクロローカルシンボルなので、マクロローカル
シンボル変換処理506を行う。
【0055】マクロローカルシンボル変換処理506で
は、1つ目のマクロローカルシンボルを表すメタ文字
「%」から始まる文字列「%l1」に置き換えてマクロ定義
領域トークン出力処理507を行う。マクロ定義領域ト
ークン出力処理507は、マクロ定義領域2027に文
字列「%l1」を出力して(図13の13から15文字目
まで)、先頭文字判定処理503に戻る。
【0056】引続き、トークンの先頭が英字ではない、
あるいはトークンがマクロ仮パラメータ、マクロローカ
ルシンボル、マクロ終了語でないときの処理が行われ
て、5行目のトークン「lab」の先頭の文字までが、マ
クロ定義領域2027に出力される(図13の16から
22文字目まで)。
【0057】5行目のトークン「lab」は、マクロロー
カルシンボルなので前述した処理と同様の処理によっ
て、文字列「%l1」に置換されてマクロ定義領域202
7に出力される(図13の23から25文字目まで)。
【0058】引続き、トークンの先頭が英字ではない、
あるいはトークンがマクロ仮パラメータ、マクロローカ
ルシンボル、マクロ終了語でないときの処理が行われ
て、6行目のトークン「endm」の直前の文字までがマク
ロ定義領域2027に出力される(図13の26文字
目)。
【0059】6行目のトークン「endm」の先頭の文字か
らの処理は以下のようになる。まず、先頭文字判定処理
503で「e」が英字と判定されて、マクロシンボルト
ークン判定処理504を行う。マクロシンボルトークン
判定処理504はトークン「endm」を取り出す。
【0060】トークン「endm」はマクロ終了語なので、
これでマクロ定義処理を終了し、もとの構文解析処理部
2022に戻る。
【0061】以上の処理によって図13の従来のマクロ
定義領域が作成される。
【0062】次にマクロ参照処理2024の処理内容に
ついて説明する。
【0063】まずマクロ参照行は「m1 10110110b」
で、マクロ実パラメータ登録処理601によって、1つ
目の実パラメータを「10110110b」と登録し、マクロ展
開領域終了判定処理602に移る。マクロ展開領域終了
判定処理602では、マクロ展開領域2028にトーク
ンの最大値分の大きさの領域があるか否かの判定を行
い、マクロ展開領域2028はまだ全く確保されていな
いので、トークンの最大値分の大きさの領域はないと判
定し、マクロ展開領域確保処理603を行う。マクロ展
開領域確保処理603は、ある一定の大きさのメモリ領
域の確保を行い、マクロ定義領域終了位置判定処理60
4を行う。
【0064】マクロ定義領域終了位置判定処理604
は、マクロ定義領域2027の読み出し位置が、マクロ
定義領域2027の終了位置か否かの処理を行う。読み
出し位置はマクロ定義領域2027の一行目であるの
で、メタ文字判定処理605を行う。
【0065】メタ文字判定処理605は、読み込み位置
の文字がメタ文字か否かを判定するが、タブはメタ文字
でないのでマクロ展開領域トークン出力処理610を行
う。
【0066】マクロ展開領域トークン出力処理610
は、タブをマクロ展開領域2028に出力したあと、マ
クロ定義領域終了判定処理604に戻る。
【0067】マクロ定義領域2027の読み出し位置の
文字がメタ文字でないときは、前述したと同様にマクロ
参照処理を行う。
【0068】以上のようにして図13のマクロ定義領域
2027の8番目の文字までが図15の従来のマクロ展
開領域2028に出力される(図15の1から8文字目
まで)。 図13のマクロ定義領域2027の9番目の
文字からの処理は以下のようになる。マクロ定義領域終
了位置判定処理604では、終了位置ではないので、メ
タ文字判定処理605に移る。メタ文字判定処理605
は、マクロ定義領域2027の読み込み位置の文字がメ
タ文字なので、マクロシンボルトークン判定処理606
を行う。
【0069】マクロシンボルトークン判定処理606
は、トークン「%p1」を取り出す。トークン「%p1」はマ
クロ仮パラメータであるので、実パラメータ置換処理6
07を行う。実パラメータ置換処理607は、トークン
「%p1」を、「10110110b」に置き換え、マクロ展開トー
クン出力処理610を行う。
【0070】マクロ展開トークン出力処理610は、ト
ークン「10110110b」をマクロ展開領域2028に出力
(図15の9から17文字目まで)し、マクロ定義領域
終了位置判定処理604に移る。
【0071】引続き、マクロ定義領域2027の読み出
し位置の文字がメタ文字でないときの処理が行われ、マ
クロ定義領域2027の12番目の文字までが、マクロ
展開領域2028に出力される(図15の18文字
目)。
【0072】マクロ定義領域2027の13番目の文字
からの処理は以下のようになる。マクロ定義領域終了位
置判定処理604では、読み出し位置が終了位置ではな
いので、メタ文字判定処理605に移る。
【0073】メタ文字判定処理605は、マクロ定義領
域2027の読み込み位置の文字がメタ文字なので、マ
クロシンボルトークン判定処理606に移る。マクロシ
ンボルトークン判定処理606は、トークン「%l」
を取り出す。トークン「%l」はマクロローカルシン
ボルであるので、ローカルシンボル生成処理608を行
う。
【0074】ローカルシンボル生成処理608では、他
のシンボル名と重複しないシンボル名「??lab」を生成
し、マクロローカルシンボル置換処理609を行う。
【0075】マクロローカルシンボル置換処理609
は、トークン「%l1」を「??lab」に置き換え、マクロ展
開トークン出力処理610を行う(図15の19から2
3文字目まで)。
【0076】引続き、マクロ定義領域2027の読み出
し位置の文字がメタ文字でないときの処理が行われて、
マクロ定義領域2027の22番目の文字までがマクロ
展開領域2028に出力される(図15の24から30
文字目まで)。
【0077】マクロ定義領域2027の23番目の文字
からのトークン「%l1」は、マクロローカルシンボルな
ので、前述したのと同様の処理によって、トークン「??
lab」に置き換えられてマクロ展開領域2028に出力
される(図15の31から35文字目まで)。
【0078】引続き、マクロ定義領域2027の読み出
し位置の文字がメタ文字でないときの処理が行われて、
マクロ定義領域2027の26番目の文字までがマクロ
展開領域2028に出力される(図15の36文字
目)。
【0079】その後、マクロ定義領域終了位置判定処理
604が行われる。マクロ定義領域終了位置判定処理6
04は、マクロ定義領域2027の読み込み位置が、マ
クロ定義領域2027の終了位置を指しているので、入
力先変更処理611を行う。ここまでの処理で図15の
従来のマクロ展開領域が作成される。
【0080】入力先変更処理611は、字句解析部20
221の入力先を保存した後、字句解析部20221の
入力先を、マクロ展開領域2028に置き換えて、構文
解析部2022を呼び出す。
【0081】構文解析部2022では、マクロ展開領域
2028の構文解析を行い、構文解析部2022から戻
ってきたら、入力先復帰処理612を行う。入力先復帰
処理612は、保存したソースプログラムファイルの入
力先に復帰を行い、マクロ展開領域開放処理613を行
う。マクロ展開領域開放処理613ではマクロ展開領域
2028の開放を行い、マクロ参照処理を終了する。
【0082】
【発明が解決しようとする課題】以上に説明したよう
に、従来のアセンブル処理方式では、マクロ展開領域2
028の作成をおこなうため、マクロの展開処理に時間
がかかる。従来の方式でマクロ処理にかかる時間は、全
マクロ参照中のトークンを判断する時間と、全マクロ参
照のコピーにかかる時間である。
【0083】具体的な例として定義の大きさが1000
ステップのマクロを10回参照する場合、マクロの展開
処理にかかる時間は、10×(A+B)+1×Cである。
【0084】A…1マクロ参照中のトークンを判断する
時間(1000ステップのトークン(マクロ仮パラメータおよ
びマクロローカルシンボルが記述されていない通常行)
を判断する時間) B…1マクロ参照のコピーにかかる時間 C…1マクロ定義中のトークンを判断する時間(1000ステ
ップのトークンを判断する時間)
【0085】
【課題を解決するための手段】前述の課題を解決するた
め、本発明のアセンブル処理方式では、マクロ参照時
に、マクロローカルシンボルエントリとマクロ仮パラメ
ータエントリをシンボルテーブルに登録し、字句解析部
の入力先をマクロ定義領域のマクロ定義プログラム本体
に変更するマクロ参照処理部を有し、マクロ参照処理時
に構文解析処理部の字句解析処理部が前記マクロ定義プ
ログラム本体においてマクロローカルシンボルあるいは
マクロ仮パラメータを発見したときは、前記のマクロ仮
パラメータあるいはマクロローカルシンボルをマクロロ
ーカルシンボルエントリあるいはマクロ仮パラメータエ
ントリに設定したユニークなシンボル名やマクロ仮パラ
メータに対する実パラメータなどの実際の値に置き換え
を行うマクロシンボル再検索処理を実行するようにし
た。
【0086】
【発明の実施の形態】本発明の実施の形態について図面
を参照して説明する。
【0087】図1は、本発明のアセンブル処理方式のア
センブラの構成を示したもので、アセンブラの入力とな
るソースプログラムファイル部101と、アセンブル処
理を行なうアセンブラ部102と、アセンブラの出力と
なるオブジェクトプログラムファイル部103から構成
されている。
【0088】アセンブラ102は、まずソースプログラ
ムファイル入力部1021がソースプログラムファイル
101を読み込む。
【0089】次に、構文解析部1022が、前記読み込
んだソースプログラムファイルの内容を構文解析する。
【0090】構文解析終了後、コード生成処理部102
5はオブジェクトコードを作成し、オブジェクトプログ
ラムファイルをオブジェクトプログラムファイル出力部
1026から出力する。
【0091】構文解析部1022は、マクロ定義行を見
つけたときはマクロ定義処理部1023を呼び出し、マ
クロ参照行を見つけたときにはマクロ参照処理部102
4を呼び出す。
【0092】マクロ定義処理部1023は、マクロ定義
されたマクロプログラム本体を、マクロ定義領域102
7に、マクロ仮パラメータとマクロローカルシンボルを
マクロシンボルテーブル1028に格納する。
【0093】マクロ参照処理部1024は、シンボルテ
ーブル1029にマクロ仮パラメータをマクロ仮パラメ
ータエントリ10291として、マクロローカルシンボ
ルをマクロローカルシンボルエントリ10292として
登録し、構文解析を行い、構文解析処理終了後にシンボ
ルテーブル1029から、マクロ仮パラメータエントリ
10291とマクロローカルシンボルエントリ1029
2の削除を行う。
【0094】構文解析部1022は字句解析部1022
1によって字句の解析を行い、字句解析部10221は
シンボル処理部102211によってシンボルの登録お
よび参照の処理を行う。
【0095】シンボル処理部102211は、シンボル
をシンボルテーブル1029に登録処理する。
【0096】次に、構文解析部1022の処理フローを
図2を参照して説明する。
【0097】まず、字句解析処理1001によって読み
込んだソースプログラムファイルからトークンを一つ取
り出す。次に構文一致判定処理1002によって言語仕
様に一致する構文があるか否か判定を行う。一致する構
文があれば構文判定処理1003を行い、なければ字句
解析処理1001に戻る。
【0098】構文判定処理1003は、構文の判定を行
い、マクロ定義行の構文であればマクロ定義処理100
4を行い、マクロ参照行の構文であればマクロ参照処理
1005を行い、終了の構文であれば構文解析部102
2を終了し、それ以外なら各々のトークンに対応する意
味解析処理10061〜1006Nを行う。
【0099】マクロ定義処理1004ではマクロ定義の
処理を行い、マクロ参照処理1005ではマクロ参照の
処理を行う。
【0100】次に、字句解析部10221の処理フロー
を図3を参照して説明する。まず、先頭文字判定処理1
101によって先頭の文字別にどの処理を行うかを判定
する。先頭の文字が数字なら数字処理1102を行い、
記号なら記号処理1103を行い、英字ならシンボル処
理1104を行う。
【0101】数字処理1102では字句の切れ目まで文
字を取り込み、取り込んだ文字列を数字として処理し、
その後、字句解析部10221の処理を終了する。
【0102】記号処理1103では字句の切れ目まで文
字を取り込み、取り込んだ文字列を記号として処理し、
その後、字句解析部10221の処理を終了する。
【0103】シンボル処理1104では字句の切れ目ま
で文字を取り込み、シンボル判定処理1105を行う。
シンボル判定処理1105ではシンボルが予約語である
かユーザシンボルであるかの判定を行い、予約語であれ
ば予約語処理1106を行い、ユーザシンボルであれば
ユーザシンボル処理1107を行い、マクロ仮パラメー
タあるいはマクロローカルシンボルであればマクロシン
ボル再検索処理1108を行う。
【0104】予約語処理1106では予約語の処理を行
い、その後、字句解析部10221の処理を終了する。
【0105】ユーザシンボル処理1107ではユーザシ
ンボルの処理を行い、その後、字句解析部10221の
処理を終了する。
【0106】次に、マクロ定義処理部1023の処理フ
ローを図4を参照して説明する。まずマクロ仮パラメー
タ登録処理1201を行う。マクロ仮パラメータ登録処
理1201では、プログラム中のマクロ定義行の解析を
行い、解析により得られたマクロ仮パラメータをマクロ
シンボルテーブル1028に登録処理し、次にマクロロ
ーカルシンボル登録処理1202を行う。
【0107】マクロローカルシンボル登録処理1202
は、プログラム中のマクロローカルシンボル定義行の解
析を行い、解析により得られたマクロローカルシンボル
を、マクロシンボルテーブル1028に登録処理し、次
にマクロ定義領域終了判定処理1203を行う。
【0108】マクロ定義領域終了判定処理1203はト
ークンを読み出し、トークンがマクロ定義終了語ならば
マクロ定義処理を終了し、そうでないならトークンを出
力用バッファに格納し、マクロ定義領域トークン出力処
理1204を行う。マクロ定義領域トークン出力処理1
204は出力用バッファに格納されたトークンをマクロ
定義領域1027に出力し、マクロ定義領域終了判定処
理1203に戻る。
【0109】次に、マクロ参照処理部1024の処理フ
ローを図5を参照して説明する。まず入力先変更処理1
301を行う。入力先変更処理1301は、字句解析部
10221の入力先を保存した後、字句解析部1022
1の入力先をマクロ定義領域1027に変更し、マクロ
仮パラメータ登録処理1302を行う。
【0110】マクロ仮パラメータ登録処理1302で
は、ソースプログラム中のマクロ参照行の解析を行い、
解析により得られたマクロシンボルテーブル1028に
登録したマクロ仮パラメータに対する実パラメータの値
を、各々マクロ仮パラメータエントリ10291に設定
し、マクロ仮パラメータエントリをシンボルテーブル1
029に登録し、マクロローカルシンボル登録処理13
03を行う。
【0111】マクロローカルシンボル登録処理1303
は、マクロシンボルテーブル1028に登録したマクロ
ローカルシンボルに対応して、他のシンボル名と重複を
しないユニークなシンボル名を生成し、そのシンボル名
を各々マクロローカルシンボルエントリ10292に設
定し、マクロローカルシンボルエントリ10292をシ
ンボルテーブル1029に登録し、構文解析処理部10
22を呼び出す。
【0112】次に構文解析処理部1022から戻ってき
たら、マクロ仮パラメータ削除処理1304を行う。マ
クロ仮パラメータ削除処理1304は、マクロ仮パラメ
ータエントリをシンボルテーブルから削除し、マクロロ
ーカルシンボル削除処理1305を行う。マクロローカ
ルシンボル削除処理1305は、マクロローカルシンボ
ルエントリをシンボルテーブルから削除し、入力先復帰
処理1306を行う。
【0113】入力先復帰処理1306は、字句解析部1
0221の入力先を、入力先変更処理1301で保存し
たソースプログラムファイルの入力先に復帰を行い、マ
クロ参照処理1024を終了する。
【0114】次に、図12に示したソースプログラムフ
ァイルが入力されたときを具体例として、処理内容を説
明する。
【0115】マクロ定義領域1027はマクロ定義処理
1023によって以下のように作られる。まず、マクロ
仮パラメータ登録処理1201でマクロ仮パラメータ
「para1」の登録を行う。
【0116】つぎに、マクロローカルシンボル登録処理
1202でマクロローカルシンボル「lab」の登録を行
う。
【0117】次にマクロ定義領域終了判定処理1203
を行う。このとき、ソースプログラムファイルの読み出
し位置は3行目の先頭の文字になっており、その文字は
タブであり、マクロ終了語ではないのでマクロ定義領域
トークン出力処理1204を行い、マクロ定義領域10
27にタブを出力して(図14の1文字目)、マクロ定
義領域終了判定処理1203に戻る。
【0118】トークンがマクロ終了語でないときは、上
記の要領でマクロ定義処理が行われる。
【0119】したがって同様の処理で6行目のトークン
「endm」の先頭の文字までがマクロ定義領域2027に
出力される(図14の2から28文字目まで)。
【0120】6行目のトークン「endm」の先頭の文字か
らの処理は以下のようになる。マクロ定義領域終了判定
処理1203は、トークン「endm」を取り出す。トーク
ン「endm」はマクロ終了語なので、これでマクロ定義処
理を終了する。
【0121】
【発明の効果】マクロ展開処理でマクロ展開領域を作成
する必要がないので、アセンブル処理時間の短縮が図れ
る。短縮される時間は全マクロ参照中のトークンを判断
する時間と、全マクロ参照のコピーにかかる時間であ
る。またマクロ展開領域を作成する必要がないため使用
するメモリの低減ができる。低減されるメモリはアセン
ブラプログラム中の最大のマクロ定義の大きさである。
【0122】具体例としてマクロ定義プログラム本体の
大きさが1000ステップのマクロプログラムを10回
参照するような場合、本アセンブル処理方式においてマ
クロ参照処理にかかる時間は、1 × C のみである。
【0123】C…1マクロ定義中のトークンを判断する
時間(1000ステップのトークンを判断する時間) また、1つのマクロ参照中のトークンを判断する時間は
1つのマクロ定義プログラム中のトークンを判断する時
間と等しい。
【0124】さらに通常、1マクロ参照中のトークンを
判断する時間は1マクロ参照のコピーにかかる時間の5
倍程度かかるので、従来のマクロ処理にかかる時間と本
方式のマクロ処理にかかる時間徒の比は、10×A+1
0×(A/5)+1×A:1×A=13×A:1×Aとな
る。
【0125】従って、この例ではマクロ処理の13倍の
処理時間の短縮が見込まれる。
【図面の簡単な説明】
【図1】本発明のアセンブラ処理方式の構成図である。
【図2】本発明の構文解析処理部の処理フローの図であ
る。
【図3】本発明の字句解析処理部の処理フローの図であ
る。
【図4】本発明のマクロ定義処理部の処理フローの図で
ある。
【図5】本発明のマクロ参照処理部の処理フローの図で
ある。
【図6】従来のアセンブル処理方式の構成図である。
【図7】従来の構文解析処理部の処理フローの図であ
る。
【図8】従来の字句解析処理部の処理フローの図であ
る。
【図9】従来のマクロ定義処理の処理フローの図であ
る。
【図10】従来のマクロ参照処理の処理フローの図であ
る。
【図11】従来のマクロ参照処理の処理フローの図であ
る。
【図12】ソースプログラムファイルの例である。
【図13】従来におけるマクロ定義領域の作成例であ
る。
【図14】本発明におけるマクロ定義領域の作成例であ
る。
【図15】従来におけるマクロ展開領域2028の作成
例である。
【符号の説明】
101 ソースファイル 102 アセンブラ 103 オブジェクトファイル 201 ソースファイル 202 アセンブラ 203 オブジェクトファイル 301 字句解析部 302 構文一致判定処理 303 構文判定処理 304 マクロ参照処理 305 マクロ定義処理 401 先頭文字判定処理 402 数字処理 403 記号処理 404 シンボル処理 405 シンボル判定処理 406 予約語処理 407 ユーザシンボル処理 501 マクロ仮パラメータ登録処理 502 マクロローカルシンボル登録処理 503 先頭文字判定処理 504 マクロシンボルトークン判定処理 505 マクロ仮パラメータ変換処理 506 マクロローカルシンボル変換処理 507 マクロ定義領域トークン出力処理 601 マクロ実パラメータ登録処理 602 マクロ展開領域終了判定処理 603 マクロ展開領域確保処理 604 マクロ定義領域終了判定処理 605 メタ文字判定処理 606 マクロシンボルトークン判定処理 607 マクロ実パラメータ置換処理 608 マクロローカルシンボル生成処理 609 マクロローカルシンボル置換処理 610 マクロ展開領域トークン出力処理 611 入力先変更処理 612 入力先復帰処理 613 マクロ展開領域開放処理 1001 字句解析部 1002 構文一致判定処理 1003 構文判定処理 1004 マクロ参照処理 1005 マクロ定義処理 1021 ソースファイル入力部 1022 構文解析部 1023 マクロ定義処理部 1024 マクロ参照処理部 1025 コード生成処理部 1026 オブジェクトファイル出力部 1027 マクロ定義領域 1028 マクロシンボルテーブル 1029 シンボルテーブル 1101 先頭文字判定処理 1102 数字処理 1103 記号処理 1104 シンボル処理 1105 シンボル判定処理 1106 予約語処理 1107 ユーザシンボル処理 1108 マクロシンボル再検索処理 1201 マクロ仮パラメータ登録処理 1202 マクロローカルシンボル登録処理 1203 マクロ定義領域終了判定処理 1204 マクロ定義領域トークン出力処理 1301 入力先変更処理 1302 マクロ仮パラメータ登録処理 1303 マクロローカルシンボル登録処理 1304 マクロ仮パラメータ削除処理 1305 マクロローカルシンボル削除処理 1306 入力先復帰処理 2021 ソースファイル入力部 2022 構文解析部 20221 字句解析部 202211 シンボル処理部 2023 マクロ定義処理部 2024 マクロ参照処理部 2025 コード生成処理部 2026 オブジェクトファイル出力部 2027 マクロ定義領域 2028 マクロ展開領域 2029 マクロシンボルテーブル 3061〜306N 意味解析処理 10061〜1006N 意味解析処理 10221 字句解析部 10291 マクロ仮パラメータエントリ 10292 マクロローカルシンボルエントリ 20210 シンボルテーブル 102211 シンボル処理部 1022111 マクロシンボル再検索処理部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 J.J.Donovan著,池田克夫 訳,「システム・プログラム▲I▼」, 日本コンピュータ協会,1982年4月15 日,p.132−155 発明協会公開技報公技番号92−7209号 (58)調査した分野(Int.Cl.7,DB名) G06F 9/45

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースファイル入力部と、構文解析部
    と、マクロ定義処理部と、マクロ参照処理部と、コード
    生成処理部と、オブジェクトファイル出力部とを有する
    アセンブル処理方式において、前記マクロ定義処理部
    は、マクロ仮パラメータをマクロシンボルテーブルに登
    録するマクロ仮パラメータ登録処理と、マクロローカル
    シンボルを前記マクロシンボルテーブルに登録するマク
    ロローカルシンボル登録処理と、マクロ定義領域終了判
    定処理と、マクロ定義領域トークン出力処理とを各々実
    行し、前記マクロ参照処理部は、字句解析処理へのソ
    ースファイルのトークンを入力する入力先を保存し、
    ークンの入力先を前記マクロ定義領域の先頭に変更する
    入力先変更処理と、前記ソースファイルより取り出され
    たマクロ参照行の解析を行い、マクロ仮パラメータに対
    する実パラメータをマクロ仮パラメータエントリに設定
    し、前記マクロ仮パラメータエントリをシンボルテーブ
    ルに登録するマクロ仮パラメータ登録処理と、前記ソー
    スファイルより取り出されたマクロ参照行の解析を行
    い、マクロローカルシンボルに対して、他のシンボル名
    と重複しないユニークなシンボル名を生成してマクロロ
    ーカルシンボルエントリに設定し、前記マクロローカル
    シンボルエントリを前記シンボルテーブルに登録するマ
    クロローカルシンボル登録処理と、前記構文解析部によ
    前記マクロ定義領域を構文解析してマクロを展開する
    マクロ展開処理と、前記シンボルテーブルに登録した前
    マクロ仮パラメータエントリを削除するマクロ仮パラ
    メータ削除処理と、前記シンボルテーブルに登録した前
    マクロローカルシンボルエントリを削除するマクロロ
    ーカルシンボル削除処理と、前記字句解析部へのソース
    ファイルのトークンを入力する入力先を前記保存した入
    力先に復帰する入力先復帰処理とを各々実行し、前記構
    文解析部は、字句解析処理部により前記ソースファイル
    入力部を介しソースファイルからトークンをひとつ取り
    出し、前記トークンの構文を判定し、その判定結果に基
    づき、前記マクロ定義処理部によるマクロ定義処理、前
    記マクロ参照処理部によるマクロ参照処理、予め定めら
    れた複数の意味解析処理、及び終了処理のうちの任意の
    処理を実行し、前記字句解析処理部は、前記トークンの
    先頭文字を判定し、その判定結果に基づき、数字処理、
    記号処理、及びシンボル処理のうちの任意の処理を実行
    し、前記シンボル処理は、前記トークンをシンボル判定
    し、その判定結果に基づき、予約語処理、ユ ーザシンボ
    ル処理、及びマクロシンボル再検索処理のうちの任意の
    処理を実行し、前記マクロシンボル再検索処理は、前記
    マクロシンボルテーブルに登録したマクロ仮パラメー
    タ、あるいはマクロローカルシンボルを発見したときに
    は、それらのマクロ仮パラメータあるいはマクロローカ
    ルシンボルを、前記シンボルテーブルのマクロ仮パラメ
    ータエントリ及びマクロローカルシンボルエントリに登
    録されているマクロ仮パラメータに対する実パラメータ
    及びユニークなシンボル名に置き換える処理を実行する
    ようにしたものであることを特徴としたアセンブル処理
    方式。
  2. 【請求項2】 前記構文解析処理部が、前記字句解析処
    理部によりソースファイルから前記トークンをひとつ取
    り出す第1の手順と、前記取り出されたトークンの構文
    一致判定を行い、予め定められた言語仕様に一致してい
    なければ前記第1の手順に分岐する第2の手順と、前記
    第2の手順の判定結果が予め定められた言語仕様に一致
    していれば、構文判定処理を行う第3の手順と、前記第
    3の手順の判定結果がマクロ定義の構文であれば前記マ
    クロ定義処理を実行し、前記第1の手順に分岐する第4
    の手順と、前記第3の手順の判定結果がマクロ参照の構
    文であれば前記マクロ参照処理を実行し、前記第1の手
    順に分岐する第5の手順と、前記第3の手順の判定結果
    が終了の構文であれば、前記構文解析処理を終了する第
    6の手順と、前記第3の手順の判定結果がその他の構文
    であれば前記予め定められた複数の意味解析処理のうち
    の任意の意味解析処理を実行し、前記第1の手順に分岐
    する第7の手順から構成されることを特徴とする請求項
    1記載のアセンブル処理方式。
  3. 【請求項3】 前記字句解析処理部が、前記ソースファ
    イル入力部を介して前記ソースファイルから先頭文字を
    取りだし前記先頭文字を判定する第1の手順と、前記第
    1の手順の判定結果が数字であれば字句の切れ目まで文
    字を取り込み、前記数字処理を実行し、前記字句解析処
    理を終了する第2の手順と、前記第1の手順の判定結果
    が記号であれば字句の切れ目まで文字を取り込み、前記
    記号処理を実行し、前記字句解析処理を終了する第3の
    手順と、前記第1の手順の判定結果が英字であれば前記
    ソースファイルから字句の切れ目まで文字を取り込み、
    前記シンボル処理を実行する第4の手順と、前記シンボ
    ル判定処理する第5の手順と、前記第5の手順の判定結
    果が予約語であれば、前記予約語処理を実行し、前記字
    句解析処理を終了する第6の手順と、前記第5の手順の
    判定結果がユーザシンボルであれば、前記ユーザシンボ
    ル処理を実行し、前記字句解析処理を終了する第7の手
    順と、前記第5の手順の判定結果がマクロ仮パラメータ
    もしくはマクロローカルシンボルであれば、前記マクロ
    シンボル再検索処理を実行し、前記第1の手順に分岐す
    る第8の手順から構成されることを特徴とする請求項1
    記載のアセンブル処理方式。
  4. 【請求項4】 前記マクロ定義処理部が、前記ソースフ
    ァイルに記録されたプログラム中のマクロ定義行の解析
    を行い、前記解析により得られたマクロ仮パラメータを
    マクロシンボルテーブルに登録をするマクロ仮パラメー
    タ登録処理を行う第1の手順と、前記ソースファイルに
    記録された前記プログラム中のマクロローカルシンボル
    定義行の解析を行い、前記解析より得られたマクロロー
    カルシンボルを前記マクロシンボルテーブルに登録する
    マクロローカルシンボル登録処理を行う第2の手順と、
    前記ソースファイルからトークンを読み出し、前記トー
    クンがマクロ終了語でないならば前記マクロ定義領域ト
    ークン出力処理を行う第3の手順と、前記第3の手順に
    おいて前記トークンが前記マクロ終了語であれば前記マ
    クロ定義処理を終了する第4の手順から構成されること
    を特徴とする請求項1記載のアセンブル処理方式。
  5. 【請求項5】 前記マクロ参照処理部が、前記字句解析
    処理部へのソースファイルのトークンの入力先を保存し
    た後、前記字句解析処理部へのトークンの入力先をマク
    ロ定義領域に変更する入力先変更処理を行う第1の手順
    と、前記ソースファイルに記録された前記プログラム中
    のマクロ参照行の解析を行い、解析により得られた前記
    マクロシンボルテーブルに登録したマクロ仮パラメータ
    に対する実パラメータの値を、各々マクロ仮パラメータ
    エントリに設定し、前記マクロ仮パラメータエントリを
    前記シンボルテーブルに登録するマクロ仮パラメータ登
    録処理を行う第2の手順と、前記マクロシンボルテーブ
    ルに登録したマクロローカルシンボルの各々に対して既
    に用いられた他のシンボル名と重複しないユニークなシ
    ンボル名を生成し、前記生成されたユニークなシンボル
    名を各々マクロローカルシンボルエントリに設定し、前
    記マクロローカルシンボルエントリを前記シンボルテー
    ブルに登録するマクロローカルシンボル登録処理を行う
    第3の手順と、前記構文解析処理部を呼び出し前記字句
    解析処理部がマクロ定義領域のマクロ定義プログラム本
    体においてマクロ仮パラメータあるいはマクロローカル
    シンボルを発見したときには、前記マクロシンボル再検
    索処理により、各々、前記シンボルテーブルに登録した
    マクロ仮パラメータエントリに設定したマクロ仮パラメ
    ータに対する実パラメータあるいは、マクロローカルシ
    ンボルエントリに設定したユニークなシンボル名に置き
    換えてマクロ展開処理を実行する第4の手順と、前記構
    文解析処理部においてマクロ展開処理の実行後、前記マ
    クロ仮パラメータエントリを前記シンボルテーブルから
    削除するマクロ仮パラメータ削除処理を行う第5の手順
    と、前記マクロローカルシンボルエントリを前記シンボ
    ルテーブルから削除するマクロローカルシンボル削除処
    理を行う第6の手順と、前記字句解析処理部へのソース
    ファイルのトークンの入力先を、前記第1の手順で保存
    した入力先に復帰し、前記マクロ参照処理を終了する第
    7の手順から構成されることを特徴とする請求項1記載
    アセンブル処理方式。
JP09110819A 1997-04-28 1997-04-28 アセンブル処理方式 Expired - Fee Related JP3130828B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP09110819A JP3130828B2 (ja) 1997-04-28 1997-04-28 アセンブル処理方式
US09/066,825 US5999733A (en) 1997-04-28 1998-04-28 High speed assemble processing system
EP98107726A EP0875825A3 (en) 1997-04-28 1998-04-28 High speed assemble processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09110819A JP3130828B2 (ja) 1997-04-28 1997-04-28 アセンブル処理方式

Publications (2)

Publication Number Publication Date
JPH10301790A JPH10301790A (ja) 1998-11-13
JP3130828B2 true JP3130828B2 (ja) 2001-01-31

Family

ID=14545472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09110819A Expired - Fee Related JP3130828B2 (ja) 1997-04-28 1997-04-28 アセンブル処理方式

Country Status (3)

Country Link
US (1) US5999733A (ja)
EP (1) EP0875825A3 (ja)
JP (1) JP3130828B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263493B1 (en) * 1998-07-08 2001-07-17 International Business Machines Corporation Method and system for controlling the generation of program statements
US6631516B1 (en) * 2000-04-25 2003-10-07 International Business Machines Corporatioin Extended syntax record for assembler language instructions
US7337438B1 (en) 2003-03-31 2008-02-26 Applied Micro Circuits Corporation Macros to support structures for an assembler that does not support structures
US7571431B2 (en) * 2003-04-29 2009-08-04 Microsoft Corporation Processing macro information and displaying via GUI in different tools
US7603705B2 (en) * 2004-05-04 2009-10-13 Next It Corporation Methods and systems for enforcing network and computer use policy
US7565368B2 (en) * 2004-05-04 2009-07-21 Next It Corporation Data disambiguation systems and methods
US7603506B2 (en) * 2004-06-18 2009-10-13 Broadcom Corporation Motherboard with video data processing card capability
US20050289523A1 (en) * 2004-06-24 2005-12-29 Broadcom Corporation Method and apparatus for transforming code of a non-proprietary program language into proprietary program language
US7612779B2 (en) * 2004-06-25 2009-11-03 Broadcom Corporation Video data processing circuits and systems comprising programmable blocks or components
US7367019B2 (en) * 2004-09-16 2008-04-29 International Business Machines Corporation Parameter management using compiler directives
JP5385103B2 (ja) * 2009-11-24 2014-01-08 株式会社野村総合研究所 マクロ展開方法およびプリプロセッサ
KR101623564B1 (ko) * 2010-10-19 2016-05-24 삼성전자주식회사 멀티쓰레드 환경을 테스트하는 커버리지 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553205A (en) * 1982-09-21 1985-11-12 Salvatore Porchia Flexible macro expansion process
US4931928A (en) * 1988-11-09 1990-06-05 Greenfeld Norton R Apparatus for analyzing source code
EP0413651A3 (en) * 1989-08-18 1993-03-03 International Business Machines Corporation Method for dynamic self-modification of data stream constructs
US5339419A (en) * 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
EP0582738A1 (en) * 1992-08-12 1994-02-16 International Business Machines Corporation Language compiler
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J.J.Donovan著,池田克夫訳,「システム・プログラム▲I▼」,日本コンピュータ協会,1982年4月15日,p.132−155
発明協会公開技報公技番号92−7209号

Also Published As

Publication number Publication date
EP0875825A3 (en) 2002-06-19
EP0875825A2 (en) 1998-11-04
JPH10301790A (ja) 1998-11-13
US5999733A (en) 1999-12-07

Similar Documents

Publication Publication Date Title
US5946488A (en) Method for selectively and incrementally displaying the results of preprocessing
JP3130828B2 (ja) アセンブル処理方式
JPH08241332A (ja) 全文登録語検索装置および方法
JP2002196937A (ja) 従来のアセンブラを用いた新規の命令を含む命令セットアーキテクチャ用のアセンブリ言語コードをコンパイルする方法
US20040205697A1 (en) Transferring data along with code for program overlays
JP4734400B2 (ja) 文書検索装置およびプログラム
JPH11272503A (ja) プログラムのテストデータ自動生成装置
JPH11296359A (ja) プログラム開発支援ツール
JPH08194611A (ja) プログラム修正による影響範囲を解析する装置
JP2006259805A (ja) プロセッサ設計装置、プロセッサ設計方法およびプロセッサ設計プログラム
JP2009053767A (ja) プログラム解析装置、および、プログラム解析方法
JPH07210397A (ja) プログラム変換方法およびそれを用いたプログラム実行方法
KR20010001589A (ko) 월드 와이드 웹과 문서 병합 기능을 이용한 문서 이용 방법
JP2942414B2 (ja) 仮想データベース方式
KR20020021083A (ko) 최적의 컴퓨터 데이터 필드 변환 루틴을 생성하는 시스템
JP3003459B2 (ja) プログラム作成支援装置
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法
CN117827171A (zh) 一种通过jsonSchema文件生成项目源码的方法及装置
JP3419483B2 (ja) 自然言語処理装置及びその方法
JPH0561687A (ja) コンパイラの処理方式
CN116560761A (zh) 全局函数的信息获取方法及装置、电子设备及存储介质
JP2003177923A (ja) ポーティング支援システムにおける予約語変換方法
JPH09198246A (ja) 関数呼出し状況の解析方法
JPH08286927A (ja) アセンブラ処理方式
JP2004302840A (ja) データベースアクセス方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001031

LAPS Cancellation because of no payment of annual fees