JPS5960640A - コンパイラ処理方法 - Google Patents

コンパイラ処理方法

Info

Publication number
JPS5960640A
JPS5960640A JP17157382A JP17157382A JPS5960640A JP S5960640 A JPS5960640 A JP S5960640A JP 17157382 A JP17157382 A JP 17157382A JP 17157382 A JP17157382 A JP 17157382A JP S5960640 A JPS5960640 A JP S5960640A
Authority
JP
Japan
Prior art keywords
statement
processing
compiler
expression
module
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
JP17157382A
Other languages
English (en)
Inventor
Toshihiko Kotou
湖東 俊彦
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 JP17157382A priority Critical patent/JPS5960640A/ja
Publication of JPS5960640A publication Critical patent/JPS5960640A/ja
Pending 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)

Abstract

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

Description

【発明の詳細な説明】 (Al  発明の技術分野 本発明は、コンパイラ処理方法、%f例えばPL/lや
C0BOL 、 FOR’l’RANなどにおけるII
’文の式全評価してオブジェクト・プログラムを生成す
るに当って、IF文内の各スカラ式についての出現頻度
に対応した表現を与えて記述された重みづけIF文を処
理できる重みづけIF文処理部をもうけ、最適なロード
・モジュールを得るようにしたコンパイラ処理方法に関
するものである。
(Bl  技術の背負と問題点 例えばPL/lなどで記述されたソース・プログラムに
おいては、第1図(AJK示される如@IF文が記述さ
れることが多い。該IF文はr A、 = Bであるか
A=Cである場合Kx x x K進む」ことを意味し
ているが、このようなIF文は例えはアセンブラ形式で
記述すれば第1図(B1図示の如き形にコンパイルされ
る。即ち。
(1)Aをレジスタ@o2にロードし、(2)Bをり0
2の内容と比較し、 (3)  等しけ力、ばXXXにブランチし、f4) 
 (31でなければ、Cを@02の内容と比較し。
(5)等しければ×××にブランチする。
の如くコンパイルされる。しかし、この場合、テークA
 、 B 、 C−・の態様に応じて、成る処理に関連
しては、先[A=Cをチェックし、A〜Cの場合に限ぎ
ってA=Bをチェックすることが望寸しいことが生じる
。このようなことは、A〜CであってA=Bである頻度
がAk8であってA=Cである頻度にくらべて小さい場
合などに現われると考えてよい。或いは、第4図に於て
、例えばY力司5なるイはをもつ場合があり、その時り
の次元は10なので、プログラムは異常終了することに
なる。
これを避ける為、スカラ式A=D(Ylの評価は、スカ
ラ弐B=Cが真である場合のみ行なうように指示したい
場合に現われることもある。
(C1発明の目的と構成 本発明は上記の寓をコンパイラ内で正しく処理できるよ
うにすることを目的としており、本発明のコンパイラ処
理方法は、与えられたソース・プログラムを読込んで文
解析処理部にて文解析を行い、次いで式の評価処理部に
゛て上記解析された文に含まれる式についての評価を行
って、オブジェクト・プログラムを生成するコンパイラ
・システムにおいて、上記式の評価処理部内に、IF文
内の各スカラ式についての出現頻度に対応した表現を与
えて記述された重みづけI F文に対応して当V重みづ
けI F文を処理する重みづけIF’文処理モジュール
をもうけ、該重みづけIIi’文処理子処理モジュール
えられた重みづけIF文r対して、各スカラ式について
の出現類W t+Vにソートする処よう構成され、肖該
通常のIF文の形に処理されたIF′5cを上記式の評
価処理部内の既存の11文処理モジュールに引渡すよう
にし、目的とするオブジェクト・プログラムを生成する
ことを特徴としている。以下図面を径間しつつ曲明する
(1))発明の実施例 第2図は本発明による処理の一実施例態様を説明する勝
明図、第3図は本発明の一実施例構成を示す。
第2図(A)図示の場合、第1図(A1図示と同じ概念
を衣わすIF’文であるが、スカラ式A=Bとスカラ式
C=Dとの夫々の出現頻度が夫々10%と50饅とであ
ることを PROB f t (スカラ式)) の形で11 <を記述することによって指示している。
この出胡、頻度iは、ソース・プログラム全記述する段
14で一般には判明している。このために、当該出現頻
瓦全例えば上述の如く記述することによって、コンパイ
ラに通知できるようにする。このようなI F文を本発
明においては、皿みづけIF’文と呼ぶ。
これに対応して、コンパイラは、納2図(B1図示の如
く、あたかもIF’文として I  F    A  =  Cl  A  =  B
    THEN  GO’l’Ox  x  x  
  ;、として与えられていたかのようにオブジェクト
プログラムを生成する。部ち (6)Aをレジスタ(ロ)02にロードし、(7)Cを
(ψ02の内容と比較し、 (8)等しければxxxにブランチし、(91(81で
なければ、Bを@02の内容と比較し、(D 等しけれ
ばxxxにブランチする。
の如くコンパイルするようにされる。
第3図は本発明の一実施例構成を示している。
図中の符号lはソース・プログラム、21″i、コンパ
イラ、3はオブジェクト・プログラム、4はテキスト読
込み処理部であってソース−プログラム3の各テキスト
を読み込んでチェーンづけを行うもの、5は文解析処理
部であってDo文やIP文や()OTO文などの解析を
行うもの、6は式の評価処理部であって式の計算方法の
帷立を行うもの、7はオブジェク)%成処理部であって
オブジェクト・コードを生成するもの、8は本発明にお
いて用怠きれる重みづけIF文処理モジュール、8は既
存のI P文処理モジュールを衣わしている。また10
は、上記重みづけIF文処理モジュル8における一実施
例処理態様を表わしている。
コンパイラ2は、与えられたソース・プログラム1を読
込んで目的とするオブジェクト・プログラム3を生成す
るものであるが、一般に、第3図図示の如<、(+)テ
キスト読込み処理部4、(lt文解析処理部5 、(+
:+i式の評価処理部6 、(lv)オブジェクト生成
処理部7をもっている。そして、既存のコンパイラ2に
おいては、式の評価処理部6内にIF文処理モジュール
9が用意され、第1図自A)図示の如く、IF文が TF A=BIA=C の如く与えらh、ると、第1図(Blの如き形にオプジ
 −エクトを生、成せしめる機能をもっている。勿論、
IF文が IF  A=CIA=B の如く与えられると、第2図(Blの如き形にオブジェ
クト全生成せしめる機能をもっている。
本発明の場合、式の評価処理部6内に、厘みづけIF文
処理モジュール8を用意している。該徂みづけIF文処
理モジュール8においては、一実施例処理態様10に示
す如く、与えられた京みづけIF文内の各スカラ式に対
応している出現頻度iに着目し、 PROB (10(A=B) ) PROB (FIO(A= C) ) を1つ1つの°エレメントとして、出現頻度iの大きい
順にソートし、その結果として例えは図示の如く、 I P  PROB (50(A= C)) IPRO
B(10(A=B) )を得る。そして、湧該記述中の
余分の記述、月IJち図示の場合にはl”’ PROB
 Jや「(」やr)Jヤr5oJや「10」を削除し、 IP’  A=CIA=B を得る。この記述は、第3図図示のI F文処理モジュ
ール9が処理可能な記述であり、当該n1シ述のI P
文はIP文処理モジュール9に引渡さfする。
即ち、第2図(B)図示の如き形のオブジェクト、プロ
グラムを生成するように働らく。
なお、上記説明において、ソース・プログラムにおける
I P文を重みづけIF’文の形で最初から記述するも
のとしてぴ明したが、例えばソース・プログラムにおい
ては最初通常のIF文の形で記述しておいて後から上記
出現頻肝を評価し、必要なら重みづけIF文の形にする
ことが許される。
また、厘みづけIF文の記述形態は、上記に限らhるも
のではない。
(El  発明の詳細 な説明した如く、本発明によれば、コンパイラにおいて
自動的に最適なロードモジュールをつくることができ、
ソース・プログラム作成者の共相を軽減することができ
る。
【図面の簡単な説明】
第1図および第4図は従来の問題点を説明するd−明図
、第2図は不発明による処理の一実施例態様を説明する
説明図、第3図は本発明の一実施例構成を示す。 図中、1はソース・プログラム、2はコンパイラ、3は
オブジェクト・プログラム、4はテキスト読込み処理部
、5は文解析処退部、6は式の評価処理部、7はオブジ
ェクト生成処理部、8は重みづけ12文処理モジュール
、9は既存の12文処理モジュールを表わす。 特許出願人  富士JIIJ株式会社 代理人弁理士  珠 1) 寛 (外1名)業)図 才2m

Claims (1)

    【特許請求の範囲】
  1. 与えられたソース・プログラムを読込んで文解析処理部
    にて文解析を行い2次いで式の計画処理部にて上記解析
    された文に含まれる式についての評価を行って、オブジ
    ェクト・プログラムを生成するコンパイラ・システムに
    おいて、上記式の評価処理部内に、IF文内の各スカラ
    式についての出現頻度に対応[7た表現を考えて記述さ
    れた重みづけIF文に対応して当該重みづけIF文を処
    理する重みづけIF文処理モジュールをもうけ、該和み
    づけIF文処理モジュールは、与えらねた重みづけIF
    文に対して、各スカラ式についての用油する処理と全実
    行するよう構成され、当該通常のIF文の形に処理され
    たIF’文を上記式の評価処理部内の既存のIF’文処
    理モジュールに引渡すようにし、目的とするオブジェク
    ト・プログラムを生成することを特徴とするコンパイラ
    処理方法。
JP17157382A 1982-09-30 1982-09-30 コンパイラ処理方法 Pending JPS5960640A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17157382A JPS5960640A (ja) 1982-09-30 1982-09-30 コンパイラ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17157382A JPS5960640A (ja) 1982-09-30 1982-09-30 コンパイラ処理方法

Publications (1)

Publication Number Publication Date
JPS5960640A true JPS5960640A (ja) 1984-04-06

Family

ID=15925648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17157382A Pending JPS5960640A (ja) 1982-09-30 1982-09-30 コンパイラ処理方法

Country Status (1)

Country Link
JP (1) JPS5960640A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180651A (ja) * 1992-12-11 1994-06-28 Nec Corp 範囲指定が可能なcase構造の処理方式
US5511198A (en) * 1993-04-28 1996-04-23 Fujitsu Limited Optimizing compiler for shortening execution time of object program
JP2006309430A (ja) * 2005-04-27 2006-11-09 Matsushita Electric Ind Co Ltd コンパイラによる最適化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180651A (ja) * 1992-12-11 1994-06-28 Nec Corp 範囲指定が可能なcase構造の処理方式
US5511198A (en) * 1993-04-28 1996-04-23 Fujitsu Limited Optimizing compiler for shortening execution time of object program
JP2006309430A (ja) * 2005-04-27 2006-11-09 Matsushita Electric Ind Co Ltd コンパイラによる最適化方法

Similar Documents

Publication Publication Date Title
Floyd Toward interactive design of correct programs
JPS5960640A (ja) コンパイラ処理方法
Tischler et al. Static analysis of programs as an aid to debugging
Arthur Jr et al. Choice of software and programs in meta-analysis research: Does it make a difference?
Desel et al. A test case generator for the validation of high-level Petri nets
Dixon et al. Rapid prototyping by means of abstract module specifications written as trace axioms
KR102500395B1 (ko) 프로그램 소스코드의 버그를 정정하는 장치 및 방법
Eixelsberger et al. Software architecture recovery of embedded software
JPH01177165A (ja) 配列の定義/引用関係検査方式
de Oliveira Baptista et al. MECHANISM FOR DEVELOPING SCIENTIFIC CONCEPTS
Hammer An alternative approach to macro processing
JPH04365134A (ja) コンパイラのエラー情報出力方式
Fitch A user looks at da—yesterday, today, tomorrow
JPH03235135A (ja) プログラムの自動検査方式
Cohen Ada programming language standardization
VASZIL Multiset grammars, multiset automata, and membrane systems
Gehani Generic procedures: an implementation and an undecidability result
JP2742280B2 (ja) 日本語自動解析装置
Lemoine et al. Validating requirements: the evolutionary approach
JPH04140803A (ja) 期待値データ生成方式
JPH03266029A (ja) 論理型言語処理システムにおけるリスト出力方法
BARBACCI et al. Durra: An integrated approach to software specification, modeling, and rapid prototyping(Final Report)
Law Robustness of confidence intervals for transient simulations
Malone Managing the validation process
Donat et al. Capturing the logical structure of requirements for the automatic generation of test specifications