特許
J-GLOBAL ID:200903062276956060

抽象構文木処理方法、抽象構文木処理プログラムを記録したコンピュータ読み取り可能な記録媒体、抽象構文木データを記録したコンピュータ読み取り可能な記録媒体、及び、抽象構文木処理装置

発明者:
出願人/特許権者:
代理人 (1件): 工業技術院電子技術総合研究所長
公報種別:公開公報
出願番号(国際出願番号):特願平10-062055
公開番号(公開出願番号):特開平11-249903
出願日: 1998年02月26日
公開日(公表日): 1999年09月17日
要約:
【要約】【課題】 入力するプログラミング言語の仕様に変更があっても、その処理のソースコードをそのまま利用できるようにする。【解決手段】 処理の対象となる抽象構文木のタグを調べることによって、ノードがリテラルか構文かを判定する(ステップS01)。リテラルの場合は、リテラルタグを調べ、個別に必要な処理(ステップS021、S022、....)を行う。ただし、個別処理が必要ないリテラルに対しては、その他のリテラルに対する一般的処理(ステップS02j)を行う。構文の場合は、タグしたがって分岐し、構文の種類ごとに個別に必要な処理(ステップS031、S032、....)を行う。ただし、個別処理が必要ない構文に対しては、その他の構文に対する一般的処理(ステップS03k)を行う。構文の場合は、処理中の抽象構文木が持つサブツリーすべてに対して、再帰的に ステップS01 から処理を行う(ステップS04)。木構造の終端は、ノードがリテラルである場合に、判断することができる。
請求項(抜粋):
リテラル又は構文をノードとして有する木構造のデータを表現した抽象構文木において、前記抽象構文木に含まれるあるノードが前記リテラルであるか前記構文であるかを判定するステップと、前記ノードがリテラルの場合、前記リテラルの種類を表すリテラルタグに基づいて、前記リテラルの種類毎にリテラル用個別処理が定義されているときは前記リテラル用個別処理を実行し、前記リテラル用個別処理が定義されていないときはその他のリテラルに対するリテラル用一般的処理を実行するステップと、一方、前記ノードが構文の場合、前記構文の種類毎に構文用個別処理が定義されているときは前記構文用個別処理を実行し、前記構文用個別処理が定義されていないときはその他の構文に対する構文用一般的処理を実行するステップと、処理中の前記構文に含まれるすべてのサブツリーについて、ノードがリテラルか構文かに応じて、対応する前記リテラル用若しくは構文用個別処理又は前記リテラル用若しくは構文用一般的処理を再帰的に実行するステップとを備えた抽象構文木処理方法。

前のページに戻る