JPH03241430A - 中間言語の生成システム - Google Patents

中間言語の生成システム

Info

Publication number
JPH03241430A
JPH03241430A JP4013490A JP4013490A JPH03241430A JP H03241430 A JPH03241430 A JP H03241430A JP 4013490 A JP4013490 A JP 4013490A JP 4013490 A JP4013490 A JP 4013490A JP H03241430 A JPH03241430 A JP H03241430A
Authority
JP
Japan
Prior art keywords
language
code
interpreter
intermediate language
output
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
Application number
JP4013490A
Other languages
English (en)
Inventor
Mitsuru Yoshida
満 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4013490A priority Critical patent/JPH03241430A/ja
Publication of JPH03241430A publication Critical patent/JPH03241430A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置の言語処理システムに関し、特に
インタプリタが解釈実行する中間言語の生成システムに
関する。
〔従来の技術〕
従来、この種の中間言語の生成システムは、ソース言語
の使用に基づいてソースコードをチエツクするための字
句解釈部、構文解釈部、およびチエツク済みのソースコ
ードから中間言語コードを生成するための中間コード生
成部の3つの部分を結合することによって構成されてい
た。
〔発明が解決しようとする課題〕
上述した従来の中間言語の生成システムは、ソース言語
の使用に沿って字句解釈部および構文解釈部を新たに開
発しなければならず、またこれらの作成は複雑で、新規
に開発すると不具合が生じ易く、また開発に時間がかか
るという欠点があった。
一方、特定のオペレーティングシステムには、UNIX
のIexやyaccのように、字句解釈部や構文解析部
を自動生成するツールが用意されているが、これらのツ
ールを使用するには、言語処理に関する専門的な知識が
必要である上、これらによって生成される字句解釈部や
構文解析部は、大規模なソースコードの処理には不向き
であるという欠点があった。
〔課題を解決するための手段〕
本発明のインタプリタ言語における中間言語生成システ
ムと構成は、インタプリタ言語のソースコードをインタ
プリタが解釈実行可能な中間言語コードに翻訳する中間
言語の生成システムにおいて、既存のコンパイラのコン
パイラ言語によって呼出し可能で前記中間言語コードの
各文が出力される関数ライブラリを具備し、前記コンパ
イラによって生成出力されるオブジェクトモジュールと
前記関数ライブラリとを結合してロードモジュールを生
成するリンカと、前記ロードモジュールを実行して前記
中間言語コードをファイル上に出力する実行システムと
、前記ファイル上に出力された前記中間言語コードの各
レコードをターゲットマシン上で解釈実行するインタプ
リタとを含むことを特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図を参照すると本発明の一実施例は、ソースコード
1を入力してオブジェクトコード3を出力する既存のC
言語コンパイラ2と、既存のC言語によって呼出し可能
な中間言語コード出力ライブラリ4と、オブジェクトコ
ード3が参照する中間言語コード出力ライブラリ4の各
ルーチンをリンクしてロードモジュール6を出力するリ
ンカ5と、ロードモジュール6を実行して中間言語コー
ド8を出力するLM実行システム7と、中間言語コード
8を解釈・実行するインタプリタ9とから構成されてい
る。
第2図を参照すると、中間言語コード出力ライブラリ4
は、関数f1の処理ルーチン41.関数f2の処理ルー
チン42.・・・、関数fkの処理ルーチンkから構成
されている。
ソースプログラム11は、第1図のソースコード1の内
容を示すもので、主に前述の関数fl。
f2.・・・、fkによって記述されるインタプリタ言
語のプログラムである。
また、中間言語コードプログラム81は、fl。
f2.・・・、fkに対応するバイナリの中間言語コー
ド(フレーム)の集合として構成されている。
次に、本発明の動作について、図面を参照して説明する
利用者は、まず、インタプリタ言語の各文に対応する既
存のC言語f、、f2.・・・、fkを用いてインタプ
リタ言語のソースプログラム11からなるソースコード
1を作成する。
次に、ソースコード1を既存のC言語コンパイラ2によ
ってコンパイルし、オブジェクトコード3を得た後、中
間言語コード出力ライブラリ4を用いて関数f、、f2
.・・・、fkの対応ルーチンをリンカ5によってリン
クすることにより、中間言語コード出力用のロードモジ
ュール6を出力する。
次に、ロードモジュール6を実行システム7で実行させ
ると、ソースプログラム11の関数f。
111に対応してf1処理ルーチン41が呼出される。
この時、flのパラメータP、、P2.・・・Pゎのう
ち、シンボルを表すものはパスエフニーズS1でシンボ
ル族に登録され、対応するバイナリ値が付与された後、
パス2フエーズS2でバイナリの中間言語フレーム81
1が出力される。
ソースプログラム11の他の関数f2.・・・、 fk
についても同様にして、f2.・・・+fkの各処理ル
ーチン42.・・・、4kが呼出されて実行され、最終
的に中間言語コードプログラム81が生成される。
〔発明の効果〕 以上説明したように本発明は、実績のある既存のコンパ
イラ言語上の関数としてインタプリタ言語の各文を定義
し、それらに対応する中間言語コード出力ライブラリを
提供することによ゛す、インタブリタ言語の字句解釈部
や構文解析部の新規開発を不要としているので、これら
の部分の不具合が生じることなく、かつ容易に新しいイ
ンタプリタ言語の処理系が構築できるという効果がある
−ド出力関数(ソース形式)、811・・・中間言語コ
ードフレーム(バイナリ形式〉。

Claims (1)

    【特許請求の範囲】
  1. インタプリタ言語のソースコードをインタプリタが解釈
    実行可能な中間言語コードに翻訳する中間言語の生成シ
    ステムにおいて、既存のコンパイラのコンパイラ言語に
    よって呼出し可能で前記中間言語コードの各文が出力さ
    れる関数ライブラリを具備し、前記コンパイラによって
    生成出力されるオブジェクトモジュールと前記関数ライ
    ブラリとを結合してロードモジュールを生成するリンカ
    と、前記ロードモジュールを実行して前記中間言語コー
    ドをファイル上に出力する実行システムと、前記ファイ
    ル上に出力された前記中間言語コードの各レコードをタ
    ーゲットマシン上で解釈実行するインタプリタとを含む
    ことを特徴とする中間言語の生成システム。
JP4013490A 1990-02-20 1990-02-20 中間言語の生成システム Pending JPH03241430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4013490A JPH03241430A (ja) 1990-02-20 1990-02-20 中間言語の生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4013490A JPH03241430A (ja) 1990-02-20 1990-02-20 中間言語の生成システム

Publications (1)

Publication Number Publication Date
JPH03241430A true JPH03241430A (ja) 1991-10-28

Family

ID=12572329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4013490A Pending JPH03241430A (ja) 1990-02-20 1990-02-20 中間言語の生成システム

Country Status (1)

Country Link
JP (1) JPH03241430A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529849A (ja) * 1998-11-06 2002-09-10 ブル・セー・ペー・8 データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529849A (ja) * 1998-11-06 2002-09-10 ブル・セー・ペー・8 データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム

Similar Documents

Publication Publication Date Title
US7478366B2 (en) Debugger and method for debugging computer programs across multiple programming languages
USRE38104E1 (en) Method and apparatus for resolving data references in generated code
EP1074911B1 (en) Aspect-oriented programming
US5881289A (en) Remote compiling of source code for cross development
EP0539120B1 (en) Source code analyzer
Iwamoto et al. Refactoring aspect-oriented programs
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
JPH0383153A (ja) メツセージ処理システム及び方法
JPH0950389A (ja) コンピュータシステムを使って実装される装置及び方法
Watson A practical approach to compiler construction
Cifuentes et al. Experience in the design, implementation and use of a retargetable static binary translation framework
Ameri et al. Why just Boogie? Translating between intermediate verification languages
JPH03241430A (ja) 中間言語の生成システム
Gurov et al. Tools for support of automata-based programming
JPH10187461A (ja) 言語処理方式
Danvy et al. Tagging, encoding, and Jones optimality
Flederer et al. A configurable framework for satellite software
JPH03144832A (ja) プリコンパイラ言語プログラムのシンボリックデバッグ装置
KR100276086B1 (ko) 로토스 명세로부터 씨 플러스 플러스 코드 생성방법
Farkas et al. MProlog: an implementation overview
Reiser BAIL-a debugger for SAIL
Patnaik et al. Implementation of CSP-S for description of distributed algorithms
Thiemann Interpreting Specialization in Type Theory.
Dantas et al. Analyzing polymorphic advice
Rzoñca et al. Prototype environment for controller programming in the IEC 61131-3 ST language