JPH0498322A - コンパイラの作成方法 - Google Patents
コンパイラの作成方法Info
- Publication number
- JPH0498322A JPH0498322A JP21214390A JP21214390A JPH0498322A JP H0498322 A JPH0498322 A JP H0498322A JP 21214390 A JP21214390 A JP 21214390A JP 21214390 A JP21214390 A JP 21214390A JP H0498322 A JPH0498322 A JP H0498322A
- Authority
- JP
- Japan
- Prior art keywords
- compiler
- instruction table
- source code
- reserved word
- effective information
- 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
- 238000000034 method Methods 0.000 title claims description 8
- 238000012360 testing method Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段(第1図)
作用
実施例
(a+ 一実施例の説明(第2図乃至第4図)(bl
他の実施例の説明 発明の効果 〔概要] 装置毎の命令テーブルを備えたコンパイラを作成する方
法に関し、 コンパイラの共通化を図り、コンパイラの作成工数、試
験工数を低減することを目的とし、ソースコードをオブ
ジェクトコードに変換する命令テーブルlOを有するコ
ンパイラを作成するコンパイラの作成方法において、使
用できるソースコードを格納した使用命令テーブル20
を設けるとともに、富亥命令テーフ゛ル10に富亥ソー
スコードの有効情報をセットする領域を設け、該使用命
令テーブルに格納したソースコードに対応した該命令テ
ーブル10の有効情報領域に有効情報をセットするよう
にした。
他の実施例の説明 発明の効果 〔概要] 装置毎の命令テーブルを備えたコンパイラを作成する方
法に関し、 コンパイラの共通化を図り、コンパイラの作成工数、試
験工数を低減することを目的とし、ソースコードをオブ
ジェクトコードに変換する命令テーブルlOを有するコ
ンパイラを作成するコンパイラの作成方法において、使
用できるソースコードを格納した使用命令テーブル20
を設けるとともに、富亥命令テーフ゛ル10に富亥ソー
スコードの有効情報をセットする領域を設け、該使用命
令テーブルに格納したソースコードに対応した該命令テ
ーブル10の有効情報領域に有効情報をセットするよう
にした。
本発明は、装置毎の命令テーブルを備えたコンパイラを
作成する方法に関する。
作成する方法に関する。
プロセッサを備えた小型端末等の装置においては、ソー
スコードをコンパイラによってオブジェクトコードに変
換してプログラムを実行する。
スコードをコンパイラによってオブジェクトコードに変
換してプログラムを実行する。
このような小型端末等では、装置がシリーズ化されてお
り、基本機能は同一だが仕様、機能が若干異なっている
。
り、基本機能は同一だが仕様、機能が若干異なっている
。
このため、コンパイラも共通のものが使用できるが、装
置によっては使用できないソースコード(命令)が存在
する。
置によっては使用できないソースコード(命令)が存在
する。
このように、装置によっては、使用できる命令と使用で
きない命令があるため、装置の種類に対応したコンパイ
ラを作成することが要求されている。
きない命令があるため、装置の種類に対応したコンパイ
ラを作成することが要求されている。
従来のコンパイラの作成においては、該当装置の使用で
きる命令のみを命令テーブルとしてコンパイラ内部に持
つ構造をした装置毎の専用コンパイラを作成していた。
きる命令のみを命令テーブルとしてコンパイラ内部に持
つ構造をした装置毎の専用コンパイラを作成していた。
ところが、装置の機種が追加されてコンパイラが取り扱
う命令が異なってくると、機種が追加される都度該当機
種に対応した専用コンパイラを作成することになる。
う命令が異なってくると、機種が追加される都度該当機
種に対応した専用コンパイラを作成することになる。
しかしながら、従来技術では次の問題があった。
■ 装置の機種が追加されてコンパイラが取り扱う命令
が異なるに伴い該当機種用の専用コンパイラを作成しな
ければならず、作成工数が必要となる。
が異なるに伴い該当機種用の専用コンパイラを作成しな
ければならず、作成工数が必要となる。
■ 専用コンパイラを作成すると、これを試験しなけれ
ばならず、試験工数もコンパイラ分必要となる。
ばならず、試験工数もコンパイラ分必要となる。
従って、本発明は、コンパイラの共通化を図り、コンパ
イラの作成工数、試験工数を低減することのできるコン
パイラの作成方法を提供することを目的とする。
イラの作成工数、試験工数を低減することのできるコン
パイラの作成方法を提供することを目的とする。
第1図は本発明の原理図である。
本発明は、第1図に示すように、ソースコードをオブジ
ェクトコードに変換する命令テーブルIOを有するコン
パイラを作成するコンパイラの作成方法において、使用
できるソースコードを格納した使用命令テーブル20を
設けるとともに、該命令テーブル10に該ソースコード
の有効情報をセットする領域を設け、該使用命令テーブ
ルに格納したソースコードに対応した該命令テーブル1
0の有効情報領域に有効情報をセットするようにしたも
のである。
ェクトコードに変換する命令テーブルIOを有するコン
パイラを作成するコンパイラの作成方法において、使用
できるソースコードを格納した使用命令テーブル20を
設けるとともに、該命令テーブル10に該ソースコード
の有効情報をセットする領域を設け、該使用命令テーブ
ルに格納したソースコードに対応した該命令テーブル1
0の有効情報領域に有効情報をセットするようにしたも
のである。
本発明は、コンパイラ本体1の命令テーブル10を共通
化し、各ソースコートの有効情報域を設け、装置に使用
できるソースコードの使用命令テブル20で有効情報を
セットし、その装置の専用コンパイラを自動作成するも
のである。
化し、各ソースコートの有効情報域を設け、装置に使用
できるソースコードの使用命令テブル20で有効情報を
セットし、その装置の専用コンパイラを自動作成するも
のである。
従って、共通のコンパイラを作成するだけで、装置毎の
専用コンパイラが作成でき、専用コンパイラの作成工数
、試験工数を低減できる。
専用コンパイラが作成でき、専用コンパイラの作成工数
、試験工数を低減できる。
(al 一実施例の説明
第2図及び第3図は本発明の詳細な説明図である。
図中、第1図で示したものと同一のものは、同一の記号
で示しである。
で示しである。
コンパイラ動作用命令テーブル10は、予約語(ソース
命令語)テーブル10aと、予約語データテーブル10
bから構成される構文解析テーブルである。
命令語)テーブル10aと、予約語データテーブル10
bから構成される構文解析テーブルである。
予約語テーブル10aは、当該コンパイラが処理の対象
とする全予約語が登録されているテーブルであり、第3
図(A)に示すように、登録された予約語個数と、各予
約語の予約語基(コンパイラが認識する命令及び関数等
の単語)と、当該予約語基に対する予約語テーブルを示
すポインタとで構成されている。
とする全予約語が登録されているテーブルであり、第3
図(A)に示すように、登録された予約語個数と、各予
約語の予約語基(コンパイラが認識する命令及び関数等
の単語)と、当該予約語基に対する予約語テーブルを示
すポインタとで構成されている。
このポインタが有効情報域であり、内容が“0”であれ
ば無効、“0゛でなければ有効であり、有効の場合は、
対応する予約語データテーブルのアドレスが格納される
。
ば無効、“0゛でなければ有効であり、有効の場合は、
対応する予約語データテーブルのアドレスが格納される
。
一方、予約語データテーブル10bは、予約語基ごとに
構文解析に必要なデータが格納されているテーブルであ
り、第3図(A)に示すように、各予約語の予約語種別
(命令、関数、接続語等)と、中間コード(オブジェク
トコード)が格納されている。
構文解析に必要なデータが格納されているテーブルであ
り、第3図(A)に示すように、各予約語の予約語種別
(命令、関数、接続語等)と、中間コード(オブジェク
トコード)が格納されている。
20a〜20mは各端末の命令テーブル(予約語ファイ
ル)であり、端末機種に対応する言語種別毎に作成され
るファイルであり、第3図(B)に示すように、該当言
語種別用の使用できる全予約語が格納される。
ル)であり、端末機種に対応する言語種別毎に作成され
るファイルであり、第3図(B)に示すように、該当言
語種別用の使用できる全予約語が格納される。
30はデフォルト情報設定ファイルであり、デフォルト
情報として命令テーブル切り替え指示が設定される。
情報として命令テーブル切り替え指示が設定される。
このデフォルト情報は、端末機種に対応する言語の識別
子がセットされ、これによって当該コンパイラが処理す
る予約語ファイルが決定される。
子がセットされ、これによって当該コンパイラが処理す
る予約語ファイルが決定される。
第4図は本発明の一実施例処理フロー図である。
■ 図示しないプロセッサは、メモリ上のデフォルト情
報設定ファイル30からデフォルト情報を読み込み、言
語種別を求める。
報設定ファイル30からデフォルト情報を読み込み、言
語種別を求める。
次に、プロセッサは、言語種別から該当予約語ファイル
20a〜20mを求める。
20a〜20mを求める。
■ 求めた、予約語ファイルから予約語基を順次読み込
む。
む。
予約語ファイル内の全予約語基(全レコード)について
、終了したか判定し、終了すれば作成終了となる。
、終了したか判定し、終了すれば作成終了となる。
■ 一方、終了していなければ、予約語ファイルの当該
予約語基をキーにして、予約語テーブル10aをサーチ
する。
予約語基をキーにして、予約語テーブル10aをサーチ
する。
予約語テーブル10aの当該予約語基を見付けると、そ
の予約語基のポインタに該当の予約語データテーブル1
0bのアドレスをセットして、その予約語基を有効にす
る。
の予約語基のポインタに該当の予約語データテーブル1
0bのアドレスをセットして、その予約語基を有効にす
る。
そして、ステップ■に戻る。
このようにして、予約語テーブル10aの初期状態では
“O”無効であった各予約語の内、指定端末の予約語フ
ァイル20の予約語に対応するものが有効となり、指定
端末の命令テーブル10を持つ専用コンパイラが作成さ
れることになる。
“O”無効であった各予約語の内、指定端末の予約語フ
ァイル20の予約語に対応するものが有効となり、指定
端末の命令テーブル10を持つ専用コンパイラが作成さ
れることになる。
これは、各端末に、命令テーブル10を持つコンパイラ
本体1と、各端末の予約語ファイル203〜20mとを
格納しでおき、その端末のデフォルト情報設定ファイル
30にその端末を指定することにより、第4図の構文解
析テーブル登録処理フローを実行して専用コンパイラを
作成するようにすればよい。
本体1と、各端末の予約語ファイル203〜20mとを
格納しでおき、その端末のデフォルト情報設定ファイル
30にその端末を指定することにより、第4図の構文解
析テーブル登録処理フローを実行して専用コンパイラを
作成するようにすればよい。
又、各端末に、命令テーブル10を持つコンパイラ本体
1と、その端末の予約語ファイルのみを格納しておき、
第4図の構文解析テーブル登録処理フローにより、各端
末毎に専用コンパイラを作成するようにしてもよい。
1と、その端末の予約語ファイルのみを格納しておき、
第4図の構文解析テーブル登録処理フローにより、各端
末毎に専用コンパイラを作成するようにしてもよい。
(bl 他の実施例の説明
上述の実施例の他に、本発明は次の変形が可能である。
■ 命令テーブル10の構成を第3図(A)のもので説
明したが、他の構成のものであってもよい。
明したが、他の構成のものであってもよい。
■ 装置を端末装置で説明したが、これに限られない。
以上本発明を実施例により説明したが、本発明は本発明
の主旨に従い種々の変形が可能であり、本発明からこれ
らを排除するものではない。
の主旨に従い種々の変形が可能であり、本発明からこれ
らを排除するものではない。
〔発明の効果]
以上説明した様に、本発明によれば、次の効果を奏する
。
。
■ コンパイラ本体1の命令テーブル10を共通化し、
使用命令テーブル20によってソースコードの有効/無
効をセントするので、装置毎の専用コンパイラが自動作
成できる。
使用命令テーブル20によってソースコードの有効/無
効をセントするので、装置毎の専用コンパイラが自動作
成できる。
このため、専用コンパイラの作成工数が大幅に低減され
、装置の機種追加にも容易に対応できる。
、装置の機種追加にも容易に対応できる。
■ 共通コンパイラを試験すれば、専用コンパイラの試
験が不要なため、試験工数も大幅に低減できる。
験が不要なため、試験工数も大幅に低減できる。
第1図は本発明の原理図、
第2図及び第3図は本発明の詳細な説明図、第4図は本
発明の一実施例処理フロー図である。 図中、1・−・コンパイラ本体、 1〇−命令テーブル、 2〇−使用命令テーブル。 特許出願人 冨士通株式会社 代理人弁理士 山 谷 晧 榮 木亮朗の原理面 第1図 第2図 第4図
発明の一実施例処理フロー図である。 図中、1・−・コンパイラ本体、 1〇−命令テーブル、 2〇−使用命令テーブル。 特許出願人 冨士通株式会社 代理人弁理士 山 谷 晧 榮 木亮朗の原理面 第1図 第2図 第4図
Claims (1)
- 【特許請求の範囲】 ソースコードをオブジェクトコードに変換する命令テー
ブル(10)を有するコンパイラを作成するコンパイラ
の作成方法において、 使用できるソースコードを格納した使用命令テーブル(
20)を設けるとともに、 該命令テーブル(10)に該ソースコードの有効情報を
セットする領域を設け、 該使用命令テーブルに格納したソースコードに対応した
該命令テーブル(10)の有効情報領域に有効情報をセ
ットするようにしたことを 特徴とするコンパイラの作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21214390A JPH0498322A (ja) | 1990-08-10 | 1990-08-10 | コンパイラの作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21214390A JPH0498322A (ja) | 1990-08-10 | 1990-08-10 | コンパイラの作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0498322A true JPH0498322A (ja) | 1992-03-31 |
Family
ID=16617603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21214390A Pending JPH0498322A (ja) | 1990-08-10 | 1990-08-10 | コンパイラの作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0498322A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124326A (ja) * | 1996-10-16 | 1998-05-15 | Hitachi Ltd | コンパイル方法 |
KR20020058789A (ko) * | 2000-12-30 | 2002-07-12 | 이계안 | 피어싱 프레스 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60181833A (ja) * | 1984-02-28 | 1985-09-17 | Nec Corp | 浮動小数点加算器用桁合せ回路 |
JPS60181838A (ja) * | 1984-02-28 | 1985-09-17 | Fujitsu Ltd | コンパイラ |
-
1990
- 1990-08-10 JP JP21214390A patent/JPH0498322A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60181833A (ja) * | 1984-02-28 | 1985-09-17 | Nec Corp | 浮動小数点加算器用桁合せ回路 |
JPS60181838A (ja) * | 1984-02-28 | 1985-09-17 | Fujitsu Ltd | コンパイラ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124326A (ja) * | 1996-10-16 | 1998-05-15 | Hitachi Ltd | コンパイル方法 |
KR20020058789A (ko) * | 2000-12-30 | 2002-07-12 | 이계안 | 피어싱 프레스 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8156471B2 (en) | Multi-language execution method | |
US6678885B2 (en) | System and method for common code generation | |
US5701487A (en) | Method and apparatus for displaying locations of errors detected inside software macro calls | |
US5826088A (en) | System for protecting computer software written in interpreted language | |
JPH0498322A (ja) | コンパイラの作成方法 | |
WO2007074469A2 (en) | Method and system for compiling a source code | |
Ludewig | Espreso—A system for process control software specification | |
KR970011897B1 (ko) | 언어해석 처리장치 | |
KR100428015B1 (ko) | 빌딩 제어 시스템의 텍스트 파일 임포트 방법 | |
CN117912623A (zh) | 基于领域描述语言推理的专病库数据要素提取方法及系统 | |
JP3664602B2 (ja) | 情報処理システム | |
IL145365A (en) | Generate optimal data field conversion routines on your computer | |
JPH06266562A (ja) | オブジェクト指向言語処理システムにおける目的コードサイズ最適化方式 | |
JPH02178845A (ja) | データベース操作言語のプリコンパイル方式 | |
JPS6326730A (ja) | プログラム修正方式 | |
WO2002039647A2 (en) | A multi-language execution method | |
Nagl | Modelling of software architectures: Importance, notions, experiences | |
JP2001236243A (ja) | デバッグ方法、および、デバッグ用プログラムを記録した記録媒体 | |
JPH04116721A (ja) | システム定義ディレクティブの解析方式 | |
JPH01205331A (ja) | 大規模プログラムリンク方式 | |
JPS62163146A (ja) | 計算機言語の変換処理方式 | |
JPH03100730A (ja) | 高級言語による緊急修正データ作成処理方法 | |
JPH01270137A (ja) | コンパイル変数引継方式 | |
JP2001034482A (ja) | コンパイル装置、プログラム最適化装置、コンパイル処理方法及び記録媒体 | |
JPH02105224A (ja) | コンパイラにおけるデータ割付け方式 |