TOP
|
特許
|
意匠
|
商標
特許ウォッチ
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2025166387
公報種別
公開特許公報(A)
公開日
2025-11-06
出願番号
2024070379
出願日
2024-04-24
発明の名称
中間言語生成装置、中間言語生成方法及びプログラム
出願人
日本電気株式会社
代理人
個人
,
個人
主分類
G06F
8/41 20180101AFI20251029BHJP(計算;計数)
要約
【課題】一連の処理の一部の中間言語を実行して、その結果に基づいて後続の処理についても中間言語を生成する技術を提供する。
【解決手段】中間言語生成装置は、実行対象のプログラムに記述された処理の中間言語を生成するにあたり、前記処理の一部の中間言語を生成して、生成した前記一部の中間言語を実行する手段と、前記一部の中間言語の実行結果に基づいて、前記処理における前記処理の一部の後続処理についての中間言語を生成し、前記一部の中間言語に前記後続処理の中間言語を加えた前記プログラム全体の中間言語を生成する手段と、を備える。
【選択図】図1
特許請求の範囲
【請求項1】
実行対象のプログラムに記述された処理の中間言語を生成するにあたり、前記処理の一部の中間言語を生成して、生成した前記一部の中間言語を実行する手段と、
前記一部の中間言語の実行結果に基づいて、前記処理における前記処理の一部の後続処理についての中間言語を生成し、前記一部の中間言語に前記後続処理の中間言語を加えた前記プログラムの全体に対応する中間言語を生成する手段と、
を備える中間言語生成装置。
続きを表示(約 1,300 文字)
【請求項2】
前記生成する手段は、前記一部の中間言語の実行結果に基づいて、前記後続処理の命令を決定し、決定した前記命令の中間言語を生成する、
請求項1に記載の中間言語生成装置。
【請求項3】
前記生成する手段は、前記一部の中間言語の実行結果に基づいて、前記後続処理に含まれる命令の実行が必要か否かを判断し、必要ない場合、前記命令を除いて前記後続処理の中間言語を生成する、
請求項1又は請求項2に記載の中間言語生成装置。
【請求項4】
前記一部の中間言語を実行する手段は、表形式のデータの列名を算出する中間言語を実行する、
請求項1又は請求項2に記載の中間言語生成装置。
【請求項5】
前記一部の中間言語を実行する手段は、表形式のデータの列名に重複する列名が存在するか否かを算出する中間言語を実行する、
請求項1又は請求項2に記載の中間言語生成装置。
【請求項6】
前記一部の中間言語を実行する手段は、表形式のデータの列名に無効値が存在するか否かを算出する中間言語を実行する、
請求項1又は請求項2に記載の中間言語生成装置。
【請求項7】
前記一部の中間言語を実行する手段は、表形式のデータの列名に指定された列名が存在するか否かを算出する中間言語を実行する、
請求項1又は請求項2に記載の中間言語生成装置。
【請求項8】
前記一部の中間言語を実行する手段は、表形式のデータの列名に重複する列名が存在するか否かを算出する前記一部の中間言語を実行し、
前記生成する手段は、前記表形式のデータの列名に重複する場合、列名が重複していても指定された列名すべてのデータを取得する命令の中間言語を前記後続処理の中間言語として生成し、前記表形式のデータの列名が重複しない場合、指定された列名のデータを取得する命令の中間言語を前記後続処理の中間言語として生成する、
請求項1に記載の中間言語生成装置。
【請求項9】
実行対象のプログラムに記述された処理の中間言語を生成するにあたり、前記処理の一部の中間言語を生成して、生成した前記一部の中間言語を実行し、
前記一部の中間言語の実行結果に基づいて、前記処理における前記処理の一部の後続処理についての中間言語を生成し、前記一部の中間言語に前記後続処理の中間言語を加えた前記プログラムの全体に対応する中間言語を生成する、
中間言語生成方法。
【請求項10】
コンピュータに、
実行対象のプログラムに記述された処理の中間言語を生成するにあたり、前記処理の一部の中間言語を生成して、生成した前記一部の中間言語を実行し、
前記一部の中間言語の実行結果に基づいて、前記処理における前記処理の一部の後続処理についての中間言語を生成し、前記一部の中間言語に前記後続処理の中間言語を加えた前記プログラムの全体に対応する中間言語を生成する処理、
を実行させるプログラム。
発明の詳細な説明
【技術分野】
【0001】
本開示は、中間言語生成装置、中間言語生成方法及びプログラムに関する。
続きを表示(約 1,900 文字)
【背景技術】
【0002】
特許文献1には、コンピュータプログラムコードの中間言語(中間表現(IR:Intermediate Representation)とも称する。)を生成する方法について開示がある。プログラムの実行時に中間言語を生成し、生成した中間言語を実行する処理方式において、一連の処理の中間言語を生成しようとすると、一連の処理の一部について中間言語を実行しないと、その後の処理についての中間言語の生成を行うことができない、もしくは効率的な中間言語の生成を行うことができない場合がある。
【0003】
例えば、テーブルから1つの列を読み出す命令(project_column命令)と、複数の列を読み出す命令(project_table命令)がある。また、同じ名称のカラム(列)が複数存在するテーブルに対して、project_column命令を発行するとエラーが発生する。ユーザプログラムからテーブルと列名を指定することにより、指定されたテーブルの指定された列のデータを読み出す関数やメソッドを考える。この関数において、例えば、対象テーブルに同じ列名が複数存在する場合にはproject_table命令を発行し、列名が1つしか存在しない場合にはproject_column命令を発行するように処理を記述すると、テーブルが同じ列名を複数有する場合でも1つしか有しない場合でも、エラーを発生させることなく、指定された列のデータを対象テーブルから読み出すことができる。この関数を呼び出す以下のユーザプログラムを考える。
【0004】
(ユーザプログラム1)
tbl = read_csv(“data.csv”)
sorted = sort_table(tbl, key=“A”)
result = project(tbl, “B”)
【0005】
ユーザプログラム1の1行目は、ファイルdata.csvを読み込み、読み込んだ表形式のデータをtblオブジェクトにセットすることを意味する。2行目は、読み込んだデータをA列でソートすることを意味する。3行目は、読み込んだテーブルからB列を読み出すことを意味する。project(tbl, “B”)が上述した関数である。ユーザプログラム1から生成される中間言語は次のようになる。
【0006】
(ユーザプログラム1の中間言語)
%1 = read_csv(“data.csv”)
%2 = sort_table(%1,“A”)
%3 = project_column(%2,“B”)
【0007】
生成される中間言語は、生成時に直ちに実行されるのではなく、実行する必要が生じたタイミングで実行される(define-by-run方式)。このような中間言語の実行方法を遅延実行とも称する。ここで、テーブルに重複列がないとすると、A列とB列しか扱わないので、以下のようにA列とB列のみを読み出すように最適化された中間言語を生成することができる。
【0008】
(ユーザプログラム1の最適化された中間言語の例)
%1 = read_csv(“data.csv”)
%2 = project_table(%1, [“A”, “B”])
%3 = sort_table(%2, “A”)
%4 = project_column(%3, “B”)
【0009】
しかし、実際には、テーブルに重複列があるかどうかはわからないので、
%1 = read_csv(“data.csv”)
%2 = sort_table(%1,“A”)
を実行して、読みだしたテーブルにおいてB列が重複しているかどうかを確認してから、その確認結果に応じて以下が生成されることになる。
%3 = project_column(%2,“B”)
【0010】
すると、A列、B列以外の列もソートしなければならないことになり、「(ユーザプログラム1の最適化された中間言語の例)」と比較して、ユーザプログラム1の効率が悪化することになる。これが、上述した「一連の処理の一部について中間言語を実行しないと、その後の処理についての中間言語の生成を行うことができない、もしくは効率的な中間言語の生成を行うことができない」ということの一例である。
【先行技術文献】
【特許文献】
(【0011】以降は省略されています)
この特許をJ-PlatPat(特許庁公式サイト)で参照する
関連特許
日本電気株式会社
特定装置
10日前
日本電気株式会社
交渉装置、交渉方法及びプログラム
18日前
日本電気株式会社
ボロメータアレイ、及び光検出方法
12日前
日本電気株式会社
監視装置、監視方法、及びプログラム
1か月前
日本電気株式会社
情報処理装置、方法、及び、プログラム
3日前
日本電気株式会社
情報処理装置、方法、及び、プログラム
3日前
日本電気株式会社
乗車誘導計画装置および乗車誘導計画方法
24日前
日本電気株式会社
情報処理装置、情報処理方法、プログラム
3日前
日本電気株式会社
情報処理装置、情報処理方法、プログラム
10日前
日本電気株式会社
経路選択装置、経路選択方法及びプログラム
1か月前
日本電気株式会社
合意判定装置、合意判定方法及びプログラム
18日前
日本電気株式会社
発話認識装置、プログラム及び発話認識方法
12日前
日本電気株式会社
情報処理装置、情報処理方法及びプログラム
3日前
日本電気株式会社
制御装置、無線端末、方法、及びプログラム
11日前
日本電気株式会社
制御装置、制御プログラム、および制御方法
3日前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
1か月前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
5日前
日本電気株式会社
情報処理装置、応答方法、及び応答プログラム
12日前
日本電気株式会社
情報処理装置、情報処理方法およびプログラム
18日前
日本電気株式会社
情報処理装置、情報処理方法およびプログラム
19日前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
1か月前
日本電気株式会社
原子発振器、制御方法、制御装置、プログラム
10日前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
5日前
日本電気株式会社
質問処理装置、質問処理方法、及びプログラム
24日前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
4日前
日本電気株式会社
画像処理装置、画像処理方法およびプログラム
4日前
日本電気株式会社
情報処理装置、情報処理方法、及びプログラム
3日前
日本電気株式会社
学習装置、利用装置、学習方法及びプログラム
1か月前
日本電気株式会社
情報共有装置、情報共有方法、およびプログラム
12日前
日本電気株式会社
構造秘匿ニューラルネットワークモデル生成装置
3日前
日本電気株式会社
通信監視装置、通信監視方法、およびプログラム
5日前
日本電気株式会社
文書検索装置、文書検索方法、及び、プログラム
18日前
日本電気株式会社
音響送受波装置、及び音響送受波装置の構築方法
3日前
日本電気株式会社
情報処理装置、情報処理方法、及び、プログラム
11日前
日本電気株式会社
ダッシュボード表示装置、表示方法及びプログラム
10日前
日本電気株式会社
サーバ装置、サーバ装置の制御方法及びプログラム
1か月前
続きを見る
他の特許を見る