JPH0210434A - プログラム言語トランスレータ - Google Patents

プログラム言語トランスレータ

Info

Publication number
JPH0210434A
JPH0210434A JP16181688A JP16181688A JPH0210434A JP H0210434 A JPH0210434 A JP H0210434A JP 16181688 A JP16181688 A JP 16181688A JP 16181688 A JP16181688 A JP 16181688A JP H0210434 A JPH0210434 A JP H0210434A
Authority
JP
Japan
Prior art keywords
syntax
fundamental
program
translation
basic syntax
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
JP16181688A
Other languages
English (en)
Inventor
Ikuyoshi Hiroshima
郁芳 廣島
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP16181688A priority Critical patent/JPH0210434A/ja
Publication of JPH0210434A publication Critical patent/JPH0210434A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、手続き型高級言語等で記述されたプログラム
の言語を、他の手続き型高級言語に変換して目的プログ
ラムを生成するプログラム言語トランスレータに関する
〔従来の技術〕
第4図は、例えば[コンパイラJ (9,18,中田育
男著:産業図書株式会社i 1981)に示された概念
に基づくプログラム言語トランスレークの論理的構成を
示すブロック図であって、図中1は手続き型高級言語で
記述されたトランスレート前のソースプログラムである
。入力部2はソースプログラム1を読み込み、字句解析
部3へ出力する。字句解析部3は与えられたソースプロ
グラム1の文字列を字句解析し、解析結果を記号化して
符の列に変換し、変換した符の列を構文解析部4へ出力
する。字句解析の際、変数・定数に関する情報を抽出し
てデータテーブル5を生成する。構文解析部4は変換さ
れた符の列をソースプログラム1の文法規則に従って構
文解析し、解析結果を中間語生成部6へ出力する。中間
語生成部6は構文解析されたデータから中間語を生成し
、最適化部7へ出力する。最適化部7は生成された中間
語の無駄を省き、また順序を入れ換える等、生成する目
的プログラムの効率を向上させる最適化処理を施し、目
的コード生成部8へ出力する。目的コード生成部8は中
間語のプログラムを機械語のコード列に変換し、機械語
で記述された目的プログラム9を生成する。生成した目
的プログラム9は磁気ディスク、プリンタ等の出力装置
へ出力する。
〔発明が解決しようとする課題〕
従来のプログラム言語トランスレータは以上のように構
成されているので、例えばA言語からB言語へのトラン
スレート手順が構築されているトランスレータをA言語
からD言語へのトランスレフとして通用しようとする場
合、トランスレート手順を新たに作成しなければならな
いが、新しいトランスレート手順の製作及び試験に長時
間を要するという問題がある。
また、目的コード生成部8では、データテーブル5の変
数・定数に基づき、目的プログラムを出力文の形式によ
って一旦記述し直さなければならないため、大きなメモ
リ容量を要するという問題がある。
本発明はこのような問題を解決するためになされたもの
であって、複数種類の言語でのトランスレートを簡単に
実現するプログラム言語トランスレータの提供を目的と
する。
〔課題を解決するための手段〕
本発明のプログラム言語トランスレータは、トランスレ
ート前のプログラム言語の基本構文と、トランスレート
後のプログラム言語の基本構文とを対応付けて記憶して
ある基本構文対比メモリと、人力されたプログラムの基
本構文を、前記基本構文対比メモリに対応付けて記憶し
てある基本構文に変換する基本構文変換手段とを備えた
ことを特徴とする。
〔作用〕
本発明のプログラム言語トランスレータは、基本構文変
換手段が、入力されたプログラムの基本構文を、該プロ
グラムの基本構文と対応付けて基本構文対比メモリに記
憶してあるトランスレート後の基本構文へ変換し、プロ
グラム言語をトランスレートする。
〔実施例〕
以下、本発明をその実施例を示す図面に基づき詳述する
。第1図は本発明に係るプログラム言語トランスレータ
の論理的構成を示すブロック図であって、図中1は手続
き型高級言語で記述されたトランスレート前のソースプ
ログラムである。入力部2はソースプログラム1を読み
込み、字句解析部3へ出力する。字句解析部3は与えら
れたソースプログラムlの文字列を字句解析し、解析結
果を記号化して符の列に変換し、変換した符の列゛を構
文解析部4へ出力する。字句解析の際、変数・定数に関
する情報を抽出してデータテーブル5を生成する。また
、基本構文対比テーブル21は、トランスレート前のプ
ログラム言語とトランスレート後のプログラム言語との
基本構文を対応付けて記憶している。構文解析部4は変
換された符の列をソースプログラム1の文法規則に従っ
て構文解析し、解析結果を基本構文変換部22へ出力す
る。
基本構文変換部22は、基本構文対比テーブル21が記
看、Cシている基本構文を参照して解析されたソースプ
ログラム1の構文を目的プログラム9の対応する構文に
変換し、変換した目的プログラム9を、磁気ディスク、
プリンタ等の出力装置へ出力する。
次に、動作につき説明する。第2図は、トランスレート
の手順を示すフローチャートである。なお、トランスレ
ートに先立って、トランスレート前のプログラム言語の
基本構文と、これに対応するトランスレート後のプログ
ラム言語の基本構文とをエディタで作成し、基本構文対
比テーブル21に記憶させておく。第3図は、基本構文
対比テーブル21の構成を示す概念図であって、各プロ
グラム言語の基本構文をそれぞれの記述形式に応じてエ
ディタで作成し、また、作成した基本構文をそれぞれの
記述形式のまま基本構文対比テーブル21に記憶させて
おく。同様にして、複数のプログラム言語に関してトラ
ンスレート前とトランスレート後との基本構文を対応付
けた基本構文対比テーブル21を作成し、それぞれの記
述形式のまま記憶させておく。
プログラム言語トランスレータが起動されると、メモリ
から基本構文対比テーブル21をプログラム言語トラン
スレータの主メモリ上に読み込む。次に、入力部2がト
ランスレート対象のソースプログラム1を読み込み、字
句解析部3へ出力する。
字句解析部3は与えられたソースプログラム1の文字列
を字句解析し、解析結果を記号化して符の列へ変換し、
変換した符の列を基本構文変換部22へ出力する。基本
構文変換部22は、与えられた符の列を構文解析し、解
析したソースプログラム1の基本構文が基本構文対比テ
ーブル21に記憶してあるトランスレート前のプログラ
ム言語のいずれであるかを判定する。さらに、ソースプ
ログラム1の基本構文が判定すると、これに対応付けて
基本構文対比テーブル21に記憶してあるトランスレN
&の基本構文を読み出し、ソースプログラム1の基本構
文を、読み出した基本構文と変換し、基本構文を変換し
たプログラムを目的プログラム9として磁気ディスク、
プリンタ等へ出力する。
なお、本実施例では基本構文対比テーブル21をエディ
タで作成する構成としたが、これに限らず、対話形式で
作成しても同様の効果が得られる。
また、トランスレート前とトランスレート後の言語仕様
が極端に異なるため、その基本構文が極端に異なって対
応付けが困難である場合、ソースプログラム1を入力す
る前処理として、ソースプログラム1の基本構文を他の
中間的な基本構文に一旦変換してからトランスレート作
業を行ってもよい。
さらに、トランスレート前のプログラム言語は、従来の
ようにソースプログラム1に基づき作成された中間語で
あってもよい。
〔発明の効果〕
本発明のプログラム言語トランスレータは、トランスレ
ート対象とするプログラム言語を追加する場合であって
も、その基本構文を基本構文対比テーブル21に記憶さ
せるだけでよいため、トランスレート対象とし得るプロ
グラム言語の追加を容易にし、また、ソースプログラム
を構文解析した1多は基本構文を変換するだけでトラン
スレートが実現するため、新たに追加したプログラム言
語のトランスレート試験が短時間で終了し、さらに、基
本構文対比テーブル21は各プログラム言語の基本構文
をそれぞれの記述形式で記憶しているので、基本構文を
変換して目的プログラムを出力するまでのロジックが簡
単になり、処理速度が向上するという優れた効果を奏す
る。
【図面の簡単な説明】
第1図は本発明に係るプログラム言語トランスレータの
論理的構造を示すブロック図、第2図はトランスレート
の手順を示すフローチャート、第3図は基本構文対比テ
ーブルの構成を示す概念図、第4図は従来のプログラム
言語トランスレータの論理的構造を示すブロック図であ
る。 1・・・ソースプログラム 2・・・入力部 3・・・
字句解析部 5・・・データテーブル 9・・・目的プ
ログラム 21・・・基本構文対比テーブル 22・・
・基本構文変換部 なお、図中、同一符号は同一、又は相当部分を示す。 菜 図

Claims (1)

  1. 【特許請求の範囲】 1、入力されたプログラムを異なるプログラム言語にト
    ランスレートするプログラム言語トランスレータにおい
    て、 トランスレート前のプログラム言語の基本構文と、トラ
    ンスレート後のプログラム言語の基本構文とを対応付け
    て記憶してある基本構文対比メモリと、 入力されたプログラムの基本構文を、前記基本構文対比
    メモリに対応付けて記憶してある基本構文に変換する基
    本構文変換手段と を備えたことを特徴とするプログラム言語トランスレー
    タ。
JP16181688A 1988-06-28 1988-06-28 プログラム言語トランスレータ Pending JPH0210434A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16181688A JPH0210434A (ja) 1988-06-28 1988-06-28 プログラム言語トランスレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16181688A JPH0210434A (ja) 1988-06-28 1988-06-28 プログラム言語トランスレータ

Publications (1)

Publication Number Publication Date
JPH0210434A true JPH0210434A (ja) 1990-01-16

Family

ID=15742455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16181688A Pending JPH0210434A (ja) 1988-06-28 1988-06-28 プログラム言語トランスレータ

Country Status (1)

Country Link
JP (1) JPH0210434A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05281934A (ja) * 1984-07-23 1993-10-29 Texas Instr Inc <Ti> データ処理装置
JP2011086319A (ja) * 2011-02-01 2011-04-28 Systems:Kk プログラムの生産方法および生産装置
JP2011170474A (ja) * 2010-02-17 2011-09-01 Systems:Kk プログラム検出装置、プログラム検出方法、およびプログラム
JP2017204213A (ja) * 2016-05-13 2017-11-16 日本電信電話株式会社 設定サーバ、設定方法および設定プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05281934A (ja) * 1984-07-23 1993-10-29 Texas Instr Inc <Ti> データ処理装置
JP2011170474A (ja) * 2010-02-17 2011-09-01 Systems:Kk プログラム検出装置、プログラム検出方法、およびプログラム
JP2011086319A (ja) * 2011-02-01 2011-04-28 Systems:Kk プログラムの生産方法および生産装置
JP2017204213A (ja) * 2016-05-13 2017-11-16 日本電信電話株式会社 設定サーバ、設定方法および設定プログラム

Similar Documents

Publication Publication Date Title
US20060271920A1 (en) Multilingual compiler system and method
JP4057938B2 (ja) コンパイラ、コンパイル方法、及びプログラム開発ツール
CN109491658A (zh) 计算机可执行代码数据的生成方法及装置
Angelov et al. PGF: A portable run-time format for type-theoretical grammars
Watson A practical approach to compiler construction
FI111107B (fi) Menetelmä translaattorin kehittämiseksi ja vastaava järjestelmä
JPH0210434A (ja) プログラム言語トランスレータ
CN116257245A (zh) 一种基于flex与bison语法分析的多输出编译方法及系统
Jourdan et al. The OLGA attribute grammar description language: Design, implementation and evaluation
KR101743463B1 (ko) 플렛폼 독립적 소스 코드 번역기
Moynihan et al. The design and implementation of a high‐level language converter
KR100280828B1 (ko) 절차지향 프로그램을 객체지향 프로그램으로 변환하기 위한분석 방법
Pellauer et al. BNF Converter: Multilingual front-end generation from labelled BNF grammars
JP2626722B2 (ja) 日本語生成装置
Meijer The project on extended affix grammars at Nijmegen
JP2521435B2 (ja) 日本語生成装置
Chisolm et al. ATLAS compiler development
JPH07121379A (ja) 複数言語混在コンパイラ
Amal et al. Software tool for translating pseudocode to a programming language
Cameron Program manipulation using a grammar-based meta-programming system
French et al. Design of the Data Description Language Processor
Vincent Design and Implementation of a Java to CodeML converter
Vít Grammar-Based Translation Framework
JP2720643B2 (ja) プログラムジェネレータ生成装置
JP3141945B2 (ja) コンパイル装置