JPS6326730A - プログラム修正方式 - Google Patents

プログラム修正方式

Info

Publication number
JPS6326730A
JPS6326730A JP17036486A JP17036486A JPS6326730A JP S6326730 A JPS6326730 A JP S6326730A JP 17036486 A JP17036486 A JP 17036486A JP 17036486 A JP17036486 A JP 17036486A JP S6326730 A JPS6326730 A JP S6326730A
Authority
JP
Japan
Prior art keywords
program
additional
address
keyword
source
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
JP17036486A
Other languages
English (en)
Inventor
Yoshimi Shindo
新藤 好美
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 JP17036486A priority Critical patent/JPS6326730A/ja
Publication of JPS6326730A publication Critical patent/JPS6326730A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 本発明は、原始プログラム(または原始モジュールと称
する)に特定のキーワードを挿入してプログラムを追加
する方式であり、翻訳プログラムはキーワードを検出し
た位置に追加プログラムを挿入し該原始プログラムに結
合する。
〔産業上の利用分野〕
本発明は、プログラム修正方式の改良に関する。
近年、プログラムはモジュール化され、モジュールごと
に作成、翻訳されるとともに、機能に応したモジュール
が結合されて処理装置に組み込まれている。
かかる処理装置に機能を追加する場合、プログラムを追
加して(1r正する必要があるが、プログラム管理上原
始モジュールを修正することは一般に禁じられており、
このため、プログラムの修正は各装置におけるロードプ
ログラム上で行われている。
しかし、このロードプログラムにおいては、アドレスを
計算しつつ機械語で修正しなければならず、修正に時間
を要するという問題点がある。
このため、プログラム管理上の問題点を解決し、原始プ
ログラム上で修正し得る簡易なプログラム修正方法が求
められている。
〔従来の技術〕
従来のプログラム修正方法を第3図を参照しつつ説明す
る。
第3図従来のプログラム修正方法説明図において、 ■は高級言語で記述された原始モジュール、2は翻訳プ
ログラム(コンパイラ)であって、原始モジュール1に
記述されている字句を解析し、それぞれアドレスを割り
当ててコードを生成するとともに、未解決の名標がある
と図示省略した外部参照部に登録して目的モジュール7
を出力するもの、 3はリンカであり、コンパイラ2の出力したそれぞれの
目的モジュール7を外部参照部に基づいて連係編集する
もの、 4はファイルであり、リンカ3の出力したロードプログ
ラム5を格納するもの、 である。
即ち、選択した原始モジュール1を連係して1組のプロ
グラムとして使用する場合、それぞれの原始モジュール
1をコンパイラ2により目的モジュール7に翻訳し、リ
ンカ3で結合して1組のロードプログラム5を生成する
このロードプログラム5はファイル4に格納され、図示
省略した処理装置の主記憶にロードされて実行される。
いま、この処理装置に機能を追加するとき、前述したよ
うに原始モジュール1に修正を施すことが禁じられてい
るため、例えば、ファイル4よりロードプログラム5を
リス1−とじて出力し、修正を施した後に、その修正ロ
ードプログラム8を入力してファイル4を更新する方法
が採用されている。
即ち、ロードプログラム5は各モジュールが結合され且
つ機械語に翻訳されているため、修正者は追加部分に飛
越し命令(J U M P命令)等を挿入し、相対アド
レスを計算しつつ追加プログラム6を機械語で記述し、
ファイル4の空き領域に格納する。
〔発明が解決しようとする問題点〕
上記説明したように、原始プログラムを修正することは
一般に禁じられているため、翻訳連係された固有のロー
ドプログラム上で修正せねばならず、アドレスを計算し
つつ機械語で記述する労力は非常に大きいという問題点
があった。
本発明は上記問題点を解消する節易なプログラム修正方
式を提供することを目的とするものである。
〔問題点を解決するための手段〕
上記目的のため、本発明のプログラム修正方式は、第1
図本発明の原理説明図に示すように、キーワードおよび
プログラム名を修正元の原始プログラムに挿入するとと
もに該追加プログラム名を宣言して追加プログラムを追
加し、キーワードを識別する識別手段(23)と、該キ
ーワードの検出位置に該追加プログラムを挿入し該原始
プログラムに結合する結合手段(24)と、 を該翻工尺フ“ログラム(9)に設けたものである。
〔作用〕
キーワードとして、プログラムリスト上識別容易なもの
、例えばrADDPARTJを設定し、修正元の原始モ
ジュールの追加部分にrADDPARTJと追加プログ
ラム名、例えばrXYJとを挿入する。
また、先頭および終了が識別できる識別子をおいた追加
プログラムrXYjを、その原始モジュールの最後に付
加する。
コンパイラは、この「ADDPART XYlを検出す
ると、例えば飛越し命令(JUMP命令)にコード変換
し、追加プログラムrXYjを翻訳するとき割り付けた
アドレスを、そのJ U M P先アドレスに設定する
また、追加プログラムrXYJの最後に、再びJ U 
M P命令で、rADDPARTJが挿入された次のコ
ードアドレスに復帰結合させる。
なお、結合方式として、上記に限らず、追加プログラム
のアドレスをキーワードの挿入アドレスより割り付ける
方法でもよい。
以上のように、プログラムの追加、挿入を表すキーワー
ドにより、キーワードとともに指示した追加プログラム
を付加するのみで原始モジュールの追加修正を行うこと
ができ、且つリスト上キーワードの識別が容易で、プロ
グラム管理上の問題点が解決される。
〔実施例〕
本発明の実施例を第2図を参照しつつ説明する。
第2図(atに実施例のコンパイラのブロック図、第2
図(blはプログラム修正方式説明図である。
実施例のコンパイラ9はプログラムで構成されてプロセ
・ノサにより動作するもので、キーワードrADDPA
RTJを検出したときrJIJMPjJUMP命令ラム
を結合する例を示したものである。
第2図(+1に示すように、実施例のコンパイラクは以
下の各部で構成される。即ち、 10は、図示省略したファイルに格納された原始モジュ
ールを読取る原始モジュール読取部、11は、読取った
原始モジュールのそれぞれの字句の解析、構文解析等を
行う字句・構文解析部であり、キーワードrADDPA
RTJを識別する識別手段23を備えるもの、 12は、キーワードrADDPARTJをJIJMP命
令にコード変換する等コードを生成するための参照テー
ブル、 15は、構文解析等に基づき参照テーブル12を参照し
てコードを生成するコード生成部であり、前記r J 
U M P Jコードとともに、復帰のためのコードを
生成するもの、 13はロケータであって、コード生成に対応してアドレ
スを設定するものであり、IIUMPJ先および復帰先
アドレスを設定するもの、16はコード生成された目的
モジュールを格納する目的モジュール格納部、 である。
なお、結合手段24はコード生成部15およびロケータ
13により構成される。
第2図(b)において、原始モジュール17に追加修正
を施す場合、キーワードrADDPΔRTJとともに追
加プログラム名(XY)を記述したプログラムステップ
rADDPART  XY)を追加個所18に挿入し、
追加プログラムrXYj 19を原始モジュール17の
最後の部分に書込んだ修正原始モジュール27を作成し
てコンパイラ9により翻訳する。
追加プログラムrXYJ 19は、原始プログラム17
と同一言語で記述され、その先頭には識別子として先頭
符号rsTARTj 30とともに追加プログラム名「
XY」を、また終りには、終了符号rENDJ 31が
記述されたものである。
コンパイラ9は、修正原始モジュール27を順次読取り
、コードを生成してアドレスを設定するが、rAD]:
)PART  XYJを検出すると、JUMP命令(2
5)にコード変換し、ジャンプ先のアドレス情報29を
保留したまま、コード生成を続行する。
追加プログラムrXYJ19が先頭符号rSTARTJ
30により検出され、コードが生成されてアドレスが割
り当てられると(例えば先頭アドレス1000番地)、
先に保留したアドレスに、その先頭アドレス(l OO
O番地)を記入する。
続いて追加プログラムrXYj19の終了符刊rEND
j 31を検出すると、JUMP命令(26)を付加し
て、先にrADDPARTJが挿入された次のコードの
アドレス(例えば102番地)をジャンプ先アドレスと
して118正元のプログラムに復帰させる。
以上により生成された目的モジュール28は、追加プロ
グラム「XY」19が結合された状態で生成される。
なお、追加プログラムrXYJ19で名標等を宣言する
ことができ、また宣言なしで使用した名標は修正元の原
始プログラム17のものが使用される。
以上はキーワードを修正元原始モジュールに挿入した例
を示したが、修正元の原始プログラム上の命令に置換し
、その置換部分を追加プログラムの先頭に記述してもよ
い。
また、実施例のごと< rJUMPJ命令で結合せず、
追加プログラムをキーワード位置によりアドレスを割付
けて結合してもよい。
以上のごとく、高級言語でプログラムが修正できるとと
もに、キーワードを識別することが容易であるから、こ
れを削除して元のプログラムに復元することは容易であ
り、プログラム管理上の問題点が解決される。
〔発明の効果〕
本発明は、追加プログラムの存在を表すキーワードを追
加個所に挿入し、その追加プログラムを修正元の原始プ
ログラムの最後に付加してコンパイラに翻訳、結合せし
める方法であるから、高級言語で修正が容易となるとと
もに、修正を元に戻すことが容易となる管理上の効果は
極めて大きい。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図(alは実施例のコンパイラブロック図、第2図
(b)は実施例のプログラム修正方式説明図、第3図は
従来のプログラム修正方法説明図、である。図中、 lは原始モジュール、 2はコンパイラ、 3はリンカ、 4はファイル、 5はロードプログラム、 6は追加プログラム、 7は目的モジュール・ 9はコンパイラ、 10は原始モジュール読取部、 11は字句構文解析部、 12は参照テーブル、 13はロケータ、 15はコード生成部、 16は目的モジュール格納部、 17は修正元の原始モジュール、 19は追加プログラム、 20はキーワード、 21は追加プログラム名、 23は識別手段、 24は結合手段、 25.26はJUMP命令、 27は修正原始モジュール、 28は翻訳された目的モジュール、 30は先頭符号rsTARTJ、 31は終了符号r E N D j、 である。

Claims (1)

  1. 【特許請求の範囲】 修正元の原始プログラム(17)に追加を指示するキー
    ワード(20)と追加プログラム名(21)とを挿入し
    、該追加プログラム名を宣言して追加された追加プログ
    ラム(19)を該原始プログラム(17)とともに翻訳
    プログラム(9)で翻訳して結合するプログラム修正方
    式であって、該キーワードを識別する識別手段(23)
    と、該キーワードの検出位置に該追加プログラムを挿入
    し該原始プログラムに結合する結合手段(24)と、 を該翻訳プログラム(9)に設けたことを特徴とするプ
    ログラム修正方式。
JP17036486A 1986-07-18 1986-07-18 プログラム修正方式 Pending JPS6326730A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17036486A JPS6326730A (ja) 1986-07-18 1986-07-18 プログラム修正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17036486A JPS6326730A (ja) 1986-07-18 1986-07-18 プログラム修正方式

Publications (1)

Publication Number Publication Date
JPS6326730A true JPS6326730A (ja) 1988-02-04

Family

ID=15903565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17036486A Pending JPS6326730A (ja) 1986-07-18 1986-07-18 プログラム修正方式

Country Status (1)

Country Link
JP (1) JPS6326730A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188225A (ja) * 1990-11-21 1992-07-06 Matsushita Electric Ind Co Ltd 連携編集装置
JP2005165698A (ja) * 2003-12-03 2005-06-23 Yaskawa Electric Corp プログラム開発システムのプログラム更新方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188225A (ja) * 1990-11-21 1992-07-06 Matsushita Electric Ind Co Ltd 連携編集装置
JP2005165698A (ja) * 2003-12-03 2005-06-23 Yaskawa Electric Corp プログラム開発システムのプログラム更新方法
JP4490084B2 (ja) * 2003-12-03 2010-06-23 安川情報システム株式会社 プログラム開発システムにおけるプログラム作成方法

Similar Documents

Publication Publication Date Title
KR100800343B1 (ko) 고성능 스키마 검증을 위한 xml 스키마의 주해된 자동인코딩
US5339431A (en) Software compiler and linker with improved line-number table
JP2666847B2 (ja) 異種言語間連絡方式
US5367683A (en) Smart recompilation of performing matchup/difference after code generation
US5469572A (en) Post compile optimizer for linkable object code
US8464232B2 (en) Compiler compiler system with syntax-controlled runtime and binary application programming interfaces
US7197600B2 (en) Transferring data along with code for program overlays
CN116627429B (zh) 一种汇编代码生成方法、装置及电子设备和存储介质
EP0520708B1 (en) Method and apparatus for converting high level form abstract syntaxes into an intermediate form
US5758163A (en) Method and apparatus for record fields usage checking at compile time
CN113703779A (zh) 一种跨平台的多语言编译方法和超轻量物联网虚拟机
US5642514A (en) Method and system for constructing compact executable files by eliminating redundant debugging strings
US20030115571A1 (en) Construction of a software application from a plurality of programming languages
US7080370B1 (en) Method and apparatus for compiling source programs using one or more libraries
JPS6326730A (ja) プログラム修正方式
US20100070951A1 (en) Generic assembler
JPS6349856A (ja) 隣接構成デ−タベ−スを生成する方法
JP3596570B2 (ja) クラスの主記憶装置への配置方法
JPH0695890A (ja) コンパイラにおける名前置換方式
JP2720643B2 (ja) プログラムジェネレータ生成装置
JP2000112770A (ja) プログラム翻訳装置
JP2001005655A (ja) アプリケーションジェネレータ開発支援装置及びアプリケーションジェネレータ開発支援方法
JPH03100730A (ja) 高級言語による緊急修正データ作成処理方法
JPS61112242A (ja) プログラム内の構造体のコピ−方法
JPH06266562A (ja) オブジェクト指向言語処理システムにおける目的コードサイズ最適化方式