JPH04148336A - Fortranプログラム文法解析方式 - Google Patents

Fortranプログラム文法解析方式

Info

Publication number
JPH04148336A
JPH04148336A JP27276990A JP27276990A JPH04148336A JP H04148336 A JPH04148336 A JP H04148336A JP 27276990 A JP27276990 A JP 27276990A JP 27276990 A JP27276990 A JP 27276990A JP H04148336 A JPH04148336 A JP H04148336A
Authority
JP
Japan
Prior art keywords
grammar
syntax
program
computer system
fortran
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
JP27276990A
Other languages
English (en)
Inventor
Tadashi Nishikawa
忠 西川
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP27276990A priority Critical patent/JPH04148336A/ja
Publication of JPH04148336A publication Critical patent/JPH04148336A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、FORTRANプログラム文法解析方式、特
にあるコンピュータシステムAで開発したFORTRA
Nプログラムを、言語仕様の拡張部分が異る他のコンピ
ュータシステムBに移植する際、移植するプログラムが
コンピュータシステムBの文法に適合するか否かを解析
するFORTRANプログラム文法解析方式に関するも
のである。
〔従来の技術〕
FORTRAN言語にはどのコンピュータシステムにお
いても記述可能な文法(FORTRAN77など)に加
えて、それぞれのコンピュータシステムの特徴を生かし
た拡張文法が存在する。
従来、あるコンピュータシステムで作成したFORTR
ANプログラムを文法の拡張部分が異なる他のコンピュ
ータシステムに移植する場合において、移植するFOR
TRANプログラムが後者のコンピュータシステムの文
法に適合するか否かを確認して修正するには、プログラ
ム開発者自身が互換性のない構文の解析を行い、テキス
トエディタ等を使用して後者のコンピュータシステムの
文法に適合するよう修正作業を行っていた。
〔発明が解決しようとする課題〕
上述したFORTRANプログラム文法解析方式では、
プログラム開発者自身がプログラム開発を行ったコンピ
ュータシステムと移植するコンピュータシステムの文法
の差をすべて把握していなけらばならず、プログラムの
規模が大きくなるにつれて非常に多くの工数がかかると
いう欠点があった。
そこで本発明の目的は以上の欠点を解決し、FORTR
ANプログラムの非互換構文の修正を自動化し、プログ
ラムを移植作業に係わる作業を削減するFORTRAN
プログラム文法解析方式を提供することにある。
〔課題を解決するための手段〕
本発明のFORTRANプログラム文法解析方式は、あ
るコンピュータシステムAから他のコンピュータシステ
ムBへFORTRANの原始プログラムを移植する際に
、移植する原始プログラムがコンピュータシステムBで
実行できるか否かを解析するFORTRANプログラム
文法解析方式において、対象となる二つのコンピュータ
システムに共通な基本文法を解析する基本文法解析手段
と、コンピュータシステムAが独自に使用可能な拡張文
法を解析する拡張文法解析手段と、拡張文法に適合する
構文をコンピュータシステムBで使用可能な原始プログ
ラムに書き換える構文修正手段と、解析した結果を中間
言語の形式で格納する中間言語格納領域と、構文解析を
行った結果、文法誤りおよび書き換えが不可能な構文を
検出したときプログラム開発者に対して文法誤りの位置
と種類を通知する文法誤り通知手段を有する。
〔実施例〕
次に本発明について図面を参照して詳細に説明する。
第1図は本発明の一実施例を含むコンピュータシステム
の構成を表すブロック図である。
本実施例は、FORTRANの原始プログラムを開発し
た開発システム1、移植するFORTRANの原始プロ
グラム2、原始プログラム2を移植する移植システム3
、および移植システム3の文法に適合するよう書き換え
られた修正プログラム9から構成される。
移植システム3は、二つのシステムに共通な文法を解析
する基本文法解析手段4、前記開発システムでのみ記述
可能な文法を解析する拡張文法解析手段5、拡張文法を
移植システム3でも使用可能な構文に修正する構文修正
手段6、文法解析結果を中間言語の形式で格納する中間
言語格納領域7およびFORTRANの構文として認め
られない構文や修正不可能な構文を検出した際にその誤
りの位置と種類をプログラム開発者に対して通知する文
法誤り通知手段8から構成される。
まず、開発システム1によって開発した原始プロラム2
は、1文づつ基本文法解析手段4によって移植システム
3の文法に適合しているかを解析する。基本文法に適合
していれば入力した原始10グラムをそのまま修正プロ
グラム9に出力し、解析した結果を中間言語格納領域7
に登録する。
基本文法に適合しない場合はその文を拡張文法解析手段
5に渡す、拡張文法解析手段5は開発システム1が独自
に使用可能な文法を認識し、拡張文法に適合するかどう
かを解析する。入力した文が拡張文法にも適合しない場
合はその旨を文法誤り通知する。
拡張文法に適合する場合はさらに基本文法で書き換えが
可能かどうかを判断する。書き換え不能であれば文法誤
り通知手段8にその旨を通知する。修正可能な文は構文
修正手段6に渡され、基本文法の範囲内で、元の原始プ
ログラムと等価の動作を行う構文に書き換えられる。
次に、本実施例中の各手段の動作について説明する。
第2図は基本文法解析手段4の流れ図を示す。
基本文法解析手段は、原始プログラムが終了するまで(
ステップ10)以下の動作を繰り返す。
最初に、1文を構文要素に分解し、(ステップ11)、
分解した要素の解析を行う(ステップ12)、構文要素
を解析した結果、基本文法に適合していれば(ステップ
13)入力したその文をそのまま修正プログラム9に出
力しくステップ14)、構文要素を中間言語に変換して
中間言語格納領域7に登録する(ステップ15)。基本
文法に適合していなければ拡張文法解析手段5を呼び出
すくステップ16)。
第3図は拡張文法解析手段5の流れ図を示す。
ここではまず、拡張文法に従って構文要素の解析を行う
(ステップ17)、拡張文法で記述された文で(ステッ
プ18)、データの精度を下げたり他の文を使用すれば
基本文法の範囲内で書き換え可能な文である場合(ステ
ップ19)、当該構文を分解し中間言語格納領域7に格
納してから(ステップ20)構文修正手段6を呼び出す
(ステップ21)。
もし拡張構文にも適合しない場合(ステップ18)や修
正不可能な構文の場合(ステップ19)は、文法誤り通
知手段を呼び出しくステップ22)当該構文をそのまま
修正プログラム9に出力する(ステップ23)。
第4図は構文修正手段6の流れ図を示す、ここでは構文
解析とは逆に中間言語から原始プログラムを生成する。
拡張文法解析手段5によって書き換え可能と判断された
文の中間言語を読み込み(ステップ24)、基本文法の
範囲内で原始プログラムを組み立てる(ステップ25)
0組み立てた原始プログラムは当該構文の代わりに修正
プログラム9に出力する(ステップ26)。
文法誤り通知手段8は、当該構文が拡張文法に適合しな
いものなのか、基本文法の範囲内で修正不可能なものな
のかを、プログラム開発者が判断できるようメツセージ
を出力する。
〔発明の効果〕
以上説明したように本発明は、あるコンピュータシステ
ムで開発したFORTRANプログラムを他のコンピュ
ータシステムに移植する際、後者のコンピュータシステ
ムでは使用できない構文を自動的に修正することによっ
て、FORTRANプログラムの移植作業における工数
が大幅に削減できるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は基本
文法の解析動作を示す流れ図、第3図は拡張文法の解析
動作を示す流れ図、第4図は構文修正手段の動作を表す
流れ図である。 1・・・開発システム、2・・・原始プログラム、3・
・・移植システム、4・・・基本文法解析手段、5・・
・拡張文法解析手段、6・・・構文修正手段、7・・・
中間言語格納領域、8・・・文法誤り通知手段、9・・
・修正プログラム。

Claims (1)

  1. 【特許請求の範囲】 あるコンピュータシステムAから他のコンピュータシス
    テムBへFORTRANの原始プログラムを移植する際
    に、移植する原始プログラムがコンピュータシステムB
    で実行できるか否かを解析するFORTRANプログラ
    ム文法解析方式において、 対象となる二つのコンピュータシステムに共通な基本文
    法を解析する基本文法解析手段と、コンピュータシステ
    ムAが独自に使用可能な拡張文法を解析する拡張文法解
    析手段と、拡張文法に適合する構文をコンピュータシス
    テムBで使用可能な原始プログラムに書き換える構文修
    正手段と、 解析した結果を中間言語の形式で格納する中間言語格納
    領域と、 構文解析を行った結果、文法誤りおよび書き換えが不可
    能な構文を検出したときプログラム開発者に対して文法
    誤りの位置と種類を通知する文法誤り通知手段を含むこ
    とを特徴とするFORTRANプログラム文法解析方式
JP27276990A 1990-10-11 1990-10-11 Fortranプログラム文法解析方式 Pending JPH04148336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27276990A JPH04148336A (ja) 1990-10-11 1990-10-11 Fortranプログラム文法解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27276990A JPH04148336A (ja) 1990-10-11 1990-10-11 Fortranプログラム文法解析方式

Publications (1)

Publication Number Publication Date
JPH04148336A true JPH04148336A (ja) 1992-05-21

Family

ID=17518486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27276990A Pending JPH04148336A (ja) 1990-10-11 1990-10-11 Fortranプログラム文法解析方式

Country Status (1)

Country Link
JP (1) JPH04148336A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP2014016914A (ja) * 2012-07-11 2014-01-30 Fujitsu Ltd 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP2014016914A (ja) * 2012-07-11 2014-01-30 Fujitsu Ltd 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置

Similar Documents

Publication Publication Date Title
US9710243B2 (en) Parser that uses a reflection technique to build a program semantic tree
CA2170939A1 (en) Method and apparatus for displaying locations of errors detected inside software macro calls
JPH04148336A (ja) Fortranプログラム文法解析方式
JP2000029678A (ja) プログラム言語変換方法、変換装置および記録媒体
JPH01307832A (ja) コンパイラの原始プログラムの文法誤り自動修正方式
JPS5922140A (ja) 対話型コンパイル方式
JPS63245738A (ja) プログラム未定義デ−タ項目の自動修正方式
JP2907129B2 (ja) パッチ作成システム
JP2764782B2 (ja) Cobolプログラムのデータ構造展開方式
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JP2807854B2 (ja) Cobolプログラムのデータ構造展開方式
JPH0279127A (ja) フォートラン・コンパイル処理方式
JPH05197561A (ja) コンパイル方式
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JPS63238627A (ja) アセンブルリストの編集出力方式
JP3014409B2 (ja) 自然言語自動翻訳装置
JPH04322326A (ja) プログラム修正方式
JPS6266371A (ja) テキスト分離型学習システム
JPH0215364A (ja) 文書処理装置
JPS63228341A (ja) プログラム構文チエツク方式
JPH06236261A (ja) 手続き型言語プログラム・コンポーネントの分離方式
JPH10260824A (ja) ソフトウェア開発支援システム
JPH0695889A (ja) プログラム修正方式
KR20010063805A (ko) 씨 프로그램의 구문 분석방법
JPH03176744A (ja) ソフトウェアテスト方式