JPH06274333A - Input support method and editing support method for program - Google Patents

Input support method and editing support method for program

Info

Publication number
JPH06274333A
JPH06274333A JP5061603A JP6160393A JPH06274333A JP H06274333 A JPH06274333 A JP H06274333A JP 5061603 A JP5061603 A JP 5061603A JP 6160393 A JP6160393 A JP 6160393A JP H06274333 A JPH06274333 A JP H06274333A
Authority
JP
Japan
Prior art keywords
program
graphic
input
character string
displayed
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
JP5061603A
Other languages
Japanese (ja)
Inventor
Yoshimitsu Oshima
義光 大島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5061603A priority Critical patent/JPH06274333A/en
Publication of JPH06274333A publication Critical patent/JPH06274333A/en
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To input a program expressed by a graphic only with a keyboard by displaying the graphic showing a constitution element in response to a character string showing the constitution element of the program and displaying an area to be inputted near the graphic when the other constitution element which is to be inputted in relation to the constitution element exists. CONSTITUTION:It is assumed that the character string rem is inputted to a character string input area 52, for example. When a conversion key on the keyboard is depressed, the character string input area 52 is disappeared, and a template by the graphic as against a function rem, namely, the graphic 54, the character string input areas 55 and 56 for the two arguments and arrows 55A and 55B connecting the areas to the graphic 54 are displayed. Temporary argument names are respectively displayed in the character string input areas 55 and 56, and therefore a user can judge what is to be inputted next. When input from the keyboard is advanced in such a state, the temporary argument name in the character string input area 55 is deleted, and it is changed into the character string inputted from the keyboard.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、図形を用いて表現した
コンピュータ・プログラムの入力および編集方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for inputting and editing a computer program expressed by using graphics.

【0002】[0002]

【従来の技術】一般に図で表現した情報は理解しやす
い。もともとが2次元または3次元による形状を持つも
のは当然として、抽象的な情報も図で表現すると理解し
やすくなることは、日常よく経験することである。コン
ピュータの世界においても、プログラムその他の情報を
図で表現することにより、プログラム関連情報の理解を
容易にする方法が、比較的古くから行なわれている。プ
ログラムの図的表現に関して言えば、フローチャートが
その嚆矢であり、その後、文献「プログラム制御構造の
新しい表現法:木構造チャートが普及期に」(日経コン
ピュータ、1989.1.9、pp.71〜83)に紹
介されているような改良案がいろいろと提案されてい
る。最近では図による表現しか持たない、いわゆる視覚
言語の研究も盛んである。
2. Description of the Related Art Generally, information represented by a diagram is easy to understand. It is a common experience that it is easy to understand when abstract information is represented by a figure, not to mention that it originally has a two-dimensional or three-dimensional shape. Even in the computer world, a method of making it easy to understand program-related information by representing a program and other information in a diagram has been performed for a relatively long time. When it comes to diagrammatic representations of programs, flow charts are the starting point, and after that, the document "A new representation of program control structures: tree structure charts became popular" (Nikkei Computer, 1989.1.9, pp. Various proposals for improvement such as those introduced in 83) have been proposed. Recently, research on so-called visual language, which has only graphical representations, is also active.

【0003】プログラムの図的表現およびそれに基づく
プログラム開発ツールの一例として、文献「“SEW
B”の開発思想と機能」(日立評論、Vol.70、N
o.2(1988.2))で紹介されているプログラム
の図式表現法PAD、およびそれに基づくプログラムの
エディタ(PADエディタ)がある。PADは、主とし
て、C、FORTRAN、COBOLなどの手続き型言
語に共通する三つの制御構造−逐次実行、条件分岐、繰
り返し−を図式化することによって、プログラムの構造
を見やすくしようとするプログラムの図式化方法であ
る。PADエディタは、このPADによるプログラム作
成を支援する。
As an example of a graphic representation of a program and a program development tool based on it, the document "SEW
B "Development Thoughts and Functions" (Hitachi Review, Vol. 70, N
o. 2 (1988.2)), there is a schematic representation PAD of a program, and a program editor (PAD editor) based on it. PAD is a diagrammatic representation of a program intended to make it easier to see the structure of the program by diagramming three control structures common to procedural languages such as C, FORTRAN, and COBOL-sequential execution, conditional branching, and repetition. Is the way. The PAD editor supports the program creation by this PAD.

【0004】PADによるプログラムの記述例を図32
に示す。図の(a)はFORTRANプログラムの例、
(b)は(a)のPADによる表現である。図からわか
るように、繰り返しdoは右端に縦棒を付加した箱によ
り(同図21)、条件分岐IFは右側をへこました箱に
より(同図22)、また、通常の実行文は単純な長方形
の箱により(同図23、24、25)、それぞれ表現し
ている。このように、上記三つの制御構造を図で表わ
し、一方、詳細な処理はそれぞれの言語固有の文法にし
たがって文字(テキスト)のまま表現する、というのが
PADの基本的な表現法である。
FIG. 32 shows a description example of a program in PAD.
Shown in. (A) of the figure is an example of the FORTRAN program,
(B) is the PAD representation of (a). As can be seen from the figure, the repeated do is a box with a vertical bar added to the right end (Fig. 21), the conditional branch IF is a box with a dented right side (Fig. 22), and a normal execution statement is simple. Each is represented by a rectangular box (FIGS. 23, 24, 25). As described above, the basic expression method of PAD is to represent the above-mentioned three control structures by a diagram, while expressing detailed processing as characters (text) according to the grammar specific to each language.

【0005】PADエディタでプログラムを入力する場
合、図形部分は、前記一般的な図の作成ツールと同様
に、ディスプレイ画面上に表示した部品メニューから所
望のものをマウスで選ぶことによって指定する。また、
箱の中に記述する文字部分はキーボードから入力する、
という方法をとっている。
When the program is input by the PAD editor, the graphic portion is designated by selecting a desired one from the parts menu displayed on the display screen with the mouse, as in the case of the general drawing creation tool. Also,
The character part described in the box is input from the keyboard,
The method is called.

【0006】ところで、図2からも容易にわかるよう
に、プログラムの図式表現は、プログラムの構造、すな
わち、構文構造を明示的に表わしている。したがって、
プログラム言語の構文情報を利用して、プログラムの作
成を支援するエディタを実現すれば有効であろう。具体
的には、入力途中にプログラムの構文を示して入力を助
けること、入力されたプログラムをチェックし、構文誤
りがあるとき警告を発すること、また、構文誤りを発生
させるプログラムの入力を許さない、などの機能が考え
られる。このようなエディタは、従来、構文主導型のエ
ディタ(syntax directed editor)と呼ばれている。
By the way, as can be easily understood from FIG. 2, the schematic representation of the program expresses explicitly the structure of the program, that is, the syntactic structure. Therefore,
It would be useful to implement an editor that supports the creation of programs by using the syntax information of the programming language. Specifically, show the syntax of the program in the middle of input to assist the input, check the input program, issue a warning when there is a syntax error, and do not allow the input of the program that causes the syntax error Functions such as, are possible. Such an editor is conventionally called a syntax directed editor.

【0007】テキスト・ベースのエディタについては、
このような構文主導型のエディタがいくつか提案されて
おり、その一例が文献T. Teitelbaum, et al ; The Cor
nellProgram Synthsizer : A Syntax-directed Program
ming Environment, Communication of the ACM, Vol.2
4, No.9, pp.563-573 (September 1981)に紹介されてい
る。これは、言語要素の名称とそれを構成する引数の入
力スロット(上記論文ではこれをplaceholderと呼んで
いる)からなる構文テンプレートを準備し、この構文テ
ンプレートを基本としてプログラムの入力編集を行なう
ようにすることにより、常に構文の正しい状態を維持し
つつ、プログラムの入力編集を可能にするプログラム・
エディタである。
For a text-based editor,
Several such syntax-driven editors have been proposed, an example of which is the document T. Teitelbaum, et al; The Cor.
nellProgram Synthsizer: A Syntax-directed Program
ming Environment, Communication of the ACM, Vol.2
4, No. 9, pp. 563-573 (September 1981). This is to prepare a syntax template consisting of the name of a language element and the input slot of the argument that constitutes it (this is called a placeholder in the above paper), and input and edit the program based on this syntax template. By doing so, a program that enables input and editing of the program while always maintaining the correct syntax state.
It is an editor.

【0008】また、テキスト・ベースの構文主導型のエ
ディタにおける別の例として、先願(特開平1−118
925)で述べているものがある。
As another example of a text-based syntax-driven editor, there is a prior application (JP-A-1-118).
925).

【0009】これは、上記文献による構文主導型エディ
タが、常に正しい構文を維持しつつ入力編集を行なわせ
るという、ユーザにとってはある意味では非常に窮屈な
点を緩和し、操作性を向上することを狙ったものであ
る。具体的には、通常の文字単位に入力可能な画面エデ
ィタをベースに、構文テンプレートを挿入する機能を付
加したものである。
This is to alleviate the point that the syntax-driven editor according to the above-mentioned document performs input editing while always maintaining the correct syntax, which is very cramped for the user in some sense, and improves operability. Is aimed at. Specifically, it is based on a normal screen editor that allows input in character units, with the addition of a function for inserting a syntax template.

【0010】図式による構文主導型のプログラム・エデ
ィタに関しては、一例が、文献 安井嗣了、南山智之
「構文指向型PADエディタについて」(6S−1、情
報処理学会第34回(昭和62年後期)全国大会)に紹
介されている。
An example of a syntax-driven program editor based on a diagram is the literature: Tsuguyasu Yasui, Tomoyuki Minamiyama "Syntax-Oriented PAD Editor" (6S-1, The 34th Information Processing Society of Japan (late 1987)) National convention).

【0011】[0011]

【発明が解決しようとする課題】前記PADないしPA
Dと類似のプログラム図式表現法について、これらは、
前述のように、個別言語に依存しない手続き型言語の主
要な三つの制御構造の図式化に主眼を置いている。その
ため、PADエディタによるプログラムの入力は、個別
言語に独立な制御構造部品の図形による入力と、各制御
構造部品の中身のプログラムの文字による入力の、二段
階にわかれている。図形部分の入力は、前記のように、
画面上に表示した部品メニューから図形部品を選択する
ことにより行なう。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
For a programmatic representation similar to D, these are
As mentioned above, the main focus is on the visualization of the three main control structures of procedural languages that do not depend on individual languages. Therefore, the input of the program by the PAD editor is divided into two stages, that is, the input by the graphic of the control structure component independent of the individual language and the input by the character of the program in the content of each control structure component. As mentioned above, input of the graphic part is
This is done by selecting a graphic component from the component menu displayed on the screen.

【0012】PADのように基本的な図形部品が3個程
度であれば、メニューに並ぶ部品はバリエーションを含
めても10個程度なので、メニューに表示するのも、そ
こから選択するのも容易である。しかし、先願(特願平
2−056360)または大島義光「LISPプログラ
ムの図式表現VEX」(情報処理学会記号処理研究会資
料54−3(1990.3.12))に記載したよう
な、プログラミング言語の要素を全て図式により表現し
ている場合、図形部品の数は100のオーダーになり、
メニューに表示することは困難になる。また、表示出来
たとしても、そこから選択することはさらに難しい。
[0012] If there are about three basic graphic parts such as PAD, the number of parts lined up in the menu is about 10 including variations, so that it is easy to display in the menu and select from them. is there. However, programming as described in the previous application (Japanese Patent Application No. 2-056360) or Yoshimitsu Oshima "Diagrammatic representation VEX of LISP program" (Information Processing Society of Japan Symbol Processing Research Group Material 54-3 (1990.3.12)) If all language elements are represented graphically, the number of graphic parts will be on the order of 100,
It is difficult to display in the menu. Even if it can be displayed, it is more difficult to select from it.

【0013】また、上記のように、プログラムの入力
が、メニュー選択による図形部分の入力と、文字入力に
よる詳細部分の二つにわかれており、マウスとキーボー
ドを交互に使わなくてはならず、操作が煩わしい。キー
ボードまたはマウスのどちらかだけで、プログラムを入
力することが出来れば、より効率的なプログラム作成が
可能となるであろうことが予想される。
Further, as described above, the program input is divided into the graphic part input by menu selection and the detailed part by character input, and the mouse and keyboard must be used alternately. Operation is troublesome. It is expected that more efficient program creation will be possible if the program can be entered using only the keyboard or mouse.

【0014】一方、前記したテキスト・ベースの構文主
導型エディタ(Cornell Program Synthesizer)は、言
語要素の構文テンプレートを使用することによって、正
しい構文のプログラムの作成を支援することが出来る
が、構文テンプレートの表現が文字だけによっているた
め(構文テンプレートは見かけは通常のテキストによる
プログラムと同じ)、図式で表現したプログラムと比べ
て見にくい、という問題がある。また、プログラムの編
集をこの構文テンプレートを基本として行なうため、編
集操作に手間がかかるという問題がある。特に、既に作
成したプログラム中のテンプレートの変更、別のテンプ
レートの挿入などの操作に手間がかかる。
On the other hand, the above-mentioned text-based syntax-driven editor (Cornell Program Synthesizer) can support the creation of a program with the correct syntax by using the syntax template of the language element. There is a problem that it is hard to see compared to the program expressed in the diagram because the expression is based only on the characters (the syntax template looks like a normal text program). Also, since the program is edited based on this syntax template, there is a problem that the editing operation is troublesome. In particular, operations such as changing a template in a program already created and inserting another template are troublesome.

【0015】先願(特開平1−118925)に記載し
た構文主導型エディタは、この操作の手間の問題を改善
しているが、改善点は主としてプログラムの入力に限定
されている。エディタの各種編集操作−−挿入、移動、
複写、削除等−−に対する構文情報の利用法については
記載されていない。また、文字ベースのプログラムを対
象にしている点で、見にくいという問題は上記Cornell
Program Synthesizerと同様である。
The syntax-driven editor described in the prior application (Japanese Patent Application Laid-Open No. 1-118925) solves this troublesome operation, but the improvement is mainly limited to the input of the program. Various editing operations of the editor --- insert, move,
It does not describe how to use the syntax information for copying, deleting, etc. In addition, the problem that it is difficult to see because it is targeted at character-based programs
Similar to Program Synthesizer.

【0016】前記図式ベースの構文主導型エディタは、
構文主導型エディタと言いつつも、構文テンプレートの
ような言語要素の構文をガイドしてくれるような仕掛け
はなく、入力したプログラムの構文を後からチェックし
てくれる機能があるのみである。
The diagram-based syntax driven editor is
Although it is a syntax-driven editor, it does not have a mechanism for guiding the syntax of language elements such as syntax templates, and only has the function of checking the syntax of the entered program later.

【0017】本発明の第1の目的は、図形で表現したプ
ログラムを、文字すなわちキーボードのみで、また特別
な図形指定を行なうことなしに、入力する方法を提供す
ることにある。
It is a first object of the present invention to provide a method for inputting a program expressed by a graphic, using only characters, that is, a keyboard, and without special graphic designation.

【0018】また、本発明の第2の目的は、図式で表現
した構文テンプレートを用いることにより、見やすくか
つ入力編集操作が容易で、同時に構文的な誤りの少ない
プログラムを作成可能なプログラム・エディタを提供す
ることにある。
A second object of the present invention is to provide a program editor which is easy to see and can easily input and edit by using a syntax template expressed by a diagram and at the same time can create a program with few syntactic errors. To provide.

【0019】[0019]

【課題を解決するための手段】上記目的を達成するため
に、本発明では以下の方法を提供する。
In order to achieve the above object, the present invention provides the following method.

【0020】(1)図形形式でプログラムを表示し入力
編集を行なう図式プログラム入力編集方法に関し、図式
プログラム表示画面上の任意の部分図式プログラム入力
可能位置に文字列入力可能な領域を設ける手段と、図式
プログラム部品の名称もしくは図式プログラム部品を指
示するキーワードと図式プログラム部品との対応表を具
備し、該名称もしくは該キーワードを表わす文字列を該
領域に入力後、特定のキーまたはボタンの押下を契機と
して、該名称または該キーワードに対応する図式プログ
ラム部品を、該領域位置に、該領域と置き換えて表示す
る。
(1) A graphic program input / editing method for displaying a program in a graphic format for inputting and editing, and means for providing a character string input area at an arbitrary partial graphic program inputtable position on the graphic program display screen, A table of correspondence between names of graphic program parts or keywords designating graphic program parts and graphic program parts is provided, and after a character string representing the name or the keyword is entered in the area, a specific key or button is pressed. , The graphic program part corresponding to the name or the keyword is displayed at the position of the area in place of the area.

【0021】このとき、表示した図式プログラム部品が
引数を持つならば、引数の名称(仮引数名称)を示す文
字列を、該図式プログラム部品の内部または近傍に表示
する。
At this time, if the displayed graphic program component has an argument, a character string indicating the name of the argument (dummy argument name) is displayed inside or near the graphic program component.

【0022】(2)図形形式でプログラムを表示し入力
編集を行なう図式プログラム入力編集方法に関し、名称
またはキーワードを表わす文字列をその一部として持つ
図式プログラム部品の、該文字列を変更し、部品変更を
指示する特定のキーまたはボタンを押下したとき、該図
式プログラム部品を変更後の名称またはキーワードに対
応する図式プログラム部品に変更し表示する図式プログ
ラム入力編集方法。
(2) A graphic program input / editing method for displaying a program in a graphic format for inputting / editing, changing a character string of a graphic program part having a character string representing a name or a keyword as a part thereof, A graphic program input / editing method for changing and displaying the graphic program part corresponding to the changed name or keyword when a specific key or button for instructing a change is pressed.

【0023】(3)図形形式でプログラムを表示し入力
編集を行なう図式プログラム入力編集方法に関し、図式
形式プログラム表示画面上の任意の部分図式プログラム
入力可能位置に、文字列入力可能な領域を設け、該領域
に文字形式によるプログラムを入力後、特定のキーまた
はボタンの押下を契機として、該文字プログラムを、対
応する図式プログラムに変換し表示する図式プログラム
入力方法。
(3) A graphic program input / editing method for displaying and inputting and editing a program in a graphic format, wherein a character string input area is provided at an arbitrary partial graphic program input position on the graphic format program display screen, A graphic program input method of, after inputting a program in a character format in the area, converting the character program into a corresponding graphic program and displaying it when a specific key or button is pressed.

【0024】(4)上記(1)の図式プログラム入力方
法において、新たな図式プログラム部品の入力用文字列
入力領域の挿入コマンド発行後、図式表現プログラム上
で該文字列入力領域を挿入可能な位置に図形カーソルを
位置付けたとき、該挿入可能位置に対応する図式プログ
ラムの部分を識別表示する図式プログラム入力編集方
法。
(4) In the graphic program input method of the above (1), a position at which the character string input area can be inserted on the graphic expression program after the insertion command of the input character string input area of the new graphic program part is issued. A graphic program input / editing method for identifying and displaying a portion of the graphic program corresponding to the insertable position when the graphic cursor is positioned at.

【0025】このとき、文字列入力領域を挿入不可の位
置に図形カーソルを位置付け、挿入実行を指示する特定
のキーまたはボタンを押下したときは、警告音、警告メ
ッセージ等の警告情報を発する。
At this time, when the graphic cursor is positioned at a position where the character string input area cannot be inserted and a specific key or button for instructing the insertion is pressed, warning information such as a warning sound and a warning message is issued.

【0026】また、挿入可能な位置で、挿入実行を指示
する特定のキーまたはボタンを押下したときは、該挿入
位置によって決定される図式プログラム部品を、該位置
に挿入表示する。
When a specific key or button for instructing execution of insertion is pressed at the insertable position, the graphic program part determined by the insertion position is inserted and displayed at that position.

【0027】(5)図形形式でプログラムを表示し入力
編集を行なうプログラム入力編集方法に関し、あらかじ
め退避領域に退避している部分図式プログラムに対する
ペースト・コマンド発行後、もしくは図式プログラム上
であらかじめ指定した部分図式プログラムに対する移動
または複写コマンド発行後、図式プログラム上で該部分
図式プログラムをペースト、移動または複写可能な位置
に図形カーソルを位置付けたとき、該ペースト、移動も
しくは複写可能位置にある図式プログラムの部分を識別
表示する図式プログラム入力編集方法。
(5) Regarding a program input editing method for displaying a program in a graphic format and performing input editing, after issuing a paste command for a partial graphic program saved in advance in a save area, or a part specified in advance on the graphic program After issuing the move or copy command to the graphic program, when the graphic cursor is positioned at a position where the partial graphic program can be pasted, moved or copied on the graphic program, the part of the graphic program at the paste, moveable or copyable position is Schematic program input editing method to identify and display.

【0028】このとき、ペースト、移動または複写不可
の位置に図形カーソルを位置付け、ペースト、移動また
は複写実行を指示する特定のキーまたはボタンを押下し
たときは、警告音、警告メッセージ等の警告情報を発す
る。
At this time, when the graphic cursor is positioned at a position where paste, move or copy is not possible and a specific key or button for instructing execution of paste, move or copy is pressed, warning information such as a warning sound and a warning message is displayed. Emit.

【0029】(6)図形形式でプログラムを表示し入力
編集を行なうプログラム入力編集方法に関し、図式プロ
グラム上であらかじめ指定した一つまたは複数の部分図
式プログラムに対する削除コマンド発行により、該一つ
または複数の部分図式プログラムを図式プログラム上か
ら削除後、残っている図式プログラムの各部を対応させ
つつ、詰合せを行ない、その結果として構文的に誤りの
ある部分図式プログラムが発生したとき、該部分図式プ
ログラムを識別表示する図式プログラム入力編集方法。
(6) A program input editing method for displaying a program in a graphic format for inputting and editing the program by issuing a delete command to one or more partial schematic programs designated in advance on the schematic program. After deleting a partial schematic program from the schematic program, associating each part of the remaining schematic program while associating with each other. As a result, when a syntactically incorrect partial schematic program occurs, the partial schematic program is identified. Schematic program input editing method to display.

【0030】[0030]

【作用】上記(1)(2)および(3)の方法により、
キーボードのみを用いて、図式表現プログラムを作成す
ることが可能となる。
By the above methods (1), (2) and (3),
It is possible to create a graphic expression program using only the keyboard.

【0031】また、(1)の方法により、言語要素の図
式表現による構文テンプレートが表示されるので、誤り
のないプログラムを容易に入力することが可能となる。
Further, according to the method (1), since the syntax template represented by the graphic representation of the language element is displayed, it is possible to easily input an error-free program.

【0032】さらに、(4)(5)および(6)の方法
により、図式表現プログラムの編集と並行してプログラ
ムの構文チェックが行なわれるので、構文的な誤りのな
いプログラムを容易に作成することが可能となる。この
方法はまた、構文情報の厳格な適用による編集操作の制
限もないので、編集操作の効率を落とすこともない。
Further, according to the methods (4), (5) and (6), the syntax check of the program is performed in parallel with the editing of the graphic representation program, so that a program without a syntactic error can be easily created. Is possible. This method also does not reduce the efficiency of the editing operation because there is no restriction on the editing operation due to strict application of syntax information.

【0033】[0033]

【実施例】以下本発明を実施例により詳細に説明する。EXAMPLES The present invention will be described in detail below with reference to examples.

