JP3230467B2 - Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 - Google Patents
Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体Info
- Publication number
- JP3230467B2 JP3230467B2 JP25953697A JP25953697A JP3230467B2 JP 3230467 B2 JP3230467 B2 JP 3230467B2 JP 25953697 A JP25953697 A JP 25953697A JP 25953697 A JP25953697 A JP 25953697A JP 3230467 B2 JP3230467 B2 JP 3230467B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- output
- syntax tree
- gdmo
- database
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000013519 translation Methods 0.000 title claims description 38
- 238000012545 processing Methods 0.000 claims description 28
- 238000013500 data storage Methods 0.000 claims description 17
- 230000008676 import Effects 0.000 claims 6
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
る入力ファイルから様々な文法の出力ファイルを生成す
るGDMO(Guideline for Definition of Managed Ob
ject)トランスレータに関し、特に複数のネットワーク
管理システム用に多種のアプリケーションプログラムを
生成することが可能なGDMOトランスレータ及びGD
MOトランスレーション方法並びにGDMOトランスレ
ータプログラムを記録した記録媒体に関する。以下で
は、この技術を単にGDMOトランスレータと記載す
る。
は、例えば特開平3-179950号公報に示されているよう
に、ネットワーク管理システムを構築するアプリケーシ
ョンプログラム生成のために用いられる。特開平3-1799
50号公報は管理オブジェクトの内容を記述したテンプレ
ートを入力とし、管理オブジェクトコンパイラを起動す
る。管理オブジェクトコンパイラは管理情報テーブルの
静的なデータを生成する。
OSI(Open Systems Interconnection)管理エージェ
ントならば、テンプレートは GDMOテンプレートで
あり、管理オブジェクトコンパイラはGDMOトランス
レータに相当する。GDMOトランスレータはネットワ
ーク管理システムに関するデータもしくはプログラムを
生成する。
タは、例えば特開平8-202544号公報に示されているよう
に、生成ソーステンプレートを用いることにより、出力
ファイル文法を容易に変更できるものも存在する。図1
0は特開平8-202544号公報に示されている従来技術のブ
ロック図を表わす。ユーザはユーザソースファイル10
10を記述し、それを入力にコンパイラ1020を起動
する。コンパイラ1020はユーザソースプログラムオ
ブジェクトコード1070を生成するとともにフロント
部1200が字句解析、構文解析、意味解析をおこな
い、ユーザソースプログラム1010中のクラスに関す
る定義を抽出し、解析情報ファイル1030に出力す
る。プログラム生成処理部1050は解析情報ファイル
1030を入力とし、生成ソースプログラム1060を
生成する。生成ソースプログラム1060の生成の仕方
は、生成ソーステンプレート1040を読み込み、生成
ソーステンプレート1040の内容をそのまま生成ソー
ステンプレート1040に出力する。ただし、生成ソー
ステンプレート1040のうち該当部分を解析情報ファ
イル1030で示す情報に置き換えて生成ソースプログ
ラム1060を生成する。
ステンプレート1040の例である。漢字コードで記述
した部分を解析情報ファイル1030が格納する内容で
置き換えて、図12で示す生成ソースプログラムを生成
する。
の問題点は、入力情報は同一だが、適用対象が多岐にわ
たるために多数のGDMOトランスレータを開発する必
要があることである。そのため、GDMOトランスレー
タを開発するための工数が増大する。
力プログラムとリンクするネットワーク管理システム開
発用プラットフォームが多数存在するからである。OS
Iで文法が規定されているGDMOテンプレートをもと
に、ネットワーク管理システムを構築する。この手続き
を自動化し、GDMOテンプレートからネットワーク管
理システムのプログラムコードを作成するのが、GDM
Oトランスレータである。このようなGDMOトランス
レータの一例が前述の従来技術である特開平3-179950号
公報である。ネットワーク管理システムでは必ずネット
ワーク監視マネージャとネットワーク監視対象の二者が
存在し、それらの両者とも同一のGDMOテンプレート
をもとに開発されるが、ネットワーク監視マネージャ開
発用プラットフォームのために生成するプログラムと、
監視対象用プラットフォームのために生成するプログラ
ムは異なる。ゆえに、ネットワーク管理システムを構築
するには少なくとも2種類のGDMOトランスレータが
必要である。
プラットフォームは多数世に存在するため、プラットフ
ォームごとにGDMOトランスレータを開発する必要が
ある。また、同一プラットフォームでもバージョンアッ
プするごとにアプリケーションプログラムインタフェー
ス(API)が変更されることが多々あり、そのたびに
GDMOテンプレートを開発・変更する必要がある。
成ソーステンプレートを用いて出力コードを定めてや
り、新たなGDMOトランスレータの開発工数を削減す
る方法によりこの第1の問題点を回避できる。しかし、
第2の問題点として、この従来技術では、出力可能なソ
ースファイルの文法が限定されることである。
文意味解析ステップの結果が意味情報を基準に分類した
表を作成する。プログラム生成処理部は表を参照しつ
つ、生成ソーステンプレートの所定部分に情報を埋めて
生成ソースプログラムを生成する。しかし、意味解析を
したステップにおいて不要な情報は削除されており、出
力ファイルに埋め込まれている情報は限定される。
ない情報は管理できるが、入れ子を有するような構文を
もつ入力ファイルの場合、管理しきれない。そのため表
で格納できる情報の形式は限定される。ゆえに生成ソー
スプログラムの生成文法も限定される。
生成ソーステンプレートでは、いくつかの文法構造を有
する出力ソースプログラムを生成できない。具体的には
入れ子が定数回でないような出力ソースプログラムや、
入力ファイルの内容により出力内容がまったく異なる出
力ソースプログラムである。
成要素は2つしかないからである。ひとつは、生成ソー
ステンプレートの内容をそのまま出力ソースプログラム
に出力する部分と、もうひとつは、解析情報ファイルな
どの表の要素を検索し、置き換えて出力ソースプログラ
ムに出力する部分である。これら2つの構成要素からは
入れ子が定数回でない出力ソースプログラムや、入力フ
ァイルの内容により出力内容がまったく異なる出力ソー
スプログラムは生成できない。
鑑み、GDMOコンパイラを開発する工数を削減し、出
力ファイルの文法が異なるGDMOコンパイラを容易に
開発することである。
の出力ファイルの文法を容易に変更できることにより、
GDMOコンパイラの保守を容易にすることである。
を容易に変更できるGDMOトランスレータの出力ファ
イルとして、複雑な文法に基づく出力ファイルも生成で
きることである。複雑な文法とは、不定な深さをもつ入
れ子構造があったり、入力ファイルの内容によりまった
く異なる出力ファイルを生成する文法である。
トランスレータは、出力ファイルの文法を出力テンプレ
ートファイルに記述する。より具体的には出力ファイル
の文法を記述した出力テンプレートファイル(図1の1
00)と、出力テンプレートの内容を解釈する解釈手段
(図1の80)を有する。
ータは、出力テンプレートファイルをあらかじめ出力フ
ァイルを生成する前に読み込み、抽象構文木を作成す
る。解釈手段はこの抽象構文木を読み込むことで出力フ
ァイルを生成する。具体的には、出力テンプレートファ
イル(図7の100)を読み込み、抽象構文木を作成す
る構文解析手段(図7の200)と、その抽象構文木を
格納する構文データベース(図7の210)を有する。
容に従い、構文木データベースを検索し、出力ファイル
を生成する。そのため、出力テンプレートファイルの内
容を変更すれば、同一入力ファイルでも、出力ファイル
の内容は変更できる。解釈手段はスタック型データ格納
手段やファイルスタックをもち、途中状態の記憶や、他
出力ファイルの再帰的な読み込みも可能である。それに
より、入れ子構造の出力ファイルなど複雑な文法を有す
る出力ファイルも生成可能である。
あらかじめ出力テンプレートファイルの内容を格納する
ことにより、解釈手段は複数回出力テンプレートファイ
ルの同じ部分を読み込むことがなく、高速に出力ファイ
ルを生成できる。
て図面を参照して詳細に説明する。
GDMOテンプレートが記述された入力ファイル10を
GDMOトランスレータ内に取り込むための読み込み手
段20と、読み込み手段20が読み取ったファイルから
トークンを切り出す字句解析手段30と、字句解析手段
30から受け取ったトークンの内容により、入力ファイ
ル10の構文を解析し、抽象構文木を作成する構文解析
手段40と、抽象構文木を読み込みその意味的な過ちを
検出する意味解析手段50と、構文解析手段40が生成
した抽象構文木を格納する構文木データベース120
と、構文木データベース120にアクセスするためのデ
ータベースアクセス手段130と、出力ファイル110
の文法を決定する出力テンプレートファイル100と、
出力テンプレートファイルを読み込む構文読み込み手段
60と、その字句解析をする字句解析手段70とその構
文を解釈する解釈手段80と、解釈手段80が一時的に
データを保存するために使用するスタック型データ格納
手段160と、その格納手段にアクセスするためのスタ
ック型データアクセス手段190と、解釈手段80が構
文木データベース120をアクセスしつつ出力テンプレ
ートファイル100に従って出力ファイル110を出力
するための出力手段90と、出力テンプレートファイル
のファイルの名前と現在の読み取り位置を記録するファ
イル記述子を格納するファイルスタック170と、ファ
イルスタックアクセス手段160で構成される。読み込
み手段20と、字句解析手段30と、構文解析手段40
はパーザ140を構成し、入力ファイル10を構文解析
し、抽象構文木を作成し構文データベース120に格納
する。構文読み込み手段60と、字句解析手段70と、
解釈手段80と、出力手段90と、スタック型データ格
納手段160と、スタック型データアクセス手段190
と、ファイルスタック170とファイルスタックアクセ
ス手段160と、出力テンプレートファイルファイル1
00はコードジェネレータを構成し、抽象構文木データ
ベース120から構文木を取り出し、出力ファイル11
0を構成する。
通常の文字で構成されるトークンと、タグと呼ぶ機能を
表わすトークンからなる。通常の文字は出力テンプレー
トの内容がそのまま出力ファイル110に出力され、タ
グは出力ファイルの生成方法を与える。
本実施の形態の動作について説明する。
フローチャートである。まずパーザ140は入力ファイ
ル10を読み込み、ファイルの内容に従って抽象構文木
を作成する(ステップA10)。パーザ140はデータ
ベースアクセス手段130を通して、作成した抽象構文
木を抽象構文木データベース120に格納する(ステッ
プA20)。コードジェネレータ150はデータベース
アクセス手段130を通して、構文木データベース12
0にアクセスし、抽象構文木を得る(ステップA3
0)。コードジェネレータは抽象構文木に従い、出力コ
ードを生成する(ステップA40)。出力手段90を通
し、生成した出力コードを出力ファイル110として出
力する(ステップA50)。
れを詳細に表わすフローチャートである。まず、読み込
み手段20が入力ファイル10をパーザ140に読み込
む(ステップB10)。字句解析手段30が入力したフ
ァイルの内容をトークンごとに区切り、トークンをひと
つづつ、構文解析手段40に渡す(ステップB20)。
構文解析手段40はファイル終了を表わすトークンかど
うか検査する(ステップB50)。もし、ファイル終了
トークンでなければ、構文解析手段40はトークンを文
法に従って解析し、抽象構文木のノードを作成し、抽象
構文木の一部とする(ステップB30)。以上の処理を
ファイル終了トークンまで繰り返す。
れたならば、構文解析手段40はデータベースアクセス
手段130を通して、抽象構文木データベース120に
作成した抽象構文木を格納する。そして処理を終了し、
コードジェネレータ150の処理に移行する。
ついて動作を表わすフローチャートである。構文読み取
り手段60は出力テンプレートファイル100をコード
ジェネレータ内に読み込む(ステップC10)。字句解
析手段70は入力した出力テンプレートファイル100
の内容をトークンごとに区切り、解釈手段80に渡す
(ステップC20)。解釈手段80はまず、ファイル終
了トークンが渡されたか否かを検査する(ステップC3
0)。もしファイル終了トークンならば、ファイルスタ
ック170が空か否かを検査する(ステップC60)。
もし空ならば、コードジェネレータ170は処理を終了
する。もし、空でなければ、ファイルスタック170か
らもっとも上にあるファイル記述子を取り出し、そのフ
ァイル記述子が示すファイルを出力テンプレートファイ
ルとして、ファイル記述子が示す位置から読み取りをス
テップC10から再開する。次にファイル終了トークン
でなかった場合、解釈手段80はトークンの内容を分類
し、分類に応じた処理を行う(ステップC50)。
ば、解釈手段80はその文字を出力手段90にそのまま
出力する(ステップC80)。
グであれば、データベースアクセス手段130を通して
構文木データベース120にアクセスし、値を求める。
その値を出力手段90に渡す(ステップC90)。
さらに次のトークンを取得する。次のトークンはスタッ
クの中の位置を示すトークンである。解釈手段80はス
タック型データアクセス手段160を通して、スタック
型データ格納手段160から指定した位置の値を取り出
す。解釈手段80は得た値を出力手段90に渡す(ステ
ップC100)。
3つの場合とも、処理の後、出力手段90が受けた値を
出力ファイル110の末尾に出力する(ステップC11
0)。
さらに次のトークンを取得する。次のトークンは他の出
力テンプレートファイル名である。解釈手段90はま
ず、現在の出力テンプレートファイル100を示すファ
イル記述子をファイルスタック170にファイルスタッ
クアクセス手段160を通して格納する(ステップC1
20)。ファイル記述子はファイルを一意に示すと同時
に現在の読み取り位置を指し示す。次にトークンで指定
されたファイルを開き、ファイル記述子を得る。そのフ
ァイル記述子を使い、新たな出力テンプレートとする
(ステップC130)。そして、ステップC10に戻り
処理を継続する。
条件分岐タグで指定された条件部を読み取り、その値を
求める(ステップC140)。次に得た値と一致する値
を有する条件タグまで出力テンプレートファイル100
を読み飛ばす。条件タグは値と、出力テンプレートファ
イルの一定領域を指し示す。解釈手段80は値の一致し
た条件タグが有する領域の部分をコードジェネレータの
処理ルーチンに渡し、ステップC10からステップC2
10に相当する処理をおこなう(ステップC150)。
領域部分の処理を終えたら、条件分岐タグの末尾まで読
み飛ばし(ステップC155)、ステップC10に戻
る。
グで指定されたデータベースアクセスパターンを得る。
解釈手段80はデータベースアクセス手段130を通
し、データベースアクセスパターンで指定される値の集
合を構文木データベース120から検索する。このと
き、得る値は0個から有限個である。検索手段80は得
た値の数が0個か否かを調べる(ステップC170)。
もし、0個ならばループタグの終了位置まで読み飛ば
し、ステップC10から処理を継続する。さもなくば、
検索手段80はスタック型データアクセス手段190を
使い、得た値のうち1個をスタック型データ格納手段1
60に格納する。この状態で、ループタグで指定された
領域をコードジェネレータの処理ルーチンに渡し、ステ
ップC10からステップC210に相当する処理をおこ
なう(ステップC190)。ステップC190を終了す
ると、解釈手段80はスタック型データ格納領域をポッ
プし、先に格納した値を破棄する(ステップC20
0)。同時に先にデータベースから得た値からその値を
取り除く(ステップC210)。そして、ループタグの
先頭の位置までテンプレートファイル100を読み戻
し、ステップC170から処理を継続する。
態における動作についてさらに詳しく説明する。
100の例である。「<」、「>」で囲まれた部分がタ
グであり、それ以外の部分が通常のトークンである。
「<FOR> 」、「</FOR>」の組などは「/」がついたタグ
と同じ名前で「/」がないタグの組がある。これらはこ
れらのタグの組で括ることにより出力テンプレート内の
ある領域を示す。領域は入れ子構造になっている。
いて本発明のコードジェネレータ150の動作例を示
す。この出力テンプレートファイルのファイル名を「te
st.gen」とする。まず、構文読み取り手段60が出力テ
ンプレート100を読み込む(ステップC10)。字句
解析手段30がまずトークンを切り出し、取り込みタグ
(INCLUDE タグ)を得る。解釈手段80は取り込みタグ
であることを判別し(ステップC50)、ファイル名を
得ようとする。
gen")>」はファイル名を表わし、環境変数CONFIGFILEDI
R の値と文字列"/ "と文字列"heading_acgen.gen "を連
結した文字列で表わされるファイル名である。例えば、
この文字列を仮に「/home/heading_acgen.gen 」とす
る。解釈手段80はファイル「test.gen」のファイル記
述子をファイルスタック170に格納する(ステップC
120)。次にファイル「/home/heading_acgen.gen 」
を開き、新たな出力テンプレートファイルとする(ステ
ップC130)。ステップC10に戻って処理を継続す
る。
タグ)を得る(ステップC20)。解釈手段80はルー
プタグのデータベースのアクセスパターンを得る。この
場合は、"CLASSES" となる。このアクセスパターンに
合致するものが、「log 」と「eventFordingDiscrimina
tor」の2つだとする。解釈手段80はまず、「log」を
スタック型データ格納手段160にプッシュする(ステ
ップC180)。スタック型データ格納手段160の0
番目に「log 」が入ることになる。次に「<FOR> 」、
「</FOR>」で囲まれた領域を仮想的な出力テンプレート
とし、コードジェネレータ150の処理を再帰的に呼び
出す(ステップC190)。
R>」の部分の再帰的に呼び出された処理を述べる。字句
解析手段70はトークンを呼び出し、次のトークン「<F
OR \0"ACTIONS"> 」を得る。ここで、アクセスパターン
のうち、「\0」はスタック型データ格納手段160の第
0番めの要素「log 」を指す。つまり、ここでのアクセ
スパターンは「"log" "ACTIONS" 」である。これにより
得た値を仮に「stateChange 」1個であるとする。解釈
手段140は「stateChange 」をスタック型データ格納
手段160にプッシュする(ステップC180)。ここ
で、スタック型データ格納手段160の第0番目の要素
は「stateChange 」、第1番めの要素は「log 」とな
る。次に「<FOR \0 "ACTIONS">」、「</FOR>」で囲まれ
た領域を仮想的な出力テンプレートとし、コードジェネ
レータ150の処理を再帰的に呼び出す(ステップC1
90)。
す。次に字句解析手段70は「Attr* GCM 」という文字
列を得る。解釈手段80はこの文字列トークンを通常の
トークンと分類し(ステップC50)、出力手段90を
通し「Attr* GCM 」を出力ファイル110の末尾に追加
記述する(ステップC80)。
TACK 1> 」を得る。解釈手段80はスタック型データ格
納手段160の1番めの要素「log 」を得る。これを出
力ファイル110に出力する。
解釈手段80は「<IF (\0, "TYPE")> 」を得る。アクセ
スパターンは「("stateChange", "TYPE") 」となる。こ
こで得た値を仮に「Shared」とする(ステップC14
0)。解釈手段80は条件タグ(MATCH タグ)のうち
値"Shared"をもつものを探す。みつけた場合、「<MATCH
"Shared">」、「</MATCH>」で示される領域に対してコ
ードジェネレータ160の処理を再帰的に起動し、この
領域の処理を行う(ステップC150)。これが終わる
と、条件分岐タグの終了位置「</IF> 」まで読み飛ばし
(ステップC155)、ステップC10から処理を継続
する。
R>」まで処理が終了すると、スタック型データ格納手段
160をポップし、第0番目の要素「stateChange 」を
捨てる(ステップC200)。このときスタック型デー
タ格納手段160の第0番目の要素は再び「log 」とな
る。そして、「<FOR \0 "ACTIONS">」で得た値の集合か
ら「stateChange 」を取り除く(ステップC210)。
る(ステップC170)。ここで、「<FOR \0 "ACTION
S">」で得た要素の数は0になるので、「</FOR>」の部
分まで読み飛ばし、ステップC10から処理を継続す
る。
示す出力ファイルが生成する。
施の形態について図面を参照にして詳細に説明する。
すると、本発明の第2の実施の形態は、コードジェネレ
ータ150が、図1に示された第1の実施の形態におけ
る構文解析手段200と構文データベース210を有す
る点で異なる。構文解析手段200は字句解析手段70
から受け取ったトークンを構文解析し、出力テンプレー
トファイル100の抽象構文木を構文データベース21
0に格納する。解釈手段80は字句解析手段70からト
ークンを受け取るのでなく、構文データベース210か
ら出力テンプレート100の内容を得、それに従い、出
力ファイル110の内容を生成する。
細に説明する。
トを図8に示す。図8のステップC10〜C20,C3
0〜C210で示される本実施形態におけるコードジェ
ネレータの動作は第一の実施の形態のステップC10〜
C20,C30〜C210の動作と同一のため、説明は
省略する。また、図2における第1の実施例のトランス
レータ全体の動作および、図3に示された第1の実施の
形態におけるパーザの動作は本実施の形態と同一のため
説明を省略し、本実施の形態では、先の実施の形態と違
う部分について述べる。
00が持つトークンを、解釈手段80が構文読み込み手
段60および字句解析手段70を通して毎回読みこん
だ。第1の実施の形態では、ループタグがあると出力テ
ンプレート100のループタグの領域をループ回数分解
釈手段80が読み込むことになる。一方、第2の実施の
形態では、字句解析手段70が切り出したトークンを構
文解析手段200が構文解釈し、出力テンプレート10
0の抽象構文木を作成し構文データベース210に格納
する(ステップC25)。この処理をファイル終了トー
クンが現れる間で繰り返す(ステップC28)。ファイ
ル終了トークンが現れたら解釈手段80によるコード生
成をおこなう。具体的には、解釈手段80が構文データ
ベース210からトークンを得る(ステップC29)。
そして、以下、C30からC210までは第1の実施の
形態と同様の動作をおこなう。ただし、ステップC11
0、C130、C155、C170、C210の後はス
テップC29の手前まで戻り処理を再開する。
で示された出力テンプレートファイルを使って説明す
る。まず、構文読み込み手段60は出力テンプレート1
00を読み込む。字句解析手段70は読み込んだテンプ
レートファイルを逐次トークンごとに区切り、構文解析
手段200に渡す。このとき、字句解析手段70は、
「<」, 「INCLUDE 」, 「@」、「(」、「$」、「CO
NFIGFILEDIR」、… というようにトークンを区切る。構
文解釈手段200はこれらのトークンから図9の抽象構
文木を作成し、構文データベース210に格納する。フ
ァイルの末端までこの作業を繰り返す。
得た構文木を構文データベース210からトークンごと
アクセスし、それに基づき先の実施の形態と同様の作業
をする。
レートファイル100に存在しても、出力テンプレート
処理の読み込み処理が1回ですむために処理速度が向上
する。加えて、構文木を作成するため、すべての構文エ
ラーをステップC25の段階で発見することができる。
第1の実施の形態では出力テンプレート100の構文エ
ラーは解釈手段がステップC50の段階で発見する。ま
た、出力テンプレートのたまたま処理が行われなかった
部分では構文エラーを発見できない。
コンピュータによて実現するためには、本発明のGDM
Oトランスレータが持つ機能をコンピュータが解釈可能
なプログラムによって作成し、この作成したプログラム
をCD−ROMやフロッピーディスクに代表される記録
媒体に記録し、本発明の機能を実現したいコンピュータ
にこのプログラムを読み込ませばよい。
を有するGDMOトランスレータを容易に構築できるこ
とである。
ファイルの内容に従って、入力ファイルから出力ファイ
ルを生成する。出力テンプレートファイルの内容を変更
するだけで、容易に出力ファイルの文法を変更できるた
めである。
ァイルをも生成できる。
が可能な読み込みタグ(INCLUDE タグ)や、入力による
出力の変更ができる条件分岐タグ(IFタグ)、繰り返し
を表現できるループタグ(FOR タグ)を有しており、解
釈手段はそれらのタグを実行するための構造であるファ
イルスタックやスタック型データ格納手段を有するため
である。
でも高速に出力テンプレートファイルの解釈が可能であ
る。
を生成する前にあらかじめ出力テンプレートを読み込
み、あらかじめ抽象構文木を作成し構文データベースに
格納するためである。
ク図である。
チャートである。
すフローチャートである。
タの動作を示すフローチャートである。
図である。
ク図である。
チャートである。
抽象構文木の例である。
ある。
Claims (18)
- 【請求項1】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
ァイルと、前記出力テンプレートファイルを読み込み、
この読み込んだ内容から前記構文木データベースに格納
された抽象構文木にアクセスして出力ファイルを生成す
る解釈手段と、前記出力テンプレートファイル中の取り
込みタグを前記解釈手段が処理するために、取り込みフ
ァイルのファイル記述子を記録するファイルスタックと
を少なくとも備えたコードジェネレータと、 を備えたことを特徴とするGDMOトランスレータ。 - 【請求項2】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
ァイルと、前記出力テンプレートファイルを読み込み、
この読み込んだ内容から前記構文木データベースに格納
された抽象構文木にアクセスして出力ファイルを生成す
る解釈手段と、前記出力テンプレートファイル中のルー
プタグを前記解釈手段が処理するために、前記ループタ
グの処理中の値や処理途中の値を一時的に格納するスタ
ック型データ格納手段とを少なくとも備えたコードジェ
ネレータと、を備えたことを特徴とするGDMOトラン
スレータ。 - 【請求項3】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
ァイルと、前記出力テンプレートファイルを読み込み、
この読み込んだ内容から前記構文木データベースに格納
された抽象構文木にアクセスして出力ファイルを生成す
る解釈手段と、前記出力テンプレートファイル中の取り
込みタグを前記解釈手段が処理するために、取り込みフ
ァイルのファイル記述子を記録するファイルスタック
と、前記出力テンプレートファイル中のループタグを前
記解釈手段が処理するために、前記ループタグの処理中
の値や処理途中の値を一時的に格納するスタック型デー
タ格納手段とを少なくとも備えたコードジェネレータ
と、 を備えたことを特徴とするGDMOトランスレータ。 - 【請求項4】前記コードジェネレータに、前記出力テン
プレートファイルの内容の構文解析を行い、第2の抽象
構文木を作成する構文解析手段と、前記構文解析手段が
生成した第2の抽象構文木を格納するための構文データ
ベースと、を備え、前記解釈手段は、前記構文データベ
ースから前記出力テンプレートファイルの抽象構文木を
得ることによって、前記出力ファイルを生成することを
特徴とする請求項1〜3のいずれか一項に記載のGDM
Oトランスレータ。 - 【請求項5】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにデータベースアクセス
タグが記述されている と、構文木データベースにアクセ
スし、この結果得た値を出力ファイルに反映することを
特徴とするGDMOトランスレーション方法。 - 【請求項6】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにループタグがあると、
前記構文木データベースにアクセスして複数の値を検索
し、この検索された値をひとつずつスタック型データ格
納手段にプッシュし、繰り返しタグで囲まれた領域を解
釈しその領域の解釈が済むと前記スタック型データ格納
手段から先の値をポップし、次の値をプッシュする処理
を検索した値の数と同じ回数だけ繰り返し実行すること
を特徴とするGDMOトランスレーション方法。 - 【請求項7】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにスタックタグが存在す
ると、前記スタックタグが指定した要素を取り出し、得
た値を前記出力ファイルに反映することを特徴とするG
DMOトランスレーション方法。 - 【請求項8】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを 生成するGDMOト
ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルに条件分岐タグが存在す
ると、この条件分岐タグが示す条件部を読み取り、その
条件部の値を求め、この結果得た値と同じ値を持つ条件
タグを前記出力テンプレートから探し、この条件タグで
囲まれた領域に対して処理を行うことを特徴とするGD
MOトランスレーション方法。 - 【請求項9】GDMOテンプレートが記述された入力フ
ァイルを入力とし、出力ファイルを生成するGDMOト
ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルに取り込みタグが存在す
ると、ファイルスタックに現在のファイル記述子を格納
し、前記取り込みタグが指定するファイルを新たな出力
テンプレートファイルとし、新たに取り込んだタグが終
了したら、前記ファイルスタックをポップし、前記ファ
イルスタックに格納されたファイル記述子を用いて前記
読み込みタグの直後から先の出力テンプレートファイル
を使った出力ファイルの生成を再開することを特徴とす
るGDMOトランスレーション方法。 - 【請求項10】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し 、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルを読み込
み、この読み込んだ内容から前記構文木データベースに
格納された抽象構文木にアクセスして出力ファイルを生
成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにタグでない文字列があ
ると、その文字列をそのまま出力ファイルに出力するこ
とを特徴とするGDMOトランスレーション方法。 - 【請求項11】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力ファイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルにデータベースアクセス
タグが記述されていると、構文木データベースにアクセ
スし、この結果得た値を出力ファイルに反映することを
特徴とするGDMOトランスレーション方法。 - 【請求項12】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力フ ァイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルにループタグがあると、
前記構文木データベースにアクセスして複数の値を検索
し、この検索された値をひとつずつスタック型データ格
納手段にプッシュし、繰り返しタグで囲まれた領域を解
釈しその領域の解釈が済むと前記スタック型データ格納
手段から先の値をポップし、次の値をプッシュする処理
を検索した値の数と同じ回数だけ繰り返し実行すること
を特徴とするGDMOトランスレーション方法。 - 【請求項13】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力ファイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルにスタックタグが存在す
ると、前記スタックタグが指定した要素を取り出し、得
た値を前記出力ファイルに反映することを特徴とするG
DMOトランスレーション方法。 - 【請求項14】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力フ ァイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルに条件分岐タグが存在す
ると、この条件分岐タグが示す条件部を読み取り、その
条件部の値を求め、この結果得た値と同じ値を持つ条件
タグを前記出力テンプレートから探し、この条件タグで
囲まれた領域に対して処理を行うことを特徴とするGD
MOトランスレーション方法。 - 【請求項15】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力ファイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルに取り込みタグが存在す
ると、ファイルスタックに現在のファイル記述子を格納
し、前記取り込みタグが指定するファイルを新たな出力
テンプレートファイルとし、新たに取り込んだタグが終
了したら、前記ファイルスタックをポップし、前記ファ
イルスタックに格納されたファイル記述子を用いて前記
読み込みタグの直後から先の出力テンプレートファイル
を使った出力ファイルの生成を再開することを特徴とす
るGDMOトランスレーション方法。 - 【請求項16】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルを生成するGDMO
トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成し、前記パーザで作成された抽象構
文木を構文木データベースに格納し、前記出力ファイル
の文法を規定した出力テンプレートファイルについて構
文解析を行い、第2の抽象構文木を作成し、前記第2の
抽象構文木を構文データベースに格納し 、前記構文デー
タベースから前記第2の抽象構文木を読み込み、この読
み込んだ内容から前記構文木データベースに格納された
抽象構文木にアクセスして出力ファイルを生成するGD
MOトランスレーション方法であって、 前記出力テンプレートファイルにタグでない文字列があ
ると、その文字列をそのまま出力ファイルに出力するこ
とを特徴とするGDMOトランスレーション方法。 - 【請求項17】GDMOテンプレートが記述された入力
ファイルを入力とし、出力ファイルの文法を規定した出
力テンプレートファイルを読み込み、当該出力テンプレ
ートファイルに基づいて出力ファイルを生成するGDM
Oトランスレータプログラムを記録したコンピュータが
読み取り可能な記録媒体であって、 前記入力ファイルを読み込み構文解析を行うことによっ
て抽象構文木を作成するパーザ機能と、 コンピュータが備える記憶手段に、前記パーザ機能で作
成された抽象構文木を格納せしめる構文木データベース
機能と、 前記出力テンプレートファイルを読み込み、この読み込
んだ内容から前記構文木データベースに格納された抽象
構文木にアクセスして出力ファイルを生成する解釈機能
を少なくとも備えたコードジェネレータ機能とをコンピ
ュータに機能させるGDMOトランスレータプログラム
を記録した記録媒体。 - 【請求項18】前記コードジェネレータ機能に、 前記出力テンプレートファイルの内容の構文解析を行
い、第2の抽象構文木を作成する構文解析機能と、コン
ピュータが備える記憶手段に、前記構文解析機能が生成
した第2の抽象構文木を格納せしめる構文データベース
機能と、 前記解釈機能は、前記第2の抽象構文木を得ることによ
って、前記出力ファイルを生成するようにしたことを特
徴とする請求項17に記載のGDMOトランスレータプ
ログラムを記録した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25953697A JP3230467B2 (ja) | 1997-09-25 | 1997-09-25 | Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 |
US09/151,518 US6138272A (en) | 1997-09-25 | 1998-09-11 | GDMO translator, method of GDMO translation, and recording medium containing program for GDMO translator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25953697A JP3230467B2 (ja) | 1997-09-25 | 1997-09-25 | Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1196016A JPH1196016A (ja) | 1999-04-09 |
JP3230467B2 true JP3230467B2 (ja) | 2001-11-19 |
Family
ID=17335480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25953697A Expired - Fee Related JP3230467B2 (ja) | 1997-09-25 | 1997-09-25 | Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6138272A (ja) |
JP (1) | JP3230467B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263366B1 (en) * | 1996-12-31 | 2001-07-17 | Mci Communications Corporation | System and method therefor of translating a message having a given format for usage in an operations system |
US6356950B1 (en) * | 1999-01-11 | 2002-03-12 | Novilit, Inc. | Method for encoding and decoding data according to a protocol specification |
US6405365B1 (en) * | 1999-07-02 | 2002-06-11 | Cisco Technology, Inc. | Computer program command generator and parser |
US6353925B1 (en) * | 1999-09-22 | 2002-03-05 | Compaq Computer Corporation | System and method for lexing and parsing program annotations |
JP3430252B2 (ja) * | 2000-01-24 | 2003-07-28 | 独立行政法人産業技術総合研究所 | ソースコード変換方法、ソースコード変換プログラムを記録した記録媒体及びソースコード変換装置 |
FR2812479B1 (fr) * | 2000-07-28 | 2003-01-31 | Airsys Atm S A | Generateur universel de code informatique |
CN1313925C (zh) * | 2002-12-31 | 2007-05-02 | 上海科泰世纪科技有限公司 | 构件自描述封装方法及运行的方法 |
JP2005032047A (ja) * | 2003-07-08 | 2005-02-03 | Yoshihide Kobayashi | ファイル自動生成装置、方法、プログラム及び記憶媒体 |
US20050091036A1 (en) * | 2003-10-23 | 2005-04-28 | Hazel Shackleton | Method and apparatus for a hierarchical object model-based constrained language interpreter-parser |
US20050278693A1 (en) * | 2004-06-15 | 2005-12-15 | Brunell Edward G | Distribution adaptor for network management application development |
US20060004856A1 (en) * | 2004-06-15 | 2006-01-05 | Xiangyang Shen | Data management and persistence frameworks for network management application development |
US20050278709A1 (en) * | 2004-06-15 | 2005-12-15 | Manjula Sridhar | Resource definition language for network management application development |
US20060070082A1 (en) * | 2004-06-15 | 2006-03-30 | Manjula Sridhar | Managed object framework for network management application development |
US7555743B2 (en) * | 2004-06-15 | 2009-06-30 | Alcatel-Lucent Usa Inc. | SNMP agent code generation and SNMP agent framework for network management application development |
US20060036721A1 (en) * | 2004-06-15 | 2006-02-16 | Dong Zhao | Run-time tool for network management application |
US20050278361A1 (en) * | 2004-06-15 | 2005-12-15 | Brunell Edward G | View definition language for network management application development |
JP4622589B2 (ja) * | 2005-03-08 | 2011-02-02 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
KR100692172B1 (ko) * | 2005-03-30 | 2007-03-12 | 아이티플러스 주식회사 | 종합 문자열 분석기 및 그 분석 방법 |
US8595703B2 (en) * | 2006-01-30 | 2013-11-26 | Microsoft Corporation | Context based code analysis |
CN111090417B (zh) * | 2019-11-14 | 2023-11-28 | 杭州中恒电气股份有限公司 | 二进制文件解析方法、装置、设备及介质 |
CN112269566B (zh) * | 2020-11-03 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | 脚本生成处理方法、装置、设备及*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291583A (en) * | 1990-12-14 | 1994-03-01 | Racal-Datacom, Inc. | Automatic storage of persistent ASN.1 objects in a relational schema |
US5608720A (en) * | 1993-03-09 | 1997-03-04 | Hubbell Incorporated | Control system and operations system interface for a network element in an access system |
US5519868A (en) * | 1993-12-30 | 1996-05-21 | International Business Machines Corporation | Compilation of information contained in GDMO name bindings |
US5704041A (en) * | 1994-09-21 | 1997-12-30 | International Business Machines Corporation | Object independent scoping in an open system interconnection system |
DE19534207A1 (de) * | 1995-09-15 | 1997-03-20 | Sel Alcatel Ag | Verfahren zur Kodierung oder Dekodierung von Protokolldateneinheiten (PDU) |
US5764955A (en) * | 1995-10-19 | 1998-06-09 | Oasys Group, Inc. | Gateway for using legacy telecommunications network element equipment with a common management information protocol |
US5892950A (en) * | 1996-08-09 | 1999-04-06 | Sun Microsystems, Inc. | Interface for telecommunications network management |
DE59604238D1 (de) * | 1996-08-20 | 2000-02-24 | Alcatel Sa | Verfahren zur Verwaltung der Benennung von Objekten |
US5850511A (en) * | 1996-10-28 | 1998-12-15 | Hewlett-Packard Company | Computer implemented methods and apparatus for testing a telecommunications management network (TMN) agent |
US5870749A (en) * | 1996-12-19 | 1999-02-09 | Dset Corporation | Automatic translation between CMIP PDUs and custom data structures |
-
1997
- 1997-09-25 JP JP25953697A patent/JP3230467B2/ja not_active Expired - Fee Related
-
1998
- 1998-09-11 US US09/151,518 patent/US6138272A/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
NTT R&D,1995−12,Vol.44,No.12,p.1177−1182 |
Also Published As
Publication number | Publication date |
---|---|
JPH1196016A (ja) | 1999-04-09 |
US6138272A (en) | 2000-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3230467B2 (ja) | Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 | |
Murphy et al. | Lightweight lexical source model extraction | |
US7627541B2 (en) | Transformation of modular finite state transducers | |
US8387029B2 (en) | Direct execution virtual machine | |
US7624075B2 (en) | Transformation of modular finite state transducers | |
US7340728B2 (en) | Methods and systems for direct execution of XML documents | |
US6859810B2 (en) | Declarative specification and engine for non-isomorphic data mapping | |
JP3272014B2 (ja) | 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置 | |
US6269475B1 (en) | Interface for object oriented programming language | |
Carroll | Practical unification-based parsing of natural language | |
US20020194223A1 (en) | Computer programming language, system and method for building text analyzers | |
JPS61103247A (ja) | 翻訳プログラム作成システム | |
KR100692172B1 (ko) | 종합 문자열 분석기 및 그 분석 방법 | |
US20210089284A1 (en) | Method and system for using subroutine graphs for formal language processing | |
Flanagan | Effective Static Debugging | |
Boshernitsan | Harmonia: A flexible framework for constructing interactive language-based programming tools | |
US7418659B2 (en) | System and method for declaring a resource within a markup document | |
Flanagan et al. | Modular and polymorphic set-based analysis: Theory and practice | |
JP7059757B2 (ja) | Api処理方法、端末、api処理プログラム | |
AT&T | ||
AT&T | ||
White et al. | The NewYacc User's Manual | |
WO2023249765A1 (en) | Source code structural inference based on indentation | |
Wan | Enhancing an Extensible Interpreter with a Syntax Macro Facility | |
Régis-Gianas | Menhir Reference Manual |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010814 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |