JP3110367B2 - ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP3110367B2
JP3110367B2 JP10019991A JP1999198A JP3110367B2 JP 3110367 B2 JP3110367 B2 JP 3110367B2 JP 10019991 A JP10019991 A JP 10019991A JP 1999198 A JP1999198 A JP 1999198A JP 3110367 B2 JP3110367 B2 JP 3110367B2
Authority
JP
Japan
Prior art keywords
symbol
syntax
definition
address
conversion
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
JP10019991A
Other languages
English (en)
Other versions
JPH11219300A (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 JP10019991A priority Critical patent/JP3110367B2/ja
Priority to US09/238,102 priority patent/US6360359B1/en
Priority to EP99101575A priority patent/EP0933699A2/en
Priority to CN99101714.5A priority patent/CN1228560A/zh
Publication of JPH11219300A publication Critical patent/JPH11219300A/ja
Application granted granted Critical
Publication of JP3110367B2 publication Critical patent/JP3110367B2/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/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

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)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、第1のコンピュー
タ言語で書かれたソースプログラムから異なる第2のコ
ンピュータ言語へ変換するソースコンバータに関し、特
にメモリをアクセスする構文を含んだソースプログラム
の変換を行うソースコンバータの処理方法及びソースコ
ンバータ処理プログラムを記録したコンピュータ読み取
り可能な記録媒体に関する。
【0002】
【従来の技術】図7及び図8は従来技術のソース・コン
バータ処理方法の一例をフローチャートで示した図であ
る。図9は、ソースコンバータを用いて変換を行う前の
4ビットマイコンのアセンブリ言語で記述された構文の
一例である。図10は、アセンブリ言語からC言語へ変
換する際にソースコンバータが作成するシンボルテーブ
ルである。図11は、図9のアセンブリ言語で記述され
た構文を従来技術のソースコンバータを用いて変換され
たC言語の構文である。構文中の”NIBBLE”は4
ビットマイコンで用いられる情報の単位で、バイト(b
yte)の半分の長さを持った情報の単位である。ま
た、アドレスを示す数値の後に続く”H”はその数値が
16進数であることを示している。
【0003】図7において、符号S1は入力された構文
を解析する構文解析ステップであり、S2は入力された
構文がシンボル定義の構文であるか否かを判別するシン
ボル定義判別ステップある。S3はシンボル定義の構文
から定義シンボルのシンボル名称を得てシンボル・テー
ブルに登録するシンボル名称登録ステップであり、S4
は、シンボル定義の構文から定義シンボルのサイズを得
てシンボルテーブルに登録するシンボルサイズ登録ステ
ップである。S6はシンボルテーブルと予め定めた変換
方法によりC言語のシンボル定義の構文に変換するシン
ボル変換ステップである。S7はシンボル定義の構文で
ないと判別された構文に対して解析を行い結果に応じて
変換に必要な処理を行うをシンボル定義外構文処理ステ
ップである。S8はシンボル定義でない構文をC言語の
構文に変換するシンボル定義外構文変換ステップであ
る。S9は入力する構文の終了を判断する構文終了判別
ステップである。50はシンボル及びそのサイズを登録
するシンボルテーブルである。
【0004】図8は、図7で示したシンボル定義外構文
処理ステップS7の詳細を示したフロチャートである。
図8において、符号S11は、メモリ・アクセスの構文
と判別するメモリ・アクセス判別ステップ、S12は、
シンボル参照の構文と判別するシンボル参照判別ステッ
プである。S13はシンボル参照の構文から参照シンボ
ルの名称を解析するシンボル名称解析ステップ、S14
は参照シンボルの名称から参照シンボルをシンボル・テ
ーブル50から取り出すシンボル・サーチ・ステップで
ある。S51はシンボル・テーブルの定義サイズ欄で得
られた参照シンボルの定義サイズと参照されたメモリの
アドレスかC言語の構文を作成する参照アドレス構文作
成ステップ、S21はシンボル参照の構文でないと判別
された構文において参照されたメモリのアドレスを解析
する定数参照アドレス解析ステップ、S52はシンボル
参照の構文でないと判別された構文において参照アドレ
スを通知する参照アドレス通知ステップである。S20
はメモリ・アクセスの構文でないと判別された構文を解
析結果に応じて変換に必要な処理を行う条件対象外構文
処理ステップである。
【0005】図7、8を参照して各ステップの動作を説
明する。まず構文解析ステップS1はアセンブリ言語の
構文”MEMORY NIBBLE 00H.12H”
を入力して、入力された構文に何が記述されているかを
確認するために予め登録されている予約語、またはシン
ボルテーブルに登録されているか否かで判断し、登録さ
れていれば、その構文がどのような種類の構文であるか
を予約語またはシンボルテーブルの種類で表現して出力
する。また、解析された結果、登録されていなければそ
の構文は記述の誤りであり、構文記述エラーとなる。
【0006】続いて、シンボル定義判別ステップS2で
は解析された構文がシンボル定義の構文であるかを判別
する。解析された構文中にはシンボルのサイズを定義す
る”NIBBLE”が予約語と一致することにより、こ
の構文がシンボル定義の構文と判別する。シンボル名称
登録ステップS3でアセンブリ言語の構文から定義シン
ボルのシンボル名称”MEMORY”を得てシンボル・
テーブル50のシンボル名称欄に登録する。さらに、シ
ンボルサイズ登録ステップS4で定義シンボルのサイ
ズ”NIBBLE”をシンボル・テーブル50の定義サ
イズ欄に登録する。このとき、シンボル・テーブル50
には、シンボル名称として”MEMORY”、定義サイ
ズとして”NIBBLE”が登録される(図10参
照)。シンボル変換ステップS6で、アセンブリ言語の
構文”MEMORY NIBBLE 00H.12H”
のメモリを指定するアドレスが定数になっておりC言語
のシンボル定義の構文に変換できない為、エラーとな
る。
【0007】次に、アセンブリ言語の構文”MOV M
EMORY+1,#0FH”を解析し、シンボル定義判
別ステップS2でこの構文が予め登録されているシンボ
ル定義の予約語と一致しないことによりシンボル定義の
構文でない構文と判別する。次に、シンボル定義外処理
ステップS7でシンボル定義の構文でないと判別された
構文を構文解析ステップS1の解析結果に応じて予め定
めた処理を行い、シンボル定義外構文変換ステップS8
でシンボル定義外処理ステップS7に応じたC言語の構
文に変換する。
【0008】シンボル定義外処理ステップS7は図8を
参照して動作を説明する。シンボル定義の構文でないと
判別されたアセンブリ言語の構文”MOV MEMOR
Y+1,#0FH”は、メモリ・アクセス判別ステップ
S11でアセンブリ言語の構文中の”MOV”が予め登
録されている予約語のメモリ・アクセスを行う命令と一
致することにより、メモリ・アクセスの構文と判別し、
シンボル参照判別ステップS12で”MEMEORY+
1”があることからシンボル参照の構文と判別する。次
に、シンボル名称解析ステップS13で参照シンボルの
名称”MEMORY”を得て、シンボル・サーチステッ
プS14でシンボル・テーブル50(この時点でシンボ
ル・テーブル50には図10に示した内容が登録されて
いる)を参照して参照シンボル”MEMORY”の定義
サイズ”NIBBLE”を取りだす。参照アドレス構文
作成ステップS51で定義サイズ”NIBBLE”と構
文の”MEMORY+1”から、参照アドレスを求める
C言語のポインタの設定の構文”static nib
ble MEMORY_P;”とC言語のポインタの設
定の構文”MEMORY_P = &MEMORY;”
とC言語のポインタ参照の構文”*(MEMORY_P
+ 1) = 0xF;”を作成し、次にシンボル定
義外構文変換ステップS8でC言語の構文に変換して出
力する。
【0009】次に、構文”MOV MEMORY,#0
5H”はメモリ・アクセス判別ステップS11で、”M
OV”が予め登録されている予約語のメモリ・アクセス
を行う命令と一致することにより、メモリ・アクセスの
構文と判断し、シンボル参照判別ステップS12では構
文に”MEMORY”が含まれることからシンボル参照
の構文と判別する。次にシンボル名称解析ステップS1
3で、参照シンボルの名称”MEMORY”を得て、シ
ンボル・サーチステップS14でシンボルテーブル50
から”MEMORY”の定義サイズ”NIBBLE”を
取り出す。参照アドレス構文作成ステップS51で、定
義サイズ”NIBBLE”と構文の”MEMORY”か
ら、参照アドレスを求めるC言語のポインタ参照の構
文”*MEMORY_P = 0x5;”を作成して、
次にシンボル定義外構文変換ステップS8でC言語の構
文に変換して出力する。
【0010】次に、構文”ADD 0H,MEMOR
Y”は、メモリ・アクセス判別ステップS11で、”A
DD”が予め登録されている予約語のメモリ・アクセス
を行う命令と一致することにより、メモリ・アクセスの
構文と判別し、シンボル参照判別ステップS12で、”
0H”はシンボルでなく定数であるためシンボル参照の
構文でない構文と判別する。次に定数参照アドレス解析
ステップS21で、”0H”から参照アドレス”00
H.00H”を得る。参照アドレス通知ステップS21
で、定数のアドレスはC言語の構文に変換できないた
め、参照アドレス”00H.00H”をエラー・メッセ
ッジーとして通知して、シンボル定義外構文変換ステッ
プS8は処理せずにスキップする。上記に説明した処理
を、構文終了判断ステップS9は、入力する構文がなく
なるまで処理を繰り返す。以上説明した処理を行うこと
によって、図9に示したアセンブリ言語の構文が図11
に示したC言語の構文に変換される。
【0011】
【発明が解決しようとする課題】ところで、図7、8に
示すソースコンバータの処理方法にあっては、例えば、
低級言語であるアセンブリ言語から高級言語であるC言
語への変換をする場合、絶対アドレスを指定されたシン
ボル定義のアセンブリ言語の構文をC言語の構文に変換
ができないため、変換後のC言語のソースプログラムを
修正しなければならないという問題がある。また、アド
レス指定する場合にシンボルで指定せずに、定数を使用
してアドレスを指定されたアセンブリ言語の構文もC言
語の構文に変換できないため、変換後のC言語のソース
プログラムを修正を必要とする。さらに、シンボルの相
対アドレスを指定してメモリアクセスをするアセンブリ
言語の構文を変換する場合に連続したメモリ領域を確保
しないでC言語の構文に変換していたため、変換後のソ
ースプログラムをコンパイルした後に実行すると不正な
動作となることがあるという問題がある。
【0012】本発明は、このような事情に鑑みてなされ
たもので、絶対アドレスを指定したシンボル定義や定数
を使用したアドレス指定の構文を変換することができ、
さらに相対アドレスを指定したメモリアクセスをした構
文を不正な動作にならない構文に変換できるソースコン
バータの処理方法を提供することを目的とする。
【0013】
【課題を解決するための手段】請求項1に記載の発明
は、入力された第1の構文を解析し、解析結果を得る構
文解析ステップと、前記構文解析結果に基づいて前記第
1の構文がシンボル定義の構文であるか否かを判別する
シンボル定義判別ステップと、前記シンボル定義判別ス
テップにおいてシンボル定義の構文でないと判別された
場合に前記構文解析結果からシンボル定義以外の第1の
構文を処理するシンボル定義外構文処理ステップと、前
記シンボル定義外構文処理ステップにおける処理結果に
基づいてシンボル定義以外の第1の構文を変換するシン
ボル定義外構文変換ステップと、 前記シンボル定義判別
ステップにおいてシンボル定義の構文であると判別され
た場合に前記構文解析結果から定義シンボルの名称を得
て、その定義シンボル名称をシンボル・テーブルに登録
するシンボル名称登録ステップと、前記構文解析結果か
ら定義シンボルのサイズを得て、そのシンボルサイズを
シンボル・テーブルに登録するシンボル・サイズ登録ス
テップと、前記構文解析結果から定義シンボルの絶対ア
ドレス得て、そのアドレスをシンボル・テーブルに登録
する定義アドレス登録ステップと、前記シンボル・テー
ブルに登録された内容と予め定めた変換方法により第1
の構文を他の言語仕様の第2の構文に変換するシンボル
変換ステップとを有することを特徴とする。
【0014】請求項2に記載の発明は、前記シンボル定
義外構文処理ステップは、前記構文解析結果からシンボ
ル名称を得るシンボル名称解析ステップと、シンボル名
称解析ステップで得られた前記シンボル名称に基づいて
前記シンボルテーブルを検索して該当するシンボルの定
義サイズと定義アドレスを得るシンボルサーチステップ
と、前記構文解析結果と前記定義アドレスとから参照ア
ドレスを得る参照アドレス解析ステップと、シンボルサ
ーチステップで得られた前記定義サイズと前記定義アド
レスから終端アドレスを得る終端アドレス解析ステップ
と、前記参照アドレスと前記終端アドレスとを比較して
その結果に基づいて新規シンボルを作成するか否かを判
別するシンボル作成判別ステップと、前記参照アドレス
と前記終端アドレスの差から新規に定義するシンボルの
定義サイズを得る定義サイズ解析ステップと、前記シン
ボル名称と前記定義サイズと前記終端アドレスとから新
規シンボルを定義するシンボル作成ステップとからな
り、前記シンボル定義外構文変換ステップは、前記構文
解析結果からメモリ操作の命令を得るメモリ操作解析ス
テップと、前記メモリ操作の命令を変換テーブルに登録
するメモリ操作登録ステップと、前記参照アドレスを変
換テーブルに登録する参照アドレス登録ステップと、前
記変換テーブルを検索して複数の前記メモリ操作の命令
と複数の前記参照アドレスを得る変換テーブル検索ステ
ップと、前記複数のメモリ操作の命令と前記複数の参照
アドレスが1つの構文に変換可能である場合は前記新規
シンボルと前記参照アドレスに基づいて第2の構文に変
換する連文変換処理ステップとからなることを特徴とす
る。
【0015】請求項3に記載の発明は、前記シンボル定
義外構文処理ステップは、前記構文解析結果から定数参
照アドレスを得て、その定数参照アドレスをシンボルテ
ーブルに登録する定数参照アドレス解析ステップと、前
記参照アドレスから新規に定義するシンボルのサイズと
新規に定義するシンボル名称を得て、シンボルテーブル
に前記新規シンボル名称と前記シンボルサイズと参照ア
ドレスとを登録するアドレスシンボル作成ステップと
さらに有し、前記シンボル定義外構文変換ステップは、
前記定数参照アドレスを前記アドレスシンボル作成ステ
ップで登録した前記新規シンボル名称に置き換えて前記
第1の構文を第2の構文に変換する単文変換ステップ
さらに有することを特徴とする。
【0016】請求項4に記載の発明は、入力された第1
の構文を解析し、解析結果を得る構文解析ステップと、
前記構文解析結果に基づいて前記第1の構文がシンボル
定義の構文であるか否かを判別するシンボル定義判別ス
テップと、前記シンボル定義判別ステップにおいてシン
ボル定義の構文でないと判別された場合に前記構文解析
結果からシンボル定義以外の第1の構文を処理するシン
ボル定義外構文処理ステップと、前記シンボル定義外構
文処理ステップにおける処理結果に基づいてシンボル定
義以外の第1の構文を変換するシンボル定義外構文変換
ステップと、前記シンボル定義判別ステップにおいてシ
ンボル定義の構文であると判別された場合に前記構文
析結果から定義シンボルの名称を得て、その定義シンボ
ル名称をシンボル・テーブルに登録するシンボル名称登
録ステップと、前記構文解析結果から定義シンボルのサ
イズを得て、そのシンボルサイズをシンボル・テーブル
に登録するシンボル・サイズ登録ステップと、前記構文
解析結果から定義シンボルの絶対アドレス得て、そのア
ドレスをシンボル・テーブルに登録する定義アドレス登
録ステップと、前記シンボル・テーブルに登録された内
容と予め定めた変換方法により第1の構文を他の言語仕
様の第2の構文に変換するシンボル変換ステップとをコ
ンピュータに実行させるソースコンバータ処理プログラ
ムを記録したことを特徴とする。
【0017】請求項5に記載の発明は、前記シンボル定
義外構文処理ステップは、前記構文解析結果からシンボ
ル名称を得るシンボル名称解析ステップと、シンボル名
称解析ステップで得られた前記シンボル名称に基づいて
前記シンボルテーブルを検索して該当するシンボルの定
義サイズと定義アドレスを得るシンボルサーチステップ
と、前記構文解析結果と前記定義アドレスとから参照ア
ドレスを得る参照アドレス解析ステップと、シンボルサ
ーチステップで得られた前記定義サイズと前記定義アド
レスから終端アドレスを得る終端アドレス解析ステップ
と、前記参照アドレスと前記終端アドレスとを比較して
その結果に基づいて新規シンボルを作成するか否かを判
別するシンボル作成判別ステップと、前記参照アドレス
と前記終端アドレスの差から新規に定義するシンボルの
定義サイズを得る定義サイズ解析ステップと、前記シン
ボル名称と前記定義サイズと前記終端アドレスとから新
規シンボルを定義するシンボル作成ステップとからな
り、前記シンボル定義外構文変換ステップは、前記構文
解析結果からメモリ操作の命令を得るメモリ操作解析ス
テップと、前記メモリ操作の命令を変換テーブルに登録
するメモリ操作登録ステップと、前記参照アドレスを変
換テーブルに登録する参照アドレス登録ステップと、前
記変換テーブルを検索して複数の前記メモリ操作の命令
と複数の前記参照アドレスを得る変換テーブル検索ステ
ップと、前記複数のメモリ操作の命令と前記複数の参照
アドレスが1つの構文に変換可能である場合は前記新規
シンボルと前記参照アドレスに基づいて第2の構文に変
換する連文変換処理ステップとからなることを特徴とす
る。
【0018】請求項6に記載の発明は、前記シンボル定
義外構文処理ステップは、前記構文解析結果から定数参
照アドレスを得て、その定数参照アドレスをシンボルテ
ーブルに登録する定数参照アドレス解析ステップと、前
記参照アドレスから新規に定義するシンボルのサイズと
新規に定義するシンボル名称を得て、シンボルテーブル
に前記新規シンボル名称と前記シンボルサイズと参照ア
ドレスとを登録するアドレスシンボル作成ステップと
さらに有し、前記シンボル定義外構文変換ステップは、
前記定数参照アドレスを前記アドレスシンボル作成ステ
ップで登録した前記新規シンボル名称に置き換えて前記
第1の構文を第2の構文に変換する単文変換ステップ
さらにさらに有することを特徴とする。
【0019】
【発明の実施の形態】図1は本発明の一実施形態を示し
たフローチャートである。図2は図1に示した同実施形
態のシンボル定義外構文処理ステップS7の詳細を示し
たフローチャートである。図3は図1に示した同実施形
態のシンボル定義外構文変換ステップS8の詳細を示し
たフローチャートである。図4は、アセンブリ言語から
C言語へ変換する際に作成するシンボルテーブルを示し
た説明図である。図5は、アセンブリ言語からC言語へ
変換する際に作成する変換テーブルを示した説明図であ
る。図6は、図8に示したアセンブリ言語で記述された
構文から変換されたC言語の構文を示した説明図であ
る。
【0020】図1において、図7に示す従来の処理ステ
ップと同一の部分には同一の符号を付し、その説明を省
略する。図1に示す処理ステップが従来と異なる点は、
定義アドレス登録ステップS5とシンボルテーブル10
に定義アドレス欄を設けたことである。この定義アドレ
ス登録ステップS5は、アセンブリ言語の構文から定義
シンボルのアドレスを得てシンボルテーブルに登録をす
る処理を行うステップである。また、シンボルテーブル
10は、登録された順番を管理する管理番号と、シンボ
ル名称登録欄と、定義サイズ登録欄と、定義アドレス登
録欄から構成される。
【0021】次に、図1を参照しながら動作の説明をす
る。まず、アセンブリ言語の構文”MEMORY NI
BBLE 00H.12H”を変換する処理について説
明する。構文解析ステップS1でアセンブリ言語の構
文”MEMORY NIBBLE00H.12H”を解
析し、シンボル定義判別ステップS2で構文中の”NI
BBLE”が予め登録されている予約語のシンボルと一
致するため、シンボル定義の構文と判別する。次に、シ
ンボル名称登録ステップS3で定義シンボルのシンボル
名称”MEMORY”をシンボル・テーブル10のシン
ボル名称欄に登録し(図4(ア)参照)、シンボルサイ
ズ登録ステップS4で定義シンボルのサイズ”NIBB
LE”をシンボル・テーブル10の定義サイズ欄に登録
する(図4(イ)参照)。次に、定義アドレス登録ステ
ップS5で構文の定義アドレス”00H.12H”をシ
ンボル・テーブル10の定義アドレス欄に登録する(図
4(ウ)参照)。
【0022】次にシンボル変換ステップS6で、C言語
の構文”nibble MEMORY addr(0.
0x12)”に変換する。変換は、まず”MEMORY
NIBBLE”を”nibble MEMORY”に
変換し、”00H.12H”はシンボルテーブル10に
登録されている内容を参照して定義アドレス欄の”00
H.12H”より”addr(0.0x12)”へ変換
する。この構文によってシンボル”MEMORY”を指
定されたアドレス”0.0x12”に”NIBBLE”
というサイズで配置できるようになる。
【0023】次に、図2を参照して、シンボル定義判別
ステップS2においてシンボル定義の構文でないと判別
された処理について説明する。図2において、図8に示
す従来の処理ステップと同一の部分には同一の符号を付
し、その説明を省略する。図2に示す処理ステップが従
来と異なる点は、参照アドレス解析ステップS15と、
終端アドレス解析ステップS16と、シンボル作成判別
ステップS17と、定義サイズ解析ステップS18と、
シンボル作成ステップS19と、アドレスシンボル作成
ステップS22とを有していることである。
【0024】次に、アセンブリ言語の構文”MOV M
EMORY+1,#0FH”を変換する処理について説
明する。構文解析ステップS1で構文解析を行い、シン
ボル定義判別ステップS2において、シンボル定義の構
文でないと判別されたアセンブリ言語の構文”MOVM
EMORY+1,#0FH”は、メモリアクセス判別ス
テップS11で構文の”MOV”が予約語のメモリ・ア
クセスを行うシンボルと一致するため、メモリ・アクセ
スの構文と判別して、シンボル参照判別ステップS12
で”MEMORY+1”から、この構文はシンボル参照
の構文と判別する。
【0025】次に、シンボル名称解析ステップS13で
シンボル名称”MEMORY”を得て、シンボルサーチ
ステップS14でシンボル・テーブル10(図4(ウ)
参照)から定義サイズの”NIBBLE”と、定義アド
レスの”00H.12H”を得る。次に参照アドレス解
析ステップS15で”MEMORY+1”と、シンボル
・テーブル10から取り出された”MEMORY”の定
義アドレス”00H.12H”から参照アドレスを求め
る。”MEMORY”の定義アドレスは”00H.12
H”であり、参照アドレスは”MEMORY+1”であ
るから、”00H.12H+1”として参照アドレス”
00H.13H”を得る。
【0026】次に終端アドレス解析ステップS16でシ
ンボル・テーブル10から取り出された参照シンボルの
定義アドレス”00H.12H”と定義サイズの”NI
BBLE”から終端アドレスを求める。定義アドレス
は”00H.12H”であり、定義サイズは”NIBB
LE”で、つまり1であるからこれらより終端アドレス
をアドレス計算により求めると、”00H.12H+1
−1”となり終端アドレス”00H.12H”を得る。
【0027】シンボル作成判別ステップS17では現在
処理中の構文より前の構文の処理において参照アドレス
と終端アドレスを得ているか否かで新規シンボルは作成
するか否かを判別する。構文”MOV MEMORY+
1,#0FH”の前に参照アドレスと終端アドレスを得
ていないことから新規シンボルは作成しないと判別し、
ステップS7を終了する。
【0028】次に、シンボル定義外構文変換ステップS
8は図3を参照して説明する。まず、メモリ操作解析ス
テップS30は構文の中からメモリを操作する部分であ
る”MOV”と”#0FH”を抽出し、メモリ操作登録
ステップS31は抽出された”MOV”と”#0FH”
を変換テーブル40のメモリ操作欄に登録する(図5
(ア)参照)。参照アドレス登録ステップS32は参照
アドレス解析ステップS15で得られた参照アドレス”
00H.13H”を変換テーブル40の参照アドレス欄
に登録する(図5(イ)参照)。
【0029】次に変換テーブル検索ステップS33で変
換テーブル40の内容を検索して、連文判別ステップS
34で登録されている内容が1つの構文に変換可能であ
るか否かを判別する。この時点(図5(イ)参照)で変
換テーブル40には複数の構文が登録されていないため
1つの構文に変換できないと判別する。変換判別ステッ
プS37は参照アドレス”00H.13H”を参照する
シンボルが存在しないため、構文変換できないと判別し
て、シンボル定義外構文変換ステップS8を終了する。
【0030】次に、アセンブリ言語の構文”MOV M
EMORY,#05H”を変換する処理について説明す
る。構文解析ステップS1で構文解析を行い、シンボル
定義判別ステップS2においてシンボル定義の構文では
ないと判別されたアセンブリ言語の構文”MOVMEM
ORY,#05H”は、メモリ・アクセス判別ステップ
S11は”MOV”が予め登録されている予約語のメモ
リ・アクセスを行う命令と一致することにより、メモリ
・アクセスの構文と判別する。シンボル参照判別ステッ
プS12はシンボル名”MEMORY”があることから
シンボル参照の構文と判別する。シンボル名称解析ステ
ップS13は参照シンボルの名称”MEMORY”を得
る。シンボル・サーチステップS14は参照シンボルの
名称”MEMORY”を基にシンボル・テーブル10か
ら参照シンボルの定義サイズ”NIBBLE”と、参照
シンボルの定義アドレス”00H.12H”を取り出
す。参照アドレス解析ステップS15はシンボルテーブ
ル10から取り出された定義アドレスに基づいて参照ア
ドレス”00H.12H”を得る。終端アドレス解析ス
テップS16は参照アドレスと定義サイズより終端アド
レス”00H.12H”を得る。
【0031】シンボル作成判別ステップS17は、現在
処理中の構文より前の構文を処理したときに得た終端ア
ドレスと直前に得た終端アドレス”00H.12H”が
等しく、かつ、この終端アドレスと参照アドレス”00
H.12H”が等しいため、新規シンボルを作成すると
判別する。定義サイズ解析ステップS18は参照アドレ
スと終端アドレスの差から新規シンボルの定義サイズを
得て、シンボル作成ステップS19は新規のシンボル名
称”MEMORY_2”をシンボルテーブル10に登録
する(図4(エ)参照)。
【0032】次に、メモリ操作解析ステップS30は構
文の中からメモリを操作する部分である”MOV”と”
#05H”を抽出し、メモリ操作登録ステップS31は
抽出された”MOV”と”#05H”を変換テーブル4
0のメモリ操作欄に登録する(図5(ウ)参照)。参照
アドレス登録ステップS32は参照アドレス解析ステッ
プS15で得られた参照アドレス”00H.12H”を
変換テーブル40の参照アドレス欄に登録する(図5
(エ)参照)。次に変換テーブル検索ステップS33で
変換テーブル40の内容を検索して、連文判別ステップ
S34で登録されている内容が1つの構文に変換可能で
あるか否かを判別する。この時点で変換テーブル40に
は未処理の複数の構文が登録されているため1つの構文
に変換できると判別する。連文シンボル解析ステップS
35で参照アドレス”00H.13H”、”00H.1
2H”を参照するシンボルがシンボル作成ステップS1
9で作成した”MEMORY_2”であることを得る。
連文変換処理ステップS36でC言語の構文”MEMO
RY_2=0x5F;”に変換される。次にシンボル変
換ステップS6でシンボルテーブル10の内容(図4
(エ)参照)はC言語の構文”static nibb
le2 MEMORY_2 addr(0.0x1
2);”に変換される。
【0033】次に、アセンブリ言語の構文”ADD 0
H,MEMORY”を変換する処理について説明する。
構文解析ステップS1で構文解析を行い、シンボル定義
判別ステップS2においてシンボル定義の構文ではない
と判別されたアセンブリ言語の構文”ADD0H,ME
MORY”は、メモリ・アクセス判別ステップS11
は、”ADD”が予め登録されている予約語のメモリ・
アクセスを行う命令と一致することにより、メモリ・ア
クセスの構文と判別する。シンボル参照判別ステップS
12は、参照アドレスが”0H”であるためにシンボル
を参照しない構文であると判別する。定数参照アドレス
解析ステップS21は構文より参照アドレス”00H.
00H”を得る。アドレスシンボル作成ステップS22
は参照アドレス”00H.00H”より新規シンボルの
名称”MEM_00”を作成し、定義サイズを”nib
ble”とし、定義アドレスを”00H.00H”とし
て、シンボル・テーブル10に登録する(図4(オ)参
照)。
【0034】次に、メモリ操作解析ステップS30は構
文の中からメモリを操作する部分である”ADD”を抽
出し、メモリ操作登録ステップS31は抽出された”A
DD”を変換テーブル40のメモリ操作欄に登録する
(図5(オ)参照)。参照アドレス登録ステップS32
は参照アドレス解析ステップS15で得られた参照アド
レス”00H.12H”及び定数参照アドレス解析ステ
ップS21で得た参照アドレス”00H.00H”を変
換テーブル40の参照アドレス欄に登録する(図5
(カ)参照)。次に変換テーブル検索ステップS33で
変換テーブル40の内容を検索して、連文判別ステップ
S34で登録されている内容が1つの構文に変換可能で
あるか否かを判別する。この時点で変換テーブル40に
は未処理の複数の構文が登録されていないため1つの構
文に変換できないと判別する。
【0035】変換判別ステップS37は構文解析ステッ
プS1の解析結果が予め定めた定義と一致するため構文
変換可能と判別する。単文シンボル解析ステップS38
で参照アドレス”00H.12H”を参照するシンボ
ル”MEM_00”がアドレスシンボル作成ステップS
22より作成され、参照アドレス”00H.12H”を
参照するシンボル”MEMORY”がシンボルサーチス
テップS205よってシンボルテーブル10から取り出
されていることを得る。単文変換処理ステップS39で
C言語の構文”MEM_00+= MEMORY”に変
換する。次に、シンボル変換ステップS6でシンボルテ
ーブル10の内容をC言語の構文”static ni
bble MEM_00 addr(0.0x0)”に
変換する。
【0036】以上説明した処理を行うことによって、図
9に示したアセンブリ言語の構文を図6に示したC言語
の構文に変換される。なお、本発明の実施形態に示した
ソースコンバータにおいて、図1、2、3の処理方法を
実現するためのプログラムをコンピュータ読み取り可能
な記録媒体に記憶して、この記録媒体に記録されたプロ
グラムをコンピュータに読み込み、実行することにより
ソースプログラムの変換を行ってもよい。
【0037】
【発明の効果】以上説明したように、請求項1及び4記
載の発明によれば、絶対アドレスを指定したシンボル定
義のアセンブリ言語の構文をC言語の構文に変換ができ
るため、変換後のC言語のソースプログラムの修正を必
要としないために、修正する工数を削減でき、変換後の
ソースプログラムの信頼性を向上できるという効果が得
られる。また、請求項2及び5記載の発明によれば、シ
ンボルの相対アドレスを指定してメモリアクセスをする
アセンブリ言語の構文を変換する場合に連続したメモリ
領域を確保して、相対アドレスを指定した場合のベース
となるアドレスと相対アドレスで指定したアドレスの間
を連続した領域となるようなC言語の構文に変換できる
ため、変換後のソースプログラムをコンパイルした後の
プログラムを正常に動作させることができるいう効果が
得られる。また、請求項3及び6記載の発明によれば、
アドレス指定する場合にシンボルで指定せずに、定数を
使用してアドレスを指定したアセンブリ言語の構文をC
言語の構文に変換できるため、変換後のC言語のソース
プログラムのを修正を必要としないために、修正する工
数を削減でき、変換後のソースプログラムの信頼性を向
上できるという効果が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態を示すフロチャートであ
る。
【図2】 図1に示す、シンボル定義外構文処理ステッ
プS7の詳細なフロチャートである。
【図3】 図1に示す、シンボル定義外構文変換ステッ
プS8の詳細なフロチャートである。
【図4】 同実施形態のシンボルテーブル10を示した
説明図である。
【図5】 同実施形態の変換テーブル40を示した説明
図である。
【図6】 同実施形態により変換し出力されたC言語の
構文を示した説明図である。
【図7】 従来の技術を示すフロチャートである。
【図8】 図7に示す、シンボル定義外構文処理ステッ
プS7の詳細なフロチャートである。
【図9】 ソースコンバータに入力されたアセンブリ言
語の構文を示した説明図である。
【図10】 従来技術のシンボル・テーブル50を示し
た説明図である。
【図11】 従来技術によって変換し出力されたC言語
の構文を示した説明図である。
【符号の説明】
S1・・・構文解析ステップ、S2・・・シンボル定義
判別ステップ、S3・・・シンボル名称登録ステップ、
S4・・・シンボル・サイズ登録ステップ、S5・・・
定義アドレス登録ステップ、S6・・・シンボル変換ス
テップ、S7・・・シンボル定義外構文処理ステップ、
S8・・・シンボル定義外構文変換ステップ、S9・・
・構文終了判別ステップ、10・・・シンボルテーブ
ル。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/45 G06F 9/06

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力された第1の構文を解析し、解析結
    果を得る構文解析ステップと、前記構文解析結果に基づいて前記第1の構文がシンボル
    定義の構文であるか否かを判別するシンボル定義判別ス
    テップと、 前記シンボル定義判別ステップにおいてシンボル定義の
    構文でないと判別された場合に前記構文解析結果からシ
    ンボル定義以外の第1の構文を処理するシンボル定義外
    構文処理ステップと、 前記シンボル定義外構文処理ステップにおける処理結果
    に基づいてシンボル定義以外の第1の構文を変換するシ
    ンボル定義外構文変換ステップと、 前記シンボル定義判別ステップにおいてシンボル定義の
    構文であると判別された場合に 前記構文解析結果から定
    義シンボルの名称を得て、その定義シンボル名称をシン
    ボル・テーブルに登録するシンボル名称登録ステップ
    と、 前記構文解析結果から定義シンボルのサイズを得て、そ
    のシンボルサイズをシンボル・テーブルに登録するシン
    ボル・サイズ登録ステップと、 前記構文解析結果から定義シンボルの絶対アドレス得
    て、そのアドレスをシンボル・テーブルに登録する定義
    アドレス登録ステップと、 前記シンボル・テーブルに登録された内容と予め定めた
    変換方法により第1の構文を他の言語仕様の第2の構文
    に変換するシンボル変換ステップと、 を有することを特徴とするソース・コンバータの処理方
    法。
  2. 【請求項2】 前記シンボル定義外構文処理ステップ
    は、 前記構文解析結果からシンボル名称を得るシンボル名称
    解析ステップと、 シンボル名称解析ステップで得られた前記シンボル名称
    に基づいて前記シンボルテーブルを検索して該当するシ
    ンボルの定義サイズと定義アドレスを得るシンボルサー
    チステップと、 前記構文解析結果と前記定義アドレスとから参照アドレ
    スを得る参照アドレス解析ステップと、 シンボルサーチステップで得られた前記定義サイズと前
    記定義アドレスから終端アドレスを得る終端アドレス解
    析ステップと、 前記参照アドレスと前記終端アドレスとを比較してその
    結果に基づいて新規シンボルを作成するか否かを判別す
    るシンボル作成判別ステップと、 前記参照アドレスと前記終端アドレスの差から新規に定
    義するシンボルの定義サイズを得る定義サイズ解析ステ
    ップと、 前記シンボル名称と前記定義サイズと前記終端アドレス
    とから新規シンボルを定義するシンボル作成ステップと
    からなり、 前記シンボル定義外構文変換ステップは、 前記構文解析結果からメモリ操作の命令を得るメモリ操
    作解析ステップと、 前記メモリ操作の命令を変換テーブルに登録するメモリ
    操作登録ステップと、 前記参照アドレスを変換テーブルに登録する参照アドレ
    ス登録ステップと、 前記変換テーブルを検索して複数の前記メモリ操作の命
    令と複数の前記参照アドレスを得る変換テーブル検索ス
    テップと、 前記複数のメモリ操作の命令と前記複数の参照アドレス
    が1つの構文に変換可能である場合は前記新規シンボル
    と前記参照アドレスに基づいて第2の構文に変換する連
    文変換処理ステップとからなることを特徴とする請求項
    1記載のソース・コンバータの処理方法。
  3. 【請求項3】 前記シンボル定義外構文処理ステップ
    は、 前記構文解析結果から定数参照アドレスを得て、その定
    数参照アドレスをシンボルテーブルに登録する定数参照
    アドレス解析ステップと、 前記参照アドレスから新規に定義するシンボルのサイズ
    と新規に定義するシンボル名称を得て、シンボルテーブ
    ルに前記新規シンボル名称と前記シンボルサイズと参照
    アドレスとを登録するアドレスシンボル作成ステップと
    をさらに有し、 前記シンボル定義外構文変換ステップは、 前記定数参照アドレスを前記アドレスシンボル作成ステ
    ップで登録した前記新規シンボル名称に置き換えて前記
    第1の構文を第2の構文に変換する単文変換ステップ
    さらに有することを特徴とする請求項2記載のソース・
    コンバータの処理方法。
  4. 【請求項4】 入力された第1の構文を解析し、解析結
    果を得る構文解析ステップと、前記構文解析結果に基づいて前記第1の構文がシンボル
    定義の構文であるか否かを判別するシンボル定義判別ス
    テップと、 前記シンボル定義判別ステップにおいてシンボル定義の
    構文でないと判別された場合に前記構文解析結果からシ
    ンボル定義以外の第1の構文を処理するシンボル定義外
    構文処理ステップと、 前記シンボル定義外構文処理ステップにおける処理結果
    に基づいてシンボル定義以外の第1の構文を変換するシ
    ンボル定義外構文変換ステップと、 前記シンボル定義判別ステップにおいてシンボル定義の
    構文であると判別された場合に 前記構文解析結果から定
    義シンボルの名称を得て、その定義シンボル名称をシン
    ボル・テーブルに登録するシンボル名称登録ステップ
    と、 前記構文解析結果から定義シンボルのサイズを得て、そ
    のシンボルサイズをシンボル・テーブルに登録するシン
    ボル・サイズ登録ステップと、 前記構文解析結果から定義シンボルの絶対アドレス得
    て、そのアドレスをシンボル・テーブルに登録する定義
    アドレス登録ステップと、 前記シンボル・テーブルに登録された内容と予め定めた
    変換方法により第1の構文を他の言語仕様の第2の構文
    に変換するシンボル変換ステップと、 をコンピュータに実行させるソースコンバータ処理プロ
    グラムを記録したコンピュータ読み取り可能な記録媒
    体。
  5. 【請求項5】 前記シンボル定義外構文処理ステップ
    は、 前記構文解析結果からシンボル名称を得るシンボル名称
    解析ステップと、 シンボル名称解析ステップで得られた前記シンボル名称
    に基づいて前記シンボルテーブルを検索して該当するシ
    ンボルの定義サイズと定義アドレスを得るシンボルサー
    チステップと、 前記構文解析結果と前記定義アドレスとから参照アドレ
    スを得る参照アドレス解析ステップと、 シンボルサーチステップで得られた前記定義サイズと前
    記定義アドレスから終端アドレスを得る終端アドレス解
    析ステップと、 前記参照アドレスと前記終端アドレスとを比較してその
    結果に基づいて新規シンボルを作成するか否かを判別す
    るシンボル作成判別ステップと、 前記参照アドレスと前記終端アドレスの差から新規に定
    義するシンボルの定義サイズを得る定義サイズ解析ステ
    ップと、 前記シンボル名称と前記定義サイズと前記終端アドレス
    とから新規シンボルを定義するシンボル作成ステップと
    からなり、 前記シンボル定義外構文変換ステップは、 前記構文解析結果からメモリ操作の命令を得るメモリ操
    作解析ステップと、 前記メモリ操作の命令を変換テーブルに登録するメモリ
    操作登録ステップと、 前記参照アドレスを変換テーブルに登録する参照アドレ
    ス登録ステップと、 前記変換テーブルを検索して複数の前記メモリ操作の命
    令と複数の前記参照アドレスを得る変換テーブル検索ス
    テップと、 前記複数のメモリ操作の命令と前記複数の参照アドレス
    が1つの構文に変換可能である場合は前記新規シンボル
    と前記参照アドレスに基づいて第2の構文に変換する連
    文変換処理ステップとからなることを特徴とするソース
    コンバータ処理プログラムを記録した請求項4に記載の
    コンピュータ読み取り可能な記録媒体。
  6. 【請求項6】 前記シンボル定義外構文処理ステップ
    は、 前記構文解析結果から定数参照アドレスを得て、その定
    数参照アドレスをシンボルテーブルに登録する定数参照
    アドレス解析ステップと、 前記参照アドレスから新規に定義するシンボルのサイズ
    と新規に定義するシンボル名称を得て、シンボルテーブ
    ルに前記新規シンボル名称と前記シンボルサイズと参照
    アドレスとを登録するアドレスシンボル作成ステップと
    をさらに有し、 前記シンボル定義外構文変換ステップは、 前記定数参照アドレスを前記アドレスシンボル作成ステ
    ップで登録した前記新規シンボル名称に置き換えて前記
    第1の構文を第2の構文に変換する単文変換ステップ
    さらにさらに有することを特徴とするソースコンバータ
    処理プログラムを記録した請求項5に記載のコンピュー
    タ読み取り可能な記録媒体。
JP10019991A 1998-01-30 1998-01-30 ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3110367B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP10019991A JP3110367B2 (ja) 1998-01-30 1998-01-30 ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US09/238,102 US6360359B1 (en) 1998-01-30 1999-01-27 Source converter processing method and machine-readable media storing it
EP99101575A EP0933699A2 (en) 1998-01-30 1999-01-29 Source converter processing method and machine-readable media storing it
CN99101714.5A CN1228560A (zh) 1998-01-30 1999-01-29 源代码转换器处理方法及存储该方法的机读媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10019991A JP3110367B2 (ja) 1998-01-30 1998-01-30 ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPH11219300A JPH11219300A (ja) 1999-08-10
JP3110367B2 true JP3110367B2 (ja) 2000-11-20

Family

ID=12014646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10019991A Expired - Fee Related JP3110367B2 (ja) 1998-01-30 1998-01-30 ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (4)

Country Link
US (1) US6360359B1 (ja)
EP (1) EP0933699A2 (ja)
JP (1) JP3110367B2 (ja)
CN (1) CN1228560A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2363215B (en) 1999-11-30 2004-01-21 Sgs Thomson Microelectronics Disassembling object code
US6748584B1 (en) * 1999-12-29 2004-06-08 Veritas Operating Corporation Method for determining the degree to which changed code has been exercised
AUPQ811500A0 (en) * 2000-06-09 2000-07-06 Educational And Computing Software Pty Ltd System for program source code conversion
US7240338B1 (en) 2003-05-29 2007-07-03 Itt Manufacturing Enterprises, Inc. Computer language translation system and method of converting procedural computer language software to object-oriented computer language software
CA2607495A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited System and method for efficient hosting of wireless applications by encoding application component definitions
US7822615B2 (en) * 2005-06-27 2010-10-26 Ab Initio Technology Llc Translating expressions in a computing environment
US20070271553A1 (en) * 2006-05-22 2007-11-22 Micro Focus (Us), Inc. Method and system for translating assembler code to a target language
CN104142886B (zh) * 2013-05-10 2017-11-28 华为软件技术有限公司 Arm汇编代码调试处理方法及装置
US9575731B1 (en) 2015-06-22 2017-02-21 Chaorong Peng Diagram language for computer programming

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569092B2 (ja) * 1987-12-11 1997-01-08 株式会社日立製作所 入出力機器制御プログラムのアドレス解決方法
US5182807A (en) * 1987-12-18 1993-01-26 Nec Corporation Assembler system for determining when to compile source code modules
JP2636058B2 (ja) 1990-03-02 1997-07-30 北海道日本電気ソフトウェア株式会社 アセンブラ原始プログラムをcobol原始プログラムに変換する装置
US5432795A (en) * 1991-03-07 1995-07-11 Digital Equipment Corporation System for reporting errors of a translated program and using a boundry instruction bitmap to determine the corresponding instruction address in a source program
US5805893A (en) * 1996-03-01 1998-09-08 Electronic Data Systems Corporation Assembly language program converter
US5946484A (en) * 1997-05-08 1999-08-31 The Source Recovery Company, Llc Method of recovering source code from object code
US6106574A (en) * 1997-12-04 2000-08-22 Unisys Corp. Computer-implemented object-oriented method for relating objects in a compiler to locations in the source program and to inlined call histories

