JPH02294833A - 語彙解析方式 - Google Patents

語彙解析方式

Info

Publication number
JPH02294833A
JPH02294833A JP11777289A JP11777289A JPH02294833A JP H02294833 A JPH02294833 A JP H02294833A JP 11777289 A JP11777289 A JP 11777289A JP 11777289 A JP11777289 A JP 11777289A JP H02294833 A JPH02294833 A JP H02294833A
Authority
JP
Japan
Prior art keywords
token
storage buffer
information
character
delimiter
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
JP11777289A
Other languages
English (en)
Inventor
Nobuyoshi Iribe
入部 修良
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP11777289A priority Critical patent/JPH02294833A/ja
Publication of JPH02294833A publication Critical patent/JPH02294833A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は複数のプログラム言語が利用できる電子計算機
システムにおいて各言語内に埋め込み利用される埋め込
み型言語の語彙解析方式に関する。
〔従来の技術〕
従来、プログラム言語内に埋め込み利用される埋め込み
型言語に対する語全解析はプログラム言語ごとに用意さ
れたプリコンパイラによりプログラム言語と埋め込み型
言語とを切り分けるための語彙解析処理を行っていた。
従ってプログラム言語が変わればそのつど新たな語全解
析処理部を作成しなげればならなかった。
〔発明が解決しようとする課題〕
従来の手法では、プログラム言語内に埋め込み利用され
る埋め込み型言語が数挿のホスト言語に対して可能にな
っていくにつれて、その語柔解析処理を作成するときの
処理が複雑になり個々に語彙解析処理部をもたなければ
ならにという欠点があった。
〔課題を解決するための手段〕
本発明の語全解析方式は、複数のプログラム言語を利用
できる電子計算機システムにおいて、プログラムのソー
ス文を1行ごとに読み取りプログラム格納バッファに格
納する入力手段と、プログラム言語を識別するプログラ
ム識別子を前記ソース文より得て、前記プログラム言語
に対する区切り子の情報が格納さ九ている区切り子テー
ブル情報から文字列を区切りトークン格納バッファに格
納し同時に文字列の先頭文字の種類やその後の文字の種
類を順次トークンパターンlバッファに格納するトーク
ン判定手段と、前記トークン判定手段によりつくられれ
るトークンパターン格納バッファ情報とトークン格納バ
ッファ情報とプログラム言語ごとにその仕様上意味のあ
る文字列のパターンが用意されている言語タイプ別トー
クンパターンテーブル情報とから意味のあるトークンの
分割およびトークンコードの作成を行いその結果得られ
たトークンコードレコードヲトークンコードレコード格
納バッファに格納する解析手段と、前記解析手段によっ
て作成されたトークンフードレコード格納バッファの情
報をファイル等に出力する出力手段とを有し、プログラ
ム言語に依存することなく語嚢解析を行うようにして構
成される。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は本発明の一実施例を示すブロック図である。同
図において語彙解析方式は、入力手段10と、トークン
判定手段20と、解析手段30と、出力手段40と、言
語タイプ別区切り子テーブル50と、言語タイプ別トー
クンパターンテーブル60と、1レコード分プログラム
イメージ格納ハッファ70と、トークンパターン格納バ
ッファ80と、トークン格納バッファ90と、トークン
コードレコード格納バッファ100と、ソースファイル
110と、格納ファイル120とから構成されている。
第7図は入力手段の処理を示す流れ図である。
同図において入力手段10はソースファイル゜110内
の1プログラムをそのプログラムが終了するまで(ステ
ップ710)1行分ごとにプログラム格納バッファ70
に格納し(ステップ720)、トークン判定手段2へ制
御をわたす。
第8図はトークン判定手段20の処理を示す流れ図であ
る。同図においてトークン判定手段20はプログラム格
納バッファ70の情報を1バイトごとに読み込み、その
文字の種類,例えば英字(大文字,小文字の分類等もあ
る),数字,カナ,日本語,記号などを判断し(ステッ
プ810)、その文字が言語タイプ別区切り子テーブル
50上の区切り子であれば解析手段30へ制御を渡し(
ステップ820)、区切り子でなければ以降で文字や文
字種類を各バッファに格納して次の文字を読み込む処理
を繰り返す(ステップ830,840,850)。
判断方法は読み込んだ文字と言語タイプ別区切り子テー
ブル50の比較である。ここで、第2図は言語タイプ別
区切り子テーブル50の1例を示している。上記の区切
り子とは同図の区切り子群,例えば空白,ピリオド,コ
ロン等であり、真偽群とはプログラム言語タイプ別にそ
の文字が区切り子か否かを示す情報である。すなわちF
ORTRANならば空白,コロン,¥が区切り子であり
、ピリオド,&は区切り子ではない。区切り子の次文字
であれば、トークンの先頭文字と判断する。
先頭文字と判断されると、トークンパターン格納バッフ
ァ80に文字種類を格納する(ステップ830)。先頭
文字以外であれば、順次その文字種類を格納していくの
だが、そのとき、英字,数字,カナ文字の繰り返しは省
略し、前の文字と比較した結果により文字種類が違う時
にそれを格納する(ステップ840)。
第4図はトークンパターン格納バッファ80の1例を示
している。このテーブルには先頭文字種類を最初に格納
し、その後の文字種類も順次格納される。例えば、AB
CID2Eという文字列は英字と英字一散字−*と言う
ようになり、*は順不同の繰り返し可能を示す。
また、1バイトずつ読み込む際、同時にそのまま文字を
トークン格納バッファ90に格納する(ステップ850
)。ここで、第5図はトークン格納バッファ90を示す
。図で示す通り、このバッファには1行分のトークンイ
メージが、空白区切りで順次格納されている。
トークン判定手段20はこのような処理をトークンがで
きあがるまで行う。
第9図は解析手段30の処理を示す流れ図である。同図
において解析手段30は、トークン判定手段20で作成
されたトークンパターン格納バッファ80の情報と言語
タイプ別トークンパターンテーブル60を最初に比較す
る。比較方法は、まず、トークンパターン格納バッファ
80の先頭文字の種類が、言語タイプ別トークンパター
ンテーブル60の先頭文字種類内にあるかを判断する。
ここで存在していれば、その後の文字種類パターンが等
しいものを探す。さらに、それも存在していたならば、
言語タイプ別真偽群を参照し、YESであればトークン
として成り立つことにする(ステップ910)。
第3図は言語タイプ別トークンパターンテーブル60の
1例である。例えば、1. 0 E 2という文字列は
数字一ピリオドー数字一E一数字というトークンパター
ンになり、パターン7にあたる。
ここで、言語タイプがCOBOLであればトークンには
ならず、FO’RTRANであればトークンとして定義
され、トークンコードは23となる。
トークンパターンとしてあてはまった時、ト一クン判定
手段20で作成さhたトークン格納バッファ90上のパ
ターンと対応する文字列イメージからキーワードの存在
チェックを行う。この存在チェックは文字列の先頭文字
からみて部分的にでも存在すればキーワードとして分割
する。その他の文字列は分割されたその次の文字を先頭
文字とみなして、また言語タイプ別トークンパターンテ
ーブル60からパターンを探す(ステップ910)とい
う処理にもどる(ステップ920,930)。
キーワードはそのトークンコードをそのままトークンコ
ードレコード格納ハッファ100(第6図参照)に格納
し、トークンパターンとしてあてはまるものは言語タイ
プ別トークンパターンテーブル60のトークンフードを
トークンコードレコード格納バッファ100に格納する
(ステップ930)。パターンにあてはまらなかった文
字列については、例外トークンコードをトークンコード
レコード格納バッファ100に格納する(ステップ94
0)。以上の処理を行い、出力手段40にわたるまでが
解析手段30の処理である。
第10図は圧力手段40の処理を示す流れ図である。同
図において出力手段40は解析手段30で作成されたト
ークンコードレコード格納バッファ100の情報を格納
ファイル120に出力し(ステップ1 0 1 0)、
入力手段10に制御を渡す。
以上の手段を行い、入力手段10において、ソースデー
タがなくなったら本語蘭解析処理方式は終了となる。
〔発明の効果〕
本発明はプログラム言語内に埋め込み利用される埋め込
み型言語に対する語彙解析を、(1)プログラム言語ご
とに解析処理を考えることなく1つの共通な処理系で行
える。
(2)プログラム言語としてのデータをテーブルにのせ
ることにより、数種のプログラム言語に使用できる。
という効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
言語タイプ別区切り子テーブルの例を示す説明図、第3
図は言語タイプ別トークンパターンテーブルの例を示す
説明図、第4図はトークンパターン格納バッファの例を
示す説明図、第5図はトークン格納バッファの例を示す
説明図、第6図はトークンコードレコード格納バッファ
の例を示す説明図、第7図〜第10図は動作を示す流れ
図である。 10・・・・・・入力手段、20・・・・・・トークン
判定手段、30・・・・・・解析手段、40・・・・・
・出力手段、50・・・・・・言語タイプ別区切り子テ
ーブノ呟 60・・・・・・言語タイプ別トークンパタ
ーンテーブル、70・・・・・・プログラム(イメージ
)格納バッファ、80・・・・・・トークンパターン格
納バッファ、90・・・・・・トークン格納ハッファ、
100・・・・・・トークンコードレコード格納バッフ
ァ、110・・・・・・ソースファイル、120・・・
・・・格納ファイル(媒体)。 代理人 弁理士  内 原   音 ネ ■ 1コ 7l1 \  つ ケκ 丁ペ 田11予j(へ 千 9 図 牛 凹

Claims (1)

    【特許請求の範囲】
  1. 複数のプログラム言語を利用できる電子計算機システム
    において、プログラムのソース文を1行ごとに読み取り
    プログラム格納バッファに格納する入力手段と、プログ
    ラム言語を識別するプログラム識別子を前記ソース文よ
    り得て、前記プログラム言語に対する区切り子の情報が
    格納されている区切り子テーブル情報から文字列を区切
    りトークン格納バッファに格納し同時に文字列の先頭文
    字の種類やその後の文字の種類を順次トークンパターン
    格納バッファに格納するトークン判定手段と、前記トー
    クン判定手段によりつくられれるトークンパターン格納
    バッファ情報とトークン格納バッファ情報とプログラム
    言語ごとにその仕様上意味のある文字列のパターンが用
    意されている言語タイプ別トークンパターンテーブル情
    報とから意味のあるトークンの分割およびトークンコー
    ドの作成を行いその結果得られたトークンコードレコー
    ドをトークンコードレコード格納バッファに格納する解
    析手段と、前記解析手段によって作成されたトークンコ
    ードレコード格納バッファの情報をファイル等に出力す
    る出力手段とを有し、プログラム言語に依存することな
    く語彙解析を行うことを特徴とする語彙解析方式。
JP11777289A 1989-05-10 1989-05-10 語彙解析方式 Pending JPH02294833A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11777289A JPH02294833A (ja) 1989-05-10 1989-05-10 語彙解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11777289A JPH02294833A (ja) 1989-05-10 1989-05-10 語彙解析方式

Publications (1)

Publication Number Publication Date
JPH02294833A true JPH02294833A (ja) 1990-12-05

Family

ID=14719946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11777289A Pending JPH02294833A (ja) 1989-05-10 1989-05-10 語彙解析方式

Country Status (1)

Country Link
JP (1) JPH02294833A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008290A1 (en) * 1992-10-02 1994-04-14 Fujitsu Limited System for writing program in user's language

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008290A1 (en) * 1992-10-02 1994-04-14 Fujitsu Limited System for writing program in user's language
US5640576A (en) * 1992-10-02 1997-06-17 Fujitsu Limited System for generating a program using the language of individuals
JP3373517B2 (ja) * 1992-10-02 2003-02-04 富士通株式会社 個人の言語によるプログラム作成システム

Similar Documents

Publication Publication Date Title
US9026485B2 (en) Pattern-recognition processor with matching-data reporting module
JP2726568B2 (ja) 文字認識方法及び装置
US8648621B2 (en) Counter operation in a state machine lattice
CN104471552A (zh) 用于处置状态机引擎所接收的数据的方法及系统
US7779049B1 (en) Source level optimization of regular expressions
KR20200038984A (ko) 동의어 사전 작성 장치, 동의어 사전 작성 프로그램 및 동의어 사전 작성 방법
US6345322B1 (en) Intelligently interpreting errors in build output log files
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
JP2002117027A (ja) 感情情報抽出方法および感情情報抽出プログラムの記録媒体
KR20020009583A (ko) 색인키 데이터 필드를 추출하기 위한 시스템 및 방법
JP6343081B1 (ja) 符号符号分類検索ソフトウェアを記録した記録媒体
JP2693914B2 (ja) 検索システム
CN114153496A (zh) 一种基于区块链的高速可并行代码相似度对比方法和系统
JP3251203B2 (ja) Jclプログラム変換装置、jclプログラム変換方法、および、記録媒体
CN116360794A (zh) 数据库语言解析方法、装置、计算机设备及存储介质
JPH02294833A (ja) 語彙解析方式
US5987253A (en) Method for classification of year-related data fields in a program
JP6347023B1 (ja) コード自動記述2ソフトウェアを記録した記録媒体
CN113408597B (zh) 一种基于两阶段框架的Java方法名推荐方法
JP3018579B2 (ja) 名前検索処理装置
JP6318327B1 (ja) コード自動記述ソフトウェアを記録した記録媒体
JP2722684B2 (ja) ファイルシステムの検索装置
JP4139805B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JP2724235B2 (ja) 変数名称推論装置
CN118171250A (zh) 一种代码指纹溯源识别方法、系统、终端及存储介质