JPS61206041A - プログラム言語の拡張方法 - Google Patents

プログラム言語の拡張方法

Info

Publication number
JPS61206041A
JPS61206041A JP4781385A JP4781385A JPS61206041A JP S61206041 A JPS61206041 A JP S61206041A JP 4781385 A JP4781385 A JP 4781385A JP 4781385 A JP4781385 A JP 4781385A JP S61206041 A JPS61206041 A JP S61206041A
Authority
JP
Japan
Prior art keywords
program
file
program language
new
instruction
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
JP4781385A
Other languages
English (en)
Inventor
Sadanobu Maruyama
丸山 定信
Naoya Suzuki
直也 鈴木
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP4781385A priority Critical patent/JPS61206041A/ja
Priority to AU54364/86A priority patent/AU5436486A/en
Priority to CA000503426A priority patent/CA1259138A/en
Priority to EP86301648A priority patent/EP0194822A3/en
Publication of JPS61206041A publication Critical patent/JPS61206041A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、プログラム言語の拡張方法に関する。
〔発明の概要〕
この発明は、プログラム言語の拡張方法において、プロ
グラム言語が動作を始める時に、新たな命令のファイル
をプログラム言語自体に組み込むようにしたものである
〔従来の技術〕
従来、プログラム言語に新たな命令を追加する場合、以
下の方法が用いられていた。
・プログラム言語を新しく作成する方法。
・専用の道具を使用して命令を追加したプログラムを作
り、それを使う方法。
・プログラム言語自身に新しく命令を追加するための命
令を予め用意しておき、この命令を使って新しい命令を
追加する方法。
〔発明が解決しようとする問題点〕
上記3つの方法のうちで、プログラム言語を新しく作成
する方法と、専用の道具を使用して命令を追加したプロ
グラムを作り、それを使う方法は、以後の操作で新しく
作成した命令を使用したいときに、直ちにこの命令を用
いることができる利点がある。しかし、新たな命令を組
み込むことが容易にできない。
プログラム言語自身に新しく命令を追加するための命令
を予め用意しておき、この命令を使って新しい命令を追
加する方法は、新しい命令を簡単に組み込むことができ
る。しかし、プログラム言語を動かす毎に新たな命令を
追加するための命令を実行してやらなければならない。
従って、この発明の目的は、新たな命令を容易に追加す
ることができ、追加した命令についても直ちに使用でき
るプログラム言語の拡張方法を提供することにある。
〔問題点を解決するための手段〕
ディスク上にプログラミングされた高級言語に新たな命
令を追加するための方法であって、プログラムの実行に
際してプログラムの新たな命令を追加するためのファイ
ル検索をし、新たなファイルが存在する場合には、プロ
グラム言語に読み出し、プログラム言語自体を拡張させ
るようにしたプログラム言語の拡張方法。
(作用〕 ネームファイルを検索し、新たな命令を追加するファイ
ルを見つけ、プログラム言語自身に新たな命令を組み込
み、実行する。
〔実施例〕
以下、この発明の一実施例について、図面を参照して説
明する。第1図において、1がコンパイラ、2がキーボ
ード、3がCRTディスプレイ、4がメモリである。コ
ンパイラ1は、インクリメンタリ−型のコンパイラで、
所定単位、例えばソースプログラムの一行毎に順次コン
パイルを行う。
コンパイラ1は、コンパイル機能のみならず、エディツ
ト機能も有している。コンパイラ1とメモリ4とは、双
方向に結ばれている。
キーボード2からコンパイラ1にソースプログづムが与
えられる。ソースプログラムの言語としては、例えばR
AS I Cが用いられる。入力されたソースプログラ
ムは、コンパイラ1で順次オブジェクトプログラムにコ
ンパイルされる。ソースプログラムは、メモリ4上のメ
モリ領域4Aに順次格納される。コンパイルされたオブ
ジェクトプログラムは、実行順に編集され、メモリ4上
のメモリ領域4Bに順次格納される。
メモリ4上には、変数とその変数に関する情報のシンボ
ルテーブルを形成するためのメモリ領域4Cが設けられ
ている。変数に関するシンボルテーブルに記録する情報
は、変数の使われている行番号、変数の型(整数、実数
、倍精度実数、文字配列の何れか)、配列の場合にはそ
の次元数と要素数、アドレス参照番号等である。変数の
値の内部表現としては、数値については2進表現が用、
いられている。
プログラムの修正、変更は、対話的に行える。
つまり、ソースプログラムの一部が変更されたときには
、コンパイラ1で変更を受けたソースプログラムが闘訳
し直され、オブジェクトプログラムが書換られる。従っ
て、ソースプログラム全体を修正し直すことなく、オブ
ジェクトプログラムを修正できる。
実行時に変数のシンボルテーブルの変数に関する情報を
基に、変数の用いられている行番号が決定され、オブジ
ェクトプログラムに変数がリンクさる。このオブジェク
トプログラムにより実行がなされる。
新たな命令を含む場合のプログラムの実行について説明
する。
第2図において、5がディスクである。ディスク5に格
納されているプログラムは、第3図に示すように、例え
ばRAS I Cで記述されたプログラム6と新たな追
加命令で記述されたプログラム7とにより構成されてい
る。追加命令で記述されているのは、例えばグラフィッ
クに関する命令である。ディスク5にはネームファイル
が設けられ、追加命令を追加するためのモジュールのフ
ァイル名は、ディスク5のネームファイル8上に記録さ
れている。
ディスク5のプログラムがロードさ゛れて、実行される
。実行に際して、先ず、第4図に示すネームファイル8
が検索される。ネームファイルを検索することにより、
新たな追加命令を追加するためのモジュール9及び10
のファイル名がわかる。
ファイル名がわかったら、対応するモジュール9をアク
セスし、プログラム言語自身に組み込んでい(。次に、
同様にして、モジュール10をアクセスし、プログラム
言語自身に組み込む。以下、ネームファイルの検索を続
け、全ての追加命令を追加するためのファイルをプログ
ラム言語自身に組み込んだ後、実行を行う。
〔発明の効果〕
この発明に依れば、プログラム言語自身に拡帳命令が組
み込まれ、実行されるので、追加した拡張命令が直ちに
使用できる。また、拡張命令の追加が容易である。
【図面の簡単な説明】
第1図はこの発明の一実施例の構成図、第2図はディス
クの平面図、第3図及び第4図はこの発明の一実施例の
説明に用いる構成図である。 図面における主要な符号の説明 1:コンパイラ、  2:キーボード、4:メモリ、 
   5:ディスク、 8:ネームファイル、 9.10:追加命令モジュール 代理人    弁理士 杉 浦 正 知説明図 第3図 脱 日月 図 第4図

Claims (1)

    【特許請求の範囲】
  1. ディスク上にプログラミングされた高級言語に新たな命
    令を追加するための方法であって、プログラムの実行に
    際して上記プログラムから新たな命令を追加するための
    ファイルを検索し、上記新たな命令を追加するファイル
    が存在する場合には、上記ディスク上の新たな命令を読
    み出し、上記プログラム言語自体を拡張させるようにし
    たプログラム言語の拡張方法。
JP4781385A 1985-03-11 1985-03-11 プログラム言語の拡張方法 Pending JPS61206041A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4781385A JPS61206041A (ja) 1985-03-11 1985-03-11 プログラム言語の拡張方法
AU54364/86A AU5436486A (en) 1985-03-11 1986-03-06 Compiling high-level lanuage statements into lower-level language instruction sets
CA000503426A CA1259138A (en) 1985-03-11 1986-03-06 Method of compiling high level language statements into low level language instruction sets
EP86301648A EP0194822A3 (en) 1985-03-11 1986-03-07 Methods of and apparatus for compiling high-level language statements into low-level language instruction sets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4781385A JPS61206041A (ja) 1985-03-11 1985-03-11 プログラム言語の拡張方法

Publications (1)

Publication Number Publication Date
JPS61206041A true JPS61206041A (ja) 1986-09-12

Family

ID=12785801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4781385A Pending JPS61206041A (ja) 1985-03-11 1985-03-11 プログラム言語の拡張方法

Country Status (1)

Country Link
JP (1) JPS61206041A (ja)

Similar Documents

Publication Publication Date Title
Simon Experiments with a heuristic compiler
US5249275A (en) Apparatus and method enabling a compiled program to exactly recreate its source code
CA1316262C (en) Version management tool
JPH0778741B2 (ja) オブジエクト・モジユール生成方法
Shaw et al. A command structure for complex information processing
JPH06103463B2 (ja) コード生成方法
JP2927180B2 (ja) 情報処理プログラムのデバッグ方法およびそのためのデバッガ
JPH0721034A (ja) 文字列複写処理方法
JPS61206041A (ja) プログラム言語の拡張方法
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH01136241A (ja) プログラムリンク方式
KR100229567B1 (ko) 오버레이 코딩시 좌표값과 텍스트값 생성방법
JPS62200426A (ja) 高級言語のマクロ展開方法
JPH02103626A (ja) 多重ファイル表示エディター
JPS63269229A (ja) 文字列操作系命令コンパイル処理方式
JPH05233748A (ja) シミュレーション方法
JPH01296346A (ja) エラー情報ファイルによる部分コンパイル方式
JPH0371229A (ja) プログラム制御装置
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPS61206039A (ja) コンピユ−タのプログラミング実行方法
JPH0460721A (ja) オブジェクト指向言語処理方式
JPH06332719A (ja) コンパイラコード発生装置
JPH03113627A (ja) 帳表出力プログラム実行指示方式
JPH0192850A (ja) ファイル情報抽出方式
JPH02178845A (ja) データベース操作言語のプリコンパイル方式