Also Published As

Publication number Publication date
EP0933699A2 (en) 1999-08-04
JPH11219300A (ja) 1999-08-10
US6360359B1 (en) 2002-03-19
CN1228560A (zh) 1999-09-15

Similar Documents

Publication Publication Date Title
JP4755427B2 (ja) データベース・アクセス・システム、データベース・アクセス方法
US7634720B2 (en) System and method for providing context to an input method
JPH10326255A (ja) 言語から独立したメッセージの操作方法
US7784026B1 (en) Web application internationalization
US20060282452A1 (en) System and method for mapping structured document to structured data of program language and program for executing its method
JPH08314728A (ja) ソースプログラムをオブジェクトプログラムに変換する方法および装置
CN112306620B (zh) 自定义表单控件的多语言加载方法及装置
JP3110367B2 (ja) ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007514239A (ja) 効果的な省スペースxmlパーシング
JP3130828B2 (ja) アセンブル処理方式
US20110078552A1 (en) Transclusion Process
JP2007179347A (ja) プログラム検証支援システム
CN116028062A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN102365622B (zh) 翻译设备、翻译方法和程序存储介质
JP2020115246A (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
US20040025114A1 (en) Preserving content or attribute information during conversion from a structured document to a computer program
CN114791811B (zh) 一种基于元函数模板的汇编器实现方法
US7219088B1 (en) Method and system for analyzing character data
CN112817588A (zh) 一种页面预览方法、装置及其存储介质
CN114168189A (zh) 一种Vue项目代码的翻译方法、设备及介质
CN116522915A (zh) 支持二进制数据字面值的词法分析方法、系统及响应方法
JPH03186933A (ja) 言語処理システムのシンボル処理方式
CN115291851A (zh) 一种软件开发包代码生成方法、装置、设备及存储介质
CN114757163A (zh) 基于资源的pe文件相似性比对方法
CN116360788A (zh) 结构化文本编程语言的编译方法、编译器及电子设备

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: 20000829

LAPS Cancellation because of no payment of annual fees