【0034】以下の実施例中で用いるプログラムの図式
表現には、先願(特願平2−056360)または大島
義光「LISPプログラムの図式表現VEX」(情報処
理学会記号処理研究会資料54−3(1990.3.1
2))に記載した表現を主として用いる。また、図式表
現のベースとなるプログラミング言語としては、LIS
P言語(特にCommon LISP)を主に用いる。
ただし、本発明は、LISP言語ならびにそれに基づく
図式表現に限定されるものではない。また、文字表現プ
ログラムの存在を前提とする図式表現プログラムに限定
されるものでもなく、図式表現しか持たない、いわゆる
視覚言語によるプログラムにも適用可能である。
The program used in the following examples is represented graphically by the prior application (Japanese Patent Application No. Hei 2-056360) or Yoshimitsu Oshima, “LEX Programmatic Representation VEX” (Information Processing Society of Japan, Symbol Processing Research Group Material 54-3). (199.3.1
2)) is mainly used. In addition, as a programming language that is the basis of the graphic representation, LIS
The P language (especially Common LISP) is mainly used.
However, the present invention is not limited to the LISP language and the graphic representation based thereon. Further, the present invention is not limited to a graphic expression program which is premised on the existence of a character expression program, but can be applied to a program in a so-called visual language having only a graphic expression.

【0035】図1に、本発明による図式プログラム入力
編集方法を実現するシステムの構成を示す。
FIG. 1 shows the configuration of a system for realizing the graphic program input / editing method according to the present invention.

【0036】図1で、10は、パーソナル・コンピュー
タ、ワークステーション等の制御装置である。2は、図
形を表示するためのディスプレイ装置である。3は、文
字を入力するためのキーボード、4は、ディスプレイ画
面上の位置や、画面上に表示されている図形を何らかの
編集対象として指定するための、マウス等の位置指示装
置である。
In FIG. 1, reference numeral 10 is a control device such as a personal computer or a workstation. Reference numeral 2 is a display device for displaying a graphic. Reference numeral 3 is a keyboard for inputting characters, and 4 is a position indicating device such as a mouse for designating a position on a display screen or a graphic displayed on the screen as an object to be edited.

【0037】図1の20は、本発明による図式プログラ
ム入力編集プログラムである。本プログラムは、文字表
現から図式表現への変換プログラム12、図式表現から
文字表現への逆変換プログラム14、および入力編集制
御プログラム15から構成されている。
Reference numeral 20 in FIG. 1 is a schematic program input editing program according to the present invention. This program is composed of a conversion program 12 from a character representation to a graphic representation, a reverse conversion program 14 from a graphic representation to a character representation, and an input editing control program 15.

【0038】図1の11は、ユーザが作成した文字表現
によるソース・プログラムのファイルである。このファ
イル中のソース・プログラムを、文字表現から図式表現
への変換プログラム12により、図式表現プログラム
(のファイル)13に変換し、入力表示制御プログラム
6を通じてディスプレイ装置8の画面に表示する。
Reference numeral 11 in FIG. 1 is a source program file created by the user in character representation. The source program in this file is converted into a graphic representation program (file) 13 by the character representation to graphic representation conversion program 12 and displayed on the screen of the display device 8 through the input display control program 6.

【0039】図式表現から文字表現への逆変換プログラ
ム14は、逆に図式表現プログラム13を文字表現によ
るソース・プログラム11に変換する。図式表現レベル
でプログラムを入力編集後、この逆変換プログラムで文
字表現によるプログラムを得れば、その後はこの文字表
現プログラムに対するコンバイラで機械語に変換した
り、またはこの文字表現プログラムに対するインタプリ
タを用いて、プログラムを実行することが出来る。もち
ろん、図式表現プログラムのコンパイラまたはインタプ
リタがあれば、文字表現に変換することなく、プログラ
ムを実行することも可能である。
The reverse conversion program 14 from the graphic representation to the character representation reversely converts the graphic representation program 13 into the source program 11 in the character representation. After inputting and editing the program at the schematic representation level, if you get a program with character representation with this inverse conversion program, then convert it into machine language with a combiner for this character representation program, or use an interpreter for this character representation program. , The program can be executed. Of course, if there is a compiler or interpreter for the graphic representation program, it is possible to execute the program without converting it into the character representation.

【0040】入力編集制御プログラム15は、キーボー
ド3およびマウス4などの入力装置から入力された文字
データ、ファンクション・キーのコード、コマンド、画
面上の図形カーソル位置などの情報を入力表示制御プロ
グラム6を通じて取り入れ、解釈し、また、図式プログ
ラム部品表16を利用しつつ、入力編集処理を進め、適
宜、プログラム12、14を起動する。
The input edit control program 15 receives information such as character data, function key codes, commands and graphic cursor positions on the screen, which are input from input devices such as the keyboard 3 and the mouse 4, through the input display control program 6. While inputting, interpreting, and utilizing the graphic program parts table 16, the input editing process is advanced, and the programs 12 and 14 are started as appropriate.

【0041】なお、図式プログラム部品表16には、逐
次実行、条件判定、繰返しなどのプログラム構造の記述
要素、あるいは関数などの、プログラムを構成する構成
要素の文字表現とそれに対応する図式表現の両者を組に
して登録してある。
It should be noted that the graphic program parts table 16 includes both the description elements of the program structure such as sequential execution, condition judgment, repetition, etc., or the character expressions of the constituent elements of the program such as functions and the corresponding graphic expressions. Are registered in pairs.

【0042】また、入力表示制御プログラム6は、最近
のパーソナルコンピュータやワークステーションにおけ
るウィンドウ・システム(例えばXウィンドウ)により
実現することが出来る。
The input display control program 6 can be realized by a window system (for example, X window) in a recent personal computer or workstation.

【0043】次に、具体的な図式表現プログラムの画面
表示例、およびその上での入力編集操作方法について説
明する。
Next, a concrete screen display example of the graphic expression program and an input editing operation method on the screen will be described.

【0044】(1)入力例(その1)関数remの場合
(その1) 図2は、本発明による図式プログラム入力方法の一例を
示した図である。同図(a)の50はプログラム入力画
面、51は画面中に既に入力されているプログラムの一
部である、1入力/1出力の関数fooを表わしている
図形(こゝでは箱)である。52はキーボードからの文
字列(テキスト)入力可能な領域を示し、矢印58によ
り図形51に連結されている。53は次に文字が入力さ
れる位置を表わす文字カーソルである。図では、文字列
入力領域52に既に文字列remが入力されている。
(1) Input Example (1) Function rem (1) FIG. 2 is a diagram showing an example of a schematic program input method according to the present invention. In the figure (a), 50 is a program input screen, and 51 is a figure (a box in this case) representing a one-input / one-output function foo, which is a part of the program already input in the screen. . Reference numeral 52 denotes an area in which a character string (text) can be input from the keyboard, which is connected to the figure 51 by an arrow 58. Reference numeral 53 is a character cursor indicating the position where the character is input next. In the figure, the character string rem has already been input in the character string input area 52.

【0045】文字列入力領域52は、図2では点線で囲
った図形にて表示しているが、これに代えて、この領域
の色を他の部分と変えて表示してもよい。また、領域の
存在が明らかであれば、このような視覚的特徴を付けな
いでおいてもよい。これらのことは以下の説明ででてく
る入力領域に関しても同様である。
The character string input area 52 is shown as a figure surrounded by a dotted line in FIG. 2, but instead of this, the color of this area may be changed to that of the other portion. Further, if the existence of a region is clear, such a visual feature may be omitted. The same applies to the input area described below.

【0046】図1(a)の状態で、次に、キーボード上
に設けている変換キーまたはそれに代わるキーを押す
と、同図(b)のような表示に変わる。(a)の文字列
入力領域52が消えて、関数remに対する図形による
テンプレート、すなわち、図形54と、その二つの引数
のための文字列入力領域55および56と、それらを図
形54に連結する矢印55A、55Bが表示される。ち
なみに、関数remは、numberをdivisor
で割って、その余り(remainder)を返すCo
mmon LISPの関数である。このように、本実施
例では、関数remの引数を入力する領域が、自動的
に、この関数remを表わす図形に対して、所定の相対
的位置関係にある画面上の位置に表示される。とくに、
これらの領域は、矢印55A,55Bでもって図形54
に連結され、それにより、これらの領域が、図形54と
の密接な関係にあることを分かりやすくしているが、領
域55,56は必ずしも図形54に連結させなくてもよ
い。
When the conversion key provided on the keyboard or a key in place of the conversion key is pressed in the state of FIG. 1A, the display changes to that shown in FIG. The character string input area 52 of (a) disappears, and a graphic template for the function rem, that is, the graphic 54, the character string input areas 55 and 56 for the two arguments thereof, and an arrow connecting them to the graphic 54. 55A and 55B are displayed. By the way, the function rem divides the number into a divider
Co that divides by and returns the remainder
It is a function of mmon LISP. As described above, in this embodiment, the area for inputting the argument of the function rem is automatically displayed at a position on the screen having a predetermined relative positional relationship with the graphic representing the function rem. Especially,
These areas are indicated by arrows 55A and 55B and
The regions 55 and 56 do not necessarily have to be connected to the graphic 54, though it is easy to understand that these regions are in close relationship with the graphic 54.

【0047】なお、領域55,56は、図2では点線で
囲った図形にて表示しているが、これに代えて、この領
域の色を他の部分と変えて表示してもよいことは、図2
の領域52の場合と同じである。領域の存在が明らかで
あれば、このような視覚的特徴を付けないでおいてもよ
い。
Although the areas 55 and 56 are displayed by the figure surrounded by the dotted line in FIG. 2, instead of this, the color of this area may be changed from that of the other portions to be displayed. , Fig. 2
This is the same as the case of the area 52 of. If it is clear that the region exists, such a visual feature may be omitted.

【0048】文字列入力領域55および56内には、そ
れぞれ仮引数名称number、divisorが表示
されている。この仮引数名称numberおよびdiv
isorは、ユーザが入力した文字と区別するために、
イタリック体(斜体)で表示される。この仮引数名称表
示により、ユーザは、次に入力すべきものが何であるか
を容易に判断することが出来る。また、次の入力を容易
にするために、関数remの第1引数を表わす文字列入
力領域55の先頭に、文字カーソルが移動している(図
の57)。 この状態で更にキーボードからの入力を進
めると、文字列入力領域55内の仮引数名称numbe
rは消去され、キーボードから入力された文字列に変わ
る。また、一旦入力した文字列を消去した場合、仮引数
文字列が再び表示される。
In the character string input areas 55 and 56, formal parameter names number and divisor are displayed, respectively. This formal parameter name number and div
isor is used to distinguish it from the characters entered by the user.
It is displayed in italics. By displaying the dummy argument names, the user can easily determine what is to be input next. Further, in order to facilitate the next input, the character cursor is moved to the head of the character string input area 55 representing the first argument of the function rem (57 in the figure). When further input from the keyboard is made in this state, the dummy argument name number in the character string input area 55 is
r is erased and replaced with the character string input from the keyboard. Further, when the input character string is deleted, the dummy argument character string is displayed again.

【0049】文字列入力領域55内に次に表示したいプ
ログラムの図形部品の名称を入力し、再度変換キーを押
すと、上記と同様、文字列入力領域55が消えて、その
位置に入力した文字列により指定されるプログラムの図
形部品が表示される。
When the name of the graphic part of the program to be displayed next is entered in the character string input area 55 and the conversion key is pressed again, the character string input area 55 disappears and the character entered at that position disappears, as described above. The graphic parts of the program specified by the column are displayed.

【0050】(2)入力例(その2)関数remの場合
(その2) 図3は、関数remに対する図式テンプレートの他の例
である。本例では、関数remの仮引数名称numbe
rとdivisorを、引数を入力するための文字列入
力領域内でなく、関数を表わす箱54Aの中に、かつ、
それぞれの引数を入力するための文字列入力領域55、
56と対応させて示している。
(2) Input Example (2) Case of Function rem (2) FIG. 3 is another example of the graphic template for the function rem. In this example, the dummy argument name number of the function rem
r and divisor are not in the character string input area for inputting arguments, but in the box 54A representing the function, and
Character string input area 55 for inputting each argument,
It is shown in correspondence with 56.

【0051】この仮引数名称は、通常、入力するプログ
ラム部品がシステムであらかじめ用意している言語要
素、すなわち組み込み関数等(この例では関数rem)
であるとき、表示される。この他、プログラム言語の処
理系がインタプリタ形式のものであって、指定した要素
に対するプログラム定義がメモリ中にあらかじめ読み込
まれている場合にも、その情報を参照することにより、
仮引数名称を表示することが出来る。
This dummy argument name is usually a language element that the input program component prepares in advance in the system, that is, a built-in function or the like (function rem in this example).
Is displayed. In addition, even if the processing system of the programming language is an interpreter format and the program definition for the specified element is preloaded in memory, by referring to that information,
The parameter name can be displayed.

【0052】(3)入力例(その3)プログラム入力の
場合 上記の例では、文字列入力領域52にプログラム言語の
要素の名称(この例では“rem”)を入力して変換キ
ーを押した。その代りに文字形式の完全なプログラムを
入力することもできる。
(3) Input Example (3) Program Input In the above example, the name of the programming language element ("rem" in this example) was input to the character string input area 52 and the conversion key was pressed. . Alternatively, you can enter the complete program in character form.

【0053】例を図4に示す。An example is shown in FIG.

【0054】同図(a)は、図2(a)の文字列入力領
域52中に、プログラム“(* x(+ y z))”
(これはLISP言語で式“x*(y+z)”を実行する
プログラムを表わす)を入力した状況を示し、次に変換
キーを押すと、同図(b)のような図式によるプログラ
ムに変換される。すなわち論理積、論理和を表わす箱6
3、64と、引数x、y、zと、これらを関連づける矢
印とを有する図形を表示する。
In the figure (a), the program "(* x (+ yz))" is displayed in the character string input area 52 of FIG. 2 (a).
(This represents the program that executes the expression "x * (y + z)" in the LISP language), and when the conversion key is pressed next, the program is converted into the program shown in the figure (b). It That is, a box 6 representing a logical product and a logical sum
A graphic having 3, 64, arguments x, y, z, and arrows associating them is displayed.

【0055】入力するのは完全なプログラムでなくても
よい。引数に不足がある場合、不足している引数に対応
する文字列入力領域をシステムが自動的に補う。また、
余分の引数が指定されている場合には、図式に変換した
プログラム上でその引数をシステムが強調表示し、ユー
ザに注意を促す。構文の正しくない引数を入力して変換
したときにも、同様にその引数に対する図式表現をシス
テムが強調表示して、ユーザに注意を促す(あるいはま
た、図式表現に変換出来ない場合には、文字のまま表示
し、そこを強調表示する)。例を図11に示す。
It is not necessary for the complete program to be entered. If there are insufficient arguments, the system will automatically fill the string input area corresponding to the missing arguments. Also,
When an extra argument is specified, the system highlights the argument in the program converted into the diagram and calls the user's attention. When you enter an argument that has incorrect syntax and convert it, the system also highlights the graphic representation for that argument to alert the user (or, if it cannot convert to a graphic representation, the Remain displayed and highlighted there). An example is shown in FIG.

【0056】図5(a)は、図2(a)の文字列入力領
域52内に、文字列remの代わりに、文字列“(re
m (elt list) 3 8)”を入力した状態を
示している。この状態で変換キーを押すと、同図(b)
のような図式表現プログラムに変わる。関数remは本
来2引数の関数であるので、余分な引数“8”がハッチ
ングされて強調表示されている(図5(b)の61)。
また、関数eltも2引数の関数であるが、1引数しか
与えられていないので、残りの引数名称indexを含
む文字列入力領域62が補われて表示されている。ちな
みに、関数eltは、リストまたはベクトルによる形式
で与えられたデータから、index(数)で指定した
要素を取り出すCommon LISPの関数である。
FIG. 5A shows that the character string "(re
m (elt list) 3 8) ”is input. When the conversion key is pressed in this state, the same figure (b)
Change to a schematic representation program like. Since the function rem is originally a function of two arguments, the extra argument “8” is hatched and highlighted (61 in FIG. 5B).
The function elt is also a function of two arguments, but since only one argument is given, the character string input area 62 including the remaining argument name index is supplemented and displayed. Incidentally, the function elt is a function of the Common LISP that extracts the element specified by the index (number) from the data given in the form of the list or the vector.

【0057】なお、本図の場合のように、余分な引数
(図5(b)の61)が残っていたり、必須引数(図5
(b)の62)に入力が与えられない状態のまま編集を
終了しようとすると、警告音、警告メッセージ等でユー
ザに注意を促す。
As in the case of this figure, an extra argument (61 in FIG. 5B) remains, or an essential argument (FIG. 5).
If an attempt is made to end editing while input is not given to 62) in (b), a warning sound, a warning message, or the like will alert the user.

【0058】(4)入力例(その4)関数letの場合 図6は、本発明による図式プログラム入力方法の他の例
を示した図である。本図は、図2(a)で、文字列入力
領域52にremの代わりにletと入力し、変換キー
を押した後の状態を示している。
(4) Input Example (Part 4) Case of Function Let FIG. 6 is a diagram showing another example of the schematic program input method according to the present invention. This figure shows the state after inputting let in place of rem in the character string input area 52 and pressing the conversion key in FIG. 2A.

【0059】同図70の枠とそれに囲まれた部分は、C
ommon LISPのブロック構造を表わす言語要素
letを図式により表現したものである。71はlet
(の図式表現)であることを示すタイトル部分、72は
ブロック構造letにより導入される局所変数の名称を
入力する文字列入力領域、73はその初期値を示すプロ
グラムを入力する文字列入力領域、74はブロック構造
letによるプログラム本体を入力する文字列入力領域
を、それぞれ示している。文字列入力領域72、73、
74内には、それぞれの仮引数名称を示す文字列va
r、init、formが、イタリック体で示されてい
る(varはvarible(変数)、initはin
itial value(初期値)のそれぞれの略称、
formは、実行可能な部分プログラムを表わすCom
mon LISP特有の名称である)。これらのイタリ
ック体で表示された文字列は、前記と同様それぞれの文
字列入力領域内にユーザが文字を入力すると、消去され
る。また、一旦入力した文字列を消去した場合、仮引数
文字列が再び表示される。
The frame in FIG. 70 and the portion surrounded by it are C
This is a diagrammatic representation of a language element let representing the block structure of the OMON LISP. 71 is let
(72 is a schematic representation), 72 is a character string input area for inputting the name of a local variable introduced by the block structure let, 73 is a character string input area for inputting a program indicating its initial value, Reference numerals 74 respectively denote character string input areas for inputting a program body having a block structure let. Character string input areas 72, 73,
A character string va indicating the name of each dummy argument is included in 74.
r, init, and form are shown in italics (var is variable (variable), init is in
Each abbreviation of initial value (initial value),
form is a Com representing an executable partial program.
mon LISP specific name). The character strings displayed in italics are erased when the user inputs a character in the respective character string input areas, as described above. Further, when the input character string is deleted, the dummy argument character string is displayed again.

【0060】図2(b)と同じく、次の入力を容易にす
るために、局所変数名称の文字列入力領域72の先頭
に、文字カーソル76が移動している。
As in FIG. 2B, in order to facilitate the next input, the character cursor 76 is moved to the beginning of the character string input area 72 of the local variable name.

【0061】図6の縦棒75は逐次実行による処理を表
わす図式表現である。75の縦棒を縦に伸ばし、for
mによる部分プログラムを複数並べてこの縦棒につなぐ
ことにより、複数のformによる処理を上から順に実
行するプログラムを表現することが出来る。
The vertical bar 75 in FIG. 6 is a schematic representation showing the processing by sequential execution. Extend the vertical bar of 75 vertically, for
By arranging a plurality of partial programs by m and connecting them to this vertical bar, it is possible to express a program that sequentially executes the processing by a plurality of forms.

【0062】ブロック構造letでは、一般に複数の局
所変数を設定することが出来る。
Generally, a plurality of local variables can be set in the block structure let.

【0063】図7(a)は、図6の状態で、varに変
数名xを入力して変換キーを押し、次に文字列入力領域
73に初期値1を入力した状態を示している。この状態
で変換キーを押すと、同図(b)のように、局所変数x
の下に、新しい局所変数を入力する文字列入力領域77
と、初期値を入力する文字列入力領域78が追加され
る。
FIG. 7A shows a state in which the variable name x is input to var, the conversion key is pressed, and then the initial value 1 is input to the character string input area 73 in the state of FIG. If the conversion key is pressed in this state, the local variable x
Below, is a character string input area 77 for inputting a new local variable.
Then, a character string input area 78 for inputting an initial value is added.

【0064】局所変数は任意個設定可能であるから、上
記の操作を繰り返すことによって、次々と新しい変数と
初期値の文字列入力領域を追加することが出来る。
Since an arbitrary number of local variables can be set, new variables and initial value character string input areas can be added one after another by repeating the above operation.

【0065】新しく追加された局所変数と初期値の文字
列入力領域にともに何も入力しない状態で単に変換キー
を押せば、追加表示された局所変数と初期値の文字列入
力領域が消去され、新しい局所変数の追加を終了するこ
とが出来る。
If the conversion key is simply pressed while nothing is entered in the newly added local variable and the character string input area of the initial value, the additionally displayed local variable and the character string input area of the initial value are erased, You can finish adding new local variables.

【0066】なお、追加表示されているが入力がなされ
ていない局所変数の文字列入力領域をそのままにしてお
いて、他の作業を行なうことも可能である。この場合
は、局所変数および初期値の文字列入力領域はそのまま
残る。再度この文字列入力領域内に文字カーソルを移
し、何も入力しないまま変換キーを押せば、上記と同
様、追加表示されている局所変数と初期値の文字列入力
領域が消去される。また、消去せずに新しい変数名を入
力することもできる。
Note that it is possible to leave the character string input area of the local variable that is additionally displayed but not input, and perform other work. In this case, the local variable and the initial value character string input area remain. If the character cursor is moved again into this character string input area and the conversion key is pressed without any input, the additionally displayed local variable and the character string input area of the initial value are erased. You can also enter a new variable name without erasing it.

【0067】追加表示されている局所変数(および初期
値)文字列入力領域に対して特に何もせず、編集終了の
操作をしたときは、この追加領域は存在しないないもの
として取り扱われ、プログラムはその状態でファイル等
に格納される。
When nothing is done to the additionally displayed local variable (and initial value) character string input area and the editing end operation is performed, this additional area is treated as not existing and the program is In that state, it is stored in a file or the like.

【0068】Common LISPでは、このような
複数の局所変数を設定可能な言語要素は、このほか、関
数定期の言語要素defun、繰り返しの言語要素d
o、などがある。それぞれ、複数の仮引数、および複数
の繰り返しの制御変数を設定することが出来る。
In Common LISP, the language elements for which such a plurality of local variables can be set are the language element defun for the function period and the language element d for the repetition.
o, etc. Each can have multiple dummy arguments and multiple repeat control variables.

【0069】(5)入力例(その5)条件文ifの場合 図8は、本発明による図式プログラム入力方法の他の例
を示した図である。同図(a)は、図2(a)で、文字
列入力領域32にremの代わりにifと入力し、変換
キーを押した後の状態を示している。
(5) Input Example (Part 5) Conditional Statement if FIG. 8 is a diagram showing another example of the schematic program input method according to the present invention. FIG. 2A shows a state after inputting if instead of rem in the character string input area 32 and pressing the conversion key in FIG. 2A.

