JP4448881B2 - コンピュータプログラムを発生する方法及びシステム - Google Patents
コンピュータプログラムを発生する方法及びシステム Download PDFInfo
- Publication number
- JP4448881B2 JP4448881B2 JP2008000190A JP2008000190A JP4448881B2 JP 4448881 B2 JP4448881 B2 JP 4448881B2 JP 2008000190 A JP2008000190 A JP 2008000190A JP 2008000190 A JP2008000190 A JP 2008000190A JP 4448881 B2 JP4448881 B2 JP 4448881B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- tree
- program
- display
- computer
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000004590 computer program Methods 0.000 title claims description 34
- 238000003780 insertion Methods 0.000 claims description 85
- 230000037431 insertion Effects 0.000 claims description 85
- 230000008569 process Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 150000001875 compounds Chemical class 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
- Y10S715/967—Visual or iconic programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Description
1.語彙解析
2.構文解析
3.意味解析
4.中間コード発生
5.コード最適化
6.最終コード発生
語彙解析は、コンピュータプログラムを走査し、そして高レベル言語のコンポーネント又はトークンを確認することを伴う。この段階中に、コンパイラーは、コンピュータプログラムを一連のトークンに変換し、これが構文解析中に処理される。例えば、語彙解析の間に、コンパイラーは、次のステートメント
cTable=1.0;
を変数(cTable)、演算子(=)、定数(1.0)及びセミコロンとして確認する。変数、演算子、定数及びセミコロンは、高レベル言語のトークンである。構文解析中に、コンパイラーはトークンを処理し、そしてプログラムを表す構文ツリーを発生する。構文ツリーは、演算子が非リーフノードに記憶されそしてオペランドがリーフノードに記憶されたツリー構造である。上記の例では、演算子(=)は、2つのオペランド、即ち変数(cTable)と定数(1.0)を有する。意味解析中に、コンパイラーは、意味の正しさを確保するように構文ツリーを変更する。例えば、変数(cTable)が整数で、定数(1.0)が実数である場合は、意味解析中に、実数−整数変換が構文ツリーに加えられる。
中間コード発生、コード最適化及び最終コード発生中には、コンパイラーは、構文ツリーによって表されたプログラムを実行するためのマシン命令を発生する。
これらマシン命令は、次いで、コンピュータによって実行することができる。
図3は、例示的なプログラムツリーを示す図である。この例示的なプログラムツリーは、次のコンピュータコードに対応する。
{
B=4;
A=B+3*(4−C);
D=A/2;
}
この例示的なプログラムツリーは、コンピュータコードの各ステートメントに対してノード302、303、304を含んでいる。ステートメント302及び304に対するサブツリーは、図3には示されていない。ステートメント「A=B+3*(4−C);」に対するサブツリーは、ノード304ないし312を備えている。図4は、例示的プログラムツリーのCディスプレイ表示を示している。図5は、例示的プログラムツリーのリスプディスプレイ表示を示している。又、例示的プログラムツリーは、図3のレイアウトと同様のツリーディスプレイ表示で示すこともできる。
プログラムツリーエディタは、プログラムツリーを形成し変更するコマンドを与える。プログラムツリーは、ノード(3つのエレメント)を形成してプログラムツリーに挿入する一連のエディタコマンドを入力することにより発生される。例えば、プログラマは、複合ステートメントに対してあるノードを選択して、子ノードを割当演算子(=)と共に追加すべきであることを指示することにより、複合ステートメントに割当ステートメントを追加する。
これは、特定のノードを選択する。このコマンドを指定するために、プログラマは、表示されたプログラムのトークンの上にマウスポインタを配置しそしてマウスをクリックする。例えば、プログラマがステートメント「A=B+3*(4−C)」の中の「=」を選択すると、プログラムツリーエディタは、ノード304を選択する。以下の説明において、プログラムツリーの選択された部分をアンダーラインで指示する。以下にノードの選択を示す。
A=B+3*(4−C)
マウスポインタを「=」の上に配置する
コマンド:ノードの選択
A=B+3*(4−C)
これは、現在選択されているノードの全サブツリーを選択する。例えば、現在選択されている部分がノード304でありそしてプログラマがサブツリー選択コマンドを入力したときには、プログラムツリーエディタは、ノード304ないし312より成るサブツリーを選択する。サブツリー選択コマンドを以下に示す。
A=B+3*(4−C)
コマンド:サブツリー選択
A=B+3*(4−C)
これは、現在選択されているサブツリーのヘッドノードのみを選択する。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマがクラウン選択コマンドを入力すると、プログラムエディタはノード304を選択する。サブツリーのクラウンノード選択するコマンドを以下に示す。
A=B+3*(4−C)
コマンド:クラウン選択
A=B+3*(4−C)
これは、現在選択されているサブツリーの親ノードのみを選択するか、或いは単一のノードのみが現在選択されている場合には、その親ノードを選択する。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマが親選択コマンドを入力するときには、プログラムツリーエディタはノード301を選択する。ヘッドノードの親を選択するコマンドを以下に示す。
{
B=4
A=B+3*(4−C)
D=A/2
}
コマンド:親選択
{
B=4
A=B+3*(4−C)
D=A/2
}
これは、現在選択されているサブツリー又は現在選択されているノードのヘッドノードの第1の子ノードを選択する。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマが第1の子を選択するコマンドを入力したときは、プログラムツリーエディタは、ノード305を選択する。第1の子を選択するコマンドを以下に示す。
A=B+3*(4−C)
コマンド:第1の子を選択する
A=B+3*(4−C)
これは、現在選択されているサブツリー又は現在選択されているノードのヘッドノードの最後の子ノードを選択する。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマがヘッドノードの最後の子を選択するコマンドを入力したときには、プログラムツリーエディタは、ノード306を選択する。最後の子を選択するコマンドを以下に示す。
A=B+3*(4−C)
コマンド:最後の子を選択する
A=B+3*(4−C)
{
B=4
A=B+3*(4−C)
D=A/2
}
コマンド:祖先兄弟を選択する
{
B=4
A=B+3*(4−C)
D=A/2
}
これは、現在選択されているサブツリー又は現在選択されているノードのヘッドノードの子孫の兄弟を選択する。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマが子孫の兄弟を選択するコマンドを入力したときには、プログラムエディタは、ノード303を選択する。別の実施例において、サブツリーが現在選択されている場合には、プログラムエディタは、子孫兄弟の全体を選択する。子孫の兄弟を選択するコマンドを以下に示す。
{
B=4
A=B+3*(4−C)
D=A/2
}
コマンド:子孫兄弟を選択する
{
B=4
A=B+3*(4−C)
D=A/2
}
これは、プログラムツリーの深さ優先の左から右へのトラバースにおいて遭遇する未定義(以下で述べる)のプログラムツリーにおける次のノードを選択する。
これは、挿入点を現在選択されているサブツリー又はノードの上に配置する。多オペランド演算子に対するノードが選択されたときには、現在選択されているノードの左に新たなオペランドノードが挿入される。コマンドは、現在選択されている部分の左へマウスポインタを配置しそしてマウスをクリックすることにより選択されるのが好ましい。例えば、現在選択されている部分がノード308ないし312をもつサブツリーでありそして挿入点が現在ノードの上で左にある場合には、プログラムエディタは、新たなノードを現在選択されているサブツリーの上でその左へ挿入する。挿入点(「|」)を現在選択されているノードの上で左へ配置する場合を以下に述べる。
A=B+3*(4−C)
A=B+|3*(4−C)
A=B+E???3*(4−C)
A=B+E+(3*(4−C))
選択「3*(4−C)」は、挿入される2進演算子「+」の右のオペランドを定義することに注意されたい。かっこは、演算子の手順を示すためにディスプレイ表示ジェネレータによって表示される。
これは、現在選択されているサブツリーノードの上に挿入点を配置する。多オペランドの演算子に対するノードが挿入されるときには、新たなオペランドノードは、現在選択されているノードの右に挿入される。コマンドは、現在選択されているノードの右にマウスポインタを配置しそしてマウスをクリックすることにより選択されるのが好ましい。例えば、現在選択されている部分がノード308ないし312をもつサブツリーでありそして挿入点が現在ノードの上で右にある場合には、プログラムツリーエディタは、新たなノードを現在選択されているサブツリーの上でその右へ挿入する。挿入点を現在選択されているノードの上でその右へ配置する場合を以下に示す。
A=B+3*(4−C)
A=B+3*(4−C)|
A=B+3*(4−C)+E
選択「3*(4−C)」は、挿入された2進演算子「+」の左のオペランドを定義することに注意されたい。
これは、挿入点を現在選択されているノード又はサブツリーの左の兄弟として配置する。コマンドは、マウスポインタを現在選択されているサブツリーの左へ配置しそしてマウスをクリックすることにより選択されるのが好ましい。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマが挿入点を左の兄弟として配置したときには、プログラムエディタは、その後にペーストされるノードをノード302と304との間に挿入する。ノードの前に選択するコマンドを以下に示す。
{
B=4
>
A=B+3*(4−C)
D=A/2
}
新データ:C=2
{
B=4
C=2
>
A=B+3*(4−C)
D=A/2
}
これは、挿入点を現在選択されているノード又はサブツリーの右の兄弟として配置する。コマンドは、マウスポインタを現在選択されているサブツリーの右へ配置しそしてマウスをクリックすることにより入力される。例えば、現在選択されている部分がノード304ないし312をもつサブツリーでありそしてプログラマが挿入点を右の兄弟として配置したときは、プログラムツリーエディタは、その後のノードをノード304と303との間に挿入する。ノードの後に選択するコマンドを以下に示す。
{
B=4
A=B+3*(4−C)
>
D=A/2
}
新データ:C=2
{
B=4
A=B+3*(4−C)
>
C=2
D=A/2
}
A=???
A=B|
A=B+???
A=B+3|
A=B+3*???
A=B+3*4|
A=B+3*(4−???)
A=B+3*(4−C|)
上記の例は、プログラムツリーにノードを挿入する間にプログラムツリーエディタによって実行されるノード及び挿入点の好ましいデフォールト選択を示すものである。しかしながら、ユーザがステートメント「A=B+(3*4)−C」を入力しようとする場合には、ユーザは、次の表示がなされるまで、上記のようにノードを入力する。
A=B+3*4|
次いで、ユーザは、「*」演算子によって表されたノードを選択し、現在選択を変更する。これを次に示す。
A=B+3*4|
次いで、ユーザは、次に示すように「−C」を入力して操作を進める。
A=B+(3*4)−???
A=B+(3*4)−C
if(???)
{???}
else
{B=1}
「To−Do」リストは、「if」ステートメントの条件部分及び「then」部分に対応する未定義ノードを含む。次いで、プログラマは、プログラムツリーの他の部分を編集し、そして後で、これらの未定義ノードを定義することができる。
全てのローカル変数
全てのタイプ
全ての計算構造
全てのグローバル
全ての演算子
全ての手順
ソースウェルの内容は、挿入点に適当に挿入できるデータを表すように挿入点が変化するときに変化する。
− if、for、switch、goto、label等のステートメント − +、−等の演算の演算子
− =、+=等の割当の演算子
− ==、>等の関係
− &、&&、<<等のブール及び論理演算子
− 増加及び減少
− &、*、−、>、〔〕等のデータ構造の演算子
− {}、a()、特殊化等のグループ分け及びコール
− スペース(1つ又は複数)。
− 「a+」のように特殊な文字がアルファ又は数字に続くとき。
− 「+b」のようにアルファ又は数字が特殊な文字に続くとき。
− 幾つかの文字がそれ自体でトークンを形成し、例えば、セミコロンの前の ものを終わらせる。
− アルファ及び特殊文字の両方を含むトークンに対し他の脱出規定がある。
− 先ず、トークンにキーマップ内のコマンドが直接関連される。例えば、ト ークン「if」は、「Paste if」コマンドの実行を生じる。
− 次いで、トークンは、選択からルートに向かいツリーをトラバースするこ とにより「ルックアップ」される。トークナイザは、構造宣言においてフ ィールド選択の右のオペランドをサーチする。又、トークナイザは、手順 におけるローカル宣言、モジュールにおけるグローバル宣言及びシステム ライブラリーにおける宣言もサーチする。又、プログラムツリーエディタ は、種々のDCL TEに関連したネームを含む記号リストを維持するの が好ましい。トークナイザは、このリストを一致する名前に対してサーチ することができる。トークンが独特のネームを表さない場合には、トーク ナイザは、プログラマに更に別の識別情報を与えて、プログラマが非独特 のネームで適当なノードを識別するよう助けることができる。
コマンドウェルエディタは、プログラマツリーエディタのユーザインターフェイスを構成を制御する。ファシリティは、ファシリティによって与えられる各コマンドを含むコマンドウェルを備えているのが好ましい。好ましい実施例において、各コマンドには、そのコマンドを実行するための独特の識別子及びファンクションが組み合わされる。好ましいコマンドウェルは、「コンピュータシステムにおいてユーザインターフェイスをカスタマイズする方法及び装置(METHOD AND SYSTEM FOR CUSTOMIZING A USER INTERFACE IN A COMPUTER SYSTEM) 」と題する米国特許出願第07/819,194号に開示されている。プログラマツリーエディタは、メニューハイアラーキ、種々のツールバー及び種々のキーマップを含むユーザインターフェイスを与える。コマンドウェルエディタは、プログラマがユーザインターフェイスをカスタマイズできるようにする。コマンドウェルエディタは、プログラマがメニューハイアラーキを指定できるようにする。プログラマは、メニュー項目のネームと、そのメニュー項目が選択されたときに実行するための対応するコマンドとを指定することができる。ユーザインターフェイスは水平及び垂直のツールバーを含むのが好ましい。コマンドウェルエディタは、プログラマがどのコマンドをツールバーに含ませるかを指定できるようにする。各コマンドは、典型的に、ツールバーのためのボタンを指定するビットマップを有している。ユーザインターフェイスは、左のマージンと、プログラムテキストキーマップとを含んでいるのが好ましい。コマンドウェルエディタは、プログラマがコマンドに対してキー(又はマウスイベント)のマッピング又はキーのシーケンスを指定できるようにする。例えば、プログラムテキストエリアにおけるダブルクリックを、ノードを選択するコマンドに対してマップしてもよく、一方、左マージンにおけるダブルクリックを、サブツリーを表示するコマンドに対してマップしてもよい。又、プログラマが文字「if」(「if」トークン)を、プログラムテキストキーマップにおける「Paste if」コマンドに対してマップする場合には、プログラマがプログラムテキストエリア内に「if」をタイプしたときに、「Paste if」コマンドが実行され、現在挿入点にノードを挿入させる。
ディスプレイ表示ジェネレータは、プログラムツリーエディタから要求を受け取り、プログラムツリーの表示をディスプレイ装置に表示する。ディスプレイ表示ジェネレータは、現在選択されているディスプレイ表示フォーマットに基づいて表示を行うようにプログラムツリーの各ノードに要求する。ディスプレイ表示ジェネレータは、プログラムツリーを深さ優先で左から右へトラバースする。
101 CPU
102 コンピュータメモリ
103 入力/出力装置
104 記憶装置
105 キーボード
106 ポインタ装置
107 ディスプレイ装置
201 ソフトウェア機構(ファシリティ)
202 プログラムツリーエディタ
203 コマンドウェルエディタ
204 ディスプレイ表示ジェネレータ
205 プログラムツリー変換器
206 コマンドウェル
207 ユーザインターフェイスマップ
208 プログラムツリー
Claims (7)
- コンピュータプログラムの実行コードを生成するためのコンピュータシステムで実行される方法であって、前記コンピュータシステムが、
中央処理ユニットと、
入力装置及び出力装置と、
前記中央処理ユニットで実行されるコンピュータプログラムにより以下の処理が行われるよう前記コンピュータシステムに指令する、前記コンピュータプログラムを記憶したコンピュータメモリとを備え、
前記コンピュータシステムは、前記コンピュータプログラムの実行によって、
複数のノードを持つプログラムツリーであって、各ノードが、前記コンピュータプログラムのプログラミング構造に対応している前記プログラムツリーの情報を前記コンピュータメモリにロードし、前記出力装置にツリー表示する処理を行い、
ツリー表示された前記プログラミング構造に対応する各ノードについて、表現又は宣言ツリーエレメントを表すため各ノードに定義された演算子又はオペランドの情報を基に、演算子オペレータ、定数、流れ制御、割当演算子、又はタイプ定義を含む1以上のノードを、複数のディスプレイリスト項目を有するディスプレイリストに変換する処理(以下、「インプリメンテーション処理」と称する。)を行い、
前記プログラムツリーの各ノードについて、前記各ディスプレイリスト項目にリンクづけされたストリングテーブルの各データから実行可能なコードを生成する処理を行ない、
前記インプリメンテーション処理のために、プログラミング言語構文とは独立したコマンド、すなわち、前記プログラムツリーにノードを追加すること、前記プログラムツリーからノードを削除すること、そして、前記プログラムツリーにおけるノードの挿入点を変更することを含むユーザからの前記コマンドを前記入力装置を介して受信する処理を行なうことを含む前記方法。 - コンピュータプログラムの実行コードを生成するためのコンピュータシステムで実行される方法であって、前記コンピュータシステムが、
中央処理ユニットと、
入力/出力装置と、
前記中央処理ユニットで実行されるコンピュータプログラムにより以下の処理が行われるよう前記コンピュータシステムに指令する、前記コンピュータプログラムを記憶したコンピュータメモリとを備え、
前記コンピュータプログラムの実行によって、
複数のノードを持つプログラムツリーであって、各ノードが、前記コンピュータプログラムのプログラミング構造に対応している前記プログラムツリーの情報を前記コンピュータメモリにロードし、前記出力装置にツリー表示する処理が行われ、
ツリー表示された前記プログラミング構造に対応する各ノードについて、表現又は宣言ツリーエレメントを表すため各ノードに定義された演算子又はオペランドの情報を基に、演算子オペレータ、定数、流れ制御、割当演算子、又はタイプ定義を含む1以上のノードを、複数のディスプレイリスト項目を有するディスプレイリストに変換する処理(以下、「インプリメンテーション処理」と称する。)が行われ、
前記プログラムツリーの各ノードについて、前記各ディスプレイリスト項目にリンクづけされたストリングテーブルの各データに基づき実行可能なコードを生成する処理が行われ、
ツリー表示された前記プログラムツリーの各ノードが、ツリー表示された前記プログラミング構造をインプリメンテーションするための機能を有し、そして、前記インプリメンテーション処理において、前記各ノードが有するこのインプリメンテーションするための機能が呼び出されて、各ノードがディスプレイリストに変換される、前記方法。 - コンピュータプログラムの実行コードを生成するためのコンピュータシステムで実行される方法であって、前記コンピュータシステムが、
中央処理ユニットと、
入力/出力装置と、
前記中央処理ユニットで実行されるコンピュータプログラムにより以下の処理が行われるよう前記コンピュータシステムに指令する、前記コンピュータプログラムを記憶したコンピュータメモリとを備え、
前記コンピュータシステムは、前記コンピュータプログラムの実行によって、
複数のノードを持つプログラムツリーであって、各ノードが、前記コンピュータプログラムのプログラミング構造に対応している前記プログラムツリーの情報を前記コンピュータメモリにロードし、前記出力装置にツリー表示する処理を行い、
ツリー表示された前記プログラミング構造に対応する各ノードについて、表現又は宣言ツリーエレメントを表すため各ノードに定義された演算子又はオペランドの情報を基に、演算子オペレータ、定数、流れ制御、割当演算子、又はタイプ定義を含む1以上のノードを、複数のディスプレイリスト項目を有するディスプレイリストに変換する処理(以下、「インプリメンテーション処理」と称する。)を行い、
前記プログラムツリーの各ノードについて、前記各ディスプレイリスト項目にリンクづけされたストリングテーブルの各データから実行可能なコードを生成する処理を行い、
ツリー表示された前記プログラムツリーの各ノードが、前記プログラミング構造を表すノード描写を表示するための機能を有し、ノードであるツリー要素のタイプに応じた表示の生成が前記プログラムツリーにおける表現をあらわすとき、宣言ノードによって記述された演算子又はオペランドを表示するための機能が呼び出されることを特徴とする、前記方法。 - コンピュータプログラムの実行コードを生成するためのコンピュータシステムで実行される方法であって、前記コンピュータシステムが、
中央処理ユニットと、
入力/出力装置と、
前記中央処理ユニットで実行されるコンピュータプログラムにより以下の処理が行われるよう前記コンピュータシステムに指令する、前記コンピュータプログラムを記憶したコンピュータメモリとを備え、
前記コンピュータシステムは、前記コンピュータプログラムの実行によって、
複数のノードを持つプログラムツリーであって、各ノードが、前記コンピュータプログラムのプログラミング構造に対応している前記プログラムツリーの情報を前記コンピュータメモリにロードし、前記出力装置にツリー表示する処理と、
ツリー表示された前記プログラミング構造に対応する各ノードについて、表現又は宣言ツリーエレメントを表すため各ノードに定義された演算子又はオペランドの識別を基に、演算子オペレータ、流れ制御、割当演算子、又はタイプ定義を含む1以上のノードを、複数のディスプレイリスト項目を有するディスプレイリストに変換する処理(以下、「インプリメンテーション処理」と称する。)とが行なわれ、そして、
前記プログラムツリーの各ノードについて、前記各ディスプレイリスト項目にリンクづけされたストリングテーブルの各データから、実行可能なコードを生成する処理が行われることを更に含む、前記方法。 - コンピュータプログラムの実行コードを生成するコンピュータシステムであって、
中央処理ユニットと、
入力装置と、
出力装置と、
前記コンピュータプログラムの実行コードを生成するために必要なソフトウェアコンポーネントとを記憶するためのコンピュータメモリと、
前記コンピュータシステム上で実行可能な機械命令を生成するコード生成器とを備え、
前記中央処理ユニット内のエディタ機能は、ユーザが、前記入力装置を介して、ノードをもつプログラムツリーとして前記コンピュータメモリに記憶されているプログラムを編集するためのグラフィカルユーザインタフェースを提供し、
前記中央処理ユニットは、表現又は宣言ツリーエレメントを表すため各ノードに定義された演算子又はオペランドの情報を基に、演算子オペレータ、定数、流れ制御、割当演算子、又はタイプ定義を含む1以上のノードを、複数のディスプレイリスト項目を有するディスプレイリストに変換する処理(以下、「インプリメンテーション処理」と称する。)を実行し、
前記コード生成器は、前記各ディスプレイリスト項目にリンクづけされたストリングテーブルの各データから前記インプリメンテーション処理後の各ノードを変換して実行可能なコードを生成する、ことを特徴とするコンピュータシステム。 - 前記プログラムツリーはツリーデータ構造であって、このツリーデータ構造のノードが前記コンピュータプログラムを形成するプログラミング構造に対応している、請求項5に記載のコンピュータシステム。
- 前記プログラムツリーはツリーデータ構造であって、このツリーデータ構造のノードが、前記コンピュータプログラムを形成し、且つ、演算子オペレータ、定数、流れ制御、割当演算子、又はタイプ定義を含むプログラミング構造に対応している、請求項5に記載のコンピュータシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14568993A | 1993-10-29 | 1993-10-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26711894A Division JP4140980B2 (ja) | 1993-10-29 | 1994-10-31 | プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008140410A JP2008140410A (ja) | 2008-06-19 |
JP4448881B2 true JP4448881B2 (ja) | 2010-04-14 |
Family
ID=22514125
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26711894A Expired - Lifetime JP4140980B2 (ja) | 1993-10-29 | 1994-10-31 | プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法 |
JP2008000190A Expired - Lifetime JP4448881B2 (ja) | 1993-10-29 | 2008-01-04 | コンピュータプログラムを発生する方法及びシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26711894A Expired - Lifetime JP4140980B2 (ja) | 1993-10-29 | 1994-10-31 | プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法 |
Country Status (4)
Country | Link |
---|---|
US (7) | US6097888A (ja) |
EP (1) | EP0651325A3 (ja) |
JP (2) | JP4140980B2 (ja) |
CA (2) | CA2134059C (ja) |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2134059C (en) * | 1993-10-29 | 2009-01-13 | Charles Simonyi | Method and system for generating a computer program |
JP3368141B2 (ja) * | 1996-04-10 | 2003-01-20 | シャープ株式会社 | アセンブラ言語ソースプログラム生成装置 |
US5987249A (en) * | 1996-08-27 | 1999-11-16 | Numega Technologies | IR code instrumentation |
US5983016A (en) * | 1996-11-12 | 1999-11-09 | International Business Machines Corporation | Execution engine in an object modeling tool |
EP0979446A2 (en) * | 1997-04-30 | 2000-02-16 | Geodesic Systems L.L.C. | Automatically-maintained customizable user interfaces |
US6061513A (en) * | 1997-08-18 | 2000-05-09 | Scandura; Joseph M. | Automated methods for constructing language specific systems for reverse engineering source code into abstract syntax trees with attributes in a form that can more easily be displayed, understood and/or modified |
US6314562B1 (en) * | 1997-09-12 | 2001-11-06 | Microsoft Corporation | Method and system for anticipatory optimization of computer programs |
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
US6256618B1 (en) * | 1998-04-23 | 2001-07-03 | Christopher Spooner | Computer architecture using self-manipulating trees |
US6745384B1 (en) * | 1998-05-29 | 2004-06-01 | Microsoft Corporation | Anticipatory optimization with composite folding |
US6134709A (en) * | 1998-06-29 | 2000-10-17 | Cisco Technology, Inc. | Method and apparatus for parsing commands |
US6260042B1 (en) * | 1998-11-05 | 2001-07-10 | International Business Machines Corporation | Quick difference and update for tree structure data |
CA2256931A1 (en) * | 1998-12-23 | 2000-06-23 | Robert Weisz | Source editing in a graphical hierarchical environment |
US7065717B1 (en) * | 1999-01-19 | 2006-06-20 | International Business Machines Corporation | Tree-based interface apparatus for display of call dependencies and method therefor |
DE19907328C2 (de) * | 1999-02-20 | 2002-10-24 | Johannes Reichardt | Verfahren und System zur visuellen Programmierung |
US6282699B1 (en) * | 1999-02-23 | 2001-08-28 | National Instruments Corporation | Code node for a graphical programming system which invokes execution of textual code |
US6370683B1 (en) | 1999-05-07 | 2002-04-09 | Arnold Sobers | Computer software for generating flowchart images of a source program |
US6920608B1 (en) * | 1999-05-21 | 2005-07-19 | E Numerate Solutions, Inc. | Chart view for reusable data markup language |
US9268748B2 (en) | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
US9262384B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US9262383B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | System, method, and computer program product for processing a markup document |
US7249328B1 (en) * | 1999-05-21 | 2007-07-24 | E-Numerate Solutions, Inc. | Tree view for reusable data markup language |
US7421648B1 (en) | 1999-05-21 | 2008-09-02 | E-Numerate Solutions, Inc. | Reusable data markup language |
US6493869B1 (en) | 1999-05-28 | 2002-12-10 | Microsoft Corporation | Inheriting code in a transformational programming system |
US6665866B1 (en) | 1999-05-28 | 2003-12-16 | Microsoft Corporation | Extensible compiler utilizing a plurality of question handlers |
US7210117B2 (en) * | 1999-08-19 | 2007-04-24 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to program information |
GB2354849B (en) | 1999-09-29 | 2004-08-25 | Ibm | Method and tool for graphically defining an expression |
US6993759B2 (en) * | 1999-10-05 | 2006-01-31 | Borland Software Corporation | Diagrammatic control of software in a version control system |
US6931625B1 (en) * | 1999-10-05 | 2005-08-16 | Borland Software Corporation | Method and system for collapsing a graphical representation of related elements |
GB2356946B (en) * | 1999-12-01 | 2003-11-05 | Int Computers Ltd | Computer system user interface design |
AU2133701A (en) * | 1999-12-10 | 2001-06-18 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
JP3430252B2 (ja) * | 2000-01-24 | 2003-07-28 | 独立行政法人産業技術総合研究所 | ソースコード変換方法、ソースコード変換プログラムを記録した記録媒体及びソースコード変換装置 |
US6886005B2 (en) * | 2000-02-17 | 2005-04-26 | E-Numerate Solutions, Inc. | RDL search engine |
GB0004090D0 (en) * | 2000-02-22 | 2000-04-12 | Innovation Venture Ltd | Application programming system and method of operation thereof |
AU2001239976A1 (en) * | 2000-03-02 | 2001-09-12 | Wind River Systems, Inc. | System and method for common code generation |
US7966421B2 (en) * | 2000-06-21 | 2011-06-21 | SAtech Group, A.B. Limited Liability Company | Method and apparatus for logically expanding the length of a search key |
US7047526B1 (en) * | 2000-06-28 | 2006-05-16 | Cisco Technology, Inc. | Generic command interface for multiple executable routines |
US6980996B1 (en) | 2000-06-28 | 2005-12-27 | Cisco Technology, Inc. | Generic command interface for multiple executable routines having character-based command tree |
AU2001295085A1 (en) * | 2000-09-28 | 2002-04-08 | Curl Corporation | Integrated content language for use on the web |
US7200838B2 (en) * | 2000-12-20 | 2007-04-03 | National Instruments Corporation | System and method for automatically generating a graphical program in response to a state diagram |
US9600842B2 (en) | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US7110936B2 (en) * | 2001-02-23 | 2006-09-19 | Complementsoft Llc | System and method for generating and maintaining software code |
US7089298B2 (en) * | 2001-08-20 | 2006-08-08 | Nokia Corporation | Naming distribution method for ad hoc networks |
US7212984B2 (en) | 2001-10-29 | 2007-05-01 | Qualcomm Incorporated | Method and apparatus for providing virtual capacity to a provider of services |
US7080352B2 (en) * | 2002-01-30 | 2006-07-18 | Dloo, Incorporated | Method and system for creating programs using code having coupled syntactic and semantic relationships |
EP1343079A1 (de) * | 2002-03-07 | 2003-09-10 | Infix Software-Systeme GmbH | Verfahren, Software-Produkt und System zur universellen computergestützen Informationsverarbeitung |
GB0206285D0 (en) * | 2002-03-16 | 2002-05-01 | Ibm | Apparatus method and computer program for providing a GUI representation of relationships between a set of resources of a data processing system |
US7254808B2 (en) * | 2002-07-20 | 2007-08-07 | Microsoft Corporation | Method for specifying and parsing expressions |
US7219328B2 (en) * | 2002-08-28 | 2007-05-15 | Honeywell International Inc. | Model-based composable code generation |
US7707544B2 (en) * | 2002-12-05 | 2010-04-27 | Bea Systems, Inc. | System and method for generating and reusing software application code with source definition files |
US7284242B2 (en) * | 2003-01-06 | 2007-10-16 | Xerox Corporation | Program compiler with abstraction composer |
GB2401217B (en) * | 2003-05-02 | 2005-11-09 | Transitive Ltd | Improved architecture for generating intermediate representations for program code conversion |
US7237226B2 (en) * | 2003-05-09 | 2007-06-26 | Intentional Software Corporation | Method and system for storing pending changes to data |
US20040230945A1 (en) * | 2003-05-15 | 2004-11-18 | Bryant Deborah E. | Integration of a configuration tool with a graphical program language |
US7165238B2 (en) | 2003-06-06 | 2007-01-16 | Intentional Software Corporation | Method and system for organizing and manipulating nodes by category in a program tree |
US7051279B2 (en) * | 2003-07-08 | 2006-05-23 | Intentional Software Corporation | Method and system for providing multiple levels of help information for a computer program |
US20050044528A1 (en) * | 2003-08-18 | 2005-02-24 | Olsen Jesse Dale | Systems and methods for viewing code |
US7210135B2 (en) * | 2003-08-26 | 2007-04-24 | Microsoft Corporation | Data flow analysis of transactional processes |
US7360175B2 (en) * | 2003-10-03 | 2008-04-15 | Lexisnexis, A Division Of Reed Elsevier Inc. | Hierarchical, multilevel, expand and collapse navigation aid for hierarchical structures |
US7607099B2 (en) * | 2003-11-03 | 2009-10-20 | Intentional Software Corporation | Method and system for reversible design tree transformations |
US7877400B1 (en) * | 2003-11-18 | 2011-01-25 | Adobe Systems Incorporated | Optimizations of XPaths |
US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
US7426694B2 (en) * | 2004-02-17 | 2008-09-16 | Schweitzer Engineering Laboratories, Inc. | System and method for customizing design of settings management user interface systems used to configure settings for intelligent electronic devices |
US6876314B1 (en) | 2004-02-18 | 2005-04-05 | Robocoder Corporation | Self-generating automatic code generator |
US7409675B2 (en) * | 2004-02-27 | 2008-08-05 | Microsoft Corporation | Code rewriting |
US7769783B2 (en) * | 2004-04-20 | 2010-08-03 | Reuters Limited | Computing algebraic equations |
AU2004319192B2 (en) * | 2004-04-28 | 2008-07-31 | Fujitsu Limited | Source code generation support program and source code generation support method |
US9646107B2 (en) | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
US8849892B2 (en) * | 2004-06-10 | 2014-09-30 | Verizon Patent And Licensing Inc. | Method and system for brokering messages in a distributed system |
US7464375B2 (en) * | 2004-06-24 | 2008-12-09 | International Business Machines Corporation | Method for flattening hierarchically structured flows |
US7620632B2 (en) | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
US7801923B2 (en) | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
US7627591B2 (en) * | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
US7899821B1 (en) | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
RU2005124030A (ru) * | 2005-07-28 | 2007-02-10 | Александр Михайлович Юров (RU) | Способ визуальной адресации команд в дереве |
US20070101256A1 (en) * | 2005-11-01 | 2007-05-03 | Charles Simonyi | Perfect source control |
EP1960870A1 (fr) * | 2005-11-30 | 2008-08-27 | France Télécom | Procede de creation d'un graphe d'approximation des comportements de l'interface homme-machine d'une application |
US7827537B2 (en) * | 2006-05-26 | 2010-11-02 | Oracle America, Inc | Searching computer programs that use different semantics |
US7886284B2 (en) * | 2006-09-05 | 2011-02-08 | International Business Machines Corporation | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems |
US7949949B2 (en) | 2006-11-20 | 2011-05-24 | Intentional Software Corporation | Domain transformation languages |
DE112007003394A5 (de) * | 2007-01-12 | 2009-12-10 | Siemens Aktiengesellschaft | Automatisierungswerkzeug, Verwendung eines Automatisierungswerkzeugs und korrespondierendes Computerprogramm |
US8276118B2 (en) * | 2007-03-01 | 2012-09-25 | International Business Machines Corporation | Depicting changes to structures in an integrated development environment |
US7954067B2 (en) * | 2007-03-16 | 2011-05-31 | Apple Inc. | Parameter setting superimposed upon an image |
US20080229232A1 (en) * | 2007-03-16 | 2008-09-18 | Apple Inc. | Full screen editing of visual media |
US8312427B2 (en) * | 2007-05-15 | 2012-11-13 | International Business Machines Corporation | Selecting a set of candidate code expressions from a section of program code for copying |
US8484629B2 (en) * | 2007-05-24 | 2013-07-09 | Microsoft Corporation | Programming model for modular development |
US7949994B2 (en) * | 2007-08-23 | 2011-05-24 | International Business Machines Corporation | Method and computer program product for viewing extendible models for legacy applications |
US8370751B2 (en) * | 2007-08-31 | 2013-02-05 | Sap Ag | User interface customization system |
US20090077511A1 (en) * | 2007-09-13 | 2009-03-19 | International Business Machines Corporation | Generating Constraints in a Class Model |
US9304983B2 (en) * | 2007-10-16 | 2016-04-05 | International Business Machines Corporation | Method and system for Xform generation and processing application integration framework |
US8281287B2 (en) * | 2007-11-12 | 2012-10-02 | Finocchio Mark J | Compact, portable, and efficient representation of a user interface control tree |
US8181167B2 (en) * | 2008-01-09 | 2012-05-15 | Kan Zhao | Method and system for presenting and analyzing software source code through intermediate representation |
US7966345B1 (en) * | 2008-03-28 | 2011-06-21 | Cypress Semiconductor Corporation | Method, system, and graphical user interface for generating firmware code for a programmable integrated circuit |
US8473897B2 (en) * | 2008-10-03 | 2013-06-25 | Microsoft Corporation | Common intermediate representation for data scripting language |
US9292478B2 (en) * | 2008-12-22 | 2016-03-22 | International Business Machines Corporation | Visual editor for editing complex expressions |
US8060857B2 (en) * | 2009-01-31 | 2011-11-15 | Ted J. Biggerstaff | Automated partitioning of a computation for parallel or other high capability architecture |
US9354629B2 (en) * | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
US8423981B2 (en) * | 2009-06-18 | 2013-04-16 | National Instruments Corporation | Compiling a graphical program having a textual language program portion for a real time target |
US8909678B2 (en) * | 2009-09-30 | 2014-12-09 | Red Hat, Inc. | Conditioned distribution of data in a lattice-based database using spreading rules |
US8996453B2 (en) * | 2009-09-30 | 2015-03-31 | Red Hat, Inc. | Distribution of data in a lattice-based database via placeholder nodes |
US8984013B2 (en) * | 2009-09-30 | 2015-03-17 | Red Hat, Inc. | Conditioning the distribution of data in a hierarchical database |
US8996604B2 (en) * | 2010-03-04 | 2015-03-31 | International Business Machines Corporation | Distributed symbol table with intelligent lookup scheme |
US8533671B2 (en) * | 2010-06-07 | 2013-09-10 | Microsoft Corporation | Assigning type parameters |
US20110321020A1 (en) * | 2010-06-23 | 2011-12-29 | Starview Technology, Inc. | Transforming declarative event rules into executable procedures |
US9286037B2 (en) * | 2010-12-29 | 2016-03-15 | Microsoft Technology Licensing, Llc | Platform for distributed applications |
US20130067432A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application development toolkit |
US20130152061A1 (en) * | 2011-12-12 | 2013-06-13 | Microsoft Corporation | Full fidelity parse tree for programming language processing |
US20130196305A1 (en) * | 2012-01-30 | 2013-08-01 | International Business Machines Corporation | Method and apparatus for generating questions |
GB2506162A (en) * | 2012-09-24 | 2014-03-26 | Ibm | Searching source code |
US9569274B2 (en) | 2012-10-16 | 2017-02-14 | Microsoft Technology Licensing, Llc | Distributed application optimization using service groups |
US9715372B2 (en) * | 2013-03-13 | 2017-07-25 | Microsoft Technology Licensing, Llc | Executable guidance experiences based on implicitly generated guidance models |
US20150029346A1 (en) * | 2013-07-23 | 2015-01-29 | Insurance Auto Auctions, Inc. | Photo inspection guide for vehicle auction |
US20160259641A1 (en) * | 2013-12-16 | 2016-09-08 | Hewlett Packard Enterprise Development Lp | Tagging a program code portion |
US9304743B1 (en) * | 2014-06-03 | 2016-04-05 | The Mathworks, Inc. | Converting from incorrect program code to correct program code |
US10423623B2 (en) * | 2015-02-05 | 2019-09-24 | Sap Se | Hierarchy modeling and query |
US9678724B2 (en) | 2015-05-29 | 2017-06-13 | Intentional Software Corporation | System and method for combining text editing and tree encoding for computer programs |
JP6162909B2 (ja) * | 2015-07-31 | 2017-07-12 | 楽天株式会社 | 木構造データ編集装置、木構造データ編集方法、及びプログラム |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10671038B2 (en) | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
USD898059S1 (en) | 2017-02-06 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
US10310969B2 (en) * | 2017-05-31 | 2019-06-04 | Oracle International Corporation | Systems and methods for test prediction in continuous integration environments |
USD898060S1 (en) | 2017-06-05 | 2020-10-06 | Sas Institute Inc. | Display screen or portion thereof with graphical user interface |
CN107644073A (zh) * | 2017-09-18 | 2018-01-30 | 广东中标数据科技股份有限公司 | 一种基于深度优先遍历的字段血缘分析方法、系统及装置 |
US10503498B2 (en) | 2017-11-16 | 2019-12-10 | Sas Institute Inc. | Scalable cloud-based time series analysis |
US11294645B2 (en) | 2019-04-02 | 2022-04-05 | Gavriel Loria | Visual virtual programming machine for real-time interactive creation, playback, execution, inspection and manipulation of programming elements |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4782444A (en) * | 1985-12-17 | 1988-11-01 | International Business Machine Corporation | Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering |
US4827404A (en) * | 1986-04-14 | 1989-05-02 | Schlumberger Technology Corporation | Method and system for computer programming |
GB2197506A (en) | 1986-10-27 | 1988-05-18 | Burr Brown Ltd | Providing and handling break points in a software monitor |
US5191646A (en) * | 1986-11-20 | 1993-03-02 | Hitachi, Ltd. | Display method in software development support system |
US5396627A (en) | 1987-11-06 | 1995-03-07 | Hitachi, Ltd. | Method of producing object program based on interprocedural dataflow analysis of a source program |
US4821211A (en) * | 1987-11-19 | 1989-04-11 | International Business Machines Corp. | Method of navigating among program menus using a graphical menu tree |
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
US5148513A (en) * | 1988-05-20 | 1992-09-15 | John R. Koza | Non-linear genetic process for use with plural co-evolving populations |
JP2534360B2 (ja) * | 1988-09-26 | 1996-09-11 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 接続方法、ノ―ド接続方法、デ―タ処理方法、及び木内にノ―ドを挿入する方法 |
US5161216A (en) * | 1989-03-08 | 1992-11-03 | Wisconsin Alumni Research Foundation | Interprocedural slicing of computer programs using dependence graphs |
US5175843A (en) * | 1989-10-30 | 1992-12-29 | General Electric Company | Computer-aided design method for restructuring computational networks to minimize shimming delays |
JPH04280320A (ja) * | 1991-03-08 | 1992-10-06 | Nec Corp | プログラム自動生成装置 |
US5265254A (en) | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
US5327561A (en) * | 1991-09-20 | 1994-07-05 | International Business Machines Corporation | System and method for solving monotone information propagation problems |
GB9126269D0 (en) * | 1991-12-11 | 1992-02-12 | Renishaw Metrology Ltd | Temperature sensor for coordinate positioning apparatus |
JPH05257664A (ja) * | 1991-12-12 | 1993-10-08 | Internatl Business Mach Corp <Ibm> | バージョン独立のオブジェクト指向アプリケーション・プログラムを生成するシステム及び方法 |
US5432901A (en) | 1992-01-30 | 1995-07-11 | Bmc Software, Inc. | Method of dynamically generating a local format for use by a logical unit in a VTAM-type communications session |
US5408603A (en) * | 1992-03-31 | 1995-04-18 | Dow Benelux N.V. | Global process control information system and method |
AR247303A1 (es) | 1992-08-21 | 1994-11-30 | Gilligan Federico Gustavo Y Fa | Nuevo teclado de computacion |
US5339433A (en) * | 1992-11-19 | 1994-08-16 | Borland International, Inc. | Symbol browsing in an object-oriented development system |
CA2134059C (en) | 1993-10-29 | 2009-01-13 | Charles Simonyi | Method and system for generating a computer program |
US5680622A (en) * | 1994-06-30 | 1997-10-21 | Borland International, Inc. | System and methods for quickly detecting shareability of symbol and type information in header files |
US5717883A (en) * | 1995-06-28 | 1998-02-10 | Digital Equipment Corporation | Method and apparatus for parallel execution of computer programs using information providing for reconstruction of a logical sequential program |
US5813019A (en) * | 1995-07-06 | 1998-09-22 | Sun Microsystems, Inc. | Token-based computer program editor with program comment management |
US5857212A (en) * | 1995-07-06 | 1999-01-05 | Sun Microsystems, Inc. | System and method for horizontal alignment of tokens in a structural representation program editor |
US5896537A (en) | 1996-05-13 | 1999-04-20 | Siemens Corporate Research, Inc. | Partition based alias analyzer for pointers |
US6012152A (en) | 1996-11-27 | 2000-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Software fault management system |
-
1994
- 1994-10-21 CA CA002134059A patent/CA2134059C/en not_active Expired - Lifetime
- 1994-10-21 CA CA2643234A patent/CA2643234C/en not_active Expired - Lifetime
- 1994-10-26 EP EP94116922A patent/EP0651325A3/en not_active Ceased
- 1994-10-31 JP JP26711894A patent/JP4140980B2/ja not_active Expired - Lifetime
-
1995
- 1995-04-28 US US08/431,049 patent/US6097888A/en not_active Expired - Lifetime
-
1996
- 1996-11-08 US US08/745,251 patent/US5790863A/en not_active Expired - Lifetime
-
1997
- 1997-06-27 US US08/884,202 patent/US6078746A/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,447 patent/US6070007A/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,441 patent/US6189143B1/en not_active Expired - Lifetime
- 1997-06-27 US US08/884,443 patent/US5911072A/en not_active Expired - Lifetime
-
2000
- 2000-12-05 US US09/730,375 patent/US6966054B2/en not_active Expired - Fee Related
-
2008
- 2008-01-04 JP JP2008000190A patent/JP4448881B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6966054B2 (en) | 2005-11-15 |
JPH07182147A (ja) | 1995-07-21 |
EP0651325A3 (en) | 1998-01-28 |
CA2134059A1 (en) | 1995-04-30 |
CA2643234C (en) | 2012-05-15 |
EP0651325A2 (en) | 1995-05-03 |
US6097888A (en) | 2000-08-01 |
US5790863A (en) | 1998-08-04 |
US6189143B1 (en) | 2001-02-13 |
US20010037496A1 (en) | 2001-11-01 |
CA2643234A1 (en) | 1995-04-30 |
JP4140980B2 (ja) | 2008-08-27 |
CA2134059C (en) | 2009-01-13 |
US5911072A (en) | 1999-06-08 |
JP2008140410A (ja) | 2008-06-19 |
US6070007A (en) | 2000-05-30 |
US6078746A (en) | 2000-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4448881B2 (ja) | コンピュータプログラムを発生する方法及びシステム | |
US5367619A (en) | Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms | |
US5189633A (en) | Apparatus and method for interactively manipulating mathematical equations | |
US8429525B2 (en) | Method and system for reversible design tree transformations | |
US6115544A (en) | Method and system for displaying error messages | |
US5206950A (en) | Software development system and method using expanding outline interface | |
Fischer et al. | The POE language-based editor project | |
US7237226B2 (en) | Method and system for storing pending changes to data | |
US6518979B1 (en) | Automatically-maintained customizable user interfaces | |
JP2006202308A (ja) | グラフィカルユーザインターフェース方法、グラフィカルユーザインターフェース装置、及び記録媒体 | |
US20040003349A1 (en) | Content segments | |
JP3444948B2 (ja) | 文書編集装置および文書編集方法 | |
Lunney et al. | Syntax-directed editing | |
Gansner et al. | Syned--A Language-Based Editor for an Interactive Programming Environment | |
JP2002288004A (ja) | プログラムソース処理装置、プログラムソース処理方法、およびプログラムソース処理プログラム | |
JPH06274333A (ja) | プログラムの入力支援方法および編集支援方法 | |
JPH06195189A (ja) | 対話式コマンド構成システム | |
Bovey | A debugger for a graphical workstation | |
Van Egmond et al. | INFORM: an interactive syntax-directed formulae editor | |
Yuen et al. | Assembly language software development system | |
Zheng et al. | The design and implementation of the syntax-directed editor generator (SEG) | |
Dykes | Enhanced manipulative capabilities for a syntax-based editor | |
Tagliavini et al. | XWIB: an X-Windows interface builder for scientific and engineering application programs | |
Naveda | Specifying a prototyping language in the Cornell synthesizer and the Xinotech program composer | |
JPH05150961A (ja) | パツケージ作成方法および自動プログラミング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080526 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080826 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080829 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080926 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090302 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090325 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090422 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091109 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091126 |
|
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: 20091224 |
|
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: 20100125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130129 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140129 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |