JPH07141195A - コンパイラにおけるリテラル最適化方式 - Google Patents

コンパイラにおけるリテラル最適化方式

Info

Publication number
JPH07141195A
JPH07141195A JP15646593A JP15646593A JPH07141195A JP H07141195 A JPH07141195 A JP H07141195A JP 15646593 A JP15646593 A JP 15646593A JP 15646593 A JP15646593 A JP 15646593A JP H07141195 A JPH07141195 A JP H07141195A
Authority
JP
Japan
Prior art keywords
literal
space
pointer
character
address
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.)
Withdrawn
Application number
JP15646593A
Other languages
English (en)
Inventor
Kenichi Oishi
健一 大石
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP15646593A priority Critical patent/JPH07141195A/ja
Publication of JPH07141195A publication Critical patent/JPH07141195A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】コンパイラにおけるリテラル最適化でメモリ使
用を少なくし、コンパイラオブジェクトを小さくする。 【構成】リテラル検索手段1およびリテラル格納手段2
は、プログラム言語中のリテラル10を入力し、文字ポ
インタテーブル3でリテラル10の先頭文字コードに対
応する最初ポインタがあれば、最初ポインタからリテラ
ル空間4の該当部を求めリテラル10と比較を行なう。
一致すればリテラル空間4の該当アドレスをアロケーシ
ョンアドレス6とする。一致しなければポインタ空間5
により次に出現するアドレスからリテラル空間の一致を
求め、同一文字がなくなるまでリテラルの一致処理を繰
返す。リテラルの一致するものがないときは、リテラル
空間4の空き領域にリテラル10を格納し、格納したア
ドレスをアロケーションアドレス6とする。リテラルの
リテラル空間4への格納には、格納した文字のアドレス
を、文字ポインタテーブルの最後ポインタの示すポイン
タ空間5に設定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンパイラにおけるリテ
ラル最適化方式に関する。
【0002】
【従来の技術】従来、コンパイラにおけるリテラルの最
適化は、プログラムに記述された一つ一つのリテラルご
とに最適化処理を行なっており、複合語について連続し
たリテラルと見なしての最適化処理を行なっていない。
【0003】
【発明が解決しようとする課題】上述した従来のコンパ
イラにおけるリテラルの最適化は、一つのリテラルの中
に他のリテラルが含まれていても、それぞれについて最
適化を行なうのでメモリが増加するという問題点があ
る。
【0004】
【課題を解決するための手段】本発明のコンパイラにお
けるリテラル最適化方式は、コンパイラにおいて、リテ
ラルを格納するリテラル空間と、このリテラル空間内の
各文字に対して同一の文字コードの次のアドレスを設定
するポインタ空間と、文字コードごとの前記リテラル空
間内の位置を示す文字ポインタテーブルと、プログラミ
ング言語の中のリテラルを入力し、前記文字ポインタテ
ーブルからリテラルの先頭文字コードに対応する前記リ
テラル空間内の位置を求め、リテラル空間の該当部と入
力されたリテラルとの一致を検索するリテラル検索手段
と、このリテラル検索手段によりリテラルの一致を見た
ときは前記リテラル空間の一致したアドレスをアロケー
ションアドレスとし、一致を見ないときは前記リテラル
空間の空き領域に入力されたリテラルを格納し、格納し
たリテラルの各文字コードごとにリテラル空間の位置を
前記ポインタ空間と前記文字ポインタテーブルとに設定
し、リテラルを格納したリテラル空間のアドレスをアロ
ケーションアドレスとするリテラル格納手段とを有する
ことにより構成されている。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】図1は本発明の一実施例の構成図である。
図1の実施例はリテラル検索手段1,リテラル格納手段
2,文字ポインタテーブル3,リテラル空間4,ポイン
タ空間5,アロケーショアドレス6,およびリテラル1
0から構成される。
【0007】図2は図1の実施例の文字ポインタテーブ
ル3,リテラル空間4,ポインタ空間5およびアロケー
ションアドレス6の構成を示す図で、図2(a)は文字
ポインタテーブル3の構成を示し、リテラルとしてアル
ファベットのみを対象とした場合を示していて、リテラ
ル空間4に格納したリテラルの各文字コードについて、
最初に格納したアドレスを最初ポインタに、最後に格納
したアドレスを最後ポインタに格納し、リテラル空間内
の位置を示すようになっている。図2(b)はリテラル
空間4とポインタ空間5との構成を示し、リテラル空間
にはリテラルを管理し、ポインタ空間に各文字に対して
同一文字コードの次のアドレスを格納するようになって
いる。図2(c)は、アロケーションアドレス6の構成
を示し、リテラル空間に格納または格納されているリテ
ラルのアドレスが決定されたとき、そのアドレスを書込
むエリアである。
【0008】リテラル検索手段1はプログラミング言語
中のリテラル10を入力し、文字ポインタテーブル3か
らリテラルの先頭文字コードに対応するリテラル空間4
内の位置を求める。リテラル格納手段2はリテラル検索
手段1で求められたリテラルの先頭文字コードのリテラ
ル空間4内の位置をもとに、リテラルをリテラル空間4
に格納し、格納されたリテラル中の各文字コードごと
に、リテラル空間4の位置をポインタ空間5と文字ポイ
ンタテーブル3とに格納し、アロケーションアドレスを
決定してアロケーションアドレス6に書込む。
【0009】以上の構成において、リテラル検索手段1
はプログラミング言語中のリテラル10を入力すると、
このリテラル10が最初の入力のものであれば、文字ポ
インタテーブル3の最初ポインタが空であるので、リテ
ラル格納手段2によってリテラル空間4の空き領域にリ
テラル10を格納し、格納したリテラル10のアドレス
からアロケーションアドレスが決められ、このアドレス
をアロケーションアドレス6に書込む。入力されたリテ
ラル10が2回目以降の入力のものでは、文字ポインタ
テーブル3でリテラル10の先頭文字コードに対応する
最初ポインタを検索する。最初ポインタがあれば、最初
ポインタに対応するリテラル空間4の該当部分のリテラ
ルとリテラル10との文字比較を行なう。ここでリテラ
ルが一致すればリテラル空間4の該当部分のリテラルの
アロケーションアドレスをアロケーションアドレス6と
して書込む。また、リテラルが一致しなければ、リテラ
ル10の先頭文字コードが次にリテラル空間4に出現す
る次のアドレスをポインタ空間5から求める。そして次
のアドレスがあるときは、リテラル空間4内に同一文字
コードがリテラル空間4になくなるもで同一文字コード
を求め、上述と同じくリテラルの一致処理を繰返す。こ
のようにしてもリテラルの一致が得られない場合はリテ
ラル空間4の空き領域にリテラル10を格納する。そし
て格納したアドレスをアロケーションアドレス6に書込
む。なお、リテラル10を格納するとき、先頭文字から
一文字ずつ順に、格納した文字のアドレスを文字ポイン
タテーブル3の最後ポインタの示すポインタ空間5に設
定する。このとき最後ポインタが空なら格納した文字の
アドレスを最後ポインタに設定する。また最初ポインタ
が空きなら、格納した文字のアドレスを最初ポインタに
設定する。
【0010】図3は図2に示す例において、最初にリテ
ラル“AABDD”を入力した場合の格納内容を示して
いる。この場合、文字ポインタテーブルにアドレスが設
定されていないので、このリテラルをリテラル空間4に
格納してポインタ空間を設定し、最初ポインタおよび最
後ポインタを設定し、アロケーションアドレスとしてa
1が設定される。
【0011】図4は図3の状態で、リテラル“CABC
ZZZ”を入力した場合の格納内容を示している。この
場合、先頭文字Cが文字ポインタテーブル3の最初ポイ
ンタにないので、リテラル空間4の前のリテラルに続く
空きに、このリテラルを格納し、ポインタ空間、最初ポ
インタおよび最後ポインタを設定し、アロケーションア
ドレスとしてa6が設定される。
【0012】図5は図4の状態でリテラル“ABC”を
入力した場合の格納内容を示している。この場合、先頭
文字Aが文字ポインタテーブル3に設定されていて、最
初ポインタのa1からリテラル空間4のリテラルでの一
致を調べ、合致していないことから、順次アドレスa
2,a7についてリテラルの一致を調べ、a7において
リテラルの一致を見るので、アロケーションアドレスと
してa7が設定される。
【0013】
【発明の効果】以上説明したように本発明は、プログラ
ムで記述したリテラルを、既に処理したリテラルと結び
つけて最適化処理を行なうことにより、該当するリテラ
ルが既に格納したリテラルに含まれている場合に、新し
くメモリを使用せず、既に使用したリテラルのアロケー
ションアドレスが使用でき、メモリの増加を防止するこ
とができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】図1の実施例の文字ポインタテーブル,リテラ
ル空間,ポインタ空間,およびアロケーションアドレス
の構成を示す図である。
【図3】図1の実施例においてリテラル“AABDD”
を格納した後の状態を示す図である。
【図4】図1の実施例においてリテラル“AABDD”
に続いて、“CABCZZ”を格納した後の状態を示す
図である。
【図5】図1の実施例において“AABDD”,“CA
BCZZZ”に続いて“ABC”を格納した後の状態を
示す図である。
【符号の説明】
1 リテラル検索手段 2 リテラル格納手段 3 文字ポインタテーブル 4 リテラル空間 5 ポインタ空間 6 アロケーションアドレス 10 リテラル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパイラにおいて、リテラルを格納す
    るリテラル空間と、このリテラル空間内の各文字に対し
    て同一の文字コードの次のアドレスを設定するポインタ
    空間と、文字コードごとの前記リテラル空間内の位置を
    示す文字ポインタテーブルと、プログラミング言語の中
    のリテラルを入力し、前記文字ポインタテーブルからリ
    テラルの先頭文字コードに対応する前記リテラル空間内
    の位置を求め、リテラル空間の該当部と入力されたリテ
    ラルとの一致を検索するリテラル検索手段と、このリテ
    ラル検索手段によりリテラルの一致を見たときは前記リ
    テラル空間の一致したアドレスをアロケーションアドレ
    スとし、一致を見ないときは前記リテラル空間の空き領
    域に入力されたリテラルを格納し、格納したリテラルの
    各文字コードごとにリテラル空間の位置を前記ポインタ
    空間と前記文字ポインタテーブルとに設定し、リテラル
    を格納したリテラル空間のアドレスをアロケーションア
    ドレスとするリテラル格納手段とを有することを特徴と
    するコンパイラにおけるリテラル最適化方式。
JP15646593A 1993-06-28 1993-06-28 コンパイラにおけるリテラル最適化方式 Withdrawn JPH07141195A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15646593A JPH07141195A (ja) 1993-06-28 1993-06-28 コンパイラにおけるリテラル最適化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15646593A JPH07141195A (ja) 1993-06-28 1993-06-28 コンパイラにおけるリテラル最適化方式

Publications (1)

Publication Number Publication Date
JPH07141195A true JPH07141195A (ja) 1995-06-02

Family

ID=15628348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15646593A Withdrawn JPH07141195A (ja) 1993-06-28 1993-06-28 コンパイラにおけるリテラル最適化方式

Country Status (1)

Country Link
JP (1) JPH07141195A (ja)

Similar Documents

Publication Publication Date Title
JP3003915B2 (ja) 単語辞書検索装置
JPH07141195A (ja) コンパイラにおけるリテラル最適化方式
JPH086829A (ja) データベースの同時全件検索方法
JP3018579B2 (ja) 名前検索処理装置
JPH0546666A (ja) 情報検索装置
JPH01120621A (ja) データベースの検索・更新方式
JPH03118661A (ja) 単語検索装置
JPH07244601A (ja) 関係データベースのアクセス方法および装置
JPH05204962A (ja) 電子化辞書検索装置
JPS5840660A (ja) 端末システム
JPH04101272A (ja) データエレメント検索方法
JPH06175862A (ja) 電子計算機装置
JPH05143648A (ja) 情報登録検索装置
JPH0546598A (ja) 辞書検索方式
JPS63217446A (ja) バツフア管理方式
JPH02249087A (ja) 英単語検索装置
JPS6029986B2 (ja) 文字探索機能を有する通信制御装置
JPH0484290A (ja) 文字認識後処理方式
JPH0239328A (ja) リテラルのアドレス割付装置
JPS63170742A (ja) 共通文字列検索処理装置
JPH06208492A (ja) データベース用照会言語命令処理システムと方法
JPH0338745A (ja) データ一括処理方式
JPH01175651A (ja) アドレス変換方式
JPH05108719A (ja) 情報検索装置
JPH05216684A (ja) プログラム実行装置および実行方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000905