【0070】図8(a)で、内部にifと書かれた枠
(図の80)とそれから右の図形部分から構成される複
合図形は、Common Lispの条件分岐を表わす
言語要素ifを図式により表現したものである。81
は、配管等の設計図でよく用いられるバルブを表わす図
形を流用したもので、条件分岐ifの機能を象徴的に表
わした図形である。82は、分岐のテスト条件を表わす
プログラムを入力するための文字列入力領域、83は、
テスト条件が成立するときに実行されるプログラムを入
力する文字列入力領域、84は、逆にテスト条件が成立
しなかったときに実行されるプログラムを入力する文字
列入力領域である。前記と同様、それぞれの仮引数名称
(test、then、else)が、文字列入力領域
内にイタリック体で表示されている。
In FIG. 8 (a), a complex figure composed of a frame (80 in the figure) inside of which is written inside if and a figure part on the right side of the box is a language element if representing a conditional branch of Common Lisp by a diagram. It is a representation. 81
Is a graphic that represents the function of the conditional branch if if a graphic that represents a valve that is often used in a design drawing of piping or the like is diverted. Reference numeral 82 is a character string input area for inputting a program representing a branch test condition, and 83 is a
A character string input area for inputting a program executed when the test condition is satisfied, and a character string input area 84 for inputting a program executed when the test condition is not satisfied. Similar to the above, the respective dummy argument names (test, then, else) are displayed in italics in the character string input area.

【0071】図の引数elseは付加的な引数で、入力
してもよいし、しなくてもよい。条件を表わすプログラ
ム“(> x 1)”(これはLISP言語で式“x>
1”を実行するプログラムを表わす)を、test、す
なわち文字列入力領域82に入力して変換キーを押し、
次に“(+ x y)”(これはLISP言語で式“x+
y”を実行するプログラムを表わす)を、then、す
なわち文字列入力領域83に入力して、変換キーを押し
た直後では同図(b)に示す。図のように、比較を表す
図形92、加算を表わす図93と、入力された引数x、
1、x、yがこれらの図形に矢印でもって結合した形で
表示される。このとき文字カーソル85は、else、
すなわち文字列入力領域84の中に来ている。この状態
で変換キーを押すと、elseの文字列入力領域54は
消去され、プログラムの図式表現は、同図(c)のよう
になる。
The argument else in the figure is an additional argument, which may or may not be input. Program that represents the condition "(> x 1)" (this is the expression "x> in the LISP language
1 "is represented in the character string input area 82 and the conversion key is pressed,
Then "(+ x y)" (this is the expression "x + in the LISP language
(representing a program for executing y ”) is input to the character string input area 83, and immediately after the conversion key is pressed, it is shown in FIG. FIG. 93 showing addition and input argument x,
1, x, and y are displayed in such a shape that they are connected to these figures with arrows. At this time, the character cursor 85 is
That is, it is in the character string input area 84. When the conversion key is pressed in this state, the else character string input area 54 is erased, and the schematic representation of the program becomes as shown in FIG.

【0072】このelseに対する文字列入力領域84
は、同図(b)の状態で別の編集に移った場合はそのま
ま残される。elseの文字列入力領域84に対して特
に何もせず、編集終了の操作をしたときは、前記局所変
数の追加入力用文字列入力領域と同様に、この文字列入
力領域はないものとして処理される。
Character string input area 84 for this else
Is left as it is when another editing is performed in the state of FIG. If nothing is done to the character string input area 84 of else and the editing end operation is performed, it is processed as if there is no character string input area like the character input area for additional input of the local variable. It

【0073】なお、Common LISPでは、通常
の関数においても、前記ifの引数elseと同じく、
省略可能な引数を設定することが出来る。また、前記局
所変数のリストと同様に、任意個の要素を持つ引数を定
義することも、同じく可能である。
In Common LISP, even in a normal function, the same as the argument else of the above if,
You can set optional arguments. Further, similarly to the list of local variables, it is also possible to define an argument having an arbitrary number of elements.

【0074】(6)修正 次に、作成した図式プログラムを部分的に修正する場合
の例について説明する。
(6) Modification Next, an example of partially modifying the created graphic program will be described.

【0075】図9および図10は、Common LI
SPの条件分岐の言語要素ifを、他の条件分岐の言語
要素condに変更する例を示したものである。if
は、前記のように、一つのテスト条件によって二つの実
行部の一つを選択して実行するための機構である。図9
は、図8のelse部84に対して、x−yを入力した
後得られる図形94を有する。これに対し、cond
は、複数個の条件部と実行部のペアを記述し、実行時は
このペアを先頭から走査していき、条件部が成立した部
分の実行部を実行する。
FIGS. 9 and 10 show the Common LI.
It shows an example in which the language element if of the conditional branch of SP is changed to the language element cond of another conditional branch. if
Is a mechanism for selecting and executing one of the two execution units according to one test condition, as described above. Figure 9
Has a figure 94 obtained after inputting xy to the else section 84 of FIG. In contrast, cond
Describes a plurality of pairs of a condition part and an execution part. At the time of execution, this pair is scanned from the beginning, and the execution part of the part where the condition part is satisfied is executed.

【0076】図9(a)の状態で、マウス等を使用して
キーワードifの部分に文字カーソル90を置き、if
をcondに書き換え(同図(b)91)、変換キーを
押すと、図式表現プログラムは図10のようになる。i
fのときにあったテスト条件の部分(図9(a)92)
は、図10のcondの条件部/実行部ペアの最初の部
分に置かれる。また、2番目の条件部/実行部ペアの条
件部は何も指定されていないので、新しい文字列入力領
域95が追加され表示される。ifのテスト条件が成立
したときに実行される部分(then部、同図93)と
成立しなかった場合に実行される部分(else部、同
図94)は、それぞれ二つの条件部/実行部ペアに分け
て置かれている。
In the state of FIG. 9A, the character cursor 90 is placed on the keyword if with a mouse or the like, and if
Is changed to cond (91 in FIG. 9B) and the conversion key is pressed, the schematic representation program becomes as shown in FIG. i
The part of the test condition that existed at the time of f (Fig. 9 (a) 92)
Is placed in the first part of the conditional / executor pair of cond in FIG. Further, since no condition part is designated for the second condition part / execution part pair, a new character string input area 95 is added and displayed. The part executed when the if test condition is satisfied (then part, FIG. 93) and the part executed when it is not satisfied (else part, FIG. 94) are two condition parts / execution parts, respectively. They are placed in pairs.

【0077】この例では、変更前と変更後の言語要素は
似たような機能を果たすものであったが、一般に変更後
の言語要素は変更前の言語要素と特に関係がある必要は
なく、どのようなものでもよい。ただし、変更前の言語
要素の引数と変更後の言語要素の引数とは一般には対応
関係がないので、システム側で適当に対応を付けること
になる。その場合、上記でも一部発生しているが、引数
の過不足が生じる可能性がある。これに対して、前記し
た誤りを含む文字プログラムの図式プログラムへの変換
と同様に、不足している引数は補い、過剰な引数は強調
表示してユーザに注意を促す。
In this example, the language elements before and after the change perform similar functions, but in general, the language element after the change does not need to have a particular relationship with the language element before the change. It can be anything. However, since there is generally no correspondence between the argument of the language element before the change and the argument of the language element after the change, the system side will make an appropriate correspondence. In that case, although some have occurred in the above case, there is a possibility that arguments will be over or under. On the other hand, similar to the conversion of the character program including the error into the graphic program described above, the missing arguments are supplemented and the excessive arguments are highlighted to call the user's attention.

【0078】プログラムのもう少し大きな修正を行なう
場合は、通常後述の図式ベースの編集操作により行な
う。しかし、次のような方法も可能である。
In the case of making a slightly larger modification of the program, it is usually carried out by a graphic-based editing operation described later. However, the following method is also possible.

【0079】まず、修正したい領域を一括して文字形式
のプログラムに逆変換する。次に、文字ベースで修正を
行なった後、再度図式ベースの表現に戻す。具体的に
は、図4(b)のようなプログラムで、関数*(図4
(b)の63)をマウス等で指定し、図式表現から文字
表現への変換(逆変換)のコマンドを実行すると、図4
(a)のような表示が得られる。この状態で、文字ベー
スでプログラムの編集を行ない、修正後変換キー等によ
りもとの図式表現プログラムに戻す。
First, the areas to be modified are collectively converted back into a character format program. Next, after making corrections on the basis of characters, the expression on the basis of graphics is restored again. Specifically, a program such as that shown in FIG.
When 63) in (b) is specified with a mouse and a command for conversion from graphic representation to character representation (reverse conversion) is executed,
A display as shown in (a) is obtained. In this state, the program is edited on a character-by-character basis, and the modified graphic key is used to restore the original graphic expression program.

【0080】(7)挿入 次に、図式プログラムの編集操作の例について説明す
る。
(7) Insert Next, an example of the editing operation of the graphic program will be described.

【0081】図11は、新しい文字列入力領域の挿入操
作の例を示した図である。
FIG. 11 is a diagram showing an example of an operation of inserting a new character string input area.

【0082】ところで、通常、テキスト・ベースのエデ
ィタでは、任意の位置に文字列を挿入してプログラムを
修正することが出来る。しかし、本発明のような図式表
現によるプログラム・エディタでは、途中に新しいプロ
グラムを挿入するためには、挿入する位置に入力を行な
うための領域、すなわちこれまでの説明で用いているよ
うな文字列入力領域を明示的に設ける必要がある。とこ
ろが、本発明の図式プログラム・エディタでは、図式に
よる個々のプログラム部品は、対応する言語要素のテン
プレート、すなわち構文形式を表現しているので、まっ
たく勝手な位置に挿入用の文字列入力領域を追加するこ
とは出来ない。そこで、この挿入用の文字列入力領域の
設定にあたって、どこが挿入可能であるか、あらかじめ
ユーザに判るようになっているとありがたい。
By the way, normally, in a text-based editor, a program can be modified by inserting a character string at an arbitrary position. However, in the program editor using the graphic representation as in the present invention, in order to insert a new program in the middle, an area for inputting at the insertion position, that is, a character string as used in the above description is used. It is necessary to explicitly provide the input area. However, in the schematic program editor of the present invention, the individual program parts in the schematic represent the template of the corresponding language element, that is, the syntactical form, so that the character string input area for insertion is added at a completely arbitrary position. I can't do it. Therefore, when setting the character string input area for insertion, it is appreciated that the user can know beforehand what can be inserted.

【0083】図11は、このための支援機能を説明した
図である。
FIG. 11 is a diagram for explaining the support function for this purpose.

【0084】図11(a)は、エディタ・ウィンドウに
付属するプルダウン・メニュー(図示せず)等で挿入コ
マンドを指定し、次にマウス等の画面上の位置を指示す
る装置を用いて、図形カーソル102を挿入したい位置
に移動した状況を示している。この例では、挿入したい
位置は、二つの関数fun1(図の100)とfun2
(図の101)の間である。この状況で、マウス・ボタ
ン等を押して挿入コマンドの実行を指示すると、図11
(b)のように、挿入用の文字列入力領域104が図形
カーソル102で指定した位置に挿入され、その内部に
文字カーソル53が表示される。
In FIG. 11A, a graphic is displayed by using a device such as a mouse for designating an insert command using a pull-down menu (not shown) attached to the editor window and then designating a position on the screen such as a mouse. The situation where the cursor 102 has been moved to the position where the cursor 102 is to be inserted is shown. In this example, the positions to insert are two functions fun1 (100 in the figure) and fun2.
(101 in the figure). In this situation, if you press the mouse button or the like to instruct to execute the insert command,
As shown in (b), the character string input area 104 for insertion is inserted at the position designated by the graphic cursor 102, and the character cursor 53 is displayed therein.

【0085】ところで、図11(a)では、fun2か
らfun1を結ぶ矢印103が太線になっている。この
ように、本実施例では、図形カーソルが位置の矢印10
3の上におくと、これをたく表示するようになってい
る。この状況で挿入操作を実行しないまま(マウス・ボ
タン等を押さず)マウス等操作して図形カーソルを矢印
103の上から離すと、矢印103は通常の太さの表示
に戻る。
By the way, in FIG. 11A, the arrow 103 connecting fun2 to fun1 is a bold line. As described above, in this embodiment, the graphic cursor is positioned at the position of the arrow 10.
If you put it on the top of 3, it will be displayed. In this situation, if the graphic cursor is released from above the arrow 103 by operating the mouse or the like without executing the insertion operation (without pressing the mouse button or the like), the arrow 103 returns to the normal thickness display.

【0086】このように、挿入コマンドを指定した後、
図形カーソルを挿入用文字列入力領域の挿入可能な位置
に移動したとき、そこが強調表示されるようになってい
ると、ユーザはそこが挿入可能であることがわかり、編
集操作が容易になる。
After specifying the insert command,
When the graphic cursor is moved to a position where it can be inserted in the character string input area for insertion, if it is highlighted, the user knows that it can be inserted and the editing operation becomes easy. .

【0087】この例では、挿入可能な位置を示す図形の
強調表示を、矢印の線を太くすることによって行なって
いるが、これは他の方法によって行なってもよい。例え
ば、矢印の線を点線または破線で表わす、線の色を変え
る、などの方法がある。
In this example, the graphic indicating the insertable position is highlighted by thickening the arrow line, but this may be performed by another method. For example, there is a method of representing the arrow line by a dotted line or a broken line, changing the color of the line, and the like.

【0088】さらに、本実施例では、上記の挿入コマン
ド実行状態にあるとき、同図(a)に示しているよう
に、図形カーソル102は挿入コマンド実行状態を示す
形として、矢印の後ろに小さな四角形を付けた形にな
る。通常は、単なる矢印などの形をしている。
Further, in the present embodiment, when in the insert command execution state, as shown in FIG. 9A, the graphic cursor 102 has a shape behind the arrow to indicate the insert command execution state. It becomes a shape with a rectangle. Usually, it is in the shape of a simple arrow.

【0089】図12は、挿入用文字列入力領域の挿入操
作の別の例である。関数fun1(図12(a)の11
0)の二つの引数(関数fun2(111)と関数fu
n3(112))の間に別の引数を挿入しようとした例
である。挿入用の図形カーソル113を関数fun1を
示す箱の、二つの引数を示す矢印の先端によってはさま
れている辺の一部114の上に置くとこの一部が太線に
なって表示される。
FIG. 12 shows another example of the insertion operation of the insertion character string input area. Function fun1 (11 in FIG. 12A)
0) two arguments (function fun2 (111) and function fu
This is an example in which another argument is inserted between n3 (112). When the graphic cursor 113 for insertion is placed on a part 114 of the side sandwiched by the tips of the arrows indicating the two arguments in the box indicating the function fun1, this part is displayed as a thick line.

【0090】この状況で、マウス・ボタン等を押すこと
によって、挿入コマンドを実行すると、図12(b)に
示すように、新しい引数を入力する文字列入力領域11
5が挿入され表示される。カーソル53はその内部に表
示される。
When the insert command is executed by pressing a mouse button or the like in this situation, as shown in FIG. 12B, the character string input area 11 for inputting new arguments is displayed.
5 is inserted and displayed. The cursor 53 is displayed inside it.

【0091】図12(a)による例では、関数fun1
の最初の引数(関数fun2)の前、または最後の引数
(関数fun3)の後に、文字列入力領域を挿入するこ
とも可能である。最初の引数の前に挿入するときは、関
数fun1の箱の左辺上端から第1引数の矢印の先端ま
での間が強調表示され、最後の引数の後に追加するとき
は、関数fun1の箱の左辺下端から最後の引数の矢印
の先端までの間が強調表示される。
In the example shown in FIG. 12A, the function fun1
It is also possible to insert the character string input area before the first argument (function fun2) or after the last argument (function fun3). When inserting before the first argument, the space between the upper left side of the box of the function fun1 and the tip of the arrow of the first argument is highlighted, and when adding after the last argument, the left side of the box of the function fun1. The area from the bottom to the tip of the last argument arrow is highlighted.

【0092】図13に、挿入用文字列入力領域の挿入操
作の第3の例を示す。CommonLISPのブロック
構造を表わす言語要素let120の局所変数リストの
途中に別の局所変数を新しく追加する場合の例である。
FIG. 13 shows a third example of the insertion operation of the insertion character string input area. This is an example of a case where another local variable is newly added in the middle of the local variable list of the language element let120 representing the block structure of CommonLISP.

【0093】図13(a)では、挿入用の図形カーソル
121が、変数リストに既に設定されている二つの変数
var1(図の122)とvar2(図の123)の間
を指している。このとき、二つの変数を仕切っている線
が太い実線で表示される(図の124)。
In FIG. 13A, the graphic cursor 121 for insertion points between the two variables var1 (122 in the figure) and var2 (123 in the figure) already set in the variable list. At this time, the line separating the two variables is displayed as a thick solid line (124 in the figure).

【0094】この状態で、マウス・ボタン等を押して挿
入コマンドを実行すると、図13(b)のように、局所
変数名を入力する文字列入力領域125と、その初期値
を表わすプログラムを入力する文字列入力領域126が
挿入され表示される。
When an insert command is executed by pressing a mouse button or the like in this state, a character string input area 125 for inputting a local variable name and a program indicating its initial value are input as shown in FIG. 13B. The character string input area 126 is inserted and displayed.

【0095】この例でも、図12の場合と同様に、変数
リストの先頭または最後に新しい局所変数用の文字列入
力領域を挿入することも可能である。このときは、変数
リストの上端または下端が強調表示される。
Also in this example, as in the case of FIG. 12, it is possible to insert a new character string input area for a local variable at the beginning or end of the variable list. At this time, the upper or lower end of the variable list is highlighted.

【0096】図14は、挿入用文字列入力領域の挿入操
作を示す第4の例である。Common LISPの条
件分岐の言語要素cond(図の130)の複数の条件
部/実行部140,141のペアの途中に、新しい条件
部/実行部ペアを追加する場合の例である。
FIG. 14 is a fourth example showing an insertion operation of the insertion character string input area. This is an example of adding a new condition part / execution part pair in the middle of a pair of a plurality of condition parts / execution parts 140 and 141 of a language element cond (130 in the figure) of a conditional branch of Common LISP.

【0097】図14(a)では、挿入用の図形カーソル
131が、条件要素condのタイトルを表わしている
箱の左端の線分上で、二つの条件部/実行部140、1
41のペアから発している矢印(図の132、133)
の先端にはさまれる部分を指している。このとき、その
線分の一部が太線になる(図の134)。
In FIG. 14A, the graphic cursor 131 for insertion has two condition parts / execution parts 140 and 1 on the leftmost line segment of the box representing the title of the condition element cond.
Arrows from pair 41 (132, 133 in the figure)
Refers to the part that is sandwiched between the tips. At this time, a part of the line segment becomes a thick line (134 in the figure).

【0098】この状態で、マウス・ボタン等を押して挿
入コマンドを実行すると、図14(b)のように、新し
い条件部を入力するための文字列入力領域135と、新
しい実行部を入力するための文字列入力領域136、お
よび条件判定を示す図形137(ifと同様、配管図の
バルブ記号の流用)、などからなる新しい条件部/実行
部ペアの図形が挿入され表示される。
When an insert command is executed by pressing a mouse button or the like in this state, a character string input area 135 for inputting a new condition part and a new execution part are input as shown in FIG. 14B. A new condition part / execution part pair graphic including a character string input area 136 and a graphic 137 indicating condition determination (similar to if, diversion of valve symbol in piping diagram) is inserted and displayed.

【0099】前例と同様、この場合も、最初の条件部/
実行部ペアの前、または最後の条件部/実行部ペアの後
ろにも挿入可能であり、また、その際に対応位置の強調
表示が行なわれることは言うまでもない。
Similar to the previous example, in this case as well, the first condition part /
It goes without saying that it can be inserted before the execution part pair or after the last condition part / execution part pair, and at that time, the corresponding position is highlighted.

【0100】以上の説明から明らかなように、挿入操作
の各例において、挿入される文字列入力領域は、それぞ
れ挿入される位置における構文に応じたものになってい
る。詳しく言えば、挿入される文字列入力領域は、挿入
される位置の構文に応じて、一つまたは複数の文字列入
力領域とその位置の構文に付随する図形から構成されて
いる。これは、最初に述べた図形による構文テンプレー
トを用いたプログラム入力方法の、挿入操作における変
形と見ることもできる。
As is clear from the above description, in each example of the inserting operation, the character string input area to be inserted corresponds to the syntax at the inserting position. More specifically, the character string input area to be inserted is composed of one or a plurality of character string input areas and a graphic attached to the syntax of the position according to the syntax of the position to be inserted. This can be seen as a variation in the insertion operation of the program input method using the graphic syntax template described at the beginning.

【0101】このように、挿入時には挿入場所に応じた
適切な文字列入力領域が挿入されるので、挿入操作を容
易に行なうことが出来る。同時に、構文的に正しいプロ
グラムの作成を行なうことが出来る。
As described above, since an appropriate character string input area corresponding to the insertion location is inserted at the time of insertion, the insertion operation can be easily performed. At the same time, you can create syntactically correct programs.

【0102】さて、図11〜図14の例では、挿入可能
位置を強調表示する例を示した。これに対し、ユーザ
が、このような挿入可能位置以外の場所で、挿入操作を
実行しようとすることもありえる。
In the examples of FIGS. 11 to 14, the insertable position is highlighted. On the other hand, the user may try to perform the insertion operation at a position other than the insertable position.

【0103】例えば、図12の例で、関数fun1は2
引数の関数で、それ以外に省略可能な引数または任意個
の要素を持つことの出来る引数を持たないものとする。
ちなみに引数の個数の情報は、プログラム部品がシステ
ムで用意している言語要素、すなわち組み込み関数等で
あるときは、あらかじめわかる。また、ユーザ定義の関
数等であっても、プログラム言語の処理系がインタプリ
タ形式のものであって、そのプログラム定義がメモリ中
にあらかじめ読み込まれている場合にも、わかる。この
ような場合は、図12のようにさらに引数を追加するこ
とは出来ない。そのような場合には、図12(a)に示
した位置に図形カーソルを位置付けても、図12(a)
のように114の部分が太線で表示されることはない。
また、その状態でマウス・ボタン等を押して挿入コマン
ドを実行しようとしても、挿入処理は実行されない。そ
の代りに警告音が発せられ、画面上の適切な位置に、そ
の位置には挿入出来ない由の警告メッセージが表示され
る。
For example, in the example of FIG. 12, the function fun1 is 2
The argument function shall have no other optional arguments or arguments that can have any number of elements.
By the way, the information on the number of arguments is known in advance when the program component is a language element prepared by the system, that is, a built-in function. Further, even a user-defined function or the like can be recognized even when the processing system of the programming language is an interpreter type and the program definition is pre-read in the memory. In such a case, it is impossible to add more arguments as shown in FIG. In such a case, even if the graphic cursor is positioned at the position shown in FIG.
The portion 114 is not displayed with a thick line like the above.
Further, even if the mouse button or the like is pressed in this state to execute the insert command, the insert process is not executed. Instead, a warning sound will be emitted and a warning message will be displayed at an appropriate position on the screen, indicating that it cannot be inserted at that position.

【0104】この例以外にも、挿入可能でない任意の位
置で、ユーザが挿入コマンドを実行しようとすると、同
様に警告音と警告メッセージが発せられる。
In addition to this example, when the user tries to execute the insert command at an arbitrary position that cannot be inserted, a warning sound and a warning message are similarly issued.

【0105】以上で文字列入力領域の挿入操作の説明を
終える。
This is the end of the description of the insertion operation of the character string input area.

【0106】なお、これまでに説明した図式プログラム
の入力操作、ないしは文字列入力領域の挿入操作等で導
入した文字列入力領域のうち、関数等の必須引数(必ず
指定しなければならない引数)に相当するものがあり、
それらに何ら入力を与えない状態で編集を終了しようと
すると、その必須引数に対応する文字列入力領域を強調
表示するとともに、警告音および警告メッセージが発せ
られる。
In the character string input area introduced by the input operation of the graphic program or the insertion operation of the character string input area described above, the character string input area is used as an essential argument (argument that must be specified) of a function or the like. There is an equivalent,
If you try to finish editing without giving them any input, the string input area corresponding to the required argument is highlighted, and a warning sound and a warning message are issued.

【0107】以上の各例は、キーボードからの文字列入
力を利用して、図式によるプログラムを作成編集する例
であった。
Each of the above examples is an example in which a character string input is used to create and edit a program in the form of a diagram.

【0108】これから先に述べる例は、キーボードから
の文字列入力とは独立の、図式によるプログラム・エデ
ィタ一般に適用可能な例である。
The above-mentioned example is an example applicable to general program editors in the form of a graphic, independent of the character string input from the keyboard.

【0109】(8)ペースト、移動、複写 まず、ペースト・コマンド(貼り付けコマンド)および
移動・複写コマンドの操作について説明する。
(8) Paste, Move, Copy First, the operation of the paste command (paste command) and move / copy command will be described.

【0110】ペースト・コマンドは、カット・コマンド
(切り出しコマンド)等により、エディタ内部の退避領
域にあらかじめ退避している部分的な図式表現プログラ
ムを、画面上に表示されている図式表現プログラムの一
部に挿入するコマンドである。また、移動・複写コマン
ドは、画面上に表示されている図式表現プログラムの一
部を別の場所に移動または複写するコマンドである。い
ずれのコマンドも、ある対象(部分プログラム)を、指
定位置に移す点が共通している。
The paste command is a part of the graphic expression program displayed on the screen, which is a partial graphic expression program saved in advance in the save area in the editor by a cut command (cut command) or the like. Is a command to insert into. The move / copy command is a command for moving or copying a part of the graphic expression program displayed on the screen to another place. All the commands have a common point of moving a certain target (partial program) to a designated position.

【0111】このペーストもしくは移動・複写コマンド
には実は2種類の実行形式がある。一つは、前記文字列
入力領域の挿入と同様に、ペースト・移動・複写対象を
指定位置に挿入する実行形式、他の一つはペースト・移
動・複写対象を他の別の対象と置き換える形でペースト
・移動・複写する実行形式である。
This paste or move / copy command actually has two types of execution formats. One is an execution form that inserts the paste / move / copy target at a specified position, like the insertion of the character string input area, and the other is a form of replacing the paste / move / copy target with another target. It is an execution format that pastes, moves, and copies with.

【0112】挿入による実行形式では、エディタ・ウィ
ンドウのプルダウン・メニュー等でペースト・移動・複
写コマンドの一つを指定した後、対象を挿入したい場所
に移動すると(なお、移動または複写コマンドの場合
は、その前に移動・複写する対象を指定するステップが
ある)、その場所が挿入可能な場所ならば、前記文字列
入力領域の挿入と同様に、図形カーソルの下にあるプロ
グラムの図形部品の一部が強調表示される。その状態で
マウス・ボタン等を押してコマンドの実行を指示する
と、指定したコマンドの処理が実行される。また、図形
カーソルのある場所が、対象の挿入可能でない場所のと
きは、その場所に図形カーソルを置いた状態でマウス・
ボタン等を押してコマンドの実行を指示しても、コマン
ドは実行されない。その代り、警告音および警告メッセ
ージが発せられる(ただし、以下の置き換え形式により
ペースト・移動・複写コマンドを実行可能な位置に図形
カーソルがある場合を除く)。
In the execution form by insertion, if one of the paste, move, and copy commands is specified in the pull-down menu of the editor window and then the target is moved to the place where you want to insert it (in the case of move or copy command, , Before that, there is a step of specifying the object to be moved / copied). The department is highlighted. When a mouse button or the like is pressed in this state to instruct execution of a command, the processing of the specified command is executed. If the location of the graphic cursor is not the target insertable location, move the mouse cursor with the graphic cursor placed at that location.
The command is not executed even if the command is executed by pressing a button or the like. Instead, a warning sound and a warning message are issued (except when the graphic cursor is at a position where a paste / move / copy command can be executed by the following replacement format).

【0113】ここで、ペースト・移動・複写コマンドに
より対象を指定位置に挿入可能か否かの判定は、前記文
字列入力領域の挿入の場合と異なり、挿入場所にある図
形部品の種別だけでは決まらない。挿入する対象の種別
にも関係する。すなわち、図11(a)や図12(a)
のような状況では、挿入可能な対象は、戻り値を返す一
つの関数相当のもの、またはトップレベルがその関数と
同等な複合プログラムである。図13(a)の場合に
は、局所変数とその初期値からなるペア、図14(a)
の場合には、Common LISPの言語要素con
dを構成する条件部/実行部ペアである。このように、
強調表示されるか否かは、図形カーソルが指している図
形位置と挿入対象によって決定される。
Here, the judgment as to whether or not the target can be inserted at the specified position by the paste / move / copy command is different from the case of the insertion of the character string input area, and is determined only by the type of the graphic part at the insertion position. Absent. It also relates to the type of target to be inserted. That is, FIG. 11 (a) and FIG. 12 (a)
In such a situation, the insertable target is the equivalent of one function that returns a return value, or a compound program whose top level is equivalent to that function. In the case of FIG. 13A, a pair consisting of a local variable and its initial value, FIG.
, Then the Common LISP language element con
It is a condition part / execution part pair that constitutes d. in this way,
Whether or not it is highlighted is determined by the graphic position pointed by the graphic cursor and the insertion target.

【0114】次に、ペースト・移動・複写コマンドを、
置き換え形式により実行する例について説明する。
Next, paste / move / copy commands
An example of executing the replacement format will be described.

【0115】その例を図15に示す。An example thereof is shown in FIG.

【0116】図15(a)は、ウィンドウのプルダウン
・メニュー等によりペースト・コマンドを指定後、図形
カーソル140を置き換え形式でペーストしたい位置に
移動した状況を示している。図では、退避している対象
をペースト・コマンドにより置き換えたい位置は(とい
うよりは置き換えたい画面上の対象は)、関数fun1
の図形100の第2引数位置にある文字列入力領域14
1である。また、ペースト・コマンド実行前にカット・
コマンド(切り出しコマンド)等でエディタ内部の退避
領域に退避しているプログラムは、図15(b)に示し
たものであるとする。この状況で、マウス・ボタン等を
押してペースト・コマンドを実行すると、図15(c)
のように、図15(a)の文字列入力領域141が、図
15(b)のプログラム図形111で置き換えられて表
示される。
FIG. 15A shows a situation in which the graphic cursor 140 has been moved to a position to be pasted in the replacement format after the paste command is designated by the pull-down menu of the window or the like. In the figure, the position where you want to replace the saved target with the paste command (or rather, the target on the screen you want to replace) is the function fun1.
Character string input area 14 at the second argument position of the figure 100
It is 1. Also, cut before executing the paste command.
It is assumed that the program saved in the save area inside the editor by a command (cut command) is the one shown in FIG. In this situation, if you press the mouse button or the like to execute the paste command, you will see Fig.
15A, the character string input area 141 in FIG. 15A is replaced with the program graphic 111 in FIG. 15B and displayed.

【0117】ところで、図15(a)では、図形カーソ
ルの下にある図形、すなわち図形141がハッチングを
かけられて強調表示されている。これは、前記文字列入
力領域の挿入の場合と同様に、図形141が、退避領域
に退避されているプログラムと、ペースト・コマンドに
より置き換え可能であることを示している。
By the way, in FIG. 15A, the graphic under the graphic cursor, that is, the graphic 141 is hatched and highlighted. This indicates that the graphic 141 can be replaced by the program saved in the save area and the paste command, as in the case of inserting the character string input area.

【0118】この状況でペースト・コマンドを実行しな
いまま(マウス・ボタン等を押さず)マウス等を操作し
て図形カーソルを図形141の上から離すと、図形14
1は通常の表示に戻る。
In this situation, if the figure cursor is released from above the figure 141 by operating the mouse or the like without executing the paste command (without pressing the mouse button or the like), the figure 14
1 returns to the normal display.

【0119】このように、ペースト・コマンドを指定し
た後、図形カーソルをペースト可能な対象の上に移動し
たとき、前記文字列入力領域の挿入の場合と同様、そこ
が強調表示されるようになっていると、ユーザはそこが
置き換え形式によりペースト可能であることがわかり、
編集操作が容易になる。
As described above, when the graphic cursor is moved to the pastable object after the paste command is specified, that area is highlighted as in the case of inserting the character string input area. User knows that it can be pasted by the replacement format,
Editing operation becomes easy.

【0120】図15の例では、画面上に表示されている
置き換え対象は文字列入力領域であった。しかし、置き
換え対象はこれに限られるわけではない。画面上に表示
されている任意の対象をペースト・コマンドによって置
き換えることが出来る。ただし、画面上に表示されてい
る勝手な対象を、別のまったく勝手な対象で置き換えら
れるということではなく、両者は類似のものである必要
がある。
In the example of FIG. 15, the replacement target displayed on the screen is the character string input area. However, the replacement target is not limited to this. You can replace any target displayed on the screen with the paste command. However, this does not mean that the arbitrary object displayed on the screen can be replaced with another completely arbitrary object, and the two need to be similar.

【0121】ペースト・コマンドにより画面上の指定対
象を置き換え可能か否かは、挿入形式によるペースト・
コマンドの実行と同様、画面上の置き換え対象の種別
と、退避領域に退避している対象の種別の両者によって
決定される。すなわち、図15(a)のような場合は、
戻り値を返す関数相当のもの、またはトップレベルがそ
の関数と同等な複合プログラムである。また、図13
(b)の125で示される局所変数が置き換え対象とし
て指定されている場合には、置き換え可能なものは、局
所変数ないし局所変数とその初期値からなるペアの形を
した部分プログラムである。図14(b)のcondの
一つの条件分岐を表わす図形136(condの条件節
の一つ)が置き換え対象として指定されている場合に
は、置き換え可能なものは、それと同じ形をした条件節
となる。このように、置き換え可能か否かは、図形カー
ソルが指している図形、すなわち被置き換え対象の種別
と、エディタの退避領域内にあるプログラム、すなわち
置き換え対象の種別の両方によって決定される。これに
よって、画面上に表示されている被置き換え対象を強調
表示するか否かが決まる。
Whether or not the specified object on the screen can be replaced by the paste command depends on the paste format
Similar to command execution, it is determined by both the type of replacement target on the screen and the type of target saved in the save area. That is, in the case of FIG.
It is equivalent to a function that returns a return value, or a compound program whose top level is equivalent to that function. In addition, FIG.
When the local variable denoted by 125 in (b) is designated as the replacement target, the replaceable one is a local variable or a partial program in the form of a pair consisting of the local variable and its initial value. When the graphic 136 (one of the conditional clauses of cond) representing one conditional branch of the cond of FIG. 14B is designated as the replacement target, the replaceable one is the conditional clause of the same shape. Becomes As described above, whether or not replacement is possible is determined by both the graphic pointed by the graphic cursor, that is, the type of the replacement target, and the program in the save area of the editor, that is, the replacement target type. This determines whether or not the replacement target displayed on the screen is highlighted.

【0122】この例では、ペースト可能な対象を示す図
形の強調表示を、ハッチングをかけることによって行な
っているが、これは他の方法によって行なってもよい。
例えば、図形を白黒反転表示する、あるいはカラー表示
可能な表示装置を用いている場合には、図形に色を付け
て表示する、などの方法を用いることが出来る。
In this example, the graphic indicating the pasteable object is highlighted by hatching, but this may be performed by another method.
For example, it is possible to use a method in which a graphic is displayed in black and white in reverse, or when a display device capable of color display is used, the graphic is displayed with a color.

【0123】なお、上記のペースト・コマンド実行状態
にあるとき、図15(a)に示したように、図形カーソ
ルはペースト・コマンド実行状態を示す形になっている
(通常の矢印に黒塗の小さい四角形が付いている)。
In the paste command execution state, as shown in FIG. 15 (a), the graphic cursor has a shape indicating the paste command execution state (the normal arrow is blacked out). With a small square).

