JPS6074039A - コンパイル言語認識処理方式 - Google Patents

コンパイル言語認識処理方式

Info

Publication number
JPS6074039A
JPS6074039A JP18223183A JP18223183A JPS6074039A JP S6074039 A JPS6074039 A JP S6074039A JP 18223183 A JP18223183 A JP 18223183A JP 18223183 A JP18223183 A JP 18223183A JP S6074039 A JPS6074039 A JP S6074039A
Authority
JP
Japan
Prior art keywords
language
source
processing
section
compiler
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
JP18223183A
Other languages
English (en)
Inventor
Hisaya Tanaka
久也 田中
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18223183A priority Critical patent/JPS6074039A/ja
Publication of JPS6074039A publication Critical patent/JPS6074039A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 (5)発明の技術分野 本錦明はコンパイル言語認識処理方式、特に例えばC0
BOL、 FORTRAN等といったような種々の計算
機用言語で記述されたプログラムについて。
システム内において、そのプログラムの言語種別を自動
認識することにより、コンパイル処理ヲ統合的に行い得
るようにしたコンパイル言語認識処理方式に関するもの
である。
(13) 従来技術と問題点 電子計算機に所望の動作をさせるための命令は。
最終的には、電気的信号に変換される「0」およびrl
Jの組合せからなる機械語によって与えられなければな
らないが、一般にプログラムを作成する場合、効率的に
、かつわかりやすく命令を記述することができるように
、予め定められた構文規則に基づく計算機用の高級言語
またはアセンブリ言語が用いられる。通常、高級言語を
機械語に変換するプログラムをコン、バイラといい、ア
センブリ言語を機械語に変換するプログラムをアセンブ
ラというが2本明細書においては、説明7簡単化するた
めに、上記両方について2機械語に変換する処理をコン
パイルということにする。
自然言語に近い形の計算機用高級言語の代表的なものと
して2例えばC0BOL、 FORTRAN、 PL/
I等がある。これらの各言語は、それぞれ構文規則が異
なるため、従来9機械語に変換するためのコンパイラは
、各々まったく独立したものとして設けられていた。そ
のため2例えばメイン・モジュールがC0DOLで記述
され、サブ・モジュールがFORTRANで記述された
ようなプログラムの場合。
それぞれ、別々にコンパイルして、生成された機械語の
オブジェクトをリンクし、実行可能形式に改めるという
処理が必要であった。すなわち、従来方式によれば、言
語によって、各種コンパイラを予め選択し、その動作環
境を定義するジョブ制御文等を別々に用意しなければな
らず、また、 Ta2の場合、言語別にライブラリを作
るなど極めて煩雑であり1%に9例えば言語が異なるソ
ースプログラムについて、1ジヨブステツプで連続コン
パイルできないという問題があった。
(C) 発明の目的と構成 本発明は上記問題点の解決を図り、ソースプログラムを
読み込んで、その言語種別を認識し、自動的に認識結果
の言語種別に対応するコンパイラに制御を移すことによ
り、異なる言語構成のプログラム群を連続コンパイル可
能とし、操作性および処理効率を向上させることを目的
としている。
そのため2本発明のコンパイル言語認識処理方式は、各
種計算機用言語により記述されたソースプログラムをコ
ンパイルしてオブジェクト・モジュールを生成するデー
タ処理システムにおいて、上記計算機用言語の各種別に
対応してコンパイルを実行する複数のコンパイル処理部
と、上記ソースプログラムを読み込むソース入力部と、
該ソース入力部が読み込んだソースプログラムに関し上
記各計算機用言語の特徴を判別して言語種別を決定する
言語認識部と、該言語認識部の認識結果に従って上記コ
ンパイル処理部の1つを選択し起動するコンパイラ起動
部とをそなえたことを特徴としている。以下図面を参照
しつつ実施例に従って説明する。
(I))発明の実施例 第1図は本発明の一実施例構成、第2図は言語種別に対
応した特徴の例についての説明図、第3図はコメントに
対する処理を説明するための図。
第4図は本発明の一実施例処理説明図を示す。
図中、■はソース・モジュール、2はデータ管理部、3
はジョブ空間、4はソース入力部、5は言語認識部、6
は特徴記憶部、7はエラー処理部。
8はコンパイラ起動部、9−1ないし9−3はコンパイ
ル処理部、10はオブジェクト・モジュールを表わす。
ソース・モジュールエは1例えば磁気テープ。
磁気ディスク等に格納され記憶されたソースプログラム
である。データ管理部2は、オペレーティング・システ
ム(O8)の1処理機能として提供される実行可能なプ
ログラム群によって、構成されるものであって、外部記
憶装置上に記憶され管理されるデータセットに対する入
出力処理を実行するものである。このデータセットには
、ソース・モジュール1やオブジェクト・モジュール1
0等のデータセットもしくはライブラリが含まれる。
ジョブ空間3は、処理プログラムの動作環境としてシス
テムから与えられる仮想的なメモリ資源等の空間であっ
て2図示省略したプロセッサが。
該空間において処理プログラムの命令をフェッチして実
行し、ユーザーが所望する処理を遂行するようにされる
ものである。ソース入力部4は、データ管理部2が提供
するマクロ命令を発行し、指定されたソース−モジュー
ル1のステートメントを所定のバッファ上に順次読み込
むものである。
言語認識部5は、ソース入力部4が入力したソース・モ
ジュール1のステートメントを参照し、予め特徴記憶部
6に記憶された各種言語の特徴と比較照合することによ
り、そのステートメントもしくはステートメント群が、
どの計算機用言語によるものであるかを判別するもので
ある。特徴記憶部6には、第2図を参照して後述する如
く、各言語種別に特有のキーワード情報等がテーブル化
されて記憶される。もちろん、テーブル化することなく
、言語認識部5内に個々の文字判定命令として組み込む
ようにしてもよい。
エラー処理部7は、言語認識部5が特徴の抽出に失敗し
、言語種別を認識できなかったときに。
エラー・メツセージを出力し、ユーザに警告を与えて、
ソース・モジュール1の修正を促すものである。コンパ
イラ起動部8は、言語認識部5が認識した言語種別に対
応するコンパイル処理部9−1.9−2. ・・・を起
動するものである。これらの各コンパイル処理部9−1
.9−2. ・・・は。
例えば従来ノC0BOL、 FORTRAN、 PL/
I すと47) −zンパイラまたはアセンブラに対応
するものであって2周知の如くソースプログラムを解析
して機械語に変換し、オブジェクト・モジュール10を
生成する。なお、オブジェクト・モジューA/10を言
語別に作成するか、または、一括して作成するかについ
て2例えば簡単なオプション機能を設ければ便利である
言語認識部5は、具体的には例えば第2図に示したよう
な各言語の特徴によって、各言語種別を決定する。C0
BOLの場合、ソースプログラムを何枚か読み込むと、
必ずl’−11)ENTIFICATTON( DIVISION、Jのステートメントがある。このス
テートメントを検出したならば、 C0BOLであると
判断してよい。また、PL/Iの場合、「pitoc(
MAIN)Jのステートメントが出てくる。一方。
FORTRANの場合、上記ステートメントは現われず
、数式や代入文が先頭から現われることがある。
例えば「DIMBNSIONJや「C0MM0NJ等の
予約語によって、FoIl(置ANと判断することがで
きる。また、アセンブラの特徴は、一般に計算機の機種
によって異なることもあるが9例えば、 [PsECT
J、 「C3ECTJ、 「Dc」等の予約語によっ−
〔認識が可能である。
なお2機械語に展開されない注釈のためのコメント文は
、一般には単に読み飛ばされるが、これを認識に利用す
ることもできる。例えば、第3図図示σの如く、1カラ
ム目がr−X−Jのコメントは。
アセンブリ言語である。また、FO几′1゛几ANのコ
メントは、第3図図示すの如く、6カラム目がrCJと
なる。
例えば、FORTRANとBASICとは、数式だけの
場合などには、非常に類似している。しかし。
一般に数式だけのプログラムは意味がなく、何んらかの
出力を伴うのが通例であるから1例えばWRI T E
文、FORMAT文があればFORTRANと判断し、
、PRINT文があれば、BASICと判断できる。
次に、第4図を参照して、第1図図示実施例の処理につ
いて説明する。ジョブまたはTSSの会話コマンド等に
より、コンパイルの処理要求があったならば、まず第4
図図示処理20により、指定すれたソース・モジュール
1のデータセットを。
データ管理部2のいわゆる0PENマクロによりアクセ
ス可能とし、バッファを確保して、ソースプログラムを
読み込む。次に処理21により、第2図図示のような各
言語の特徴を抽出し、言語種別を決定する。処理22の
判定により、言語種別がC0BOLであれば、処理23
によって、C0DOLコンパイル処理を起動し、コンノ
シイルする。処理24の判定により、FOT几ANであ
ることがわかれば、処理25によってFORTRANコ
ンノくイル処理髪起動する。同様に処理26の判定によ
り、アセンブリ言語であることがわかれば、処理27に
よって、アセンブル処理を起動いアセンブルする。同様
にすべての言語種別について判定を繰り返し、認識でき
ないときには2例えばそのステートメントをスタックし
ておく。このスタックされたデータは、後に言語が判明
したときに、コンノくイルの対象とされる。
次に、処理28の判定によって、ソースプログラムの処
理が、すべて終了したかどうかを判定し。
まだの場合には、−処理20に制御を戻し、同様に処理
を繰り返す。上記処理がすべて終了した場合には、処理
29へ移って、すべて認識不能であったかどうかを判定
する。言語種別をソースプログラムのすべてについて決
定できなかった場合には。
処理30によって、エラーメツセージを出力し。
ソースプログラムの修正を促す。なお、この後。
例、fi−ハシステム出力ファイルとして、スプールさ
れたコンパイル結果のリスト等が出力されるが。
この出力は従来と同様であるので詳細な説明は省略する
(J4 発明の詳細 な説明した如く本発明によれば、コンパイルを行うにあ
たって、言語種別を意識する必要がなくなり、操作性が
向上する。また、言語別にライブラリを作ることなく、
異種言語についてライブラリを一元管理できるので、プ
ログラム管理が容易になる。さらに言語が異なるソース
プログラムを統一的に連続してコンパイルすることが可
能となる。
【図面の簡単な説明】
第1図は本発明の一実施例構成、第2図は言語種別に対
応した特徴の例についての説明図、第3図はコメントに
対する処理を説明するための図。 第4図は本発明の一実施例処理説明図を示す。 図中、1はソース・モジュール、2はデータ管理部、3
はジョブ空間、4はソース入力部、5は言語認識部、6
は特徴記憶部、7はエラー処理部。 8はコンパイラ起動部、9−1ないし9−3はコンパイ
ル処理部、10はオブジェクト・モジーールを表わす。 特許出願人 富士通株式会社

Claims (1)

    【特許請求の範囲】
  1. 各種計算機用言語により記述されたソースプログラムを
    コンパイルしてオブジェクト・モジュールを生成するデ
    ータ処理システムにおいて、上記計算機用言語の各種別
    に対応してコンパイルを実行する複数のコンパイル処理
    部と、上記ソースプログラムを読み込むソース入力部と
    、該ソース入力部が読み込んだソースプログラムに関し
    上記各計算機用言語の特徴を判別して言語種別を決定す
    る言語認識部と、該言語認識部の認識結果に従って上記
    コンパイル処理部の1つを選択し起動するコンパイラ起
    動部とをそなえたことを特徴とするコンパイル言語認識
    処理方式。
JP18223183A 1983-09-30 1983-09-30 コンパイル言語認識処理方式 Pending JPS6074039A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18223183A JPS6074039A (ja) 1983-09-30 1983-09-30 コンパイル言語認識処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18223183A JPS6074039A (ja) 1983-09-30 1983-09-30 コンパイル言語認識処理方式

Publications (1)

Publication Number Publication Date
JPS6074039A true JPS6074039A (ja) 1985-04-26

Family

ID=16114633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18223183A Pending JPS6074039A (ja) 1983-09-30 1983-09-30 コンパイル言語認識処理方式

Country Status (1)

Country Link
JP (1) JPS6074039A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01136242A (ja) * 1987-11-24 1989-05-29 Nec Corp ツール起動方式
EP0432802A2 (de) * 1989-12-15 1991-06-19 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren für die automatische Syntaxanalyse (Parsen) des Textes von Computer-Programmen in Kompilierern

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01136242A (ja) * 1987-11-24 1989-05-29 Nec Corp ツール起動方式
EP0432802A2 (de) * 1989-12-15 1991-06-19 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren für die automatische Syntaxanalyse (Parsen) des Textes von Computer-Programmen in Kompilierern
US5276880A (en) * 1989-12-15 1994-01-04 Siemens Corporate Research, Inc. Method for parsing and representing multi-versioned computer programs, for simultaneous and synchronous processing of the plural parses

Similar Documents

Publication Publication Date Title
US5598561A (en) Optimizing compiler which generates multiple instruction streams to be executed in parallel
JP3190773B2 (ja) 言語処理プログラムのコンパイル処理方法
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JP2017204201A (ja) 情報処理装置、コンパイル方法、およびコンパイルプログラム
JPS6074039A (ja) コンパイル言語認識処理方式
JP5399601B2 (ja) 実装コード開発システム、及び実装コード開発プログラム
JPH10187461A (ja) 言語処理方式
JP2718427B2 (ja) 大規模知識ベースにおけるデータアクセス方式
JP3018783B2 (ja) コンパイル方式
JPS63276127A (ja) ダイナミック命令生成方式
JPH01128136A (ja) コンパイル処理装置
JPH03144830A (ja) 並列処理方式
JP3323147B2 (ja) コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体
JPH11306150A (ja) コンパイル処理方式、その方法およびコンパイラプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2977642B2 (ja) Fortranコンパイル処理装置
JP3044953B2 (ja) 言語処理システムのシンボル処理方式
JPH0259823A (ja) コンパイル処理方式
CN112579088A (zh) 面向异构混合编程的一站式程序编译方法
JPH05120025A (ja) ソースプログラムのインライン展開方法
JPH07105014A (ja) 言語処理システムのシンボル処理方式
JPH0561687A (ja) コンパイラの処理方式
JPH02165339A (ja) コンパイル装置
JPH0749843A (ja) 並列化コンパイラ
JPS5924348A (ja) コンパイル処理方式
JP2003208317A (ja) プログラム開発方法