JPS63115235A - 比較演算子依存のスケルトン内ラベル生成方式 - Google Patents

比較演算子依存のスケルトン内ラベル生成方式

Info

Publication number
JPS63115235A
JPS63115235A JP26092286A JP26092286A JPS63115235A JP S63115235 A JPS63115235 A JP S63115235A JP 26092286 A JP26092286 A JP 26092286A JP 26092286 A JP26092286 A JP 26092286A JP S63115235 A JPS63115235 A JP S63115235A
Authority
JP
Japan
Prior art keywords
skeleton
comparison operator
instruction
comparison
label
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
JP26092286A
Other languages
English (en)
Inventor
Yasuyuki Sato
泰幸 佐藤
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 JP26092286A priority Critical patent/JPS63115235A/ja
Publication of JPS63115235A publication Critical patent/JPS63115235A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概 要] 情報処理装置において、実行すべきプログラムが高級言
語で書かれている場合に、コンパイラが、これを中間言
語命令による記述に変換してから、これを更にハードウ
ェアの動作に対応する機械語命令に展開する。このよう
な中間言語命令を機械語命令へ展開する方式として一般
にスケルトン展開方式が用いられることが多い。
従来のスケルトン展開方式において、比較分岐系の中間
言語命令についてスケルトン展開を行なうとそのスケル
トン命令数と展開パターンの数が非常に大きくなりスケ
ルトン設計作業が複雑化するため、コンパイラのサイズ
が大となったり、設計ミスを生ずる可能性が大となった
りするなどの問題点があった。本発明はこのような従来
の問題点を解決するための一手段として比較演算子の種
別による生成ラベルの展開パターンを圧縮することの可
能な技術について開示している。
[産業上の利用分野] 本発明はコンパイラが中間言語命令を目的プログラム(
機械語〉に展開するためのスケルトン展開方式に関する
ものであって、特に比較分岐系の中間言語命令のスケル
トン設計の手法に係る。
[従来の技術] 情報処理装置において、プロセッサが実行すべき命令は
機械語で記述されている必要がある。
コンパイラは通常高級言語で記述されたプログラムを一
旦中間言語命令に翻訳してからこれを機械語による目的
プログラムに展開する。この中間言語命令を目的プログ
ラムに展開する方式の一つとしてスケルトン展開方式が
ある。
スケルトン展開方式においては、展開生成される可能性
のある命令は総てスケルトンに組み込むこと、および展
開生成される命令を切り分けるための条件は総て取り出
し条件に組み入れることが原則である。
従来のスケルトン展開方式ではこの原則に従って、比較
分岐系の中間言語命令においても、生成されるBC命令
(BRANC!l ON C0NDITION命令)の
マスクの違いまで含めて、スケルトンに総て組み込み、
比較演算子の種別(EQ、NE、GT、LT。
GE、LE)も取り出し条件に組み入れでいた。
第5図(a〜d)は従来のスケルトン設計書の例を示す
図であって、比較分岐系の中間言語命令の一つであるC
BCCi命令のスケルトン設計書の例を示している。
同図において50はスケルトン命令の列であり、51は
取り出しの条件のビット列を縦方向に表示したものであ
り、52は取り出し条件に応じて生成されるべきスケル
トン命令に対応する位置に“1”が表示されるパターン
を表している。(53〜55については後述する)50
で示したスケルトン命令の列の中のパCL C” 、“
CLI”などは比較命令であり、”BC’”は条件分岐
命令であり、“IbOEQU”は生成ラベル定義である
。また、51で示した取り出し条件のビット列は上から
下へそれぞれビット1〜ビツト6と言うようにビット番
号を付したとき、各ビットの値と取り出し条件との関係
は第1表〜第3表に示すとおりである。
第  1  表 第  2  表 第  3  表 [発明が解決しようとする問題点コ 上述したような従来の原則に忠実に従って設計したスケ
ルトン設計書は、第5図を見ても明らかなようにスケル
トン命令数(縦幅)と展開パターンの数(横幅)が非常
に大きくなり、設計作業が複雑化するという問題点があ
った。
従来の比較分岐系の中間言語命令のスケルトンを分析し
て見ると、同一の部分的なパターンが繰り返し現れてい
ることが分かる。
第5図においては、このような繰り返し現れるパターン
を口で囲んで数字符53〜55によって示している。
これらのパターンの中身は比較演算子にのみ依存し、比
較の対象となるオペランドの属性には全く関係しない。
すなわち、オペランドの属性によって、このパターンが
現れるか否かが変わるのみで、このビットパターン自体
が崩れることはない。
そして、他の中間言語命令を更に分析することにより、
これらのパターンは個々の中間言語命令によらず、比較
分岐系の中間言語命令に共通したものであることも分か
る。
本発明はこのような点に着目して、比較演算子の種別に
よる展開バリエーションをスケルトン展開と切り離す(
比較演算子の種別を取り出し条件に組み入れない)こと
により、スケルトン設計書を簡潔なものとすることの可
能な手段の内比較演算子の種別による生成ラベルの展開
パターンを吸収することの可能な手段を提供することを
目的としている。
[問題点を解決するための手段] 本発明によれば上述の目的は前記特許請求の範囲に記載
のとおり、コンパイラが比較分岐系の中間言語命令から
機械語による目的プログラムを生成するためのスケルト
ン設計書を作成する場合に、該比較分岐系の中間言語命
令の比較演算子の種類に無関係にスケルトン命令を取り
出す条件を設定すると共に、取り出されたスケルトン命
令が比較演算子依存の生成ラベル定義であって比較演算
子がrNot Equal」であるとき生成定義ラベル
の出力を抑止することを特徴とする比較演算子依存のス
ケルトン内ラベル生成方式により達成される。
[実施例] 第1図は本発明の一実施例のスケルトン設計書の例を示
す図であって、CBCCi命令のスケルトン設計書を示
している。
同図において、取り出し条件のビット1およびビット2
.3については、前記第1表および第2表に示したもの
と変わりはないが、第3表に示した比較演算子の種類に
対応する3ビツト(従来の場合のビット4〜6)は取り
出し条件として設定していない。
また、スケルトン命令番号11のrlbo EQIJ+
Jは、従来の生成ラベル定義’IbOEQU * 」が
比較演算子iがrNot Equal」のときは不要で
あることから、従来のスケルトン展開の原則とは別の方
法によって実現するための「比較演算子依存のスケルト
ン内生成ラベル」である。
比較演算子依存であることは、°*°でなくて′+′で
あることによりわかる。このラベル定義は、ビットが°
1′の状態であったとしても無条件に生成されるわけで
はなく、比較演算子i≠NEの場合にのみ生成され、比
較演算子1=NEの場合には、生成が抑止される。
第1図において明らかなように、CBCCi命令の場合
、従来の方式においては前記第5図に示したように取り
出し条件が6ビツト必要であるため 26通りのパター
ン展開が必要であり、スケルトン命令も24通り必要で
あったが、本発明によれば、比較演算子の種類を取り出
し条件から除外した結果、取り出し条件は3ビツトとな
り 23通りのパターン展開で良く、また、スケルトン
命令も11通りのもので済むのでスケルトン設計書が非
常にコンパクトなものとなっている。
第2図は本発明の1実施例の処理の流れを示すブロック
図であって、1はオブジェクト展開区、2はスケルトン
展開ルーチン、3は中間言語命令列、4は比較演算子設
定ルーチン、5は取り出し条件判定ルーチン、6はスケ
ルトン、7は出力命令列、8はスケルトン設計書を表し
ている。
以下、第2図について処理の流れを順を追って説明する
■第1図に例を示したようなスケルトン設計書8はツー
ルにより変換されて第3図に示すようなスケルトン6と
なり、コンパイラのオブジェクト展開区1に組み込まれ
る。
このスケルトンには、第3図に示すようにスケルトン設
計書の’IbOEQU * Jまたは川bOEQU+J
に対応して、比較演算子無依存のラベル定義か、比較演
算子依存の生成ラベル定義かを識別するコードが入って
いる。
■処理に際してコンパイラはまず中間言語命令列3から
中間言語命令を一つ取り出して入力する。(これが例え
ばCBCCi命令とする。)■スケルトン展開ルーチン
2は比較演算子設定ルーチンを呼び出して、比較演算子
iを作業域に設定する。
■スケルトン展開ルーチン2は該当する中間言語命令(
この場合はCBCCi命令)専用の取り出し条件判定ル
ーチン5を呼び出して第1表あるいは第2表に示すよう
な取り出し条件の状態を決定する。
■そしてスケルトン展開ルーチン2は取り出し条件の状
態に応じて必要なスケルトン命令を繰り返し取り出す。
■そのとき、取り出されたスケルトン命令が比較演算子
無依存の生成ラベル定義であれば、そのまま出力命令列
7に出力される。
また、取り出されたスケルトン命令が比較演算子依存の
生成ラベル定義であれば、比較演算子iが調べられる。
比較演算子iがNEでなければ、生成ラベル定義が出力
命令列7に出力される。比較演算子iがNEならば、生
成ラベル定義の出力は抑止される。
第4図は本発明の一実施例のデータの流れの例を示す図
で、(a)は比較演算子がEQ(i=EQ)の場合、通
し番号11のスケルトン命令が選択されたときく取出し
条件が’OOO’、’100’以外のとき)でもラベル
名定義生成までの様子を示しており、(b)は比較演算
子がNE(1=NE)の場合、通し番号11のスケルト
ン命令が選択されたときく取出し条件が’OOO’、’
100’以外のとき)でもラベル内定義が生成されない
様子を示している。
第4図において、9は入力中間言語命令、10はスケル
トン命令、11は作業域、12は機械語命令、13は属
性篩ラベル名票を表している。) [発明の効果] 以上説明したように本発明によれば、スケルトン設計時
に比較演算子に依存する部分を考慮する必要がないので
スケルトン設計作業が格段に楽になり、設計ミスの入り
込む余地が圧倒的に少なくなるという利点がある。
そして、スケルトン設計書がコンパクトで見易くなる上
、スケルトンもコンパクトになるからコンパイラのサイ
ズが縮小するという利点もある。
【図面の簡単な説明】
第1図は本発明の一実施例のスケルトン設計書の例を示
す図、第2図は本発明の1実施例の処理の流れを示すブ
ロック図、第3図は本発明の一実施例の処理の流れを示
す図、第4図は本発明の一実施例のデータの流れの例を
示す図、第5図は従来のスケルトン設計書の例を示す図
である。 1・・・・・・オブジェクト展開区、2・・・・・・ス
ケルトン展開ルーチン、3・・・・・・中間言語命令列
、4・・・・・・比較演算子設定ルーチン、5・・・・
・・取り出し条件判定ルーチン、6・・・・・・スケル
トン、7・・・・・・出力命令列、8・・・・・・スケ
ルトン設計書、9・・・・・・入力中間言語命令、10
・・・・・・スケルトン命令、11・・・・・・作業域
、12・・・・・・機械語命令、13・・・・・・属性
篩ラベル名票 、/ 代理人 弁理士 井 桁 貞 二 、′\゛−ノー パ \(−ン 0oO000000000000000000口くN 
 \  ++  ++  ++  S  ++++++
−\NN\  \” 0 ” “−二゛”O” 1に )口0ロロeeoooo口0ロロロロoooo口算5図
( (C) 番号 スケルトン命令 悴5図1 イ02) ・ ・ ・ ・ ・ ・ ・ ・ 111111 ・ 
・(イの、3)

