JPH0133855B2 - - Google Patents

Info

Publication number
JPH0133855B2
JPH0133855B2 JP4517081A JP4517081A JPH0133855B2 JP H0133855 B2 JPH0133855 B2 JP H0133855B2 JP 4517081 A JP4517081 A JP 4517081A JP 4517081 A JP4517081 A JP 4517081A JP H0133855 B2 JPH0133855 B2 JP H0133855B2
Authority
JP
Japan
Prior art keywords
program
jcl
output
name
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.)
Expired
Application number
JP4517081A
Other languages
English (en)
Other versions
JPS57159349A (en
Inventor
Takeshi Kosuge
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 JP4517081A priority Critical patent/JPS57159349A/ja
Publication of JPS57159349A publication Critical patent/JPS57159349A/ja
Publication of JPH0133855B2 publication Critical patent/JPH0133855B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 本発明はデータ処理装置の処理プログラムを、
高級言語で書かれたソースから機械語で書かれた
オブジエクトに変換するコンパイラに関し、オブ
ジエクトの実行時に必要とされる入出力環境設定
情報(いわゆるジヨブ制御文)を自動的ないし半
自動的に作成する手段を提供することを目的とす
る。
一般にあるプログラムを作つて実行させる場合
以下のような手順を踏まねばならない。
先ずCOBOL、FORTRAN等の高級言語で
プログラムをコーデイングする。
それを80欄カードにパンチする(この状態の
プログラムをソースプログラムと称す)。
コンパイラ装置にソースを通して機械語に翻
訳し、磁気テープ、デイスク、ドラム等に出力
する(この状態のプログラムをオブジエクトプ
ログラムと称す)。
そのプログラムで使用される入出力デバイス
や必要な記憶領域の大きさなどの資源環境を設
定したジヨブ制御文(JCL)を作成する(例え
ばパンチカードにパンチする)。
JCL及び上記オブジエクトを所定のデバイス
にかけて起動をかけ、実行する。
このような手順のうちのJCLの作成は、従来
利用者がすべて手作業で作成していたので、手間
を要するばかりでなくミスを犯す危険もあつた。
しかし、第1図に示す如く、あるシステムで割り
当て可能な資源Aのうち、ソースプログラムの記
述から理論的に割り当て可能と判断できる資源B
が存在する。即ちA−Bは理論的に割り当て不可
能であり、その資源を割り当てることは誤り、も
しくは無駄である。またBの範囲内で実際に割り
当てられる資源Cは、割り当てに利用者の自由度
が残されているため、ソースプログラムのみから
一義的に求めることは不可能であるが、標準的に
予測し得る資源Dが存在することも事実である。
もしCとDの誤差がある程度以下であれば、Dを
自動予測して提供することで利用者の負担及び誤
りの発生を減少することができる。そして、この
ような予測処理はソースをコンパイルする時点で
並行して行なうのが最も効率が良い。
第2図は本発明の一実施例ブロツク図であり、
1はソースプログラム、2はコンパイル手段、3
は環境出力手段で第1図におけるBの範囲を出力
するもの、4はオブジエクトプログラムの実行に
必要とされる入出力環境設定情報を読取り、この
読取つた情報を埋込んだジヨブ制御文(JCL)の
ひな型を仮JCLとして生成する手段、5はコンパ
イラの出力するオブジエクトプログラム、6はひ
な型のJCLの修正手段、7は修正されたJCL出力
手段、8はオブジエクトプログラムの実行手段で
ある。
コンパイル手段2は一般にはそれ自体一つのデ
ータ処理装置であり、コンパイラと称する翻訳用
プログラムにて動作する。本発明では従来公知の
コンパイラに、仮JCLと環境リストを出力するた
めのプログラムを追加することで実現できる。
第3図にCOBOL言語によるソースプログラム
の例、第4図にはそれに基づいて出力された仮
JCLの例を示す。第3図において、第1行(1)は次
行(2)がこのプログラムの識別名の定議をする文で
あることを示している。(2)はこのプログラムの識
別名が「TAPESORT」という名であることを定
義している。(3)はそれ以下の行が環境設定をする
文であることを示している。(4)はそれ以下の行が
入出力に関する定義をする文であることを示して
いる。(5)はそれ以下の行がフアイル(論理的な意
味の)の定義をする文であることを示している。
(6)、(7)、(8)は“SRT”という名のフアイルと
してDA−Sという種類のデバイス(例えば磁気
デイスク)を用い、その中に“SORTWK01〜
03”の3つのフアイルを作ることを指定してい
る。“SRT”や“SORTWK”等の名前はプログ
ラマが自由につけることができる。DA−Sとい
うデバイス種名はその運用システムで定められた
命名である。(9)、(10)は同様に“LP”という名の
フアイルとして、UR−Sという種類のデバイス
(例えばラインプリンタ)を用い、そのフアイル
名を“LPFILE”とすることを示している。(11)、
(12)も同様に“IN”としてTP−Sという種類のデ
バイス(例えば磁気テープ)を用い、フアイル名
を“INFILE”とすることを示している。(13)
はそれ以下の行が処理手順の記述であることを示
している。(14)、(15)は“INFILE”なるフア
イルを入力用に、また“LPFILE”なるフアイル
を出力用にそれぞれ使用可能にせよ、という意味
の命令ステツプである。(16)以下には具体的な
ソート手順が記述されるべきものであるが、ここ
では省略してある。(17)は一連のジヨブステツ
プの終了を示す命令ステツプである。このような
ソースプログラムをコンパイルする際に、(6)〜(12)
を見れば使用される入出力デバイスは磁気デイス
ク、ラインプリンタ、磁気テープであることが判
明する。ただし、それらが複数名づつ存在すると
きに、そのうちのどの1台のデバイスを使用する
かは利用者が任意に決めることであり、一義的に
は定まらない。また(14)、(15)を見ることによ
り磁気テープ(INFILE)は入力用に、ラインプ
リンタ(LPFILE)は出力用に使用されるもので
あることが判明する。第2図に示した仮JCLの生
成手段4は、第3図に示したソースプログラムの
各文で定義したプログラム名や、入出力装置のフ
アイル名の文字列を読取り、このプログラムを実
行させるための情報を埋込んでJCLを第4図の様
な仮JCLとして生成する。
第4図において、(21)はプログラム名
“TAPESORT”を実行せよという命令文であり、
その際必要な主記憶容量がnkワードであること
を宣言する。プログラム名はソースの(2)を見れば
判明し、記憶容量はソースの(13)以降を解析す
れば見当がつく。(22)は“SORTWK01”とい
う名のフアイル(論理的な)に対して、物理的デ
バイスユニツトSYSDAを割当てることを指示す
る制御文である。SYSDAはこのシステムにおい
て特定の磁気デイスク装置を示す略号である。ま
たSPACEはそのデバイス上で使用する記憶領域
の大きさであり、標準的な値を仮りに入れてお
く。(23)、(24)も同様である。(25)は
“LPFILE”という名の論理的なフアイルに対し
て“SYSOUT”を割り当てよ、という制御文で
あり、具体的なデバイス名は指定していない。
“SYSOUT”が指示されると、オブジエクト実行
時のOS(オペレーテイングシステム)の一部であ
るジヨブ管理プログラムが、そのときのシステム
として定義されている出力デバイスに自動的に割
り当ててくれる。なお、ここでSYSOUTを指示
する代りに直接デバイス名を陽に指定してもよい
ことはいうまでもない。(26)は“INFILE”と
いう名の論理フアイルに対して、物理デバイス
TAPEを割り当てることを指示する制御文であ
り、ここでTAPEは特定の磁気テープ装置を意味
する略号である。またDISP=とあるのは、その
テープの属性及び処理方法を指示する部分で、
OLDはそのテープに既にデータが書かれている
ものであることを意味し、KEEPとはその書かれ
た内容を破壊せずに保存せよということを意味す
る。また(27)はそのテープ中に複数あるフアイ
ルのうち目的のフアイルを指定する部分で、
LABEL=はフアイルラベルの種類を指定する部
分、VOL=SR=はボリウム名を指定する部分、
DSN=はフアイル名を指定する部分である。ボ
リウム名及びフアイル名はソース中には書かれて
いないので本発明においても推定不可であり、そ
の場合??を表示して利用者に補足することを促
す。
このようにソースプログラムから一意に定まる
条件は自動生成し、予測不可能な場合にのみその
旨の表示をすることにより、利用者は自動生成さ
れたJCLをチエツクし、必要があれば第2図の修
正手段6により修正し、予測不可の部分のみ補足
すればよいので、負担が減り、かつミスも少なく
なる。
なお、第4図の仮JCLの出力は80欄カードで打
出して、修正追加の必要なカードを差し換えて正
規のJCLカードにしてもよいし、または一旦デイ
スプレイ上に表示し、デイスプレイ上でチエツ
ク・修正・追加を行なつた後、カード等に出力し
てもよい。
【図面の簡単な説明】
第1図は本発明の概念説明図、第2図は本発明
の一実施例ブロツク図、第3図はソースプログラ
ムの一例を示す図、第4図は仮JCL文の出力表示
例を示す図である。

Claims (1)

    【特許請求の範囲】
  1. 1 ソースプログラムをコンパイルしてオブジエ
    クトプログラムを作成するコンパイラ装置におい
    て、該コンパイル処理と平行してソースプログラ
    ムを解読し、オブジエクトプログラムの実行時に
    必要とされるプログラム実行のための情報を読取
    り、この読取りをもとにジヨブ制御文を生成する
    手段と、この出力された仮JCLを手動で修正する
    手段とを設けたことを特徴とするコンパイラ装
    置。
JP4517081A 1981-03-27 1981-03-27 Compiler device Granted JPS57159349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4517081A JPS57159349A (en) 1981-03-27 1981-03-27 Compiler device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4517081A JPS57159349A (en) 1981-03-27 1981-03-27 Compiler device

Publications (2)

Publication Number Publication Date
JPS57159349A JPS57159349A (en) 1982-10-01
JPH0133855B2 true JPH0133855B2 (ja) 1989-07-17

Family

ID=12711785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4517081A Granted JPS57159349A (en) 1981-03-27 1981-03-27 Compiler device

Country Status (1)

Country Link
JP (1) JPS57159349A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58223825A (ja) * 1982-06-23 1983-12-26 Fujitsu Ltd 制御文自動出力方式

Also Published As

Publication number Publication date
JPS57159349A (en) 1982-10-01

Similar Documents

Publication Publication Date Title
US5481713A (en) Method and apparatus for patching code residing on a read only memory device
US5546586A (en) Method and apparatus for vectorizing the contents of a read only memory device without modifying underlying source code
CN111796831B (zh) 一种多芯片兼容的编译方法和装置
JP2802005B2 (ja) 障害検出方法
EP0752647A1 (en) Method and apparatus for providing versioning information in software projects
US8141035B2 (en) Method for accessing internal states of objects in object oriented programming
US7155702B2 (en) Interface and stub generation for code distribution and synthesis
US20090319554A1 (en) Unified metadata for external components
JP4041248B2 (ja) コンパイラ装置、コンパイルプログラムが記録されたコンピュータ読み取り可能な記録媒体及びコンパイル方法
EP0962859A2 (en) Global register systems, methods, and computer program products
JPH0254337A (ja) 実行可能イメージの生成を容易とするデータ処理システム
JPH0934713A (ja) プログラミング言語処理方法及び装置
US5915116A (en) Time value manipulation
US10452364B2 (en) Method and system for preparing code to be executed by programmable control devices
US6968543B2 (en) Information processing apparatus
JP4319082B2 (ja) プログラミングシステム
US9411566B2 (en) System and method for removal of arraycopies in java by cutting the length of arrays
US6735763B1 (en) Compiler device and computer-readable recording medium with a compiler recorded therein
EP0790555B1 (en) Compile apparatus and method
US6275985B1 (en) Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support
GB2342200A (en) Initializing global registers
JP2006525568A (ja) 携帯型データ記憶媒体のメモリ管理
JPH0133855B2 (ja)
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体
EP0194822A2 (en) Methods of and apparatus for compiling high-level language statements into low-level language instruction sets