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
Application number
JP25953697A
Other languages
English (en)
Other versions
JPH1196016A (ja
Inventor
敏夫 登内
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP25953697A priority Critical patent/JP3230467B2/ja
Priority to US09/151,518 priority patent/US6138272A/en
Publication of JPH1196016A publication Critical patent/JPH1196016A/ja
Application granted granted Critical
Publication of JP3230467B2 publication Critical patent/JP3230467B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation 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

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、同一の文法を有す
る入力ファイルから様々な文法の出力ファイルを生成す
るGDMO(Guideline for Definition of Managed Ob
ject)トランスレータに関し、特に複数のネットワーク
管理システム用に多種のアプリケーションプログラムを
生成することが可能なGDMOトランスレータ及びGD
MOトランスレーション方法並びにGDMOトランスレ
ータプログラムを記録した記録媒体に関する。以下で
は、この技術を単にGDMOトランスレータと記載す
る。
【0002】
【従来の技術】従来、この種のGDMOトランスレータ
は、例えば特開平3-179950号公報に示されているよう
に、ネットワーク管理システムを構築するアプリケーシ
ョンプログラム生成のために用いられる。特開平3-1799
50号公報は管理オブジェクトの内容を記述したテンプレ
ートを入力とし、管理オブジェクトコンパイラを起動す
る。管理オブジェクトコンパイラは管理情報テーブルの
静的なデータを生成する。
【0003】この場合、ネットワーク管理システムが
OSI(Open Systems Interconnection)管理エージェ
ントならば、テンプレートは GDMOテンプレートで
あり、管理オブジェクトコンパイラはGDMOトランス
レータに相当する。GDMOトランスレータはネットワ
ーク管理システムに関するデータもしくはプログラムを
生成する。
【0004】また、従来この種の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を生成する。
【0005】図11は特開平8-202544号公報の生成ソー
ステンプレート1040の例である。漢字コードで記述
した部分を解析情報ファイル1030が格納する内容で
置き換えて、図12で示す生成ソースプログラムを生成
する。
【0006】
【発明が解決しようとする課題】従来技術における第1
の問題点は、入力情報は同一だが、適用対象が多岐にわ
たるために多数のGDMOトランスレータを開発する必
要があることである。そのため、GDMOトランスレー
タを開発するための工数が増大する。
【0007】その理由は、GDMOトランスレータの出
力プログラムとリンクするネットワーク管理システム開
発用プラットフォームが多数存在するからである。OS
Iで文法が規定されているGDMOテンプレートをもと
に、ネットワーク管理システムを構築する。この手続き
を自動化し、GDMOテンプレートからネットワーク管
理システムのプログラムコードを作成するのが、GDM
Oトランスレータである。このようなGDMOトランス
レータの一例が前述の従来技術である特開平3-179950号
公報である。ネットワーク管理システムでは必ずネット
ワーク監視マネージャとネットワーク監視対象の二者が
存在し、それらの両者とも同一のGDMOテンプレート
をもとに開発されるが、ネットワーク監視マネージャ開
発用プラットフォームのために生成するプログラムと、
監視対象用プラットフォームのために生成するプログラ
ムは異なる。ゆえに、ネットワーク管理システムを構築
するには少なくとも2種類のGDMOトランスレータが
必要である。
【0008】加えて、ネットワーク管理システム開発用
プラットフォームは多数世に存在するため、プラットフ
ォームごとにGDMOトランスレータを開発する必要が
ある。また、同一プラットフォームでもバージョンアッ
プするごとにアプリケーションプログラムインタフェー
ス(API)が変更されることが多々あり、そのたびに
GDMOテンプレートを開発・変更する必要がある。
【0009】そこで、特開平8-202544号公報のように生
成ソーステンプレートを用いて出力コードを定めてや
り、新たなGDMOトランスレータの開発工数を削減す
る方法によりこの第1の問題点を回避できる。しかし、
第2の問題点として、この従来技術では、出力可能なソ
ースファイルの文法が限定されることである。
【0010】その理由は、特開平8-202544号公報では構
文意味解析ステップの結果が意味情報を基準に分類した
表を作成する。プログラム生成処理部は表を参照しつ
つ、生成ソーステンプレートの所定部分に情報を埋めて
生成ソースプログラムを生成する。しかし、意味解析を
したステップにおいて不要な情報は削除されており、出
力ファイルに埋め込まれている情報は限定される。
【0011】加えて、表ではクラス定義などの入れ子の
ない情報は管理できるが、入れ子を有するような構文を
もつ入力ファイルの場合、管理しきれない。そのため表
で格納できる情報の形式は限定される。ゆえに生成ソー
スプログラムの生成文法も限定される。
【0012】第3の問題点は、特開平8-202544号公報の
生成ソーステンプレートでは、いくつかの文法構造を有
する出力ソースプログラムを生成できない。具体的には
入れ子が定数回でないような出力ソースプログラムや、
入力ファイルの内容により出力内容がまったく異なる出
力ソースプログラムである。
【0013】その理由は、生成ソーステンプレートの構
成要素は2つしかないからである。ひとつは、生成ソー
ステンプレートの内容をそのまま出力ソースプログラム
に出力する部分と、もうひとつは、解析情報ファイルな
どの表の要素を検索し、置き換えて出力ソースプログラ
ムに出力する部分である。これら2つの構成要素からは
入れ子が定数回でない出力ソースプログラムや、入力フ
ァイルの内容により出力内容がまったく異なる出力ソー
スプログラムは生成できない。
【0014】本発明の目的は、上記従来技術の問題点に
鑑み、GDMOコンパイラを開発する工数を削減し、出
力ファイルの文法が異なるGDMOコンパイラを容易に
開発することである。
【0015】本発明の他の目的は、GDMOコンパイラ
の出力ファイルの文法を容易に変更できることにより、
GDMOコンパイラの保守を容易にすることである。
【0016】本発明の他の目的は、出力ファイルの文法
を容易に変更できるGDMOトランスレータの出力ファ
イルとして、複雑な文法に基づく出力ファイルも生成で
きることである。複雑な文法とは、不定な深さをもつ入
れ子構造があったり、入力ファイルの内容によりまった
く異なる出力ファイルを生成する文法である。
【0017】
【課題を解決するための手段】本発明の第1のGDMO
トランスレータは、出力ファイルの文法を出力テンプレ
ートファイルに記述する。より具体的には出力ファイル
の文法を記述した出力テンプレートファイル(図1の1
00)と、出力テンプレートの内容を解釈する解釈手段
(図1の80)を有する。
【0018】また、本発明の第2のGDMOトランスレ
ータは、出力テンプレートファイルをあらかじめ出力フ
ァイルを生成する前に読み込み、抽象構文木を作成す
る。解釈手段はこの抽象構文木を読み込むことで出力フ
ァイルを生成する。具体的には、出力テンプレートファ
イル(図7の100)を読み込み、抽象構文木を作成す
る構文解析手段(図7の200)と、その抽象構文木を
格納する構文データベース(図7の210)を有する。
【0019】解釈手段は出力テンプレートファイルの内
容に従い、構文木データベースを検索し、出力ファイル
を生成する。そのため、出力テンプレートファイルの内
容を変更すれば、同一入力ファイルでも、出力ファイル
の内容は変更できる。解釈手段はスタック型データ格納
手段やファイルスタックをもち、途中状態の記憶や、他
出力ファイルの再帰的な読み込みも可能である。それに
より、入れ子構造の出力ファイルなど複雑な文法を有す
る出力ファイルも生成可能である。
【0020】また、構文データベースに構文解釈手段が
あらかじめ出力テンプレートファイルの内容を格納する
ことにより、解釈手段は複数回出力テンプレートファイ
ルの同じ部分を読み込むことがなく、高速に出力ファイ
ルを生成できる。
【0021】
【発明の実施の形態】
(第1の実施の形態)次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0022】図1を参照すると、本発明の実施の形態は
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を構成する。
【0023】出力テンプレートファイル100の内容は
通常の文字で構成されるトークンと、タグと呼ぶ機能を
表わすトークンからなる。通常の文字は出力テンプレー
トの内容がそのまま出力ファイル110に出力され、タ
グは出力ファイルの生成方法を与える。
【0024】(動作の説明)次に図2,3,4を使って
本実施の形態の動作について説明する。
【0025】図2は本発明の全体の処理の流れを表わす
フローチャートである。まずパーザ140は入力ファイ
ル10を読み込み、ファイルの内容に従って抽象構文木
を作成する(ステップA10)。パーザ140はデータ
ベースアクセス手段130を通して、作成した抽象構文
木を抽象構文木データベース120に格納する(ステッ
プA20)。コードジェネレータ150はデータベース
アクセス手段130を通して、構文木データベース12
0にアクセスし、抽象構文木を得る(ステップA3
0)。コードジェネレータは抽象構文木に従い、出力コ
ードを生成する(ステップA40)。出力手段90を通
し、生成した出力コードを出力ファイル110として出
力する(ステップA50)。
【0026】図3はパーザ140の処理について処理流
れを詳細に表わすフローチャートである。まず、読み込
み手段20が入力ファイル10をパーザ140に読み込
む(ステップB10)。字句解析手段30が入力したフ
ァイルの内容をトークンごとに区切り、トークンをひと
つづつ、構文解析手段40に渡す(ステップB20)。
構文解析手段40はファイル終了を表わすトークンかど
うか検査する(ステップB50)。もし、ファイル終了
トークンでなければ、構文解析手段40はトークンを文
法に従って解析し、抽象構文木のノードを作成し、抽象
構文木の一部とする(ステップB30)。以上の処理を
ファイル終了トークンまで繰り返す。
【0027】もし、ファイルの末端を示すトークンが現
れたならば、構文解析手段40はデータベースアクセス
手段130を通して、抽象構文木データベース120に
作成した抽象構文木を格納する。そして処理を終了し、
コードジェネレータ150の処理に移行する。
【0028】図4はコードジェネレータ150の処理に
ついて動作を表わすフローチャートである。構文読み取
り手段60は出力テンプレートファイル100をコード
ジェネレータ内に読み込む(ステップC10)。字句解
析手段70は入力した出力テンプレートファイル100
の内容をトークンごとに区切り、解釈手段80に渡す
(ステップC20)。解釈手段80はまず、ファイル終
了トークンが渡されたか否かを検査する(ステップC3
0)。もしファイル終了トークンならば、ファイルスタ
ック170が空か否かを検査する(ステップC60)。
もし空ならば、コードジェネレータ170は処理を終了
する。もし、空でなければ、ファイルスタック170か
らもっとも上にあるファイル記述子を取り出し、そのフ
ァイル記述子が示すファイルを出力テンプレートファイ
ルとして、ファイル記述子が示す位置から読み取りをス
テップC10から再開する。次にファイル終了トークン
でなかった場合、解釈手段80はトークンの内容を分類
し、分類に応じた処理を行う(ステップC50)。
【0029】もし、トークンの内容が通常の文字であれ
ば、解釈手段80はその文字を出力手段90にそのまま
出力する(ステップC80)。
【0030】もし、トークンがデータベースアクセスタ
グであれば、データベースアクセス手段130を通して
構文木データベース120にアクセスし、値を求める。
その値を出力手段90に渡す(ステップC90)。
【0031】もし、トークンがスタックタグであれば、
さらに次のトークンを取得する。次のトークンはスタッ
クの中の位置を示すトークンである。解釈手段80はス
タック型データアクセス手段160を通して、スタック
型データ格納手段160から指定した位置の値を取り出
す。解釈手段80は得た値を出力手段90に渡す(ステ
ップC100)。
【0032】以上ステップC80,C90,C100の
3つの場合とも、処理の後、出力手段90が受けた値を
出力ファイル110の末尾に出力する(ステップC11
0)。
【0033】もし、トークンが取り込みタグであれば、
さらに次のトークンを取得する。次のトークンは他の出
力テンプレートファイル名である。解釈手段90はま
ず、現在の出力テンプレートファイル100を示すファ
イル記述子をファイルスタック170にファイルスタッ
クアクセス手段160を通して格納する(ステップC1
20)。ファイル記述子はファイルを一意に示すと同時
に現在の読み取り位置を指し示す。次にトークンで指定
されたファイルを開き、ファイル記述子を得る。そのフ
ァイル記述子を使い、新たな出力テンプレートとする
(ステップC130)。そして、ステップC10に戻り
処理を継続する。
【0034】もし、タグが条件分岐タグならば、まず、
条件分岐タグで指定された条件部を読み取り、その値を
求める(ステップC140)。次に得た値と一致する値
を有する条件タグまで出力テンプレートファイル100
を読み飛ばす。条件タグは値と、出力テンプレートファ
イルの一定領域を指し示す。解釈手段80は値の一致し
た条件タグが有する領域の部分をコードジェネレータの
処理ルーチンに渡し、ステップC10からステップC2
10に相当する処理をおこなう(ステップC150)。
領域部分の処理を終えたら、条件分岐タグの末尾まで読
み飛ばし(ステップC155)、ステップC10に戻
る。
【0035】もし、ループタグならば、まず、ループタ
グで指定されたデータベースアクセスパターンを得る。
解釈手段80はデータベースアクセス手段130を通
し、データベースアクセスパターンで指定される値の集
合を構文木データベース120から検索する。このと
き、得る値は0個から有限個である。検索手段80は得
た値の数が0個か否かを調べる(ステップC170)。
もし、0個ならばループタグの終了位置まで読み飛ば
し、ステップC10から処理を継続する。さもなくば、
検索手段80はスタック型データアクセス手段190を
使い、得た値のうち1個をスタック型データ格納手段1
60に格納する。この状態で、ループタグで指定された
領域をコードジェネレータの処理ルーチンに渡し、ステ
ップC10からステップC210に相当する処理をおこ
なう(ステップC190)。ステップC190を終了す
ると、解釈手段80はスタック型データ格納領域をポッ
プし、先に格納した値を破棄する(ステップC20
0)。同時に先にデータベースから得た値からその値を
取り除く(ステップC210)。そして、ループタグの
先頭の位置までテンプレートファイル100を読み戻
し、ステップC170から処理を継続する。
【0036】次に、具体的な例を挙げながら本実施の形
態における動作についてさらに詳しく説明する。
【0037】図5は本発明の出力テンプレートファイル
100の例である。「<」、「>」で囲まれた部分がタ
グであり、それ以外の部分が通常のトークンである。
「<FOR> 」、「</FOR>」の組などは「/」がついたタグ
と同じ名前で「/」がないタグの組がある。これらはこ
れらのタグの組で括ることにより出力テンプレート内の
ある領域を示す。領域は入れ子構造になっている。
【0038】次に、この図5の出力テンプレート例を用
いて本発明のコードジェネレータ150の動作例を示
す。この出力テンプレートファイルのファイル名を「te
st.gen」とする。まず、構文読み取り手段60が出力テ
ンプレート100を読み込む(ステップC10)。字句
解析手段30がまずトークンを切り出し、取り込みタグ
(INCLUDE タグ)を得る。解釈手段80は取り込みタグ
であることを判別し(ステップC50)、ファイル名を
得ようとする。
【0039】「@($CONFIGFILEDIR,"/","heading_acgen.
gen")>」はファイル名を表わし、環境変数CONFIGFILEDI
R の値と文字列"/ "と文字列"heading_acgen.gen "を連
結した文字列で表わされるファイル名である。例えば、
この文字列を仮に「/home/heading_acgen.gen 」とす
る。解釈手段80はファイル「test.gen」のファイル記
述子をファイルスタック170に格納する(ステップC
120)。次にファイル「/home/heading_acgen.gen 」
を開き、新たな出力テンプレートファイルとする(ステ
ップC130)。ステップC10に戻って処理を継続す
る。
【0040】次に字句解析手段70はループタグ(FOR
タグ)を得る(ステップC20)。解釈手段80はルー
プタグのデータベースのアクセスパターンを得る。この
場合は、"CLASSES" となる。このアクセスパターンに
合致するものが、「log 」と「eventFordingDiscrimina
tor」の2つだとする。解釈手段80はまず、「log」を
スタック型データ格納手段160にプッシュする(ステ
ップC180)。スタック型データ格納手段160の0
番目に「log 」が入ることになる。次に「<FOR> 」、
「</FOR>」で囲まれた領域を仮想的な出力テンプレート
とし、コードジェネレータ150の処理を再帰的に呼び
出す(ステップC190)。
【0041】ここでは、「<FOR "CLASSES"> 」、「</FO
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)。
【0042】さらに再帰的な呼び出しで処理する例を示
す。次に字句解析手段70は「Attr* GCM 」という文字
列を得る。解釈手段80はこの文字列トークンを通常の
トークンと分類し(ステップC50)、出力手段90を
通し「Attr* GCM 」を出力ファイル110の末尾に追加
記述する(ステップC80)。
【0043】解釈手段80は次にスタックトークン「<S
TACK 1> 」を得る。解釈手段80はスタック型データ格
納手段160の1番めの要素「log 」を得る。これを出
力ファイル110に出力する。
【0044】しばらく同様の処理を行っているうちに、
解釈手段80は「<IF (\0, "TYPE")> 」を得る。アクセ
スパターンは「("stateChange", "TYPE") 」となる。こ
こで得た値を仮に「Shared」とする(ステップC14
0)。解釈手段80は条件タグ(MATCH タグ)のうち
値"Shared"をもつものを探す。みつけた場合、「<MATCH
"Shared">」、「</MATCH>」で示される領域に対してコ
ードジェネレータ160の処理を再帰的に起動し、この
領域の処理を行う(ステップC150)。これが終わる
と、条件分岐タグの終了位置「</IF> 」まで読み飛ばし
(ステップC155)、ステップC10から処理を継続
する。
【0045】「<FOR \0 "ACTIONS">」に対応する「</FO
R>」まで処理が終了すると、スタック型データ格納手段
160をポップし、第0番目の要素「stateChange 」を
捨てる(ステップC200)。このときスタック型デー
タ格納手段160の第0番目の要素は再び「log 」とな
る。そして、「<FOR \0 "ACTIONS">」で得た値の集合か
ら「stateChange 」を取り除く(ステップC210)。
【0046】解釈手段80は値の集合の要素数を確認す
る(ステップC170)。ここで、「<FOR \0 "ACTION
S">」で得た要素の数は0になるので、「</FOR>」の部
分まで読み飛ばし、ステップC10から処理を継続す
る。
【0047】以上の処理を繰り返すことにより、図6に
示す出力ファイルが生成する。
【0048】(他の実施の形態)次に本発明の第2の実
施の形態について図面を参照にして詳細に説明する。
【0049】第2の実施の形態の構成を示す図7を参照
すると、本発明の第2の実施の形態は、コードジェネレ
ータ150が、図1に示された第1の実施の形態におけ
る構文解析手段200と構文データベース210を有す
る点で異なる。構文解析手段200は字句解析手段70
から受け取ったトークンを構文解析し、出力テンプレー
トファイル100の抽象構文木を構文データベース21
0に格納する。解釈手段80は字句解析手段70からト
ークンを受け取るのでなく、構文データベース210か
ら出力テンプレート100の内容を得、それに従い、出
力ファイル110の内容を生成する。
【0050】本実施の形態の動作を図面を参照にして詳
細に説明する。
【0051】本実施の形態における動作のフローチャー
トを図8に示す。図8のステップC10〜C20,C3
0〜C210で示される本実施形態におけるコードジェ
ネレータの動作は第一の実施の形態のステップC10〜
C20,C30〜C210の動作と同一のため、説明は
省略する。また、図2における第1の実施例のトランス
レータ全体の動作および、図3に示された第1の実施の
形態におけるパーザの動作は本実施の形態と同一のため
説明を省略し、本実施の形態では、先の実施の形態と違
う部分について述べる。
【0052】第1の実施の形態では出力テンプレート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の手前まで戻り処理を再開する。
【0053】次に具体的な動作について説明する。図5
で示された出力テンプレートファイルを使って説明す
る。まず、構文読み込み手段60は出力テンプレート1
00を読み込む。字句解析手段70は読み込んだテンプ
レートファイルを逐次トークンごとに区切り、構文解析
手段200に渡す。このとき、字句解析手段70は、
「<」, 「INCLUDE 」, 「@」、「(」、「$」、「CO
NFIGFILEDIR」、… というようにトークンを区切る。構
文解釈手段200はこれらのトークンから図9の抽象構
文木を作成し、構文データベース210に格納する。フ
ァイルの末端までこの作業を繰り返す。
【0054】次に構文解釈手段80は以上のステップで
得た構文木を構文データベース210からトークンごと
アクセスし、それに基づき先の実施の形態と同様の作業
をする。
【0055】この形態ではループタグなどが出力テンプ
レートファイル100に存在しても、出力テンプレート
処理の読み込み処理が1回ですむために処理速度が向上
する。加えて、構文木を作成するため、すべての構文エ
ラーをステップC25の段階で発見することができる。
第1の実施の形態では出力テンプレート100の構文エ
ラーは解釈手段がステップC50の段階で発見する。ま
た、出力テンプレートのたまたま処理が行われなかった
部分では構文エラーを発見できない。
【0056】また、本発明のGDMOトランスレータを
コンピュータによて実現するためには、本発明のGDM
Oトランスレータが持つ機能をコンピュータが解釈可能
なプログラムによって作成し、この作成したプログラム
をCD−ROMやフロッピーディスクに代表される記録
媒体に記録し、本発明の機能を実現したいコンピュータ
にこのプログラムを読み込ませばよい。
【0057】
【発明の効果】第1の効果は、異なる出力ファイル文法
を有するGDMOトランスレータを容易に構築できるこ
とである。
【0058】その理由は、解釈手段は出力テンプレート
ファイルの内容に従って、入力ファイルから出力ファイ
ルを生成する。出力テンプレートファイルの内容を変更
するだけで、容易に出力ファイルの文法を変更できるた
めである。
【0059】第2の効果は、複雑な文法に則った出力フ
ァイルをも生成できる。
【0060】その理由は、出力ファイルは再帰的な表現
が可能な読み込みタグ(INCLUDE タグ)や、入力による
出力の変更ができる条件分岐タグ(IFタグ)、繰り返し
を表現できるループタグ(FOR タグ)を有しており、解
釈手段はそれらのタグを実行するための構造であるファ
イルスタックやスタック型データ格納手段を有するため
である。
【0061】第3の効果は、ループタグが存在する場合
でも高速に出力テンプレートファイルの解釈が可能であ
る。
【0062】その理由は、構文解釈手段が出力ファイル
を生成する前にあらかじめ出力テンプレートを読み込
み、あらかじめ抽象構文木を作成し構文データベースに
格納するためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示すブロッ
ク図である。
【図2】本発明の第1の実施の形態の動作を示すフロー
チャートである。
【図3】本発明の第1の実施の形態のパーザの動作を示
すフローチャートである。
【図4】本発明の第1の実施の形態のコードジェネレー
タの動作を示すフローチャートである。
【図5】本発明の出力テンプレートファイルの例を示す
図である。
【図6】本発明の出力ファイルの例を示す図である。
【図7】本発明の第2の実施の形態の構成を示すブロッ
ク図である。
【図8】本発明の第2の実施の形態の動作を示すフロー
チャートである。
【図9】図5の出力テンプレートファイルの内容を表す
抽象構文木の例である。
【図10】従来技術の構成を示すブロック図である。
【図11】従来技術の出力テンプレートの例を示す図で
ある。
【図12】従来技術の出力ファイル例を示す図である。
【符号の説明】
10 入力ファイル 20 読み込み手段 30 字句解析手段 40 構文解析手段 50 意味解析手段 60 構文読み込み手段 70 字句解析手段 80 解釈手段 90 出力手段 100 出力テンプレートファイル 110 出力ファイル 120 構文木データベース 130 データベースアクセス手段 140 パーザ 150 コードジェネレータ 160 スタック型データ格納手段 170 ファイルスタック 180 ファイルスタックアクセス手段 190 スタック型データアクセス手段 200 構文解析手段 210 構文データベース

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
    ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
    ァイルと、前記出力テンプレートファイルを読み込み、
    この読み込んだ内容から前記構文木データベースに格納
    された抽象構文木にアクセスして出力ファイルを生成す
    る解釈手段と、前記出力テンプレートファイル中の取り
    込みタグを前記解釈手段が処理するために、取り込みフ
    ァイルのファイル記述子を記録するファイルスタックと
    少なくとも備えたコードジェネレータと、 を備えたことを特徴とするGDMOトランスレータ。
  2. 【請求項2】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
    ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
    ァイルと、前記出力テンプレートファイルを読み込み、
    この読み込んだ内容から前記構文木データベースに格納
    された抽象構文木にアクセスして出力ファイルを生成す
    る解釈手段と、前記出力テンプレートファイル中のルー
    プタグを前記解釈手段が処理するために、前記ループタ
    グの処理中の値や処理途中の値を一時的に格納するスタ
    ック型データ格納手段とを少なくとも備えたコードジェ
    ネレータと、を備えたことを特徴とするGDMOトラン
    スレータ。
  3. 【請求項3】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレータにおいて、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成するパーザと、 前記パーザで作成された抽象構文木を格納する構文木デ
    ータベースと、 前記出力ファイルの文法を規定した出力テンプレートフ
    ァイルと、前記出力テンプレートファイルを読み込み、
    この読み込んだ内容から前記構文木データベースに格納
    された抽象構文木にアクセスして出力ファイルを生成す
    る解釈手段と、前記出力テンプレートファイル中の取り
    込みタグを前記解釈手段が処理するために、取り込みフ
    ァイルのファイル記述子を記録するファイルスタック
    と、前記出力テンプレートファイル中のループタグを前
    記解釈手段が処理するために、前記ループタグの処理中
    の値や処理途中の値を一時的に格納するスタック型デー
    タ格納手段とを少なくとも備えたコードジェネレータ
    と、 を備えたことを特徴とするGDMOトランスレータ。
  4. 【請求項4】前記コードジェネレータに、前記出力テン
    プレートファイルの内容の構文解析を行い、第2の抽象
    構文木を作成する構文解析手段と、前記構文解析手段が
    生成した第2の抽象構文木を格納するための構文データ
    ベースと、を備え、前記解釈手段は、前記構文データベ
    ースから前記出力テンプレートファイルの抽象構文木を
    得ることによって、前記出力ファイルを生成することを
    特徴とする請求項1〜3のいずれか一項に記載のGDM
    Oトランスレータ。
  5. 【請求項5】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにデータベースアクセス
    タグが記述されている と、構文木データベースにアクセ
    スし、この結果得た値を出力ファイルに反映することを
    特徴とするGDMOトランスレーション方法。
  6. 【請求項6】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにループタグがあると、
    前記構文木データベースにアクセスして複数の値を検索
    し、この検索された値をひとつずつスタック型データ格
    納手段にプッシュし、繰り返しタグで囲まれた領域を解
    釈しその領域の解釈が済むと前記スタック型データ格納
    手段から先の値をポップし、次の値をプッシュする処理
    を検索した値の数と同じ回数だけ繰り返し実行すること
    を特徴とするGDMOトランスレーション方法。
  7. 【請求項7】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにスタックタグが存在す
    ると、前記スタックタグが指定した要素を取り出し、得
    た値を前記出力ファイルに反映することを特徴とするG
    DMOトランスレーション方法。
  8. 【請求項8】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを 生成するGDMOト
    ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルに条件分岐タグが存在す
    ると、この条件分岐タグが示す条件部を読み取り、その
    条件部の値を求め、この結果得た値と同じ値を持つ条件
    タグを前記出力テンプレートから探し、この条件タグで
    囲まれた領域に対して処理を行うことを特徴とするGD
    MOトランスレーション方法。
  9. 【請求項9】GDMOテンプレートが記述された入力フ
    ァイルを入力とし、出力ファイルを生成するGDMOト
    ランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルに取り込みタグが存在す
    ると、ファイルスタックに現在のファイル記述子を格納
    し、前記取り込みタグが指定するファイルを新たな出力
    テンプレートファイルとし、新たに取り込んだタグが終
    了したら、前記ファイルスタックをポップし、前記ファ
    イルスタックに格納されたファイル記述子を用いて前記
    読み込みタグの直後から先の出力テンプレートファイル
    を使った出力ファイルの生成を再開することを特徴とす
    るGDMOトランスレーション方法。
  10. 【請求項10】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し 、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルを読み込
    み、この読み込んだ内容から前記構文木データベースに
    格納された抽象構文木にアクセスして出力ファイルを生
    成するGDMOトランスレーション方法であって、 前記出力テンプレートファイルにタグでない文字列があ
    ると、その文字列をそのまま出力ファイルに出力するこ
    とを特徴とするGDMOトランスレーション方法。
  11. 【請求項11】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力ファイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルにデータベースアクセス
    タグが記述されていると、構文木データベースにアクセ
    スし、この結果得た値を出力ファイルに反映することを
    特徴とするGDMOトランスレーション方法。
  12. 【請求項12】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力フ ァイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルにループタグがあると、
    前記構文木データベースにアクセスして複数の値を検索
    し、この検索された値をひとつずつスタック型データ格
    納手段にプッシュし、繰り返しタグで囲まれた領域を解
    釈しその領域の解釈が済むと前記スタック型データ格納
    手段から先の値をポップし、次の値をプッシュする処理
    を検索した値の数と同じ回数だけ繰り返し実行すること
    を特徴とするGDMOトランスレーション方法。
  13. 【請求項13】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力ファイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルにスタックタグが存在す
    ると、前記スタックタグが指定した要素を取り出し、得
    た値を前記出力ファイルに反映することを特徴とするG
    DMOトランスレーション方法。
  14. 【請求項14】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力フ ァイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルに条件分岐タグが存在す
    ると、この条件分岐タグが示す条件部を読み取り、その
    条件部の値を求め、この結果得た値と同じ値を持つ条件
    タグを前記出力テンプレートから探し、この条件タグで
    囲まれた領域に対して処理を行うことを特徴とするGD
    MOトランスレーション方法。
  15. 【請求項15】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力ファイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルに取り込みタグが存在す
    ると、ファイルスタックに現在のファイル記述子を格納
    し、前記取り込みタグが指定するファイルを新たな出力
    テンプレートファイルとし、新たに取り込んだタグが終
    了したら、前記ファイルスタックをポップし、前記ファ
    イルスタックに格納されたファイル記述子を用いて前記
    読み込みタグの直後から先の出力テンプレートファイル
    を使った出力ファイルの生成を再開することを特徴とす
    るGDMOトランスレーション方法。
  16. 【請求項16】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルを生成するGDMO
    トランスレーション方法において、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成し、前記パーザで作成された抽象構
    文木を構文木データベースに格納し、前記出力ファイル
    の文法を規定した出力テンプレートファイルについて構
    文解析を行い、第2の抽象構文木を作成し、前記第2の
    抽象構文木を構文データベースに格納し 、前記構文デー
    タベースから前記第2の抽象構文木を読み込み、この読
    み込んだ内容から前記構文木データベースに格納された
    抽象構文木にアクセスして出力ファイルを生成するGD
    MOトランスレーション方法であって、 前記出力テンプレートファイルにタグでない文字列があ
    ると、その文字列をそのまま出力ファイルに出力するこ
    とを特徴とするGDMOトランスレーション方法。
  17. 【請求項17】GDMOテンプレートが記述された入力
    ファイルを入力とし、出力ファイルの文法を規定した出
    力テンプレートファイルを読み込み、当該出力テンプレ
    ートファイルに基づいて出力ファイルを生成するGDM
    Oトランスレータプログラムを記録したコンピュータが
    読み取り可能な記録媒体であって、 前記入力ファイルを読み込み構文解析を行うことによっ
    て抽象構文木を作成するパーザ機能と、 コンピュータが備える記憶手段に、前記パーザ機能で作
    成された抽象構文木を格納せしめる構文木データベース
    機能と、 前記出力テンプレートファイルを読み込み、この読み込
    んだ内容から前記構文木データベースに格納された抽象
    構文木にアクセスして出力ファイルを生成する解釈機能
    を少なくとも備えたコードジェネレータ機能とをコンピ
    ュータに機能させるGDMOトランスレータプログラム
    を記録した記録媒体。
  18. 【請求項18】前記コードジェネレータ機能に、 前記出力テンプレートファイルの内容の構文解析を行
    い、第2の抽象構文木を作成する構文解析機能と、コン
    ピュータが備える記憶手段に、前記構文解析機能が生成
    した第2の抽象構文木を格納せしめる構文データベース
    機能と、 前記解釈機能は、前記第2の抽象構文木を得ることによ
    って、前記出力ファイルを生成するようにしたことを特
    徴とする請求項17に記載のGDMOトランスレータプ
    ログラムを記録した記録媒体。
JP25953697A 1997-09-25 1997-09-25 Gdmoトランスレータ及びgdmoトランスレーション方法並びにgdmoトランスレータプログラムを記録した記録媒体 Expired - Fee Related JP3230467B2 (ja)

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)

* Cited by examiner, † Cited by third party
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
US20050278361A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G View 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
US20060036721A1 (en) * 2004-06-15 2006-02-16 Dong Zhao Run-time tool for network management application
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
US20050278693A1 (en) * 2004-06-15 2005-12-15 Brunell Edward G Distribution adaptor for network management application development
US20050278709A1 (en) * 2004-06-15 2005-12-15 Manjula Sridhar Resource definition language 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
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)

* Cited by examiner, † Cited by third party
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
EP0825524B1 (de) * 1996-08-20 2000-01-19 Alcatel 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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
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
US20080071802A1 (en) Tranformation of modular finite state transducers
US20020194223A1 (en) Computer programming language, system and method for building text analyzers
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
Johnstone et al. Evaluating GLR parsing algorithms
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
AT&T
AT&T
White et al. The NewYacc User's Manual
Rowland Combining parsing and evaluation for attributed grammars
WO2023249765A1 (en) Source code structural inference based on indentation
Wan Enhancing an Extensible Interpreter with a Syntax Macro Facility

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