JPH0244427A - プログラム翻訳変換方式 - Google Patents

プログラム翻訳変換方式

Info

Publication number
JPH0244427A
JPH0244427A JP19568988A JP19568988A JPH0244427A JP H0244427 A JPH0244427 A JP H0244427A JP 19568988 A JP19568988 A JP 19568988A JP 19568988 A JP19568988 A JP 19568988A JP H0244427 A JPH0244427 A JP H0244427A
Authority
JP
Japan
Prior art keywords
reserved word
program
translation
specifications
word table
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
JP19568988A
Other languages
English (en)
Inventor
Atsushi Kitai
敦 北井
Keiichi Sakamoto
坂本 惠市
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP19568988A priority Critical patent/JPH0244427A/ja
Publication of JPH0244427A publication Critical patent/JPH0244427A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラム翻訳変換方式に係り、詳しくは、処
理系により仕様の異なるFORTRAN。
COBOL等の計算機用言語で書かれたプログラムを、
異なる処理系間で流通させ、走行可能にするプログラム
流通用プログラム翻訳変換方式に関するものである。
〔従来の技術〕
従来、複数の処理系でプログラムを走行可能とするため
の方法としては、各処理系の仕様の共通部分を抜き出し
、この部分の仕様だけを用いてプログラムを作成する手
法が採用されていた。例えば、多くの処理系が共通的に
包含しているANSI、JIS等の標準仕様(COBO
L85.FORTRAN77等)に準拠してプログラム
を作成することにより流通性を確保する方法はこの一例
といえる。なお、このような仕様の共通化の具体例を記
述したものとしては、トーマス・プラム「Cプログラミ
ングガイドライン」 (啓学出版)が挙げられる。
〔発明が解決しようとする課題〕
一般に言語処理系は、上記の共通仕様のほかに処理系独
自の機能を付加したアップワードコンパチブルな仕様と
なっている。以下では、各処理系の固有部分を含む全体
仕様を拡張仕様、処理系間の共通仕様を基本仕様と呼ぶ
ことにする。普通、拡張仕様の翻訳変換装置を使用すれ
ば、基本仕様に従って記述されたプログラムは問題なく
処理されそうである。しかし、基本仕様に基づいて作成
したプログラムといえども拡張仕様の処理系では、必ず
しもエラーなく処理されない、即ち、基本仕様にしたが
って作成しても、拡張仕様で予約語として登録されてい
る文字列を変数として使用すると文法エラーになるとい
う問題が存在する。
FORTRANプログラムにおける具体的問題例を述べ
る。第3図は拡張仕様では予約語であるが、基本仕様で
は予約語ではない文字列rNTTJが変数名として含ま
れているプログラムP1を示している。このとき、Pl
は基本仕様の翻訳変換装置ではrNTTJは変数として
扱われるが、拡張仕様の翻訳変換装置では予約語として
扱われ文法エラーとなる。
従来、この問題を回避するには、プログラマが拡張仕様
の予約語も意識して基本仕様に基づく流通用のプログラ
ムを作成するか、あるいは、プログラムを流通させる時
に変数を書き換えるかの方法を取る必要があり、円滑な
プログラムの流通という点で問題があった。
本発明の目的は、上記のように一方の予約語が他方の予
約語のサブセットになっているような二つの言語仕様、
即ち、基本仕様と拡張仕様に基づく計算機言語用の処理
系でプログラムを流通させようとするとき、基本仕様の
処理系ではある文字列が変数と扱われていたプログラム
が、拡張仕様の処理系では予約語の使用法が誤っていて
文法エラーとなってしまう問題を解消できて、かつ、拡
張仕様のプログラムについては機能を減じることなく翻
訳変換を行えるプログラム流通用プログラム翻訳変換方
式を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のプログラム翻訳変換
方式においては、拡張仕様と基本仕様(後者の予約語が
前者の予約語のサブセットとなっている)に対応する二
つの予約語テーブルと。
上記基本仕様と拡張仕様のどちらの言語仕様に基づいて
翻訳を行うかを表わすユーザにより指定される翻訳変換
モードを判定する手段と、該判定された翻訳変換モード
により予約語テーブルを切り替える手段とを有すること
を特徴とする。
〔作 用〕
ユーザが指定した翻訳変換モードは翻訳モード判定手段
により判定され、拡張モード指定の時は拡張仕様の予約
語を保持する予約語テーブルを使用する様に、また、基
本モード指定の時は基本仕様の予約語テーブルを使用す
る様に、予約語テーブルが切り替えられ、語當解析、構
文解析、意味解析、最適化処理が行われる。これにより
、ユーザの指定する翻訳変換モードに従って基本仕様と
拡張仕様の両方の仕様のプログラムを翻訳変換すること
が可能となる。
〔実施例〕
以下、本発明の一実施例について図面により説明する。
第1図は本発明の一実施例の構成図を示している。IO
Aは拡張仕様の予約語テーブル、IOBは基本仕様の予
約語テーブルである。11はプログラム入力部で、処理
すべきプログラム110を入力する。12はプログラム
翻訳変換モード判定部で、ユーザにより指定される拡張
仕様・基本仕様のいずれで処理するかの翻訳変換モード
の指示120を入力する。13は予約語テーブル切替え
部で、以降の処理で予約語テーブルの参照が発生した時
、指示されたモードの予約語テーブルにアクセスされる
様に、予約語テーブルIOAあるいはIOBの先頭番地
を設定する。14は語常解析部で、入力プログラム文(
文字コード列)を予約語、特殊記号、変数等に分け、内
部コード列に変換する。このとき予約語で有るが否かの
判定を行うため、予約語テーブルIOAあるいはIOB
への参照が行われる。15は構文解析部で、プログラム
の各文及び全体の構成が文法的に正しいがどうか判定す
る。16は意味解析部で、入力プログラムに対応するオ
ブジェクトコードを生成する。
17は最適化部で、意味解析部16が出力したオブジェ
クトコードを処理速度、必要メモリ量等の観点から最適
化する。17はオブジェクトプログラム出力部で、生成
されたオブジェクトプログラムを出力する。
第1図において、プログラム入力部11.14〜17の
各処理部、及びオブジェクトプログラム出力部18は従
来のプログラム翻訳変換方式の構成と同様であり、拡張
仕様・基本仕様の予約語テーブルIOA、IOB、翻訳
変換モード判定部12及び予約語テーブル切替え部13
が本発明により追加された部分である。
第2図は第1図の構成による翻訳変換処理の流れを示し
たものである。
■ まず、プログラム入力部11がプログラムを入力す
る(ステップ201)。
■ 翻訳モード判定部12が、ユーザの指定する翻訳変
換モード指示を判定し、その値を予約語テーブル切替え
部13に受は渡す(ステップ202)。
■ 受は渡された値に従って、予約語テーブル切替え部
13では予約語テーブルの先頭番地を拡張仕様の予約語
テーブルIOAもしくは基本仕様の予約語テーブルIO
Bのいずれかに切り替え設定する(ステップ203)、
すなわち、翻訳変換モードが「拡張モード」のとき予約
語テーブルIOAを、また、翻訳変換モードが「基本モ
ード」のときは予約語テーブルIOBをセットする。こ
れにより、以降の処理に於ける予約語テーブルへの参照
は、ユーザの翻訳モード指示に従った予約語テーブルへ
の参照となる。
■ 語紮解祈部14では、まず、ステップ201で入力
されたプログラムを1ステートメントずつ順に抽出する
(ステップ204)、尚、プログラムの終わりであれば
、ステップ205の処理へ行く。
■ 次に語當解析部14では、ステップ204で読み込
まれたステートメントを一語ずつ読み込み、シンボルに
分解する(ステップ205)。
尚、プログラムの終わりであればステップ206の処理
へ行く。
■ 次に語當解析部14では、ステップ205で分解さ
れたシンボルの種別を変数、常数、句切り記号を判定し
、結果を構文解析部15に引き渡す(ステップ206)
、このとき、予約語か否かの判定を行う為に予約語テー
ブルIOAあるいはIOBの参照が行われるが、この参
照されるテーブルはステップ203で切り替えられた予
約語テーブルとなる。
■ 構文解析部15では、入力プログラムの構文チエツ
クを行い、文法的に正しいかどうか判定し、正しければ
、結果を意味解析部16に引き渡す(ステップ207)
■ 意味解析部16では、入力プログラムに対応するオ
ブジェクトコードを生成し、最適化部17に引き渡す(
ステップ208)。
■ 最適化部17では、意味解析部16が出力したオブ
ジェクトコードを処理速度、必要メモリ量等の観点から
最適化する(ステップ209)。
生成されたオブジェクトはオブジェクトプログラム出力
部18より出力される。
上記■から■までの処理が、本発明独自の予約語テーブ
ルの切り替えに関する処理であり、■から■の処理は、
従来のプログラム翻訳変換方式でも行われていた処理で
ある。
〔発明の効果〕
以上述べたように、本発明の方式を用いることにより、
拡張仕様と基本仕様の開方のプログラムを翻訳変換する
事が出来るので、複数仕様の共通部分を流通用の共通仕
様を設定したとき等にアプリケーションを容易に流通さ
せることが出来る。
また、機能拡張等により、言語仕様の範囲を拡大したと
き、従来プログラム資産の新環境への移行が容易になる
という効果も期待できる。
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図は第1
図によるプログラム翻訳変換処理フローを示す図、第3
図は本発明が解決しようとする問題例を示す図である。 10A・・・拡張仕様予約語テーブル。 OB・・・基本仕様予約語テーブル、 1・・・プログラム入力部、 2・・・翻訳変換モード判定部、 3・・・予約語テーブル切替え部。

Claims (1)

    【特許請求の範囲】
  1. (1)FORTRAN、COBOL等、予約語を有する
    計算機用言語の語彙解析、構文解析、意味解析、最適化
    を行う処理系において、 一方の予約語が他方の予約語のサブセットとなっている
    ような二つの言語仕様に対応する各々の予約語テーブル
    と、 上記二つのいずれの言語仕様に基づいて翻訳変換を行う
    かを表わす翻訳変換モードを判定する手段と、 上記判定された翻訳変換モードにより予約語テーブルを
    切り替える手段とを設けたことを特徴とするプログラム
    翻訳変換方式。
JP19568988A 1988-08-05 1988-08-05 プログラム翻訳変換方式 Pending JPH0244427A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19568988A JPH0244427A (ja) 1988-08-05 1988-08-05 プログラム翻訳変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19568988A JPH0244427A (ja) 1988-08-05 1988-08-05 プログラム翻訳変換方式

Publications (1)

Publication Number Publication Date
JPH0244427A true JPH0244427A (ja) 1990-02-14

Family

ID=16345359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19568988A Pending JPH0244427A (ja) 1988-08-05 1988-08-05 プログラム翻訳変換方式

Country Status (1)

Country Link
JP (1) JPH0244427A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124326A (ja) * 1996-10-16 1998-05-15 Hitachi Ltd コンパイル方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124326A (ja) * 1996-10-16 1998-05-15 Hitachi Ltd コンパイル方法

Similar Documents

Publication Publication Date Title
US8117023B2 (en) Language understanding apparatus, language understanding method, and computer program
JPH05197685A (ja) ウィンドウ化ユーザ・インタフェースの複数言語による翻訳を支援するシステム及び方法
WO2001029698A9 (en) System and method to compile instructions to manipulate linguistic structures into separate functions
JPH0630066B2 (ja) テーブル型言語翻訳方法
JPH0310134B2 (ja)
Venugopal et al. Grammar based statistical MT on Hadoop: An end-to-end toolkit for large scale PSCFG based MT
JPH0244427A (ja) プログラム翻訳変換方式
Meijer The project on extended affix grammars at Nijmegen
Dada Implementation of the Arabic Numerals and their Syntax in GF
JPH02120935A (ja) プログラム翻訳変換方式
Marting et al. FST trimming: ending dictionary redundancy in Apertium
Hughes Checking spelling in source code
KR960018924A (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
Gupta Re-engineering and Performance Enhancement of MT System and MT Related Applications
JPH1166068A (ja) 機械翻訳装置および機械翻訳方法ならびに機械翻訳プログラムを記録した記録媒体
JPH04248624A (ja) プログラム変換処理装置
Sharp CAT2 Reference Manual
JP2585790B2 (ja) 複数コード系に対応するコンパイル処理方式
JPS58114247A (ja) 精度自動拡張方式
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPS59231649A (ja) コンパイルリスト出力処理方式
Thurmair Verification of controlled grammars
JPS6315335A (ja) デ−タベ−ス用エンドユ−ザ言語の自然言語への拡張方式
KR970049615A (ko) 칠(chill) 전위처리기의 전위처리 방법
Gamble et al. Explicit Parallel Programming: System Description