【0124】以上の説明では、もっぱらペースト・コマ
ンドの処理について説明したが、移動または複写コマン
ドの場合もまったく同様である。すなわち、ペースト・
コマンドで退避領域のある置き換え対象が、画面上の別
の場所にある対象に変わるだけである。
In the above description, the processing of the paste command has been mainly described, but the same applies to the case of the move or copy command. That is, paste
The command only changes the replacement target with a save area to a target in another location on the screen.

【0125】これまでの説明で、ペースト・移動・複写
コマンドの実行形式に挿入形式と置き換え形式があると
して、それぞれの処理について説明してきたが、それぞ
れの実行形式をユーザが意識する必要はない。図形カー
ソルがある位置によって、すなわち図形カーソルが挿入
形式でコマンドを実行すべき図形の一部を指しているの
か、または置き換え形式でコマンド実行すべき図形対象
を指しているのかによって、どちらの実行形式かが決ま
る。ただし、どちらの場合にしろ、図形カーソルは何か
の図形の一部を指すことになり、どちらの実行形式か判
定するには曖昧である。しかし、これは、図形カーソル
の位置によるそれぞれの実行形式の検出範囲を適切に設
定することによって、区別することが可能である。ま
た、置き換え形式による図形の検出は図形の全体、挿入
形式による図形の検出は図形の一部であるから、どちら
か曖昧なときは、挿入形式による図形の検出を優先させ
ればよい。システムがどちらの実行形式として認識して
いるかは、図形カーソルがある位置の図形全体が強調表
示されるか、または挿入可能な位置を示す図形の一部が
強調表示されるかによって示されるので、ユーザは、実
行形式の区別を容易に判断することが出来る。しかし、
挿入形式と置き換え形式のそれぞれ強調表示を、色など
によって区別することにすれば、さらにわかりやすくす
ることが出来る。
In the above description, each process has been described assuming that the paste, move, and copy command execution forms include the insertion form and the replacement form. However, the user need not be aware of each execution form. Which form of execution depends on where the graphic cursor is located, that is, whether the graphic cursor points to a part of the shape on which the command is to be executed in insert form or to the figure target to be executed on the replace form Is decided. However, in either case, the graphic cursor points to a part of some graphic, and it is ambiguous to determine which execution format. However, this can be distinguished by appropriately setting the detection range of each execution format depending on the position of the graphic cursor. Further, since the detection of the figure by the replacement format is the whole figure and the detection of the figure by the insertion format is a part of the figure, the detection of the figure by the insertion format may be prioritized when either is ambiguous. Which executable the system recognizes is indicated by whether the entire graphic at the position of the graphic cursor is highlighted or a part of the graphic indicating the insertable position is highlighted. The user can easily judge the distinction between the execution formats. But,
If the highlighting of the insertion format and the highlighting of the replacement format are distinguished by colors or the like, it is possible to make it easier to understand.

【0126】なお、以上の挿入、およびペースト、移
動、複写コマンドの各例において、図式プログラム部品
のマウス・カーソルの下にある部分だけが強調表示され
るとして説明した。しかし、これを、マウス・カーソル
下にある図式プログラム部品の、コマンド適用可能な部
分を全て強調表示するようにすることもできる。この方
がユーザに対してより親切かもしれない。さらに、挿
入、ペースト、移動、または複写コマンドが起動された
とき、画面上に表示されている図式プログラム中の全て
の図式プログラム部品のうち、コマンド適用可能な部分
を全て強調表示するようにすることもできる。この場合
は、コマンド適用可能な部分が一目で見渡せるので便利
である。
In each of the examples of the insert, paste, move, and copy commands described above, it has been described that only the portion under the mouse cursor of the graphic program part is highlighted. However, it is also possible to highlight all command-applicable parts of the graphical program part under the mouse cursor. This may be more kind to the user. Furthermore, when an insert, paste, move, or copy command is activated, of all the graphic program parts in the graphic program displayed on the screen, all parts to which the command can be applied are highlighted. You can also In this case, it is convenient to see at a glance the parts to which commands can be applied.

【0127】(9)削除 次に、図式表現プログラムの部分的な削除を行なうコマ
ンドについて説明する。
(9) Deletion Next, a command for partially deleting the graphic expression program will be described.

【0128】図16にその例を示す。FIG. 16 shows an example thereof.

【0129】図16(a)は削除コマンド実行前の状況
を示した図である。図の151(関数fun2)が削除
対象である。マウス等であらかじめ選択操作を施し、そ
の結果、識別表示されている。ここで削除コマンドを実
行すると、同図(b)のような表示になる。関数fun
2が削除された結果、関数fun1(図の150)と、
関数fun2の引数であった関数fun3(図の15
2)および関数fun4(図の153)の間が詰められ
て、関数fun3と関数fun4は、関数fun1のそ
れぞれ第2引数および第3引数として接続されている。
FIG. 16A is a diagram showing the situation before the execution of the delete command. 151 (function fun2) in the figure is the deletion target. A selection operation is performed in advance using a mouse or the like, and as a result, the identification display is performed. If the delete command is executed here, a display as shown in FIG. Function fun
As a result of deleting 2, the function fun1 (150 in the figure),
Function fun3, which was an argument of function fun2 (15 in the figure)
2) and the function fun4 (153 in the figure) are packed, and the functions fun3 and fun4 are connected as the second argument and the third argument of the function fun1, respectively.

【0130】ここで関数fun1は2引数の関数である
とする。その場合、関数fun3は関数fun1の第2
引数となっているので、構文的に問題ない。しかし、関
数fun4は関数fun1の第3引数位置に来ているの
で、関数fun1の余分な引数となっている。この状況
を示すために、図16(b)では関数fun4を強調表
示し(図の153)、ユーザに対し、関数fun4は構
文的に誤りとなる位置にあることを示している。
Here, the function fun1 is assumed to be a function of two arguments. In that case, the function fun3 is the second of the function fun1.
Since it is an argument, there is no problem in syntax. However, since the function fun4 comes to the third argument position of the function fun1, it is an extra argument of the function fun1. In order to show this situation, the function fun4 is highlighted in FIG. 16 (b) (153 in the figure) to indicate to the user that the function fun4 is in a syntactically incorrect position.

【0131】このように、削除コマンドの実行結果、構
文的に誤りとなる部分プログラムが発生した場合、上記
の処理によって、ユーザに対して構文的に誤っている部
分の所在を示すことができる。これによって、ユーザは
構文的な誤りのないプログラムを作成することが出来
る。
As described above, when a partial program having a syntactical error is generated as a result of the execution of the delete command, the location of the syntactically incorrect portion can be shown to the user by the above processing. This allows the user to create a program that is syntactically correct.

【0132】一方、削除コマンドの実行により削除対象
が削除され、その上位の図形部品につながるものが何も
なくなってしまうときがある。このときは、その位置に
未入力状態の文字列入力領域を接続する。
On the other hand, there is a case where the deletion target is deleted by the execution of the deletion command, and there is nothing that is connected to the upper graphic part. At this time, the character string input area in the uninput state is connected to that position.

【0133】ところで、以上に述べた図式プログラムの
入力編集方法は、上記の各種実施例で用いてきた図式表
現法によるプログラムだけでなく、他の方法による図式
表現プログラムにも適用可能である。
By the way, the input / edit method of the graphic program described above can be applied not only to the program by the graphic expression method used in the above-mentioned various embodiments but also to the graphic expression program by other methods.

【0134】例えば、ベース言語にC言語を用い、図式
表現法として従来例で引用したPADを利用する場合を
考える。
Consider, for example, the case where the C language is used as the base language and the PAD cited in the conventional example is used as the graphic representation method.

【0135】図17に一例を示す。FIG. 17 shows an example.

【0136】同図(a)の160は文字列入力領域であ
る。今この文字列入力領域160に文字列“if”が入
力されている。この状態で変換キーを押すと、同図
(b)のようになる。同図(b)の161は、条件分岐
を表わすPAD図形である。また、162は、分岐条件
の内容を記すための文字列入力領域、163、164は
それぞれ条件が成立したとき(YES)、および成立し
なかったとき(NO)に実行されるプログラムを入力す
る文字列入力領域である。次の入力を促進するため、文
字カーソルが文字列入力領域162の先頭に移動してい
る。
Reference numeral 160 in FIG. 13A is a character string input area. Now, the character string “if” is input in the character string input area 160. When the conversion key is pressed in this state, it becomes as shown in FIG. Reference numeral 161 in FIG. 3B is a PAD graphic representing a conditional branch. Further, 162 is a character string input area for describing the content of the branch condition, and 163 and 164 are characters for inputting a program to be executed when the condition is satisfied (YES) and when the condition is not satisfied (NO). This is the column input area. The character cursor has moved to the beginning of the character string input area 162 to facilitate the next input.

【0137】図18に別の例を示す。FIG. 18 shows another example.

【0138】同図(a)は文字列入力領域170に文字
列“switch”と入力した状態を示しており、この
状態で変換キーを押すと、同図(b)のようになる。
FIG. 15A shows a state in which the character string “switch” has been input in the character string input area 170, and when the conversion key is pressed in this state, it becomes as shown in FIG.

【0139】C言語のswitch文は、式の値にした
がって、後続するいくつかの文(任意個)の一つに制御
を移すためのものである。後続の各文は、case接頭
辞により式の値と比較するための定数値を持つ。swi
tch文の式の値とcase接頭辞の定数値が一致した
とき、対応する文の本体が実行される。
The C language switch statement is for transferring control to one of a number of subsequent statements (arbitrary number) according to the value of the expression. Each subsequent statement has a constant value for comparison with the value of the expression by the case prefix. swi
When the expression value of the tch statement and the constant value of the case prefix match, the body of the corresponding statement is executed.

【0140】図18(b)の171は、図17(b)の
161と同じく、条件分岐を表わすPAD図形である。
172はswitchに付属する式を入力する文字列入
力領域、173、175は、それぞれ文の条件照合用定
数値を入力する文字列入力領域、174、176は、式
の値が173、175の定数値と一致したとき実行され
るプログラムを入力する文字列入力領域である。
171 of FIG. 18 (b) is a PAD figure representing a conditional branch, like 161 of FIG. 17 (b).
172 is a character string input area for inputting an expression attached to the switch, 173 and 175 are character string input areas for inputting a constant value for condition matching of the sentence, 174 and 176 are constant values of the expression 173 and 175, respectively. It is a character string input area to enter the program to be executed when it matches the numerical value.

【0141】図18(b)の状態でそれぞれの文字列入
力領域に必要な内容を入力し(同図(c)の状態にな
る)、変換キーを押すと、同図(d)のように、新しい
case定数値と対応する実行プログラムの文字列入力
領域が追加される(同図177、178)。これは、図
6で説明した例と同様な機能を利用したものである。同
じ操作を繰り返すことにより、このcase定数値と実
行プログラムの文字列入力領域のペアは、好きなだけ追
加することができる。
In the state shown in FIG. 18B, the necessary contents are entered in the respective character string input areas (the state shown in FIG. 18C) and the conversion key is pressed, as shown in FIG. A character string input area of the execution program corresponding to the new case constant value is added (177 and 178 in the same figure). This utilizes the same function as the example described in FIG. By repeating the same operation, as many pairs of the case constant value and the character string input area of the execution program as possible can be added.

【0142】また、新しく追加されたcase定数値と
実行プログラムの文字列入力領域の両方共に何も入力し
ない状態で単に変換キーを押すと、追加表示されたこの
ペアは消去され、このペアの新しい追加を終わることが
出来る。
Further, if the conversion key is simply pressed in a state where neither the newly added case constant value nor the character string input area of the execution program is input, this additionally displayed pair is erased and the new pair of this pair is deleted. You can finish adding.

【0143】このほか、図4および図5で説明したよう
な、文字列入力領域にプログラムを入力して、これを図
式表現に変換する方法は、PADの場合にも容易に適用
可能である。
In addition, the method of inputting the program into the character string input area and converting it into the graphic representation as described with reference to FIGS. 4 and 5 can be easily applied to the PAD.

【0144】以上、本発明による図式プログラム入力編
集方法のさまざまな例について説明した。
Various examples of the graphical program input editing method according to the present invention have been described above.

【0145】(10)入力編集プログラム 次に、これら図式プログラムの入力編集方法を具体的に
実現する方法について述べる。
(10) Input Editing Program Next, a method for specifically realizing the input editing method of these graphic programs will be described.

【0146】図19は、図1の入力編集制御プログラム
15の基本制御フローを示すPAD図である。図19
は、図式表現プログラムのエディタを起動し、画面にエ
ディタ・ウィンドウが表示されている状況にあるときの
フローを示している。
FIG. 19 is a PAD diagram showing a basic control flow of the input edit control program 15 of FIG. FIG. 19
Shows the flow when the editor of the graphic representation program is started and the editor window is displayed on the screen.

【0147】図19からわかるように、最初は、キーボ
ード、マウス等の入力装置からのユーザ入力待ちにあ
り、入力が入ると対応する処理を行ない、また入力待ち
に戻るというループをなしている。
As can be seen from FIG. 19, at first, the process waits for a user input from an input device such as a keyboard or mouse, and when an input is received, the corresponding process is performed, and the process returns to the input wait.

【0148】ステップ200で、キーボードまたはマウ
ス等から入力が入ると、ステップ201に進み、入力の
種別の判定を行なう。入力がキーボードからの入力なら
ば、ステップ202に進み、キーボードからの入力処理
を行なう。マウス・ボタン押下による入力ならば、ステ
ップ203に進む。また、エディタ・ウィンドウのプル
ダウン・メニューに用意されているコマンドが選択され
たことを示す入力ならば、ステップ204に進み、コマ
ンドの処理を行なう。
When an input is made from the keyboard or the mouse in step 200, the process proceeds to step 201 and the type of input is judged. If the input is from the keyboard, the process proceeds to step 202 and the input processing from the keyboard is performed. If the input is by pressing the mouse button, the process proceeds to step 203. If the input indicates that the command prepared in the pull-down menu of the editor window is selected, the process proceeds to step 204 to process the command.

【0149】図20は、キーボード入力処理を示すフロ
ーである。
FIG. 20 is a flow chart showing keyboard input processing.

【0150】まず、ステップ210で、キーボードから
の入力の判別を行なう。入力が文字データならばステッ
プ211に進み、文字入力処理を行なう。入力が変換キ
ーならばステップ212に進み、文字列入力領域に入力
されているキーワードを対応する図式テンプレートに変
換する。入力がキーボード上の各種編集キー(例:挿
入、削除、後退など)ならばステップ213に進み、入
力された編集キーに対応する処理を行なう。
First, in step 210, the input from the keyboard is determined. If the input is character data, the process proceeds to step 211 and character input processing is performed. If the input is a conversion key, the process proceeds to step 212, and the keyword input in the character string input area is converted into the corresponding graphic template. If the input is various edit keys on the keyboard (eg, insert, delete, backward, etc.), the process proceeds to step 213, and the process corresponding to the input edit key is performed.

【0151】次に、文字入力および変換処理について、
図2の例を参照して説明する。
Next, regarding character input and conversion processing,
This will be described with reference to the example of FIG.

【0152】図21は、図1の図式表現プログラム・フ
ァイル13の内容を示したものである。ここでは、例と
して、図2(a)に表示されている図式プログラムに対
応する内部データ527を示している。
FIG. 21 shows the contents of the graphic representation program file 13 of FIG. Here, as an example, the internal data 527 corresponding to the schematic program displayed in FIG. 2A is shown.

【0153】図21の300は、図2(a)の関数fo
oの図形51に対する内部データである。以下このよう
な画面上の各種図式プログラム部品に対する内部データ
を、「セル」と呼ぶ。セル300は、関数foo51を
画面に表示するために必要なデータを格納する複数のス
ロットを持っている。
Reference numeral 300 in FIG. 21 denotes the function fo in FIG.
This is internal data for the figure 51 of o. Hereinafter, such internal data for various graphic program parts on the screen will be referred to as "cell". The cell 300 has a plurality of slots for storing data necessary for displaying the function foo51 on the screen.

【0154】最初のスロット「分類」には、セルの種別
を表わす名称が入る。この場合は関数であるから、関数
を指示する名称「関数」が入っている。
In the first slot "classification", a name indicating the cell type is entered. In this case, since it is a function, the name “function” that indicates the function is included.

【0155】2番目、3番目のスロット「位置」「サイ
ズ」には、関数fooの図形を画面上に表示するときの
位置およびサイズの情報の情報、具体的には2次元の座
標値および寸法が入っている。
In the second and third slots "position" and "size", information of position and size information when the figure of the function foo is displayed on the screen, specifically, two-dimensional coordinate values and dimensions. Is included.

【0156】4番目以降のスロットは、関数を表現する
図形部品固有のスロットである。
The fourth and subsequent slots are slots peculiar to graphic parts expressing functions.

【0157】スロツト「名称」には関数の名称を表わす
データを保持するセル301へのポインタ、スロット
「引数」には関数の引数を表わすデータを表わすセル3
02をポイントするポインタ305へのポインタ、スロ
ット「枠」には関数の具体的形状を表わしている枠の図
形データを表わすセル308へのポインタ、スロット
「戻り値矢印」には関数の戻り値を表わす矢印の図形を
表わすデータを表わすセル303へのポインタが、それ
ぞれ入っている。
A slot "name" is a pointer to a cell 301 holding data representing a function name, and a slot "argument" is a cell 3 representing data representing a function argument.
A pointer to a pointer 305 that points to 02, a pointer to a cell 308 that represents the graphic data of a frame that represents the concrete shape of the function in the slot “frame”, and a return value of the function in the slot “return value arrow”. The pointers to the cells 303 representing the data representing the graphic of the indicated arrow are respectively entered.

【0158】例えば、スロット「名称」には、文字列
“foo”そのものではなく、文字列を表現するデータ
を保持するセル301を指すポインタが入っている。部
品名称を表わすデータを独立のセルにしているのは、関
数の名称を表わす文字列が「関数」のセルとは別に独自
の「位置」「サイズ」の情報を持つこと、また、関数の
名称は固定的なデータでなく、これもまた入力編集の対
象になること、が理由である。
For example, the slot “name” contains not the character string “foo” itself but a pointer pointing to the cell 301 holding the data expressing the character string. The data representing the part name is set as an independent cell because the character string representing the function name has its own "position" and "size" information in addition to the "function" cell. The reason is that is not fixed data, and this is also subject to input editing.

【0159】セル301は、固有のスロットとして「文
字列」等のスロットを持っている。
The cell 301 has a slot such as "character string" as a unique slot.

【0160】セル301の「分類」の内容は、単なる
「文字列」ではなく、「文字列入力領域」となってい
る。これは、上記のように、関数の名称(この場合“f
oo”)をあとから修正変更できるようにしているため
である。「文字列入力領域」に関するさらに詳しい説明
は後述する。
The content of "classification" of the cell 301 is not "mere character string" but "character string input area". This is the name of the function (in this case "f
This is because oo ″) can be modified and changed later. A more detailed description of the “character string input area” will be given later.

【0161】セル300のスロット「引数」には、セル
305を介してセル302が接続されている。セル30
2は、図2(a)の文字列入力領域52に対応するセル
である。スロット引数にセル302を直接接続していな
いのは、関数の引数は一般に複数個存在するためであ
る。セル305は、それら複数の引数をつなげて一つに
まとめるための補助的なデータである。
The cell 302 is connected to the slot “argument” of the cell 300 via the cell 305. Cell 30
2 is a cell corresponding to the character string input area 52 of FIG. The reason why the cell 302 is not directly connected to the slot argument is that there are generally a plurality of function arguments. The cell 305 is auxiliary data for connecting the plurality of arguments and combining them into one.

【0162】セル300のスロット「枠」には、セル3
08が接続されている。セル308は、長方形を表示す
るためのデータで、この場合、図2(a)の関数foo
(51)の図形表現である関数の箱を表示するために用
いられている。
In the slot "frame" of the cell 300, the cell 3
08 is connected. A cell 308 is data for displaying a rectangle, and in this case, the function foo of FIG. 2A is used.
It is used to display a box of functions that is the graphical representation of (51).

【0163】セル308には、「分類」「位置」「サイ
ズ」の各スロットに加えて、「枠の形状」「枠の太さ」
「枠の色」の各スロットがある。それぞれ長方形の枠を
表わしている線の形状−−実線、点線、破線等の種別−
−、太さ、色の情報が格納される。
In the cell 308, in addition to the slots of “classification”, “position”, and “size”, “frame shape” and “frame thickness” are set.
There are slots for "frame color". Shapes of lines that represent rectangular frames-Types such as solid lines, dotted lines, and broken lines-
-, Thickness, and color information are stored.

【0164】セル300のスロット「戻り値矢印」に
は、セル303の矢印のセルが入っている。このセル3
03は、「始点」「終点」「形状」「太さ」「色」の各
スロットを持つ。これらのスロットは、図4に示した線
分のセルが持つスロットと同じである。矢印は、その基
本部分は図形的に線分と共通で、やじりの飾りの部分が
これに加わった形になっている。したがって、矢印は、
線分と共通のスロットで表わすことができる。
The slot "return value arrow" of the cell 300 contains the cell of the arrow of the cell 303. This cell 3
03 has slots of “start point”, “end point”, “shape”, “thickness”, and “color”. These slots are the same as the slots of the cell of the line segment shown in FIG. The arrow is basically the same as the line segment, and the shape of the arrow is added to it. Therefore, the arrow
It can be represented by a slot common to the line segment.

【0165】セル302は、固有のスロットとして、
「文字列」「戻り値矢印」の各スロットを持つ。
The cell 302 has, as a unique slot,
It has slots of "character string" and "return value arrow".

【0166】セル302のスロット「文字列」には、キ
ーボードから入力された文字列が入る。スロット「戻り
値矢印」は、図2(a)の文字列入力領域52から関数
51に向かう矢印58に対応するセル304を示すポイ
ンタが入っている。
A character string input from the keyboard is entered in the slot "character string" of the cell 302. The slot “return value arrow” contains a pointer indicating the cell 304 corresponding to the arrow 58 pointing from the character string input area 52 to the function 51 in FIG.

【0167】図21の306、307は、それぞれ「文
字カーソルのある文字列入力領域」およびその文字列入
力領域内での「文字カーソル位置」を表わす共通変数で
ある。図2(a)では、文字カーソルは文字列入力領域
52内にある(図の53)。したがって、変数306す
なわち「文字カーソルのある文字列入力領域」には、図
2(a)の文字列入力領域52に対応するセル302指
すポインタが入っている。また、文字カーソル自身は、
文字列入力領域の1行目の4文字目(4文字目は次に文
字を入力する位置)にあるので、変数307すなわち
「文字カーソル位置」には、値(4、1)が入ってい
る。
Reference numerals 306 and 307 in FIG. 21 are common variables representing the "character string input area with the character cursor" and the "character cursor position" within the character string input area, respectively. In FIG. 2A, the character cursor is in the character string input area 52 (53 in the figure). Therefore, the variable 306, that is, the “character string input area with the character cursor” contains the pointer pointing to the cell 302 corresponding to the character string input area 52 of FIG. Also, the character cursor itself is
Since it is at the 4th character of the 1st line of the character string input area (the 4th character is the position to input the character next), the value (4, 1) is stored in the variable 307, that is, the “character cursor position” .

【0168】この状態でさらにキーボードから文字が入
力された場合、図20のステップ211の処理(文字入
力処理)により、変数「文字カーソル」位置に文字が挿
入表示され、文字カーソルは一つ右に動く。
When a character is further input from the keyboard in this state, the character is inserted and displayed at the position of the variable "character cursor" by the processing (character input processing) of step 211 in FIG. 20, and the character cursor is moved to the right by one. Move.

【0169】また、挿入、削除等の各種編集機能に対応
するキー入力がなされた場合は、図20のステップ21
3において、文字の挿入、削除等の処理が行なわれる。
When a key input corresponding to various editing functions such as insertion and deletion is made, step 21 in FIG.
At 3, processing such as insertion and deletion of characters is performed.

【0170】一方、図20のステップ210でキーポー
ドから入力されたものが変換キーであると判定された場
合は、ステップ212に進み、変換キーに対する処理を
行なう。
On the other hand, if it is determined in step 210 of FIG. 20 that the input from the keypad is the conversion key, the process proceeds to step 212 and the conversion key is processed.

【0171】図22および図23に、変換キーの処理の
詳細を示す。
22 and 23 show details of the conversion key processing.

【0172】図からわかるように、変換キーが押された
ときの状況によって、処理が様々に異なる。
As can be seen from the figure, the processing differs variously depending on the situation when the conversion key is pressed.

【0173】まず、ステップ220で、変換キーが押さ
れたとき、文字カーソルがどの文字領域にあるか判定す
る。文字カーソルが、関数等の実引数もしくは変数等の
初期値に対応する文字入力領域にあるときは、ステップ
221に進む。図2(a)のような場合がこれに相当す
る(文字カーソル53は、関数foo(図の51)の引
数位置にある文字列入力領域52中にある)。また、図
6の73のような、局所変数定義の初期値に対応する文
字入力領域内に文字カーソルがある場合も、これに該当
する。
First, in step 220, when the conversion key is pressed, it is determined which character area the character cursor is in. When the character cursor is in the character input area corresponding to the actual argument of the function or the initial value of the variable, the process proceeds to step 221. The case like FIG. 2A corresponds to this (the character cursor 53 is in the character string input area 52 at the argument position of the function foo (51 in the figure)). This also applies to the case where the character cursor is within the character input area corresponding to the initial value of the local variable definition, such as 73 in FIG.

【0174】次に、ステップ221では、その文字列入
力領域に既に文字列が入力されているかどうか判定す
る。既に文字列が入力されている場合(図2(a)のよ
うな場合)、図式プログラムへの変換処理を行なう(ス
テップ222)。変換処理の詳細は後述する。
Next, in step 221, it is determined whether or not a character string has already been input in the character string input area. If the character string has already been input (as in the case of FIG. 2A), conversion processing into a graphic program is performed (step 222). Details of the conversion process will be described later.

【0175】ステップ221で、文字カーソルの存在す
る文字列入力領域内に文字列が入力されていない場合、
その文字列入力領域の種別を判別する(図22のステッ
プ223)。その文字列入力領域がその上位セルの省略
可能な引数または変数等の初期値の場合、その文字列入
力領域を削除する(ステップ224)。ここで、省略可
能な引数または初期値とは、例えば前記ifの引数el
seのようなもの(図8(b)の84)、あるいは図6
のletの局所変数の初期値(図の73)である。ま
た、前記letの変数リスト中の変数のような、任意個
設定可能な引数の一つもこれに該当する。
If it is determined in step 221 that no character string has been input in the character string input area where the character cursor exists,
The type of the character string input area is determined (step 223 in FIG. 22). If the character string input area is an initial value of an optional argument or variable of the upper cell, the character string input area is deleted (step 224). Here, the optional argument or the initial value is, for example, the argument el of the if
se (84 in FIG. 8B) or FIG.
Is the initial value of the local variable of let (73 in the figure). Also, one of the arguments that can be set in any number, such as the variables in the variable list of the let, corresponds to this.

【0176】ステップ223で、文字カーソルがある文
字列入力領域が、省略可能でない引数に対応するものの
場合は、何もしない。省略可能でない引数とは、必ず指
定しなければならない引数、例えば関数remの引数n
umber、divisorなどである。
In step 223, if the character string input area in which the character cursor is located corresponds to an argument that cannot be omitted, nothing is done. An argument that cannot be omitted is an argument that must be specified, for example, the argument n of the function rem.
Umber, divisor, etc.

【0177】ステップ223のあと、次にステップ22
5、226、227で、文字カーソルを次の文字入力領
域に移動する処理を行なう。ステップ225で、注目し
ている(該当する文字列入力領域を削除した場合には、
注目していた)文字列入力領域に、後続する引数の有無
を調べる。後続引数がある場合には、その引数の文字列
入力領域に文字カーソルを移動する(ステップ22
6)。後続引数がない場合には、その文字列入力領域の
より上位の言語要素の引数を再帰的に探し、その文字列
入力領域より相対的に後方で最初に見つかった文字列入
力領域に、文字カーソルを移動する(ステップ22
7)。
After step 223, next step 22
At 5, 226 and 227, the process of moving the character cursor to the next character input area is performed. At step 225, the user is paying attention (when the corresponding character string input area is deleted,
Check whether there is a subsequent argument in the character string input area. If there is a subsequent argument, move the character cursor to the character string input area for that argument (step 22).
6). If there is no trailing argument, it recursively searches for the argument of the language element higher than the character string input area, and the character cursor is moved to the first character string input area found relatively behind the character string input area. Move (step 22)
7).

【0178】図22のステップ220で、文字カーソル
のある文字列入力領域が変数リスト中の変数の一つ、す
なわち、letの局所変数リスト、関数定義defun
の仮引数リスト、またはdoの繰り返し制御変数リスト
等の変数リスト中の変数の一つであったとき、次に、ス
テップ228で、その文字列入力領域に既に文字列が入
力されているかどうか調べる。文字列が既に入力されて
いるならば、変数名を指定文字列の内容に変更する(ス
テップ229)。その文字列入力領域に文字列がまだ入
力されていないならば、前記ステップ224の場合と同
様、その文字列入力領域を削除する(ステップ23
0)。
In step 220 of FIG. 22, the character string input area where the character cursor is located is one of the variables in the variable list, that is, the local variable list of let and the function definition defun.
If it is one of the variables in the variable list of the parameter list of do or the variable list of the repetition control variable of do, then in step 228, it is checked whether or not a character string is already input in the character string input area. . If the character string has already been input, the variable name is changed to the content of the designated character string (step 229). If the character string has not been input in the character string input area, the character string input area is deleted as in the case of step 224 (step 23).
0).

【0179】なお、図には示していないが、ステップ2
28、229、230の処理のあと、図23の225、
226、227に示したような、次の文字列入力領域へ
の文字カーソルの移動処理を行なう。
Although not shown in the figure, step 2
After the processing of 28, 229 and 230, 225 of FIG.
A process of moving the character cursor to the next character string input area as shown by 226 and 227 is performed.

【0180】ステップ220で、文字カーソルのある文
字列入力領域が、言語要素に対応する図形部品の名称表
示領域、例えば、図2(b)の関数fooや関数rem
の名称を示す文字領域(59、60)、または、図12
のブロック構造letの名称表示領域(71)、あるい
は図8(a)の条件分岐ifの名称表示領域(80)な
どにあるとき、ステップ231で、その領域に表示され
ている文字列と図形部品の名称とを照合する。これが一
致している場合には何もしない。異なっている場合に
は、図形部品に対する変更指示と解釈し、表示されてい
る図形部品を、文字列で指定した名称を持つ図形部品に
変更する(ステップ232)。このとき、図9の例で説
明したように、変更前と変更後で引数に不一致があれ
ば、不足している引数は補い、過剰な引数は強調表示し
て、ユーザに注意を促す。
At step 220, the character string input area with the character cursor is the name display area of the graphic part corresponding to the language element, for example, the function foo or the function rem of FIG. 2B.
Character area (59, 60) indicating the name of the
8 is in the name display area (71) of the block structure let or the name display area (80) of the conditional branch if of FIG. 8A, in step 231, the character string and the graphic part displayed in that area are displayed. Match the name of. If they match, do nothing. If they are different, it is interpreted as a change instruction for the graphic component, and the displayed graphic component is changed to the graphic component having the name designated by the character string (step 232). At this time, as described in the example of FIG. 9, if there is a mismatch between the arguments before and after the change, the missing arguments are supplemented and the excessive arguments are highlighted to alert the user.

【0181】変更後、新しい図形部品の第1引数に対応
する文字列入力領域の先頭に、文字カーソルを移動する
(ステップ233)。
After the change, the character cursor is moved to the head of the character string input area corresponding to the first argument of the new graphic part (step 233).

【0182】次に、図22のステップの図式プログラム
への変換処理(ステップ222)の内容について説明す
る。
Next, the contents of the conversion processing (step 222) into the graphic program of the steps of FIG. 22 will be described.

【0183】図24は、図1の図式プログラム部品表1
6の内容を示したものである。表の要素は、それぞれ使
用言語(この場合はCommon LISP)の言語要
素ごとに、名称、文字表現による構文、およびそれに対
応する図式プログラム部品を表わす図形に関するデータ
からなっている。
FIG. 24 is a schematic program parts table 1 of FIG.
6 shows the contents of 6. The elements of the table each include a name, a syntax by a character expression, and data about a graphic representing a corresponding graphic program part for each language element of a used language (Common LISP in this case).

【0184】なお、図24中の「・・・」は、任意個の
同じものが繰り返されることを示している。例えば、項
番1の「一般の関数」において、「文字表現の構文」の
欄のの<引数2>の後の「・・・」は、<引数3> <
引数4>・・・が必要なだけ続くことを表わしている。
「図式プログラム部品」の方も同様である。ただし、任
意個であるから、何も続かなくてもよい。また、「一般
の関数」で引数が一つの場合が示されていないが、ほぼ
項番1の場合と同様であるので、記述を省略した。
Note that "..." In FIG. 24 indicates that any number of the same items are repeated. For example, in “general function” of item number 1, “...” after <argument 2> in the “character expression syntax” column is <argument 3><
It indicates that the arguments 4> ... Continue as many times as necessary.
The same applies to "schematic program parts". However, since it is an arbitrary number, it is not necessary to continue anything. In addition, although the case where the "general function" has one argument is not shown, the description is omitted because it is almost the same as the case of item number 1.

【0185】図25に、図式プログラムへの変換処理2
22のフローを示す。
FIG. 25 shows a conversion process 2 into a schematic program.
22 shows a flow of No. 22.

【0186】ステップ240で、まず、文字列入力領域
中に入力されている文字列の内容を調べる。これが、関
数、変数等の名称を表わす文字列であるとき、ステップ
241に進み、次に、それが図式プログラム部品表16
に登録されているものかどうか調べる。表中に一致する
ものが見つかった場合には、その文字列が表わす言語要
素に対応する図形部品と、その各引数に対応する文字列
入力領域を表示し、また、各引数の文字列入力領域内
に、その引数の仮引数名称をイタリック体で表示する
(図16ステップ242および243)。このとき、文
字列から対応する図形部品その他への変換には、図1の
文字表現から図式表現変換へのプログラム12の機能を
一部利用する。図2(b)の関数rem、図6のブロッ
ク構造let、図8(a)の条件分岐ifなどは、この
処理によって表示されたものである。なお、ステップ2
43において、仮引数名称を、図2(b)のような引数
に対応する文字列入力領域でなく、図3のように関数等
の箱の中に表示するように指定されているときは、それ
にしたがって処理を行なう。
In step 240, first, the contents of the character string input in the character string input area are examined. If this is a character string that represents the name of a function, variable, etc., the processing proceeds to step 241, where it is the schematic program parts table 16
Check if it is registered in. If a match is found in the table, the graphic part corresponding to the language element represented by the character string and the character string input area corresponding to each argument are displayed. Also, the character string input area for each argument is displayed. The formal parameter name of the argument is displayed in italics (steps 242 and 243 in FIG. 16). At this time, part of the function of the program 12 from the character representation to the graphic representation conversion in FIG. 1 is used for the conversion from the character string to the corresponding graphic part or the like. The function rem of FIG. 2B, the block structure let of FIG. 6, the conditional branch if of FIG. 8A, and the like are displayed by this processing. In addition, step 2
43, when the dummy argument name is designated to be displayed in the box of the function or the like as shown in FIG. 3 instead of the character string input area corresponding to the argument as shown in FIG. 2B, The processing is performed accordingly.

