JPH08249193A - プログラムの言語仕様範囲の検査方式 - Google Patents

プログラムの言語仕様範囲の検査方式

Info

Publication number
JPH08249193A
JPH08249193A JP7055429A JP5542995A JPH08249193A JP H08249193 A JPH08249193 A JP H08249193A JP 7055429 A JP7055429 A JP 7055429A JP 5542995 A JP5542995 A JP 5542995A JP H08249193 A JPH08249193 A JP H08249193A
Authority
JP
Japan
Prior art keywords
language
program
specification range
language specification
range
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
JP7055429A
Other languages
English (en)
Inventor
Osamu Sato
収 佐藤
Nobuhiro Takezaki
信浩 竹崎
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP7055429A priority Critical patent/JPH08249193A/ja
Publication of JPH08249193A publication Critical patent/JPH08249193A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】従来のような規格レベルの言語仕様範囲ではな
く、より詳細の言語仕様範囲を言語翻訳プログラムに指
定して、翻訳時にプログラムの言語仕様範囲チェックを
行うことを可能とすることにより、プログラムを記述す
る際の言語仕様の範囲を、より詳細に、開発工数を増加
させることなく、規定することを可能とする。 【構成】原始プログラム5を言語翻訳プログラム1の字
句解析部2が入力し、構文解析部3により構文を内部的
に表現した中間語6を生成する。言語仕様範囲検査部
は、言語翻訳プログラムへの通知パラメタ8で指定され
た言語仕様範囲定義ファイル9からチェックアウトルー
ルテーブル10を生成する。そして、中間語6を1つ1
つ走査して、チェックアウトルールテーブル10と照合
し、仕様範囲外チェックを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムがある特定
の言語仕様の範囲内で記述されているかどうかを、言語
翻訳プログラムによって翻訳時に検査する方式に関す
る。
【0002】
【従来の技術】従来の言語翻訳プログラムでは、言語仕
様を規定する場合、その言語翻訳プログラムがサポート
している、国際規格、ANSI規格あるいは日本規格等の規
格レベルの互換検査機能を使って行うのが一般的であ
り、その検査処理は、以下の公知例に代表されるよう
に、プログラムの論理構造で行うのが普通であった。
【0003】公知例:特開平4−312130号公報 字句解析部および構文解析部から独立した言語仕様の検
査部を設け、言語仕様の検査内容の追加、削除を簡単に
行えるようにしている。
【0004】構成は、利用者が設定した起動パラメタに
従ってどの種の言語仕様を使用しているときに警告メッ
セージを出力するかを決定する検査種別判定手段と言語
仕様の特定の機能を検査する複数の検査手順から成る検
査部と、これら複数の検査手順の中から検査種別に対応
する検査手順を呼び出す検査部呼び出し手段を有する。
【0005】
【発明が解決しようとする課題】従来、業務プログラム
を開発する場合には、複数のベンダーへ発注し納入して
もらう方法が開発の一手段としてよく利用される。しか
し、開発に使用する言語翻訳プログラムは、数多くのソ
フトウエア会社によって開発されており、各社、市場ニ
ーズに合わせて、それぞれ固有の言語仕様拡張を行って
いる。このため、上記のような分散開発を行う場合、発
注元は、他プラットフォームへの移植性や保守性の向上
を考えて、あるいは発注元と発注先の言語翻訳プログラ
ムが異なる場合、発注先で記述するプログラムの言語仕
様の範囲を制限する必要がある。
【0006】しかし、上記従来技術の場合、言語翻訳プ
ログラムは規格レベルでしか言語仕様を規定することが
できないので、業務プログラムの発注元も、無理には規
格レベル以外の言語仕様範囲を指定できず、言語翻訳プ
ログラムの持つ特長を最大に活かすことが困難であっ
た。また無理に詳細の範囲指定を行った場合、発注先で
の業務プログラムの作成時に、指定された言語仕様を満
足しているかどうかのチェックが必要となり、プログラ
ム作成の効率の低下、それによる開発工数増大の原因と
なっていた。
【0007】本発明では、任意の言語仕様範囲の詳細を
言語翻訳プログラムに指定することによって、翻訳時に
プログラムがその言語仕様の範囲内で記述されているか
どうかを検査できるような機能を実現して、発注元が発
注業務プログラムの言語仕様範囲をより詳細に規定でき
るような手段と、発注先においてプログラムが発注元の
規定した言語仕様の範囲内で記述されているかどうかを
容易に検査できるような手段を提供することを目的とす
る。
【0008】
【課題を解決するための手段】言語翻訳プログラムに、
言語仕様の使用可否を詳細に規定した言語仕様範囲定義
ファイルを翻訳時に外部より入力する手段と、このファ
イルの情報によって定義された言語仕様の範囲を超えた
プログラムの記述をエラー検出する手段を備えることに
より達成される。
【0009】
【作用】本発明を取り入れた言語翻訳プログラムは、ま
ず外部より言語仕様範囲定義ファイルを入力し、内部に
エラー検出のためのチェックアウトルールテーブルを作
成する。このチェックアウトルールテーブルは、各言語
仕様に対して使用可能かどうかの情報、すなわち、ある
言語仕様が使用がされた場合にエラー検出するかどうか
の情報を、検索し易い形式で持っている。
【0010】また、本発明を取り入れた言語翻訳プログ
ラムは、原始プログラムを入力し、構文解析処理および
意味解析処理を行う。この両処理の間あるいは後で、ソ
ースプログラムで記述された言語仕様が使用可能かどう
かをチェックアウトルールテーブルを照合して判定し、
もし不可であればエラーメッセージを出力する。
【0011】以上の作用により、詳細の言語仕様範囲の
範囲チェックが言語翻訳プログラムにより容易に行える
ので、業務プログラム発注元も発注先に対して使用する
言語仕様範囲を詳細に規定することができ、発注先も規
定された範囲内でプログラム記述しているかを容易にチ
ェックできる。
【0012】
【実施例】本発明の第1の実施例を図を参照しつつ詳細
に説明する。
【0013】図1は、本発明の基本構成を示す。言語翻
訳プログラム1は、字句解析部2により原始プログラム
6を入力し、構文解析部3により構文を内部的に表現し
た中間語7を生成する。そして、意味解析部5で構文解
析部3で生成された中間語7の意味解析を行って、より
詳細の中間語7に変換し、それを元にコード生成部11
で目的プログラム12を生成する。これが一般的な翻訳
の流れである。言語仕様範囲検査部4は、構文解析部3
と意味解析部5の間に位置し、まず、通知パラメタ8に
より言語仕様範囲定義ファイル9を決定し入力する。そ
して、その情報により各言語仕様が使用可能であるかど
うかの情報をもつチェックアウトルールテーブル10を
内部に生成する。また構文解析部3の出力である中間語
7を1つ1つ走査して、使用されている言語仕様をチェ
ックアウトルールテーブル10と照合し、使用不可であ
ればエラーメッセージ13を出力する。
【0014】図2は、原始プログラム図2(a)から生
成される中間語の構成図2(b)と、チェックアウトル
ールテーブルの構成図2(c)を示す。図2(a)は、
構文解析部により、中間語15に変換される。図2
(c)は、中間語の中間語コード別に作られており、個
々の中間語は、中間語コードをキーとして図2(c)と
照合され、使用できない言語仕様が使われていないかが
検査される。
【0015】図3は、言語仕様範囲検査部の詳細を示す
流れ図である。18は通知パラメタで与えられた言語仕
様範囲定義ファイルを入力し、チェックアウトルールテ
ーブルを作成する。19はチェックすべき最初の中間語
を取り出す。20はチェックすべき中間語がなくなった
かどうかを判定し、その条件になるまで以下の処理を繰
り返す。21は中間語コードをキーとしてチェックアウ
トテーブルを検索する。22はそのチェックアウトテー
ブルの項目と中間語の仕様を照合し、23で使用できな
い言語仕様が使用されていないかどうかをチェックす
る。もし、使用されていれば、24でエラーメッセージ
の出力を行う。25は次の中間語を取り出す。
【0016】本発明の第2の実施例を図を参照しつつ詳
細に説明する。基本的な実施方法は、第1の実施例と同
じである。したがって、同じ図を用いて説明する。
【0017】図1は、本発明の基本構成を示す。言語翻
訳プログラム1は、字句解析部2により原始プログラム
6を入力し、構文解析部3により構文を内部的に表現し
た中間語7を生成する。そして、意味解析部5で構文解
析部3で生成された中間語7の意味解析を行って、より
詳細の中間語7に変換し、それを元にコード生成部11
で目的プログラム12を生成する。これが一般的な翻訳
の流れである。言語仕様範囲検査部4は、構文解析部3
と意味解析部5の間に位置し、まず、通知パラメタ8に
より言語仕様範囲定義ファイル9を決定し入力する。そ
して、その情報により各言語仕様が使用可能であるかど
うかの情報とそのエラー時の解釈情報をもつチェックア
ウトルールテーブル10を内部に生成する。また構文解
析部3の出力である中間語7を1つ1つ走査して、使用
されている言語仕様をチェックアウトルールテーブル1
0と照合し、使用不可であればエラーメッセージ13を
出力する。この際、そのエラーに対するエラー時解釈情
報があれば、それにより、エラー修復を行う。
【0018】図2は、原始プログラム図2(a)から生
成される中間語の構成図2(b)と、チェックアウトル
ールテーブルの構成図2(c)を示す。図2(a)は、
構文解析部により、中間語15に変換される。チェック
アウトルールテーブル17図2(d)は、中間語の中間
語コード別に作られており、個々の中間語は、中間語コ
ードをキーとして図2(d)と照合され、使用できない
言語仕様が使われていないかが検査される。もし、使用
できない言語使用が使われていれば、エラーメッセージ
を出力するとともに、エラー時の解釈情報によりエラー
修復を行う。
【0019】図3は、言語仕様範囲検査部の詳細を示す
流れ図である。18は通知パラメタで与えられた言語仕
様範囲定義ファイルを入力し、チェックアウトルールテ
ーブルを作成する。19はチェックすべき最初の中間語
を取り出す。20はチェックすべき中間語がなくなった
かどうかを判定し、その条件になるまで以下の処理を繰
り返す。21は中間語コードをキーとしてチェックアウ
トテーブルを検索する。22はそのチェックアウトテー
ブルの項目と中間語の仕様を照合し、23で使用できな
い言語仕様が使用されていないかどうかをチェックす
る。もし、使用されていれば、24でエラーメッセージ
の出力を行うとともにエラー時の解釈情報によりエラー
修復を行う。25は次の中間語を取り出す。
【0020】
【発明の効果】本発明により、業務プログラムの発注元
は、発注先でのプログラム記述時の言語仕様範囲を、規
格レベルではなく、より詳細に規定することが可能とな
り、また発注先も、発注元からプログラム記述時の言語
仕様を詳細に規定されたとしても、言語翻訳プログラム
で容易に範囲チェックできるので、プログラマに負担を
掛けずにすむ。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】原始プログラムから生成される中間語の構成
と、チェックアウトルールテーブルの構成を示す図であ
る。
【図3】言語仕様範囲検査部の詳細を示す流れ図であ
る。
【符号の説明】
1…言語翻訳プログラム、2…言語翻訳プログラムの字
句解析部、3…言語翻訳プログラムの構文解析部、4…
言語翻訳プログラムの言語仕様範囲検査部、5…言語翻
訳プログラムの意味解析部、6…原始プログラム7…中
間語、8…通知パラメタ、 9…言語仕様範囲定義
ファイル、10…チェックアウトルールテーブル、11
…言語翻訳プログラムのコード生成部、12…原始プロ
グラムを翻訳して生成される目的プログラム、13…エ
ラーメッセージ、18…言語仕様範囲定義ファイルの入
力及びチェックアウトルールテーブルの作成処理、19
…最初の中間語項目を取り出す処理、20…原始プログ
ラム全ての中間語についての処理済かの判定処理、21
…チェックアウトルールテーブルの検索処理、22…中
間語の個々の仕様とチェックアウトルールテーブルのチ
ェックアウト仕様項目の照合処理、23…使用可能かど
うかの判定処理、24…エラー処理、25…次の中間語
項目を取り出す処理。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 竹崎 信浩 神奈川県横浜市中区尾上町六丁目81番地日 立ソフトウェアエンジニアリング株式会社 内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】プログラムがある特定の言語仕様の範囲内
    で記述されているかを言語翻訳プログラムで翻訳時に検
    査する方式で、言語仕様の使用可否の詳細を任意に規定
    した言語仕様範囲定義情報を、外部より言語翻訳プログ
    ラムに与えることによって、より詳細の言語仕様の規定
    を行えるようにした検査方式。
  2. 【請求項2】プログラムがある特定の言語仕様の範囲内
    で記述されているかを言語翻訳プログラムで翻訳時に検
    査する方式で、言語仕様の使用可否の詳細を任意に規定
    した言語仕様範囲定義情報と範囲外エラー修復のための
    エラー時解釈情報を、外部より言語翻訳プログラムに与
    えることによって、より詳細の言語仕様の規定を行える
    ようにし、かつエラー時解釈情報によってエラー自動修
    復を可能にした検査方式。
JP7055429A 1995-03-15 1995-03-15 プログラムの言語仕様範囲の検査方式 Pending JPH08249193A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7055429A JPH08249193A (ja) 1995-03-15 1995-03-15 プログラムの言語仕様範囲の検査方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7055429A JPH08249193A (ja) 1995-03-15 1995-03-15 プログラムの言語仕様範囲の検査方式

Publications (1)

Publication Number Publication Date
JPH08249193A true JPH08249193A (ja) 1996-09-27

Family

ID=12998349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7055429A Pending JPH08249193A (ja) 1995-03-15 1995-03-15 プログラムの言語仕様範囲の検査方式

Country Status (1)

Country Link
JP (1) JPH08249193A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2166279A1 (es) * 1999-09-09 2002-04-01 Univ Valencia Politecnica Un metodo y sistema para la optimizacion de programas multiparadigma por transformacion automatica.
JP2010140407A (ja) * 2008-12-15 2010-06-24 Nomura Research Institute Ltd ソースコード検査装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2166279A1 (es) * 1999-09-09 2002-04-01 Univ Valencia Politecnica Un metodo y sistema para la optimizacion de programas multiparadigma por transformacion automatica.
JP2010140407A (ja) * 2008-12-15 2010-06-24 Nomura Research Institute Ltd ソースコード検査装置

Similar Documents

Publication Publication Date Title
JP2001511557A (ja) 2000年テストケースを生成するためのシステムおよび方法
JPH0749776A (ja) ソフトウェア再利用方法
US6728951B1 (en) System and method for performing automated incremental compilation of computer programs
JPH08249193A (ja) プログラムの言語仕様範囲の検査方式
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JPH08194611A (ja) プログラム修正による影響範囲を解析する装置
JP2778025B2 (ja) 共起関係辞書の学習方法
US6782523B2 (en) Parallel configurable IP design methodology
JPH0667871A (ja) プログラム自動更新方式
JPH11338686A (ja) プログラム開発支援装置及びプログラム開発支援方法並びにプログラム開発支援プログラムを記録した記録媒体
JP3029368B2 (ja) プログラム誤り検出方法および誤り検出装置
JP2907124B2 (ja) ソースユニットのファイル転送時におけるコード体系の自動識別方式
JP2002287966A (ja) データ項目辞書生成方法
JPH0793144A (ja) プログラム解析装置
JPH04312130A (ja) 言語処理プログラム
JP2912479B2 (ja) 構文解析制御方式
JPH02205930A (ja) インタフェースチェック処理方法
CN114895952A (zh) 异常代码的检测方法及装置、电子设备、存储介质
JPH11110202A (ja) ジョブ制御言語文自動作成方法
JPS59231649A (ja) コンパイルリスト出力処理方式
JPH07168711A (ja) プログラム管理方法
JPH07129381A (ja) プログラムドキュメント作成装置
JPH06348564A (ja) アプリケーションプログラムの自動チェック方式
JPH04264936A (ja) エラーメッセージリスト出力装置
JPH08314707A (ja) ソフトウェアの開発支援システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607