JPH039491B2 - - Google Patents

Info

Publication number
JPH039491B2
JPH039491B2 JP59059168A JP5916884A JPH039491B2 JP H039491 B2 JPH039491 B2 JP H039491B2 JP 59059168 A JP59059168 A JP 59059168A JP 5916884 A JP5916884 A JP 5916884A JP H039491 B2 JPH039491 B2 JP H039491B2
Authority
JP
Japan
Prior art keywords
character
substring
position data
length
data
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
JP59059168A
Other languages
English (en)
Other versions
JPS60204041A (ja
Inventor
Sadao Kurosawa
Mie Unate
Juji Tsujimori
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 JP59059168A priority Critical patent/JPS60204041A/ja
Publication of JPS60204041A publication Critical patent/JPS60204041A/ja
Publication of JPH039491B2 publication Critical patent/JPH039491B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 (A) 発明の技術分野 本発明は文字長判定装置、特に、例えば
FORTRAN等の高級言語を翻訳するにあたつて、
指定された文字部分列についての文字長を定数で
あると認める範囲を拡張し、比較的容易な装置内
部ロジツクで、高速な文字処理命令を生成できる
ようにした文字長判定装置に関するものである。
(B) 従来技術と問題点 第1図ないし第3図は、従来技術の問題点を説
明するための図を示す。図中、1は文字データ定
義部、2は文字データ領域、3は文字部分列指定
部を表す。
例えば、FORTRAN等の高級言語におけるス
テートメントでは、文字データを第1図に示した
ような文字データ定義部1の形式で定義する。文
字データ定義部1は、Cという名前の文字データ
を10桁分用意すべきことを指示している。これを
解釈すると、コンパイラは、10バイトの文字デー
タ領域2を文字データCに割付ける。
第2図は、上記文字データCについての文字部
分列を指定する例を示しており、第2図に図示し
た文字部分列指定部3は、文字データCの先頭第
2桁目から第6桁目までの文字部分列を指定して
いる。
第3図に図示した文字部分列指定部3の場合、
先頭文字位置がp桁目で、最終文字位置がq桁目
である文字部分列を指定している。このpおよび
qは、定数でも、変数でも、またこれらの式でも
よく、変数を含む場合には、プログラムの実行時
に、その文字部分列の位置が決定されることにな
る。即ち、p,qに変数を含むとき、コンパイル
時には、その文字部分列の位置を決定することは
できず、また文字部分列についての文字長を、一
般に確定することはできない。 ところで、計算
機が実行する機械語命令の文字処理命令として、
例えば、MVC(MOVE CHARACTERS)命令
やCLC(COMPARE LOGICAL
CHARACTERS)命令等が知られている。これ
らの命令は、指定された定数の長さの文字列を処
理する。文字長が定まつているため、命令の処理
時間は比較的短い。一方、文字長が実行時でなけ
れば分からない場合に使用される文字処理命令と
して、例えば、MVCL(MOVE CHARACTERS
LONG)命令やCLCL(COMPARE LOGICAL
CHARACTERS LONG)命令等が知られてい
る。これらの命令は、高機能になつている分だ
け、実行時間が長くかかり、低速となつている。
上記機械語命令に限らず、一般に処理対象の文
字長が予め分かつていれば、高速のオブジエクト
を生成できることとなる。従来、第3図に示した
ような文字部分列において、その位置を示す式に
変数が含まれている場合には、その文字長を、例
えばダイナミツクに演算し、レジスタで指定する
などするため、オブジエクトとして低速な文字処
理命令が生成されてしまうという問題があつた。
(C) 発明の目的と構成 本発明は上記の点の改善を図り、文字部分列の
位置を指定する式に変数が含まれていても、実質
的に文字長を定数として扱うことができる場合に
ついて、簡単な内部ロジツクで検出できるように
し、文字長を定数であと認める範囲を拡張するこ
とを目的としている。そのため、本発明の文字長
判定装置は、文字データの文字部分列を抽出して
処理できる言語機能を有する高級言語を低レベル
言語のオブジエクトに変換する処理システムであ
つて、上記文字部分列の長さを定める文字長判定
装置において、上記文字部分列を指定する語にお
ける文字データ内先頭位置を示す先頭位置データ
および最終位置を示す最終位置データのそれぞれ
について変数部と定数部とに分解する位置情報式
分解部と、該位置情報式分解部による分解結果に
基づいて上記先頭位置データおよび上記最終位置
データの双方が定数部のみで構成されるとき当該
文字部分列の文字長を定数と認識すると共に上記
先頭位置データの変数部と上記最終位置データの
変数部とが等しいとき当該文字部分列の文字長を
定数と認識する文字長認識部とを備えたことを特
徴としている。以下、図面を参照しつつ、実施例
に従つて説明する。
(D) 発明の実施例 第4図は本発明の一実施例構成、第5図は本発
明による一実施例処理態様説明図を示す。
図中、10はソース・モジユール、11はソー
ス解析部、12は文字部分列制御部、13は位置
情報式分解部、14は分解結果記憶部、15は文
字長認識部、16は文字データ・アロケート部、
17はオブジエクト出力部、18はオブジエク
ト・モジユールを表す。
ソース・モジユール10は、例えば
FORTRAN等の高級言語で記述されたプログラ
ムであつて、コンパイルにあたり、ソース解析部
11に入力される。ソース解析部11は、入力デ
ータの構文解析をした後、オブジエクトに展開す
るための意味解析を行う。第1図に示したような
文字データの定義文が現れると、文字データ・ア
ロケート部16を呼び出す。文字データ・アロケ
ート部16は、指定されたデータ長の文字データ
領域3をその文字データに割付けるものである。
この割付けと共に、定義された文字データの領域
アドレスと、文字長とを記憶する。
ソース解析部11が、文字データを扱うステー
トメント、特に文字部分列を引用するステートメ
ントを検出すると、文字部分列制御部12が呼び
出される。文字部分列制御部12は、文字部分列
の処理部を制御するものである。本発明の場合、
指定された文字部分列の文字長を決めるために、
まず位置情報式分解部13を起動する。位置情報
式分解部13は、第3図に示したような文字部分
列指定部3から、その文字部分列の先頭位置デー
タpおよび最終位置データqのそれぞれについ
て、その式を変数部と定数部とにそれぞれ分解
し、分解した結果を分解結果記憶部14に格納す
るものである。
文字部分列制御部12は、式の分解が済むと、
次に、文字長を認識するために、文字長認識部1
5を起動する。文字長認識部15は、まず分解結
果記憶部14を参照し、先頭位置データpの変数
部および最終位置データqの変数部が共に0であ
つて、定数部のみで構成されているかどうかを判
定する。共に定数部のみであるときには、文字長
を定数であると認識する。さらに、位置データに
変数が含まれている場合であつても、先頭位置デ
ータpの変数部と、最終位置データqの変数部と
が等しいかどうかを判定する。もし、先頭位置デ
ータpの変数部と、最終位置データqの変数部と
が等しいとき、文字長の算出にあたつて、それら
の変数は相殺されるので、この場合にも文字長を
定数と認識する。そして、先頭位置データpの変
数部と、最終位置データqの変数部とが等しくな
い場合に、はじめて文字長を変数と認識する。
従つて、文字部分列の位置を示す式に変数が含
まれている場合であつても、文字長が定数とされ
る場合があることになり、文字長が定数があれ
ば、高速な文字処理命令を使用することができる
ので、効率の良いオブジエクトを生成することが
できる。オブジエクト出力部17は、文字長認識
部15の認識結果に従つて、文字部分列を処理す
る機械語命令を生成し、オブジエクト・モジユー
ル18に出力する。
例えば、第5図イ図示の如く、文字部分列指定
部3の位置指定が、先頭が2、最終が6の定数で
ある場合、先頭位置データpおよび最終位置デー
タqの変数部は共に0であるので、文字長は定数
と判定され、文字長「5」が文字処理命令の生成
に用いられる。
第5図ロ図示の如く、先頭位置データpが式I
であつて、最終位置データqが式(1+5)であ
るとする。これらの変数部は共に「I」であり、
等しいので、この場合にも文字長は定数と判定さ
れる。文字長は、次式により「6」とされる。
(+5)−+1=6 また、第5図ハ図示の場合には、先頭位置デー
タpが式であつて、最終位置データqが式Jに
なつている。この場合には、各変数部が共通では
ないので、文字長は変数と認識され、従来同様、
低速の文字処理命令が生成されることになる。即
ち、文字長(J−I+1)についての演算命令が
生成され、結果を格納したレジスタ等によつてダ
イナミツクに文字長を指定する文字処理命令が生
成される。
(E) 発明の効果 以上説明した如く、本発明によれば、文字部分
列の位置指定情報に変数が含まれる場合であつて
も、比較的容易な内部ロジツクの装置でもつて、
文字長を定数であると認める範囲を拡大すること
ができ、高速な文字処理命令によるオブジエクト
を生成することができるようになる。特に、文字
部分列の指定では、例えばC(I:I)というよ
うな変数を含む1桁のデータ指定が、頻繁に用い
られるので、高速化の効果は大きい。
【図面の簡単な説明】
第1図ないし第3図は従来技術の問題点を説明
するための図、第4図は本発明の一実施例構成、
第5図は本発明による一実施例処理態様説明図を
示す。 図中、1は文字データ定義部、2は文字データ
領域、3は文字部分列指定部、10はソース・モ
ジユール、11はソース解析部、12は文字部分
列制御部、13は位置情報式分解部、14は分解
結果記憶部、15は文字長認識部、16は文字デ
ータ・アロケート部、17はオブジエクト出力
部、18はオブジエクト・モジユールを表す。

Claims (1)

    【特許請求の範囲】
  1. 1 文字データの文字部分列を抽出して処理でき
    る言語機能を有する高級言語を低レベル言語のオ
    ブジエクトに変換する処理システムであつて、上
    記文字部分列の長さを定める文字長判定装置にお
    いて、上記文字部分列を指定する語における文字
    データ内先頭位置を示す先頭位置データおよび最
    終位置を示す最終位置データのそれぞれについて
    変数部と定数部とに分解する位置情報式分解部
    と、該位置情報式分解部による分解結果に基づい
    て上記先頭位置データおよび上記最終位置データ
    の双方が定数部のみで構成されるとき当該文字部
    分列の文字長さを定数と認識すると共に上記先頭
    位置データの変数部と上記最終位置データの変数
    部とが等しいとき当該文字部分列の文字長を定数
    と認識する文字長認識部とを備えたことを特徴と
    する文字長判定装置。
JP59059168A 1984-03-27 1984-03-27 文字長判定装置 Granted JPS60204041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59059168A JPS60204041A (ja) 1984-03-27 1984-03-27 文字長判定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59059168A JPS60204041A (ja) 1984-03-27 1984-03-27 文字長判定装置

Publications (2)

Publication Number Publication Date
JPS60204041A JPS60204041A (ja) 1985-10-15
JPH039491B2 true JPH039491B2 (ja) 1991-02-08

Family

ID=13105579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59059168A Granted JPS60204041A (ja) 1984-03-27 1984-03-27 文字長判定装置

Country Status (1)

Country Link
JP (1) JPS60204041A (ja)

Also Published As

Publication number Publication date
JPS60204041A (ja) 1985-10-15

Similar Documents

Publication Publication Date Title
ATE333125T1 (de) Zugriff zu hierarchischem datenspeicher via sql- eingabe
JP2005202936A (ja) Java(登録商標)仮想マシンの性能を向上させる方法及びその方法により動作されるシステム
JP2000035893A (ja) デ―タ処理システムの配列の静的初期化方法、デ―タ処理方法、並びにデ―タ処理システム及びその制御手順をコンピュ―タに実行させるプログラムを記憶したコンピュ―タ読み取り可能な記憶媒体
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JPH039491B2 (ja)
Ishizuka et al. A microprocessor for speech recognition
Grogono Comments, assertions and pragmas
JPS60200341A (ja) 文字デ−タの仮想先頭アドレツシング方式
JP3889227B2 (ja) プログラム実行装置、プログラム実行方法、記録媒体、及び制御プログラム
JPH0379741B2 (ja)
JP2721377B2 (ja) Basicプログラム圧縮方法
JPH08115221A (ja) Cコンパイラ
JP2539070B2 (ja) コンパイラ処理装置
JP3364952B2 (ja) コンパイラ装置及び情報処理システム並びにオブジェクトコード生成方法及び情報処理方法
JPS6365530A (ja) コ−ド最適化方式
JPS62219129A (ja) コンパイラにおける和計算の部分展開処理方式
JP3011943U (ja) コンパイルシステム装置
JPH07191857A (ja) 言語処理システム
JPH0328932A (ja) 拡張された言語仕様のコンパイル方式
JPH05224946A (ja) 入出力並び最適化処理方式
JPS62163146A (ja) 計算機言語の変換処理方式
JPS61248124A (ja) 入力先行制御方式
KR970049615A (ko) 칠(chill) 전위처리기의 전위처리 방법
JPS62205434A (ja) 再帰呼出し可能プログラムのコンパイル処理方式
JPS62196768A (ja) ベクトルレジスタのビジ−範囲縮小処理方式