JP4741313B2 - プログラム生成装置、プログラム生成方法及びコンパイラ - Google Patents
プログラム生成装置、プログラム生成方法及びコンパイラ Download PDFInfo
- Publication number
- JP4741313B2 JP4741313B2 JP2005224605A JP2005224605A JP4741313B2 JP 4741313 B2 JP4741313 B2 JP 4741313B2 JP 2005224605 A JP2005224605 A JP 2005224605A JP 2005224605 A JP2005224605 A JP 2005224605A JP 4741313 B2 JP4741313 B2 JP 4741313B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- state
- code
- definition file
- 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
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Description
複数のデータ要素を含む一連のデータ列をネットワークを介して受け付けるネットワーク装置に前記データ列を処理させるためのプログラムを、記憶手段及び演算手段を有する情報処理装置に生成させるプログラム生成方法であって、
前記記憶手段には、前記ネットワーク装置が受け付けるデータ列内の各データ要素のサイズ情報を含むアイテム情報が、当該データ列内におけるデータ要素の順番にしたがって記述された定義ファイルが格納されており、
当該プログラム生成方法は、
前記演算手段が、前記定義ファイルを参照する処理と、
前記演算手段が、前記プログラムとして、前記データ列の先頭からの順番にしたがって、当該データ列内の各データ要素を、予め定めたサイズのデータずつ処理するためのプログラムを、前記定義ファイル内における前記各データ要素のアイテム情報の記述順番及び前記各データ要素のサイズ情報に基づき生成する処理と、
を含むことを特徴とするプログラム生成方法を提供する。
各メッセージ定義402には、メッセージクラス名406、対応パケット内の各フィールドに対応するアイテムのリスト404、対応パケットの識別子(メッセージ識別子)407が含まれる。なお、リスト404には対応パケット内の各フィールドに対応するアイテムが、対応パケット内におけるフィールドの順番にしたがって並べられている。
このノードは、属性「長さ」の値に相当する数だけ繰り返されるステート「C」に変換される。例えば、長さ属性値「2」のノード802は、連続する2つのステート「C」1001,1002に変換される。これらのステート「C」においては、上位レイヤーから受け取った1文字のコードが、RAM上の2バイト分の特定エリアに保存され、さらに次のステートに状態が進められる。ここで、文字コードの保存エリアは、変換元ノードの属性「名称」の値によって特徴付けられ、その保持方法は、変換元ノードの属性「型」の値に応じて定まる。
このノードは、属性「長さ」の値に相当する数だけ繰り返されるステート「B」に変換される。例えば、長さ属性値「1」の各ノード804,808,812は、ステート「B」1005に変換される。
このノードは、属性「長さ」の値に相当する数だけ繰り返されるステート「A」に変換される。例えば、長さ属性値「1」のノード805,809,813は、それぞれ、1つのステート「A」1001,1010,1014に変換される。これらのステート「A」では、たんに、次ステートに状態を移す処理が行われる。例えば、現在の実行ステートがステート1001である場合には、次ステート1002に状態が遷移するだけである。
S607においてツリー統合サブルーチンが呼び出されると、以下に示すように、図10のツリー統合処理によって、同一の部分木が統合される。
S609においてコード統合サブルーチンが呼び出されると、以下に示すように、図12のコード統合処理によって、ステート間に存在する、RAMメモリ操作処理を実行させるための同一のコードが統合される。ここでは、図8のオートマトンに基づきコードを生成する場合を例に挙げる。ここでは、説明の便宜上、ステート1001の位置を番号「1」、ステート1002のステート位置を番号「2」、ステート1003の位置を番号「3」、実行ステート位置情報格納エリアの識別子を「state」、上位レイヤーから受け取った一文字の識別子を「c」と表す。
例えば、ノードAからノードB及びノードCへ分岐するツリーが生成された場合、ノードB及びその子ノードから生成されるコードが利用するRAMエリアDと、ノードC及びその子ノードから生成されるコードが利用するRAMエリアEとが同時に使用されることはない。これらのRAMエリアD,Eを共通化すれば、実行コードのRAMサイズを減少させることができる。このように、いくつかのノードから生成されるコードがRAMエリアを使用する場合には、RAMエリアの最適化により、より高性能で省メモリなプロトコルスタックを生成することができる。以下、この処理について説明する。
D(C)={d1,d2,... ,dm}:クラスCのメッセージ定義の集合
M(d)={vi,vj,vk,...}:メッセージ定義dで使用されるRAMエリアの識別情報の集合
S∩M(d)≠φ かつ
S−M(d)S≠φ
Claims (3)
- 複数のデータ要素を含む一連のデータ列をネットワークを介して受け付けるネットワーク装置に前記データ列を処理させるためのデータ列処理プログラムを、記憶手段及び演算手段を有する情報処理装置に生成させるプログラム生成方法であって、
前記記憶手段には、前記ネットワーク装置が受け付けるデータ列内の各データ要素のサイズ情報を含むアイテム情報が、当該データ列内におけるデータ要素の順番にしたがって記述された定義ファイルが格納されており、
当該プログラム生成方法は、
前記演算手段が、前記定義ファイルを参照する第1の処理と、
前記演算手段が、前記データ列処理プログラムとして、前記データ列の先頭からの順番にしたがって、当該データ列内の各データ要素を、予め定めたサイズのデータずつ処理するためのプログラムを、前記定義ファイル内における前記各データ要素のアイテム情報の記述順番及び前記各データ要素のサイズ情報に基づき生成する第2の処理と、を含み、
前記第2の処理では、
前記定義ファイル内における前記各データ要素のアイテム情報の記述に基づき、処理順序を定義する構造木を生成し、
前記構造木に含まれる1つのノードから分岐したそれぞれのノード群での処理において、利用するRAMエリアを共通化する、
ことを特徴とするプログラム生成方法。 - 複数のデータ要素を含む一連のデータ列をネットワークを介して受け付けるネットワーク装置に前記データ列を処理させるためのデータ列処理プログラムを生成するプログラム生成装置であって、
前記ネットワーク装置が受け付けるデータ列内の各データ要素のサイズ情報を含むアイテム情報が、当該データ列内におけるデータ要素の順番にしたがって記述された定義ファイルが格納された記憶手段と、
前記データ列処理プログラムとして、前記データ列の先頭からの順番にしたがって、当該データ列内の各データ要素を、予め定めたサイズのデータずつ処理するためのプログラムを、前記定義ファイル内における前記各データ要素のアイテム情報の記述順番及び前記各データ要素のサイズ情報に基づき生成する演算手段と、を備え、
前記演算手段は、
前記定義ファイル内における前記各データ要素のアイテム情報の記述に基づき、処理順序を定義する構造木を生成し、
前記構造木に含まれる1つのノードから分岐したそれぞれのノード群での処理において、利用するRAMエリアを共通化する、
ことを特徴とするプログラム生成装置。 - 複数のデータ要素を含む一連のデータ列をネットワークを介して受け付けるネットワーク装置に前記データ列を処理させるためのデータ列処理プログラムの生成処理を、記憶手段及び演算手段を有する情報処理装置に実行させるコンパイラであって、
前記記憶手段には、前記ネットワーク装置が受け付けるデータ列内の各データ要素のサイズ情報を含むアイテム情報が、当該データ列内におけるデータ要素の順番にしたがって記述された定義ファイルが格納されており、
当該コンパイラは、
前記演算手段が、前記定義ファイルを参照する第1の処理と、
前記演算手段が、前記データ列処理プログラムとして、前記データ列の先頭からの順番にしたがって、当該データ列内の各データ要素を、予め定めたサイズのデータずつ処理するためのプログラムを、前記定義ファイル内における前記各データ要素のアイテム情報の記述順番及び前記各データ要素のサイズ情報に基づき生成する第2の処理と、を前記情報処理装置に実行させ、
前記第2の処理では、
前記定義ファイル内における前記各データ要素のアイテム情報の記述に基づき、処理順序を定義する構造木を生成し、
前記構造木に含まれる1つのノードから分岐したそれぞれのノード群での処理において、利用するRAMエリアを共通化する、
ことを特徴とするコンパイラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005224605A JP4741313B2 (ja) | 2005-08-02 | 2005-08-02 | プログラム生成装置、プログラム生成方法及びコンパイラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005224605A JP4741313B2 (ja) | 2005-08-02 | 2005-08-02 | プログラム生成装置、プログラム生成方法及びコンパイラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007041805A JP2007041805A (ja) | 2007-02-15 |
JP4741313B2 true JP4741313B2 (ja) | 2011-08-03 |
Family
ID=37799731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005224605A Expired - Fee Related JP4741313B2 (ja) | 2005-08-02 | 2005-08-02 | プログラム生成装置、プログラム生成方法及びコンパイラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4741313B2 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0773044A (ja) * | 1993-09-02 | 1995-03-17 | Mitsubishi Electric Corp | 最適化コンパイル方法及び最適化コンパイル装置 |
JPH07168772A (ja) * | 1993-12-15 | 1995-07-04 | Oki Electric Ind Co Ltd | 抽象構文記法メッセージの符号化・復号化処理方法 |
JPH07271568A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | プログラム生成装置 |
JPH09179729A (ja) * | 1995-12-22 | 1997-07-11 | Mitsubishi Electric Corp | 通信プログラム自動生成装置及びトランザクション通信装置並びにトランザクション通信方法 |
JP2996296B2 (ja) * | 1997-02-26 | 1999-12-27 | 日本電気株式会社 | メッセージ復号化装置及び有限状態機械生成装置 |
JP3092563B2 (ja) * | 1997-10-27 | 2000-09-25 | 日本電気株式会社 | 状態遷移図変換装置 |
JP2005128888A (ja) * | 2003-10-24 | 2005-05-19 | Hitachi Ltd | コマンド処理装置及びコマンド処理装置の制御方法 |
-
2005
- 2005-08-02 JP JP2005224605A patent/JP4741313B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007041805A (ja) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298437B2 (en) | Unrolling quantifications to control in-degree and/or out-degree of automaton | |
US6754884B1 (en) | Programming language extensions for processing XML objects and related applications | |
JP4615827B2 (ja) | 文書の構造化された記述を圧縮するための方法 | |
US6836890B1 (en) | Methods and systems for message translation and parsing of data structures in a distributed component architecture | |
JP3272014B2 (ja) | 階層構造データ処理情報を含むデータ処理辞書を作成する方法及び装置 | |
US20070079299A1 (en) | Method, apparatus and program storage device for representing eclipse modeling framework (EMF) ecore models in textual form | |
JP2006252557A (ja) | コンピュータ・プログラム・コードの開発オブジェクトの管理方法および開発オブジェクトの管理システム | |
JP2006085740A (ja) | アプリケ―ションソフトウェア構成方法 | |
JP2005018777A (ja) | 共通問い合わせ実行時システムおよびアプリケーションプログラミングインターフェイス | |
US20070271553A1 (en) | Method and system for translating assembler code to a target language | |
US20050192929A1 (en) | Generation and conversion of object that provide for efficient object modification | |
KR100500245B1 (ko) | 객체 지향 프로그램이 기록된 저장 매체 | |
JP4741313B2 (ja) | プログラム生成装置、プログラム生成方法及びコンパイラ | |
US7051279B2 (en) | Method and system for providing multiple levels of help information for a computer program | |
JP2008226010A (ja) | コンパイル方法及びコンパイル装置 | |
CN105793842B (zh) | 序列化消息之间的转换方法和装置 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
US20060253833A1 (en) | System and method for efficient hosting of wireless applications by encoding application component definitions | |
US7941452B2 (en) | Apparatus and method for efficient encoding of application definition using contiguous arrays | |
CN115167860A (zh) | 将程序码于不同程序语言间进行转换及优化的方法 | |
CA2543881C (en) | Method and system for efficient encoding of application definition using contiguous arrays | |
JP2001005655A (ja) | アプリケーションジェネレータ開発支援装置及びアプリケーションジェネレータ開発支援方法 | |
CN117827217A (zh) | 一种c语言结构体与json相互转换的方法及装置 | |
JP2011165160A (ja) | 文書処理装置 | |
CN116149629A (zh) | 编辑代码的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110426 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110506 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4741313 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |