JPH03186932A - 字句解析における空白読み飛ばし装置 - Google Patents

字句解析における空白読み飛ばし装置

Info

Publication number
JPH03186932A
JPH03186932A JP32667389A JP32667389A JPH03186932A JP H03186932 A JPH03186932 A JP H03186932A JP 32667389 A JP32667389 A JP 32667389A JP 32667389 A JP32667389 A JP 32667389A JP H03186932 A JPH03186932 A JP H03186932A
Authority
JP
Japan
Prior art keywords
blank
bytes
source program
comparison
byte
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.)
Granted
Application number
JP32667389A
Other languages
English (en)
Other versions
JP2868127B2 (ja
Inventor
Minoru Tanaka
稔 田中
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 JP32667389A priority Critical patent/JP2868127B2/ja
Publication of JPH03186932A publication Critical patent/JPH03186932A/ja
Application granted granted Critical
Publication of JP2868127B2 publication Critical patent/JP2868127B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 字句解析における空白読み飛ばし方式に関し、システム
が持つ複数バイトを一度に比較演算する比較演算機能を
用い、ソースプログラムから複数バイト単位(例えば整
数型データの4バイト単位)に空白を判定して読み飛ば
し、空白の読み飛ばし処理のための比較演算回数を削減
して字句解析処理を高速に実行することを目的とし、シ
ステムが持つ複数バイトを一度に比較演算する比較演算
機能を用い、ソースプログラムから取り出した複数バイ
ト分の文字列のコードと、複数バイト分の空白コードと
の排他的論理和演算を行い、先頭からその結果が0 (
零)のバイト数だけ空白と判定して読み飛ばし、字句の
取り出し・解析を行うように構成する。
〔産業上の利用分野〕
本発明は、字句解析における空白読み飛ばし方式に関す
るものである。
〔従来の技術と発明が解決しようとする課題〕FORT
RAN言語で記述したソースプログラム中の空白は、注
釈および文字定数内を除いて意味がない。例えば英字者
ABCがある場合、REAL  ABC・・・・・・・
・・・・・(1)REALABC・・・・・・・・・(
2)の両者は同し意味である。このため、FORTRA
N処理系における字句解析では、空白文字の読め飛ばし
処理が非常に重要な意味を持っている。
従来、字句解析時に、空白文字の読み飛ばし処理は、1
文字毎(1バイト毎)に空白か否かを調べながら走査し
ていた。このため、FORTRANソースプログラムに
空白の数が多くなるに従い、字句解析の処理時間が長く
なってしまうという問題があった。
本発明は、システムが持つ複数バイトを一度に比較演算
する比較演算機能を用い、ソースプログラムから複数バ
イト単位(例えば整数型データの4バイト単位〉に空白
を判定して読み飛ばし、空白の読み飛ばし処理のための
比較演算回数を削減して字句解析処理を高速に実行する
ことを目的としている。
〔課題を解決する手段〕
第1図を参照して課題を解決する手段を説明する。
第1図において、ソースプログラム1は、読み飛ばして
字句解析を行う対象のソースプログラムである。
比較演算機能2は、システムが持つ複数ハイI・を−度
に比較演算する比較演算機能である。
〔作用〕
本発明は、第1図に示すように、システムが持つ複数バ
イトを一度に比較演算する比較演算機能2を用い、ソー
スプログラムLから取り出した複数バイト分の文字列の
コードと、複数バイト分の空白コードとの排他的論理和
演算を行い、先頭からその結果が0 (零)のバイト数
だけ空白と判定して読み飛ばし、字句の取り出し・解析
を行うようにしている。
従って、システムが持つ比較演算機能2を用い、ソース
プログラムIから複数バイト単位(例えば整数型データ
の4バイト単位)に空白を判定して読み飛ばすことによ
り、空白の読み飛ばし処理のための比較演算回数を削減
して字句解析処理を高速に実行することが可能となる。
〔実施例〕
次に、第1図および第2図を用いて本発明の1実施例の
構成および動作を順次詳細に説明する。
第1図において、ソースプログラム1は、読み飛ばして
字句解析を行う対象のFORTRAN言語で記述したソ
ースプログラムである。
比較演算機能2は、システムが持つ複数バイトを一度に
比較演算する比較演算機能であって、例えば整数型デー
タの4バイト(32ビツト)を−度にビット対応で比較
演算(論理和、論理積、排他的論理和など)を行う機能
である。本実施例は、ソースプログラムの文字列中の空
白をこの整数型データとみなして複数バイト(例えば4
バイト)単位に比較して空白の読み飛ばしを少ないステ
ップ数で行うものである。尚、文字は、通常、その性質
上1バイト毎(1文字毎)に比較演算している。以下整
数型データの4バイトを一度に比較演算する比較演算機
能2を用いた場合の動作を、第1図■ないし■の順序で
、第2図を参照して具体的に説明する。
第1図において、■は、4バイトの文字列をソースプロ
グラムlから取り出し、これを整数型データとみなして
4バイト分の空白文字列と排他的論理和をとる(比較演
算機能2)。これにより、ソースプログラム1から取り
出した4バイト分の文字列と、4バイト分の空白文字列
とをシステムが持つ比較演算機能2によって一度に排他
的論理和演算する。
■は、■の結果が0(零)か否かを判別する。
YESの場合には、■で4文字分が空白なので、字句解
析の処理位置を4バイト分進める。これは、例えば第2
図(イ)ソースプログラム1の現在の字句解析処理位置
から取り出した4バイト分の文字列″40404040
″′と、空白コード″4040.404. Q”との排
他的論理和演算を行った■の結果が4バイト分、全て0
 (零〉であったので、■YESとなり、■で字句解析
処理位置を4バイト分進め、4つの空白を読み飛ばす。
Noの場合には、■を行う。
■ば、■の結果の先頭3バイトが0 (零)か否かを判
別する。YESの場合には、[相]で3文字分が空白な
ので、字句解析の処理位置を3バイト分進める。これは
、例えば第2図(ロ)ソースプログラム■の現在の字句
解析処理位置から取り出した4バイト分の文字列’40
4040E7’″と、空白コード40404040“乙
の排他的論理和演算を行った■の結果が先頭から3バイ
ト分、0(零)であったので、■YESとなり、■で字
句解析処理位置を3バイト分進め、3つの空白を読み飛
ばす。NOの場合には、■を行う。
■は、■の結果の先頭2バイトが0(零)か否かを判別
する。YESの場合には、■で2文字分が空白なので、
字句解析の処理位置を2バイト分進める。これは、例え
ば第2図(ハ)ソースプログラム1の現在の字句解析処
理位置から取り出した4バイト分の文字列“4040F
14B”と、空白コード“4040404.0 ”との
排他的論理和演算を行った■の結果が先頭から2バイト
分、0(零)であったので、■YESとなり、■で字句
解析処理位置を2バイト分進め、2つの空白を読み飛ば
す。NOの場合には、■を行う。
■は、■の結果の先頭1バイトが0 (零)か否かを判
別する。YESの場合には、■で1文字分が空白なので
、字句解析の処理位置を】バイト分道める。これは、例
えば第2図(ニ)ソースプログラム1の現在の字句解析
処理位置から取り出した4バイト分の文字列“404E
4040”と、空白コード“40404040”との排
他的論理和演算を行った■の結果が先頭から1バイト分
、0 (零)であったので、■YESとなり、@で字句
解析処理位置を1バイト分進め、1つの空白を読み飛ば
す。Noの場合には、■を行う。
■は、■の結果の先頭のバイトが0(零)でなく、空白
でないので、字句解析の取り出し処理を行う。これは、
例えば第2図(ホ)ソースプログラム1の現在の字句解
析処理位置から取り出した4バイト分の文字列”CLC
2C340”と、空白コード”40404040”との
排他的論理和演算を行った■の結果の先頭バイトがO(
零)でなかったので、■Noとなり、■字句の取出し処
理を行う。
以上のように、ソースプログラム1から4バイト単位に
文字列を取り出し、これを4バイトの空白コードと排他
的論理和演算を行い、その結果の先頭からO(零)のバ
イト数分だけ読み飛ばすことにより、少ないステップ数
で空白の読み飛ばしを行うことが可能となる。
第2図は、本発明の詳細な説明図を示す。
第2図(イ〉は、第1図の、■YESのときの具体例を
示す。これは、ソースプログラム1から取り出した文字
列の4バイトが全て空白コードのときであり、4バイト
分読み飛ばす例である。
第2図(ロ)は、第1図の、■YESのときの具体例を
示す。これは、ソースプログラムlから取り出した文字
列の4バイトのうちの先頭から3バイトが空白コードの
ときであり、3バイト分読み飛ばす例である。
第2図(ハ)は、第1図■、■YESのときの具体例を
示す。これは、ソースプログラム1から取り出した文字
列の4バイトのうちの先頭から2バイトが空白コードの
ときであり、2バイト分読み飛ばす例である。
第2図(ニ)は、第■図■、■YESのときの具体例を
示す。これは、ソースプログラム1から取り出した文字
列の4バイトのうちの先頭から1バイトが空白コードの
ときであり、1バイト分読み飛ばす例である。
第2図(ホ)は、第1図■、■Noのときの具体例を示
す。これは、ソースプログラム1から取り出した文字列
の4バイトのうちの先頭バイトが空白コードでないとき
であり、この先頭から字句を取り出して字句解析を行う
例である。
〔発明の効果〕
以上説明したように、本発明によれば、システムが持つ
複数バイトを一度に比較演算する比較演算機能2を用い
、ソースプログラムlから複数バイト単位(例えば整数
型データの4バイト単位)に空白を判定して読み飛ばす
槽底を採用しているため、空白の読み飛ばし処理のため
の比較演算回数を削減して字句解析処理を高速に実行す
ることができる。
【図面の簡単な説明】
第1図は本発明の1実施例構成図、第2図は本発明の詳
細な説明図を示す。 図中、1はソースプログラム、2はシステムが持つ比較
演算機能を示す。

Claims (1)

    【特許請求の範囲】
  1. 字句解析における空白読み飛ばし方式において、システ
    ムが持つ複数バイトを一度に比較演算する比較演算機能
    (2)を用い、ソースプログラム(1)から取り出した
    複数バイト分の文字列のコードと、複数バイト分の空白
    コードとの排他的論理和演算を行い、先頭からその結果
    が0(零)のバイト数だけ空白と判定して読み飛ばし、
    字句の取り出し・解析を行うように構成したことを特徴
    とする字句解析における空白読み飛ばし方式。
JP32667389A 1989-12-15 1989-12-15 字句解析における空白読み飛ばし装置 Expired - Fee Related JP2868127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32667389A JP2868127B2 (ja) 1989-12-15 1989-12-15 字句解析における空白読み飛ばし装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32667389A JP2868127B2 (ja) 1989-12-15 1989-12-15 字句解析における空白読み飛ばし装置

Publications (2)

Publication Number Publication Date
JPH03186932A true JPH03186932A (ja) 1991-08-14
JP2868127B2 JP2868127B2 (ja) 1999-03-10

Family

ID=18190387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32667389A Expired - Fee Related JP2868127B2 (ja) 1989-12-15 1989-12-15 字句解析における空白読み飛ばし装置

Country Status (1)

Country Link
JP (1) JP2868127B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175709A (ja) * 1992-12-04 1994-06-24 Mitsubishi Electric Corp プログラミング装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175709A (ja) * 1992-12-04 1994-06-24 Mitsubishi Electric Corp プログラミング装置

Also Published As

Publication number Publication date
JP2868127B2 (ja) 1999-03-10

Similar Documents

Publication Publication Date Title
US5283737A (en) Mechanism for generating linguistic expressions based on synonyms and rules derived from examples
JPS58114225A (ja) 仮名漢字変換入力方式
JPH03186932A (ja) 字句解析における空白読み飛ばし装置
JPH0619962A (ja) テキスト分割装置
JP2812511B2 (ja) キーワード抽出装置
JPH0331981A (ja) 文字認識装置
JP2989823B2 (ja) 文型認識方法
JP2848225B2 (ja) 数量/時間表現処理方式
JP3208300B2 (ja) プログラム中の物理実体の使用形式抽出方法および関連抽出方法
JPS638858A (ja) 日本語文書の文体チエツク処理方式
JP2835065B2 (ja) 文字列検索方法
JPH0594472A (ja) 適訳語選択方式
JPH08297579A (ja) テキストデータにおける区切り語処理方式
JPH021027A (ja) 圧縮形式ソースプログラムのコンパイル方式
JP2002163291A (ja) 類似文書検索装置、類似文書検索方法及び記録媒体
JPH10222612A (ja) 文書認識装置
JP2989824B2 (ja) 文型・文法格認識方法
JPS6010340A (ja) 注釈終了の認識方法
JPS62285189A (ja) 文字認識後処理方式
JPH06259602A (ja) 候補文字抽出装置
JPH04333931A (ja) 書式付き入出力文高速化処理方式
JPS6316370A (ja) 単語抽出システム
JPS6393087A (ja) 属性デ−タ抽出処理装置
JPH0358137A (ja) 複数文字系に対する文字認織方式
JPS63108463A (ja) 英文解析におけるletの処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees