JP4240520B2 - Error information display method and apparatus - Google Patents

Error information display method and apparatus Download PDF

Info

Publication number
JP4240520B2
JP4240520B2 JP2000144443A JP2000144443A JP4240520B2 JP 4240520 B2 JP4240520 B2 JP 4240520B2 JP 2000144443 A JP2000144443 A JP 2000144443A JP 2000144443 A JP2000144443 A JP 2000144443A JP 4240520 B2 JP4240520 B2 JP 4240520B2
Authority
JP
Japan
Prior art keywords
data type
error message
data
type name
error
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
Application number
JP2000144443A
Other languages
Japanese (ja)
Other versions
JP2001325096A (en
Inventor
友人 清水
英男 高橋
桂一 勝倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000144443A priority Critical patent/JP4240520B2/en
Publication of JP2001325096A publication Critical patent/JP2001325096A/en
Application granted granted Critical
Publication of JP4240520B2 publication Critical patent/JP4240520B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンパイラやインタプリタなどのプログラミング言語処理システムに係わり、特に前記プログラミング言語処理システムがソースプログラムの解析処理時にエラーを検出したときに、エラーメッセージを理解容易な型で表示するエラー情報表示方法に関する。
【0002】
【従来の技術】
近年、プログラミング言語として、C++言語などの、ユーザ定義データ型を持つ、型付けの強いプログラミング言語が多く用いられている。
ユーザ定義データ型とは、整数や文字列などの基本的なデータ型を組み合わせて、プログラム開発者が新たに定義するデータ型のことである。
また、型付けの強いプログラミング言語とは、値の代入時にデータ型が厳密に一致しない場合にエラーとなるプログラミング言語である。
このようなプログラミング言語で記述されたソースプログラムは、コンパイラによってコンパイルされ、コンピュータ上で実行可能な形式のオブジェクトプログラムへと変換される。
コンパイラは、コンパイル時にソースプログラム中のエラーを検出すると、エラーメッセージを出力して、エラーの種類やエラーの検出されたソースプログラム上の箇所などのエラー情報をプログラム開発者に対して表示する。
プログラム開発者は、エラーメッセージを読んで、適切なソースプログラム修正方法を判断し、ソースプログラムを修正する必要がある。
型付けの強いプログラミング言語では、コンパイラによって検出されるエラーの多くは、代入文における左辺と右辺のデータ型の不一致をはじめとする、データ型に関連するエラーとなる。
【0003】
さらに、データ型を複雑に組み合わせたユーザ定義データ型が用いられると、データ型名が複雑な構造を持った長い名前となることがある。
C++言語のプログラムにおいて、テンプレート型と呼ばれるユーザ定義データ型が用いられた場合には、この傾向は顕著になる。C++言語では、文献a:「The C++ programming language third edition」(B.Stroustrup著、Addison−Wesley社刊)の327頁〜354頁に記述されているように、データ型をパラメタとして、テンプレート型と呼ばれるユーザ定義データ型を定義することができる。
テンプレート型名は、パラメタとして与えられたデータ型の名前を入れ子状に含む名前となるため、入れ子状の複雑な構造を持った長い名前となることがある。
コンパイル時にテンプレート型に関連するエラーが発生すると、エラーメッセージにはこの長いテンプレート型名が含まれることになる。
その結果、ユーザ定義データ型を持つ、型付けの強いプログラミング言語においては、コンパイル時に出力されるエラーメッセージは、データ型名として複雑な構造を持った長い名前を含むことが多くなる。
従来技術では、このような長い名前を含むエラーメッセージを、単なるテキストとしてそのまま表示していた。
本発明で適用される既存の「エラーメッセージ」は、「エラーの発生したファイル名」「エラーの種類を表す記号」「エラーの説明文」の3要素をコロンで結合した構造を有している。このような構造を持ったエラーメッセージを出力する既存のC ++ 言語処理系としては、例えば、M icrosoft isual ++4.1 が存在しており、次の2つの文献に記載がある。
(1)M icrosoft isual ++4.1 付属オンラインマニュアル
特に、 include_alias の頁
(2)V isual ++ 実線プログラミング/田島孝行著、工学社、 ISBN4-87593-218-9 、46頁、図「CC olor tatic の初期化」
なお、前記「エラーの説明文」として、データ型名として複雑な構造を持った長い名前を含みうるものとしては、例えば、M icrosoft isual ++4.1 のエラーC 2664 にみられる「 'function':number 番目の引数を 'type1' から 'type2' に変換できません。」といったものが存在しており、これについては前記(1)の文献(特に、コンパイラ エラーC 2664 の頁)に記載がある。
【0004】
【発明が解決しようとする課題】
しかし、従来技術では、次の理由により、プログラム開発者がエラーメッセージを読んでプログラムの修正方法を判断する効率が著しく低下するという問題が生じる。
(1)データ型名が長く、エラーメッセージの大部分を占めるため、エラーメッセージ全体を文章として把握することが困難となる。そのため、エラーメッセージ全体の意味を理解することが困難となる。
(2)データ型名が長く複雑なため、データ型名の構造を把握することが困難である。そのため、特にデータ型の不一致に起因するエラーにおいて、エラーの原因となったデータ型の不一致部分を発見することが困難となる。
本発明は、前記問題を解消するためのものであり、次の課題を解決することを目的とする。
(1)長い名前をデータ型名として含むエラーメッセージにおいて、エラーメッセージ全体の意味をプログラム開発者が容易に理解可能な形式で表示するエラー情報表示方法の提供。
(2)複雑な構造を持った長い名前をデータ型名として含むエラーメッセージにおいて、エラーメッセージに含まれるデータ型名の構造を、プログラム開発者が容易に理解可能な形式で表示するエラー情報表示方法の提供。
【0005】
【課題を解決するための手段】
前記目的を達成するため、本発明は、
ソースプログラムをオブジェクトプログラムに翻訳する翻訳処理において出力されるエラーメッセージのエラー情報表示方法であり、
前記翻訳処理において出力される文章とデータ型名が混在するエラーメッセージを構文解析して構文木データを生成し、
該生成した構文木データにおける各子ノードのノード種別を判定し、
該判定により文字列ノードなら文章を表示し、構造ノードならデータ型名を表示することにより前記文章と前記データ型名を分離して表示するようにしている。
また、前記データ型名の表示をするとき、前記構文木データにおける構造ノードのツリー構造に基づき該データ型名をツリー状に構成して表示するようにしている。
【0006】
【発明の実施の形態】
以下、本発明の一実施例を詳細に説明する。
本実施例においては、本発明が提供するエラー情報表示方法を、C++言語用コンパイラを操作するためのGUI(グラフィカルユーザインタフェース)を提供するプログラムであるGUIフロントエンドの一部として実現している。
プログラム開発者は、このGUIフロントエンドを操作することにより、コンパイラの入力となるソースプログラムの作成および編集を行なうことができる。
また、このGUIフロントエンドを操作してコンパイルを指示することにより、コンパイラを起動し、ソースプログラムをコンパイルすることができる。
本実施例におけるGUIフロントエンドは、コンパイル時にコンパイラがエラーを検出すると、エラーメッセージに含まれるデータ型名を抽出し、ツリー状に整形して表示することを特徴としている。
プログラム開発者は、このGUIフロントエンドを使用することにより、コンパイラの出力するエラーメッセージをツリー状に整形した形で参照することができる。
そのため、エラーメッセージを単なるテキストとして表示する場合に比べて、エラーメッセージ全体の意味を理解することが容易となるとともに、エラーメッセージに含まれるデータ型名の構造を理解することが容易となり、適切なソースプログラム修正方法を容易に判断することが可能となる。
【0007】
以下、図面を用いて本実施例を詳細に説明する。
図1は、本実施例における、GUIフロントエンドを説明するための図である。
GUIフロントエンド100は、プログラム開発者の操作によってコンパイルを実行し、コンパイラの出力したエラーメッセージをツリー状に整形表示するGUIプログラムであり、エラーメッセージを構文解析して構文木を出力するエラーメッセージ構文解析モジュール102、構文木をツリー状に整形表示するエラー情報整形表示モジュール103を有する。
プログラム開発者は、このGUIフロントエンドを操作して、ソースプログラムをコンパイルし、その結果として出力されたエラーメッセージをツリー状に整形表示した形で参照する。
【0008】
コンパイラ101は、ソースプログラムをコンパイルしてエラーメッセージを出力する従来のコンパイラであり、GUIフロントエンド100から起動され、C++言語で記述されたソースプログラム201を読み込み、コンパイルを実行し、オブジェクトプログラム202を出力する。
また、コンパイル時にソースプログラム中のエラーを検出すると、エラー情報を表わすテキストデータであるエラーメッセージ301を出力する。
エラーメッセージ構文解析モジュール102は、コンパイラの出力したエラーメッセージを構文解析するモジュールであり、エラーメッセージ301を入力とし、そのエラーメッセージを構文解析し、その解析処理結果を保持する構文木データ302を出力する。
エラー情報整形表示モジュール103は、エラーメッセージの構文解析結果をツリー状に整形表示するモジュールであり、構文木データ302を入力とし、その内容を構文木の構造に従ってツリー状に整形表示する。
以上のモジュール構成によれば、プログラム開発者の操作によってコンパイルを実行し、コンパイラの出力したエラーメッセージをツリー状に整形表示するGUIフロントエンドが実現可能である。
【0009】
図2は、GUIフロントエンド100の表示画面を示す図である。
GUIフロントエンド表示画面500は、GUIフロントエンド100の表示画面であり、メニュー領域501、ソースプログラム編集領域502、エラー情報表示領域503を有する。
メニュー領域501は、プログラム開発者がGUIフロントエンドに対する操作を指示する領域である。プログラム開発者は、この領域に表示されているメニュー項目を選択することにより、ソースプログラムの作成や、ソースプログラムのコンパイルなどの操作を指示する。
ソースプログラム編集領域502は、ソースプログラムの内容を表示するとともに、プログラム開発者がソースプログラムの編集操作を行なう領域である。
エラー情報表示領域503は、コンパイルの結果出力されたエラーメッセージをツリー状に整形表示する領域である。
以上の構成の表示画面によれば、プログラム開発者が、ソースプログラムを作成および編集でき、またコンパイラを起動してソースプログラムをコンパイルでき、またコンパイルの結果出力されたエラーメッセージを整形された形で参照することのできるGUIフロントエンドを提供することが可能である。
【0010】
次に、本実施例において、GUIフロントエンドがコンパイラの出力したエラーメッセージをツリー状に整形表示する動作について詳細に説明する。
図3は、プログラム開発者がGUIフロントエンド100を操作してコンパイルを指示したときの、GUIフロントエンド100の処理手順を示すPAD図である。
ステップ601では、コンパイラ101を起動し、その結果としてエラーメッセージ301を受け取る。
ステップ602では、エラーメッセージ構文解析モジュール102を起動し、エラーメッセージ301を渡し、その結果として構文木データ302を受け取る。
ステップ603では、エラー情報整形表示モジュール103を起動し、構文木データ302を渡す。
以上の手順により、GUIフロントエンドは、ソースプログラムをコンパイルし、その結果としてエラーメッセージをツリー状に整形表示する動作を実現可能である。
【0011】
図4は、構文木データ302のデータ構造を示す図である。
構文木データ302は、エラーメッセージの構文解析結果を保持するデータであり、ツリー状に構成された、エラーメッセージの各構文要素を表わすデータであるノード303を有する。なお、ノードを示す符号303は上位のノードの1つにしか記載しておらず、他の下位のノードには符号303を記載していないが、これは記載を省略したものである。
これらのノードには次の2つの種別が存在する。
1つはエラーメッセージ中の部分文字列を表わす文字列ノードであり、文字列を保持する。
もう1つはエラーメッセージ中の構造を持つ構文要素を表わす構造ノードであり、複数のノードを子ノードとして順序付きで保持する。
構文木のルートとなる構造ノードはエラーメッセージ全体を表わし、ルート以外の構造ノードはデータ型名を表わす。
【0012】
ノード303は、エラーメッセージの各構文要素を表わすデータであり、ノード種別3031、文字列3032を有するとともに、子ノード3033の順序付きリストを有する。
ノード種別3031は、ノード303の種別を表わす値であり、文字列ノードを表わす値「D」と、構造ノードを表わす値「S」のいずれかの値を格納する。
文字列3032は、ノード303が表わす、エラーメッセージ中の部分文字列である。ノード303のノード種別が文字列ノードである場合にのみ使用される。
子ノード3033は、ノード303の子ノードを指すポインタであり、ノード303内に順序付きリストとして複数保持される。ノード303のノード種別が構造ノードである場合にのみ使用される。
以上のデータ構造によれば、エラーメッセージの構文解析結果を保持することが可能である。
【0013】
図5は、エラーメッセージ構文解析モジュール102が、エラーメッセージの一例としてのエラーメッセージ301を構文解析処理して、構文木データ302を出力する様子を示す図である。
なお、本図において、構文木データ302を構成するノード303のうち、実線で示したノードは構造ノードであり、破線で示したノードは文字列ノードである。
また、文字列ノードの内側に示した文字列は、各ノードの保持する文字列3032の内容である。
エラーメッセージ構文解析モジュール102での構文解析処理には、例えば文献b:「Compilers Principles,Techniques,and Tools」(A.V.Ahoら著、Addison−Wesley社刊)の181頁〜182頁に記述されている再帰下降パーサが使用可能である。
具体的には、文字「’」に着目してエラーメッセージ中のデータ型名を認識し、また文字「<」、「,」、「>」に着目してデータ型名に入れ子状に含まれるデータ型名を認識する再帰下降パーサが使用可能である。
このように、エラーメッセージ構文解析モジュール102は、エラーメッセージ301を構文解析して、構文木データ302を出力する。
【0014】
図6は、エラー情報整形表示モジュール103が、図5に示した内容の構文木データ302を整形表示したときの、エラー情報表示領域503の表示内容を示す図である。
ツリー5031は、エラーメッセージの構造を表わす画面上の図形であり、複数のノード5032をツリー状に構成して表示したものである。ツリー5031の構造は、構文木データ302中の構造ノードに着目したツリー構造に対応している。
ノード5032は、エラーメッセージの各構文要素を表わす画面上の図形であり、ツリー5031の構成要素である。各ノード5032は、構文木データ302中の各構造ノードに対応している。
ラベル5033は、ノード5032の表わすエラーメッセージまたはデータ型名を、その中に含まれるデータ型名を短い記号で置き換えた短縮形式で表わす画面上の文字列であり、各ノード5032に付随して表示される。
図において、上側に記されたノードのA<T1>におけるT1はその下位のノードのBを指しており、このA<T1>はA<B>を意味している。
また、下側に記されたA<T1>におけるT1はその下位のノードのC<T1,T2>を指しており、また、C<T1,T2>におけるT1はその下位のノードの内の上側に記されたノードのDを指し、T2はその下位のノードの内の下側に記されたノードのEを指しており、これにより、C<T1,T2>はC<D,E>を意味し、さらに、下側に記されたA<T1>はA<C<D,E>>を意味する。
このように、エラー情報整形表示モジュール103は、構文木データ302を、構文木の構造に従ったツリー状に整形表示する。
その結果、エラーメッセージに含まれるデータ型名がエラーメッセージから分離して表示され、またデータ型名がその構造に従ってツリー状に表示されるため、プログラム作成者にとって、エラーメッセージ全体の意味およびデータ型名の構造を容易に理解可能となる。
【0015】
図7は、エラー情報整形表示モジュール103の構成を示す図である。
エラー情報整形表示モジュール103は、構文木をツリー状に整形表示するエラー情報整形表示ルーチン1031と、エラー情報整形表示ルーチン1031から呼び出されて、構文木の各ノードの表わすエラーメッセージまたはデータ型名を短縮形式で表示するラベル表示ルーチン1032を有する。
エラー情報整形表示ルーチン1031は、構文木データ302を入力とし、構文木データ302をツリー状に整形表示するルーチンである。
構文木データ302の各ノード303を画面上でツリー状に構成して表示し、また各ノード303に対してラベル表示ルーチン1032を呼び出すことにより、それらのノードの表わすエラーメッセージまたはデータ型名を短縮形式で表示する。
構文木データ302の各ノード303を画面上でツリー状に構成して表示する処理は、ツリー構造を持ったデータをその構造に対応したツリー状に表示する一般的な方法を用いればよい。
各ノード303に対してラベル表示ルーチン1032を呼び出す処理は、ツリー構造を持ったデータの各ノードについて特定の処理を行なう一般的な方法を用いればよい。
ラベル表示ルーチン1032は、ノード303を入力とし、ノード303の表わすエラーメッセージまたはデータ型名を短縮形式で表示するルーチンである。
以上の構成によれば、構文木データ302を図6に示すようなツリー状に整形表示することが可能である。
【0016】
図8は、ノード303を入力とし、ノード303の表わすエラーメッセージまたはデータ型名を短縮形式で表示する、ラベル表示ルーチン1032の処理手順を示すPAD図である。
ステップ611では、ノード303の子ノード3033各々について順番に、ステップ612を実行する。
ステップ612では、子ノード3033が指しているノード303のノード種別3031の値を判定し、文字列ノードを表わす「D」ならステップ613を、構造ノードを表わす「S」ならステップ614を実行する。
ステップ613では、子ノード3033の指すノード303の文字列3032を表示する。なお、ステップ612での判定により、ステップ613の実行対象となる、子ノード3033の指すノード303は常に文字列ノードである。
ステップ614では、短い記号を表示する。なお、ステップ612での判定により、ステップ614の実行対象となる、子ノード3033の指すノード303は常に構造ノードである。
以上の手順によれば、ノード303の表わすエラーメッセージまたはデータ型名を、その中に含まれるデータ型名を短い記号で置き換えた短縮形式で表示することが可能である。
【0017】
次に、具体的なC++プログラムの例を用いて、本実施例におけるGUIフロントエンドのエラーメッセージ整形表示動作について説明する。
図9は、前述の従来技術の項で記載した文献aの427頁〜687頁に記述されているC++標準ライブラリを用いて記述されたソースプログラム201の一例を示す図である。
変数宣言文2011では、C++標準ライブラリの提供するテンプレート型へのポインタ型の変数p1を、ポインタの指す領域の値を変更してはならないことを意味するconst修飾子を付けて宣言している。
変数宣言文2012では、変数宣言文2011と同じテンプレート型へのポインタ型の変数p2を、const修飾子を付けずに宣言している。
const修飾子の有無のため、p1とp2は異なるデータ型となる。
また、代入文の左辺と右辺のデータ型が異なる場合にデータ型を一致させるためにコンパイラが自動的に行なう暗黙の型変換は、const修飾子の付いたポインタ型からconst修飾子の付かないポインタ型への代入には適用されない。
そのため、p1からp2への代入は型の不一致エラーとなる。
代入文2013では、p1からp2への代入を行なっている。コンパイラは、この代入文をデータ型の不一致エラーとして検出する。
ソースプログラム201は、型の不一致エラーを含んでいるため、このソースプログラムをコンパイルすると、コンパイラは型の不一致エラーを検出し、エラーメッセージを出力する。
出力されるエラーメッセージは図10のようになる。
【0018】
図10は、図9のソースプログラムのコンパイル時に、コンパイラが出力するエラーメッセージ301の一例を示す図である。
データ型名部分3011は、エラーメッセージ302中に含まれるデータ型名を表わす文字列である。
データ型名部分3012は、データ型名部分3011と同様に、エラーメッセージ302中に含まれるデータ型名を表わす文字列である。データ型名部分3012の内容は、データ型名部分3011から先頭の文字列constを取り除いた文字列と等しくなっている。
このように、C++標準ライブラリの提供するテンプレート型のように、長く複雑な名前を持つデータ型の不一致エラーがあった場合、コンパイラの出力するエラーメッセージをそのまま表示しても、データ型名を表わす文字列がエラーメッセージの大部分を占めるため、プログラム開発者がエラーメッセージを文章として把握することが困難である。
また、データ型名が長く複雑なため、エラーの原因となったデータ型のわずかな不一致部分を発見することが困難である。
【0019】
本発明によれば、図10のような理解が困難なエラーメッセージであっても、図11に示すようにツリー状に整形表示され、容易に理解可能となる。
図11は、GUIフロントエンドのエラー表示領域504に、図10のエラーメッセージを整形表示したときの表示内容を示したものである。
この表示内容によれば、エラーメッセージに含まれる長いデータ型名がエラーメッセージから分離して表示されており、また複雑な構造を持った長いデータ型名の構造がツリー状に表示されているため、エラーメッセージ全体の意味が容易に理解可能であるとともに、const修飾子の有無というデータ型名の相違点を容易に発見することが可能である。
【0020】
以上説明したように、本発明を適用したGUIフロントエンドによれば、複雑な構造を持った長い名前をデータ型名として含むエラーメッセージを、エラーメッセージ全体の意味をプログラム開発者が容易に理解可能であるとともに、データ型名の構造をプログラム開発者が容易に理解可能な形式で表示することができる。
【0021】
図12は、本発明を実現するコンピュータシステムのハードウェア構成の一例を示す図である。
コンピュータシステム9001は、GUIフロントエンドなどの各種プログラムを実行するためのCPU9002、CPUが実行するプログラムや一時データを格納するための主記憶装置9003、コンパイラの入力となるソースプログラムなどのファイルを格納するための外部記憶装置9004、プログラム開発者がGUIフロントエンドの表示画面を参照するための表示装置9005、プログラム開発者がGUIフロントエンドを操作するための入力装置9006を有する。
主記憶装置9003には、GUIフロントエンド100、コンパイラ101がプログラムとして格納されるとともに、一時データを格納するためのワーク領域9010が格納される。ワーク領域9010には、エラーメッセージ301、構文木データ302が、GUIフロントエンドおよびコンパイラによる処理の実行中に格納される。
外部記憶装置9004には、ソースプログラム201、オブジェクトプログラム202がファイルとして格納される。
以上の構成のコンピュータシステムによれば、本発明を実現することが可能である。
【0022】
本実施例においては、プログラミング言語処理システムとしてC++言語用コンパイラを用いたが、本発明は、C++言語以外のプログラミング言語にも適用可能である。また、インタプリタなどコンパイラ以外の種類のプログラミング言語処理システムにも適用可能である。
【0023】
【発明の効果】
以上説明したように、本発明によれば、
長い名前をデータ型名として含むエラーメッセージにおいて、エラーメッセージ全体の意味をプログラム開発者が容易に理解可能な形式で表示するエラー情報表示方法を提供することができる。
また、複雑な構造を持った長い名前をデータ型名として含むエラーメッセージにおいて、エラーメッセージに含まれるデータ型名の構造を、プログラム開発者が容易に理解可能な形式で表示するエラー情報表示方法を提供することができる。
【図面の簡単な説明】
【図1】本発明を適用したGUIフロントエンドを説明するための図である。
【図2】本発明におけるGUIフロントエンドの表示画面を示す図である。
【図3】本発明におけるGUIフロントエンドの処理手順を示すPAD図である。
【図4】本発明における構文木データのデータ構造を示す図である。
【図5】本発明におけるエラーメッセージ構文解析モジュールがエラーメッセージを構文解析処理して構文木データを出力する経緯を説明するための図である。
【図6】本発明におけるエラー情報表示領域の表示内容を示す図である。
【図7】本発明におけるエラー情報整形表示モジュールの構成を示す図である。
【図8】本発明におけるラベル表示ルーチンの処理手順を示すPAD図である。
【図9】C++標準ライブラリを用いて記述されたソースプログラムの一例を示す図である。
【図10】本発明におけるコンパイラが出力するエラーメッセージの一例を示す図である。
【図11】図10のエラーメッセージの一例を整形表示したときのエラー情報表示領域の表示内容を示す図である。
【図12】本発明を実現するコンピュータシステムのハードウェア構成の一例を示す図である。
【符号の説明】
100 GUIフロントエンド
101 コンパイラ
102 エラーメッセージ構文解析モジュール
103 エラー情報整形表示モジュール
201 ソースプログラム
202 オブジェクトプログラム
301 エラーメッセージ
302 構文木データ
303 ノード
3031 ノード種別
3032 文字列
3033 子ノード
9001 コンピュータシステム
9002 CPU
9003 主記憶装置
9004 外部記憶装置
9005 表示装置
9006 入力装置
9010 ワーク領域
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programming language processing system such as a compiler or an interpreter, and in particular, an error information display method for displaying an error message in an easily understandable type when the programming language processing system detects an error during a source program analysis process. About.
[0002]
[Prior art]
In recent years, a strongly typed programming language having a user-defined data type, such as a C ++ language, is often used as a programming language.
The user-defined data type is a data type newly defined by the program developer by combining basic data types such as integers and character strings.
In addition, a strongly typed programming language is a programming language in which an error occurs if the data types do not exactly match when values are assigned.
A source program written in such a programming language is compiled by a compiler and converted into an object program that can be executed on a computer.
When the compiler detects an error in the source program at the time of compilation, the compiler outputs an error message, and displays error information such as the type of error and the location on the source program where the error is detected to the program developer.
The program developer needs to read the error message, determine an appropriate source program correction method, and correct the source program.
In a strongly typed programming language, many of the errors detected by the compiler are data type related errors, including mismatches between the data types of the left and right sides of an assignment statement.
[0003]
  Furthermore, when a user-defined data type that is a complex combination of data types is used, the data type name may be a long name with a complex structure.
  This tendency becomes prominent when a user-defined data type called a template type is used in a C ++ language program. In the C ++ language, as described in the document a: “The C ++ programming language third edition” (B. Strustrup, published by Addison-Wesley), pages 327 to 354, the data type is used as a parameter. You can define user-defined data types that are called.
  Since the template type name is a name that includes the name of the data type given as a parameter in a nested manner, it may be a long name with a complicated nested structure.
  If an error related to a template type occurs at compile time, the error message will contain this long template type name.
  As a result, in a strongly typed programming language having a user-defined data type, an error message output at the time of compilation often includes a long name having a complicated structure as a data type name.
  In the prior art, an error message including such a long name is displayed as simple text.
  The existing “error message” applied in the present invention has a structure in which three elements “file name in which an error has occurred”, “symbol indicating the type of error”, and “description of error” are connected by a colon. . An existing C that outputs an error message with this structure ++ As a language processing system, for example, M icrosoft V isual C ++ 4.1 Are described in the following two documents.
(1) M icrosoft V isual C ++ 4.1 Included online manual
      In particular, include_alias Page of
(2) V isual C ++ Solid line programming / Tajima Takayuki, Engineering, ISBN4-87593-218-9 , Page 46, figure “CC olor S tatic Initialization "
  Note that the “error description” may include a long name having a complicated structure as a data type name, for example, M icrosoft V isual C ++ 4.1 Error C 2664 Seen in 'function': number The second argument 'type1' From 'type2' Cannot convert to. ”And this is related to the document (1) (particularly compiler error C). 2664 Page).
