(57)【要約】【課題】ソースプログラムを記述するための文字列の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得して文字列の入力状況に応じて必要な案内情報だけを表示させる。【解決手段】入力装置からソフトウェア記述のために入力された文字を結合して入力文字列を生成し、生成された入力文字列に対して、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索する。階層化データベースから検索された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共にディスプレイに表示し、又はプリンタなどでハードコピーを形成する。【選択図】図１
2015095016.tif 000002
【特許請求の範囲】
【請求項１】
入力装置と、プログラム処理を行うデータ処理装置と、階層化データベースが構成される記憶装置とを含むデータ処理システムであって、
前記データ処理装置はコード編集部、コード解析部、及びデータベースアクセス部を含み、
前記コード編集部は、前記入力装置から入力されたソフトウェアプログラムを記述するための文字を結合して入力文字列を生成し、
前記コード解析部は、前記コード編集部で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、
前記データベースアクセス部は、前記コード解析部で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する、データ処理システム。
【請求項２】
請求項１において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である、データ処理システム。
【請求項３】
請求項１において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である、データ処理システム。
【請求項４】
請求項１において前記データ処理装置は、前記入力装置から入力された入力文字列を表示装置に表示制御する表示制御部を更に有し、
前記表示制御部は、前記データベースアクセス部が階層化データベースから検索して取得した案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、データ処理システム。
【請求項５】
請求項４において前記データベースアクセス部は、コード解析部が前記コード編集部により生成された入力文字列に対して一つの階層文字列を取得する毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索し、
前記表示制御部は、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、データ処理システム。
【請求項６】
請求項１において前記コード解析部は、前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がｎ（自然数）個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第１階層の階層文字列乃至第ｎ＋１階層の階層文字列として取得する、データ処理システム。
【請求項７】
請求項６において前記コード解析部は前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数が１個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第２階層の階層文字列とし、計数したメンバーアクセス演算子の数が２個の場合には第１番目の前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列とし、第２番目の前記メンバーアクセス演算子の前の文字列を第２階層の階層文字列とし、当該第２番目のメンバーアクセス演算子の次の文字列を第３階層の階層文字列とする、データ処理システム。
【請求項８】
請求項７において前記階層化データベースは、モジュール名が検索キーとされる第１階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第２階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第３階層とを有し、データ処理ＬＳＩのレジスタマニュアルの情報を案内情報として有する、データ処理システム。
【請求項９】
請求項７において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第１階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第２階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第３階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する、データ処理システム。
【請求項１０】
プログラム処理を行うデータ処理装置がソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる入力支援方法であって、
コード編集処理、コード解析処理、及びデータベースアクセス処理、及び表示制御処理を含み、
前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理であり、
前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理であり、
前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理であり、
前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である、入力支援方法。
【請求項１１】
請求項１０において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である、入力支援方法。
【請求項１２】
請求項１０において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である、入力支援方法。
【請求項１３】
請求項１０において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索し、
前記表示制御処理では、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、入力支援方法。
【請求項１４】
請求項１０において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がｎ（自然数）個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第１階層の階層文字列乃至第ｎ＋１階層の階層文字列として取得する処理である、入力支援方法。
【請求項１５】
請求項１４において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数が１個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第２階層の階層文字列とし、計数したメンバーアクセス演算子の数が２個の場合には第１番目の前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列とし、第２番目の前記メンバーアクセス演算子の前の文字列を第２階層の階層文字列とし、当該第２番目のメンバーアクセス演算子の次の文字列を第３階層の階層文字列とする処理である、入力支援方法。
【請求項１６】
請求項１５において前記階層化データベースは、モジュール名が検索キーとされる第１階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第２階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第３階層とを有し、データ処理ＬＳＩのレジスタマニュアルの情報を案内情報として有する、入力支援方法。
【請求項１７】
請求項１５において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第１階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第２階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第３階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する、入力支援方法。
【請求項１８】
コンピュータ装置が実行することにより、ソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる処理を制御する、入力支援プログラムであって、
コード編集処理、コード解析処理、及びデータベースアクセス処理、及び表示制御処理を制御し、
前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理であり、
前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理であり、
前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理であり、
前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である、入力支援プログラム。
【請求項１９】
請求項１８において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である、入力支援プログラム。
【請求項２０】
請求項１８において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である、入力支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逐次入力されたデータを分割して階層化データベースから入力データの支援情報を取得する技術に関し、例えば、ソフトウェア開発の統合開発環境におけるコード入力に際して入力コードの説明情報等の支援情報を逐次表示するデータ処理に適用して有効な技術に関する。
【背景技術】
【０００２】
マイクロコンピュータを搭載した製品が一般化しているが、近年では製品の高機能化に伴い、マイクロコンピュータによる制御量、すなわち、製品に搭載される組み込みプログラムの規模が増大している。また、組み込みプログラムの開発においてはコーディング時にもデバッグ時にも膨大なハードウェアのマニュアルを常に参照しながら行う必要があるため、プログラムの規模の増大に加えてマニュアル参照の手間がかかり、開発効率の改善が望まれている。例えばマイクロコンピュータに搭載される周辺モジュールやアクセラレータなどの回路モジュールに機能設定を行うために多数のレジスタ（若しくはコントロールレジスタ）が配置され、それらレジスタの各ビットに値を設定するためのパラメタを決めたりするとき、レジスタの各ビットの値とその意義を参照するために膨大なハードウェアマニュアルを頻繁に参照することが行われる。
【０００３】
入力ガイドとして特許文献１にはプログラム入力をガイドする方法について記載がある。例えばＬＩＳＰ（List Processor）のような関数型言語プログラムにおけるＤｏ構文などの文字入力後、別の特定のファンクションキーを押下した際にプログラム入力領域とは別の領域に現入力部分と未入力部分とで色や字体を変えて構文の全パラメタ形式のガイドを表示する技術について開示される。この技術によれば、フリーフォーマットのプログラムの入力環境に、自由度の制限を加えず、入力過程の任意の時点でプログラムのパラメタの並びをチェックし、正しいパラメタの効率の良い入力を誘導し、支援することができる。この特許文献１の図３は、ＬＩＳＰのＤｏ構文のパラメタの挿入ガイド、間接ガイドの表示例が示されている。ここで示される入力ガイドはエディタの一つの機能として実現され、表示画面の最上行には、エディタとしてのヘッダを表示し、第２行目はメッセージ領域、その下の広い領域がプログラム入力・編集領域とされ、全画面（フルスクリーン）エディタの画面構成が示されている。
【０００４】
このフリーフォーマットの全画面エディタは、入力されたプログラムの関数名や予約語、又はコマンド（総称して“プログラム言語”と言う）とパラメタ（引数）部分を抽出する。プログラム言語毎にパラメタのガイド文字、及びパラメタの並びの記憶ルールを記憶した記法データベースをアクセスし、該記法ルールと前記抽出の入力パラメタ（実引数）を照合し、未入力又は不足パラメタに対応するパラメタのガイド文字を切り出して、入力プログラムの次に入力すべき位置に挿入表示する。挿入ガイド文字を識別するために、挿入ガイドの配置位置を、入力プログラムのテキストとは別のガイド属性リストに記憶し管理する。
【０００５】
このエディタを用いたプログラム入力に際して、プログラムの入力領域にプログラムの一部を入力した時点でガイドが要求されると、構文の範囲を決定し、次に指定された対象範囲から、関数名と個々のパラメタの範囲が抽出されたならば、該関数名に対応するパラメタのガイド文字と、記法ルールを関数記法データベースから抽出し、記法ルールと先に求めた実引数の照合により、パラメタの過不足、各パラメタの形式がチェックされる。そして不足のパラメタ部分に対応するパラメタのガイド文字をテキストの次に入力すべき位置に挿入して、ガイド表示が行われる。プログラムの一部の文字入力後、別の特定のファンクションキーを押下すると、上記表示画面における第２行目のメッセージ領域のように、プログラム入力領域とは別の領域に、当該構文の全パラメタ形式のガイドを表示する。そのガイド表示は、表示文字列の中で、現入力部分と未入力部分を異なる色又は字体で表示するものとされる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１−１１８９２５公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のプログラム入力のガイド表示は、関数が入力されると、その関数の構文にしたがった入力ガイドを表示可能であり、パラメタの案内については入力された関数に対応するものをプログラム表示領域とは別のメッセージ領域に表示するものである。
【０００８】
しかしながら、今日の如くプログラムの複雑化、更には規模の増大に伴って、膨大なハードウェアのマニュアルを常に参照しながらプログラム開発を行う必要があり、プログラムの規模の増大に加えてマニュアル参照の手間がかかり、プログラム開発効率の改善が望まれているという状況下では、従来のプログラム入力のガイド表示では十分でないことが本発明者によって明らかにされた。第１に、パラメタの入力ガイドをプログラム表示領域とは別のメッセージ領域に表示する場合には、入力ガイドの情報量が多い場合には対応することができない。ガイド表示を行うメッセージ領域を大きくすると、エディタとして使用可能なプログラム入力領域が減ってソースコードを表示する領域が狭くなり、プログラムの見通しが悪くなることでプログラムの生産効率が低下してしまう。第２に、関数に対応するパラメタの入力ガイドを関数に応じて一律に全て表示しようとしても表示しきれるものではない。メッセージ領域のサイズに合わせてその一部だけを表示したのではガイド機能に劣るものとなる。レジスタに対するパラメタ設定のように、レジスタの種類及び個々のレジスタのビット名などのパラメタの種類が膨大な場合にはガイド表示についても階層化し、そのための制御手法を新たに開発することの必要性が本発明者によって認識された。
【０００９】
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、入力装置からソフトウェア記述のために入力された文字を結合して入力文字列を生成し、生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索する。階層化データベースから検索された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共にディスプレイに表示する。
【発明の効果】
【００１２】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１３】
すなわち、ソースプログラムを記述するための文字列の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて必要な案内情報だけを表示させることが可能になるから、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、開発効率の改善に資することができる。
【図面の簡単な説明】
【００１４】
【図１】図１はデータ処理システムの一実施の形態を示すブロック図である。
【図２】図２は図１のデータ処理システムが適用される統合開発環境の一例を示す説明図である。
【図３】図３はマニュアルデータベースの階層化構造を例示する説明図である。
【図４】図４はプログラム入力装置によるプログラム入力の支援動作を全体的に例示するフローチャートである。
【図５】図５はコード解析部によるステップＳ３の処理の詳細なフローチャートである。
【図６】図６はプログラム入力装置によるパラメタ入力の途中における案内表示例を示す説明図である。
【図７】図７はプログラム入力装置によるパラメタ入力が最後まで進んだときの案内表示例を示す説明図である。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
データ処理システム（１）は、入力装置（１１）と、プログラム処理を行うデータ処理装置（１０）と、階層化データベースが構成される記憶装置（１３）とを含む。前記データ処理装置はコード編集部（４１）、コード解析部（４２）、及びデータベースアクセス部（４３）を含む。前記コード編集部は、前記入力装置から入力されたソフトウェアプログラムを記述するための文字を結合して入力文字列を生成する。前記コード解析部は、前記コード編集部で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する。前記データベースアクセス部は、前記コード解析部で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する。
【００１７】
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて取得した必要な案内情報だけを表示させることが可能になり、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
【００１８】
〔２〕<<直接参照演算子としてドット演算子>>
項１において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である。
【００１９】
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
【００２０】
〔３〕<<間接参照演算子としてアロー演算子>>
項１において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である。
【００２１】
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
【００２２】
〔４〕<<取得された階層数の階層名に対応する文字列の表示に並行する検索されたレコードの表示>>
項１において前記データ処理装置は、前記入力装置から入力された入力文字列を表示装置（１２）に表示制御する表示制御部（４４）を更に有し、前記表示制御部は、前記データベースアクセス部が階層化データベースから検索して取得した案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
【００２３】
これによれば、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる。
【００２４】
〔５〕<<リアルタイム表示>>
項４において前記データベースアクセス部は、コード解析部が前記コード編集部により生成された入力文字列に対して一つの階層文字列を取得する毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御部は、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
【００２５】
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することができる。
【００２６】
〔６〕<<解析部による判定動作の具体例>>
項１において前記コード解析部は、前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がｎ（自然数）個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第１階層の階層文字列乃至第ｎ＋１階層の階層文字列として取得する。
【００２７】
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
【００２８】
〔７〕<<解析部による判定動作の具体例>>
項６において前記コード解析部は前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し（Ｓ１６）、計数したメンバーアクセス演算子の数が１個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第２階層の階層文字列とし（Ｓ１７）、計数したメンバーアクセス演算子の数が２個の場合には第１番目の前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列とし、第２番目の前記メンバーアクセス演算子の前の文字列を第２階層の階層文字列とし、当該第２番目のメンバーアクセス演算子の次の文字列を第３階層の階層文字列とする（Ｓ１８）。
【００２９】
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた３階層の文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
【００３０】
〔８〕<<データ処理ＬＳＩのレジスタマニュアル情報の階層化データベース>>
項７において前記階層化データベースは、モジュール名が検索キーとされる第１階層（５０ａ，５０ｂ，５０ｃ，…）と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第２階層（５０ａａ，５０ａｂ，５０ｂａ，５０ｂｂ，５０ｃａ，５０ｃｂ，…）と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第３階層（５０ａａａ，５０ａａｂ，５０ａａｃ，５０ｂａａ，５０ｂａｂ，５０ｂａｃ，５０ｃａａ，５０ｃａｂ，５０ｃａｃ，…）とを有し、データ処理ＬＳＩのレジスタマニュアルの情報を案内情報として有する。
【００３１】
これによれば、ソフトウェアのプログラム記述においてレジスタのビットをパラメタとして設定する場合にハードウェアマニュアルの参照が容易になる。
【００３２】
〔９〕<<ライブラリ関数のマニュアル情報の階層化データベース>>
項７において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第１階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第２階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第３階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する。
【００３３】
これによれば、ソフトウェアのプログラム記述においてライブラリ関数のソフトウェアマニュアルの参照が容易になる。
【００３４】
〔１０〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
プログラム処理を行うデータ処理装置がソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる入力支援方法は、コード編集処理（Ｓ２）、コード解析処理（Ｓ３，Ｓ４）、及びデータベースアクセス処理（Ｓ５）、及び表示制御処理（Ｓ６）を含む。前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理である。前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理である。前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理である。前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である。
【００３５】
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる。したがって、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
【００３６】
〔１１〕<<直接参照演算子としてドット演算子>>
項１０において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である。
【００３７】
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
【００３８】
〔１２〕<<間接参照演算子としてアロー演算子>>
項１０において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である。
【００３９】
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
【００４０】
〔１３〕<<リアルタイム表示>>
項１０において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御処理では、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
【００４１】
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することができる。
【００４２】
〔１４〕<<解析部による判定動作の具体例>>
項１０において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がｎ（自然数）個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第１階層の階層文字列乃至第ｎ＋１階層の階層文字列として取得する処理である。
【００４３】
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
【００４４】
〔１５〕<<解析部による判定動作の具体例>>
項１４において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し（Ｓ１６）、計数したメンバーアクセス演算子の数が１個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第２階層の階層文字列とし（Ｓ１７）、計数したメンバーアクセス演算子の数が２個の場合には第１番目の前記メンバーアクセス演算子の前の文字列を第１階層の階層文字列とし、第２番目の前記メンバーアクセス演算子の前の文字列を第２階層の階層文字列とし、当該第２番目のメンバーアクセス演算子の次の文字列を第３階層の階層文字列とする処理（Ｓ１８）である。
【００４５】
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた３階層の文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
【００４６】
〔１６〕<<データ処理ＬＳＩのレジスタマニュアル情報の階層化データベース>>
項１５において前記階層化データベースは、モジュール名が検索キーとされる第１階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第２階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第３階層とを有し、データ処理ＬＳＩのレジスタマニュアルの情報を案内情報として有する。
【００４７】
これによれば、ソフトウェアのプログラム記述においてレジスタのビットをパラメタとして設定する場合にハードウェアマニュアルの参照が容易になる。
【００４８】
〔１７〕<<ライブラリ関数のマニュアル情報の階層化データベース>>
項１５において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第１階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第２階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第３階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する。
【００４９】
これによれば、ソフトウェアのプログラム記述においてライブラリ関数のソフトウェアマニュアルの参照が容易になる。
【００５０】
〔１８〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
コンピュータ装置が実行することにより、ソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる処理を制御する、入力支援プログラム（３０〜３４）は、コード編集処理（Ｓ２）、コード解析処理（Ｓ３，Ｓ４）、及びデータベースアクセス処理（Ｓ５、及び表示制御処理（Ｓ６）を制御する。前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理である。前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理である。前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理である。前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である。
【００５１】
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得して、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる、入力支援方法を容易に実現することができる。更に、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる、入力支援方法を容易に実現することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度を向上させ、コーディングの誤りを低減させる、入力支援方法を容易に実現することができる。
【００５２】
〔１９〕<<直接参照演算子としてドット演算子>>
項１８において前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子である。
【００５３】
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
【００５４】
〔２０〕<<間接参照演算子としてアロー演算子>>
項１８において前記メンバーアクセス演算子は、Ｃ言語における間接参照演算子としてのアロー演算子である。
【００５５】
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
【００５６】
〔２１〕<<リアルタイム表示>>
項１８において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御処理では、前記データベースアクセス処理が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
【００５７】
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる、入力支援方法を容易に実現することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示する、入力支援方法を容易に実現することができる。
【００５８】
〔２２〕<<解析部による判定動作の具体例>>
項１８において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が０個の場合には入力文字列を第１階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がｎ（自然数）個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第１階層の階層文字列乃至第ｎ＋１階層の階層文字列として取得する処理である。
【００５９】
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得する、入力支援方法を容易に実現することができる。
【００６０】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００６１】
図１にはデータ処理システムの一実施の形態が示される。同図に示されるデータ処理システム１は、特に制限されないが、パーソナルコンピュータ又はエンジニアリングワークステーションなどのコンピュータ装置によって実現される。図１ではコンピュータ装置はコンピュータ本体としてのデータ処理装置１０、入力装置１１、表示装置１２、補助記憶装置１３、及びその他周辺装置１４から成る。
【００６２】
データ処理装置１０はマザーボードにプロセッサ、メインメモリ、アクセラレータ、ストレージコントローラ、表示コントローラ、外部入力インタフェースコントローラ、及び通信コントローラなどの半導体集積回路化されたデバイス並びに電源回路などが搭載されて構成される。
【００６３】
入力装置１１はキーボードや静電容量タッチパネルなどの文字コードを入力可能な公知の装置であり、例えばＣ言語によるソフトウェアプログラムを記述するための文字の入力が可能にされる。
【００６４】
表示装置１２は、表示フレーム単位で表示画面の走査駆動と点灯駆動によって動画や静止画を表示する液晶又はエレクトロルミネッセンスなどを用いた装置である。
【００６５】
補助記憶装置１３は、ハードディスク、光ディスク、又は不揮発性半導体メモリを用いた不揮発性メモリディスクなどである。補助記憶装置１３にはデータ処理装置１０が実行するソフトウェアとしてのプログラムの格納領域１３ＰＧと、データの格納領域１３ＤＴを有する。
【００６６】
その他周辺装置１４は有線又は無線によるネットワーク端末、又はハードコピーのような画像を形成して媒体に表示するプリンタなどである。前記補助記憶装置１３に新たなプログラムやデータを格納する場合には通信回線を介してネットワーク端末で受信し、受信したプログラムやデータをデータ処理装置１０が補助記憶装置１３に格納すればよい。
【００６７】
図１のデータ処理システム１はデータ処理装置１０が実行するプログラムに応じたプログラム処理機能が実現される。ここでは例えば図２に例示されるプログラム開発のための統合開発環境を実現する場合を想定する。統合開発環境２０にはプログラム入力装置２１、コンパイラ２２、及びデバッガ２３の機能が実現される。レジスタ表示やメモリ表示などのデバッグ用ウィンドウ群２４は表示装置１２に表示される。前記その他周辺装置１４としてエミュレータハードウェア２５が接続され、このエミュレータハードウェア２５にはエミュレーション対象である実機としての評価ボード２６などが接続される。
【００６８】
プログラム入力装置２１はユーザによる入力装置１１からのプログラムの入力を支援する入力支援機能を実現する。
【００６９】
コンパイラ２２はソースコードを入力してコンパイルし、オブジェクトモジュールを出力する機能を実現する。
【００７０】
デバッガ２３は以下の機能を実現する。即ち、デバッガ２３はコンパイラ２２からオブジェクトモジュールを受け取り、これに基づいてエミュレータハードウェア２５にプログラムコードを渡す。評価ボード２６はマイクロコンピュータとユーザの評価に必要な周辺機能等を実装したボードであり、エミュレータハードウェア２５はデバッガ２３からの制御命令により評価ボード２６上のマイクロコンピュータを制御する。また、デバッガ２３はオブジェクトモジュールに含まれるデバッグ情報（ソース行とアドレスの対応など）をプログラム入力装置２１に渡す。また、デバッガ２３は評価ボード２６上のマイクロコンピュータから得られたプログラムコードの実行結果（メモリやレジスタの値など）若しくはマイクロコンピュータ内の資源のデータを取得してデバッグ用ウィンドウ群２４に表示する。
【００７１】
図１には図２の統合開発環境におけるプログラム入力装置２１を実現する場合の詳細が例示される。プログラム入力装置２１はテキストエディタの機能にプログラムの入力支援機能が付加されており、ここではプログラムの入力支援機能が特徴的な機能とされる。ここで説明するプログラムの入力支援機能は、マイクロコンピュータやシステムオンチップなどと称される、プログラム処理機能と周辺機能を１チップに備えたデータ処理ＬＳＩにおけるコントロールレジスタ及びその制御ビットの案内情報を、プログラム入力に応じて表示する機能（レジスタマニュアル情報の階層的な案内表示機能）を一例とする。これに呼応してデータ領域１３ＤＴには上記コントロールレジスタの機能、使用方法、注意事項等のマニュアルの情報を階層化して保持するマニュアルデータベース５０が構成されている。
【００７２】
マニュアルデータベース５０は、特に制限されないが、図３に例示されるように、そのコントロールレジスタが配置されている回路モジュールのモジュール名が検索キーとされる第１階層５０ａ，５０ｂ，５０ｃ，…と、モジュール名の下位階層を形成しレジスタ名が検索キーとされる第２階層５０ａａ，５０ａｂ，５０ｂａ，５０ｂｂ，５０ｃａ，５０ｃｂ，…と、レジスタ名の下位階層を形成しビット名が検索キーとされる第３階層５０ａａａ，５０ａａｂ，５０ａａｃ，５０ｂａａ，５０ｂａｂ，５０ｂａｃ，５０ｃａａ，５０ｃａｂ，５０ｃａｃ，…とを有し、各階層には検索キーに対応する情報がレコードとして保持された、階層化データベースとして構成されている。
【００７３】
補助記憶装置１３はデータ処理装置１０が実行する入力支援プログラムとして、コード入力モジュール３０、コード編集モジュール３１、コード解析モジュール３２、データベースアクセスモジュール３３、及び表示制御モジュール３４を有する。
【００７４】
データ処理装置１０は、コード入力モジュール３０を実行することによりプログラム処理機能としてコード入力部４０を実現する。同様に、データ処理装置１０は、コード編集モジュール３１を実行することによりプログラム処理機能としてコード編集部４１を実現し、コード解析モジュール３２を実行することによりプログラム処理機能としてコード解析部４２を実現する。また、データ処理装置１０は、データベースアクセスモジュール３３を実行することによりプログラム処理機能としてデータベースアクセス部４３を実現し、表示制御モジュール３４を実行することによりプログラム処理機能として表示制御部４４を実現する。
【００７５】
コード入力部４０は、入力装置１１からソースコードを１文字単位で文字コードとして入力し、コード編集部４１に渡す。
【００７６】
コード編集部４１は、コード入力部４０から入力されたソフトウェアプログラムを記述するための文字コードを受け取り、文字コードを受け取る都度、直前に受け取った文字コードと合わせて文字列（以下、入力文字列と称す）を生成し、生成した入力文字列をコード解析部に出力する。ここで考える文字列は、特に制限されないが、プログラム言語のパラメタを指定する記述であり、パラメタを記述する一群の文字コードの列である。
【００７７】
コード解析部４２は、コード編集部４１で生成された入力文字列に対して、構造体又はクラスのメンバーへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する。ここではコントロールレジスタの制御ビットを指定するパラメタ設定のための記述として、モジュール名、レジスタ名、ビット名をメンバとする構造体の記述を想定する。したがって、メンバーアクセス演算子はＣ言語における直接参照演算子としてのドット演算子とする。例えば、入力文字列が上記構造体としてのレジスタのパラメタ記述であれば、当該入力文字列から、モジュール名、レジスタ名、ビット名、及び夫々の階層番号を取得する。
【００７８】
データベースアクセス部４３は、コード解析部４２で取得された階層番号毎に前記階層文字列を検索キーとしてマニュアルデータベース５０の対応する階層を検索して、当該階層文字列に対応する案内情報を取得する。
【００７９】
表示制御部４４は、データベースアクセス部４３によりマニュアルデータベース５０から取得した案内情報をその案内情報に対応する階層番号の階層文字列に対応させて入力文字列と共に表示装置１２に表示する。
【００８０】
図４にはプログラム入力装置２１によるプログラム入力の支援動作が全体的に示される。
【００８１】
ユーザがプログラム入力装置２１を用いてソースコードを入力する際、コード入力部４０は、ユーザからのソースコードの入力を１文字単位で監視し、入力があれば文字コードとしてコード編集部４１に出力する（Ｓ１）。
【００８２】
コード編集部４１は、コード入力部４０から直前に入力された数文字分の文字コードを、変数名が全て入るように結合して入力文字列を生成する（Ｓ２）。変数名が全て入るとは、パラメタ入力を一部であっても省略しない、という意味である。
【００８３】
次にコード解析部４２は、前記コード編集部４１で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、入力文字列に対して区切り文字で区切られる階層数に基づいて、入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する（Ｓ３）。入力文字列に対して、それがプログラム言語のパラメタでないときは階層を０とする。
【００８４】
次にデータベースアクセス部４３は、ステップＳ３で決定した階層が０（階層番号が０か否かではなく、即ち区切り文字が０個か否かではなく、入力文字列がレジスタのパラメタ設定ではないことを意味する）であったか否かを判定し（Ｓ４）、階層が０の場合は、入力文字列がコントロールレジスタのパラメタではないから、入力文字列を破棄してステップＳ１に戻り、階層が０以外の場合は、次のステップＳ５に進む。
【００８５】
ステップＳ５においてデータベースアクセス部４３は、ステップＳ３で取得した階層文字列とその階層番号に基づいて、マニュアルデータベース５０内に保持されているマニュアル情報からユーザに表示するマニュアル情報を検索して取得する（Ｓ６）。
【００８６】
即ち、階層番号１（第１階層）に関しては、マニュアルデータベース５０内に保持されているマニュアル情報の第１階層５０ａ，５０ｂ，５０ｃ，…から階層番号１に対応する階層文字列を検索キーとしてモジュール名を検索し、当該第１階層からユーザに表示するマニュアル情報を取得する。
【００８７】
続く階層番号２（第２階層）に関しては、検索した上記第１階層の子となる第２階層から階層番号２に対応する階層文字列を検索キーとしてレジスタ名を検索し、当該第２階層からユーザに表示するマニュアル情報を取得する。
【００８８】
続く階層番号３（第３階層）に関しては、検索した上記第２階層の子となる第３階層から階層番号３に対応する階層文字列を検索キーとしてビット名を検索し、当該第３階層からユーザに表示するマニュアル情報を取得する。
【００８９】
図５にはコード解析部４２によるステップＳ３の処理の詳細が示される。
【００９０】
コード解析部４２は、入力文字列内の区切り文字（ドット演算子）「．」の数をカウントする。（Ｓ１１）。なお、区切り文字「．」は、ソースコードをＣ言語で記述した場合の一例であり、プログラム言語に合わせて「．」以外を区切り文字としてもよいし、２文字以上であってもよい。
【００９１】
次にコード解析部４２は、区切り文字の数が０個かどうか判断する（Ｓ１２）。ステップＳ１２で区切り文字が０個の場合、ステップＳ１６に進み、コード解析部４２は、そのときの入力文字列を階層１（階層番号１）の階層文字列として処理を終了する（Ｓ１６）。この場合のパラメタ記述は単なるモジュール名を指定する記述、或いは文字列入力がモジュール名指定まで進んだ状態の記述である。
【００９２】
ステップＳ１２で区切り文字が０個でなかった場合、次のステップＳ１３に進み、コード解析部４２は、区切り文字の数が１個かどうかを判断する（Ｓ１３）。ステップＳ１３で区切り文字が１個の場合、ステップＳ１７に進み、コード解析部４２は、入力文字列を区切り文字で前と後ろに２分解し、前側の文字列を階層１（階層番号１）の階層文字列とし、後ろ側の文字列を階層２（階層番号２）の階層文字列として処理を終了する（Ｓ１７）。この場合のパラメタ記述はモジュール名とレジスタ名を指定する記述、或いは文字列入力がモジュール名指定及びレジスタ名指定まで進んだ状態の記述である。
【００９３】
ステップＳ１３で区切り文字が１個でなかった場合、次のステップＳ１４に進み、コード解析部４２は、区切り文字の数が２個かどうかを判断する（Ｓ１４）。ステップＳ１４で区切り文字が２個の場合、ステップＳ１８に進み、コード解析部４２は、入力文字列を区切り文字で前、中、後ろに３分解し、前側の文字列を階層１（階層番号１）の階層文字列とし、中側の文字列を階層２（階層番号２）の階層文字列とし、後ろ側の文字列を階層３（階層番号３）の階層文字列として処理を終了する（Ｓ１８）。この場合のパラメタ記述はモジュール名、レジスタ名及びビット名を指定する記述である。
【００９４】
ステップＳ１４で区切り文字が２個でなかった場合、ステップＳ１５に進み、コード解析部４２は、入力文字列はコントロールレジスタのパラメタ指定でなはいと判断し、階層を０としてこの処理を終了する（Ｓ１５）。
【００９５】
図６及び図７にはプログラム入力装置２１による案内表示の表示例が示される。
【００９６】
図６はユーザがコントロールレジスタにアクセスするための変数“ＴＭＲ０．ＴＣＲ．ＯＶＩＥ”を用いたソースコード（ＴＭＲ０．ＴＣＲ．ＯＶＩＥ ＝ １；）を入力しようとした場合の入力途中の表示例である。先頭から順番に“Ｔ”、“Ｍ”、“Ｒ”、“０”、“．”、“Ｔ”、“Ｃ”、“Ｒ”の文字コードを入力した状態を示している。
【００９７】
ユーザが入力装置１１に入力したソースコードは、コード入力部４０からコード編集部４１にて入力文字列として“ＴＭＲ０．ＴＣＲ”を作成してコード解析部４２に渡される（Ｓ１，Ｓ２）。コード解析部４２では、入力文字列内の区切り文字「．」をカウントした（Ｓ１１）結果、区切り文字の数が１となるので、入力文字列を区切り文字の前後で“ＴＭＲ０”、“ＴＣＲ”の２つに分割し、分割した第１番目の文字列である“ＴＭＲ０”を階層番号１の階層文字列（モジュール名）とし、分割した第２番目の文字列である“ＴＣＲ”を階層番号２の回路文字列（レジスタ名）とし、階層の数（階層数）を２とする（Ｓ１７）。
【００９８】
次にデータベースアクセス部４３では、階層が０でないのでステップＳ５に進む。マニュアルデータベース５０内に保持されているマニュアル情報からユーザに表示するマニュアル情報を検索して取得する。階層数が２であるので、先ず、マニュアルデータベース５０内に保持されているマニュアル情報の中から第１階層のモジュール名が“ＴＭＲ０”で、かつ、第２階層のレジスタ名が“ＴＣＲ”であるマニュアル「ＴＣＲレジスタは、ＴＣＮＴ カウンタのクリア条件を指定するレジスタです。」を第２階層から取得し（Ｓ５）、表示制御部４４にてポップアップ表示などでユーザに対してそれを表示する（Ｓ６）。
【００９９】
図７は、図６より更に入力が進んで、“ＴＭＲ０．ＴＣＲ．ＯＶＩＥ ＝”まで入力した状態での表示例を示す。図７では入力文字列が“ＴＭＲ０．ＴＣＲ．ＯＶＩＥ”であるため、区切り文字の数が２となり、階層番号１の階層文字列（モジュール名）を“ＴＭＲ０”、階層番号２の階層文字列（レジスタ名）を“ＴＣＲ”、階層番号３の階層文字列（ビット名）２を“ＯＶＩＥ”とし、階層数が３となる。このときポップアップ表示などでユーザに対して表示するマニュアルの内容は、第３階層の「ＯＶＩＥ  タイマオーバフロー割り込み許可ビット  ０：オーバフローによる割り込み要求を禁止  １：オーバフローによる割り込み要求を許可」に切り替わる。
【０１００】
上記実施の形態によれば以下の作用効果を奏する。
【０１０１】
（１）上記データ処理システム１で実現されたプログラム入力装置２１、更にはプログラム入力装置２１で行われる上記入力支援方法によれば、コントロールレジスタの機能、使用方法、注意事項等のマニュアル情報を階層化してマニュアルデータベース５０に保持し、入力されたソースコードがコントロールレジスタのパラメタ指定であるか否かを記述の階層に基づいてコード解析部４２で判別する。マニュアルデータベース５０では、コントロールレジスタの機能、使用方法、注意事項等のマニュアルの情報を、モジュールレベルのマニュアルを保持する第１階層５０、５０ｂ、５０ｃ、…と、レジスタレベルのマニュアルを保持する第２階層５０ａａ、５０ａｂ、５０ｂａ、５０ｂｂ，５０ｃａ、５０ｃｂ…と、ビットレベルのマニュアルを保持する第３階層５０ａａａ、５０ａａｂ、５０ａａｃ、５０ｂａａ、５０ｂａｂ、５０ｂａｃ、５０ｃａａ、５０ｃａｂ、５０ｃａｃ、…とに分けて保持し、コード解析部４２によるコード解析によって得られる階層文字列と階層番号に基づいてデータベースアクセス部４３によって必要な階層の情報のみを提供できるようにされる。したがって、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて取得した必要な案内情報だけを表示させることが可能になる。したがって、ユーザに表示する情報量を削減し、ガイド表示領域を大きくしなくてもユーザが必要とする情報を表示することが可能になる。
【０１０２】
（２）上記より、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。
【０１０３】
（３）上記データ処理システム１及び上記入力支援方法によれば、コード解析部４２では、ユーザの入力文字列が変数であった場合、変数の中に出現する区切り文字の出現回数を調べることで、ユーザが入力中に必要とする階層を容易に判断可能になる。すなわち、入力文字列の入力順に区切り文字を認識することによって、区切り文字で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
【０１０４】
（４）上記データ処理システム１及び上記入力支援方法によれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することも可能である。
【０１０５】
（５）上記データ処理システム１及び上記入力支援方法によれば、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
【０１０６】
（６）コード入力モジュール３０、コード編集モジュール３１、コード解析モジュール３２、データベースアクセスモジュール３３、及び表示制御モジュール３４を含む入力支援プログラムによれば、このプログラムをパーソナルコンピュータ又はエンジニアリングワークステーションなどのコンピュータ装置にインストールして実行することにより、上記データ処理システムとしてのプログラム入力装置２１を容易に実現することができ、また、上記入力支援方法を容易に行うことができる。
【０１０７】
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０８】
例えば、表示装置１２は、ハードコピーのような画像を形成して媒体に表示するプリンタなどであってもよい。
【０１０９】
また、前記メンバーアクセス演算子は、Ｃ言語における直接参照演算子としてのドット演算子に限定されない。Ｃ言語における間接参照演算子としてのアロー演算子であってもよい。
【０１１０】
パラメタの階層化の順序、更にはそれに対応する階層化データベースの階層構造はモジュール・レジスタ・ビット以外の順であってもよい。例えば、個別のビットをもたないコントロールレジスタの場合にはモジュール．レジスタの２階層であってもよい。また、モジュールにコントロールレジスタが１個しか含まれない場合、モジュールの直下にビットが配置される場合もある。また、モジュール．ビットの２階層と同様にレジスタの直下にビットが配置される場合にはレジスタ．ビットの２階層とされる。更に、同じ機能を持つ周辺モジュールが２つ以上ある場合、これらをまとめた親モジュールを想定することも考えられる。この場合には、親モジュール．モジュール．ビット．レジスタの４階層とされる。例えば、タイマー．タイマー２．タイマー制御レジスタ．割り込み許可ビット、の４階層である。上記の何れの階層構造であっても、また、それらが混在していても、制御手法は上記実施の形態と同じである。メンバーアクセス演算子を記述の上位側から検出して順次階層文字列と階層番号を取得し、これに基づいて階層化データベースを検索して、検索ヒットしたマニュアル情報を採用すればよい。
【０１１１】
パラメタ記述はレジスタ以外の階層化記述であっても良い。C++などのオブジェクト指向言語を例とすれば、ライブラリ関数とそのマニュアルを提供する場合が考えられる。例えばユーザにコントロールレジスタを操作するライブラリ関数とそのマニュアルを提供する場合について考える。モジュールを操作するクラス内にレジスタを操作するクラスを設け、レジスタを操作するクラス内にビットを操作する関数を設ける。ビットを操作するには以下のように記述することができる。即ち、「モジュール操作クラス取得()->レジスタ操作クラス取得（）->ビット設定()」である。より具体的には、「GetTMR0()->GetTCR()->SetOVIE(1);」のような呼び出しでフラグをセットすることができる。この場合、()->を区切り文字、GetTMR0等の関数名を検索ワードとして検索し、同様に解析し、関数のライブラリ関数の説明を表示することができる。上記例では->（アロー）演算子によるアクセスを記載したが、．（ドット）演算子による実装も可能である。
【０１１２】
メンバーアクセス演算子は、（ドット）演算子、->（アロー）演算子に限定されず、構造体やクラスのメンバへのアクセスを示す演算子であれば、その他の演算子であってよい。
【符号の説明】
【０１１３】
１  データ処理システム
１０  データ処理装置
１１  入力装置
１２  表示装置
１３  補助記憶装置
１３ＰＧ  プログラムの格納領域
１３ＤＴ  データの格納領域
１４  その他周辺装置
２０  統合開発環境
２１  プログラム入力装置
２２  コンパイラ
２３  デバッガ
２４  デバッグ用ウィンドウ群
２５  エミュレータハードウェア
１６  評価ボード
５０ａ，５０ｂ，５０ｃ，…  第１階層
５０ａａ，５０ａｂ，５０ｂａ，５０ｂｂ，５０ｃａ，５０ｃｂ，…  第２階層
５０ａａａ，５０ａａｂ，５０ａａｃ，５０ｂａａ，５０ｂａｂ，５０ｂａｃ，５０ｃａａ，５０ｃａｂ，５０ｃａｃ，…  第３階層
３０  コード入力モジュール
３１  コード編集モジュール
３２  コード解析モジュール
３３  データベースアクセスモジュール
３４  表示制御モジュール
４１  コード編集部
４２  コード解析部
４３  データベースアクセス部
４４  表示制御部
５０  マニュアルデータベース
【図１】
2015095016.tif 000003
【図２】
2015095016.tif 000004
【図３】
2015095016.tif 000005
【図４】
2015095016.tif 000006
【図５】
2015095016.tif 000007
【図６】
2015095016.tif 000008
【図７】
2015095016.tif 000009