JPH05158765A - C言語プログラム差分情報取得方式 - Google Patents

C言語プログラム差分情報取得方式

Info

Publication number
JPH05158765A
JPH05158765A JP3322858A JP32285891A JPH05158765A JP H05158765 A JPH05158765 A JP H05158765A JP 3322858 A JP3322858 A JP 3322858A JP 32285891 A JP32285891 A JP 32285891A JP H05158765 A JPH05158765 A JP H05158765A
Authority
JP
Japan
Prior art keywords
program
language
preprocessing
logical
lexical
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
JP3322858A
Other languages
English (en)
Inventor
Osamu Onishi
治 大西
Tadahiro Asai
唯宏 浅井
Kaoru Aragaki
薫 新垣
Hidenori Goto
秀則 後藤
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 Ltd
Hitachi Solutions East Japan Ltd
Original Assignee
Hitachi Ltd
Hitachi Tohoku Software 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 Ltd, Hitachi Tohoku Software Ltd filed Critical Hitachi Ltd
Priority to JP3322858A priority Critical patent/JPH05158765A/ja
Publication of JPH05158765A publication Critical patent/JPH05158765A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P20/00Technologies relating to chemical industry
    • Y02P20/50Improvements relating to the production of bulk chemicals
    • Y02P20/52Improvements relating to the production of bulk chemicals using catalysts, e.g. selective catalysts

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】二つのC言語原始プログラムを前処理指令とC
言語の文法に従って比較し,差分情報を取得することに
より,プログラムの処理内容に着目した比較を実現す
る。 【構成】字句解析,前処理指令解析,構文解析を行い,
その結果から前処理指令行及び実プログラムで構成する
論理行を作成し,次に論理行を比較し,その比較結果を
出力する。 【効果】論理行を作成し,比較する方式なので,プログ
ラムの注釈,インデンテーションなどプログラムの処理
内容に直接関係しない不要な差分情報情報の削減に効果
がある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,C言語プログラムの差
分情報を前処理指令及び実プログラムを含むプログラム
の処理内容に基づいて取得するC言語プログラム差分情
報取得方式に関する。
【0002】
【従来の技術】従来の差分情報取得技術には,例えば共
立出版 AT&T UNIXソフトウェア オペレーシ
ョン パシフィック UNIX System V ユ
ーザ・リファレンス・マニュアル第2版 リリース
3.0 第73項のdiffコマンドがある。これは二
つの入力ファイルを行単位に比較し,不一致となる差分
情報を出力する。本技術では,行単位にファイルを直接
比較するため,注釈,インデンテーションのようなプロ
グラムの処理内容と直接関係しない内容まで差分情報と
して出力され,処理内容の差分調査に不便をきたす。そ
こで,注釈,インデンテーションのようなプログラムの
処理内容と直接関係しない内容の差分情報を抑止するた
め,C言語の前処理実行結果の論理行を外部装置に出力
し,その結果をdiffコマンドなどで比較する方法が
使用される。
【0003】
【発明が解決しようとする課題】上記従来差分情報取得
技術では,C言語の前処理実行結果の論理行を比較する
場合,注釈,インデンテーションなどC言語で空白類と
定義される情報を一つの空白に置き換え,処理内容に着
目した差分調査を行うが,空白類を空白に置き換えると
同時に#includeによるインクルードファイルの取り込
み,#defineによるマクロ置換,#ifなどによる条件組込
み等の前処理指令を実行するため,前処理指令の差分調
査ができないという問題,前処理を実行する前の原始プ
ログラムとの対比をとることが困難となる問題が発生す
る。
【0004】本発明では,上記の問題点を解決するた
め,前処理指令と実プログラムを識別し,それぞれの文
法に従ってプログラムの処理内容と直接関係しない内容
の差分情報を抑止することにより,二つのファイルのプ
ログラムの処理内容の差分情報を取得することを目的と
する。
【0005】
【課題を解決するための手段】C言語プログラム差分情
報取得処理方式は,入力した原始プログラムからC言語
で定義した字句と呼ばれる単位に字句を取り出す手段,
字句から前処理指令と実プログラムに分け,前処理指令
を解析する手段,実プログラムをC言語の文法に従い構
文解析する手段,前処理指令と実プログラムから論理行
を生成する手段,生成した論理行を比較する手段を備え
ることで達成される。
【0006】
【作用】本発明は,二つのC言語原始プログラムの比較
において,字句解析,前処理解析,構文解析を行い,そ
の結果より論理行を作成し比較することにより,プログ
ラムの処理内容に直接影響の無い注釈,インデンテーシ
ョンなどが異なっても比較結果を一致させることができ
る。
【0007】
【実施例】以下,本発明の一実施例を図を参照しつつ説
明する。
【0008】図1は本発明を用いたC言語プログラム差
分情報取得処理装置構成図,図2,図3は本発明の具体
例を説明するためのC言語原始プログラムである。
【0009】図1において,101,102は記憶装置
上に格納されている比較対象の原始プログラム,111
はC言語プログラム差分情報取得処理装置,112は1
01と102の比較結果の差分情報である。C言語プロ
グラム差分取得処理装置111は記憶装置から二つの原
始プログラムを読み込み両者の差分情報を記憶装置上に
生成する。このときC言語プログラム差分情報取得処理
装置の処理について図2,図3の原始プログラムをそれ
ぞれ図1の原始プログラム101,102の例とした時
の動作について説明する。ここで101は変更前の原始
プログラム,102は変更後の原始プログラムである。
字句解析部103は,読み込んだ原始プログラムの字句
解析を行い,字句を前処理指令解析部104に渡す。前
処理指令解析部104は,字句を#から始まる前処理指
令と実プログラムに分け,前処理指令を構成する字句に
は前処理フラグをオン,実プログラムを構成する字句に
は前処理フラグをオフに設定する。構文解析部105は
前処理解析部104で処理を行った字句を入力し,前処
理フラグがオフである実プログラム構成字句をC言語の
文法に従い構文解析を行い,字句のまとまりを”文”と
いう単位で区切る。図4は図3の原始プログラムに対応
する字句”define”,”b”,”if”の例であ
る。論理行生成部106は,前処理指令解析部104,
構文解析部105で処理を行った字句を入力し,前処理
フラグがオンである前処理指令構成字句から前処理指令
論理行,前処理フラグがオフである実プログラム構成字
句から実プログラム論理行を生成する。前処理指令論理
行は#字句から開始し,改行字句で終了する論理的な行
単位に,実プログラム論理行は構文解析部105で区切
った文単位に構成する。比較部107は論理行生成部1
06で生成した前処理指令論理行及び実プログラム論理
行を含む論理行を入力し,比較した結果を記憶装置上に
出力する。
【0010】図5は論理行生成部106で生成した,図
3の論理行の例である。論理行は,比較の対象となる論
理行501と比較結果が不一致の場合に,元の原始プロ
グラムとの対応をつけて出力するため,もとの入力行番
号502を有している。この例は,原始プログラム図
2,図3は異なるが,プログラムの処理内容が一致する
ので生成した比較の対象となる論理行501は一致す
る。
【0011】
【発明の効果】本発明によれば,二つのC言語プログラ
ムの比較において,プログラムの処理内容に基づいての
比較に効果がある。
【図面の簡単な説明】
【図1】本発明を用いたC言語プログラム差分取得処理
装置構成図である。
【図2】本発明の実施例を説明するためのC言語原始プ
ログラムを示す図である。
【図3】同じくプログラムを示す図である。
【図4】本発明の実施例を説明するための字句の形式を
示す図である。
【図5】本発明の実施例を論理行に組立直した結果を示
す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新垣 薫 神奈川県横浜市戸塚区戸塚町5030番地株式 会社日立製作所ソフトウェア開発本部内 (72)発明者 後藤 秀則 宮城県仙台市青葉区一番町二丁目4番1号 日立東北ソフトウェア株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】C言語原始プログラムの字句解析を行う字
    句解析部,字句解析結果を前処理指令と原始プログラム
    より前処理指令を除いた実プログラムに分ける前処理指
    令解析部,実プログラムを構成する字句をC言語の文法
    に従い解析する構文解析部,前処理指令と実プログラム
    から論理行を生成する論理行生成部,生成した論理行を
    比較する比較部を有することを特徴とする,C言語プロ
    グラム差分情報取得方式。