[0004]
[Problems to be solved by the invention]
However, in the prior art, there is a problem that the efficiency of the program developer reading the error message and determining the program correction method is remarkably lowered for the following reason.
(1) Since the data type name is long and occupies most of the error message, it is difficult to grasp the entire error message as a sentence. This makes it difficult to understand the meaning of the entire error message.
(2) Since the data type name is long and complicated, it is difficult to grasp the structure of the data type name. Therefore, it is difficult to find the mismatched portion of the data type that caused the error, particularly in an error caused by the mismatch of the data type.
The present invention is intended to solve the above-described problems, and aims to solve the following problems.
(1) Providing an error information display method for displaying the meaning of the entire error message in a format that can be easily understood by the program developer in an error message including a long name as a data type name.
(2) Error information display method for displaying the structure of the data type name included in the error message in a format that can be easily understood by the program developer in an error message including a long name having a complicated structure as the data type name Offer.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides:
An error information display method for an error message output in a translation process for translating a source program into an object program,
Parsing an error message in which the text and data type name output in the translation process are mixed to generate syntax tree data,
Determine the node type of each child node in the generated syntax tree data,
As a result of the determination, the text is displayed for a character string node, and the data type name is displayed for a structure node, whereby the text and the data type name are displayed separately.
Further, when the data type name is displayed, the data type name is configured in a tree shape based on the tree structure of the structure node in the syntax tree data.
[0006]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail.
In this embodiment, the error information display method provided by the present invention is realized as part of a GUI front end that is a program that provides a GUI (graphical user interface) for operating a C ++ language compiler.
A program developer can create and edit a source program to be input to the compiler by operating the GUI front end.
Further, by operating the GUI front end and instructing compilation, the compiler can be started and the source program can be compiled.
The GUI front end according to the present embodiment is characterized in that when the compiler detects an error during compilation, the data type name included in the error message is extracted and displayed in a tree shape.
By using this GUI front end, the program developer can refer to the error message output from the compiler in the form of a tree.
Therefore, it is easier to understand the meaning of the entire error message than to display the error message as simple text, and it is easier to understand the structure of the data type name included in the error message. It is possible to easily determine the source program correction method.
[0007]
Hereinafter, this embodiment will be described in detail with reference to the drawings.
FIG. 1 is a diagram for explaining a GUI front end in the present embodiment.
The GUI front end 100 is a GUI program that executes compilation by the operation of a program developer and formats and displays an error message output by the compiler in a tree shape. The error message syntax that parses the error message and outputs a syntax tree. The analysis module 102 includes an error information shaping display module 103 for shaping and displaying the syntax tree in a tree shape.
The program developer operates the GUI front end, compiles the source program, and refers to the error message output as a result in the form of a tree.
[0008]
The compiler 101 is a conventional compiler that compiles a source program and outputs an error message. The compiler 101 is started from the GUI front end 100, reads a source program 201 described in the C ++ language, executes compilation, and executes an object program 202. Output.
When an error in the source program is detected during compilation, an error message 301 that is text data representing error information is output.
The error message parsing module 102 is a module that parses an error message output by the compiler. The error message parsing module 102 receives the error message 301, parses the error message, and outputs syntax tree data 302 that holds the analysis processing result. To do.
The error information shaping / displaying module 103 is a module for shaping and displaying the syntax analysis result of the error message in a tree shape. The error information shaping / displaying module 103 receives the syntax tree data 302 as input, and shapes and displays the contents in a tree shape according to the structure of the syntax tree.
According to the module configuration described above, it is possible to implement a GUI front end that executes compilation by the operation of a program developer and formats and displays error messages output by the compiler in a tree shape.
[0009]
FIG. 2 is a diagram showing a display screen of the GUI front end 100.
The GUI front end display screen 500 is a display screen of the GUI front end 100, and includes a menu area 501, a source program editing area 502, and an error information display area 503.
The menu area 501 is an area where the program developer instructs an operation on the GUI front end. The program developer selects a menu item displayed in this area to instruct operations such as creation of a source program and compilation of the source program.
The source program editing area 502 is an area for displaying the contents of the source program and allowing the program developer to edit the source program.
The error information display area 503 is an area in which error messages output as a result of compilation are displayed in a tree shape.
According to the display screen having the above configuration, the program developer can create and edit a source program, start the compiler, compile the source program, and format the error message output as a result of compilation. It is possible to provide a GUI front end that can be referenced.
[0010]
Next, in the present embodiment, an operation for the GUI front end to display the error message output from the compiler in a tree shape will be described in detail.
FIG. 3 is a PAD diagram showing a processing procedure of the GUI front end 100 when the program developer operates the GUI front end 100 to instruct compilation.
In step 601, the compiler 101 is started and an error message 301 is received as a result.
In step 602, the error message parsing module 102 is activated, the error message 301 is passed, and the syntax tree data 302 is received as a result.
In step 603, the error information shaping display module 103 is activated and the syntax tree data 302 is passed.
Through the above procedure, the GUI front end can compile the source program and, as a result, realize the operation of formatting and displaying error messages in a tree shape.
[0011]
FIG. 4 is a diagram illustrating a data structure of the syntax tree data 302.
The syntax tree data 302 is data that holds the syntax analysis result of the error message, and includes nodes 303 that are data representing each syntax element of the error message, which is configured in a tree shape. In addition, although the code | symbol 303 which shows a node is described only in one of the upper nodes, the code | symbol 303 is not described in the other lower node, but this is abbreviate | omitting description.
These nodes have the following two types.
One is a character string node representing a partial character string in the error message, and holds the character string.
The other is a structure node representing a syntax element having a structure in the error message, and holds a plurality of nodes as child nodes in order.
The structure node that is the root of the syntax tree represents the entire error message, and the structure node other than the root represents the data type name.
[0012]
The node 303 is data representing each syntax element of the error message, has a node type 3031 and a character string 3032, and has an ordered list of child nodes 3033.
The node type 3031 is a value representing the type of the node 303, and stores either a value “D” representing a character string node or a value “S” representing a structure node.
A character string 3032 is a partial character string in the error message represented by the node 303. Used only when the node type of the node 303 is a character string node.
The child node 3033 is a pointer indicating a child node of the node 303, and a plurality of child nodes 3033 are held in the node 303 as an ordered list. Used only when the node type of the node 303 is a structure node.
According to the above data structure, it is possible to hold the syntax analysis result of the error message.
[0013]
FIG. 5 is a diagram showing how the error message syntax analysis module 102 parses an error message 301 as an example of an error message and outputs syntax tree data 302.
In this figure, among the nodes 303 constituting the syntax tree data 302, nodes indicated by solid lines are structural nodes, and nodes indicated by broken lines are character string nodes.
The character string shown inside the character string node is the content of the character string 3032 held by each node.
The parsing process in the error message parsing module 102 is described, for example, in pages 181 to 182 of the document b: “Compilers Principles, Technologies, and Tools” (A. V. Aho et al., Published by Addison-Wesley). The recursive descent parser that is used can be used.
Specifically, the data type name in the error message is recognized by paying attention to the character “'”, and is included in the data type name in a nested manner, paying attention to the characters “<”, “,”, “>” A recursive descending parser that recognizes data type names can be used.
As described above, the error message syntax analysis module 102 parses the error message 301 and outputs the syntax tree data 302.
[0014]
FIG. 6 is a diagram showing the display contents of the error information display area 503 when the error information shaping display module 103 displays the syntax tree data 302 having the contents shown in FIG.
The tree 5031 is a graphic on the screen representing the structure of the error message, and is formed by displaying a plurality of nodes 5032 in a tree shape. The structure of the tree 5031 corresponds to the tree structure focusing on the structure node in the syntax tree data 302.
A node 5032 is a graphic on the screen representing each syntax element of the error message, and is a constituent element of the tree 5031. Each node 5032 corresponds to each structural node in the syntax tree data 302.
The label 5033 is a character string on the screen representing the error message or data type name represented by the node 5032 in a short form in which the data type name contained therein is replaced with a short symbol, and is displayed accompanying each node 5032. Is done.
In the figure, T1 in A <T1> of the node shown on the upper side indicates B of the lower node, and this A <T1> means A <B>.
Further, T1 in A <T1> written on the lower side indicates C <T1, T2> of the lower node, and T1 in C <T1, T2> is the upper side of the lower nodes. , T2 points to the lower node E among the subordinate nodes, so that C <T1, T2> represents C <D, E>. Further, A <T1> written on the lower side means A <C <D, E >>.
As described above, the error information shaping display module 103 shapes and displays the syntax tree data 302 in a tree shape according to the structure of the syntax tree.
As a result, the data type name included in the error message is displayed separately from the error message, and the data type name is displayed in a tree shape according to the structure, so that the meaning and data type of the entire error message can be given to the program writer. The name structure can be easily understood.
[0015]
FIG. 7 is a diagram illustrating a configuration of the error information shaping display module 103.
The error information shaping / displaying module 103 is called from an error information shaping / displaying routine 1031 for shaping and displaying a syntax tree in a tree shape, and an error information shaping / displaying routine 1031 to display an error message or data type name represented by each node of the syntax tree. It has a label display routine 1032 for displaying in a shortened format.
The error information shaping / displaying routine 1031 is a routine that takes the syntax tree data 302 as input and formats and displays the syntax tree data 302 in a tree shape.
Each node 303 of the syntax tree data 302 is displayed in the form of a tree on the screen, and the error message or data type name represented by those nodes is shortened by calling the label display routine 1032 for each node 303. Display in format.
The processing for displaying each node 303 of the syntax tree data 302 in a tree form on the screen may be performed by using a general method for displaying data having a tree structure in a tree form corresponding to the structure.
The process for calling the label display routine 1032 for each node 303 may use a general method for performing a specific process for each node of data having a tree structure.
The label display routine 1032 is a routine that takes the node 303 as an input and displays the error message or data type name represented by the node 303 in a short form.
According to the above configuration, the syntax tree data 302 can be shaped and displayed in a tree shape as shown in FIG.
[0016]
FIG. 8 is a PAD showing the processing procedure of the label display routine 1032 that takes the node 303 as an input and displays the error message or data type name represented by the node 303 in a shortened format.
In Step 611, Step 612 is executed in order for each of the child nodes 3033 of the node 303.
In step 612, the value of the node type 3031 of the node 303 pointed to by the child node 3033 is determined. If “D” represents a character string node, step 613 is executed. If “S” represents a structure node, step 614 is executed.
In step 613, the character string 3032 of the node 303 pointed to by the child node 3033 is displayed. Note that the node 303 indicated by the child node 3033, which is the execution target of step 613, is always a character string node by the determination in step 612.
In step 614, a short symbol is displayed. Note that the node 303 indicated by the child node 3033, which is the execution target of step 614, is always a structure node based on the determination in step 612.
According to the above procedure, the error message or data type name represented by the node 303 can be displayed in a shortened format in which the data type name contained therein is replaced with a short symbol.
[0017]
Next, the error message shaping display operation of the GUI front end in the present embodiment will be described using a specific example of a C ++ program.
FIG. 9 is a diagram showing an example of the source program 201 described using the C ++ standard library described on pages 427 to 687 of the document a described in the section of the prior art.
In the variable declaration statement 2011, a pointer type variable p1 to the template type provided by the C ++ standard library is declared with a const qualifier meaning that the value of the area pointed to by the pointer must not be changed.
In the variable declaration statement 2012, the pointer type variable p2 to the same template type as the variable declaration statement 2011 is declared without the const qualifier.
Because of the presence of the const modifier, p1 and p2 have different data types.
In addition, implicit type conversion automatically performed by the compiler to match data types when the data types of the left and right sides of an assignment statement are different is a pointer type with a const qualifier to a pointer without a const qualifier. It does not apply to assignments to types.
Therefore, substitution from p1 to p2 results in a type mismatch error.
In the assignment statement 2013, assignment from p1 to p2 is performed. The compiler detects this assignment statement as a data type mismatch error.
Since the source program 201 includes a type mismatch error, when the source program is compiled, the compiler detects a type mismatch error and outputs an error message.
The output error message is as shown in FIG.
[0018]
FIG. 10 is a diagram showing an example of an error message 301 output by the compiler when compiling the source program of FIG.
The data type name portion 3011 is a character string representing the data type name included in the error message 302.
The data type name portion 3012 is a character string representing the data type name included in the error message 302, similarly to the data type name portion 3011. The content of the data type name portion 3012 is equal to the character string obtained by removing the leading character string const from the data type name portion 3011.
In this way, if there is a data type mismatch error with a long and complicated name, such as the template type provided by the C ++ standard library, the data type name is displayed even if the error message output by the compiler is displayed as it is. Since the character string occupies most of the error message, it is difficult for the program developer to grasp the error message as a sentence.
Also, since the data type name is long and complicated, it is difficult to find a slight mismatch between the data types that caused the error.
[0019]
According to the present invention, even an error message that is difficult to understand as shown in FIG. 10 is shaped and displayed in a tree shape as shown in FIG. 11 and can be easily understood.
FIG. 11 shows the display contents when the error message of FIG. 10 is shaped and displayed in the error display area 504 of the GUI front end.
According to this display, the long data type name included in the error message is displayed separately from the error message, and the structure of the long data type name having a complicated structure is displayed in a tree shape. The meaning of the entire error message can be easily understood, and the difference in the data type names such as the presence or absence of the const qualifier can be easily found.
[0020]
As described above, according to the GUI front end to which the present invention is applied, a program developer can easily understand the meaning of an error message including a long name having a complicated structure as a data type name and the entire error message. In addition, the structure of the data type name can be displayed in a format that can be easily understood by the program developer.
[0021]
FIG. 12 is a diagram illustrating an example of a hardware configuration of a computer system that implements the present invention.
A computer system 9001 stores files such as a CPU 9002 for executing various programs such as a GUI front end, a main memory 9003 for storing programs executed by the CPU and temporary data, and a source program serving as an input of a compiler. An external storage device 9004 for display, a display device 9005 for the program developer to refer to the display screen of the GUI front end, and an input device 9006 for the program developer to operate the GUI front end.
The main storage device 9003 stores the GUI front end 100 and the compiler 101 as programs, and also stores a work area 9010 for storing temporary data. In the work area 9010, an error message 301 and syntax tree data 302 are stored during execution of processing by the GUI front end and the compiler.
The external storage device 9004 stores a source program 201 and an object program 202 as files.
According to the computer system having the above configuration, the present invention can be realized.
[0022]
In the present embodiment, a C ++ language compiler is used as a programming language processing system, but the present invention can also be applied to programming languages other than C ++. The present invention can also be applied to other types of programming language processing systems such as an interpreter.
[0023]
【The invention's effect】
As explained above, according to the present invention,
In an error message including a long name as a data type name, it is possible to provide an error information display method for displaying the meaning of the entire error message in a format that can be easily understood by a program developer.
Also, an error information display method that displays the structure of the data type name included in the error message in a format that can be easily understood by the program developer in an error message that includes a long name with a complex structure as the data type name. Can be provided.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a GUI front end to which the present invention is applied;
FIG. 2 is a diagram showing a display screen of a GUI front end according to the present invention.
FIG. 3 is a PAD showing a processing procedure of a GUI front end in the present invention.
FIG. 4 is a diagram showing a data structure of syntax tree data in the present invention.
FIG. 5 is a diagram for explaining how the error message syntax analysis module according to the present invention parses an error message and outputs syntax tree data.
FIG. 6 is a diagram showing display contents of an error information display area in the present invention.
FIG. 7 is a diagram showing a configuration of an error information shaping display module according to the present invention.
FIG. 8 is a PAD showing a processing procedure of a label display routine in the present invention.
FIG. 9 is a diagram illustrating an example of a source program described using a C ++ standard library.
FIG. 10 is a diagram illustrating an example of an error message output by a compiler according to the present invention.
11 is a diagram illustrating display contents of an error information display area when the example of the error message in FIG. 10 is shaped and displayed.
FIG. 12 is a diagram illustrating an example of a hardware configuration of a computer system that implements the present invention.
[Explanation of symbols]
100 GUI front end
101 compiler
102 Error message parsing module
103 Error information shaping display module
201 Source program
202 Object program
301 Error message
302 Syntax tree data
303 nodes
3031 Node type
3032 string
3033 child nodes
9001 Computer system
9002 CPU
9003 Main memory
9004 External storage device
9005 Display device
9006 Input device
9010 Work area

