JPH0417028A - プログラム言語の翻訳編集方式 - Google Patents
プログラム言語の翻訳編集方式Info
- Publication number
- JPH0417028A JPH0417028A JP12095690A JP12095690A JPH0417028A JP H0417028 A JPH0417028 A JP H0417028A JP 12095690 A JP12095690 A JP 12095690A JP 12095690 A JP12095690 A JP 12095690A JP H0417028 A JPH0417028 A JP H0417028A
- Authority
- JP
- Japan
- Prior art keywords
- external
- compiler
- names
- name
- lexical
- 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
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000013519 translation Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、言語仕様上、外部名の長さに制限のあるプ
ログラミング言語を用いてソフトウェアを開発したり、
移植したりする際の翻訳と連係編集時の処理に、外部名
の長さの制限を解除するためのプログラミング言語の翻
訳編集方式に関するもので、特に、プログラミング言語
を翻訳するコンパイラ及び実行可能なロードモジュール
を生成するリンカ−の処理に関するものである。
ログラミング言語を用いてソフトウェアを開発したり、
移植したりする際の翻訳と連係編集時の処理に、外部名
の長さの制限を解除するためのプログラミング言語の翻
訳編集方式に関するもので、特に、プログラミング言語
を翻訳するコンパイラ及び実行可能なロードモジュール
を生成するリンカ−の処理に関するものである。
第2図は従来の翻訳及び連係編集時の処理方式を示す概
略図であり、図において、(1)は構文解析部(1a)
、コード生成部(lb)及び記号表(1c)を有するコ
ンパイラで、ソースプログラム(2)が構文解析部(1
a)に入力されると、字句解析、構文解析等が行われ、
記号表(1c)が生成される。コード生成部(1b)で
はその記号表(1c)を参照しながらコード生成を行い
、オブジェクトモジュール(3)を生成する。また、(
4)はリンカ−で、このリンカ−(4)はオブジェクト
モジュール(3)を連係編集することによって実行可能
なロードモジュール(5)を生成するようになされてい
る。
略図であり、図において、(1)は構文解析部(1a)
、コード生成部(lb)及び記号表(1c)を有するコ
ンパイラで、ソースプログラム(2)が構文解析部(1
a)に入力されると、字句解析、構文解析等が行われ、
記号表(1c)が生成される。コード生成部(1b)で
はその記号表(1c)を参照しながらコード生成を行い
、オブジェクトモジュール(3)を生成する。また、(
4)はリンカ−で、このリンカ−(4)はオブジェクト
モジュール(3)を連係編集することによって実行可能
なロードモジュール(5)を生成するようになされてい
る。
(発明が解決しようとする課題〕
従来のコンパイラ(1)とリンカ−(4)の処理方式は
以上の様に構成されているので、外部名に関する記号表
の情報をリンカ−(4)に渡す事ができず、リンカ−(
4)も外部名に関する情報はオブジェクトモジュール(
3)からしか得ることができず、得られる情報も基本的
には外部名の名前についてのみである。
以上の様に構成されているので、外部名に関する記号表
の情報をリンカ−(4)に渡す事ができず、リンカ−(
4)も外部名に関する情報はオブジェクトモジュール(
3)からしか得ることができず、得られる情報も基本的
には外部名の名前についてのみである。
この発明は、上記の問題を解決する為になされたもので
、オブジェクトフォーマットを変更することなく連係編
集時に外部名の名前だけでなく属性までも検査すること
ができると共に、言語仕様上の外部名の長さの制限を解
除することができるプログラム言語の翻訳編集方式を得
ることを口約とする。
、オブジェクトフォーマットを変更することなく連係編
集時に外部名の名前だけでなく属性までも検査すること
ができると共に、言語仕様上の外部名の長さの制限を解
除することができるプログラム言語の翻訳編集方式を得
ることを口約とする。
この発明に係るプログラム言語の翻訳編集方式は、コン
パイラによってソースプログラムの字句及び構文解析を
行なうと共に、字句的な外部名に対応する言語仕様上長
さに制限がある識別子を生成して記号表を作成し、外部
名に関する情報を属性ファイルに出力し、かつ上記記号
表を参照しつつオブジェクトモジュールを生成し、連係
編集時にリンカ−によって上記属性ファイルを参照しな
がらオブジェクトモジュールにおける外部名の名前の検
査及び属性の検査を併せて行い実行可能なロードモジュ
ールを生成するものである。
パイラによってソースプログラムの字句及び構文解析を
行なうと共に、字句的な外部名に対応する言語仕様上長
さに制限がある識別子を生成して記号表を作成し、外部
名に関する情報を属性ファイルに出力し、かつ上記記号
表を参照しつつオブジェクトモジュールを生成し、連係
編集時にリンカ−によって上記属性ファイルを参照しな
がらオブジェクトモジュールにおける外部名の名前の検
査及び属性の検査を併せて行い実行可能なロードモジュ
ールを生成するものである。
この発明においては、コンパイラが字句的な外部名に対
応する識別子を自動生成することにより、外部名の衝突
を避ける事が可能となり、外部名に関する情報をファイ
ル形式でリンカ−に渡すことによりオブジェクトフォー
マットを変更する必要がなくなる。更に、連係編集時に
コンパイラが作成した属性ファイルを参照することによ
り、エラーが発生した場合コンパイラが自動的に生成し
た識別子ではなく、字句的な外部名で報告することが可
能となる。
応する識別子を自動生成することにより、外部名の衝突
を避ける事が可能となり、外部名に関する情報をファイ
ル形式でリンカ−に渡すことによりオブジェクトフォー
マットを変更する必要がなくなる。更に、連係編集時に
コンパイラが作成した属性ファイルを参照することによ
り、エラーが発生した場合コンパイラが自動的に生成し
た識別子ではなく、字句的な外部名で報告することが可
能となる。
以下、この発明の一実施例を第2図と同一部分は同一符
号を付して示す第1図に基づいて説明する。
号を付して示す第1図に基づいて説明する。
第1図において、新たな構成として、(6)はコンパイ
ラ(1)の構文解析部(1a)が生成した記号表(IC
)から外部名に関する情報を抽出し後でリンカ−(4)
が利用する属性ファイルである。その他は従来と同様で
ある。
ラ(1)の構文解析部(1a)が生成した記号表(IC
)から外部名に関する情報を抽出し後でリンカ−(4)
が利用する属性ファイルである。その他は従来と同様で
ある。
第1図構成において、ソースプログラム(′2)は、コ
ンパイラ(1)の構文解析部(1a)によって字句解析
、構文解析等が行われ、これに基づぎ記号表(1c)が
作成され、その時、外部名に関しては字句的な外部名に
対応する識別子をコンパイラ(1)の構文解析部(1a
)が自動生成する。自動生成された識別子は長さの制限
等を伴う言語仕様に従うものとする。最終的に外部名に
関するこれらの情報、例えば字句的な外部名、コンパイ
ラ(1)が自動生成した識別子、外部名の属性といった
ものを属性ファイル([i)に出力するものとする。
ンパイラ(1)の構文解析部(1a)によって字句解析
、構文解析等が行われ、これに基づぎ記号表(1c)が
作成され、その時、外部名に関しては字句的な外部名に
対応する識別子をコンパイラ(1)の構文解析部(1a
)が自動生成する。自動生成された識別子は長さの制限
等を伴う言語仕様に従うものとする。最終的に外部名に
関するこれらの情報、例えば字句的な外部名、コンパイ
ラ(1)が自動生成した識別子、外部名の属性といった
ものを属性ファイル([i)に出力するものとする。
コンパイラ(1)のコード生成部(1b)は、従来と同
様に記号表(lc)を参照しながらオブジェクトモジュ
ール(3)を生成する。オブジェクトモジュール(3)
は、リンカ−(4)によって連係編集され実行可能なロ
ードモジュール(5)を生成する。その際に、属性ファ
イル(6)を参照しながら行う事により外部名の属性を
検査することが可能であり、従来の方式では成し得なか
った機能が実現できる。更に、エラーが発生した場合も
コンパイラ(1)が自動的に生成した識別子ではなく字
句的な外部名で報告されるので、利用者は不便を感じな
い。
様に記号表(lc)を参照しながらオブジェクトモジュ
ール(3)を生成する。オブジェクトモジュール(3)
は、リンカ−(4)によって連係編集され実行可能なロ
ードモジュール(5)を生成する。その際に、属性ファ
イル(6)を参照しながら行う事により外部名の属性を
検査することが可能であり、従来の方式では成し得なか
った機能が実現できる。更に、エラーが発生した場合も
コンパイラ(1)が自動的に生成した識別子ではなく字
句的な外部名で報告されるので、利用者は不便を感じな
い。
尚、翻訳単位が複数個存在する場合にも、属性ファイル
(6)を順次更新することにより対応可能である。
(6)を順次更新することにより対応可能である。
以上の様に、この発明によれば、プログラミング言語の
外部名の長さの制限を解除したので、プログラミング言
語の利用者は外部名の長さの制限を受けることなくソフ
トウェアを開発することが可能になり、また他機種から
ソフトウェアを8植する際に効果がある。
外部名の長さの制限を解除したので、プログラミング言
語の利用者は外部名の長さの制限を受けることなくソフ
トウェアを開発することが可能になり、また他機種から
ソフトウェアを8植する際に効果がある。
第1図はこの発明の一実施例による概略構成図、第2図
は従来技術の概略構成図である。 (1)はコンパイラ、(la)は構文解析部、(1b)
はコード生成部、(4)はリンカ−1(lc)は記号表
、(2)はソースプログラム、(3)はオブジェクトモ
ジュール、(5)は実行可能なロードモジュール、(6
)は属性ファイルである。 なお、各図中同一符号は同一または相当部分を示す。
は従来技術の概略構成図である。 (1)はコンパイラ、(la)は構文解析部、(1b)
はコード生成部、(4)はリンカ−1(lc)は記号表
、(2)はソースプログラム、(3)はオブジェクトモ
ジュール、(5)は実行可能なロードモジュール、(6
)は属性ファイルである。 なお、各図中同一符号は同一または相当部分を示す。
Claims (1)
- コンパイラによってソースプログラムの字句及び構文解
析を行なうと共に、字句的な外部名に対応する言語仕様
上長さに制限がある識別子を生成して記号表を作成し、
外部名に関する情報を属性ファイルに出力し、かつ上記
記号表を参照しつつオブジェクトモジュールを生成し、
連係編集時にリンカーによって上記属性ファイルを参照
しながらオブジェクトモジュールにおける外部名の名前
の検査及び属性の検査を併せて行い実行可能なロードモ
ジュールを生成することを特徴とするプログラム言語の
翻訳編集方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12095690A JPH0417028A (ja) | 1990-05-10 | 1990-05-10 | プログラム言語の翻訳編集方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12095690A JPH0417028A (ja) | 1990-05-10 | 1990-05-10 | プログラム言語の翻訳編集方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0417028A true JPH0417028A (ja) | 1992-01-21 |
Family
ID=14799148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12095690A Pending JPH0417028A (ja) | 1990-05-10 | 1990-05-10 | プログラム言語の翻訳編集方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0417028A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102459086A (zh) * | 2009-05-07 | 2012-05-16 | 南欧派克有限公司 | 水性二氧化钛浆体组合物及其制备方法 |
-
1990
- 1990-05-10 JP JP12095690A patent/JPH0417028A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102459086A (zh) * | 2009-05-07 | 2012-05-16 | 南欧派克有限公司 | 水性二氧化钛浆体组合物及其制备方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698682B1 (en) | Computerized software development environment with a software database containing atomic expressions | |
US20040158820A1 (en) | System for generating an application framework and components | |
Haber et al. | Engineering delta modeling languages | |
US8423971B2 (en) | Generating an application software library | |
CA2204118A1 (en) | Method and apparatus for tree data structure manipulation and translating source code from one high-level computer language to another | |
JPH0383153A (ja) | メツセージ処理システム及び方法 | |
US11294665B1 (en) | Computerized software version control with a software database and a human database | |
Zhang et al. | Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution | |
Schmidt | SODD: A computer code to calculate detuning and distortion function terms in first and second order | |
JPH0417028A (ja) | プログラム言語の翻訳編集方式 | |
Hannan et al. | Higher-order arity raising | |
Akers et al. | Case study: Re-engineering C++ component models via automatic program transformation | |
Harsu | Re-engineering legacy software through language conversion | |
JPH03240837A (ja) | デバッグ情報生成装置 | |
JP2977642B2 (ja) | Fortranコンパイル処理装置 | |
Purtilo et al. | Extracting program structure for packaging in a component-based environment | |
JPH03282826A (ja) | 並列化翻訳方式 | |
JP3041919B2 (ja) | プログラム結合処理装置 | |
Johnstone et al. | A tutorial guide to rdp for new users | |
Lüthi | Self-hosting the Envision Visual Programming Environment | |
KR101524542B1 (ko) | 이종 스마트폰 어플리케이션을 위한 mof 기반의 데이터 변환 방법 및 그 장치 | |
JP3124000B2 (ja) | 構造型の利用者定義演算のインライン展開装置 | |
JPH0279127A (ja) | フォートラン・コンパイル処理方式 | |
Mesa et al. | Model weaving support for migrating software artifacts from autosar 2.0 to autosar 2. x | |
Anisko | Program transformation and the C++ language |