(57)【要約】【課題】  開発者の文法習得レベルに拘わらず、開発者の習得している文法の範囲のソースプログラムのみを、すなわち意味的に正しいソースプログラムのみをオブジェクトコードに翻訳することのできるプログラム開発装置を提供する。【解決手段】  プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するプログラム開発装置１０１において、開発者の文法習得レベルを示す情報に基づいて、開発者の文法習得レベルに対応した文法範囲１０８を設定する文法範囲設定部１０４と、ソースプログラム１０６を構文解析して中間コード１０９を生成する構文解析部１０２とを備え、生成された中間コード１０９を、設定された文法範囲１０８と照合し、設定された文法範囲１０８を超えた中間コード１０９がある場合には警告を出力するようにした。【選択図】  図１
2006215834.tif 000002
【特許請求の範囲】
【請求項１】
プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するプログラム開発装置であって、
開発者の文法習得レベルに対応して、中間コードを構成する文法規則の集合である文法範囲を設定する文法範囲設定部と、
ソースプログラムを構文解析して中間コードを生成するコード生成部と、
上記コード生成部で生成された中間コードが、上記文法範囲設定部で設定された文法範囲を超えているか否かを判定し、該文法範囲を超えた中間コードに対し警告を出力する判定部とを備えた、
ことを特徴とするプログラム開発装置。
【請求項２】
請求項１記載のプログラム開発装置において、
上記文法範囲設定部は、入力された開発者の文法習得レベルを示す情報に基づいて、上記文法範囲を設定する、
ことを特徴とするプログラム開発装置。
【請求項３】
請求項１記載のプログラム開発装置において、
開発者の文法習得レベルを判定するための問題を出力する問題出力部と、
出力された問題に対する開発者の回答を入力するための回答入力部とを、さらに備え、
上記文法範囲設定部は、上記問題出力部により出題した問題、および上記回答入力部に入力された回答に基づいて、開発者の文法習得レベルを判定し、上記文法範囲を設定する、
ことを特徴とするプログラム開発装置。
【請求項４】
請求項３記載のプログラム開発装置において、
開発者の文法学習を支援する学習支援部を、さらに備え、
上記問題出力部は、上記学習支援部の学習支援を受けて開発者が学習した学習項目に基づいて、開発者の文法習得レベルを判定するための問題を出力する、
ことを特徴とするプログラム開発装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを構文解析し、オブジェクトコードを生成するプログラム開発装置に関するものである。
【背景技術】
【０００２】
従来のプログラム開発装置では、ソースプログラムを構文解析し、ソースプログラムに文法上の誤りがなければ、開発者の文法習得レベルとは無関係にオブジェクトコードを生成する。
【０００３】
プログラミング言語で記述されたプログラムをオブジェクトプログラムに翻訳するにあたり、文法範囲をチェックする方式として、例えば参考文献１に記載の方式があった。この方式では、言語翻訳システムの外部から言語仕様範囲を指定し、言語翻訳システムにおける言語仕様範囲検査部が中間コードをひとつひとつ走査して、各中間コードが、外部から指定された言語仕様範囲外のものであるかどうかのチェックを行っている。
【特許文献１】特開平８−２４９１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の方式では、言語翻訳システムの外部から指定される言語仕様範囲は、開発者の文法習得レベルとは無関係であり、開発者の文法習得レベルに応じた文法範囲を言語翻訳システムに与えることはできない。したがって、開発者によって、開発者の習得しているレベルを超えた文法を含む、意味的に誤ったソースプログラムが作成された場合でも、そのソースプログラムに文法上の誤りが無い限り、そのソースプログラムは翻訳され、オブジェクトコードが生成される。つまり、上記従来方式は、意味的に誤ったソフトウェアが実装されるおそれがあるという課題を有するものであった。
【０００５】
本発明は、前記従来の課題を解決するためになされたもので、開発者の習得している文法の範囲に応じたソースプログラム、すなわち意味的に正しいソースプログラムのみをオブジェクトコードに翻訳することのできるプログラム開発装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明に係るプログラム開発装置は、プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するプログラム開発装置であって、開発者の文法習得レベルに対応して、中間コードを構成する文法規則の集合である文法範囲を設定する文法範囲設定部と、ソースプログラムを構文解析して中間コードを生成するコード生成部と、上記コード生成部で生成された中間コードが、上記文法範囲設定部で設定された文法範囲を超えているか否かを判定して、該文法範囲を超えた中間コードに対し警告を出力する判定部とを備えた、ものである。
【０００７】
これにより、開発者の習得しているレベルを超えた文法を含む、意味的に誤ったソースプログラムが作成されることを回避でき、ソースプログラムおよびオブジェクトコードの品質を確保できる。
【０００８】
本発明は、上記プログラム開発装置において、上記文法範囲設定部は、入力された開発者の文法習得レベルを示す情報に基づいて、上記文法範囲を設定する、ものである。
【０００９】
これにより、個々の開発者別にそれぞれの文法習得レベルに応じた文法範囲の設定が可能となる。
【００１０】
本発明は、上記プログラム開発装置において、開発者の文法習得レベルを判定するための問題を出力する問題出力部と、出力された問題に対する開発者の回答を入力するための回答入力部とを、さらに備え、上記文法範囲設定部は、上記問題出力部により出題した問題、および該回答入力部に入力された回答に基づいて、開発者の文法習得レベルを判定し、上記文法範囲を設定する、ものである。
【００１１】
これにより、開発者が質問に回答することによって自動的に文法範囲を設定することが可能となり、開発者の文法習得レベルを直接入力する際の誤りを防ぎ、文法範囲を正確かつ容易に設定できる。
【００１２】
本発明は、上記プログラム開発装置において、開発者の文法学習を支援する学習支援部を、さらに備え、上記問題出力部は、上記学習支援部の学習支援を受けて開発者が学習した学習項目に基づいて、開発者の文法習得レベルを判定するための問題を出力する、ものである。
【００１３】
これにより、開発者の文法習得レベルに対応した文法範囲が、開発者が学習した範囲に限定されることとなり、開発者がまだ学習していない問題に対して偶然に正しい回答を入力することによる、誤った文法範囲の設定を防ぐことができる。
【発明の効果】
【００１４】
本発明に係るプログラム開発装置によれば、開発者の文法習得レベルに応じた文法範囲の設定が可能となり、開発者の習得している文法の範囲のソースプログラム、すなわち意味的に正しいソースプログラムのみをオブジェクトコードに翻訳することが可能となる。このことにより、ソースプログラムおよびオブジェクトコードの品質を確保できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
図１は、本発明の実施の形態１によるプログラム開発装置を示す図である。
図１において、１０１は本実施の形態１によるプログラム開発装置であり、プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するものである。
【００１６】
このプログラム開発装置１０１は、ソースプログラム１０６を構文解析して中間コード１０９を生成する構文解析部１０２と、該中間コード１０９に基づいてオブジェクトコード１１０を生成するオブジェクトコード生成部１０３と、開発者の文法習得レベルを示す情報１０７に基づいて、該開発者の文法習得レベルに対応して、中間コードを構成する文法規則の集合である文法範囲１０８を設定する文法範囲設定部１０４と、生成された中間コード１０９を、設定された文法範囲１０８と照合し、照合結果に応じて警告を出力する文法範囲判定部１０５とを有している。
【００１７】
ここで、構文解析部１０２は、ソースプログラム１０６の入力を受け付け、字句解析も含め構文解析を行うための一連のソフトウェアアルゴリズムが実装されている部分であり、ソースプログラムの構文解析により中間コード１０９を生成するものである。
【００１８】
文法範囲設定部１０４は、開発者の文法習得レベルを示す情報１０７を受け付け、文法範囲１０８を設定するものである。この開発者の文法習得レベルを示す情報１０７は、予め、開発者の文法習得段階に応じて設定された初級レベル、中級レベル、上級レベルなどのレベルを示す情報である。また、文法範囲１０８は、規格などで定められたプログラム言語の文法の、上記初級、中級、上級などの各レベルに対応する範囲である。なお、上記開発者の文法習得段階に応じた複数のレベルは、初級、中級、上級の３つに限らず、開発者の文法習得段階をより細かく分けて、例えば、５段階レベル、１０段階レベルなどとしてもよい。
【００１９】
文法範囲判定部１０５は、中間コード１０９と文法範囲１０８の照合により、中間コード１０９が文法範囲１０８の範囲で記述されているかどうかを判定し、文法範囲１０８を超えていると判定した場合には警告１１１を出力するものである。
【００２０】
オブジェクトコード生成部１０３は、文法範囲判定部１０５の判定結果を受け、中間コード１０９に基づいてオブジェクトコード１１０を生成するものであり、文法範囲判定部１０５が文法範囲１０８を超えていないと判定した場合には、オブジェクトコード１１０を生成し、文法範囲判定部１０５が文法範囲１０８を超えていると判定した場合には、オブジェクトコード１１０を生成しないものである。
【００２１】
次に動作について説明する。
図２は、上記実施の形態１における、ソースプログラム１０６の構文解釈を、入力された開発者の文法習得レベルに対応した文法範囲１０８に限定して行うフローを示している。
【００２２】
開発者が自己の文法習得レベルを示す情報１０７を入力し、さらにソースプログラム１０６が指定されてプログラム開発装置１０１が起動されると、構文解析部１０２は、ソースプログラム１０６を構文解析し、中間コード１０９を生成する（ステップＳ１）。
【００２３】
文法範囲設定部１０４は、開発者の文法習得レベルを示す情報１０７をもとに、規格などで定められたプログラム言語の文法に関しての、開発者の文法習得レベルに対応して、文法範囲１０８を設定する（ステップＳ２）。
【００２４】
文法範囲判定部１０５は、中間コード１０９と文法範囲１０８とを入力し、中間コード１０９が文法範囲１０８内の文法規則でもって記述されているかどうかを判定し、該判定結果に応じて警告１１１を出力する（ステップＳ３）。
【００２５】
具体的には、ステップＳ３では、中間コード１０９を構成している文法項目と、文法範囲１０８に設定されている文法項目とを照合し（ステップＳ３ａ）、中間コード１０９が文法範囲１０８内でもって記述されたものであるか否かを判定し（Ｓステップ３ｂ）、中間コード１０９を構成している文法項目の中に文法範囲１０８を超える文法項目が含まれていると判定された場合には、警告を出力する（ステップＳ３ｃ）。
【００２６】
そして、中間コード１０９を構成している文法項目はすべて文法範囲１０８内のものであるか否かを判定し（ステップＳ４）、中間コード１０９を構成する文法項目がすべて文法範囲１０８内のものと判定された場合は、オブジェクトコード生成部１０３が、オブジェクトコード１１０を生成する（ステップＳ５）。
【００２７】
このことによって、中間コード１０９を構成している文法項目の中に、文法範囲１０８に設定されていない文法項目が含まれている場合、すなわち、ソースプログラムに開発者の文法習得レベルに対応した文法範囲に含まれない文法項目が含まれている場合には、警告が出力されて、オブジェクトコードは生成されないこととなり、この結果、開発者の文法習得レベルに対応したオブジェクトコードのみを生成することが可能となる。
【００２８】
このように本実施の形態１では、プログラム開発装置において、開発者の文法習得レベルを示す情報に基づいて、開発者の文法習得レベルに対応した文法範囲１０８を設定する文法範囲設定部１０４と、ソースプログラム１０６を構文解析して中間コード１０９を生成する構文解析部１０２とを備え、生成された中間コード１０９を、設定された文法範囲１０８と照合し、設定された文法範囲１０８を超えた中間コード１０９がある場合には警告を出力するようにしたので、開発者の文法習得レベルの範囲を超えたソースプログラムに対して警告が出力されることとなる。これにより、プログラミング言語の習得レベルの低い開発者が、十分に習得できていない文法を用いて意味的に誤ったソースプログラムを記述することによる、プログラム品質の低下、レビュー工数の増加、テスト工数の増加を防ぎ、プログラムの品質を向上させ、開発工数を削減させることができる。また、このことによって、プログラム言語の習得が不完全な開発者でも、習得している文法の範囲で開発作業に加わることができ、開発者の有効活用に繋がるという効果もある。
【００２９】
（実施の形態２）
図３は、本発明の実施の形態２によるプログラム開発装置を示す図である。
図３において、３０１は本実施の形態２のプログラム開発装置であり、実施の形態１のプログラム開発装置１０１と同様、プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するものである。
【００３０】
このプログラム開発装置３０１は、ソースプログラム３０８を構文解析して中間コード３０９を生成する構文解析部３０２と、該中間コード３０９に基づいてオブジェクトコード３１２を生成するオブジェクトコード生成部３０３とを有している。
【００３１】
上記プログラム開発装置３０１は、開発者の文法習得レベルを判定するための問題を、文法習得レベル判定問題ＤＢ（データベース）３１０より抽出して出力する問題出力部３０５と、開発者による問題の回答入力を受け付ける回答入力部３０６と、該回答入力部３０６からの回答に基づいて開発者の文法習得レベルを判定して、開発者の習得レベルに対応して、中間コードを構成する文法規則の集合である文法範囲を決定する文法範囲決定部３０７と、生成された中間コード３０９を、設定された文法範囲３１１と照合し、照合結果に応じて警告を出力する文法範囲判定部３０４とを有している。
【００３２】
ここで、構文解析部３０２、オブジェクトコード生成部３０３、文法範囲判定部３０４、ソースプログラム３０８、中間コード３０９、文法範囲３１１、オブジェクトコード３１２、警告３１３は、図１に示す実施の形態１のものと同様のものである。
【００３３】
そして、上記文法習得レベル判定問題ＤＢ３１０は、開発者の文法習得レベルを判定するための問題を、開発者の習得レベルに応じて、低レベルのものから高レベルのものまで格納したものである。このデータベース３１０は、この実施の形態２のようにプログラム開発装置３０１に内蔵されたものでも、あるいはプログラム開発装置３０１外部に設けられたものでもよい。また、問題出力部３０５は、上記文法習得レベル判定問題ＤＢ３１０より、低、中、高などの各レベルに対応した複数の問題を抽出し出力するものである。回答入力部３０６は、出力された問題に対する開発者の回答入力を受け付けて、文法範囲決定部３０７に出力するものである。文法範囲決定部３０７は、上記文法習得レベル判定問題ＤＢ３１０から抽出された問題と、回答入力部３０６からの回答入力とに基づいて、開発者の文法習得レベルを判定し、該開発者の習得レベルに対応して、文法範囲３１１を設定するものである。
【００３４】
次に動作について説明する。
このプログラム開発装置３０１では、構文解析部３０２が、ソースプログラム３０８の入力を受け付けてから、警告３１３を出力するか、または、オブジェクトコード３１２を生成する動作は、実施の形態１と同様に行われるので、以下、文法範囲を決定する動作に重点をおいて説明する。
【００３５】
この実施の形態２のプログラム開発装置３０１では、ソースプログラム３０８をオブジェクトプログラムに翻訳する処理の前に、開発者の習得レベルに対応して文法範囲を決定する処理が行われる。
【００３６】
つまり、プログラム開発装置３０１が起動されると、問題出力部３０５は、文法習得レベル判定問題のデータベース３１０より、複数の問題を、つまりレベルの低いものからレベルの高いものまでを抽出して出力する。開発者が、問題出力部３０５により出力された問題に対する回答を、回答入力部３０６により入力すると、文法範囲決定部３０７は、上記文法習得レベル判定問題ＤＢ３１０より抽出され出力された問題と、回答入力部３０６からの回答とに基づいて、開発者の文法習得レベルを判定する。具体的には、文法範囲決定部３０７は、開発者が、どのレベルの問題にまで正解することができたかによって、開発者の文法習得レベルを判定し、該開発者の文法習得レベルに対応して、文法範囲３１１を決定し設定する。
【００３７】
その後、ソースプログラム３０８が指定されると、構文解析部３０２は、ソースプログラム３０８を構文解析し、中間コード３０９を生成する。
【００３８】
すると、文法範囲判定部３０４は、中間コード３０９および開発者の文法習得レベルに対応した文法範囲３１１を参照し、中間コード３０９が文法範囲３１１内の文法規則でもって記述されているかどうかを判定し、中間コード３０９が文法範囲３１１内のものでないと判定された場合は、警告３１３を出力する。また、中間コード３０９を構成している文法項目がすべて文法範囲３１１に設定されていると判定された場合には、オブジェクトコード生成部３０３がオブジェクトコード３１２を生成する。
【００３９】
このことによって、本実施の形態２では、実施の形態１で、開発者の文法習得レベルを示す情報の入力により、開発者の文法習得レベルに対応した文法範囲を設定するのとは異なり、開発者が、出題される問題に回答することによって、自動的に開発者の文法習得レベルに対応した文法範囲３１１を設定することが可能となる。
【００４０】
このように本実施の形態２では、開発者の文法習得レベルを判定するための問題をデータベース３１０より抽出して出力する問題出力部３０５と、開発者による問題の回答に基づいて開発者の習得レベルに対応した文法範囲３１１を決定する文法範囲決定部３０４とを備えたので、開発者が、出力された問題に回答することによって自動的に文法範囲３１１が設定されることとなり、開発者の文法習得レベルを示す情報を直接入力する際の入力誤りを防ぎ、文法範囲３１１を正確かつ容易に設定することができる。
【００４１】
（実施の形態３）
図４は、本発明の実施の形態３によるプログラム開発装置を示す図である。
図４において、４０１は本実施の形態３のプログラム開発装置であり、実施の形態１のプログラム開発装置１０１と同様、プログラミング言語で記述されたソースプログラムをオブジェクトプログラムに翻訳するものである。
【００４２】
このプログラム開発装置４０１は、ソースプログラム４０９を構文解析して中間コード４１０を生成する構文解析部４０２と、該中間コード４１０に基づいてオブジェクトコード４１４を生成するオブジェクトコード生成部４０３とを有している。
【００４３】
上記プログラム開発装置４０１は、開発者の文法習得のための学習を支援する学習支援部４０５と、開発者の学習済みの内容に応じた、開発者の文法習得レベル判定のための問題を、そのデータベース４１２より抽出し出力する学習済み問題出力部４０６と、開発者による問題の回答入力を受け付ける回答入力部４０７と、該回答入力部４０７からの回答に基づいて開発者の文法習得レベルを判定して、開発者の文法習得レベルに対応した文法範囲４１３を決定する文法範囲決定部４０８と、生成された中間コード４１０を、設定された文法範囲４１３と照合し、照合結果に応じて警告を出力する文法範囲判定部４０４とを有している。
【００４４】
ここで、構文解析部４０２、オブジェクトコード生成部４０３、文法範囲判定部４０４、ソースプログラム４０９、中間コード４１０、文法範囲４１３、オブジェクトコード４１４、警告４１５は、図１に示す実施の形態１のものと同様のものであり、回答入力部４０７，文法範囲決定部４０８，文法習得レベル判定問題ＤＢ（データベース）４１２は、図３に示す実施の形態２のものと同様のものである。
【００４５】
そして、上記文法習得レベル判定問題ＤＢ４１２は、開発者の文法習得レベルを判定するための問題を、種々の文法習得レベルに応じて、低レベルのものから高レベルのものまで格納したものである。
【００４６】
上記学習支援部４０５は、開発者が申告した文法習得レベルを示す情報に基づいて、文法レベルに対応した学習項目ＤＢ（データベース）４２０より、その入力された文法レベルに対応した学習教材を、抽出して出力し、かつ、開発者が、この学習教材（学習項目）を用いて学習を終了した項目である学習済み項目４１１を出力するものである。この学習済み項目４１１は、プログラム開発装置４０１におけるデータ記録部（図示せず）に一時的に記録される。
【００４７】
学習済み問題出力部４０６は、上記データ記録部に記録されている学習済み項目４１１に基づいて、文法習得レベル判定問題をデータベース４１２より抽出し出力するものである。
【００４８】
次に動作について説明する。
このプログラム開発装置４０１では、構文解析部４０２が、ソースプログラム４０９の入力を受け付けてから、警告４１５を出力するか、またはオブジェクトコード４１４を生成する処理は、実施の形態１と同様であるので、以下、文法範囲を決定する動作に重点をおいて説明する。
【００４９】
この実施の形態３のプログラム開発装置４０１では、ソースプログラム４０９をオブジェクトプログラムに翻訳する処理の前に、開発者の文法習得を支援する処理、及びこの支援を受けて開発者が習得した文法レベルに応じて文法範囲を決定する処理が行われる。
【００５０】
つまり、プログラム開発装置４０１が起動され、開発者が学習支援部４０５に対して自身の文法習得レベルを申告すると、学習支援部４０５は、開発者の文法習得レベルに対応した学習教材（学習項目）を、学習項目データベース４２０から出力する。開発者が、学習支援部４０５に対してアクセスを行い、上記出力された学習教材を用いて文法習得を行うと、学習支援部４０５は、開発者がこの学習を終了した学習項目である学習済み項目４１１を出力する。この学習済み項目４１１は、プログラム開発装置４０１におけるデータ記録部（図示せず）に一時的に記録される。
【００５１】
一方、学習済み問題出力部４０６は、上記データ記録部に記録されている学習済み項目４１１に基づいて、文法習得レベル判定問題を、文法習得レベル判定問題ＤＢ４１２より抽出して出力する。
【００５２】
そして、開発者が、問題出力部４０６により出力された問題に対する回答を、回答入力部４０７により入力すると、文法範囲決定部４０８は、上記データベース４１２より抽出，出力された文法習得レベル判定問題、および、これに対して回答入力部４０７より入力された回答に基づいて、開発者の文法習得レベルを判定する。つまり、この文法範囲決定部４０８は、開発者が、どのレベルの問題に対して正解ができたかによって、どのレベルの学習項目を学習し、かつそれを習得できているかを判断し、この開発者の習得レベルに対応して、文法範囲４１３を決定し設定する。
【００５３】
その後、ソースプログラム４０９が指定されると、構文解析部４０２は、ソースプログラム４０９を構文解析し、中間コード４１０を生成する。
【００５４】
すると、文法範囲判定部４０４は、中間コード４１０と、開発者の文法習得レベルに対応して設定された文法範囲４１３とを対照し、中間コード４１０が該文法範囲４１３内の文法規則によって記述されているかどうかを判定し、中間コード４１０が文法範囲４１３内でもって記述されたものでないと判定された場合は、警告４１５を出力する。そして、中間コード４１０を構成しているすべての文法項目が、文法範囲４１３内のものと判定された場合には、オブジェクトコード生成部４０３がオブジェクトコード４１４を生成する。
【００５５】
このことによって、実施の形態２で、問題出力部３０５が文法習得レベル判定問題ＤＢ３１０から任意に問題を出力するのと異なり、本実施の形態３では、学習済み問題出力部４０６によって、開発者が学習支援部４０５の支援を受けて学習した文法範囲の問題を出力することが可能となり、文法範囲４１３を開発者が学習した範囲に限定することが可能となる。
【００５６】
このように本実施の形態３では、開発者の文法習得のための学習を支援する学習支援部４０５と、開発者の学習した内容に応じた、開発者の文法習得レベル判定のための問題をデータベース４１２より抽出する学習済み問題出力部４０６とを備えたので、開発者の文法習得レベル判定のための問題は、開発者が学習した文法範囲のものに限定されることとなり、開発者がまだ学習していない問題に対して偶然に正しい回答を入力することによる、誤った文法範囲４１３の設定を防ぐことができる。
【００５７】
なお、上記実施の形態３では、学習支援部は、開発者の文法習得レベルを、開発者の自己申告により認識するものとしているが、学習支援部は、予め設定されている文法レベルに対応した学習教材を最初に出力し、この学習教材を用いた開発者の学習が完了したか否かを判定し、この判定結果によっては、出力する学習教材のレベルを変えて、該学習教材を用いた開発者の学習が完了したか否かの判定を繰り返し行い、その判定結果によって、開発者の文法習得レベルを認識するものであってもよい。
【産業上の利用可能性】
【００５８】
本発明は、様々な技術レベルの開発者によって構成されるプログラム開発のプロジェクトにおいて、それぞれの開発者が習得している文法の範囲のみを用いて意味的に正しいソースプログラムを作成することにより、開発者の習得していない文法を使用することによる誤ったオブジェクトコードの混入を防ぐことができるものであり、ソフトウェアの品質向上を図る上で有用なものである。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１によるプログラム開発装置の構成を示すブロック図である。
【図２】本発明の実施の形態１の動作を説明する図であり、ソースプログラムと開発者の文法習得レベルに対応した文法範囲とから、ソースプログラムが文法範囲を超えている場合には警告を、ソースプログラムが文法範囲を超えていない場合にはオブジェクトコードを出力する処理の流れを示している。
【図３】本発明の実施の形態２のプログラム開発装置の構成を示すブロック図である。
【図４】本発明の実施の形態３のプログラム開発装置の構成を示すブロック図である。
【符号の説明】
【００６０】
１０１，３０１，４０１  プログラム開発装置
１０２，３０１，４０２  構文解析部
１０３，３０３，４０３  オブジェクトコード生成部
１０４  文法範囲設定部
１０５，３０４，４０４  文法範囲判定部
１０６，３０８，４０９  ソースプログラム
１０７  開発者の文法習得レベルを示す情報
１０８，３１１，４１３  文法範囲
１０９，３０９，４１０  中間コード
１１０，３１２，４１４  オブジェクトコード
１１１，３１３，４１５  警告
３０５  問題出力部
３０６，４０７  回答入力部
３０７，４０８  文法範囲決定部
３１０  文法習得レベル判定問題ＤＢ
４０５  学習支援部
４０６  学習済み問題出力部
４２０  文法レベルに対応した学習項目ＤＢ
４１１  学習済み項目
４１２  文法習得レベル判定問題ＤＢ
【図１】
2006215834.tif 000003
【図２】
2006215834.tif 000004
【図３】
2006215834.tif 000005
【図４】
2006215834.tif 000006