Claims (5)

処理装置と、主記憶装置と、表示装置と、入力装置と、外部記憶装置を有するコンピュータシステムにおいて前記処理装置が、前記外部記憶装置から入力されたソースプログラムを前記主記憶装置に格納されたコンパイラあるいはインタプリタによりオブジェクトプログラムに翻訳する翻訳処理を行い出力したエラーメッセージを、前記表示装置に表示するエラー情報表示方法であって、
前記処理装置は、前記翻訳処理において出力された文章とデータ型名が混在するエラーメッセージを構文解析して構文木データを生成し、該生成した構文木データに基づいて、文書中のデータ型名を短い記号に置換して前記表示装置に表示するとともに、該置換された文章中のデータ型名を文章と分離して前記表示装置に表示することを特徴とするエラー情報表示方法。
In a computer system having a processing device, a main storage device, a display device, an input device, and an external storage device, a compiler in which the processing device stores a source program input from the external storage device in the main storage device Alternatively, an error information display method for displaying on the display device an error message output by performing a translation process for translation into an object program by an interpreter ,
The processing unit, the output in the translation process, parses the error message text and data type names are mixed to produce the syntax tree data, based on the syntax tree data thus generated, the data type in the document A method of displaying error information , wherein a name is replaced with a short symbol and displayed on the display device, and a data type name in the replaced text is separated from the text and displayed on the display device .
請求項1記載のエラー情報表示方法において、
前記処理装置は、前記表示装置に前記データ型名の表示をするとき、前記構文木データにおける構造ノードのツリー構造に基づき該データ型名をツリー状に構成して前記表示装置に表示することを特徴とするエラー情報表示方法。
The error information display method according to claim 1,
When the processing device displays the data type name on the display device, the processing device configures the data type name in a tree shape based on the tree structure of the structure node in the syntax tree data and displays the data type name on the display device. Characteristic error information display method.
処理装置と、主記憶装置と、外部記憶装置を有するコンピュータシステムにおいて前記処理装置が、前記外部記憶装置から入力されたソースプログラムを前記主記憶装置に格納されたコンパイラあるいはインタプリタによりオブジェクトプログラムに翻訳する翻訳処理を行い出力したエラーメッセージを、表示するためのエラー情報表示装置であって、
前記翻訳処理で出力された文章とデータ型名が混在するエラーメッセージを入力し、該入力したエラーメッセージを構文解析して構文木データを生成する手段と、
該生成した構文木データを入力し、該構文木データに基づいて、文書中のデータ型名を短い記号に置換して表示するとともに、該置換された文章中のデータ型名を文章と分離して表示する表示手段を有することを特徴とするエラー情報表示装置。
In a computer system having a processing device, a main storage device, and an external storage device, the processing device translates a source program input from the external storage device into an object program by a compiler or interpreter stored in the main storage device. An error information display device for displaying an error message output after translation processing ,
Means for inputting an error message in which a sentence and a data type name output in the translation process are mixed, and generating syntax tree data by parsing the input error message;
The generated syntax tree data is input, and based on the syntax tree data, the data type name in the document is replaced with a short symbol and displayed, and the data type name in the replaced sentence is separated from the sentence. error information display device characterized by comprising display means for displaying Te.
請求項3記載のエラー情報表示装置において、
前記表示手段は、前記データ型名の表示をするとき、前記構文木データにおける構造ノードのツリー構造に基づき該データ型名をツリー状に構成して表示することを特徴とするエラー情報表示装置。
The error information display device according to claim 3,
The display means, when displaying the data type name, displays the data type name in a tree form based on the tree structure of the structure node in the syntax tree data.
処理装置と、主記憶装置と、表示装置と、入力装置と、外部記憶装置を有するコンピュータシステムにおいて前記処理装置が、前記外部記憶装置から入力されたソースプログラムを前記主記憶装置に格納されたコンパイラあるいはインタプリタによりオブジェクトプログラムに翻訳する翻訳処理を行い出力したエラーメッセージを、前記表示装置に表示するエラー情報表示プログラムであって、前記翻訳処理において出力された、文章とデータ型名が混在するエラーメッセージを構文解析して構文木データを生成する手順と、該生成した構文木データに基づいて、文書中のデータ型名を短い記号に置換して前記表示装置に表示するとともに、該置換された文章中のデータ型名を文章と分離して前記表示装置に表示する手順を実行させるためのエラー情報表示プログラムを記録したコンピュータ読み取り可能な記録媒体。In a computer system having a processing device, a main storage device, a display device, an input device, and an external storage device, a compiler in which the processing device stores a source program input from the external storage device in the main storage device Alternatively, an error information display program that displays on the display device an error message that has been translated and output into an object program by an interpreter. The error message that is output in the translation process and contains text and data type names And generating syntax tree data by replacing the data type name in the document with a short symbol based on the generated syntax tree data and displaying it on the display device. For executing the procedure of displaying the data type name in the display device separately from the text Computer readable recording medium recording the color information display program.
JP2000144443A 2000-05-17 2000-05-17 Error information display method and apparatus Expired - Fee Related JP4240520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000144443A JP4240520B2 (en) 2000-05-17 2000-05-17 Error information display method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000144443A JP4240520B2 (en) 2000-05-17 2000-05-17 Error information display method and apparatus

Publications (2)

Publication Number Publication Date
JP2001325096A JP2001325096A (en) 2001-11-22
JP4240520B2 true JP4240520B2 (en) 2009-03-18

Family

ID=18651101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000144443A Expired - Fee Related JP4240520B2 (en) 2000-05-17 2000-05-17 Error information display method and apparatus

Country Status (1)

Country Link
JP (1) JP4240520B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100973022B1 (en) 2006-02-01 2010-07-30 후지쯔 가부시끼가이샤 Computer readable recording medium having object relation display program recorded and object relation display method
JP6365518B2 (en) * 2015-11-30 2018-08-01 京セラドキュメントソリューションズ株式会社 Information processing apparatus and image forming apparatus
JP7419196B2 (en) * 2020-09-01 2024-01-22 株式会社東芝 Development support equipment, methods and programs
CN113641873B (en) * 2021-07-09 2022-07-22 厦门雅基软件有限公司 Data processing method and device, electronic equipment and readable storage medium

Also Published As

Publication number Publication date
JP2001325096A (en) 2001-11-22

Similar Documents

Publication Publication Date Title
Lämmel et al. Semi‐automatic grammar recovery
US6453464B1 (en) Method and apparatus for converting COBOL to Java
Grönninger et al. Textbased modeling
US5701487A (en) Method and apparatus for displaying locations of errors detected inside software macro calls
Voelter et al. Supporting Diverse Notations in MPS'Projectional Editor.
US20060161881A1 (en) Systems and methods for creating and providing templates in a single file
US20030177449A1 (en) Method and system for copy and paste technology for stylesheet editing
JPS6375835A (en) Apparatus for generating intended code, program, list and design document
JPH0383153A (en) Message processing system and method
Vollebregt et al. Declarative specification of template-based textual editors
US20130152061A1 (en) Full fidelity parse tree for programming language processing
JP6479184B2 (en) Computer-executable model reverse engineering method and apparatus
JPH1083289A (en) Programming aid
US8701086B2 (en) Simplifying analysis of software code used in software systems
US20070028164A1 (en) Computer readable storage medium and document processing method
JP4240520B2 (en) Error information display method and apparatus
CN110554860B (en) Construction method and code generation method of software project natural language programming interface (NLI)
KR20230040516A (en) Automation system and method for extracting intermediate representation based semantics of javascript
JP3835182B2 (en) Document creation support device
Willink A text model-Use your favourite M2M for M2T.
CN109597624A (en) A kind of method that SQL is formatted
CA2266291C (en) Method and apparatus for cobol to java translation
Chisolm et al. ATLAS compiler development
JP3003459B2 (en) Program creation support device
Vysoký et al. INGRID: Creating Languages in MPS from ANTLR Grammars

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040317

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

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: 20081216

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: 20081221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

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: 20130109

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees