JP7631667B2 - Information processing device, inspection method, inspection program, and server - Google Patents
Information processing device, inspection method, inspection program, and server Download PDFInfo
- Publication number
- JP7631667B2 JP7631667B2 JP2020051540A JP2020051540A JP7631667B2 JP 7631667 B2 JP7631667 B2 JP 7631667B2 JP 2020051540 A JP2020051540 A JP 2020051540A JP 2020051540 A JP2020051540 A JP 2020051540A JP 7631667 B2 JP7631667 B2 JP 7631667B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- program
- program code
- syntax
- input
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置、検査方法、検査プログラム、およびサーバに関する。 The present invention relates to an information processing device, an inspection method, an inspection program, and a server.
従来、プログラムの開発を支援するために、コーディングされたプログラムの構文を検査し、構文にエラーがあれば報知する構文検査プログラムが知られている。構文検査プログラムは、例えば、プログラム言語に応じて用意されており、代表的な構文検査プログラムとしてインタプリタ、コンパイラなどがある。例えば、インタプリタは、プログラムの実行指示が入力されると、実行対象のプログラムの構文を検査する。インタプリタは、構文検査の結果、構文エラーが検出されなければ、次に実行エラーの検査を行い、実行エラーも検出されなければプログラムを実行し、実行結果を出力する。 Conventionally, syntax checking programs are known that check the syntax of a coded program and notify the user of any errors in the syntax in order to support program development. Syntax checking programs are prepared, for example, according to the programming language, and representative syntax checking programs include interpreters and compilers. For example, when an instruction to execute a program is input, an interpreter checks the syntax of the program to be executed. If no syntax errors are detected as a result of the syntax check, the interpreter then checks for execution errors, and if no execution errors are detected, it executes the program and outputs the execution results.
これに関し、プログラムの構文上の誤りを検査することに関連する技術が知られている(例えば、特許文献1)。 In this regard, there is known technology related to checking for syntactic errors in programs (for example, Patent Document 1).
ところで、構文エラーを検査するタイミングとしては、必ずしも、ユーザがプログラムの実行指示を入力した場合に限られる必要はないと考えられる。しかしながら、ユーザにとって好ましいタイミングで構文の検査を実行することのできる技術はなかった。 The timing of syntax error checking does not necessarily have to be limited to when the user inputs an instruction to run a program. However, there was no technology that could perform syntax checking at a time that was convenient for the user.
1つの側面では、本発明は、ユーザにとって好ましいタイミングで構文の検査を実行することを目的とする。 In one aspect, the present invention aims to perform syntax checking at a time that is convenient for the user.
本発明の一つの態様の一実施形態に係る情報処理装置は、表示画面に表示されるプログラムを編集するための操作の入力を受け付ける受付部と、前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査部と、を含み、前記検査部は、前記ある行のプログラムコードが第1の条件を満たす文字列を含む場合、前記ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを前記ある行のプログラムコードに追加してから、前記構文検査を実行する第1制御、または、前記ある行のプログラムコードが第2の条件を満たす文字列を含む場合、前記ある行のプログラムコードを編集してから、前記構文検査を実行する第2制御、の少なくとも何れか一方を実行する。
また、本発明の一つの態様の一実施形態に係る情報処理装置は、表示画面に表示されるプログラムを編集するための操作の入力を受け付ける受付部と、前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査部と、を含み、前記プログラムの編集を受け付ける編集モードと、前記プログラムを実行する実行モードとを含む動作モードで動作する情報処理装置であって、前記検査部は、前記編集モードでの動作中に、前記注目行変更操作が前記受付部に入力された場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行し、前記構文検査でエラーが検出された場合、前記編集モードで動作したまま、前記ある行に記述されたプログラムコードの編集を許容し、前記ある行に記述された前記プログラムコードが編集されてから前記受付部に前記注目行変更操作が再入力された場合、前記ある行に記述された編集後の前記プログラムコードを対象とする前記構文検査を再度実行する。
An information processing device according to one embodiment of one aspect of the present invention includes a reception unit that receives input for an operation to edit a program displayed on a display screen, and an inspection unit that, when the reception unit receives input for a focus line change operation to change a focus line from a certain line in the program to another line, performs a syntax check to check for syntax errors on the program code written in the certain line, wherein the inspection unit executes at least one of a first control in which, when the program code of the certain line includes a string that satisfies a first condition, program code of a line that satisfies a predetermined condition and is located before or after the program code of the certain line is added to the program code of the certain line, and then performs the syntax check, or a second control in which, when the program code of the certain line includes a string that satisfies a second condition, the program code of the certain line is edited and then performs the syntax check .
In addition, an information processing device according to one embodiment of one aspect of the present invention includes a reception unit that receives input of an operation for editing a program displayed on a display screen, and an inspection unit that, when the reception unit receives input of a focus line change operation that changes a focus line from a certain line in the program to another line, performs a syntax check to check for syntax errors on the program code written in the certain line, and operates in an operating mode including an edit mode in which editing of the program is accepted, and an execution mode in which the program is executed, wherein, when the focus line change operation is input to the reception unit while operating in the edit mode, the inspection unit performs a syntax check on the program code written in the certain line, and if an error is detected in the syntax check, the inspection unit allows editing of the program code written in the certain line while still operating in the edit mode, and when the focus line change operation is re-input to the reception unit after the program code written in the certain line is edited, it re-executes the syntax check on the edited program code written in the certain line.
ユーザにとって好ましいタイミングで構文の検査を実行することができる。 Syntax checking can be performed at a time that is convenient for the user.
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。 Several embodiments of the present invention will be described in detail below with reference to the drawings. Note that the same reference numerals are used to designate corresponding elements in multiple drawings.
図1は、実施形態に係る情報処理装置100の一例を示す図である。図1では、関数電卓が情報処理装置100として例示されている。図1の例では情報処理装置100は、ファンクションキー(例えば、F1~F6)、関数キー、数字キー、四則演算キー、その他の機能を有する各種のキー101を含む。また、キー101は、例えば、カーソルで示される入力位置や、入力対象の行などの注目行を移動させるための移動キー102と、電卓による演算の実行を指示するためのEXEキー103とを含む。なお、情報処理装置100は、例えば、プログラムの作成および編集の操作入力を受け付ける編集モードおよびプログラムを実行するための実行モードで動作してよい。EXEキー103は、例えば、編集モードにおいて改行コードを入力するキーとして用いられてよい。
FIG. 1 is a diagram showing an example of an
表示画面105は、文字や画像を表示する画面であってよく、情報処理装置100は表示画面105にプログラムの編集画面や実行画面を表示してよい。
The
なお、情報処理装置100は、図1に例示した関数電卓に限定されるものではない。情報処理装置100は、例えば、パーソナルコンピュータ(PC)、モバイルPC、タブレット端末、スマートフォン、携帯電話機、サーバなどのプログラムの編集機能および実行機能などを備えるその他の装置であってもよい。
The
図2は、実施形態に係る情報処理装置100のブロック構成を例示する図である。情報処理装置100は、例えば、制御部201、記憶部202、表示部203、および入力部204を含む。制御部201は、例えば、受付部211および検査部212などを含み、またその他の機能部を含んでもよい。記憶部202は、例えば、構文検査プログラム、および後述する動作フローの手順を記述したプログラムなどの情報を記憶している。表示部203は、例えば、ディスプレイなどの情報を表示する装置である。表示部203は、例えば、制御部201の指示に従って表示画面105に情報を表示する。入力部204は、例えば、ユーザからの入力を受け付ける装置である。入力部204は、一例では、キー101であってよく、また、タッチパネルなどのその他の入力装置であってもよい。これらの各部の詳細および記憶部202に格納されている情報の詳細については後述する。
2 is a diagram illustrating a block configuration of the
図3は、実施形態に係る情報処理装置100が動作する編集モードおよび実行モードの例を説明する図である。図3に示すように、情報処理装置100は、プログラミングのための動作モードとして、プログラムの編集を受け付ける編集モードと、プログラムを実行する実行モードとを含んでいる。
Figure 3 is a diagram illustrating examples of edit modes and execution modes in which the
編集モードでは、制御部201は、プログラムを編集するための操作の入力を受け付け、ユーザは例えば情報処理装置100のキー101を操作することで、プログラムを入力することができる(図3(1))。また、編集モードにおいて作成されたプログラムに対して実行指示が入力されると、モードの切り替えが行われ実行モードへと遷移する(図3(2))。
In the edit mode, the
実行モードでは、制御部201は、まずプログラムの構文検査を実行し、プログラムに構文エラー(シンタックスエラー)が存在しないかをチェックする(図3(3))。また、プログラムに構文エラーが含まれていない場合、制御部201は、次にプログラムの実行エラーを検査する(図3(4))。
In the execution mode, the
そして、構文検査および実行エラーの検査の結果、エラーが含まれている場合には、制御部201は、エラーの内容を表示画面105に表示させる(図3(5))。一方、プログラムにエラーが含まれていない場合には、制御部201は、プログラムの実行結果を表示画面105に表示させる(図3(5))。そして、実行モードにおいて編集モードへの切り替え指示が入力されると(図3(6))、制御部201は、モードを編集モードへと遷移させる。
If the syntax check and execution error check reveal that an error is present, the
この様に、情報処理装置100において編集モードと実行モードとを切り替えることで、ユーザはプログラムを作成したり、その実行結果を確かめたりすることができる。
In this way, by switching between edit mode and execution mode on the
また更に、実施形態では制御部201は、編集モードにおいても構文の検査を行う。例えば、ユーザがプログラムを作成中に、プログラム内のある行から別の行に注目行を変更する操作の入力を行ったとする。この場合に、制御部201は、ある行から別の行に注目行を変更する注目行変更操作の入力を検出し(図3(7))、編集モードにおいて構文の検査を実行してよい(図3(8))。そして、構文エラーが検出された場合には、制御部201は、構文エラーの内容を表示画面105に表示する(図3(9))。
Furthermore, in an embodiment, the
なお、プログラム内のある行から別の行に注目行を変更する注目行変更操作は、一例では、カーソルを別の行に移動させるカーソル移動操作であってよい。以下では、プログラム内のある行から別の行に注目行を変更する注目行変更操作として、カーソルを別の行に移動させる操作を例に説明を行う。ここで、カーソルを別の行に移動させる操作は、例えば、カーソルの位置を上の行に移動させる「↑」、または下の行に移動させる「↓」のなどの移動キー102による移動を指示する操作を含んでよい。また、カーソルを別の行に移動させる操作は、例えば、改行コードを入力する操作を含んでよい。更に、カーソルを別の行に移動させる操作は、例えば、カーソルを先頭や末尾の行に移動させるショートカットキーの入力操作や、文字列の検索などによりカーソルを移動させる操作などを含んでよい。この場合に、制御部201は、行移動の操作の入力を検出し(図3(7))、編集モードにおいて構文の検査を実行してよい(図3(8))。そして、構文エラーが検出された場合には、制御部201は、構文エラーの内容を表示画面105に表示する(図3(9))。
In addition, the line change operation for changing the line of interest from one line in a program to another line may be, for example, a cursor movement operation for moving the cursor to another line. In the following, an operation for moving the cursor to another line will be described as an example of a line change operation for changing the line of interest from one line in a program to another line. Here, the operation for moving the cursor to another line may include, for example, an operation for instructing movement by the
なお、この場合の構文の検査の対象は、一例では、カーソルを別の行に移動させる操作が入力された際のカーソルの移動元の行であってよい。例えば、ユーザがプログラムコードの入力を行った場合、カーソルを別の行に移動させる操作を入力するのは、ユーザがその行のプログラムコードの入力が完了したと判断したタイミングであることが多い。そのため、上述のように、カーソルを別の行に移動させる操作の入力を検出し、そのタイミングでカーソルの移動元の行の構文を検査することで、ユーザが入力を完了したばかりの行に対して構文の検査を実行することができる。そして、構文エラーが存在する場合には構文エラーを報知することができる。そのため、ユーザは自らの入力内容と、構文エラーの結果とを対応づけて認識し易く、プログラミングの学習効果の高いタイミングで、自身のプログラミングのミスを認識することができる。また、この様にカーソルの移動元の行のプログラムコードを抽出して構文検査を実行することで、構文検査の実行にかかる処理負荷を低減しつつも、入力が行われた行を効率的に検査することができる。 In this case, the target of syntax checking may be, for example, the line from which the cursor was moved when an operation to move the cursor to another line was input. For example, when a user inputs program code, the operation to move the cursor to another line is often input at the timing when the user determines that input of the program code for that line is complete. Therefore, as described above, by detecting the input of the operation to move the cursor to another line and checking the syntax of the line from which the cursor was moved at that timing, syntax checking can be performed on the line that the user has just completed inputting. If a syntax error exists, the syntax error can be notified. Therefore, the user can easily recognize the correspondence between the contents of his/her input and the result of the syntax error, and can recognize his/her programming mistake at a timing when the learning effect of programming is high. In addition, by extracting the program code of the line from which the cursor was moved and performing syntax checking in this way, the processing load required for executing syntax checking can be reduced while efficiently checking the line where input was performed.
なお、構文検査を実行する別のタイミングの例として、所定時間、文字入力等の操作が行われないと自動的に構文検査を実行することも考えられる。しかしながら、このようなタイミングで構文検査を実行すると、ユーザが1行のプログラムコードの入力を完了していないタイミングでも時間が来れば構文検査を実行してしまう。この場合、1行の入力がまだ完了していないので、構文エラーが報知されてしまうが、そのようなエラーが発生して当然とユーザが認識しているような状況でエラーを報知してもユーザにとって学習効果は望めない。更には、そうしたエラーが発生して当然の状況でのエラー報知を頻繁に繰り返すと、本来ユーザが認識すべきエラー報知に対する関心も薄れてしまい、学習効果の低下を招いてしまう恐れもある。更には、時間が経過すれば構文検査を実行することになるため、必要以上に構文検査を実行することになり、処理負荷を不要に増大させてしまうことにもなる。 As another example of the timing for executing a syntax check, it is possible to automatically execute a syntax check if no operations such as character input are performed for a certain time. However, if a syntax check is executed at such a timing, the syntax check will be executed when the time comes even if the user has not yet completed inputting one line of program code. In this case, since the input of one line has not yet been completed, a syntax error will be notified, but if an error is notified in a situation where the user recognizes that such an error should occur, there is no hope of learning from the user. Furthermore, if an error notification is frequently repeated in a situation where such an error should occur, the user will lose interest in the error notification that he or she should recognize, and there is a risk that this will lead to a decrease in the learning effect. Furthermore, since a syntax check will be executed after a certain time has passed, a syntax check will be executed more than necessary, which will unnecessarily increase the processing load.
また、構文検査を実行する更に別のタイミングとして、例えば、構文検査を実行するためのショートカットキーなどを設定しておき、ユーザが所望のタイミングで構文検査を実行することも考えられる。しかしながら、このようにユーザに構文検査の実行を任せてしまうと、慣れてくるとユーザが構文検査の実行を怠ることも起こり得る。そのため、ユーザにとって好ましいタイミングで構文検査を実行することができる更なる技術の提供が望まれている。 As another alternative timing for executing syntax check, for example, a shortcut key for executing syntax check can be set, allowing the user to execute syntax check at a time of their choice. However, if execution of syntax check is left to the user in this way, it is possible that the user may become accustomed to it and neglect to execute syntax check. For this reason, there is a need for further technology that allows syntax check to be executed at a time preferred by the user.
上述したように、実施形態では、カーソルを別の行に移動させる所定の操作が入力された場合に、構文検査を実行する。そのため、ユーザが構文検査の実行を意識しなくても学習効果の高い適切なタイミングで構文検査を実行することができる。また、実施形態によれば、例えば、ユーザの1行のプログラムコードの入力を完了し、行移動操作を入力したタイミングなどで構文検査が実行される。そのため、自動的に構文の検査を実行するような場合と比較して、処理負荷を抑えつつ、適切な回数で効率的に構文検査を実行することができる。例えば、関数電卓などの情報処理装置100では、処理能力が非力であることもある。そのような場合にも、処理負荷を抑えて適切なタイミングで構文検査を実行することができ、ユーザは処理遅延等を意識せずにプログラミングを行い、構文検査の結果の報知を受けることができる。
As described above, in the embodiment, a syntax check is performed when a predetermined operation to move the cursor to another line is input. Therefore, even if the user is not aware of the execution of the syntax check, the syntax check can be performed at an appropriate timing that is effective for learning. Also, according to the embodiment, for example, the syntax check is performed when the user completes input of one line of program code and inputs a line movement operation. Therefore, compared to the case where the syntax check is automatically performed, the syntax check can be performed efficiently at an appropriate number of times while suppressing the processing load. For example, the
なお、構文検査は、例えば、制御部201が、構文検査の対象とする領域のプログラムコードを構文検査プログラムにかけることで実行されてよい。構文検査プログラムは、例えば、インタプリタ、コンパイラなどを含んでよい。プログラムの構文は、プログラミング言語に応じて異なり得るため、構文検査プログラムは、プログラミング言語に応じて用意されてよい。以下ではプログラミング言語が、Pythonである場合を例に説明を行うが、実施形態で利用可能なプログラミング言語はPythonに限定されるものではなく、C言語、Perlなどその他の言語を用いる場合にも適用することもできる。
Syntax checking may be performed, for example, by the
続いて、実施形態に係るカーソルの行移動操作が入力された場合における構文検査の実行について更に説明する。上述のように、一実施形態ではカーソルの行移動操作が入力された場合、そのカーソルの移動元の行のプログラムコードに構文検査を実行する。この様にカーソルの移動元の行のプログラムコードを抽出して構文検査を実行することで、構文検査の実行にかかる処理負荷を低減しつつも、入力が行われた行を効率的に検査することができる。 Next, the execution of syntax checking when a cursor line movement operation is input according to the embodiment will be further explained. As described above, in one embodiment, when a cursor line movement operation is input, a syntax check is performed on the program code of the line from which the cursor was moved. By extracting the program code of the line from which the cursor was moved and performing a syntax check in this way, the processing load for executing the syntax check can be reduced while efficiently checking the line on which the input was performed.
しかしながら、例えば、プログラムコードの構文検査を実行する場合に、プログラムコードに記述される命令によっては、構文検査プログラムが、その前の行または後の行のプログラムコードを参照することがある。そして、例えば、このように構文の検査において、構文検査プログラムが、複数行にわたるプログラムコードを参照する場合、1行のプログラムコードのみを抽出して構文検査にかけると、プログラムの全体で構文検査を実行すれば構文エラーとならない場合にも、構文エラーと判定されてしまうことがある。 However, for example, when performing a syntax check on program code, depending on the instructions written in the program code, the syntax check program may refer to the previous or following line of program code. And, for example, when a syntax check program refers to multiple lines of program code in a syntax check like this, if only one line of program code is extracted and subjected to syntax checking, it may be determined to be a syntax error even if running a syntax check on the entire program would not result in a syntax error.
そのため、実施形態では制御部201は、カーソルの移動元の行のプログラムコードが、構文検査において複数行にわたるプログラムコードの参照が行われる命令などを示す所定の文字列を含む場合、プログラムコードを加工してから構文検査にかける。なお、文字列とは、例えば、1文字以上の文字および記号、並びに改行コードなどのコードが並んだ構造のデータであってよい。
Therefore, in an embodiment, if the program code on the line from which the cursor is moved contains a specific character string indicating an instruction that references program code across multiple lines in a syntax check, the
カーソルの移動元の行のプログラムコードに実行される加工の種類としては、例えば、以下が挙げられる。
(1)カーソルの移動元の行より前の行または後の行のプログラムコードを取得して追加
(2)カーソルの移動元の行のプログラムコードを編集
Examples of the types of processing that can be performed on the program code of the line from which the cursor is moved include the following:
(1) Get and add the program code of the line before or after the line from which the cursor is moved. (2) Edit the program code of the line from which the cursor is moved.
以上の編集の種類について、以下にプログラム言語がPythonである場合を例に説明する。 The above types of editing are explained below using Python as an example programming language.
(1)カーソルの移動元の行より前の行または後の行のプログラムコードを取得して追加
カーソルの移動元の行のプログラムコードが、第1の条件を満たす文字列を含む場合、制御部201は、カーソルの移動元の行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを取得する。そして、制御部201は、取得したプログラムコードを、カーソルの移動元の行のプログラムコードに追加してから、構文検査プログラムに処理させることで構文エラーを検査する。それにより、構文検査プログラムは、前の行または後の行のプログラムコードの情報を参照して構文検査を実行することができ、カーソルの移動元の行のプログラムコードを抽出したことに起因する構文エラーの発生を回避することができる。
(1) Obtaining and adding program code from a line before or after the line from which the cursor is moved If the program code of the line from which the cursor is moved contains a character string that satisfies a first condition, the
なお、第1の条件は、例えば、構文検査の際に前の行または後の行の情報を参照する命令を検出する条件であってよい。例えば、Pythonでは、「else」、「elif」、「break」、「return」および「continue」などの文字列を含む行の構文検査では、前の行のプログラムコードの情報が参照される。この場合、前の行のプログラムコードの情報が無いと、構文エラーと判断されてしまう。そのため、カーソルの移動元の行のプログラムコードが、例えば、「else」、「elif」、「break」、「return」および「continue」などの文字列を含む場合、制御部201は、移動元の行よりも前に位置するプログラムコードのうちから、インデントの数が合致する直近の行までのプログラムコードを取得する。制御部201は、取得したプログラムコードを、カーソルの移動元の行のプログラムコードに追加してから、構文検査プログラムに処理させることで構文エラーを検査してよい。
The first condition may be, for example, a condition for detecting an instruction that refers to information on a previous or subsequent line during syntax checking. For example, in Python, when checking a line that contains character strings such as "else", "elif", "break", "return", and "continue", the information on the program code on the previous line is referenced. In this case, if there is no information on the program code on the previous line, it will be determined to be a syntax error. Therefore, if the program code on the line from which the cursor is moved contains character strings such as "else", "elif", "break", "return", and "continue", the
例えば、カーソルの移動元の行のプログラムコードが「else」を含む場合、制御部201は、「else」のインデントの数と同じ数でインデントされている直近の行を探索し、同じ数でインデントされているif文の「if」などを含む行を特定する。そして、制御部201は、特定した「if」の行から「else」の行までのプログラムコードを構文検査プログラムにかけてよい。
For example, if the program code of the line from which the cursor is moved contains "else," the
なお、ここでは、カーソルのある行より前の行のプログラムコードを取得してカーソルの移動元の行のプログラムコードに追加する場合を例示したが、実施形態はこれに限定されるものではない。例えば、カーソルの移動元の行のプログラムコードが、構文検査においてカーソルの移動元の行よりも後の行のプログラムコードが参照される命令を含むとする。この場合、制御部201は、後の行のプログラムコードを、カーソルの移動元の行のプログラムコードに追加してから、構文検査プログラムに処理させることで構文エラーを検査してよい。この場合、制御部201は、例えば、カーソルの移動元の行の後の行を探索し、探索で見つかったインデントの数が一致している直近の行の1つ前の行までのプログラムコードを取得してカーソルの移動元の行のプログラムコードに追加し、構文検査にかけてよい。それにより、構文検査プログラムは、後の行のプログラムコードの情報を参照して構文検査を実行することができ、カーソルの移動元の行のプログラムコードを抽出したことに起因する構文エラーの発生を回避することができる。
Here, the case where the program code of the line before the line where the cursor is located is obtained and added to the program code of the line from which the cursor is moved is exemplified, but the embodiment is not limited to this. For example, the program code of the line from which the cursor is moved includes an instruction that references the program code of the line after the line from which the cursor is moved in the syntax check. In this case, the
(2)カーソルの移動元の行のプログラムコードを編集
カーソルの移動元の行のプログラムコードの編集は、例えば、カーソルの移動元の行のプログラムコードへの文字列の追加、削除、および置換などを含んでよい。
(2) Editing the program code of the line from which the cursor is moved Editing the program code of the line from which the cursor is moved may include, for example, adding, deleting, and replacing character strings in the program code of the line from which the cursor is moved.
例えば、Pythonでは、「if」、「for」、および「def」といった命令を用いて複合文を記述する場合に、同じブロックでは行頭のインデントの数を揃える決まりがある。しかしながら、行頭に空白がある行のみを抽出して構文検査にかけると、構文検査プログラムは、構文エラーと判断してしまう。そのため、実施形態では制御部201は、カーソルの移動元の行のプログラムコードの行頭に空白が含まれる場合、行頭の空白を削除してから、カーソルの移動元の行のプログラムコードを構文検査プログラムにかけてよい。それにより、カーソルの移動元の行のプログラムコードの行頭がインデントされている場合に、カーソルの移動元の行のプログラムコードを抽出したことに起因して構文検査プログラムが構文エラーを検出してしまうことを回避することができる。
For example, in Python, when writing a compound statement using commands such as "if", "for", and "def", it is a rule that the number of indents at the beginning of lines in the same block must be the same. However, if only lines with spaces at the beginning of the lines are extracted and subjected to syntax checking, the syntax checking program will determine that there is a syntax error. Therefore, in an embodiment, if the program code of the line from which the cursor is moved contains spaces at the beginning of the line, the
なお、上述の(1)で述べたように、インデントの数に基づいて、カーソルの移動元の行よりも前の行または後の行のプログラムコードを取得し、カーソルの移動元の行のプログラムコードに追加する場合、制御部201は、カーソルの移動元の行とインデントの数が一致した追加するプログラムコードのインデントも削除してよい。
As described in (1) above, when program code of a line before or after the line from which the cursor is moved based on the number of indents and is added to the program code of the line from which the cursor is moved, the
また、上述のように構文検査プログラムが、構文エラーの判定の際に他の行のプログラムコードを参照することがある。この場合に、カーソルの移動元の行のプログラムコードに、参照先として機能する所定の文字列などを追加することで、構文エラーを回避することもできる。例えば、Pythonでは、「if」、「for」、および「def」などの命令を用いて複合文を記述する場合、次の行にブロックが続くときには行末に「:」を記載する決まりがある。そのため、例えば、カーソルの移動元の行のプログラムコードの行末が「:」である場合、構文検査において構文検査プログラムがカーソルの移動元の行のプログラムコードよりも後の行のプログラムコードを参照すると判定することができる。この場合に、実施形態では制御部201は、カーソルの移動元の行のプログラムコードを編集してよい。例えば、制御部201は、カーソルの移動元の行の行末が「:」である場合、「:」の後にブロックの中身として「pass」などを追加することで、構文エラーを回避してよい。それにより、追加した「pass」以外の行内の構文を検査することができる。
As described above, the syntax check program may refer to the program code of another line when determining whether there is a syntax error. In this case, a syntax error can be avoided by adding a specified character string that functions as a reference to the program code of the line from which the cursor is moved. For example, in Python, when describing a compound statement using commands such as "if", "for", and "def", if a block continues on the next line, a ":" must be written at the end of the line. Therefore, for example, if the program code of the line from which the cursor is moved ends with a ":", it can be determined that the syntax check program refers to the program code of the line after the program code of the line from which the cursor is moved in the syntax check. In this case, in the embodiment, the
なお、例えば、「if」、「for」、および「def」の他にも、「else」および「elif」などの場合にも、プログラムコードの行末に「:」が記載されることがある。この場合にも同様に、制御部201は、行末に「pass」を追加することで、構文エラーを回避してよい。また、上述の(1)で述べたように、制御部201は、カーソルの移動元の行よりも後の行のプログラムコードを取得して、カーソルの移動元の行のプログラムコードに追加し、構文エラーを回避してもよい。
Note that, for example, in addition to "if", "for", and "def", "else" and "elif" may also have a ":" at the end of the line of the program code. In this case as well, the
以上で述べたように、実施形態では制御部201は、カーソルの移動元の行のプログラムコードを加工することで、カーソルの移動元の行のプログラムコードを抽出したことに起因する構文エラーを回避してよい。
As described above, in an embodiment, the
以下、実施形態に係る構文検査処理の動作フローを説明する。図4は、実施形態に係る構文検査処理の動作フローを例示する図である。例えば、制御部201は、編集モードに遷移すると、図4の動作フローを開始してよい。
The operation flow of the syntax check process according to the embodiment will be described below. FIG. 4 is a diagram illustrating an example of the operation flow of the syntax check process according to the embodiment. For example, when the
ステップ401(以降、ステップを“S”と記載し、例えば、S401と表記する)において制御部201は、編集モードで開かれたファイルの全文の構文検査を実行する。例えば、過去に作成されたファイルなどを開いた場合には、編集モードで開かれたファイルに既にプログラムコードが記述されていることがある。このような場合に、制御部201は、開かれたファイルに記述されているプログラムコードの構文エラーを検査してよい。
In step 401 (hereinafter, step will be abbreviated as "S", e.g., S401), the
S402において制御部201は、構文検査プログラムによる検査の結果、検査対象に構文エラーが含まれているか否かを判定する。構文エラーが含まれていない場合(S402がNO)、フローはS404に進む。一方、構文エラーが含まれている場合(S402がYES)、フローはS403に進み、制御部201は、構文エラーの検査結果を表示部203の表示画面105に表示し、ユーザに構文エラーを報知する。例えば、制御部201は、プログラムにおいて構文エラーが最初に見つかった行と、その構文エラーの内容とを表示画面105に表示してよい。また、制御部201は、プログラムにおいて構文エラーが最初に見つかった行にカーソルを移動させてよい。制御部201が、構文エラーの検査結果を表示すると、フローはS404に進む。
In S402, the
S404において制御部201は、ユーザからの入力を受け付ける。例えば、ユーザは、情報処理装置100に備えられたキー101などの入力部204を介して操作を入力し、プログラムの編集を行ってよい。ユーザからの入力を受け付けると、フローはS405に進む。
In S404, the
S405において制御部201は、入力された操作が、カーソルをプログラムの別の行に移動させる所定の行移動の操作であるか否かを判定する。所定の行移動の操作は、例えば、カーソルの位置を上または下に移動させる操作の入力、改行コードの入力、カーソルを先頭行や末尾行に移動させるショートカットキーによる入力、検索による行移動の入力などのうちの少なくとも1つを含んでよい。入力が所定の行移動の操作でない場合(S405がNO)、フローはS415に進む。S415において制御部201は、入力された操作を実行し、その後、フローはS404に戻って処理を繰り返す。一方、入力が所定の行移動の操作である場合(S405がYES)、フローはS406に進む。
In S405, the
S406において制御部201は、所定の行移動の操作が入力された際のカーソルの移動元の行のプログラムコードを取得する。
In S406, the
S407では制御部201は、移動元の行のプログラムコードが第1の条件を満たす文字列を含むか否かを判定する。なお、第1の条件は、例えば、構文検査の際に前の行または後の行の情報が参照される命令を検出する条件であってよい。移動元の行のプログラムコードが第1条件を満たす文字列を含まない場合(S407がNO)、フローはS409に進む。一方、移動元の行のプログラムコードが第1条件を満たす文字列を含む場合(S407がYES)、フローはS408に進む。S408において制御部201は、構文検査で参照される前の行または後の行のプログラムコードを、移動元の行のプログラムコードに追加し、フローはS409に進む。
In S407, the
例えば、プログラム言語がPythonであれば、検査対象の行のプログラムコードが「else」、「elif」、「break」、「return」および「continue」などを含む場合、構文検査において構文検査プログラムは前の行の情報を参照する。一例として、検査対象の行のプログラムコードが「else」や「elif」などを含めば、構文検査において構文検査プログラムは、その「else」や「elif」と対応する「if」が前にあるかなどを検査する。そのため、制御部201は、例えば、検査対象の行のプログラムコードに「else」や「elif」などの文字列が含まれる場合、その「else」や「elif」に付されたインデントの数と一致するインデント数を有する直近の「if」を含む行までのプログラムコードを抽出してよい。同様に、検査対象の行のプログラムコードに、例えば、「break」、「return」および「continue」などの文字列が含まれる場合にも、制御部201は、構文検査において参照される前の行の範囲を、インデントの数や複合文のブロックなどの情報に基づいて特定し、その範囲のプログラムコードを取得してよい。
For example, if the program language is Python, and the program code of the line to be inspected includes "else", "elif", "break", "return", and "continue", the syntax inspection program refers to the information of the previous line in the syntax inspection. As an example, if the program code of the line to be inspected includes "else" or "elif", the syntax inspection program checks whether there is an "if" preceding the "else" or "elif" that corresponds to the "else" or "elif". Therefore, for example, if the program code of the line to be inspected includes a character string such as "else" or "elif", the
続いて、S409において制御部201は、移動元の行のプログラムコードが、第2の条件を満たす文字列を含むか否かを判定する。なお、第2の条件は、例えば、構文検査の際に行内のプログラムコードに編集が必要になる文字列を検出する条件であってよい。例えば、移動元の行のプログラムコードが、第2の条件を満たす文字列を含まない場合(S409がNO)、フローはS411に進む。一方、例えば、移動元の行のプログラムコードが、第2の条件を満たす文字列を含む場合(S409がYES)、フローはS410に進む。S410において制御部201は、行内の文字列を編集し、フローはS411に進む。
Next, in S409, the
なお、行内の文字列に編集が必要となる命令を検出するための第2の条件としては、上述のようにプログラム言語がPythonであれば、行末が「:」であることを含んでよい。この場合、制御部201は、行末の「:」の後ろに、「pass」を追加してよい。或いは、第2の条件は、検査対象の行のプログラムコードが行頭に空白を含むことであってよく、この場合、制御部201は、行頭の空白を削除する。なお、行頭の空白を削除する場合に、例えば、S408の処理で検査対象の行のプログラムコードとして複数行が抽出されている場合には、制御部201は、カーソルの移動元の行のプログラムコードと一致するインデント数を有する他の行の行頭の空白も削除してよい。
The second condition for detecting an instruction that requires editing of a character string in a line may include a ":" at the end of the line if the programming language is Python as described above. In this case, the
そして、S411において制御部201は、検査対象の行のプログラムコードに構文検査を実行する。検査対象の行のプログラムコードは、例えば、S407およびS409の両方においてNOと判定された場合には、カーソルの移動元の行のプログラムコードであってよい。一方、S408およびS410の少なくとも一方の処理において、移動元の行のプログラムコードが加工されている場合には、制御部201は、加工後のプログラムコードを検査対象の行のプログラムコードとして構文検査を実行してよい。
Then, in S411, the
そして、S412において構文エラーがない場合(S412がNO)、フローはS413に進む。S413において制御部201は、S404で入力された行移動の操作と対応する位置にカーソルを移動し、フローはS404に戻る。一方、S412において構文エラーがある場合(S412がYES)、フローはS414に進む。S414において制御部201は、検出された構文エラーを表示画面105に表示し、フローはS404に戻る。なお、この場合、移動元の行に構文エラーが含まれることが推定されるため、制御部201は、S404で入力された行移動の操作を実行せず、カーソル位置を移動元の行に表示させたままとしてよい。
If there is no syntax error in S412 (NO in S412), the flow proceeds to S413. In S413, the
例えば、以上で述べたように、図4の動作フローによれば、制御部201は、カーソルをプログラムの別の行に移動させる所定の行移動の操作が入力された場合に、移動元の行のプログラムコードを対象とする構文検査を実行することができる。
For example, as described above, according to the operational flow of FIG. 4, when a predetermined line movement operation that moves the cursor to another line of the program is input, the
図5は、実施形態に係るエラー表示を含む表示画面500を例示する図である。表示画面500は、例えば、S414において情報処理装置100の表示部203の表示画面105に表示されてよい。図5(a)の例では、表示画面500は、編集領域501とカーソル502とを含む。編集領域501は、例えば、プログラムの編集が行われる表示領域である。また、カーソル502は、例えば、編集領域501におけるプログラムの編集位置を示す。図5(a)の例では表示画面500には、全行数が3行のPythonのプログラムが表示されている。そして、3行目のプログラムコードの末尾にカーソル502が表示されている。
FIG. 5 is a diagram illustrating a
ここで、例えば、ユーザが情報処理装置100のEXEキー103を押して改行コードを入力するなどし、カーソル502を別の行に移動させる操作を入力したとする。この場合、図4の動作フローで述べたように、制御部201は、3行目のプログラムコードの構文検査を実行する。そして、図5(a)の例では、3行目のプログラムコードは末尾の「)」と対応する「(」が存在しないため、構文検査プログラムにより構文エラーと判定され、構文エラーが検出されたことを示すエラー情報503として「×」が表示されている。また、図5(a)の例では、エラーが検出された行を示すエラー行504として行番号:003が表示されている。そのため、ユーザは現在入力していた3行目のプログラムコードに構文エラーが存在することを、行移動の操作を入力したタイミングで知ることができる。
Now, for example, suppose that the user presses the
このように、ユーザが1行のまとまったプログラムコードの入力が完了したと判断したタイミングで構文検査を行い、ユーザに報知することで、ユーザは入力したばかりのプログラムコードに存在する構文エラーを知ることができる。そのため、高い学習効果を期待することができる。 In this way, a syntax check is performed when the user determines that they have finished inputting a line of program code, and the user is notified. This allows the user to know about any syntax errors that exist in the program code they have just input. This is expected to have a high learning effect.
なお、図5(a)に示すように、構文エラーが検出された場合、制御部201は、入力された移動操作と対応するカーソル502の移動を取り消すなどして、移動操作が入力された際の移動元の行内にカーソルを表示したままとしてよい。それにより、ユーザはエラーが検出された行のプログラムコードを即座に修正することができる。
As shown in FIG. 5(a), when a syntax error is detected, the
一方で、構文エラーが検出されなかった場合には、制御部201は、入力された移動操作と対応するカーソル502の移動を実行する。それにより、ユーザは正しい構文でプログラムを入力した場合には、構文検査が実行されたことを意識せずにプログラミングを継続することができる。
On the other hand, if no syntax error is detected, the
また、図3を参照して述べたように、実施形態では構文検査を編集モードにおいて実行するため、プログラムの編集と構文検査とを実行する際にモードの切り替えなどの余計な操作をせずにプログラムコードの修正を行うことができる。そして、例えば、図5(a)においてユーザが3行目を「print(“again!”)」に修正し、再度、カーソル502を別の行に移動させる操作を入力した場合、制御部201は、3行目のプログラムコードに構文検査を再度実行する。そして、制御部201は、再度構文検査を実行した結果、エラーが検出されなければ、カーソル502を別の行に移動させる。この様に、実施形態によれば、行ごとにプログラムコードの構文検査を実行し、構文エラーが検出されなくなるまで、ユーザに構文エラーを報知するため、プログラムの作成の際に各行のプログラムコードの完成度を高めることができる。その結果として、プログラム全体の完成度も効率的に高めることができる。
As described with reference to FIG. 3, in the embodiment, the syntax check is performed in the edit mode, so that the program code can be corrected without performing unnecessary operations such as switching between modes when editing the program and performing the syntax check. For example, in FIG. 5(a), if the user corrects the third line to "print ("again!")" and inputs an operation to move the
なお、実施形態に係るエラー情報503およびエラー行504は、図5(a)の例に限定されるものではない。例えば、別の実施形態では、図5(b)に示す表示画面510のように、制御部201は、エラー報知のための表示画面510においてエラー情報503およびエラー行504を報知してもよい。表示画面510は、例えば、S403において表示されてもよい。
The
なお、上記においては、プログラムの編集機能および実行機能を備える情報処理装置100に、実施形態に係る構文検査の機能が実装される例に説明しているが、実施形態はこれに限定されるものではない。例えば、上述の構文検査の機能は、情報処理装置100上で動作するエディタアプリケーションなどに実装されてもよい。または、例えば、サーバがネットワーク上で提供するプログラミングの学習サービスなどにおいて実施形態に係る構文検査の機能が実装されてもよい。
In the above, an example is described in which the syntax check function according to the embodiment is implemented in an
なお、上述の実施形態では、プログラム内のある行から別の行に注目行を変更する注目行変更操作として、カーソルを別の行に移動させるカーソル移動操作を例に説明を行っている。しかしながら、実施形態はこれに限定されるものではない。例えば、入力対象の行などの注目行を示すのに、カーソル以外が利用されてもよい。一例として、注目行の全体の色を、他の行の色と異なる色で表示するなどにより注目行を強調表示して、注目行を識別する場合などが考えられる。例えば、このような場合にも、プログラム内のある行から別の行に注目行を変更する注目行変更操作が入力されると、実施形態に係る構文の検査が実行されてよい。 In the above embodiment, a cursor movement operation that moves the cursor to another line is described as an example of a line-of-interest change operation that changes a line of interest from one line in a program to another line. However, the embodiment is not limited to this. For example, something other than the cursor may be used to indicate a line of interest, such as a line to be input. As an example, the line of interest may be highlighted by displaying the entire line of interest in a color different from the colors of other lines, thereby identifying the line of interest. For example, even in such a case, when a line-of-interest change operation that changes a line of interest from one line in a program to another line is input, syntax checking according to the embodiment may be performed.
以上に述べたように、上述の実施形態によれば、制御部201は、表示画面105に表示されるプログラムを編集するための操作の入力を受け付ける。そして、制御部201は、プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を受け付けた場合に、ある行に記述されたプログラムコードを対象とする構文検査を実行する。そのため、ユーザが入力を完了したばかりの行に対して構文の検査を実行することができる。
As described above, according to the above embodiment, the
また、上述の実施形態では、制御部201は、注目行変更操作の入力を受け付けた場合、プログラムのうちから注目行となっているある行のプログラムコードを抽出し、抽出したある行のプログラムコードを、構文エラーを検査する構文検査プログラムに処理させることで構文エラーを検査する。そのため、構文検査の実行にかかる処理負荷を低減しつつも、注目行を効率的に検査することができる。
In addition, in the above-described embodiment, when the
また、例えば、注目行となっているある行のプログラムコードが第1の条件を満たす文字列を含むとする。なお、第1の条件は、例えば、構文検査の際に前の行または後の行の情報を参照する命令を検出する条件であってよい。この場合に、上述の実施形態によれば、制御部201は、ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードをある行のプログラムコードに追加してから、構文検査プログラムに処理させることで構文エラーを検査する。それにより、注目行のプログラムコードを抽出したことに起因する構文エラーの発生を回避することができる。
For example, suppose that the program code of a line of interest contains a character string that satisfies a first condition. The first condition may be, for example, a condition for detecting an instruction that references information on a previous or following line during syntax checking. In this case, according to the above-described embodiment, the
また、例えば、注目行となっているある行のプログラムコードが第2の条件を満たす文字列を含むとする。なお、第2の条件は、例えば、構文検査の際に行内のプログラムコードに編集が必要になる文字列を検出する条件であってよい。この場合に、上述の実施形態によれば、制御部201は、ある行のプログラムコードを編集してから、構文検査プログラムに処理させることで構文エラーを検査する。それにより、注目行のプログラムコードを抽出したことに起因する構文エラーの発生を回避することができる。
For example, suppose that the program code of a line that is the focus of attention contains a character string that satisfies a second condition. The second condition may be, for example, a condition for detecting a character string that requires editing in the program code in the line during syntax checking. In this case, according to the above-described embodiment, the
また、上述の実施形態では、情報処理装置100は、例えば、プログラムの編集を受け付ける編集モードと、プログラムを実行する実行モードとを含む動作モードで動作する。そして、制御部201は、編集モードでの動作中に、注目行変更操作が入力された場合、注目行となっているある行に記述されたプログラムコードを対象とする構文検査を実行する。構文検査でエラーが検出された場合、制御部201は、編集モードで動作したまま、ある行に記述されたプログラムコードの編集を許容する。そして、制御部201は、ある行に記述されたプログラムコードが編集されてから注目行変更操作が再入力された場合、ある行に記述された編集後のプログラムコードを対象とする構文検査を再度実行する。そのため、プログラム全体の完成度も効率的に高めることができる。
In the above embodiment, the
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。例えば、プログラムを記録するファイルを新規作成する場合などのように状況に応じて、図4のS401からS403の処理は実行されなくてもよい。 Although the above describes an embodiment, the embodiment is not limited to this. For example, the above-described operation flow is an example, and the embodiment is not limited to this. If possible, the operation flow may be executed by changing the order of the processes, may include additional processes, or may omit some processes. For example, depending on the situation, such as when creating a new file to record a program, the processes from S401 to S403 in FIG. 4 may not be executed.
また、上述の実施形態では、構文検査の対象として、カーソルを別の行に移動させる入力が行われた際のカーソルの移動元の行を対象とする例を述べているが、実施形態は、これに限定されるものではない。別の実施形態では制御部201は、例えば、プログラムの全文など、カーソルの移動元の行以外も含むその他の範囲を対象として構文検査を実行してもよい。
In addition, in the above embodiment, an example is described in which the target of syntax checking is the line from which the cursor is moved when an input is made to move the cursor to another line, but the embodiment is not limited to this. In another embodiment, the
また、例えば、プログラムには、プログラムの作成者がメモなどを記載するためのコメントアウトされた領域が含まれることがある。例えば、Pythonでは、プログラムにおいて「#」から行末までに記述された内容は実行時に無視される。そのため、上述の実施形態においてプログラムおよびプログラムコードといった場合に、構文検査において無視されるコメントアウトされた領域は含まれなくてよい。例えば、上述のS409の処理では、コメントアウトされた領域よりも前に記述されたプログラムコードにおいて行末が「:」であるかの判定が実行されてよい。 Also, for example, a program may include commented out areas where the creator of the program can write notes, etc. For example, in Python, anything written in a program from a "#" to the end of the line is ignored at runtime. Therefore, in the above-described embodiment, in the case of a program and program code, commented out areas that are ignored in syntax checking may not be included. For example, in the process of S409 described above, a determination may be made as to whether the end of a line in the program code written before the commented out area is a ":".
また、上述の実施形態において、カーソルを別の行に移動する操作が入力された際の構文検査の実行は、必ずしもカーソルを別の行に移動させる全ての操作に対して実行される必要はない。例えば、制御部201は、一部のカーソルを別の行に移動させる操作の入力では構文検査を実行しなくてもよい。
In addition, in the above-described embodiment, the execution of a syntax check when an operation to move the cursor to another line is input does not necessarily have to be performed for all operations that move the cursor to another line. For example, the
また、上述の実施形態では、プログラミング言語がPythonである場合を例に説明を行っているが、実施形態はこれに限定されるものではなく、例えば、C言語、Perlなどその他の言語に実施形態を適用することもできる。その場合に、例えば、上述のPythonではインデントにより前後の行からプログラムコードを抽出する範囲を特定する例を述べているが、C言語、Perlなどでは括弧の対応によりプログラムコードを抽出する範囲を特定してもよい。 In addition, in the above embodiment, the programming language is Python, but the embodiment is not limited to Python, and can be applied to other languages such as C and Perl. In that case, for example, in the above Python, an example is given in which the range of program code to be extracted from the previous and next lines is specified by indentation, but in C, Perl, etc., the range of program code to be extracted can be specified by matching parentheses.
図6は、実施形態に係る情報処理装置100を実現するためのコンピュータ600のハードウェア構成を例示する図である。図6の情報処理装置100を実現するためのハードウェア構成は、例えば、プロセッサ601、メモリ602、記憶装置603、読取装置604、通信インタフェース606、入出力インタフェース607、入力装置611、および表示装置612を備える。なお、プロセッサ601、メモリ602、記憶装置603、読取装置604、通信インタフェース606、入出力インタフェース607は、例えば、バス608を介して互いに接続されている。
FIG. 6 is a diagram illustrating an example of the hardware configuration of a
プロセッサ601は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ601は、メモリ602を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部201の一部または全部の機能を提供する。例えば、情報処理装置100のプロセッサ601は、記憶装置603に格納されているプログラムを読み出して実行することで、受付部211、検査部212として動作してよい。また、プロセッサ601は、構文検査プログラムを実行することで、プログラムの構文検査を実行してよい。
The
メモリ602は、例えば半導体メモリであり、RAM領域およびROM領域を含んでよい。記憶装置603は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
The
読取装置604は、プロセッサ601の指示に従って着脱可能記憶媒体605にアクセスする。着脱可能記憶媒体605は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体などにより実現される。なお、半導体デバイスは、例えば、USB(Universal Serial Bus)メモリである。また、磁気的作用により情報が入出力される媒体は、例えば、磁気ディスクである。光学的作用により情報が入出力される媒体は、例えば、CD-ROM、DVD、Blu-ray Disc等(Blu-rayは登録商標)である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
The
記憶部202は、例えばメモリ602、記憶装置603、および着脱可能記憶媒体605を含んでよい。例えば、情報処理装置100の記憶装置603には、構文検査プログラム、および上述の動作フローの手順を記述したプログラムなどが格納されている。
The
通信インタフェース606は、プロセッサ601の指示に従って有線または無線通信で他の装置と通信する。
The
入出力インタフェース607は、例えば、入力および出力を行う装置との間のインタフェースであってよい。図6の例では、入出力インタフェース607は、入力装置611と接続されている。入力装置611は、例えばユーザからの指示を受け付けるキー、ボタン、キーボード、タッチパネル、マイク、カメラなどのデバイスである。なお、マイクは、一例では、音声入力に利用されてよい。また、カメラは、一例では、ジェスチャー入力に利用されてよい。入力装置611は、上述の入力部204の一例である。また、図6の例では、入出力インタフェース607は、表示装置612と接続されている。表示装置612は、例えば、ディスプレイ、プロジェクタなどの表示を行うデバイスであってよく、プロセッサ601の指示に従って、表示画面に情報を表示する。表示装置612は、上述の表示部203の一例である。また、入出力インタフェース607は、例えば、スピーカなどの音声装置、およびプリンタなどの印刷装置といったその他の装置と接続されていてもよい。
The input/
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置100に提供される。
(1)記憶装置603に予めインストールされている。
(2)着脱可能記憶媒体605により提供される。
(3)プログラムサーバなどのサーバ630からネットワーク620を介して提供される。
Each program according to the embodiment is provided to the
(1) It is pre-installed in the
(2) Provided by a removable storage medium 605.
(3) Provided from a
なお、図6を参照して述べた情報処理装置100を実現するためのコンピュータ600のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の構成の一部が、削除されてもよく、また、新たな構成が追加されてもよい。また、別の実施形態では、例えば、上述の制御部201の一部または全部の機能がFPGA、SoC、ASIC、およびPLDなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。ASICは、Application Specific Integrated Circuitの略称である。PLDは、Programmable Logic Deviceの略称である。
The hardware configuration of the
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して、または実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 In the above, several embodiments are described. However, the embodiments are not limited to the above embodiments, and should be understood to include various modified and alternative forms of the above-mentioned embodiments. For example, it will be understood that the various embodiments can be embodied by modifying the components without departing from the spirit and scope of the embodiments. It will also be understood that various embodiments can be implemented by appropriately combining multiple components disclosed in the above-mentioned embodiments. Furthermore, it will be understood by those skilled in the art that various embodiments can be implemented by deleting some components from all the components shown in the embodiments, or by adding some components to the components shown in the embodiments.
以上の実施形態に関し、更に以下の付記を開示する。
[付記1]
表示画面に表示されるプログラムを編集するための操作の入力を受け付ける受付部と、
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行する検査部と、
を含む、情報処理装置。
[付記2]
前記検査部は、前記注目行変更操作の入力を前記受付部が受け付けた場合、前記プログラムのうちから前記ある行のプログラムコードを抽出し、抽出した前記ある行のプログラムコードを、構文エラーを検査する構文検査プログラムに処理させることで構文エラーを検査する、付記1に記載の情報処理装置。
[付記3]
前記検査部は、前記ある行のプログラムコードが第1の条件を満たす文字列を含む場合、前記ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを前記ある行のプログラムコードに追加してから、前記構文検査プログラムに処理させることで構文エラーを検査する、付記2に記載の情報処理装置。
[付記4]
前記検査部は、前記ある行のプログラムコードが第2の条件を満たす文字列を含む場合、前記ある行のプログラムコードを編集してから、前記構文検査プログラムに処理させることで構文エラーを検査する、付記2または3に記載の情報処理装置。
[付記5]
前記受付部は、前記表示画面に表示される前記プログラム内の前記ある行に表示される前記プログラムの編集位置を示すカーソルを前記プログラム内の前記別の行に移動させる操作を、前記注目行変更操作として入力を受け付け、
前記検査部は、前記構文検査の結果、構文エラーが検出された場合、前記ある行内に前記カーソルを表示させたまま、前記構文エラーが検出されたことを示す情報および前記構文エラーが検出された行を報知する、
付記1から4のいずれかに記載の情報処理装置。
[付記6]
前記受付部は、前記表示画面に表示される前記プログラム内の前記ある行に表示される前記プログラムの編集位置を示すカーソルを前記プログラム内の前記別の行に移動させる操作を、前記注目行変更操作として入力を受け付け、
前記検査部は、前記構文検査の結果、構文エラーが検出されなかった場合、前記カーソルを前記別の行に移動させる、付記1から5のいずれかに記載の情報処理装置。
[付記7]
前記情報処理装置は、前記プログラムの編集を受け付ける編集モードと、前記プログラムを実行する実行モードとを含む動作モードで動作し、
前記検査部は、
前記編集モードでの動作中に、前記注目行変更操作が前記受付部に入力された場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行し、
前記構文検査でエラーが検出された場合、前記編集モードで動作したまま、前記ある行に記述されたプログラムコードの編集を許容し、
前記ある行に記述された前記プログラムコードが編集されてから前記受付部に前記注目行変更操作が再入力された場合、前記ある行に記述された編集後の前記プログラムコードを対象とする前記構文検査を再度実行する、
ことを特徴とする、付記1から6のいずれかに記載の情報処理装置。
[付記8]
表示画面に表示されるプログラムを編集するための操作の入力を受け付ける受付ステップと、
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行する検査ステップと、
を含む、情報処理装置が実行する検査方法。
[付記9]
表示画面に表示されるプログラムを編集するための操作の入力を受け付ける受付ステップと、
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行する検査ステップと、
を含む、処理を情報処理装置に実行させる検査プログラム。
[付記10]
付記9に記載の検査プログラムを配布するサーバ。
The following supplementary notes are further disclosed regarding the above embodiment.
[Appendix 1]
a reception unit that receives input of an operation for editing a program displayed on a display screen;
a checking unit that, when the receiving unit receives an input of a line-of-interest change operation for changing a line of interest from a line of interest in the program to another line, executes a syntax check on the program code written in the line of interest;
An information processing device comprising:
[Appendix 2]
The information processing device described in
[Appendix 3]
The information processing device described in
[Appendix 4]
The information processing device according to
[Appendix 5]
the accepting unit accepts, as the target line change operation, an operation of moving a cursor indicating an editing position of the program, which is displayed on the certain line in the program displayed on the display screen, to the other line in the program;
When a syntax error is detected as a result of the syntax check, the inspection unit notifies the user of information indicating that the syntax error has been detected and the line in which the syntax error has been detected, while keeping the cursor displayed within the certain line.
5. An information processing device according to any one of
[Appendix 6]
the accepting unit accepts, as the target line change operation, an operation of moving a cursor indicating an editing position of the program, which is displayed on the certain line in the program displayed on the display screen, to the other line in the program;
6. The information processing device according to
[Appendix 7]
the information processing device operates in an operation mode including an edit mode in which editing of the program is accepted and an execution mode in which the program is executed;
The inspection unit includes:
When the operation to change the line of interest is input to the reception unit during the operation in the edit mode, a syntax check is performed on the program code written in the certain line;
if an error is detected in the syntax check, allowing editing of the program code written in the certain line while operating in the edit mode;
when the program code written in the certain line is edited and then the target line change operation is re-input to the reception unit, the syntax check is executed again on the edited program code written in the certain line.
7. An information processing device according to any one of
[Appendix 8]
a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
an inspection step of executing a syntax check on the program code written in a line of interest when the input of a line of interest change operation for changing the line of interest from a line of interest in the program to another line is received by the receiving unit;
An inspection method executed by an information processing device, comprising:
[Appendix 9]
a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
an inspection step of executing a syntax check on the program code written in a line of interest when the input of a line of interest change operation for changing the line of interest from a line of interest in the program to another line is received by the receiving unit;
and causing an information processing device to execute a process.
[Appendix 10]
A server that distributes the inspection program described in
100 情報処理装置
101 キー
102 移動キー
103 EXEキー
105 表示画面
201 制御部
202 記憶部
203 表示部
204 入力部
211 受付部
212 検査部
401 ステップ
501 編集領域
502 カーソル
503 エラー情報
504 エラー行
600 コンピュータ
601 プロセッサ
602 メモリ
603 記憶装置
604 読取装置
605 着脱可能記憶媒体
606 通信インタフェース
607 入出力インタフェース
608 バス
611 入力装置
612 表示装置
620 ネットワーク
630 サーバ
100
Claims (10)
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査部と、
を含み、
前記検査部は、
前記ある行のプログラムコードが第1の条件を満たす文字列を含む場合、前記ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを前記ある行のプログラムコードに追加してから、前記構文検査を実行する第1制御、または、
前記ある行のプログラムコードが第2の条件を満たす文字列を含む場合、前記ある行のプログラムコードを編集してから、前記構文検査を実行する第2制御、の少なくとも何れか一方を実行する、
情報処理装置。 a reception unit that receives input of an operation for editing a program displayed on a display screen;
an inspection unit that, when the reception unit receives an input of a line-of-interest change operation for changing a line of interest from a line of interest in the program to another line, executes a syntax inspection to inspect the program code described in the line for syntax errors;
Including,
The inspection unit includes:
a first control for, if the program code of the certain line includes a character string that satisfies a first condition, adding a program code of a line that satisfies a predetermined condition and is located before or after the program code of the certain line to the program code of the certain line, and then executing the syntax check; or
a second control for editing the program code of the certain line and then executing the syntax check if the program code of the certain line includes a character string that satisfies a second condition;
Information processing device.
前記検査部は、前記構文検査の結果、構文エラーが検出された場合、前記ある行内に前記カーソルを表示させたまま、前記構文エラーが検出されたことを示す情報および前記構文エラーが検出された行を報知する、
請求項1に記載の情報処理装置。 the accepting unit accepts, as the target line change operation, an operation of moving a cursor indicating an editing position of the program, which is displayed on the certain line in the program displayed on the display screen, to the other line in the program;
When a syntax error is detected as a result of the syntax check, the inspection unit notifies the user of information indicating that the syntax error has been detected and the line in which the syntax error has been detected, while keeping the cursor displayed within the certain line.
The information processing device according to claim 1 .
前記検査部は、前記構文検査の結果、構文エラーが検出されなかった場合、前記カーソルを前記別の行に移動させる、請求項1または2に記載の情報処理装置。 the accepting unit accepts, as the target line change operation, an operation of moving a cursor indicating an editing position of the program, which is displayed on the certain line in the program displayed on the display screen, to the other line in the program;
The information processing device according to claim 1 , wherein the checking section moves the cursor to the different line when no syntax error is detected as a result of the syntax check.
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付部が受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査部と、
を含み、前記プログラムの編集を受け付ける編集モードと、前記プログラムを実行する実行モードとを含む動作モードで動作する情報処理装置であって、
前記検査部は、
前記編集モードでの動作中に、前記注目行変更操作が前記受付部に入力された場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行し、
前記構文検査でエラーが検出された場合、前記編集モードで動作したまま、前記ある行に記述されたプログラムコードの編集を許容し、
前記ある行に記述された前記プログラムコードが編集されてから前記受付部に前記注目行変更操作が再入力された場合、前記ある行に記述された編集後の前記プログラムコードを対象とする前記構文検査を再度実行する、
情報処理装置。 a reception unit that receives input of an operation for editing a program displayed on a display screen;
an inspection unit that, when the reception unit receives an input of a line-of-interest change operation for changing a line of interest from a line of interest in the program to another line, executes a syntax inspection to inspect the program code described in the line for syntax errors;
and an information processing apparatus that operates in an operation mode including an edit mode in which the program is edited and an execution mode in which the program is executed,
The inspection unit includes:
When the operation to change the line of interest is input to the reception unit during the operation in the edit mode, a syntax check is performed on the program code written in the certain line;
if an error is detected in the syntax check, allowing editing of the program code written in the certain line while operating in the edit mode;
when the program code written in the certain line is edited and then the target line change operation is re-input to the reception unit, the syntax check is executed again on the edited program code written in the certain line.
Information processing device.
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付ステップで受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査ステップと、
を含み、
前記検査ステップは、前記ある行のプログラムコードが第1の条件を満たす文字列を含む場合、前記ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを前記ある行のプログラムコードに追加、または、前記ある行のプログラムコードが第2の条件を満たす文字列を含む場合、前記ある行のプログラムコードを編集、の少なくとも何れか一方を実行してから、前記構文検査を実行する、
情報処理装置が実行する検査方法。 a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
a checking step of executing a syntax check for checking for syntax errors in the program code written in the certain line when the input of a target line change operation for changing a target line from a certain line in the program is received in the receiving step;
Including,
The checking step performs at least one of adding, to the program code of the certain line, program code of a line that satisfies a predetermined condition and is located before or after the program code of the certain line, if the program code of the certain line includes a character string that satisfies a first condition, or editing, to the program code of the certain line, if the program code of the certain line includes a character string that satisfies a second condition, and then performs the syntax check.
An inspection method executed by an information processing device.
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付ステップにおいて受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査ステップと、
を含み、前記プログラムの編集を受け付ける編集モードと、前記プログラムを実行する実行モードとを含む動作モードで動作する情報処理装置が実行する検査方法であって、
前記検査ステップは、
前記編集モードでの動作中に、前記注目行変更操作が前記受付ステップにおいて入力された場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行し、
前記構文検査でエラーが検出された場合、前記編集モードで動作したまま、前記ある行に記述されたプログラムコードの編集を許容し、
前記ある行に記述された前記プログラムコードが編集されてから前記受付ステップにおいて前記注目行変更操作が再入力された場合、前記ある行に記述された編集後の前記プログラムコードを対象とする前記構文検査を再度実行する、
検査方法。 a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
a checking step of executing a syntax check to check for syntax errors in the program code written in the certain line when an input of a line change operation for changing a line of interest from a certain line in the program is received in the receiving step;
a test method executed by an information processing apparatus that operates in an operation mode including an edit mode in which the program is edited and an execution mode in which the program is executed,
The inspection step includes:
When the operation to change the target line is input in the receiving step during the operation in the edit mode, a syntax check is performed on the program code written in the certain line;
if an error is detected in the syntax check, allowing editing of the program code written in the certain line while operating in the edit mode;
when the program code written in the certain line is edited and then the target line change operation is re-input in the receiving step, the syntax check is executed again on the edited program code written in the certain line.
Testing method.
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付ステップで受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査ステップと、
を含む、処理を情報処理装置に実行させ、
前記検査ステップは、前記ある行のプログラムコードが第1の条件を満たす文字列を含む場合、前記ある行のプログラムコードより前または後に位置する所定の条件を満たす行のプログラムコードを前記ある行のプログラムコードに追加、または、前記ある行のプログラムコードが第2の条件を満たす文字列を含む場合、前記ある行のプログラムコードを編集、の少なくとも何れか一方を実行してから、前記構文検査を実行する、
検査プログラム。 a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
a checking step of executing a syntax check for checking for syntax errors in the program code written in the certain line when the input of a target line change operation for changing a target line from a certain line in the program is received in the receiving step;
causing an information processing device to execute a process including
The checking step performs at least one of adding, to the program code of the certain line, program code of a line that satisfies a predetermined condition and is located before or after the program code of the certain line, if the program code of the certain line includes a character string that satisfies a first condition, or editing, to the program code of the certain line, if the program code of the certain line includes a character string that satisfies a second condition, and then performs the syntax check.
Inspection program.
前記プログラム内のある行から別の行に注目行を変更する注目行変更操作の入力を前記受付ステップにおいて受け付けた場合、前記ある行に記述されたプログラムコードを対象として構文エラーを検査する構文検査を実行する検査ステップと、
を含む処理を情報処理装置に実行させ、
前記情報処理装置に、前記プログラムの編集を受け付ける編集モードと、前記プログラムを実行する実行モードとを含む動作モードを実行させ、
前記検査ステップは、
前記編集モードでの動作中に、前記注目行変更操作が前記受付ステップにおいて入力された場合、前記ある行に記述されたプログラムコードを対象とする構文検査を実行し、
前記構文検査でエラーが検出された場合、前記編集モードで動作したまま、前記ある行に記述されたプログラムコードの編集を許容し、
前記ある行に記述された前記プログラムコードが編集されてから前記受付ステップにおいて前記注目行変更操作が再入力された場合、前記ある行に記述された編集後の前記プログラムコードを対象とする前記構文検査を再度実行する、
検査プログラム。 a receiving step of receiving an input of an operation for editing the program displayed on the display screen;
a checking step of executing a syntax check to check for syntax errors in the program code written in the certain line when an input of a line change operation for changing a line of interest from a certain line in the program is received in the receiving step;
causing an information processing device to execute a process including
causing the information processing device to execute an operation mode including an edit mode for accepting editing of the program and an execution mode for executing the program;
The inspection step includes:
When the operation to change the target line is input in the receiving step during the operation in the edit mode, a syntax check is performed on the program code written in the certain line;
if an error is detected in the syntax check, allowing editing of the program code written in the certain line while operating in the edit mode;
when the program code written in the certain line is edited and then the target line change operation is re-input in the receiving step, the syntax check is executed again on the edited program code written in the certain line.
Inspection program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020051540A JP7631667B2 (en) | 2020-03-23 | 2020-03-23 | Information processing device, inspection method, inspection program, and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020051540A JP7631667B2 (en) | 2020-03-23 | 2020-03-23 | Information processing device, inspection method, inspection program, and server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021149843A JP2021149843A (en) | 2021-09-27 |
JP7631667B2 true JP7631667B2 (en) | 2025-02-19 |
Family
ID=77849306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020051540A Active JP7631667B2 (en) | 2020-03-23 | 2020-03-23 | Information processing device, inspection method, inspection program, and server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7631667B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015019504A (en) | 2013-07-10 | 2015-01-29 | 住友重機械工業株式会社 | Permanent magnet motor and magnetization method of the same |
JP2018037052A (en) | 2015-12-10 | 2018-03-08 | 株式会社リコー | Information processing device, information processing system, computer program, and method |
JP2019125062A (en) | 2018-01-12 | 2019-07-25 | カシオ計算機株式会社 | Programming support device, programming support method and program |
JP2019125055A (en) | 2018-01-12 | 2019-07-25 | カシオ計算機株式会社 | Electronic equipment, display control method, and program |
-
2020
- 2020-03-23 JP JP2020051540A patent/JP7631667B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015019504A (en) | 2013-07-10 | 2015-01-29 | 住友重機械工業株式会社 | Permanent magnet motor and magnetization method of the same |
JP2018037052A (en) | 2015-12-10 | 2018-03-08 | 株式会社リコー | Information processing device, information processing system, computer program, and method |
JP2019125062A (en) | 2018-01-12 | 2019-07-25 | カシオ計算機株式会社 | Programming support device, programming support method and program |
JP2019125055A (en) | 2018-01-12 | 2019-07-25 | カシオ計算機株式会社 | Electronic equipment, display control method, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2021149843A (en) | 2021-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7802305B1 (en) | Methods and apparatus for automated redaction of content in a document | |
EP0785510A1 (en) | Program debugging system for debugging a program having a graphical user interface | |
JP4876511B2 (en) | Logic extraction support device | |
JP2010520531A (en) | Integrated pinyin and image input | |
JP2008293486A (en) | Source code analysis device, analysis program, and analysis method | |
KR20190015285A (en) | Query optimizer for CPU utilization and code refactoring | |
KR20040065468A (en) | Treatment method for multilanguage transer of patent paper and record medium for interpretation to recording using transer software | |
JP2016066109A (en) | Data link generation device, data link generation method, data link structure, and electronic file | |
JPS6047606B2 (en) | program input device | |
JP7631667B2 (en) | Information processing device, inspection method, inspection program, and server | |
CN113835714B (en) | Application language conversion method, device, computer equipment and storage medium | |
JP2013041567A (en) | Character input device | |
JP7247593B2 (en) | Generation device, software robot system, generation method and generation program | |
JP4416644B2 (en) | Character processing apparatus with prediction function, method, recording medium, and program | |
CN116187353A (en) | Translation method, translation device, computer equipment and storage medium thereof | |
CN114879964A (en) | Code generation method and device | |
JP6091471B2 (en) | Source code analysis apparatus, source code analysis method, and source code analysis program | |
CN105700813A (en) | Information processing method and terminal | |
CN118333020B (en) | Code marking method, device and computer readable storage medium | |
JP7555215B2 (en) | Check item generation device, check item generation method, and program | |
JP7469999B2 (en) | Search device, search method, and search program | |
CN112817588B (en) | A page code preview method, device and storage medium thereof | |
JP4894602B2 (en) | Correction target file search device, correction target file search method, and correction target file search program | |
JP6419902B1 (en) | Program comparison method, program comparison device, and program comparison program | |
JP6475288B2 (en) | Program comparison method, program comparison device, and program comparison program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230306 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20231005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240820 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241114 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20241126 |
|
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: 20250107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250120 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7631667 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |