JPH02159629A - 計算機言語翻訳方式 - Google Patents
計算機言語翻訳方式Info
- Publication number
- JPH02159629A JPH02159629A JP31469088A JP31469088A JPH02159629A JP H02159629 A JPH02159629 A JP H02159629A JP 31469088 A JP31469088 A JP 31469088A JP 31469088 A JP31469088 A JP 31469088A JP H02159629 A JPH02159629 A JP H02159629A
- Authority
- JP
- Japan
- Prior art keywords
- program
- source program
- time
- intermediate output
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 241001517610 Funa Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、計算機言語のコンパイラ等の翻訳方式に関
するものである。
するものである。
第4図は従来の一般的なコンパイラの構成図で、図にお
いて、1はエディタ等で作成された原始プログラム、2
,3,4. ・・・5はコンパイラ6を構成する各部
分プログラム(バス)、8,9.・・・IOは名部分プ
ログラム〆2,3,4. ・・r5が出力する中間出
力ファイル、11はコンパイラ6が出力する目的プログ
ラムである。
いて、1はエディタ等で作成された原始プログラム、2
,3,4. ・・・5はコンパイラ6を構成する各部
分プログラム(バス)、8,9.・・・IOは名部分プ
ログラム〆2,3,4. ・・r5が出力する中間出
力ファイル、11はコンパイラ6が出力する目的プログ
ラムである。
ここにおいて、各部分プログラム2. 3. 4゜・・
・5は全体としてコンパイラ6を形成するが、特に原始
プログラムlにおける字句や構文の解析を行う字句・構
文解析部2とその他の部分プログラム群7とに分けられ
る。
・5は全体としてコンパイラ6を形成するが、特に原始
プログラムlにおける字句や構文の解析を行う字句・構
文解析部2とその他の部分プログラム群7とに分けられ
る。
次に動作について説明する。
エディタによって原始プログラムlを作成し、コンパイ
ラ6によってコンパイルを行うと、まず、字句・構文解
析部2は、原始プログラム1に対して字句解析、構文解
析を行い、中間コードおよび記号表を生成して中間出力
ファイル8に出力する。
ラ6によってコンパイルを行うと、まず、字句・構文解
析部2は、原始プログラム1に対して字句解析、構文解
析を行い、中間コードおよび記号表を生成して中間出力
ファイル8に出力する。
以下、その他の部分プログラム群7により、中間出力フ
ァイル9.・・・10を出力しながら目的プログラム1
1を生成ダする。
ァイル9.・・・10を出力しながら目的プログラム1
1を生成ダする。
従来方式は以上のように構成されているので、入力は完
全な原始プログラムでなければならず、原始プログラム
の一部に変更を生じた場合は、原始プログラム全体を再
度翻訳し直すことが必要で、計算機時間や計算機資源を
消費するという問題点があった。
全な原始プログラムでなければならず、原始プログラム
の一部に変更を生じた場合は、原始プログラム全体を再
度翻訳し直すことが必要で、計算機時間や計算機資源を
消費するという問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、原始プログラムの変更に対して計算機資源を
節約し高速に目的プしIグラムを生成することを目的と
する。
たもので、原始プログラムの変更に対して計算機資源を
節約し高速に目的プしIグラムを生成することを目的と
する。
この発明に係る計算機言語1訳方式は、原始プし1グラ
ム1の翻訳時に字句・構文解析により次回の翻訳時に利
用′可能な情報を中間出力ファイル12として出力し、
原始プログラムlの変更時に新旧原始プログラム1.1
4の差分情報(差分ファイル15)と上記中間出力ファ
イル12とから目的プログラム25を生成するようにし
たものである。
ム1の翻訳時に字句・構文解析により次回の翻訳時に利
用′可能な情報を中間出力ファイル12として出力し、
原始プログラムlの変更時に新旧原始プログラム1.1
4の差分情報(差分ファイル15)と上記中間出力ファ
イル12とから目的プログラム25を生成するようにし
たものである。
この発明においては、原始プログラムlの翻訳時、すな
わち原始プログラム1から目的プログラム11を生成す
る時に字句・構文解析部2によりトークン列や記号表等
からなる中間出力ファイル12を生成しておく。また、
原始プログラム1の変更時には、前回の翻訳時における
原始プログラム1からの変更部分に関する情報(差分情
報)を持つ差分ファイル15を生成する。そして、上記
中間出力ファイル12と差分ファイル15に基づいて目
的プログラム25を生成する。
わち原始プログラム1から目的プログラム11を生成す
る時に字句・構文解析部2によりトークン列や記号表等
からなる中間出力ファイル12を生成しておく。また、
原始プログラム1の変更時には、前回の翻訳時における
原始プログラム1からの変更部分に関する情報(差分情
報)を持つ差分ファイル15を生成する。そして、上記
中間出力ファイル12と差分ファイル15に基づいて目
的プログラム25を生成する。
以下、この発明の一実施例を図について説明する。
第1図はこの発明の一実施例を示す構成図で、図におい
て、12は字句・構文解析部2による原始プログラムl
の字句解析、構文解析によって得られた字句、構文情報
や記号表等からなる中間出力ファイルであり、前記中間
出力ファイル8と同一であってもよい。13はエディタ
と称される編集プログラム、14は編集プログラム13
によって原始プログラム1が変更、更新された原始プロ
グラム、15は編集プログラム13によって出力される
前回のコンパイル時の原始プログラムlと今回のコンパ
イル時の原始プログラム14との変更部分の差分ファイ
ル、16.17.18. ・・・19はコンパイラ2
0を構成する部分プログラム、22,23. ・・・
24は各部分プログラム16.17.1B、 ・・・
19が出力する中間出力ファイル、25はコンパイラ2
0が出力する目的プログラムである。
て、12は字句・構文解析部2による原始プログラムl
の字句解析、構文解析によって得られた字句、構文情報
や記号表等からなる中間出力ファイルであり、前記中間
出力ファイル8と同一であってもよい。13はエディタ
と称される編集プログラム、14は編集プログラム13
によって原始プログラム1が変更、更新された原始プロ
グラム、15は編集プログラム13によって出力される
前回のコンパイル時の原始プログラムlと今回のコンパ
イル時の原始プログラム14との変更部分の差分ファイ
ル、16.17.18. ・・・19はコンパイラ2
0を構成する部分プログラム、22,23. ・・・
24は各部分プログラム16.17.1B、 ・・・
19が出力する中間出力ファイル、25はコンパイラ2
0が出力する目的プログラムである。
ここにおいて、上記コンパイラ20を構成する部分プロ
グラム16は前記コンパイラ6の字句・構文解析部2に
対応し、その他の部分プログラム17.1B、 ・・
・19からなる部分プログラム群21は前記コンパイラ
6の部分プログラム群7に対応する。また、26はコン
パイラ6の字句・構文解析部2から出力される中間出力
ファイル12に相当する中間出力ファイルで、上記コン
パイラ20の字句・構文解析部16から出力され、次回
のコンパイルのために用いられる。
グラム16は前記コンパイラ6の字句・構文解析部2に
対応し、その他の部分プログラム17.1B、 ・・
・19からなる部分プログラム群21は前記コンパイラ
6の部分プログラム群7に対応する。また、26はコン
パイラ6の字句・構文解析部2から出力される中間出力
ファイル12に相当する中間出力ファイルで、上記コン
パイラ20の字句・構文解析部16から出力され、次回
のコンパイルのために用いられる。
第2図は中間出力ファイル12.26の一構成例である
。27は原始プログラムの各レコードに対応するポイン
タ列、28は原始プログラム中のトークン(符)列、2
9は記号表である。
。27は原始プログラムの各レコードに対応するポイン
タ列、28は原始プログラム中のトークン(符)列、2
9は記号表である。
次に動作について説明する。
コンパイラ6は、原始プログラム1から目的プログラム
11を生成し、同時に字句・構文解析部2によって得ら
れた情報のうち、トークン(符)列28.記号表29な
どを中間出力ファイル12として出力する。
11を生成し、同時に字句・構文解析部2によって得ら
れた情報のうち、トークン(符)列28.記号表29な
どを中間出力ファイル12として出力する。
原始プログラム1が編集プログラム13によって更新さ
れると、更新された原始プログラム14が出力されると
ともに、変更を受けた部分に関する情報が差分ファイル
15として出力される。コンパイラ20は上記中間出力
ファイル12と差分ファイル15から目的プログラム2
5を出力し、同時に字句・構文解析部16で得られたト
ークン(符)列28.記号表29などを中間出力ファイ
ル26に出力する。この中間出力ファイル26は更に次
回の原始プログラム更新時にその差分ファイルとともに
コンパイラの入力として利用できる。
れると、更新された原始プログラム14が出力されると
ともに、変更を受けた部分に関する情報が差分ファイル
15として出力される。コンパイラ20は上記中間出力
ファイル12と差分ファイル15から目的プログラム2
5を出力し、同時に字句・構文解析部16で得られたト
ークン(符)列28.記号表29などを中間出力ファイ
ル26に出力する。この中間出力ファイル26は更に次
回の原始プログラム更新時にその差分ファイルとともに
コンパイラの入力として利用できる。
次に、中間出力ファイル12と差分ファイル15を用い
た字句・構文解析部16について説明する。中間出力フ
ァイル12は第2図に示したようにトークン(符)列2
8.記号表29および原−始プログラムの各レコードに
対応するポインタ列27から成る。差分ファイル15は
原始プログラムlのレコード中、変更を受けた部分につ
いてその変更内容(レコードの挿入、削除、置換)およ
び変更後のレコード内容を保持する。
た字句・構文解析部16について説明する。中間出力フ
ァイル12は第2図に示したようにトークン(符)列2
8.記号表29および原−始プログラムの各レコードに
対応するポインタ列27から成る。差分ファイル15は
原始プログラムlのレコード中、変更を受けた部分につ
いてその変更内容(レコードの挿入、削除、置換)およ
び変更後のレコード内容を保持する。
字句・構文解析部16は、第3図に示すようなアルゴリ
ズムに従って解析を行う。まず、差分ファイル15を調
べて現レコードが変更されているかを知り(ステップ3
1)、変更を受けていないレコードに関しては、中間出
力ファイル12のトークン列28.記号表29を調べる
ことによりその情報を得て解析結果としくステップ32
−33)、以降のステップ34,35.36に進む。一
方、変更を受けたレコードに関しては、差分ファイル1
5から変更されたレコードを得て従来のコンパイラの字
句・構文解析部と同様に解析を行い(ステップ37)、
更に必要に応じて記号表29への記号の挿入や削除を行
なって(ステップ38)、以降のステップ34,35.
36に進む。
ズムに従って解析を行う。まず、差分ファイル15を調
べて現レコードが変更されているかを知り(ステップ3
1)、変更を受けていないレコードに関しては、中間出
力ファイル12のトークン列28.記号表29を調べる
ことによりその情報を得て解析結果としくステップ32
−33)、以降のステップ34,35.36に進む。一
方、変更を受けたレコードに関しては、差分ファイル1
5から変更されたレコードを得て従来のコンパイラの字
句・構文解析部と同様に解析を行い(ステップ37)、
更に必要に応じて記号表29への記号の挿入や削除を行
なって(ステップ38)、以降のステップ34,35.
36に進む。
このようにして得られたトークン(符)列28や記号表
29は中間出力ファイル26として出力し、次回のコン
パイル時に利用する。
29は中間出力ファイル26として出力し、次回のコン
パイル時に利用する。
なお、上記実施例では、編集プログラム13が原始プロ
グラム1.14の差分ファイル15を生成するものを示
したが、別にファイル間の差分抽出プログラムを用意し
、原始プログラム1,14から差分ファイル15を生成
してもよい。
グラム1.14の差分ファイル15を生成するものを示
したが、別にファイル間の差分抽出プログラムを用意し
、原始プログラム1,14から差分ファイル15を生成
してもよい。
また、編集プログラム13とコンパイラを一体化して対
話的な処理を行ってもよく、この場合、中間出力ファイ
ル12や差分ファイル15を主記憶上にお(ことにより
、更に高速な処理を行える。
話的な処理を行ってもよく、この場合、中間出力ファイ
ル12や差分ファイル15を主記憶上にお(ことにより
、更に高速な処理を行える。
また、上記実施例では、高級言語を機械命令に翻訳する
コンパイラについて説明したが、コンパイラに類するも
ので、高級言語を別の高級言語に翻訳するトランスレー
タやアセンブリ言語を機械命令に翻訳するアセンブラで
あっても、上記実施例と同様の効果を奏する。
コンパイラについて説明したが、コンパイラに類するも
ので、高級言語を別の高級言語に翻訳するトランスレー
タやアセンブリ言語を機械命令に翻訳するアセンブラで
あっても、上記実施例と同様の効果を奏する。
また、上記実施例では、中間出力ファイル12゜26が
トークン列28や記号表29から成るとしたが、中間コ
ード列と記号表、トークン列とその原始プログラムとの
対応表などでもよく、類似のアルゴリズムを用いること
により、上記実施例と同様の効果を奏する。
トークン列28や記号表29から成るとしたが、中間コ
ード列と記号表、トークン列とその原始プログラムとの
対応表などでもよく、類似のアルゴリズムを用いること
により、上記実施例と同様の効果を奏する。
以上のように、この発明によれば、原始プログラムの翻
訳時に字句・構文解析により次回の翻訳時に利用可能な
情報を中間出力ファイルとして出力し、原始プログラム
の変更時に新旧原始プログラムの差分情報と上記中間出
力ファイルとから目的プログラムを生成するようにした
ので、原始プログラムの部分的な変更の後、高速に目的
プログラムが得られ、また、計算機資源を節約できる効
果がある。
訳時に字句・構文解析により次回の翻訳時に利用可能な
情報を中間出力ファイルとして出力し、原始プログラム
の変更時に新旧原始プログラムの差分情報と上記中間出
力ファイルとから目的プログラムを生成するようにした
ので、原始プログラムの部分的な変更の後、高速に目的
プログラムが得られ、また、計算機資源を節約できる効
果がある。
第1図はこの発明の一実施例によるコンパイラを示す構
成図、第2図はこの発明の一実施例による中間出力ファ
イルの一構成例を示す構成図、第3図はこの発明の一実
施例によるコンパイラの字句・構文解析部のアルゴリズ
ムを示すフローチャート、第4図は従来のコンパイラを
示す構成図である。 1.14は原始プログラム、2.16は字句・構文解析
部をなす部分プログラム、3〜5,17〜19はその他
の部分プログラム、6,20はコンパイラ、7.21は
その他の部分プログラム群、8〜10,12.22〜2
4.26は中間出力ファイル、11.25は目的プログ
ラム、13は編集プログラム、15は差分ファイル、2
7はポインタ列、28はトークン列、29は記号表。 代理人 大 岩 増 雄(ばか2名)11.2
5: 目的プログラム・ 13: 祷Pログラム\ 15: iフナファイル 第 ? 図 27 ° オぐイン9列 28:)−7:/列 29゛較湯表
成図、第2図はこの発明の一実施例による中間出力ファ
イルの一構成例を示す構成図、第3図はこの発明の一実
施例によるコンパイラの字句・構文解析部のアルゴリズ
ムを示すフローチャート、第4図は従来のコンパイラを
示す構成図である。 1.14は原始プログラム、2.16は字句・構文解析
部をなす部分プログラム、3〜5,17〜19はその他
の部分プログラム、6,20はコンパイラ、7.21は
その他の部分プログラム群、8〜10,12.22〜2
4.26は中間出力ファイル、11.25は目的プログ
ラム、13は編集プログラム、15は差分ファイル、2
7はポインタ列、28はトークン列、29は記号表。 代理人 大 岩 増 雄(ばか2名)11.2
5: 目的プログラム・ 13: 祷Pログラム\ 15: iフナファイル 第 ? 図 27 ° オぐイン9列 28:)−7:/列 29゛較湯表
Claims (1)
- 原始プログラムからその字句・構文解析を行って目的プ
ログラムを生成する計算機言語翻訳方式において、原始
プログラムの翻訳時に上記字句・構文解析により次回の
翻訳時に利用可能な情報を中間出力ファイルとして出力
し、原始プログラムの変更時に新旧原始プログラムの差
分情報と上記中間出力ファイルとから目的プログラムを
生成することを特徴とする計算機言語翻訳方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31469088A JPH02159629A (ja) | 1988-12-13 | 1988-12-13 | 計算機言語翻訳方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31469088A JPH02159629A (ja) | 1988-12-13 | 1988-12-13 | 計算機言語翻訳方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02159629A true JPH02159629A (ja) | 1990-06-19 |
Family
ID=18056377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31469088A Pending JPH02159629A (ja) | 1988-12-13 | 1988-12-13 | 計算機言語翻訳方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02159629A (ja) |
-
1988
- 1988-12-13 JP JP31469088A patent/JPH02159629A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8245203B2 (en) | Logging system and method for computer software | |
US20050137853A1 (en) | Machine translation | |
JPS61282935A (ja) | プログラムにおける属性割当て検査方法及び装置 | |
JPH02112068A (ja) | テキスト簡略表示方式 | |
JPH02159629A (ja) | 計算機言語翻訳方式 | |
JPH03260766A (ja) | 括弧生成判定機能付翻訳装置 | |
JPH08194611A (ja) | プログラム修正による影響範囲を解析する装置 | |
JP3003459B2 (ja) | プログラム作成支援装置 | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JP3000878B2 (ja) | アセンブラの処理方法 | |
JPH07121379A (ja) | 複数言語混在コンパイラ | |
JP2002082811A (ja) | コンパイル方法および記録媒体 | |
JP2580336B2 (ja) | 言語処理系における名前の属性検査処理方式 | |
JPH06162075A (ja) | 自動リライト装置 | |
JP2942414B2 (ja) | 仮想データベース方式 | |
JPS59231649A (ja) | コンパイルリスト出力処理方式 | |
JP2001282520A (ja) | プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体 | |
CN116755704A (zh) | 基于规则描述文件的规则行为模型实时代码生成方法 | |
JPH09222999A (ja) | 木構造チャート変換システム及び変換方法 | |
JP2002041286A (ja) | ソースプログラム自動変換装置及び方法 | |
JPH03127264A (ja) | 括弧付き文の機械翻訳方式 | |
Steensgaard-Madsen | The three parts are interconnected by a main program. Data flow between the modules without any of the three parts be-ing aware of the internal type structure defined by the other two. Also the main program is completely independent of such definitions. For example, only the i/o-module depends on | |
JPH0540638A (ja) | 語彙解析編集方式 | |
JPH0954704A (ja) | 言語プロセッサのテストプログラム自動作成システム | |
JPH02281337A (ja) | トランスレータジェネレータを拡張する方法 |