JPH0582611B2 - - Google Patents

Info

Publication number
JPH0582611B2
JPH0582611B2 JP60137841A JP13784185A JPH0582611B2 JP H0582611 B2 JPH0582611 B2 JP H0582611B2 JP 60137841 A JP60137841 A JP 60137841A JP 13784185 A JP13784185 A JP 13784185A JP H0582611 B2 JPH0582611 B2 JP H0582611B2
Authority
JP
Japan
Prior art keywords
line
program
written
priority
statement
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.)
Expired - Lifetime
Application number
JP60137841A
Other languages
English (en)
Other versions
JPS61296432A (ja
Inventor
Masaru Wakamatsu
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.)
Toyo Electric Manufacturing Ltd
Original Assignee
Toyo Electric Manufacturing 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 Toyo Electric Manufacturing Ltd filed Critical Toyo Electric Manufacturing Ltd
Priority to JP13784185A priority Critical patent/JPS61296432A/ja
Publication of JPS61296432A publication Critical patent/JPS61296432A/ja
Publication of JPH0582611B2 publication Critical patent/JPH0582611B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は構造化プログラムにおける条件分を字
下げにより記述するプログラム開発装置に関する
ものである。
〔従来の技術〕
一般に構造化プログラミング手法を用いる場合
には、条件文の構造を字下げという方法によつて
機能を階層化して文章表現、特に人為的な字下げ
表現で記述していた。
〔発明が解決しようとする問題点〕
従来、構造化プログラミングにおける字下げ表
現は人為的になされたものであつた。
また、機能記述の区切りとしてコンパイラにて
END、{ }等が使用されるが、必ずしも実際の
プログラムの動作と字下げ記述が一致するもので
はなくプログラムの誤りを生じ、さらには記述誤
りの発見に時間を要するものとなつていた。
本発明は、上述した点に鑑みて創案されたもの
で、その目的とするところは、誤りのないプログ
ラムを作成するプログラム開発装置を提供するこ
とにある。
〔問題点を解決するための手段〕
つまり、その目的を達成するための手段は、ソ
ースプログラムをキー入力するキー入力手段と、
構造化プログラミングにおける制御構造を字下げ
記述したプログラムを表示する表示手段と、これ
らによつて得られたプログラムを記憶し、コンパ
イルし、ターゲツトマシンで実行可能なオブジエ
クトコードを生成するCPUを具備するプログラ
ム開発装置において、前記キー入力手段により入
力したソースプログラムを前記CPUを介し、表
示していく前記表示手段に、条件文内に更に条件
文が存在する複数の条件のよりなる入れ子状態を
認識するために、表示画面左側部垂直方向に設け
られた複数列からなり、この複数列に条件文の条
件判別に対して優先度を規定し、これをCPUで
識別する優先順位に従い、優先順位の低い順位に
記述したプログラムはより高い順位線に記述した
条件に包括することにより、条件文および条件文
と文からなる行相互間の従属関係を表示するため
の優先順位線を備えることにより、字下げ表現に
対する階層構造設定手段と、表示画面の右側に終
了線を設け、演算或いは制御の機能を記述した1
つ或いは複数の文の終了を、終了線に記述された
終了信号でCPUが認識する終端処理設定手段を
設け、プログラムの表記とプログラムの機能が画
面で容易に判別出来てプログラマの意思通りに
CPUにより、ターゲツトマシンで実行可能なプ
ログラムコードを生成するよう構成したものであ
る。
〔作用〕 このような各手段によりプログラム中で、優先
順位線に記述された条件文、文は条件文と文から
なる任意の行を基準とし、 (1) 前行以前でより高い優先順位線に記述されて
いる行が存在する場合は、このより高い優先順
位線に記述されている行に記述された条件文の
条件、が満足された場合のみ当該任意の行は実
行され、 (2) 前行以前でより高い優先順位線に記述されて
いる行が存在せず同一順位線に記述されている
行が存在する場合は、当該任意の行はその条件
文の条件判別が行われ、 (3) 前行以前でより高い優先順位線もしくは同一
順位線に記述されている行が存在せずより低い
優先順位線に記述されている行が存在する場合
は、当該任意の行は無条件に実行される。
これらの作用により、本発明は表記とプログラ
ムの機能が一意化、すなわち画面で容易に判別出
来て、表示されている通りに機械的に処理が行わ
れることにより、単純でかつ明解なプログラム記
述を可能とした装置である。以下、本発明の一実
施例を図面に基づいて記述する。
〔実施例〕
第1図は本発明の一実施例を示す全体構成図で
あり、81はリレーシンボル等特殊記号もしくは
特殊記号をフアンクシヨンキーとして有するキー
ボードであり、ソースプログラムをキー入力す
る。82はキーボード81から入力したソースプ
ログラム等を表示するための陰極線管表示装置
(以下CRTという)であり、横80列(カラム0〜
79)、縦40行(0〜39行)の表示スペースを持つ
ている。
83はキーボード81、CRT82を制御し、
キーボード81から入力されたキーデータを識別
し、CRT82へ送信することにより、CRT82
にソースプログラムを表示すると共に、順次ソー
スプログラムコードを記憶し、これをコンパイル
してターゲツトマシンで実行可能なオブジエクト
コードを生成するに足りる能力、記憶容量を有す
るCPUである。
第2図は本発明が適用された一実施例の表示装
置部に表示されるプログラムを作成するためのコ
ーデイング画面を示す図で、はCRT82のコ
ーデイング画面であり、コーデイング画面にお
いては、左側の縦線であるC0,C1,C3,C4,C5
C6,C7,C8は構造化プログラムの条件文をコー
デイングする場合の字下げ記述における条件文の
入れ子状態を表現する優先順位線を備えた階層構
造設定手段であり、右側縦線のC9は一つの機能
を記述したプログラムの終りを表す終了線を設け
た終端処理設定手段である。
プログラムのキーボード81によるキー入力
は、CRT82のコーデイング画面を見ながら
行われ、優先順位線C0への接続プログラムはカ
ーソルが左端のカラム0の位置で、他の優先順位
線C1〜C8への接続はスペースキーで所要の優先
順位線の位置へカーソルを移動し、キー⊥をキー
入力することによりプログラムする字下げ手段を
有し、また終了線C9へのプログラムはコーデイ
ング画面の破線上の任意の位置でキー⊥をキー入
力すると直線が補完され、カラム79の位置の終
了線C9上に表示される。
ここで、優先順位線C0〜C8は左側の線、すな
わちより番号の小さいものほど条件判別の優先度
が高く、右の優先順位線に記述されたプログラム
が前行以前に記述された該優先順位線より左の優
先順位線に記述された条件が満足された場合のみ
実行される機能を有するように定義ずけられてお
り、CPU83では、記憶されたソースプログラ
ムにおいて、行の先頭から何カラム目(スペース
がいくつ挿入されているか)にキー⊥に相当する
コードが出現するかによつて、どの優先順位線に
接続されているかを判断することが出来る。
また、優先順位線C0〜C8の右側に示されてい
る破線で示された横線はプログラムを記述してい
くガイドラインで、+印の箇所に条件等の機能を
プログラムしていくことになる。
このコーデイング画面は画面が一杯になる場
合は、順次上方向へスクロールしていくか、改ペ
ージを行うことにより、同一空白コーデイング部
を表示していくことにより、プログラムを追加し
ていくことが可能となつている。
つぎに、かかるコーデイング画面に対する実
行について第3図〜第9図を参照して説明する。
第3図及び第4図は具体的なプログラムの一例
を示すものであり、コンパイラ(C言語)で記述
した場合およびそれと同等のプログラムを行つた
場合を示している。ここに、第4図においては、
例えば第2図の2本の優先順位線C0およびC1
簡略化して異なる優先順位線にプログラムを記述
した例を示す。
第3図において、( )内はC言語での条件記
述部であり、>はより大きいことを表す関係演算
子で、!=は等しくないを表す否定演算子であ
る。また第4図に示す行1の「A000△+」(△は
スペース)で修飾されたA接点2は、予め演算結
果によるプラス、ゼロ、マイナス、キヤリーの有
無等を記憶する複数ビツトからなる演算リレーの
プラス部がオン(演算結果がプラスであつたらプ
ラス部はオンとなり、ゼロもしくはマイナスであ
ればプラス部はオフとなる)であれば閉となり、
「文1」を実行し、次行の任意の優先順位線に記
述されたプログラムを実行する。
また、行1のA接点2が開(演算リレーA000
のプラス部がオフ)であれば低い優先順位線に記
述された行2は実行されず、次行以下で同一もし
くは優先度の高い左側の優先順位線に記述された
行が実行される。よつて、行1より優先度の低い
優先順位線に記述された行2は、行1の「A000
△+」のA接点2の条件により、その(実行/不
実行)が決定される。つまり、前行に記述された
高い優先順位線に記述された条件に、より低い優
先順位線に記述されたプログラムを包括するもの
となる。
行2で記述された「A001△0」で修飾された
B接点3は演算リレーA001のゼロ部がオンで開
となり、オフで閉となる。このB接点3が閉であ
れば「文2」が実行され、つぎに次行の優先順位
線に記述された行が実行され、B接点3が開であ
れば「文2」は実行されず、次行以下で優先度が
同一もしくは高い優先順位線で記述された行が実
行される。
第5図および第6図は第3図および第4図に類
して表した具体的なプログラムの他の例を示すも
のである。
第5図において、( )内は条件記述部で、
=は等しいかより小さいことを表す関係演算子で
あり、第6図の行1は記述された「A001△+」
で修飾されたA接点2が閉であれば、「文1」を
実行し、つぎに次行の行2の条件文が無条件に実
行される。このA接点2が開であれば「文1」は
実行されずつぎに同一もしくは高い優先順位線に
記述された行、したがつて、図示の行2の条件文
が実行される。つまり、同一優先順位線に記述さ
れた行1、行2は、行1が実行される条件が前行
以前で満足されれば行1の条件いかんに拘らず行
2の条件文も実行されるものとなる。
以上、第3図、第4図はIF文がIF文に包括さ
れる場合、すなわち入れ子表記になる場合を示
し、第5図、第6図はIF−ELSE文を例示してい
る。
ELSE文はIF文と同一の条件判断の重みを有す
るから、同一優先順位線に接続してプログラムす
る必要がある。また、条件としてはIFとELSEは
相反する条件となるので、反対記号み記述すれば
A001△+記述はしなくとも、リレー番号が無い
ときはELSE文の条件であり、前行以前の同一優
先順位線に接続された一番近い行の接点番号と同
一であることをコンパイラで定義することによつ
て補完可能である。
第7図、第8図は第3図および第4図に類して
表した更に複雑な実施例を示したものである。
なお、詳細な説明は前述したので、主要な点の
みの説明に留める。
第7図は第3図もしくは第5図に類したプログ
ラムで複雑な入れ子状態の場合を示すフローチヤ
ート図であり、菱形はIF文の条件式を表し、長
方形は演算もしくは制御を記述した機能を表す1
つもしくは複数のプログラム文である。なお、図
中Yは条件式が真である場合、Nは偽である場合
を示す。
次に、このフローチヤートに従つて、第8図の
階層構造設定手段について説明する。
第8図において、行1と行7、行2と行6、行
3と行4、行8と行9がそれぞれIF−ELSEの関
係にあり、行5はIF文のみである。行5は行3、
行4の少なくとも条件が実行されたのち、実行さ
れる場合を示し、行5が行3に包括され、行4の
文31を実行したのち、一連の処理を終了する場合
は、行4と行5を入れ換えることによつて達成で
きる。
また、第7図においては、優先順位線C0〜C8
の内C0〜C3を使用しているが、更に条件が多数
入れ子となり、優先順位線が不足する場合はプロ
グラムの一部を別関数とすることにより解決され
る。
すなわち、第7図の破線部91、第8図の破線
部101は同一処理箇所を示しているが、この部
分を引数なしのC言語と同一記述の別関数とし、
行2の文21にこの別関数を追記し、破線部101
を削除し、メインルーチン外部に別関数すなわち
破線部をプログラム記述することにより、使用す
る優先順位線はC0とC1の2本でプログラムする
ことが出来る。
以上、C言語におけるIF−ELSE文を条件文と
して例示したが、条件文としては繰り返し制御文
であるWHILE文、FOR文、SWITCH−CASE文
があり、関連した制御文としてBREAK文、
CONTINUE文、無条件ジヤンプ文としてGO−
TO文がある。しかし、繰り返し制御文はIF−
ELSE文とGO−TO文を使用することによつて記
述し得る。
さらに、第9図はCPU83のランダムアクセ
スメモリ(RAM)の1語を割り当てた図を示す
もので、4は優先順位線レジスタである。すなわ
ち、優先順位線レジスタ4において、ビツト番号
B0,B1,B2,B3,B4,B5,B6,B7は第2図
に示した優先順位線C0,C1,C2,C3,C4,C5
C6,C7の番号に対応する。
さらにまた、第10図はCPU83におけるオ
ブジエクトコードの生成する手段の一例を示すも
のであり、ここではプログラム開発装置がとの優
先順位線に記述したかによつて、条件が包括され
る範囲を機械的に生成する手段を示したフローチ
ヤートである。これを第4図および第9図を用い
て詳細説明する。
すなわち、部分51にて優先順位線への記述、
キー⊥を検索してその記述が発見されると、部分
52で第9図に示した優先順位線レジスタ4の該
当ビツトに「1」をたてる。
今第4図の例にて2本の優先順位線C0,C1
すると、行1で優先順位線C0に記述されている
から優先順位線レジスタ4のビツト番号B0に
「1」をたてる。さらに部分53で終了線C9への
記述キー⊥を検索し、発見されたら部分54で全
体のプログラムが終了かを判断する。ここで終了
でなければ、部分55でつぎに記述される優先順
位線が現在の順位線より高いか低いかを判断す
る。
さて、第4図の行2は行1の優先順位線より低
いので、部分55の判断が「YES」の方へ飛び、
機能の終端処理をしない。よつて、次行が現在の
行の機能に包括される。
つぎに部分52に戻り、行2は優先順位線の
C1に記述しているので、優先順位線レジスタ4
のビツト番号B1に「1」をたてる。同様にして、
部分53で終了線C9への記述キー⊥を検索し、
部分55でつぎに高い優先順位線に記述していれ
ば、部分56で優先順位線レジスタ4を参照し
て、その優先順位線に相当するビツト以下で
「1」がたつているビツト数の分についてプログ
ラムの機能の終端処理を行い、優先順位線レジス
タ4の優先順位線に相当するビツト以下を「0」
にリセツトする。よつて、より高い優先順位線へ
の記述によつて機能の包括が自動的に行われるも
ののとなる。
更には、第4図において行2の次行で行1と同
一の優先順位線に記述されていれば、優先順位線
レジスタ4は例示のビツト内容となり、二つの終
端処理が行われたのちレジスタがクリアされる。
部分54でプログラム終了の場合も同様にレジス
タの「1」がたつている分だけ終端処理をして変
換作業を終了するものとなる。
〔発明の効果〕
以上説明したように本発明によれば、構造化プ
ログラムの条件文の階層構造とプログラム機能が
一体化でき、解り易く誤りのないプログラム作成
手段を具備するようにした装置を提供できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す全体構成図、
第2図は本発明が適用された一実施例の表示装置
部に表示されるプログラムを作成するためのコー
デイング画面を示す図、第3図及び第4図は具体
的なプログラムの一例を示す図、第5図および第
6図は第3図および第4図に類して表した具体的
なプログラムの他の例を示す図である。第7図、
第8図は第3図および第4図に類して表した更に
複雑な実施例を示した図、第9図はCPUのラン
ダムアクセスメモリ(RAM)の1語を割り当て
た関係図、第10図はCPUにおけるオブジエク
トコードの生成する手段の一例を示す図である。 ……コーデイング画面、2……A接点、3…
…B接点、4……優先順位線レジスタ、81……
キーボード、82……CRT、83……CPU。