Claims (1)

    【特許請求の範囲】
  1. コンパイラが比較分岐系の中間言語命令から機械語によ
    る目的プログラムを生成するためのスケルトン設計書を
    作成する場合に、該比較分岐系の中間言語命令の比較演
    算子の種類に無関係にスケルトン命令を取り出す条件を
    設定すると共に、取り出されたスケルトン命令が比較演
    算子依存の生成ラベル定義であって比較演算子が「No
    t Equal」であるとき生成定義ラベルの出力を抑
    止することを特徴とする比較演算子依存のスケルトン内
    ラベル生成方式。
JP26092286A 1986-10-31 1986-10-31 比較演算子依存のスケルトン内ラベル生成方式 Pending JPS63115235A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26092286A JPS63115235A (ja) 1986-10-31 1986-10-31 比較演算子依存のスケルトン内ラベル生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26092286A JPS63115235A (ja) 1986-10-31 1986-10-31 比較演算子依存のスケルトン内ラベル生成方式

Publications (1)

Publication Number Publication Date
JPS63115235A true JPS63115235A (ja) 1988-05-19

Family

ID=17354623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26092286A Pending JPS63115235A (ja) 1986-10-31 1986-10-31 比較演算子依存のスケルトン内ラベル生成方式

Country Status (1)

Country Link
JP (1) JPS63115235A (ja)

Similar Documents

Publication Publication Date Title
KR0125774B1 (ko) 대화형 소프트웨어 애플리케이션내 텍스트 필드의 번역을 용이하게 하기 위한 방법 및 그를 포함하는 데이터 처리 시스템
JP4396994B2 (ja) リソース・ファイルの翻訳検証方法、装置、およびプログラム
US6055369A (en) Apparatus for visual programming with screen flow
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
JPS63181033A (ja) プログラム自動生成方式
JPH0540616A (ja) プログラム仕様生成方法
JP2004094487A (ja) 文書作成支援システム
JPS63115235A (ja) 比較演算子依存のスケルトン内ラベル生成方式
JPH11272503A (ja) プログラムのテストデータ自動生成装置
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
KR100426315B1 (ko) 서블릿 프로그램에서 ejb 컴포넌트 추출을 위한 분석장치 및 그 방법
JP3190377B2 (ja) 関数名変換装置
JPH0934750A (ja) 試験用ソースプログラム生成システム
JPH10207698A (ja) ソフトウェア自動生成装置
JPS6027941A (ja) 名標生成システム
JPH0713821A (ja) データの編集方法
CN117407102A (zh) 软件项目国际化的方法、工具、存储介质及服务器
JPH05158741A (ja) コンピュータプログラムのテスト検証方法
JP3087699B2 (ja) 定型情報簡易入力システム及び定型情報簡易入力方法
JPS63140339A (ja) バ−ジヨン識別予約語管理方式
JPH04218833A (ja) プログラム修正量判定処理装置
JPH0561687A (ja) コンパイラの処理方式
JPH0744560A (ja) 文書処理装置における論理構造認識処理方式
JPH03223926A (ja) プログラム部品の二重登録防止装置
JPS62297973A (ja) 入力デ−タの意味を利用したソフト仕様編集装置