【手続補正書】
【提出日】平成24年9月18日(2012.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューターが、宣言型プログラミング言語のプログラミングコンストラクトを表す方法であって、
第１の構文木データ構造を表す宣言型プログラミング言語および第２の構文木データ構造を表す宣言型プログラミング言語を受信するステップと、
複数の構文スコープレゾリューションの代替案の中から１つの構文スコープレゾリューションの代替案の選択の指示を受信するステップであって、前記複数の構文スコープレゾリューションの代替案のそれぞれは、前記第１の構文木データ構造から前記第２の構文木データ構造へのクロスリファレンスの異なる方法を定義する、ステップと、
前記第１の構文木データ構造のノードおよび前記第２の構文木データ構造のノードの少なくとも１つのクロスリファレンスを含んでいる有向グラフデータ構造を作成するステップであって、前記少なくとも１つのクロスリファレンスは、前記選択された構文スコープレゾリューションの代替案に基づく、ステップと
を含むことを特徴とする方法。
【請求項２】
前記構文スコープレゾリューションの代替案の選択の指示は、上位レベルのノードから始まり１または複数の下位レベルのノードに進む、前記有向グラフデータ構造を作成するステップの間の、構文スコープを解決すべきことを示す指示を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記構文スコープレゾリューションの代替案の選択の指示は、内部レベルのノードから始まり１または複数の外部レベルのノードに進む、前記有向グラフデータ構造を作成するステップの間の、構文スコープを解決すべきことを示す指示を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記構文スコープレゾリューションの代替案の選択の指示は、現在のノードから始まる、前記有向グラフデータ構造を作成するステップの間の、構文スコープを解決すべきことを示す指示を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記構文スコープレゾリューションの代替案の選択の指示は、現在のノードの後続処理のノードから始まる、前記有向グラフデータ構造を作成するステップの間の、構文スコープを解決すべきことを示す指示を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記有向グラフデータ構造の少なくとも１つの定義を、組み合わさって、当該少なくとも１つの定義と等価である少なくとも２つの下位の定義にファクタリングするステップをさらに備えたことを特徴とする請求項１記載の方法。
【請求項７】
少なくとも２つの異なるファイルに前記少なくとも２つの下位の定義の値を格納するステップをさらに備えたことを特徴とする請求項６記載の方法。
【請求項８】
前記有向グラフデータ構造の少なくとも２つのファクタリングされた定義を特定するステップと、
前記少なくとも２つのファクタリングされた定義と等価の前記有向グラフデータ構造の定義に、前記少なくとも２つのファクタリングされた定義を自動的に組み合わせるステップと
をさらに備えたことを特徴とする請求項１記載の方法。
【請求項９】
前記構文スコープレゾリューションの代替案の選択の指示は、ノードのラベルに先行する「．」を含み、前記「．」は、構文スコープを上位から下位の方法で解決すべきであることを示すことを特徴とする請求項１に記載の方法。
【請求項１０】
前記構文スコープレゾリューションの代替案の選択の指示は、ノードのラベルに先行する「＆」を含み、前記「＆」は、構文スコープを現在のノード、または前記現在のノードの後続処理のノードから始めて解決すべきであることを示すことを特徴とする請求項１に記載の方法。
【請求項１１】
コンピューターが、宣言型プログラミングモデルのプログラミングコンストラクトを表す方法であって、
少なくとも共有親ノード、第１の後続処理のノード、および第２の後続処理のノードを含むノードのセット、アークのセット、並びに少なくとも第１の定義および第２の定義を含む前記宣言型プログラミングモデルのプログラミングコンストラクトの定義のセットを含む有向グラフデータ構造を受信するステップであって、当該有向グラフデータ構造を受信するステップは、
前記第１の後続処理のノードを定義する前記第１の定義を受信するステップであって、前記第１の後続処理のノードは前記共有親ノードの後続処理である、ステップと、
前記第２の後続処理のノードを定義する前記第２の定義を受信するステップであって、前記第２の後続処理のノードは前記共有親ノードの後続処理である、ステップと
を含む、ステップと、
前記第１の定義および前記第２の定義を単一の複合定義に組み合わせるステップであって、前記単一の複合定義は、前記第１の定義および前記第２の定義の組み合わせに論理的に等価である、ステップと
を含むことを特徴とする方法。
【請求項１２】
前記有向グラフデータ構造を受信するステップは、前記有向グラフデータ構造を作成するステップを含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記定義のセットのうちの別の定義を、合わせると、当該別の定義と等価である少なくとも２つのファクタリングされた定義に分けるステップをさらに備えたことを特徴とする請求項１１記載の方法。
【請求項１４】
前記有向グラフデータ構造は、前記定義のセットの定義を記述するラベルをさらに含み、前記組み合わせるステップは、共通のラベルを共有する複数の定義の上位から下位への結合を行うステップを含むことを特徴とする請求項１１記載の方法。
【請求項１５】
前記組み合わせるステップは、前記共通のラベルの後続処理の上位から下位への結合を行うステップを含むことを特徴とする請求項１１記載の方法。
【請求項１６】
少なくとも２つの異なるファイルに前記少なくとも２つのファクタリングされた定義を格納するステップをさらに備えたことを特徴とする請求項１３記載の方法。
【請求項１７】
コンピューターに、
コンストレイントベースの型の定義をサポートし順序無関係の実行モデルに従う宣言型プログラミングモデルを表している有向グラフデータ構造を作成するかまたは受信するＤグラフモジュールであって、前記有向グラフデータ構造を作成する場合、前記Ｄグラフモジュールは、複数の構文スコープレゾリューションの代替案の中から、前記有向グラフデータ構造を作成する際に利用すべき、１つの構文スコープレゾリューションの代替案を決定する、Ｄグラフモジュールと、
ファクタリングすることを適用することができる前記有向グラフデータ構造のうちの少なくとも１つの定義を識別して、前記少なくとも１つの定義を表している少なくとも１つの等価の定義を形成するファクタリングモジュール
として機能させるためのプログラムを記録したことを特徴とするコンピューター可読記録媒体。
【請求項１８】
前記ファクタリングモジュールは、前記少なくとも１つの定義を自動的にファクタリングして、前記少なくとも１つの等価の定義を含む等価の有向グラフデータ構造を形成することを特徴とする請求項１７記載のコンピューター可読記録媒体。
【請求項１９】
前記等価の有向グラフデータ構造を、ストレージまたは第三パーティのアプリケーションのうち少なくとも１つに出力する出力モジュールとして機能させるためのプログラムをさらに備えたことを特徴とする請求項１８記載のコンピューター可読記録媒体。
【請求項２０】
前記構文スコープレゾリューションの代替案の選択の指示は、ノードのラベルに先行する「＆」を含み、前記「＆」は、前記構文スコープを現在のノード、または前記現在のノードの後続処理のノードから始めて解決すべきであることを示すことを特徴とする請求項９に記載の方法。