【0187】一方、ステップ241で、文字列が変換規
則表6に登録されていない名称であるときは、その名称
はユーザ定義関数の名称であると判断する。そして、汎
用の関数呼び出しの図形部品と、その一つの引数に対応
する文字入力領域を表示する(ステップ244)。図2
(a)の関数fooは、この処理の結果表示されたもの
である。
On the other hand, when the character string is a name not registered in the conversion rule table 6 in step 241, it is determined that the name is the name of the user-defined function. Then, a general-purpose function call graphic part and a character input area corresponding to one argument thereof are displayed (step 244). Figure 2
The function foo in (a) is displayed as a result of this processing.

【0188】ステップ241のあと、ステップ245に
進み、新しく生成表示した図形部品の第1引数に対応す
る文字列入力領域の先頭に、文字カーソルを移す。
After step 241, the process proceeds to step 245, and the character cursor is moved to the beginning of the character string input area corresponding to the first argument of the newly generated and displayed graphic component.

【0189】ステップ240で、文字列が(部分)プロ
グラムを表わすものであると判定されたとき、図1の
「文字表現から図式表現変換へのプログラム」12を利
用して、その(部分)プログラムを図式表現プログラム
に変換する(ステップ246)。
When it is determined in step 240 that the character string represents a (partial) program, the "partial" program is used by using the "program for converting character representation to schematic representation" 12 in FIG. Is converted into a graphic representation program (step 246).

【0190】なお、上記の説明で、図25が「図式プロ
グラムへの変換処理」であり、その中のステップ246
の処理内容が「文字表現プログラムを図式表現に変換」
であるので、両者は同じことを表わしているのではない
か、という疑念を生じさせる恐れがある。しかし、両者
には次のような相違がある。
In the above description, FIG. 25 is the "conversion processing to the graphic program", and step 246 in it.
The processing content of is "Convert character representation program to diagram representation"
Therefore, there is a fear that they may represent the same thing. However, there are the following differences between the two.

【0191】まず、ステップ246の処理内容は、文字
表現プログラムを図式表現プログラムに変換する。すな
わち、ある形態の「プログラム」を、別の形態の「プロ
グラム」に変換する処理である。
First, in the processing contents of step 246, the character expression program is converted into a graphic expression program. That is, it is a process of converting a certain form of “program” into another form of “program”.

【0192】これに対し、図25全体の処理は、ステッ
プ246の処理も含むが、それ以外の処理、すなわち、
入力文字列として図式プログラム部品の名称が与えられ
たとき、これを対応する図式プログラム部品に変換する
処理を含む(ステップ241、242、243、24
4、245)。
On the other hand, the processing of FIG. 25 as a whole includes the processing of step 246, but other processing, that is,
When the name of the graphic program part is given as the input character string, the process of converting this into the corresponding graphic program part is included (steps 241, 242, 243, 24.
4, 245).

【0193】後者の処理は、(完全な)プログラムの変
換処理でなく、プログラムの「極く一部」、すなわち、
図式プログラム部品の「名称」を与えて、対応する図形
部品を表示する処理である。この点、誤解なきようにお
願いしたい。
The latter process is not a (complete) program conversion process, but a "very small part" of the program, that is,
This is a process of giving a “name” of a graphic program component and displaying a corresponding graphic component. Please do not misunderstand this point.

【0194】なお、ステップ246の処理、すなわち図
1の「文字表現から図式表現変換へのプログラム」12
の詳細については、前述したように、先願(特願平2−
056360)に記した方法を用いることができるの
で、ここでは説明を省略する。
Note that the processing of step 246, that is, the "program for converting from character representation to graphic representation" 12 in FIG.
For details of the above, as described above,
Since the method described in (056360) can be used, the description is omitted here.

【0195】前述した図4(a)から図4(b)への変
換は、上記のステップ246の処理、すなわち、図1の
「文字表現から図式表現変換へのプログラム」12の処
理によって行なわれたものである。このとき与えられた
文字列が図5(a)のように誤りを含むプログラムであ
るときは、図5(b)のように適宜不足の引数に対する
文字列入力領域を追加し、また過剰な引数は強調表示を
行なって、ユーザに注意を促すようにする。
The conversion from FIG. 4 (a) to FIG. 4 (b) described above is performed by the process of step 246 described above, that is, the process of the "program for converting character representation to diagram representation" 12 of FIG. It is a thing. If the character string given at this time is a program containing an error as shown in FIG. 5A, a character string input area for an insufficient argument is appropriately added as shown in FIG. Highlights and alerts the user.

【0196】次に、図19のマウス・ボタン処理203
について説明する。
Next, the mouse button processing 203 of FIG.
Will be described.

【0197】マウスは通常、画面上に表示されている図
形カーソルを操作して、画面上の対象の選択、コマンド
を適用する場所の指定などに用いられる。
The mouse is usually used to operate a graphic cursor displayed on the screen to select an object on the screen, specify a location to which a command is applied, and the like.

【0198】画面上に既に図式表現プログラムが表示さ
れているとして、それを構成する図形部品の近傍に図形
カーソルを移動し、マウス・ボタンを押下すると、その
図形部品が選択される。選択された図形は、選択された
ことをユーザに通知する意味で、反転表示などによる強
調表示がなされる。この後、選択された図形部品に対し
てカット(切り取り)、移動、複写、削除などのコマン
ドが実行可能である。
If the graphic expression program is already displayed on the screen, the graphic cursor is moved to the vicinity of the graphic component forming the program and the mouse button is pressed to select the graphic component. The selected graphic is highlighted by reverse display or the like in order to notify the user that the graphic has been selected. After that, commands such as cut (cut), move, copy, and delete can be executed on the selected graphic part.

【0199】また、一つの文字入力領域内に図形カーソ
ルを移動し、マウス・ボタンを押下すると、その文字入
力領域内の図形カーソルによる指定位置に、文字カーソ
ルが移動する。
When the graphic cursor is moved to one character input area and the mouse button is pressed, the character cursor is moved to the position designated by the graphic cursor in the character input area.

【0200】次に、図19のコマンド処理204につい
て説明する。
Next, the command processing 204 of FIG. 19 will be described.

【0201】図26はその詳細フローである。FIG. 26 is the detailed flow thereof.

【0202】まず、ステップ250で、コマンドの種別
を判定する。コマンドが挿入コマンドならばステップ2
51へ、ペースト・コマンドならばステップ252へ、
移動コマンドならばステップ253へ、複写コマンドな
らばステップ254へ、削除コマンドならばステップ2
55へ、逆変換コマンド、すなわち画面上で指定した部
分的な図式プログラムを文字プログラムに(逆)変換す
るコマンドならば、ステップ256へ、それぞれ進む。
First, in step 250, the type of command is determined. If the command is an insert command, step 2
51, to step 252 if it is a paste command,
If it is a move command, go to step 253, if it is a copy command, go to step 254, and if it is a delete command, go to step 2
If it is a reverse conversion command to 55, that is, a command to (reverse) convert a partial graphic program designated on the screen to a character program, the process proceeds to step 256.

【0203】図27、図28に、挿入コマンドの処理フ
ローを示す。
27 and 28 show the processing flow of the insert command.

【0204】ここで、図27、図28の説明に入る前
に、前記図11〜図14で説明した挿入可能位置の強調
表示方法について説明する。
Before entering the description of FIGS. 27 and 28, the method of highlighting the insertable position described in FIGS. 11 to 14 will be described.

【0205】挿入可能位置に図形カーソルが来たときそ
の部分を強調表示するためには、まずその時の図形カー
ソルがある位置の座標を読み取る。次に、これをその場
所にある図形の座標と照合する。これがある誤差内にあ
り、またその図形のその位置が挿入可能位置であると判
定されたならば、その部分を強調表示する。このとき、
図形の該当部分が挿入可能位置であるかどうかの判定方
法が問題であるが、これは次のようにすれば簡単に行な
うことが出来る。
In order to highlight the portion when the graphic cursor comes to the insertable position, first the coordinates of the position where the graphic cursor is at that time are read. This is then checked against the coordinates of the graphic at that location. If this is within a certain error and it is determined that the position of the graphic is the insertable position, that part is highlighted. At this time,
The problem is how to determine whether or not the corresponding part of the figure is the insertable position, but this can be easily done as follows.

【0206】図11〜図14で示したような強調表示を
行なっている部分に対応する(挿入可能位置表示図形)
を、あらかじめ画面上に表示されている全ての図形部品
の挿入可能位置に対応して作成しておく。ただし、通常
は、ユーザに見えない形、すなわち内部テータとしての
み生成しておく。そして、挿入コマンドが起動され挿入
コマンド・モードに入ったとき、図形カーソルの位置座
標と、この挿入可能位置表示図形の座標と比較し、ある
誤差内にあれば、この図形を画面に表示する。また、図
形カーソルが図形から離れていったときは、この図形を
見えない状態に戻す。
Corresponding to the highlighted portion shown in FIGS. 11 to 14 (insertable position display figure)
Are created in advance corresponding to the insertable positions of all the graphic parts displayed on the screen. However, it is usually generated only in a form invisible to the user, that is, as an internal data. Then, when the insert command is activated and the insert command mode is entered, the position coordinates of the graphic cursor are compared with the coordinates of this insertable position display graphic, and if within a certain error, this graphic is displayed on the screen. When the figure cursor moves away from the figure, the figure is returned to the invisible state.

【0207】図12で示した例を例題にとって具体的に
説明する。図29は、図12をほぼ再録した図である。
ただし、図12にある要素に加え、二つの挿入可能位置
表示図116、118が追加されている。また、図12
で太線で表示されていた挿入可能位置表示図形114
は、図形116、118と同じく点線で表示されてい
る。図形114、116、118は、上記の見えない図
形を模式的に示したものであり、図29で点線で表示し
ているのは、説明の便宜のためである。同じく説明の都
合上、図形114、116、118の存在位置を図形1
10の右辺から右方向に少々ずらしてあるが、これらの
図形は、実際は、関数fun1を表わす図形110の右
辺に重畳する位置にある。これら三つの図形は、それぞ
れの位置にプログラムを挿入可能であることを示しため
のものである。
A concrete explanation will be given by taking the example shown in FIG. 12 as an example. FIG. 29 is a diagram in which FIG. 12 is almost reproduced.
However, in addition to the elements shown in FIG. 12, two insertable position display diagrams 116 and 118 are added. In addition, FIG.
Insertable position display figure 114 that was displayed with a thick line in
Is displayed as a dotted line like the figures 116 and 118. The figures 114, 116 and 118 schematically show the above-mentioned invisible figures, and the dotted lines are shown in FIG. 29 for the convenience of description. Similarly, for convenience of description, the positions where the figures 114, 116, and 118 are present are shown in the figure 1.
Although slightly deviated from the right side of 10 to the right, these figures are actually at positions overlapping the right side of the figure 110 representing the function fun1. These three figures are for showing that a program can be inserted in each position.

【0208】今この状態で図形カーソルが図形114の
上に来たとする。そうすると、上記の説明にしたがい、
図形114が顕在化され、図12のように図形114が
太い実戦で表示される。
Now, in this state, it is assumed that the figure cursor comes over the figure 114. Then, according to the above explanation,
The figure 114 is revealed, and the figure 114 is displayed in a thick actual battle as shown in FIG.

【0209】図形116、118についても同様で、図
形カーソルがどちらかの上に来ると対応する図形が健在
化されて太線表示となり、その位置にプログラムが挿入
可能であることを示す。なお、図形116、118は、
それぞれ、関数fun1の第1引数の前、および第2引
数の後に挿入可能なことを示すために、予め準備されて
いる。
The same applies to the figures 116 and 118. When the figure cursor is placed on either of the figures, the corresponding figure is kept alive and displayed in a bold line, indicating that the program can be inserted at that position. The figures 116 and 118 are
They are prepared in advance to indicate that they can be inserted before the first argument and after the second argument of the function fun1, respectively.

【0210】図30は、図29に示した図式プログラム
の内部データを示したものである。
FIG. 30 shows the internal data of the schematic program shown in FIG.

【0211】図30の310、311、312は、それ
ぞれ図30の関数fun1、fun2、fun3に対応
するセルである。図21のセル300と比べて、それぞ
れのセルには、スロット「挿入可能位置表示図形」が新
たに加わっている。これは図21では簡単化のために省
略した。また、図を簡単にするために、スロット「名
称」には名称を表わす文字列を直接記述している。また
枠を表わすセルは簡単化のために図示していない。
Reference numerals 310, 311, and 312 in FIG. 30 are cells corresponding to the functions fun1, fun2, and fun3 in FIG. 30, respectively. As compared with the cell 300 of FIG. 21, a slot “insertable position display graphic” is newly added to each cell. This is omitted in FIG. 21 for simplification. Further, in order to simplify the drawing, a character string representing the name is directly described in the slot "name". Also, the cells representing the frames are not shown for simplicity.

【0212】図の316〜318は、図29の挿入可能
位置を表示するための図形114、116、118にそ
れぞれ対応するセルである。通常のセルの持つ「分類」
「位置」「サイズ」の各スロットに加え、固有スロット
としてスロット「表示」を持つ。このスロット「表示」
は、「表示」または「非表示」を値として持つ。通常本
スロットの値は「非表示」となっているが、図形カーソ
ルがこれらの図形の近傍に来たとき、すなわち図形カー
ソルの位置座標が、スロット「位置」と「サイズ」で示
される領域とある一定誤差内で重なっているとき、スロ
ットの値は「表示」に変わる。このとき、図1の入力表
示制御プログラム6により、対応する図形が画面に表示
される。
Numerals 316 to 318 in the figure are cells respectively corresponding to the figures 114, 116 and 118 for displaying the insertable position in FIG. "Classification" of a normal cell
In addition to each slot of "position" and "size", it has a slot "display" as a unique slot. This slot "display"
Has “display” or “non-display” as a value. Normally, the value of this slot is "non-display", but when the figure cursor comes near these figures, that is, the position coordinate of the figure cursor is the area indicated by the slot "position" and "size". When overlapping within a certain error, the slot value changes to "display". At this time, the corresponding graphic is displayed on the screen by the input display control program 6 of FIG.

【0213】ところで、図30において、関数等の戻り
値を表わす矢印の図形に対応するセル314〜315に
は、スロット「表示」が新たに加わっている。図11
(a)で明らかなように、矢印の場合、その上に図形カ
ーソルが来たとき、矢印全体が強調表示される。したが
って、矢印の場合は挿入可能位置表示図形を別に設けず
に、その機能を矢印の属性とした。この「表示」スロッ
トの値は、上記とは異なり、「通常表示」または「強調
表示」である。図形カーソルが矢印上に来たとき、スロ
ット「表示」の値は「強調表示」となり、図形カーソル
がそこから離れたとき「通常表示」に戻る。
By the way, in FIG. 30, a slot "display" is newly added to the cells 314 to 315 corresponding to the graphic of the arrow indicating the return value of the function or the like. Figure 11
As is clear from (a), in the case of an arrow, when the graphic cursor comes over it, the entire arrow is highlighted. Therefore, in the case of the arrow, the insertable position display figure is not provided separately, and the function is set as the arrow attribute. The value of this "display" slot is "normal display" or "highlighted", unlike the above. When the graphic cursor is on the arrow, the value of the slot "display" becomes "highlighted", and when the graphic cursor leaves it, it returns to "normal display".

【0214】なお、セル320〜324は、図21のセ
ル305と同様に、複数の要素をまとめて一つのスロッ
トにつなげるために用いられるセルである。
The cells 320 to 324 are cells used to connect a plurality of elements together into one slot, like the cell 305 in FIG.

【0215】以上の方法により、図形カーソルが挿入可
能位置を示す図形の上に来たときそこが強調表示され、
図形カーソルがそこから離れると、その図形の強調表示
は解除される。
By the above method, when the graphic cursor comes over the graphic indicating the insertable position, that graphic is highlighted.
When the graphic cursor moves away from it, the highlighting of that graphic is removed.

【0216】なお、この方法を利用して、挿入可能でな
い位置でマウス・ボタンを押下したときのエラー検知も
容易に行なうことが出来る。これは次のようにして行な
う。画面上に表示されている「表示」スロットを持つセ
ルのうち、その値が「表示」ないし「強調表示」になっ
ているものを調べる。これが一つもないとき、図形カー
ソルは挿入可能位置以外のところを指しているわけで、
このときマウス・ボタンが押されたらエラーであること
がわかる。
By using this method, it is possible to easily detect an error when the mouse button is pressed at a position where it cannot be inserted. This is done as follows. Find out which cells with a "display" slot are displayed on the screen and whose value is "display" or "highlight". When there is no such thing, the graphic cursor is pointing at a position other than the insertable position,
If the mouse button is pressed at this time, it is known that there is an error.

【0217】以上の挿入可能位置の強調表示の方法は、
上記の挿入コマンドの場合や、後述のペースト、移動、
複写コマンドなどの場合に加えて、一般に場所に依存す
る属性を、図形カーソルがそこに来たときだけ表示する
ような場合にも使用することが出来る。
The method of highlighting the insertable position is as follows.
In case of the above insert command, paste, move,
In addition to the case of a copy command, etc., it can also be used in the case of displaying a position-dependent attribute generally only when the graphic cursor comes there.

【0218】また、以上に示した方法は、前述した図式
プログラム部品単位での挿入(または、ペースト、移
動、複写)可能な位置全ての強調表示にも、さらに、画
面上に表示されている図式プログラム中の全ての図式プ
ログラム部品のうち、コマンド適用可能な部分を全て強
調表示する方法にも、容易に拡張可能である。
The above-described method is also applicable to highlighting all positions where insertion (or paste, move, copy) is possible in the above-described schematic program part unit, and also to the schematic displayed on the screen. It can be easily extended to a method of highlighting all the parts to which commands can be applied among all the graphic program parts in the program.

【0219】以上で、挿入可能位置強調表示法の基本説
明を終わり、図27、図28の挿入コマンドの処理フロ
ーの説明に戻る。
This is the end of the basic description of the insertable position highlighting display method, and returns to the description of the processing flow of the insert command of FIGS. 27 and 28.

【0220】挿入コマンドが指示されると、まず最初に
キーボード、マウスからの入力モードを挿入モードにす
る(図27のステップ260)。挿入モードに入ると、
コマンドの実行が終了するまで、マウス以外からの入力
を受け付けない。すなわち、マウスによる位置指定入力
と、マウス・ボタン押下の入力のみを受け付けるモード
である。また、このとき同時に、画面上に表示している
図形カーソルを、挿入モードを示す形に変え、ユーザに
現在挿入モードにあることを知らせる。
When the insert command is instructed, the keyboard / mouse input mode is first set to the insert mode (step 260 in FIG. 27). When you enter insert mode,
Input from other than the mouse is not accepted until the command execution is completed. That is, it is a mode in which only the position specification input by the mouse and the input of the mouse button press are accepted. At the same time, the graphic cursor displayed on the screen is changed to a shape indicating the insert mode to notify the user that the insert mode is currently set.

【0221】その後、マウス・ボタンが押されるまで、
図形カーソルの位置に応じた挿入可能位置の強調表示お
よび解除を繰り返す(ステップ261)。
After that, until the mouse button is pressed,
The highlighting and cancellation of the insertable position corresponding to the position of the graphic cursor are repeated (step 261).

【0222】繰り返しの最初で、まず図形カーソルの位
置を読み取る(ステップ262)。図形カーソルの表示
位置はマウスによって制御されるが、これは図1の入力
表示制御プログラム6内で行なわれる。ここでは、入力
表示制御プログラム6に対して問い合わせを行ない、図
形カーソルの位置座標値を得る。
At the beginning of the repetition, the position of the graphic cursor is first read (step 262). The display position of the graphic cursor is controlled by the mouse, which is performed in the input display control program 6 of FIG. Here, an inquiry is made to the input display control program 6 to obtain the position coordinate value of the graphic cursor.

【0223】次に読み取った図形カーソルの位置座標
が、上記で説明した挿入可能位置を表示するための図形
の近傍にあるかどうか判定する(ステップ263)。近
傍にある場合には、次に、以前に(強調)表示されてい
る挿入可能位置図形の有無を判定する(ステツプ26
4)。(強調)表示されている挿入可能位置表示図形が
ある場合は、さらに、その(強調)表示されている図形
が図形カーソル下の図形と同一か否かを判定する(ステ
ップ265)。両者が一致している場合は何もしない
(つまり(強調)表示をそのまま維持する)。両者が異
なる場合には、以前(強調)表示している挿入可能位置
表示図形の(強調)表示を解除し(ステッブ266)、
図形カーソルが指示している挿入可能位置表示図形を
(強調)表示する(ステップ267)。
Next, it is determined whether or not the position coordinates of the read graphic cursor are in the vicinity of the graphic for displaying the insertable position described above (step 263). If it is in the vicinity, then it is determined whether or not there is a previously insertable position graphic (highlighted) (step 26).
4). If there is an insertable position display graphic that is (highlighted) displayed, it is further determined whether the (highlighted) displayed graphic is the same as the graphic under the graphic cursor (step 265). If they match, do nothing (that is, keep the (highlight) display as is). If the two are different, the (highlight) display of the previously insertable position display graphic (highlight) is canceled (step 266),
The insertable position display graphic pointed by the graphic cursor is displayed (emphasized) (step 267).

【0224】ステップ264で、以前に(強調)表示さ
れている挿入可能位置図形がないとことがわかったとき
は、単に図形カーソル下の挿入可能位置表示図形を(強
調)表示する(ステップ268)。
If it is determined in step 264 that there is no previously insertable position graphic (highlighted) displayed, the insertable position display graphic under the graphic cursor is simply (highlighted) displayed (step 268). .

【0225】ステップ263で、図形カーソルが挿入可
能位置表示図形の上にないと判定されたときは、次に、
以前に(強調)表示されている挿入可能位置表示図形の
有無を判定し(ステップ269)、ある場合にはその
(強調)表示を解除する(ステップ270)。
If it is determined in step 263 that the graphic cursor is not on the insertable position display graphic, then
It is determined whether or not there is an insertable position display graphic that has been (highlighted) displayed before (step 269), and if there is, that (highlighted) display is canceled (step 270).

【0226】以上の処理を、マウス・ボタンが押される
まで繰り返す。
The above processing is repeated until the mouse button is pressed.

【0227】マウス・ボタンの押下が検出されたことが
検知されたとき、ステップ261のループを脱出し、ス
テップ271に進む。ステップ271では、(強調)表
示されている挿入可能位置表示図形の有無を判定する。
(強調)表示されている挿入可能位置表示図形があれ
ば、その図形で指示される位置に対して、文字列入力領
域の挿入処理を実行する(ステップ272)。(強調)
表示されている挿入可能位置表示図形がないときは、挿
入不可を示す警告音、警告メッセージを発する(ステッ
プ273)。
When it is detected that the mouse button has been pressed, the loop in step 261 is exited and the process proceeds to step 271. In step 271, it is determined whether or not there is an insertable position display graphic that is (highlighted) displayed.
If there is an insertable position display graphic that is (highlighted) displayed, the insertion processing of the character string input area is executed at the position indicated by the graphic (step 272). (Emphasis)
When there is no insertable position display graphic displayed, a warning sound and a warning message indicating that insertion is impossible are issued (step 273).

【0228】最後に、挿入モードを解除し、キーボー
ド、マウスからの入力を通常モードに戻す。また、図形
カーソルを通常の形にする(ステップ274)。
Finally, the insert mode is canceled and the keyboard and mouse inputs are returned to the normal mode. Also, the graphic cursor is made into a normal shape (step 274).

【0229】次に、上記図33ステップ272の挿入処
理の詳細について説明する。
Next, details of the insertion processing in step 272 of FIG. 33 will be described.

【0230】図11〜図14で説明したように、挿入の
対象となる図形部品は、挿入される位置によって異な
る。挿入されるべき部品の種別の判定は、図31の表を
用いて、次のようにして行なう。
As described with reference to FIGS. 11 to 14, the graphic part to be inserted differs depending on the insertion position. The type of the component to be inserted is determined using the table of FIG. 31 as follows.

【0231】図31の表は、挿入位置と、挿入されるべ
き部品との対応をを示したものである。表で、挿入位置
は、図形部品の種別と図形部品のセルのスロット名称で
示されている。後者の図形部品のセルのスロット名称
は、図形部品の挿入可能部分の位置に対応したものであ
る。
The table of FIG. 31 shows the correspondence between the insertion positions and the parts to be inserted. In the table, the insertion position is indicated by the type of graphic component and the slot name of the cell of the graphic component. The slot name of the cell of the latter graphic component corresponds to the position of the insertable portion of the graphic component.

【0232】前記の挿入可能位置の強調表示機能によ
り、挿入コマンド・モード中でマウス・ボタンが押され
たとき、挿入可能位置表示図形が強調表示されている。
そこで、まずこの図形に対する内部データのセルを取り
出し、次に、このセルからその上位の図形部品のセルを
取り出す。ここで、図30では、挿入可能位置表示図形
とそれが属する図形部品との間のポインタの向きは逆で
あるので、このままでは上位の図形部品を取り出すのは
簡単ではない。しかし、図30に示しているような図式
表現プログラムの内部データは、基本的に木構造をなし
ているので、この木構造を頭からたどっていけば、(強
調)表示されている挿入可能位置表示図形の上位の図形
部品を見つけることは容易にできる。あるいは、セルの
スロットを拡張し、挿入可能位置表示図形からその上位
の図形部品へ向けての逆ポインタを張っておいてもよ
い。
The insertable position highlighting function allows the insertable position display graphic to be highlighted when the mouse button is pressed in the insert command mode.
Therefore, first, the cell of the internal data for this graphic is taken out, and then the cell of the graphic component above it is taken out from this cell. Here, in FIG. 30, the directions of the pointers between the insertable position display graphic and the graphic parts to which the insertable position display graphic belongs are opposite to each other. Therefore, it is not easy to take out the upper graphic part as it is. However, since the internal data of the graphic expression program as shown in FIG. 30 basically has a tree structure, if the tree structure is traced from the head, the (insertable) position at which insertion is possible is displayed. It is easy to find a graphic component above the display graphic. Alternatively, the slot of the cell may be expanded and a reverse pointer may be provided from the insertable position display graphic to the graphic component of the upper level.

【0233】次に、注目している挿入可能位置表示図形
が、上位の図形部品のセルのどのスロットに接続されて
いるかを調べる。そして、得られたスロットの名称と、
上位図形部品の種別の情報を用いて、図31を参照し、
挿入すべき図形部品の種別を決定する。
Next, it is checked which slot of the cell of the higher-order graphic component the connected insertable position display graphic of interest is connected to. And the name of the obtained slot,
Referring to FIG. 31, using the information on the type of higher-order graphic parts,
Determine the type of graphic part to be inserted.

【0234】ところで、図式表現プログラム上で挿入処
理を行なうためには、挿入可能位置表示図形で指定され
る位置が、具体的に上位の図形部品のどの位置に該当す
るかを知る必要がある。
By the way, in order to perform the insertion processing on the graphic representation program, it is necessary to know to which position of the upper-order graphic component the position designated by the insertable position display graphic corresponds.

【0235】図11のような例の場合は、挿入可能位置
表示図形は関数等の戻り値を示す矢印であり、通常この
矢印は一つしかないので、挿入位置はこの矢印がある場
所であることがわかる。しかし、図12のような場合、
挿入位置は関数の引数の位置であるとは言っても、さら
に、第1引数の前、第1引数と第2引数との間、あるい
は第2引数の後ろ、の三つの可能性がある。このどれで
あるかを判別するには、次のようにする。
In the case of the example shown in FIG. 11, the insertable position display figure is an arrow indicating the return value of a function or the like, and since there is normally only one arrow, the insert position is the place where this arrow is. I understand. However, in the case of Fig. 12,
Although the insertion position is the position of the argument of the function, there are three further possibilities: before the first argument, between the first and second arguments, or after the second argument. To determine which it is, do the following:

【0236】図29の挿入可能位置表示図形114は、
図30の図式表現プログラムの内部データ中で、セル3
17に対応する。セル317は、前後のセル316、3
18とともに、上位図形部品(関数fun1)のセル3
10のスロット「挿入可能位置表示図形」に接続されて
いる。これらのセルの並びは、セルの空間的な並びの順
序に対応させている。そこで、これらの同一グループに
属するセルの中で、注目しているセルがどの位置にある
かを調べることにより、具体的な挿入位置を明らかにす
ることができる。
The insertable position display figure 114 shown in FIG.
In the internal data of the schematic representation program of FIG. 30, cell 3
Corresponds to 17. The cell 317 is the front and rear cells 316, 3
18 together with cell 3 of the higher-order graphic part (function fun1)
It is connected to the slot 10 "insertable position display graphic". The arrangement of these cells corresponds to the spatial arrangement order of the cells. Therefore, it is possible to clarify the specific insertion position by checking the position of the cell of interest in these cells belonging to the same group.

【0237】セル316〜318に関して言えば、セル
316は図29の挿入可能位置表示図形116に対応し
ているので、第1引数の前の位置を、セル317は図2
9の挿入可能位置表示図形114に対応しているので、
第1引数と第2引数との間の位置を、また、セル318
は図29の挿入可能位置表示図形118に対応している
ので、第2引数の後ろの位置を、それぞれ示している。
したがって、図12(a)の例に対しては、第1引数と
第2引数との間の位置に対して挿入処理を施せばよいこ
とが、これでわかる。
With respect to the cells 316 to 318, since the cell 316 corresponds to the insertable position display graphic 116 of FIG. 29, the position before the first argument is the cell 317 of FIG.
Since it corresponds to the insertable position display figure 114 of 9,
The position between the first and second arguments is also cell 318.
Corresponds to the insertable position display figure 118 of FIG. 29, and therefore, respectively indicates the positions after the second argument.
Therefore, in the example of FIG. 12A, it can be seen that the insertion process may be performed at the position between the first argument and the second argument.

【0238】以上で求めた挿入部品の種別、および挿入
位置の情報を用いて、文字列入力領域の挿入処理を実行
する。
The character string input area insertion processing is executed by using the information of the insertion component type and insertion position obtained as described above.

【0239】上記では、主に図11および図12の例を
用いて説明したが、図13および図14についても、同
様の方法を用いて挿入処理を実行できる。
In the above, the description has been given mainly using the examples of FIGS. 11 and 12, but also in FIGS. 13 and 14, the insertion processing can be executed using the same method.

【0240】次に、ペースト・コマンド(図26のステ
ップ252)の処理のについて説明する。
Next, the processing of the paste command (step 252 in FIG. 26) will be described.

【0241】ペースト・コマンドは、前述したように、
挿入形式もしくは置き換え形式によりコマンドを実行す
ることが出来る。どちらにしろ、コマンド実行可能位置
の強調表示機能、およびコマンド実行不可の位置でコマ
ンドの実行を指示したときのエラー通知機能がある。こ
れらは、上記の挿入コマンドの場合に準じた方法を用い
て実行することが出来る。
As described above, the paste command is
The command can be executed in the insertion format or the replacement format. In any case, there is a command execution position highlighting function and an error notification function when command execution is instructed at a command execution impossible position. These can be executed using a method similar to the case of the above insertion command.

【0242】挿入形式によるペースト・コマンド実行可
能位置に図形カーソルを持ってきたときは、前記の挿入
コマンドの場合と同様、図形カーソル位置に挿入可能位
置表示図形があるかどうか調べる。あるならば、その挿
入可能位置表示図形がつながれている上位の図形部品の
スロットをチェックする。このスロットと、ペーストの
対象となっている図式プログラムの最上位の図形部品を
照合し、そのスロットにペースト対象の図形部品をつな
ぐことが出来ることがわかれば、注目している挿入可能
位置表示図形を(強調)表示する。
When the figure cursor is brought to the position where the paste command in the insert format can be executed, it is checked whether or not there is an insertable position display figure at the position of the figure cursor as in the case of the above-mentioned insert command. If there is, the slot of the upper graphic part to which the insertable position display graphic is connected is checked. If you can compare this slot with the topmost graphic component of the graphic program that is the paste target and connect the graphic component that is the paste target to that slot, the insertable position display graphic that you are paying attention to Is displayed (emphasized).

【0243】この接続可否のチェックは、スロットに接
続可能な対象の属性を付加しておく、あるいは、別途、
スロット名称と接続可能対象の対照表を用意しておくこ
となどにより、容易に行なうことが出来る。
This connection availability check is performed by adding an attribute of a connectable target to the slot, or separately.
This can be easily done by preparing a comparison table of slot names and connectable objects.

【0244】置き換え形式によるペースト・コマンド実
行可能位置に図形カーソルを持ってきたときは、図形カ
ーソル下にある図形部品の上位の図形部品のスロット
と、ペースト対象となっている図式プログラムの最上位
の部品とを照合する。そのスロットにペースト対象の図
形部品をつなぐことが出来ることがわかれば、図形カー
ソル下の図形部品を(強調)表示する。なお、この(強
調)表示のために、各図形部品のセルには、それを表現
するためのスロット(例えば「表示」)が必要である。
また、接続可否のチェックは、上記挿入形式における接
続チェックとまったく同様にして行なうことが出来る。
When the graphics cursor is brought to the position where the paste command in the replacement format can be executed, the slot of the graphics component above the graphics component under the graphics cursor and the topmost graphics program of the paste program Check the parts. If it is known that the paste target graphic component can be connected to the slot, the graphic component under the graphic cursor is displayed (emphasized). Note that, for this (emphasized) display, each graphic component cell needs a slot (for example, “display”) for expressing it.
Also, the connection availability check can be performed in exactly the same manner as the connection check in the above insertion format.

【0245】ペースト可能でない位置でマウス・ボタン
を押下したときのエラー検知も、挿入コマンドの場合と
ほぼ同様にして行なうことが出来る。すなわち、画面上
のペースト・コマンドにより(強調)表示されているも
のの有無を調べればよい。(強調)表示されているもの
がない場合には、図形カーソルはペースト可能位置以外
のところを指しているわけで、このときマウス・ボタン
が押されたらエラーであることがわかる。
Error detection when the mouse button is pressed at a position where paste is not possible can be performed in substantially the same manner as in the case of the insert command. That is, it suffices to check the presence or absence of (highlighted) display by the paste command on the screen. If nothing is (highlighted) displayed, the graphic cursor points to a position other than the pasteable position, and if the mouse button is pressed at this time, it is known that an error has occurred.

【0246】ペースト・コマンドの具体的な実行も、挿
入コマンドの場合に準じる。すなわち、挿入形式による
実行の場合は、前記挿入コマンドの場合と同様にして具
体的に挿入位置を求め、その位置に、退避領域に退避し
ている図式プログラムを挿入する。置き換え形式では、
図形カーソル下の上位の図形部品のセルの該当スロット
の内容を、退避領域に退避している図式プログラムで置
き換える。
The specific execution of the paste command also follows the case of the insert command. That is, in the case of execution by the insert format, the insertion position is specifically obtained in the same manner as in the case of the insertion command, and the graphic program saved in the save area is inserted at that position. In replacement form,
Replace the contents of the corresponding slot of the cell of the upper graphic part under the graphic cursor with the schematic program saved in the save area.

【0247】さて、次に、図26のステップ255の削
除コマンドの処理について説明する。削除コマンドを実
行するには、あらかじめマウス等の位置指定装置によ
り、削除したい図形部品を選択しておく必要がある。次
に削除コマンドが指定されると、選択され強調表示され
ている図形部品のセルを求め、さらに、その上位セルを
求める。上位セルの該当スロットから選択されている図
形部品のセルを外す。また、この図形部品が引数を持つ
場合には、この引数に対応する図形部品のセルを選択さ
れている図形部品のセルの該当スロットから外す。そし
て、外した図形部品のセルを、選択された図形部品のセ
ルの上位のセルの、今まで選択された図形部品が接続さ
れていたスロットにつなぐ。このとき、選択された図形
部品が複数の引数を持つ場合には、一つを除いた残りの
引数は一般に過剰な引数となるので、これらを上位図形
部品のセルの「余分な引数」のスロットにつなぐ。以上
の内部データに対する処理が終わったあと、このデータ
に基づき、画面上に表示されている図式プログラムを修
正する。なお、上記の「余分な引数」のスロットにつな
がれている図式プログラムは、過剰な引数であることを
ユーザに通知するため、強調表示を行なう。また、選択
された図形部品が、下位に引数を一つも持たないとき
は、上位の図形部品のセルに新たに文字列入力領域のセ
ルを接続する。
Now, the processing of the delete command in step 255 of FIG. 26 will be described. In order to execute the delete command, it is necessary to select in advance a graphic part to be deleted by a position specifying device such as a mouse. Next, when the delete command is specified, the cell of the selected graphic component which is highlighted is obtained, and further the superordinate cell thereof is obtained. Remove the cell of the selected graphic part from the corresponding slot of the upper cell. If this graphic part has an argument, the cell of the graphic part corresponding to this argument is removed from the corresponding slot of the cell of the selected graphic part. Then, the cell of the removed graphic component is connected to the slot of the cell above the cell of the selected graphic component to which the graphic component selected so far is connected. At this time, when the selected graphic part has multiple arguments, the remaining arguments except one are generally excessive arguments, so these are set as the slots of the "extra argument" of the cell of the higher-order graphic part. Connect to. After the above processing for the internal data is completed, the schematic program displayed on the screen is corrected based on this data. The graphic program connected to the slot of "extra argument" is highlighted so as to notify the user that the argument is excessive. If the selected graphic part has no argument in the lower order, the cell of the character string input area is newly connected to the cell of the higher order graphic part.

【0248】最後に、図26のステップ256の図式プ
ログラムから文字プログラムへの逆変換の処理である。
Finally, the process of reverse conversion from the graphic program to the character program in step 256 of FIG. 26 is performed.

【0249】これは、あらかじめ選択されている図式プ
ログラムに対するセルを取り出し、図1の図式表現から
文字表現への逆変換プログラム14に処理を依頼すれば
よい。
To do this, the cell for the previously selected graphic program may be taken out and the processing may be requested to the inverse conversion program 14 from the graphic expression to the character expression in FIG.

【0250】なお、逆変換プログラム14の処理して
は、先願(特願平2−056360)に記した方法を用
いることができる。したがって、ここでは処理の詳細に
ついての説明は省略する。
For the processing of the reverse conversion program 14, the method described in the prior application (Japanese Patent Application No. 2-056360) can be used. Therefore, the detailed description of the processing is omitted here.

【0251】以上、各種の入力編集方法の具体的実現方
法について説明した。
The specific implementation methods of various input editing methods have been described above.

【0252】[0252]

【発明の効果】以上説明してきたように、本発明によれ
ば、図を文字だけすなわちキーボードのみにより入力可
能になる。これによって、図形部品が多数ある場合に
も、メニュー上の多数の項目の中から所望のものを探す
という面倒な操作なしに、図形をその名前を用いて直接
画面に表示することができる。
As described above, according to the present invention, it is possible to input a figure only with characters, that is, only with a keyboard. With this, even when there are many graphic parts, the graphic can be directly displayed on the screen by using the name thereof, without the troublesome operation of searching for a desired one from many items on the menu.

【0253】また、本発明によれば、図形で表現したプ
ログラムを、やはり、文字すなわちキーボードのみで、
特別な図形指定を行なうことなしに、入力することが出
来る。これによって、従来の図式表現プログラムの作成
上のネックであった入力の問題を解消し、文字表現プロ
グラムと同等の入力効率で、プログラムの入力を行なう
ことが出来るようになった。
Further, according to the present invention, a program represented by a graphic can also be written only with characters, that is, a keyboard.
It is possible to input without specifying a special figure. As a result, the problem of input, which has been a bottleneck in creating a conventional graphic expression program, is solved, and the program can be input with the same input efficiency as that of the character expression program.

【0254】さらに、プログラムの入力にあたっては、
プログラム言語の要素の名称を入力すると、その言語要
素に対応する図式表現と付随する引数が合わせて示され
るので、ユーザは、言語要素の持つ引数の種類および順
序が不確かなものであっても、いちいちマニュアル等で
確認することなくプログラムを入力することが出来る。
当然、引数の種類および順序に関する思い違いに起因す
るプログラムの誤りは、本発明による図式プログラム入
力編集方法を用いることによって、まったく無くすこと
が出来る。
Furthermore, when inputting the program,
When the name of a programming language element is entered, the schematic representation corresponding to that language element and the accompanying arguments are shown together, so even if the user is uncertain about the type and order of the arguments that the language element has, You can enter the program without checking the manual one by one.
Naturally, the error of the program due to the misunderstanding regarding the kind and order of the arguments can be completely eliminated by using the schematic program input editing method according to the present invention.

【0255】また、新しいプログラムの挿入、あらかじ
めカット(切り取り)コマンド等によって退避領域に退
避しているプログラムのペースト(貼り付け)、また移
動、複写などのコマンドの実行にあたり、コマンドを実
行可能な位置を画面上で表示してくれるので、間違った
位置で上記のコマンドを実行するということがない。
In addition, when a new program is inserted, a program saved in the save area in advance by a cut command or the like is pasted, and a command such as move or copy is executed, the command can be executed at a position where the command can be executed. Will be displayed on the screen, so you will never execute the above command at the wrong position.

【0256】削除においても、その結果プログラムの構
文が不適切なものになった場合には、誤っている箇所を
指示してくれるので、構文が間違ったままプログラムの
編集を終了してしまうということを防いでくれる。
Even in the case of deletion, if the syntax of the program is improper as a result, it will point to the incorrect part, so that the editing of the program ends with the syntax being incorrect. Will prevent.

【0257】このように、本発明による方法を用いるこ
とにより、わかりやすい図式によるプログラム表現を用
いて、効率よく、かつ構文的な誤りのないプログラムの
作成を行なうことが出来る。
As described above, by using the method according to the present invention, it is possible to efficiently create a program that is syntactically error-free by using a program expression in an easy-to-understand diagram.

【0258】なお、これまでの図式プログラムの入力編
集方法の説明では、既存の文字表現によるプログラム言
語によるプログラムを図式的に表現した例を用いて説明
してきた。しかし、本発明は、最初に述べたように、文
字による表現形式を持たない図式のみによるプログラム
言語、いわゆる視覚言語にも適用可能であることは、言
うまでもない。さらに、図式表現によるプログラムだけ
でなく、電子回路図や化学プラント配管図などの木構造
もしくはネットワーク構造により表現される各種図面に
も容易に適用可能であり、それら図面の入力編集を容易
にし、作成した図面の構文的な誤りを防止することにも
効果がある。
In the above description of the input / editing method of the graphic program, an example in which the program in the existing programming language is graphically expressed has been described. However, it is needless to say that the present invention can be applied to a so-called visual language, that is, a programming language based only on a diagram that does not have a character representation format, as described above. Furthermore, it can be easily applied to not only the program by the graphic representation but also various drawings represented by the tree structure or network structure such as the electronic circuit diagram and the chemical plant piping diagram. It is also effective in preventing a syntactic error in the created drawing.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による図式プログラム入力編集方法のシ
ステム構成を示す図である。
FIG. 1 is a diagram showing a system configuration of a schematic program input editing method according to the present invention.

【図2】本発明に基づく図式プログラムの入力例を示す
図である。
FIG. 2 is a diagram showing an input example of a schematic program according to the present invention.

【図3】仮引数の別の表示方法を示す図である。FIG. 3 is a diagram showing another display method of dummy arguments.

【図4】文字プログラムの図式プログラムへの変換例を
示す図である。
FIG. 4 is a diagram showing an example of conversion of a character program into a graphic program.

【図5】誤りを含む文字プログラムの図式プログラムへ
の変換例を示す図である。
FIG. 5 is a diagram showing an example of conversion of a character program including an error into a graphic program.

【図6】本発明に基づく図式プログラムの入力例を示す
図である。
FIG. 6 is a diagram showing an input example of a schematic program according to the present invention.

【図7】任意個設定可能な引数の自動追加の例を示す図
である。
FIG. 7 is a diagram showing an example of automatic addition of an argument in which an arbitrary number can be set.

【図8】本発明に基づく図式プログラムの入力例を示す
図である。
FIG. 8 is a diagram showing an input example of a schematic program according to the present invention.

【図9】名称変更による図形部品の変更の例を示す図で
ある。
FIG. 9 is a diagram showing an example of changing a graphic part by changing a name.

【図10】名称変更による図形部品の変更の他の例を示
す図である。
FIG. 10 is a diagram showing another example of changing a graphic part by changing a name.

【図11】文字列入力領域の挿入例を示す図である。FIG. 11 is a diagram showing an example of inserting a character string input area.

【図12】文字列入力領域の挿入例を示す図である。FIG. 12 is a diagram showing an example of inserting a character string input area.

【図13】文字列入力領域の挿入例を示す図である。FIG. 13 is a diagram showing an example of inserting a character string input area.

【図14】文字列入力領域の挿入例を示す図である。FIG. 14 is a diagram showing an example of inserting a character string input area.

【図15】置き換え形式によるペースト・コマンド実行
例を示す図である。
FIG. 15 is a diagram showing an example of executing a paste command in a replacement format.

【図16】図式プログラムの部分的削除の例を示す図で
ある。
FIG. 16 is a diagram showing an example of partial deletion of a schematic program.

【図17】本発明による方法の別の図式表現(PAD)
への適用例を示す図である。
FIG. 17 is another schematic representation (PAD) of the method according to the invention.
It is a figure which shows the example of application to.

【図18】本発明による方法の別の図式表現(PAD)
への他の適用例を示す図である。
FIG. 18 is another schematic representation (PAD) of the method according to the invention.
It is a figure which shows the other example of application to.

【図19】入力編集プログラムのフローを示す図であ
る。
FIG. 19 is a diagram showing a flow of an input editing program.

【図20】キーボード入力処理のフローを示す図であ
る。
FIG. 20 is a diagram showing a flow of keyboard input processing.

【図21】図式表現プログラムの内部データ表現の例を
示す図である。
FIG. 21 is a diagram showing an example of internal data representation of a graphic representation program.

【図22】変換キー処理の一部のフローを示す図であ
る。
FIG. 22 is a diagram showing a part of the flow of the conversion key processing.

【図23】変換キー処理の本来のフローを示す図であ
る。
FIG. 23 is a diagram showing an original flow of conversion key processing.

【図24】図式プログラム部品表の内容を示す図であ
る。
FIG. 24 is a diagram showing the contents of a schematic program parts table.

【図25】図式プログラムへの変換処理のフローを示す
図である。
FIG. 25 is a diagram showing a flow of conversion processing into a schematic program.