Claims (1)

  1. 【特許請求の範囲】 1 ソースプログラムをキー入力するキー入力手
    段と、構造化プログラミングにおける制御構造を
    字下げ記述したプログラムを表示する表示手段
    と、これらによつて得られたプログラムを記憶
    し、コンパイルし、ターゲツトマシンで実行可能
    なオブジエクトコードを生成するCPUを具備す
    るプログラム開発装置において、前記キー入力手
    段により入力したソースプログラムを前記CPU
    を介し、表示していく前記表示手段に、条件文内
    に更に条件文が存在する複数の条件よりなる入れ
    子状態を認識するために、表示画面左側部垂直方
    向に設けられた複数列からなり、この複数列に条
    件文の条件判別に対して優先度を規定し、これを
    CPUで識別する優先順位に従い、優先順位の低
    い順位に記述したプログラム行は前行以前のより
    高い順位線に記述した条件に包括することによ
    り、条件文および条件文と文からなる行相互間の
    従属関係を表示するための優先順位線を備えるこ
    とによる、字下げ表現に対する階層構造設定手段
    と、 表示画面の右側に終了線を設け、演算或いは制
    御の機能を記述した1つ或いは複数の文の終了
    を、終了線に記述された終了記号でCPUが認識
    する終端処理設定手段を設けることによつて構成
    され、 このような各手段により、プログラム中で、優
    先順位線に記述された条件文、又は条件文と文か
    らなる任意の行を基準とし、 (1) 前行以前でより高い優先順位線に記述されて
    いる行が存在する場合は、このより高い優先順
    位線に記述されている行に記述された条件文の
    条件が満足された場合のみ当該任意の行は実行
    され、 (2) 前行以前でより高い優先順位線に記述されて
    いる行が存在せず同一順位線に記述されている
    行が存在する場合は、当該任意の行はその条件
    文の条件判別が行われ、 (3) 前行以前でより高い優先順位線もしくは同一
    順位線に記述されている行が存在せずより低い
    優先順位線に記述されている行が存在する場合
    は、当該任意の行は無条件に実行され、 プログラムの表記とプログラムの機能が表示手
    段により判別出来、CPUによりターゲツトマシ
    ンで実行可能なプログラムコードを生成するよう
    構成したことを特徴とするプログラム開発装置。
JP13784185A 1985-06-26 1985-06-26 プログラム開発装置 Granted JPS61296432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13784185A JPS61296432A (ja) 1985-06-26 1985-06-26 プログラム開発装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13784185A JPS61296432A (ja) 1985-06-26 1985-06-26 プログラム開発装置

Publications (2)

Publication Number Publication Date
JPS61296432A JPS61296432A (ja) 1986-12-27
JPH0582611B2 true JPH0582611B2 (ja) 1993-11-19

Family

ID=15208069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13784185A Granted JPS61296432A (ja) 1985-06-26 1985-06-26 プログラム開発装置

Country Status (1)

Country Link
JP (1) JPS61296432A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106955A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Program editing system
JPS5945549A (ja) * 1982-09-07 1984-03-14 Toshiba Corp プログラム表示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106955A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Program editing system
JPS5945549A (ja) * 1982-09-07 1984-03-14 Toshiba Corp プログラム表示装置

Also Published As

Publication number Publication date
JPS61296432A (ja) 1986-12-27

Similar Documents

Publication Publication Date Title
JP4448881B2 (ja) コンピュータプログラムを発生する方法及びシステム
US5070534A (en) Simplified cad parametric macroinstruction capability including variational geometrics feature
US4692858A (en) Visual interface between user and computer system
EP0142735B1 (en) Table driven translator
CA2211478C (en) Systems, methods and apparatus for generating and controlling display of medical images
US20030090473A1 (en) Multiple screen automatic programming interface
JPH07319677A (ja) 自動的に構造化プログラムを生成する、プログラムされた計算機を用いて流れ図を作成する方法と装置
US20020007483A1 (en) Interactive flow visualization, graphical editing and analysis of textual languages
US5822592A (en) Method and system for determining source code location
JP5481571B2 (ja) コードにおける時間計算量およびフローの理解を高める方法
JPS5941209B2 (ja) バイプログラミング可能型電子的会計システム
JPH0582611B2 (ja)
EP0817049B1 (en) A program development system
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
Tching et al. IM-sgi: an interface model for shape grammar implementations
JPS60237542A (ja) プログラム制御装置
JP2002041111A (ja) プログラミング支援装置
Velbitskiy Next generation visual programming technology
EP0315172B1 (en) Automatic program generation method with a visual data structure display
Simon An Introduction to C & GUI Programming
JPH0317741A (ja) プログラム作成支援装置
Moons et al. Rationale behind the design of the EduVisor software visualization component
JPH0827648B2 (ja) Ncパ−トプログラム生成装置
JPH01255937A (ja) 実行制御条件設定方法
JP3240647B2 (ja) コンピュータ言語の構造化処理方式