JP2015095016A - データ処理システム、入力支援方法、及び入力支援プログラム - Google Patents

データ処理システム、入力支援方法、及び入力支援プログラム Download PDF

Info

Publication number
JP2015095016A
JP2015095016A JP2013232885A JP2013232885A JP2015095016A JP 2015095016 A JP2015095016 A JP 2015095016A JP 2013232885 A JP2013232885 A JP 2013232885A JP 2013232885 A JP2013232885 A JP 2013232885A JP 2015095016 A JP2015095016 A JP 2015095016A
Authority
JP
Japan
Prior art keywords
character string
hierarchical
input
hierarchy
operator
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.)
Pending
Application number
JP2013232885A
Other languages
English (en)
Inventor
登 小座本
Noboru Kozamoto
登 小座本
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013232885A priority Critical patent/JP2015095016A/ja
Priority to US14/535,185 priority patent/US9164736B2/en
Publication of JP2015095016A publication Critical patent/JP2015095016A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ソースプログラムを記述するための文字列の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得して文字列の入力状況に応じて必要な案内情報だけを表示させる。
【解決手段】入力装置からソフトウェア記述のために入力された文字を結合して入力文字列を生成し、生成された入力文字列に対して、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索する。階層化データベースから検索された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共にディスプレイに表示し、又はプリンタなどでハードコピーを形成する。
【選択図】図1

Description

本発明は、逐次入力されたデータを分割して階層化データベースから入力データの支援情報を取得する技術に関し、例えば、ソフトウェア開発の統合開発環境におけるコード入力に際して入力コードの説明情報等の支援情報を逐次表示するデータ処理に適用して有効な技術に関する。
マイクロコンピュータを搭載した製品が一般化しているが、近年では製品の高機能化に伴い、マイクロコンピュータによる制御量、すなわち、製品に搭載される組み込みプログラムの規模が増大している。また、組み込みプログラムの開発においてはコーディング時にもデバッグ時にも膨大なハードウェアのマニュアルを常に参照しながら行う必要があるため、プログラムの規模の増大に加えてマニュアル参照の手間がかかり、開発効率の改善が望まれている。例えばマイクロコンピュータに搭載される周辺モジュールやアクセラレータなどの回路モジュールに機能設定を行うために多数のレジスタ(若しくはコントロールレジスタ)が配置され、それらレジスタの各ビットに値を設定するためのパラメタを決めたりするとき、レジスタの各ビットの値とその意義を参照するために膨大なハードウェアマニュアルを頻繁に参照することが行われる。
入力ガイドとして特許文献1にはプログラム入力をガイドする方法について記載がある。例えばLISP(List Processor)のような関数型言語プログラムにおけるDo構文などの文字入力後、別の特定のファンクションキーを押下した際にプログラム入力領域とは別の領域に現入力部分と未入力部分とで色や字体を変えて構文の全パラメタ形式のガイドを表示する技術について開示される。この技術によれば、フリーフォーマットのプログラムの入力環境に、自由度の制限を加えず、入力過程の任意の時点でプログラムのパラメタの並びをチェックし、正しいパラメタの効率の良い入力を誘導し、支援することができる。この特許文献1の図3は、LISPのDo構文のパラメタの挿入ガイド、間接ガイドの表示例が示されている。ここで示される入力ガイドはエディタの一つの機能として実現され、表示画面の最上行には、エディタとしてのヘッダを表示し、第2行目はメッセージ領域、その下の広い領域がプログラム入力・編集領域とされ、全画面(フルスクリーン)エディタの画面構成が示されている。
このフリーフォーマットの全画面エディタは、入力されたプログラムの関数名や予約語、又はコマンド(総称して“プログラム言語”と言う)とパラメタ(引数)部分を抽出する。プログラム言語毎にパラメタのガイド文字、及びパラメタの並びの記憶ルールを記憶した記法データベースをアクセスし、該記法ルールと前記抽出の入力パラメタ(実引数)を照合し、未入力又は不足パラメタに対応するパラメタのガイド文字を切り出して、入力プログラムの次に入力すべき位置に挿入表示する。挿入ガイド文字を識別するために、挿入ガイドの配置位置を、入力プログラムのテキストとは別のガイド属性リストに記憶し管理する。
このエディタを用いたプログラム入力に際して、プログラムの入力領域にプログラムの一部を入力した時点でガイドが要求されると、構文の範囲を決定し、次に指定された対象範囲から、関数名と個々のパラメタの範囲が抽出されたならば、該関数名に対応するパラメタのガイド文字と、記法ルールを関数記法データベースから抽出し、記法ルールと先に求めた実引数の照合により、パラメタの過不足、各パラメタの形式がチェックされる。そして不足のパラメタ部分に対応するパラメタのガイド文字をテキストの次に入力すべき位置に挿入して、ガイド表示が行われる。プログラムの一部の文字入力後、別の特定のファンクションキーを押下すると、上記表示画面における第2行目のメッセージ領域のように、プログラム入力領域とは別の領域に、当該構文の全パラメタ形式のガイドを表示する。そのガイド表示は、表示文字列の中で、現入力部分と未入力部分を異なる色又は字体で表示するものとされる。
特開平1−118925公報
従来のプログラム入力のガイド表示は、関数が入力されると、その関数の構文にしたがった入力ガイドを表示可能であり、パラメタの案内については入力された関数に対応するものをプログラム表示領域とは別のメッセージ領域に表示するものである。
しかしながら、今日の如くプログラムの複雑化、更には規模の増大に伴って、膨大なハードウェアのマニュアルを常に参照しながらプログラム開発を行う必要があり、プログラムの規模の増大に加えてマニュアル参照の手間がかかり、プログラム開発効率の改善が望まれているという状況下では、従来のプログラム入力のガイド表示では十分でないことが本発明者によって明らかにされた。第1に、パラメタの入力ガイドをプログラム表示領域とは別のメッセージ領域に表示する場合には、入力ガイドの情報量が多い場合には対応することができない。ガイド表示を行うメッセージ領域を大きくすると、エディタとして使用可能なプログラム入力領域が減ってソースコードを表示する領域が狭くなり、プログラムの見通しが悪くなることでプログラムの生産効率が低下してしまう。第2に、関数に対応するパラメタの入力ガイドを関数に応じて一律に全て表示しようとしても表示しきれるものではない。メッセージ領域のサイズに合わせてその一部だけを表示したのではガイド機能に劣るものとなる。レジスタに対するパラメタ設定のように、レジスタの種類及び個々のレジスタのビット名などのパラメタの種類が膨大な場合にはガイド表示についても階層化し、そのための制御手法を新たに開発することの必要性が本発明者によって認識された。
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、入力装置からソフトウェア記述のために入力された文字を結合して入力文字列を生成し、生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索する。階層化データベースから検索された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共にディスプレイに表示する。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、ソースプログラムを記述するための文字列の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて必要な案内情報だけを表示させることが可能になるから、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、開発効率の改善に資することができる。
図1はデータ処理システムの一実施の形態を示すブロック図である。 図2は図1のデータ処理システムが適用される統合開発環境の一例を示す説明図である。 図3はマニュアルデータベースの階層化構造を例示する説明図である。 図4はプログラム入力装置によるプログラム入力の支援動作を全体的に例示するフローチャートである。 図5はコード解析部によるステップS3の処理の詳細なフローチャートである。 図6はプログラム入力装置によるパラメタ入力の途中における案内表示例を示す説明図である。 図7はプログラム入力装置によるパラメタ入力が最後まで進んだときの案内表示例を示す説明図である。
1.実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
データ処理システム(1)は、入力装置(11)と、プログラム処理を行うデータ処理装置(10)と、階層化データベースが構成される記憶装置(13)とを含む。前記データ処理装置はコード編集部(41)、コード解析部(42)、及びデータベースアクセス部(43)を含む。前記コード編集部は、前記入力装置から入力されたソフトウェアプログラムを記述するための文字を結合して入力文字列を生成する。前記コード解析部は、前記コード編集部で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する。前記データベースアクセス部は、前記コード解析部で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する。
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて取得した必要な案内情報だけを表示させることが可能になり、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
〔2〕<<直接参照演算子としてドット演算子>>
項1において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である。
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
〔3〕<<間接参照演算子としてアロー演算子>>
項1において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である。
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
〔4〕<<取得された階層数の階層名に対応する文字列の表示に並行する検索されたレコードの表示>>
項1において前記データ処理装置は、前記入力装置から入力された入力文字列を表示装置(12)に表示制御する表示制御部(44)を更に有し、前記表示制御部は、前記データベースアクセス部が階層化データベースから検索して取得した案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
これによれば、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる。
〔5〕<<リアルタイム表示>>
項4において前記データベースアクセス部は、コード解析部が前記コード編集部により生成された入力文字列に対して一つの階層文字列を取得する毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御部は、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することができる。
〔6〕<<解析部による判定動作の具体例>>
項1において前記コード解析部は、前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がn(自然数)個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第1階層の階層文字列乃至第n+1階層の階層文字列として取得する。
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
〔7〕<<解析部による判定動作の具体例>>
項6において前記コード解析部は前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し(S16)、計数したメンバーアクセス演算子の数が1個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第2階層の階層文字列とし(S17)、計数したメンバーアクセス演算子の数が2個の場合には第1番目の前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列とし、第2番目の前記メンバーアクセス演算子の前の文字列を第2階層の階層文字列とし、当該第2番目のメンバーアクセス演算子の次の文字列を第3階層の階層文字列とする(S18)。
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた3階層の文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
〔8〕<<データ処理LSIのレジスタマニュアル情報の階層化データベース>>
項7において前記階層化データベースは、モジュール名が検索キーとされる第1階層(50a,50b,50c,…)と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第2階層(50aa,50ab,50ba,50bb,50ca,50cb,…)と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第3階層(50aaa,50aab,50aac,50baa,50bab,50bac,50caa,50cab,50cac,…)とを有し、データ処理LSIのレジスタマニュアルの情報を案内情報として有する。
これによれば、ソフトウェアのプログラム記述においてレジスタのビットをパラメタとして設定する場合にハードウェアマニュアルの参照が容易になる。
〔9〕<<ライブラリ関数のマニュアル情報の階層化データベース>>
項7において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第1階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第2階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第3階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する。
これによれば、ソフトウェアのプログラム記述においてライブラリ関数のソフトウェアマニュアルの参照が容易になる。
〔10〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
プログラム処理を行うデータ処理装置がソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる入力支援方法は、コード編集処理(S2)、コード解析処理(S3,S4)、及びデータベースアクセス処理(S5)、及び表示制御処理(S6)を含む。前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理である。前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理である。前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理である。前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である。
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる。したがって、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
〔11〕<<直接参照演算子としてドット演算子>>
項10において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である。
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
〔12〕<<間接参照演算子としてアロー演算子>>
項10において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である。
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
〔13〕<<リアルタイム表示>>
項10において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御処理では、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することができる。
〔14〕<<解析部による判定動作の具体例>>
項10において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がn(自然数)個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第1階層の階層文字列乃至第n+1階層の階層文字列として取得する処理である。
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
〔15〕<<解析部による判定動作の具体例>>
項14において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し(S16)、計数したメンバーアクセス演算子の数が1個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第2階層の階層文字列とし(S17)、計数したメンバーアクセス演算子の数が2個の場合には第1番目の前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列とし、第2番目の前記メンバーアクセス演算子の前の文字列を第2階層の階層文字列とし、当該第2番目のメンバーアクセス演算子の次の文字列を第3階層の階層文字列とする処理(S18)である。
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた3階層の文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
〔16〕<<データ処理LSIのレジスタマニュアル情報の階層化データベース>>
項15において前記階層化データベースは、モジュール名が検索キーとされる第1階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第2階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第3階層とを有し、データ処理LSIのレジスタマニュアルの情報を案内情報として有する。
これによれば、ソフトウェアのプログラム記述においてレジスタのビットをパラメタとして設定する場合にハードウェアマニュアルの参照が容易になる。
〔17〕<<ライブラリ関数のマニュアル情報の階層化データベース>>
項15において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第1階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第2階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第3階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する。
これによれば、ソフトウェアのプログラム記述においてライブラリ関数のソフトウェアマニュアルの参照が容易になる。
〔18〕<<メンバーアクセス演算子の前後の文字列と階層数に基づく階層化データベースの検索>>
コンピュータ装置が実行することにより、ソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる処理を制御する、入力支援プログラム(30〜34)は、コード編集処理(S2)、コード解析処理(S3,S4)、及びデータベースアクセス処理(S5、及び表示制御処理(S6)を制御する。前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理である。前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理である。前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理である。前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である。
これによれば、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得して、所定の文字列の階層に従って逐次取得された案内情報を、文字列の入力状況に応じて当該文字列との関連で表示することができる、入力支援方法を容易に実現することができる。更に、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる、入力支援方法を容易に実現することができる。更には、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度を向上させ、コーディングの誤りを低減させる、入力支援方法を容易に実現することができる。
〔19〕<<直接参照演算子としてドット演算子>>
項18において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である。
これによれば、ドット演算子で参照されるメンバを階層文字列としては把握可能になる。
〔20〕<<間接参照演算子としてアロー演算子>>
項18において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である。
これによれば、アロー演算子で参照されるメンバを階層文字列としては把握可能になる。
〔21〕<<リアルタイム表示>>
項18において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索する。前記表示制御処理では、前記データベースアクセス処理が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する。
これによれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる、入力支援方法を容易に実現することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示する、入力支援方法を容易に実現することができる。
〔22〕<<解析部による判定動作の具体例>>
項18において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がn(自然数)個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第1階層の階層文字列乃至第n+1階層の階層文字列として取得する処理である。
これによれば、入力文字列の入力順にメンバーアクセス演算子を認識することによって、メンバーアクセス演算子で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得する、入力支援方法を容易に実現することができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
図1にはデータ処理システムの一実施の形態が示される。同図に示されるデータ処理システム1は、特に制限されないが、パーソナルコンピュータ又はエンジニアリングワークステーションなどのコンピュータ装置によって実現される。図1ではコンピュータ装置はコンピュータ本体としてのデータ処理装置10、入力装置11、表示装置12、補助記憶装置13、及びその他周辺装置14から成る。
データ処理装置10はマザーボードにプロセッサ、メインメモリ、アクセラレータ、ストレージコントローラ、表示コントローラ、外部入力インタフェースコントローラ、及び通信コントローラなどの半導体集積回路化されたデバイス並びに電源回路などが搭載されて構成される。
入力装置11はキーボードや静電容量タッチパネルなどの文字コードを入力可能な公知の装置であり、例えばC言語によるソフトウェアプログラムを記述するための文字の入力が可能にされる。
表示装置12は、表示フレーム単位で表示画面の走査駆動と点灯駆動によって動画や静止画を表示する液晶又はエレクトロルミネッセンスなどを用いた装置である。
補助記憶装置13は、ハードディスク、光ディスク、又は不揮発性半導体メモリを用いた不揮発性メモリディスクなどである。補助記憶装置13にはデータ処理装置10が実行するソフトウェアとしてのプログラムの格納領域13PGと、データの格納領域13DTを有する。
その他周辺装置14は有線又は無線によるネットワーク端末、又はハードコピーのような画像を形成して媒体に表示するプリンタなどである。前記補助記憶装置13に新たなプログラムやデータを格納する場合には通信回線を介してネットワーク端末で受信し、受信したプログラムやデータをデータ処理装置10が補助記憶装置13に格納すればよい。
図1のデータ処理システム1はデータ処理装置10が実行するプログラムに応じたプログラム処理機能が実現される。ここでは例えば図2に例示されるプログラム開発のための統合開発環境を実現する場合を想定する。統合開発環境20にはプログラム入力装置21、コンパイラ22、及びデバッガ23の機能が実現される。レジスタ表示やメモリ表示などのデバッグ用ウィンドウ群24は表示装置12に表示される。前記その他周辺装置14としてエミュレータハードウェア25が接続され、このエミュレータハードウェア25にはエミュレーション対象である実機としての評価ボード26などが接続される。
プログラム入力装置21はユーザによる入力装置11からのプログラムの入力を支援する入力支援機能を実現する。
コンパイラ22はソースコードを入力してコンパイルし、オブジェクトモジュールを出力する機能を実現する。
デバッガ23は以下の機能を実現する。即ち、デバッガ23はコンパイラ22からオブジェクトモジュールを受け取り、これに基づいてエミュレータハードウェア25にプログラムコードを渡す。評価ボード26はマイクロコンピュータとユーザの評価に必要な周辺機能等を実装したボードであり、エミュレータハードウェア25はデバッガ23からの制御命令により評価ボード26上のマイクロコンピュータを制御する。また、デバッガ23はオブジェクトモジュールに含まれるデバッグ情報(ソース行とアドレスの対応など)をプログラム入力装置21に渡す。また、デバッガ23は評価ボード26上のマイクロコンピュータから得られたプログラムコードの実行結果(メモリやレジスタの値など)若しくはマイクロコンピュータ内の資源のデータを取得してデバッグ用ウィンドウ群24に表示する。
図1には図2の統合開発環境におけるプログラム入力装置21を実現する場合の詳細が例示される。プログラム入力装置21はテキストエディタの機能にプログラムの入力支援機能が付加されており、ここではプログラムの入力支援機能が特徴的な機能とされる。ここで説明するプログラムの入力支援機能は、マイクロコンピュータやシステムオンチップなどと称される、プログラム処理機能と周辺機能を1チップに備えたデータ処理LSIにおけるコントロールレジスタ及びその制御ビットの案内情報を、プログラム入力に応じて表示する機能(レジスタマニュアル情報の階層的な案内表示機能)を一例とする。これに呼応してデータ領域13DTには上記コントロールレジスタの機能、使用方法、注意事項等のマニュアルの情報を階層化して保持するマニュアルデータベース50が構成されている。
マニュアルデータベース50は、特に制限されないが、図3に例示されるように、そのコントロールレジスタが配置されている回路モジュールのモジュール名が検索キーとされる第1階層50a,50b,50c,…と、モジュール名の下位階層を形成しレジスタ名が検索キーとされる第2階層50aa,50ab,50ba,50bb,50ca,50cb,…と、レジスタ名の下位階層を形成しビット名が検索キーとされる第3階層50aaa,50aab,50aac,50baa,50bab,50bac,50caa,50cab,50cac,…とを有し、各階層には検索キーに対応する情報がレコードとして保持された、階層化データベースとして構成されている。
補助記憶装置13はデータ処理装置10が実行する入力支援プログラムとして、コード入力モジュール30、コード編集モジュール31、コード解析モジュール32、データベースアクセスモジュール33、及び表示制御モジュール34を有する。
データ処理装置10は、コード入力モジュール30を実行することによりプログラム処理機能としてコード入力部40を実現する。同様に、データ処理装置10は、コード編集モジュール31を実行することによりプログラム処理機能としてコード編集部41を実現し、コード解析モジュール32を実行することによりプログラム処理機能としてコード解析部42を実現する。また、データ処理装置10は、データベースアクセスモジュール33を実行することによりプログラム処理機能としてデータベースアクセス部43を実現し、表示制御モジュール34を実行することによりプログラム処理機能として表示制御部44を実現する。
コード入力部40は、入力装置11からソースコードを1文字単位で文字コードとして入力し、コード編集部41に渡す。
コード編集部41は、コード入力部40から入力されたソフトウェアプログラムを記述するための文字コードを受け取り、文字コードを受け取る都度、直前に受け取った文字コードと合わせて文字列(以下、入力文字列と称す)を生成し、生成した入力文字列をコード解析部に出力する。ここで考える文字列は、特に制限されないが、プログラム言語のパラメタを指定する記述であり、パラメタを記述する一群の文字コードの列である。
コード解析部42は、コード編集部41で生成された入力文字列に対して、構造体又はクラスのメンバーへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する。ここではコントロールレジスタの制御ビットを指定するパラメタ設定のための記述として、モジュール名、レジスタ名、ビット名をメンバとする構造体の記述を想定する。したがって、メンバーアクセス演算子はC言語における直接参照演算子としてのドット演算子とする。例えば、入力文字列が上記構造体としてのレジスタのパラメタ記述であれば、当該入力文字列から、モジュール名、レジスタ名、ビット名、及び夫々の階層番号を取得する。
データベースアクセス部43は、コード解析部42で取得された階層番号毎に前記階層文字列を検索キーとしてマニュアルデータベース50の対応する階層を検索して、当該階層文字列に対応する案内情報を取得する。
表示制御部44は、データベースアクセス部43によりマニュアルデータベース50から取得した案内情報をその案内情報に対応する階層番号の階層文字列に対応させて入力文字列と共に表示装置12に表示する。
図4にはプログラム入力装置21によるプログラム入力の支援動作が全体的に示される。
ユーザがプログラム入力装置21を用いてソースコードを入力する際、コード入力部40は、ユーザからのソースコードの入力を1文字単位で監視し、入力があれば文字コードとしてコード編集部41に出力する(S1)。
コード編集部41は、コード入力部40から直前に入力された数文字分の文字コードを、変数名が全て入るように結合して入力文字列を生成する(S2)。変数名が全て入るとは、パラメタ入力を一部であっても省略しない、という意味である。
次にコード解析部42は、前記コード編集部41で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、入力文字列に対して区切り文字で区切られる階層数に基づいて、入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する(S3)。入力文字列に対して、それがプログラム言語のパラメタでないときは階層を0とする。
次にデータベースアクセス部43は、ステップS3で決定した階層が0(階層番号が0か否かではなく、即ち区切り文字が0個か否かではなく、入力文字列がレジスタのパラメタ設定ではないことを意味する)であったか否かを判定し(S4)、階層が0の場合は、入力文字列がコントロールレジスタのパラメタではないから、入力文字列を破棄してステップS1に戻り、階層が0以外の場合は、次のステップS5に進む。
ステップS5においてデータベースアクセス部43は、ステップS3で取得した階層文字列とその階層番号に基づいて、マニュアルデータベース50内に保持されているマニュアル情報からユーザに表示するマニュアル情報を検索して取得する(S6)。
即ち、階層番号1(第1階層)に関しては、マニュアルデータベース50内に保持されているマニュアル情報の第1階層50a,50b,50c,…から階層番号1に対応する階層文字列を検索キーとしてモジュール名を検索し、当該第1階層からユーザに表示するマニュアル情報を取得する。
続く階層番号2(第2階層)に関しては、検索した上記第1階層の子となる第2階層から階層番号2に対応する階層文字列を検索キーとしてレジスタ名を検索し、当該第2階層からユーザに表示するマニュアル情報を取得する。
続く階層番号3(第3階層)に関しては、検索した上記第2階層の子となる第3階層から階層番号3に対応する階層文字列を検索キーとしてビット名を検索し、当該第3階層からユーザに表示するマニュアル情報を取得する。
図5にはコード解析部42によるステップS3の処理の詳細が示される。
コード解析部42は、入力文字列内の区切り文字(ドット演算子)「.」の数をカウントする。(S11)。なお、区切り文字「.」は、ソースコードをC言語で記述した場合の一例であり、プログラム言語に合わせて「.」以外を区切り文字としてもよいし、2文字以上であってもよい。
次にコード解析部42は、区切り文字の数が0個かどうか判断する(S12)。ステップS12で区切り文字が0個の場合、ステップS16に進み、コード解析部42は、そのときの入力文字列を階層1(階層番号1)の階層文字列として処理を終了する(S16)。この場合のパラメタ記述は単なるモジュール名を指定する記述、或いは文字列入力がモジュール名指定まで進んだ状態の記述である。
ステップS12で区切り文字が0個でなかった場合、次のステップS13に進み、コード解析部42は、区切り文字の数が1個かどうかを判断する(S13)。ステップS13で区切り文字が1個の場合、ステップS17に進み、コード解析部42は、入力文字列を区切り文字で前と後ろに2分解し、前側の文字列を階層1(階層番号1)の階層文字列とし、後ろ側の文字列を階層2(階層番号2)の階層文字列として処理を終了する(S17)。この場合のパラメタ記述はモジュール名とレジスタ名を指定する記述、或いは文字列入力がモジュール名指定及びレジスタ名指定まで進んだ状態の記述である。
ステップS13で区切り文字が1個でなかった場合、次のステップS14に進み、コード解析部42は、区切り文字の数が2個かどうかを判断する(S14)。ステップS14で区切り文字が2個の場合、ステップS18に進み、コード解析部42は、入力文字列を区切り文字で前、中、後ろに3分解し、前側の文字列を階層1(階層番号1)の階層文字列とし、中側の文字列を階層2(階層番号2)の階層文字列とし、後ろ側の文字列を階層3(階層番号3)の階層文字列として処理を終了する(S18)。この場合のパラメタ記述はモジュール名、レジスタ名及びビット名を指定する記述である。
ステップS14で区切り文字が2個でなかった場合、ステップS15に進み、コード解析部42は、入力文字列はコントロールレジスタのパラメタ指定でなはいと判断し、階層を0としてこの処理を終了する(S15)。
図6及び図7にはプログラム入力装置21による案内表示の表示例が示される。
図6はユーザがコントロールレジスタにアクセスするための変数“TMR0.TCR.OVIE”を用いたソースコード(TMR0.TCR.OVIE = 1;)を入力しようとした場合の入力途中の表示例である。先頭から順番に“T”、“M”、“R”、“0”、“.”、“T”、“C”、“R”の文字コードを入力した状態を示している。
ユーザが入力装置11に入力したソースコードは、コード入力部40からコード編集部41にて入力文字列として“TMR0.TCR”を作成してコード解析部42に渡される(S1,S2)。コード解析部42では、入力文字列内の区切り文字「.」をカウントした(S11)結果、区切り文字の数が1となるので、入力文字列を区切り文字の前後で“TMR0”、“TCR”の2つに分割し、分割した第1番目の文字列である“TMR0”を階層番号1の階層文字列(モジュール名)とし、分割した第2番目の文字列である“TCR”を階層番号2の回路文字列(レジスタ名)とし、階層の数(階層数)を2とする(S17)。
次にデータベースアクセス部43では、階層が0でないのでステップS5に進む。マニュアルデータベース50内に保持されているマニュアル情報からユーザに表示するマニュアル情報を検索して取得する。階層数が2であるので、先ず、マニュアルデータベース50内に保持されているマニュアル情報の中から第1階層のモジュール名が“TMR0”で、かつ、第2階層のレジスタ名が“TCR”であるマニュアル「TCRレジスタは、TCNT カウンタのクリア条件を指定するレジスタです。」を第2階層から取得し(S5)、表示制御部44にてポップアップ表示などでユーザに対してそれを表示する(S6)。
図7は、図6より更に入力が進んで、“TMR0.TCR.OVIE =”まで入力した状態での表示例を示す。図7では入力文字列が“TMR0.TCR.OVIE”であるため、区切り文字の数が2となり、階層番号1の階層文字列(モジュール名)を“TMR0”、階層番号2の階層文字列(レジスタ名)を“TCR”、階層番号3の階層文字列(ビット名)2を“OVIE”とし、階層数が3となる。このときポップアップ表示などでユーザに対して表示するマニュアルの内容は、第3階層の「OVIE タイマオーバフロー割り込み許可ビット 0:オーバフローによる割り込み要求を禁止 1:オーバフローによる割り込み要求を許可」に切り替わる。
上記実施の形態によれば以下の作用効果を奏する。
(1)上記データ処理システム1で実現されたプログラム入力装置21、更にはプログラム入力装置21で行われる上記入力支援方法によれば、コントロールレジスタの機能、使用方法、注意事項等のマニュアル情報を階層化してマニュアルデータベース50に保持し、入力されたソースコードがコントロールレジスタのパラメタ指定であるか否かを記述の階層に基づいてコード解析部42で判別する。マニュアルデータベース50では、コントロールレジスタの機能、使用方法、注意事項等のマニュアルの情報を、モジュールレベルのマニュアルを保持する第1階層50、50b、50c、…と、レジスタレベルのマニュアルを保持する第2階層50aa、50ab、50ba、50bb,50ca、50cb…と、ビットレベルのマニュアルを保持する第3階層50aaa、50aab、50aac、50baa、50bab、50bac、50caa、50cab、50cac、…とに分けて保持し、コード解析部42によるコード解析によって得られる階層文字列と階層番号に基づいてデータベースアクセス部43によって必要な階層の情報のみを提供できるようにされる。したがって、ソフトウェアプログラムを記述するための文字の入力に応じて、所定の文字列の階層に従った案内情報を逐次取得することができ、文字列の入力状況に応じて取得した必要な案内情報だけを表示させることが可能になる。したがって、ユーザに表示する情報量を削減し、ガイド表示領域を大きくしなくてもユーザが必要とする情報を表示することが可能になる。
(2)上記より、プログラム規模が増大しても、プログラムの開発対象になるハードウェアのマニュアルが膨大であっても、マニュアル参照の手間が省け、ソフトウェアプログラム開発効率の改善に資することができる。
(3)上記データ処理システム1及び上記入力支援方法によれば、コード解析部42では、ユーザの入力文字列が変数であった場合、変数の中に出現する区切り文字の出現回数を調べることで、ユーザが入力中に必要とする階層を容易に判断可能になる。すなわち、入力文字列の入力順に区切り文字を認識することによって、区切り文字で区切られた文字列の階層を上位階層から簡単に把握して、階層文字列とその階層番号を取得することができる。
(4)上記データ処理システム1及び上記入力支援方法によれば、ソフトウェアプログラムを記述する文字を入力している最中に、階層文字列を把握する度にこれに対応する案内表示を当該階層文字列に関連させて表示することができる。即ち、ソフトウェアプログラム記述のための文字入力の進捗に合わせてリアルタイムで階層文字列に対応する案内情報を表示することも可能である。
(5)上記データ処理システム1及び上記入力支援方法によれば、コーディングに必要な部分のみ取得した案内情報を表示させることが可能であるから、マニュアルの可読性やユーザの理解度が向上し、コーディングの誤りを低減する効果もある。
(6)コード入力モジュール30、コード編集モジュール31、コード解析モジュール32、データベースアクセスモジュール33、及び表示制御モジュール34を含む入力支援プログラムによれば、このプログラムをパーソナルコンピュータ又はエンジニアリングワークステーションなどのコンピュータ装置にインストールして実行することにより、上記データ処理システムとしてのプログラム入力装置21を容易に実現することができ、また、上記入力支援方法を容易に行うことができる。
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、表示装置12は、ハードコピーのような画像を形成して媒体に表示するプリンタなどであってもよい。
また、前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子に限定されない。C言語における間接参照演算子としてのアロー演算子であってもよい。
パラメタの階層化の順序、更にはそれに対応する階層化データベースの階層構造はモジュール・レジスタ・ビット以外の順であってもよい。例えば、個別のビットをもたないコントロールレジスタの場合にはモジュール.レジスタの2階層であってもよい。また、モジュールにコントロールレジスタが1個しか含まれない場合、モジュールの直下にビットが配置される場合もある。また、モジュール.ビットの2階層と同様にレジスタの直下にビットが配置される場合にはレジスタ.ビットの2階層とされる。更に、同じ機能を持つ周辺モジュールが2つ以上ある場合、これらをまとめた親モジュールを想定することも考えられる。この場合には、親モジュール.モジュール.ビット.レジスタの4階層とされる。例えば、タイマー.タイマー2.タイマー制御レジスタ.割り込み許可ビット、の4階層である。上記の何れの階層構造であっても、また、それらが混在していても、制御手法は上記実施の形態と同じである。メンバーアクセス演算子を記述の上位側から検出して順次階層文字列と階層番号を取得し、これに基づいて階層化データベースを検索して、検索ヒットしたマニュアル情報を採用すればよい。
パラメタ記述はレジスタ以外の階層化記述であっても良い。C++などのオブジェクト指向言語を例とすれば、ライブラリ関数とそのマニュアルを提供する場合が考えられる。例えばユーザにコントロールレジスタを操作するライブラリ関数とそのマニュアルを提供する場合について考える。モジュールを操作するクラス内にレジスタを操作するクラスを設け、レジスタを操作するクラス内にビットを操作する関数を設ける。ビットを操作するには以下のように記述することができる。即ち、「モジュール操作クラス取得()->レジスタ操作クラス取得()->ビット設定()」である。より具体的には、「GetTMR0()->GetTCR()->SetOVIE(1);」のような呼び出しでフラグをセットすることができる。この場合、()->を区切り文字、GetTMR0等の関数名を検索ワードとして検索し、同様に解析し、関数のライブラリ関数の説明を表示することができる。上記例では->(アロー)演算子によるアクセスを記載したが、.(ドット)演算子による実装も可能である。
メンバーアクセス演算子は、(ドット)演算子、->(アロー)演算子に限定されず、構造体やクラスのメンバへのアクセスを示す演算子であれば、その他の演算子であってよい。
1 データ処理システム
10 データ処理装置
11 入力装置
12 表示装置
13 補助記憶装置
13PG プログラムの格納領域
13DT データの格納領域
14 その他周辺装置
20 統合開発環境
21 プログラム入力装置
22 コンパイラ
23 デバッガ
24 デバッグ用ウィンドウ群
25 エミュレータハードウェア
16 評価ボード
50a,50b,50c,… 第1階層
50aa,50ab,50ba,50bb,50ca,50cb,… 第2階層
50aaa,50aab,50aac,50baa,50bab,50bac,50caa,50cab,50cac,… 第3階層
30 コード入力モジュール
31 コード編集モジュール
32 コード解析モジュール
33 データベースアクセスモジュール
34 表示制御モジュール
41 コード編集部
42 コード解析部
43 データベースアクセス部
44 表示制御部
50 マニュアルデータベース

Claims (20)

  1. 入力装置と、プログラム処理を行うデータ処理装置と、階層化データベースが構成される記憶装置とを含むデータ処理システムであって、
    前記データ処理装置はコード編集部、コード解析部、及びデータベースアクセス部を含み、
    前記コード編集部は、前記入力装置から入力されたソフトウェアプログラムを記述するための文字を結合して入力文字列を生成し、
    前記コード解析部は、前記コード編集部で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得し、
    前記データベースアクセス部は、前記コード解析部で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する、データ処理システム。
  2. 請求項1において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である、データ処理システム。
  3. 請求項1において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である、データ処理システム。
  4. 請求項1において前記データ処理装置は、前記入力装置から入力された入力文字列を表示装置に表示制御する表示制御部を更に有し、
    前記表示制御部は、前記データベースアクセス部が階層化データベースから検索して取得した案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、データ処理システム。
  5. 請求項4において前記データベースアクセス部は、コード解析部が前記コード編集部により生成された入力文字列に対して一つの階層文字列を取得する毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索し、
    前記表示制御部は、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、データ処理システム。
  6. 請求項1において前記コード解析部は、前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がn(自然数)個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第1階層の階層文字列乃至第n+1階層の階層文字列として取得する、データ処理システム。
  7. 請求項6において前記コード解析部は前記コード編集部で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数が1個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第2階層の階層文字列とし、計数したメンバーアクセス演算子の数が2個の場合には第1番目の前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列とし、第2番目の前記メンバーアクセス演算子の前の文字列を第2階層の階層文字列とし、当該第2番目のメンバーアクセス演算子の次の文字列を第3階層の階層文字列とする、データ処理システム。
  8. 請求項7において前記階層化データベースは、モジュール名が検索キーとされる第1階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第2階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第3階層とを有し、データ処理LSIのレジスタマニュアルの情報を案内情報として有する、データ処理システム。
  9. 請求項7において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第1階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第2階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第3階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する、データ処理システム。
  10. プログラム処理を行うデータ処理装置がソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる入力支援方法であって、
    コード編集処理、コード解析処理、及びデータベースアクセス処理、及び表示制御処理を含み、
    前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理であり、
    前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理であり、
    前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理であり、
    前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である、入力支援方法。
  11. 請求項10において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である、入力支援方法。
  12. 請求項10において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である、入力支援方法。
  13. 請求項10において前記データベースアクセス処理では、前記コード編集処理により生成された入力文字列に対してコード解析処理で一つの階層文字列が取得される毎に、当該階層文字列と階層番号に基づいて前記階層化データベースを検索し、
    前記表示制御処理では、前記データベースアクセス部が検索して取得した案内情報を、その都度当該階層番号の階層文字列に対応させて前記入力文字列と共に前記表示装置に表示する、入力支援方法。
  14. 請求項10において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数がn(自然数)個の場合には入力文字列に対して夫々の前記メンバーアクセス演算子の前後を順次第1階層の階層文字列乃至第n+1階層の階層文字列として取得する処理である、入力支援方法。
  15. 請求項14において前記コード解析処理は、前記コード編集処理で生成された入力文字列に含まれるメンバーアクセス演算子の数を計数し、計数したメンバーアクセス演算子の数が0個の場合には入力文字列を第1階層の階層文字列として取得し、計数したメンバーアクセス演算子の数が1個の場合には入力文字列に対して前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列、当該メンバーアクセス演算子の次の文字列を第2階層の階層文字列とし、計数したメンバーアクセス演算子の数が2個の場合には第1番目の前記メンバーアクセス演算子の前の文字列を第1階層の階層文字列とし、第2番目の前記メンバーアクセス演算子の前の文字列を第2階層の階層文字列とし、当該第2番目のメンバーアクセス演算子の次の文字列を第3階層の階層文字列とする処理である、入力支援方法。
  16. 請求項15において前記階層化データベースは、モジュール名が検索キーとされる第1階層と、前記モジュール名の下位階層を形成しレジスタ名が検索キーとされる第2階層と、前記レジスタ名の下位階層を形成しビット名が検索キーとされる第3階層とを有し、データ処理LSIのレジスタマニュアルの情報を案内情報として有する、入力支援方法。
  17. 請求項15において前記階層化データベースは、モジュール操作のクラス名が検索キーとされる第1階層と、前記モジュール操作のクラス名の下位階層を形成しレジスタ操作のクラス名が検索キーとされる第2階層と、前記レジスタ操作のクラス名の下位階層を形成しビット操作関数名が検索キーとされる第3階層とを有し、レジスタ操作のためのライブラリ関数のマニュアルの情報を案内情報として有する、入力支援方法。
  18. コンピュータ装置が実行することにより、ソフトウェアプログラムを記述するための文字を入力装置から入力して階層化データベースから案内情報を取得して表示させる処理を制御する、入力支援プログラムであって、
    コード編集処理、コード解析処理、及びデータベースアクセス処理、及び表示制御処理を制御し、
    前記コード編集処理は、前記入力装置から入力された前記文字を結合して入力文字列を生成する処理であり、
    前記コード解析処理は、前記コード編集処理で生成された入力文字列に対して、それがプログラム言語のパラメタであるとき、構造体又はクラスのメンバへのアクセスを示すメンバーアクセス演算子で区切られる階層数に基づいて、前記入力文字列を前記階層数の階層毎に分割して階層文字列とその階層番号を取得する処理であり、
    前記データベースアクセス処理は、前記コード解析処理で取得された階層番号毎に前記階層文字列を検索キーとして前記階層化データベースの対応する階層を検索して当該階層文字列に対応する案内情報を取得する処理であり、
    前記表示制御処理は、前記データベースアクセス処理によって階層化データベースから取得された案内情報を、当該階層番号の階層文字列に対応させて前記入力文字列と共に表示装置に表示する処理である、入力支援プログラム。
  19. 請求項18において前記メンバーアクセス演算子は、C言語における直接参照演算子としてのドット演算子である、入力支援プログラム。
  20. 請求項18において前記メンバーアクセス演算子は、C言語における間接参照演算子としてのアロー演算子である、入力支援プログラム。
JP2013232885A 2013-11-11 2013-11-11 データ処理システム、入力支援方法、及び入力支援プログラム Pending JP2015095016A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013232885A JP2015095016A (ja) 2013-11-11 2013-11-11 データ処理システム、入力支援方法、及び入力支援プログラム
US14/535,185 US9164736B2 (en) 2013-11-11 2014-11-06 Data processing system, input support method, and input support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013232885A JP2015095016A (ja) 2013-11-11 2013-11-11 データ処理システム、入力支援方法、及び入力支援プログラム

Publications (1)

Publication Number Publication Date
JP2015095016A true JP2015095016A (ja) 2015-05-18

Family

ID=53044969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013232885A Pending JP2015095016A (ja) 2013-11-11 2013-11-11 データ処理システム、入力支援方法、及び入力支援プログラム

Country Status (2)

Country Link
US (1) US9164736B2 (ja)
JP (1) JP2015095016A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101503A (zh) * 2017-06-20 2018-12-28 北京微影时代科技有限公司 一种创建组织结构层级关系树的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01118925A (ja) 1987-07-06 1989-05-11 Hitachi Ltd プログラム入力ガイド方法
US9110765B2 (en) * 2012-10-17 2015-08-18 Sap Portals Israel Ltd Displaying different hierarchy levels of computer program source code

Also Published As

Publication number Publication date
US20150135162A1 (en) 2015-05-14
US9164736B2 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
CN106462434B (zh) 整个程序代码的增量式编译
Gong et al. Jitprof: Pinpointing jit-unfriendly javascript code
US9513880B2 (en) Graphical function specialization
US5881288A (en) Debugging information generation system
US7237234B2 (en) Method for selective solicitation of user assistance in the performance tuning process
CN106021103B (zh) 一种基于代码变更的移动应用测试脚本自动维护方法
US20120072423A1 (en) Semantic Grouping for Program Performance Data Analysis
CN104699602A (zh) 用于检测影响的方法和计算机
CN111858371A (zh) 软件测试方法、系统、存储介质及计算机设备
US9507693B2 (en) Method, device and computer-readable storage medium for closure testing
JP2020119348A (ja) 解析プログラム、解析方法および解析装置
JP6199314B2 (ja) 演算子の優先順位のグラフィカル表現
US20120072820A1 (en) Systems and Computer Program Products for Conducting Multi-Window Multi-Aspect Processing and Calculations
US20100313186A1 (en) Developer-managed debugger data records
WO2016122508A1 (en) Test generation for browser-based user interface
CN113626017A (zh) 异构程序的分析方法、装置、计算机设备和存储介质
US20230195825A1 (en) Browser extension with automation testing support
JP2009075965A (ja) ソフトウェア開発方法及びソフトウェア開発装置
JP2015095016A (ja) データ処理システム、入力支援方法、及び入力支援プログラム
Oberhuber et al. DETOP-an interactive debugger for PowerPC based multicomputers
EP0817049B1 (en) A program development system
JP5118562B2 (ja) デバッグ支援装置
JP2007080049A (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
US20070233737A1 (en) System for determining whether screen displayed by program satisfies specification
TW200417924A (en) WIN F-language interpreter