【図26】コマンド処理のフローを示す図である。FIG. 26 is a diagram showing a flow of command processing.

【図27】挿入コマンド処理の一部のフローを示す図で
ある。
FIG. 27 is a diagram illustrating a part of the flow of an insert command process.

【図28】挿入コマンド処理の他の部分のフローを示す
図である。
FIG. 28 is a diagram showing the flow of another portion of the insert command processing.

【図29】挿入可能位置の強調表示方法を説明するため
の概念図である。
FIG. 29 is a conceptual diagram for explaining a method of highlighting an insertable position.

【図30】図式プログラムの他の内部データ表現を示す
図である。
FIG. 30 is a diagram showing another internal data representation of a schematic program.

【図31】文字列入力領域の挿入位置と挿入される部品
との対応を示す表である。
FIG. 31 is a table showing the correspondence between the insertion position of the character string input area and the parts to be inserted.

【図32】従来のプログラムを示す図である。FIG. 32 is a diagram showing a conventional program.

【符号の説明】[Explanation of symbols]

1…パーソナル・コンピュータ、ワークステーション等
の制御装置、2…ディスプレイ装置、3…キーボード、
4…マウス等の位置指示装置、5…図形データ・ファイ
ル、6…入力表示制御プログラム、7…図形入力編集プ
ログラム、8…図形入力プログラム、9…名称図形対応
表、10…パーソナル・コンピュータ、ワークステーシ
ョン等の制御装置、11…文字表現によるソース・プロ
グラム・ファイル、12…文字表現から図示表現への変
換プログラム、13…図式表現プログラム・ファイル、
14…図式表現から文字表現への逆変換プログラム、1
5…図式表現プログラムの入力編集プログラム、16…
図式プログラム部品表、501〜537…各図のタイト
ル。
1 ... Control device such as personal computer or workstation, 2 ... Display device, 3 ... Keyboard,
4 ... Position indicating device such as mouse, 5 ... Graphic data file, 6 ... Input display control program, 7 ... Graphic input editing program, 8 ... Graphic input program, 9 ... Name graphic correspondence table, 10 ... Personal computer, work Control device such as station, 11 ... Source program file by character representation, 12 ... Conversion program from character representation to graphic representation, 13 ... Schematic representation program file,
14 ... Program for reverse conversion from schematic representation to character representation, 1
5 ... Input editing program for schematic representation program, 16 ...
Schematic program parts table, 501-537 ... Title of each figure.

Claims (33)

【特許請求の範囲】[Claims] 【請求項1】表示画面上のいずれかの位置に入力され
た、入力すべきプログラムを構成するいずれかの構成要
素を表す文字列に応答して、その文字列に対応して予め
記憶された、その構成要素を表す図形をその位置に表示
し、 その構成要素に関連して入力すべき少なくとも一つの他
の構成要素があるときには、その、他の構成要素を入力
すべき領域を、その図形の近傍に表示するプログラム入
力支援方法。
1. In response to a character string representing any constituent element of a program to be input, which is input at any position on a display screen, it is stored in advance corresponding to the character string. , A graphic representing that component is displayed at that position, and if there is at least one other component to be entered in relation to that component, the area where that other component should be entered is Input support method to display in the vicinity of.
【請求項2】該領域を、上記図形に対して定められた所
定の相対的位置関係を有する位置に表示するプログラム
請求項1記載の入力支援方法。
2. The input support method according to claim 1, wherein the area is displayed at a position having a predetermined relative positional relationship with respect to the graphic.
【請求項3】該領域を、上記図形に連結して表示するプ
ログラム請求項1記載の入力支援方法。
3. The input support method according to claim 1, wherein the program is displayed by connecting the area to the graphic.
【請求項4】上記構成要素が引数を必要とする場合に、
その引数を入力すべき領域を、上記他の構成要素を入力
する領域として表示する請求項1記載のプログラム入力
支援方法。
4. If the above component requires an argument,
The program input support method according to claim 1, wherein an area where the argument is to be input is displayed as an area where the other component is input.
【請求項5】上記入力すべき他の構成要素の種別を表す
文字列を表示するステップをさらに有する請求項1記載
のプログラム入力支援方法。
5. The program input support method according to claim 1, further comprising the step of displaying a character string representing the type of the other component to be input.
【請求項6】上記構成要素が引数を必要とする場合に、
上記領域は、その引数を入力すべき領域であり、上記他
の構成要素の種別を表す文字列は、その構成要素が有す
る仮引数の名称である請求項5記載のプログラム入力支
援方法。
6. When the above component requires an argument,
The program input support method according to claim 5, wherein the area is an area in which the argument is to be input, and the character string indicating the type of the other component is a name of a dummy argument included in the component.
【請求項7】上記他の構成要素の種別を表す文字列は、
上記領域の内部に表示される請求項5記載のプログラム
入力支援方法。
7. The character string representing the type of the other component is
The program input support method according to claim 5, which is displayed inside the area.
【請求項8】上記他の構成要素の種別を表す文字列は、
上記領域の内部に表示される請求項6記載のプログラム
入力支援方法。
8. The character string representing the type of the other component is
7. The program input support method according to claim 6, which is displayed inside the area.
【請求項9】上記他の構成要素の種別を表す文字列は、
上記図形の内部またはその近傍の、上記領域に近い位置
に表示される請求項9記載のプログラム入力支援方法。
9. The character string representing the type of the other component is
The program input support method according to claim 9, wherein the program is displayed at a position close to the area inside or near the graphic.
【請求項10】上記領域を表示後、文字入力位置を表す
カーソルを、上記領域内の先頭位置に移動するステップ
をさらに有する請求項1記載のプログラム入力支援方
法。
10. The program input support method according to claim 1, further comprising the step of moving a cursor indicating a character input position to a head position in the area after displaying the area.
【請求項11】上記構成要素がその構成要素に関連して
入力すべき他の構成要素を必要としない場合には、その
図形の後方または上位で一番近い図形が表す構成要素に
対して表示された、それが必要とする他の構成要素を入
力するための領域の先頭位置に、上記文字カーソルを移
動するステップをさらに有する請求項10記載のプログ
ラム入力支援方法。
11. When the component does not require another component to be input in relation to the component, display is made for the component represented by the closest graphic behind or above the graphic. 11. The program input support method according to claim 10, further comprising the step of moving the character cursor to a head position of an area for inputting another component required by the character cursor.
【請求項12】上記他の構成要素として、その、他の構
成要素を形成するプログラム文が入力されたとき、その
プログラム文の構文を解析し、 その構文を反映した一群の図形を、上記領域に代えて、
かつ、上記図形に対して所定の相対的位置関係を有する
位置に表示するステップをさらに有する請求項1記載の
プログラム入力支援方法。
12. When a program statement forming another constituent element is input as the other constituent element, the syntax of the program statement is analyzed, and a group of figures reflecting the syntax is displayed in the area. Instead of
2. The program input support method according to claim 1, further comprising a step of displaying the graphic at a position having a predetermined relative positional relationship with the graphic.
【請求項13】該表示された領域に該他の構成要素を表
す文字列の一部またはその文字列が入力されたことに応
答して、該領域内に表示されている、該他の構成要素を
の種類を表す文字列を消去し、該入力された文字列を該
領域内に表示するステップをさらに有する請求項7記載
のプログラム入力支援方法。
13. The other structure displayed in the area in response to input of a part of the character string or the character string representing the other constituent element in the displayed area. 8. The program input support method according to claim 7, further comprising the step of deleting a character string representing the type of element and displaying the input character string in the area.
【請求項14】該入力された構成要素が、複数の他の構
成要素を必要とする場合、上記表示のときに、それぞれ
該複数の他の構成要素を入力するための複数の領域を、
上記図形の近傍に表示する請求項1記載のプログラム入
力支援方法。
14. When the input constituent element requires a plurality of other constituent elements, a plurality of areas for inputting the plurality of other constituent elements are respectively displayed at the time of the display.
The program input support method according to claim 1, wherein the program input support method is displayed in the vicinity of the figure.
【請求項15】該複数の領域は同時に表示される請求項
14記載のプログラム入力支援方法。
15. The program input support method according to claim 14, wherein the plurality of areas are displayed simultaneously.
【請求項16】該入力された構成要素が、同一種類の複
数の他の構成要素を必要とするがその数は任意である場
合、上記表示のときに、該複数の領域は順次表示され、
その順次表示は、該複数の領域の一つを表示し、その表
示された一つの領域に他の構成要素を表す文字列が入力
された後で、該複数の領域の他の一つの領域を表示する
ごとく行なう請求項14記載のプログラム入力支援方
法。
16. When the input constituent elements require a plurality of other constituent elements of the same type but the number thereof is arbitrary, the plurality of areas are sequentially displayed at the time of the display.
In the sequential display, one of the plurality of areas is displayed, and after a character string representing another component is input to the displayed one area, another one of the plurality of areas is displayed. 15. The program input support method according to claim 14, which is performed as displayed.
【請求項17】該複数の領域は、その内の先行して表示
された領域の下方に表示される請求項16記載のプログ
ラム入力支援方法。
17. The program input support method according to claim 16, wherein the plurality of areas are displayed below an area previously displayed therein.
【請求項18】該他の構成要素が、省略可能な構成要素
である場合、ユーザ指示に応答してその領域を消去する
ステップをさらに有する請求項1記載のプログラム入力
支援方法。
18. The program input support method according to claim 1, further comprising the step of erasing the area in response to a user instruction when the other component is an optional component.
【請求項19】該消去は、その領域に対して、未だ文字
列が入力がなされていないか、もしくは空白文字しか入
力がなされていないときで、かつ、その領域中に文字カ
ーソルがあるときに、ユーザによる特定のキーまたはボ
タンの押下を契機として、行なわれる請求項18記載の
プログラム入力支援方法。
19. The erasing is performed when a character string is not yet input to the area or only a blank character is input, and when a character cursor is in the area. 19. The program input support method according to claim 18, wherein the program input support method is performed when a user depresses a specific key or button.
【請求項20】ユーザによりプログラムの編集修了が後
に指示されたとき、上記他の構成要素が省略不可能な構
成要素であり、かつ、上記領域に対して、未だ文字列が
入力がなされていないか、もしくは空白文字しか入力が
なされていない状態にあるかを判別し、判別の結果が肯
定的である場合、この領域への文字入力が終了していな
いことが識別可能なように、その領域の表示を変えるス
テップをさらに有する請求項1記載のプログラム入力支
援方法。
20. When the user gives an instruction to finish editing the program later, the other constituent elements are constituent elements that cannot be omitted, and a character string has not yet been input to the area. Or if only blank characters are being input, and if the result of the determination is affirmative, then the area must be identified so that it can be identified that the character input to this area has not ended. 2. The program input support method according to claim 1, further comprising a step of changing the display of.
【請求項21】上記領域に文字列により入力したプログ
ラムに一つ以上の不足の構成要素があるとき、その構成
要素に対応する入力領域を該当位置に含めた形で、その
プログラムに対応する図形を表示する請求項1記載のプ
ログラム入力支援方法。
21. When a program input by a character string in the area has one or more insufficient constituent elements, a graphic corresponding to the program in a form including an input area corresponding to the constituent element at a corresponding position. 2. The program input support method according to claim 1, wherein is displayed.
【請求項22】上記領域に文字列により入力したプログ
ラムに一つ以上の過剰な構成要素があるとき、その構成
要素を識別表示する形で、そのプログラムに対応する図
形を表示する請求項1記載のプログラム入力支援方法。
22. A graphic corresponding to the program is displayed in such a manner that when the program input by a character string in the area has one or more excessive constituent elements, the constituent elements are identified and displayed. Program input support method.
【請求項23】表示画面上のいずれかの位置に入力され
た、入力すべきプログラムを構成するいずれかの構成要
素を表す文字列に応答して、その文字列に対応して予め
記憶された、その構成要素を表す図形をその位置に表示
し、 その構成要素に関連して入力すべき少なくとも一つの他
の構成要素があるときには、その、他の構成要素を入力
すべき、その図形の近傍の、上記構成要素により定まる
位置を該表示画面上に指示するプログラム入力支援方
法。
23. In response to a character string representing any constituent element of a program to be input, which is input at any position on the display screen, the character string is stored in advance in correspondence with the character string. , A graphic representing the component is displayed at that position, and when there is at least one other component to be input in relation to the component, that other component should be input, the vicinity of the graphic. And a program input support method for instructing on the display screen a position determined by the above components.
【請求項24】上記指示は、文字カーソルをその位置に
移動させて行なわれる請求項23記載のプログラム入力
支援方法。
24. The program input support method according to claim 23, wherein said instruction is performed by moving a character cursor to that position.
【請求項25】表示画面上のいずれかの位置に入力され
た、入力すべきプログラムを構成するいずれかの構成要
素を表す文字列に応答して、その文字列に対応して予め
記憶された、その構成要素を表す図形をその位置に表示
し、 上記表示ステップを、それぞれ他の構成要素を表す複数
の文字列に応答して繰り返し、もって複数の図形を表示
し、 その際、いずれかの先行して入力された構成要素が必要
とする後続の構成要素を表す図形を表示する位置は、そ
の先行して入力された構成要素を表す図形の位置に依存
して定められるプログラム入力支援方法。
25. In response to a character string representing any constituent element of a program to be input, which is input at any position on the display screen, the character string is stored in advance in correspondence with the character string. , A graphic representing the constituent element is displayed at that position, and the above display step is repeated in response to a plurality of character strings respectively representing other constituent elements, thereby displaying a plurality of graphic figures. A program input support method, wherein a position for displaying a graphic representing a subsequent component required by the preceding input component is determined depending on a position of the graphic representing the preceding input component.
【請求項26】表示画面上のいずれかの位置に入力され
た、入力すべきプログラムを構成するいずれかの構成要
素を表す文字列に応答して、その文字列に対応して予め
記憶された、その構成要素を表す図形をその位置に表示
し、 上記構成要素に関連して入力すべき他の構成要素とし
て、その、他の名称を表す文字列が入力されたとき、そ
の文字列に対して定められた他の図形をその図形に連結
し表示し、 上記他の構成要素としてプログラム文が入力されたと
き、そのプログラム文の構文を解析し、 その構文を反映した一群の図形を、上記図形に対して所
定の位置関係を有する位置に表示するプログラム入力支
援方法。
26. In response to a character string that is input at any position on the display screen and that represents any of the constituent elements of the program to be input, it is stored in advance in correspondence with the character string. , A graphic representing that component is displayed at that position, and when a character string representing that other name is entered as another component to be entered in relation to the above-mentioned component, When a program statement is input as another component described above, the syntax of the program statement is analyzed, and a group of figures reflecting the syntax is displayed as described above. A program input support method for displaying a figure at a position having a predetermined positional relationship.
【請求項27】表示画面上のいずれかの位置に入力され
た、入力すべきプログラムを構成するいずれかの構成要
素を表す文字列に応答して、その文字列に対応して予め
記憶された、その構成要素を表す図形をその位置に表示
し、 上記表示ステップを、それぞれ他の構成要素を表す複数
の文字列に応答して繰り返し、もって複数の図形を表示
し、 表示された複数の図形の少なくとも一つに関して指示さ
れた編集態様に応答して、その一つの図形が、新たな構
成要素を表す図形になるように、その図形をその編集指
示で指定される編集態様に従って編集するプログラム編
集支援方法。
27. In response to a character string, which is input at any position on the display screen and represents one of the constituent elements of the program to be input, the character string is stored in advance in correspondence with the character string. , A graphic representing the constituent element is displayed at that position, and the above display steps are repeated in response to a plurality of character strings respectively representing other constituent elements, thereby displaying a plurality of graphic shapes and displaying the plurality of graphic shapes. Editing in response to the edit mode instructed with respect to at least one of the above, so that the one graphic becomes a graphic representing a new component, the graphic is edited according to the edit mode specified by the edit instruction. How to help.
【請求項28】挿入コマンド発行後、図形の形式で表示
したプログラムの上で、新たな構成要素を挿入可能な位
置に図形カーソルを位置付けたとき、プログラムを表わ
す図形の該当部分を識別表示する請求項27記載のプロ
グラム編集支援方法。
28. When the graphic cursor is positioned at a position where a new component can be inserted on the program displayed in the form of a graphic after the insertion command is issued, the corresponding part of the graphic representing the program is identified and displayed. Item 27. A program editing support method according to Item 27.
【請求項29】挿入コマンド発行後、図形の形式で表示
したプログラムの上で、新たな構成要素を挿入不可の位
置に図形カーソルを位置付け、挿入実行を指示する特定
のキーまたはボタンを押下したとき、警告音、警告メッ
セージ等の警告情報を提示する請求項27記載のプログ
ラム編集支援方法。
29. After issuing the insert command, when the graphic cursor is positioned at a position where a new component cannot be inserted on the program displayed in the form of a graphic, and a specific key or button for instructing execution of insertion is pressed. The program editing support method according to claim 27, wherein warning information such as a warning sound, a warning message, and the like is presented.
【請求項30】挿入コマンド発行後、図形の形式で表示
したプログラムの上で、新たな構成要素を挿入可能な位
置に図形カーソルを位置付け、挿入実行を指示する特定
のキーまたはボタンを押下したとき、その挿入位置によ
って決定される構成要素の範疇に対応する形で表現した
文字列入力領域を、その位置に挿入する請求項27記載
のプログラム編集支援方法。
30. After issuing the insert command, when the graphic cursor is positioned at a position where a new component can be inserted on the program displayed in the form of a graphic, and a specific key or button for instructing execution of insertion is pressed. 28. The program editing support method according to claim 27, wherein the character string input area expressed in a form corresponding to the category of the component determined by the insertion position is inserted at that position.
【請求項31】図形で表示したプログラムの構成要素
が、その一部にその構成要素を指示する名称またはキー
ワードを含む場合、その名称またはキーワードを表わす
文字列を、別の構成要素を指示する文字列に変更し、構
成要素の変更を指示するコマンドの発行により、その構
成要素を、変更後の文字列が表わす名称またはキーワー
ドが指示する構成要素に対応する図形に変更する請求項
27記載のプログラム編集支援方法。
31. When a constituent element of a program displayed as a graphic part includes a name or a keyword designating the constituent element as a part thereof, a character string representing the name or the keyword is replaced by a character designating another constituent element. 28. The program according to claim 27, wherein by changing to a column and issuing a command instructing to change the constituent element, the constituent element is changed to a graphic corresponding to the constituent element designated by the name or keyword represented by the changed character string. Editing support method.
【請求項32】文字形式への変換を指示するコマンドの
発行により、図形形式で表示したプログラムのあらかじ
め指定した部分を、対応する文字形式プログラムに変換
し、元の図形形式プログラムと置き換え表示する請求項
27記載のプログラム編集支援方法。
32. By issuing a command instructing conversion to a character format, a predesignated portion of a program displayed in a graphic format is converted into a corresponding character format program, and the original graphic format program is replaced and displayed. Item 27. A program editing support method according to Item 27.
【請求項33】上記編集後の、表示された複数の図形
を、それらが表す構成要素を連結したプログラムに変換
するステップをさらに有する請求項27記載のプログラ
ム入力支援方法。
33. The program input support method according to claim 27, further comprising the step of converting the plurality of displayed graphics after the editing into a program in which the constituent elements represented by them are connected.
JP5061603A 1993-03-22 1993-03-22 Input support method and editing support method for program Pending JPH06274333A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5061603A JPH06274333A (en) 1993-03-22 1993-03-22 Input support method and editing support method for program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5061603A JPH06274333A (en) 1993-03-22 1993-03-22 Input support method and editing support method for program

Publications (1)

Publication Number Publication Date
JPH06274333A true JPH06274333A (en) 1994-09-30

Family

ID=13175914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5061603A Pending JPH06274333A (en) 1993-03-22 1993-03-22 Input support method and editing support method for program

Country Status (1)

Country Link
JP (1) JPH06274333A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996803B2 (en) 1994-11-15 2006-02-07 Hitachi, Ltd. Program generation method
JP2010066846A (en) * 2008-09-09 2010-03-25 Meidensha Corp Embedded software development support system, support method, and program
JP2013254266A (en) * 2012-06-05 2013-12-19 Ricoh Co Ltd Information processing apparatus, system, and program
JP2014530411A (en) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション Formula input for limited display devices
JP2015075876A (en) * 2013-10-08 2015-04-20 キヤノン株式会社 Design support device, design support method and program
WO2023047846A1 (en) * 2021-09-22 2023-03-30 カシオ計算機株式会社 Method, device, and program for editing mathematical formula

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02238243A (en) * 1989-03-10 1990-09-20 Kyodo Kogyo Kk Air plenum of air-conditioned duct
JPH02128036U (en) * 1989-03-27 1990-10-22

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02238243A (en) * 1989-03-10 1990-09-20 Kyodo Kogyo Kk Air plenum of air-conditioned duct
JPH02128036U (en) * 1989-03-27 1990-10-22

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996803B2 (en) 1994-11-15 2006-02-07 Hitachi, Ltd. Program generation method
JP2010066846A (en) * 2008-09-09 2010-03-25 Meidensha Corp Embedded software development support system, support method, and program
JP2014530411A (en) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション Formula input for limited display devices
US9594735B2 (en) 2011-09-12 2017-03-14 Microsoft Technology Licensing, Llc Automatic highlighting of formula parameters for limited display devices
US10108330B2 (en) 2011-09-12 2018-10-23 Microsoft Technology Licensing, Llc Automatic highlighting of formula parameters for limited display devices
JP2013254266A (en) * 2012-06-05 2013-12-19 Ricoh Co Ltd Information processing apparatus, system, and program
JP2015075876A (en) * 2013-10-08 2015-04-20 キヤノン株式会社 Design support device, design support method and program
WO2023047846A1 (en) * 2021-09-22 2023-03-30 カシオ計算機株式会社 Method, device, and program for editing mathematical formula
JP2023045857A (en) * 2021-09-22 2023-04-03 カシオ計算機株式会社 Formula editing method, formula editing device, and formula editing program

Similar Documents

Publication Publication Date Title
JP4448881B2 (en) Method and system for generating a computer program
US8386919B2 (en) System for displaying an annotated programming file
JP5147240B2 (en) Method and system for reversible design tree transformation
US5982365A (en) System and methods for interactively generating and testing help systems
JPH06274333A (en) Input support method and editing support method for program
CN112181483B (en) Plasma control system software development platform and method
JPH08329004A (en) Method for improving terminal operability of application program use
Halewood et al. NSEDIT: A syntax‐directed editor and testing tool based on Nassi—Shneiderman charts
JP2002288004A (en) Program source processing device and method, and program source processing program
Bovey A debugger for a graphical workstation
JPS63109578A (en) Processing system for logic diagram outline display
JP2659092B2 (en) Cursor display control method in logic diagram creation processor
JP2575665B2 (en) Logical diagram outline description conversion processing method
JPH0683594A (en) Graphical user interface, wherein withy-wig type edditer and compiler are integrated
Wiseman et al. Rainbow—a multi‐purpose CAD system
JPS6383861A (en) Automatic processing system for numerical formula
JP2763289B2 (en) Detailed description positioning method in logic diagram creation processing device
JPS6255731A (en) Program editing and producing device
Modugno et al. Exploring graphical feedback in a demonstrational visual shell
Gervae et al. NeXT’s OPENSTEP for Windows NT
JP2005259169A (en) Program generation method
Kawaguti et al. Concurrent use of an interactive TEX previewer with an Emacs-type editor
Couch NS chart honours project report: a Nassi-Scneiderman cartographer
Zheng et al. The design and implementation of the syntax-directed editor generator (SEG)
JPH05233258A (en) Development support system for graphic editor