JP3322858A 1991-12-06 1991-12-06 C言語プログラム差分情報取得方式 Pending JPH05158765A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3322858A JPH05158765A (ja) 1991-12-06 1991-12-06 C言語プログラム差分情報取得方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3322858A JPH05158765A (ja) 1991-12-06 1991-12-06 C言語プログラム差分情報取得方式

Publications (1)

Publication Number Publication Date
JPH05158765A true JPH05158765A (ja) 1993-06-25

Family

ID=18148394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3322858A Pending JPH05158765A (ja) 1991-12-06 1991-12-06 C言語プログラム差分情報取得方式

Country Status (1)

Country Link
JP (1) JPH05158765A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2439417A (en) * 2006-06-19 2007-12-27 Hewlett Packard Development Co Comparing software functions using a comparison matrix
US7664794B2 (en) 2000-02-14 2010-02-16 Nice Systems Ltd. Content-based storage management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664794B2 (en) 2000-02-14 2010-02-16 Nice Systems Ltd. Content-based storage management
US8195616B2 (en) 2000-02-14 2012-06-05 Nice Systems Ltd. Content-based storage management
GB2439417A (en) * 2006-06-19 2007-12-27 Hewlett Packard Development Co Comparing software functions using a comparison matrix
US8108315B2 (en) 2006-06-19 2012-01-31 Hewlett-Packard Development Company, L.P. Discovering software code subject to licenses

Similar Documents

Publication Publication Date Title
US7992088B2 (en) Method and system for copy and paste technology for stylesheet editing
EP1306775A1 (en) Machine translation
JPH02165378A (ja) 機械翻訳システム
JPH0682377B2 (ja) 感情情報抽出装置
JPH05158765A (ja) C言語プログラム差分情報取得方式
JPH0877196A (ja) 文書情報抽出装置
JP3003459B2 (ja) プログラム作成支援装置
JPS60200359A (ja) 単文生成装置
JPH07121379A (ja) 複数言語混在コンパイラ
JP2794919B2 (ja) 機械翻訳装置
JP3050575B2 (ja) 自然言語自動翻訳装置
JPH04372060A (ja) 日本語解析装置
JP2726543B2 (ja) 翻訳方式
JPH06162075A (ja) 自動リライト装置
JPH05282138A (ja) ドキュメンタの文書生成方法
JPH04152458A (ja) 文書作成装置
Kongyuan et al. A study on the Chinese syntactic analysis
KR20010063805A (ko) 씨 프로그램의 구문 분석방법
JPH0689183A (ja) インタプリタ処理方式
EP1306774A1 (en) Machine translation
EP1306773A1 (en) Machine translation
JPH05324711A (ja) 自然言語自動翻訳システム
JPH05216922A (ja) 辞書編集装置
JPH04336669A (ja) 原文の中間コード生成方式
JPH0289175A (ja) 機械翻訳における構文解析方式