JPH0581008A - 字下げ処理方式 - Google Patents

字下げ処理方式

Info

Publication number
JPH0581008A
JPH0581008A JP27200491A JP27200491A JPH0581008A JP H0581008 A JPH0581008 A JP H0581008A JP 27200491 A JP27200491 A JP 27200491A JP 27200491 A JP27200491 A JP 27200491A JP H0581008 A JPH0581008 A JP H0581008A
Authority
JP
Japan
Prior art keywords
nesting
nest
information
character string
nested
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
JP27200491A
Other languages
English (en)
Inventor
Kazuo Toyoda
一夫 豊田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP27200491A priority Critical patent/JPH0581008A/ja
Publication of JPH0581008A publication Critical patent/JPH0581008A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 ソースコードの字下げを自動化する。 【構成】 入力データに入れ子文開始文字列が出現する
毎に、入れ子情報スタック2に当該入れ子文開始文字列
とこれに対応した終了条件の文字とを入れ子情報として
格納する。一方、インデント設定手段3は、当該入れ子
情報スタック2に格納された入れ子情報の数に応じた大
きさのインデントを入力データに付加する。他方、入れ
子関係判断手段4は、入力データに入れ子情報スタック
2に最後に格納された入れ子文開始文字列に対応した入
れ子終了条件の文字が出現したとき、入れ子情報スタッ
ク2から最後に格納された入れ子情報を取り出す。ま
た、この入れ子関係判断手段4は、入力データに他の入
れ子開始文字列が出現したとき、当該他の入れ子情報を
入れ子情報スタック2に格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータのソフト
ウェア開発の1工程であるプログラムソースコードの入
力作業における字下げ処理方式に関するものである。
【0002】
【従来の技術】コンピュータのソフトウェア開発の1工
程として、プログラムソースコードを入力する作業(い
わゆるコーディング作業)がある。このようなプログラ
ムソースコードは、図5に示すように、見やすさのため
に、 while文やif文等の制御文については、階層毎にイ
ンデントを設けるのが一般的となっている。
【0003】即ち、通常、プログラム構造は、ループや
分岐を行なう制御文と、その中に含まれる処理文とから
成る。一般的には、制御文の中に更に制御文が出現する
ことでn階層の入れ子ができる。通常のプログラム開発
者は、この入れ子の階層(深さ)をインデントの長さに
対応させたフォーマットでコーディングしている。これ
により、プログラム構造を認識し、理解しやすいものに
している。従来、ソースコードの入力方法については、
汎用テキストエディタ等の編集プログラムを用いて、単
に文字列として一字一句入力が行なわれていた。従っ
て、インデントの設定についても同様で、スペース文字
での字下げか、TABキー等の操作で文字列の先頭を設
定することにより行なっていた。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、上
述した方式では、インデントを設定するための空白をす
べてオペレータが入力する必要がある。従って、せっか
くコンピュータと対話しながら入力しているのに、その
利点が生かせず、オペレータの作業負担が大きいという
問題があった。本発明は、以上の点に着目してなされた
もので、インデントの設定を自動で行なうことにより、
オペレータの負担を軽減し、ひいては、コーディング工
程における生産性及び品質を向上できる字下げ処理方式
を提供することを目的とするものである。
【0005】
【課題を解決するための手段】本発明の字下げ処理方式
は、相互に入れ子関係にある入れ子文開始文字列及び終
了条件の文字を対にして格納する入れ子文判定テーブル
と、入力データに出現する入れ子文開始文字列と、当該
入れ子文開始文字列に対応した終了条件の文字とを順次
入れ子情報として格納し、最後に格納した入れ子情報か
ら順に取り出す入れ子情報スタックと、当該入れ子情報
スタックに格納された入れ子情報の総数に応じた大きさ
のインデントを入力データに付加するインデント設定手
段と、入力データに、前記入れ子情報スタックに最後に
格納された入れ子文開始文字列に対応した入れ子終了条
件の文字が出現したか否かを判断し、当該入れ子条件の
文字が出現したとき、前記入れ子情報スタックから最後
に格納された入れ子情報を取り出す一方、入力データ
に、他の入れ子開始文字列が出現したとき、当該他の入
れ子情報を前記入れ子情報スタックに格納する入れ子関
係判断手段とから成ることを特徴とするものである。
【0006】
【作用】本発明の字下げ処理方式においては、相互に入
れ子関係にある入れ子文開始文字列と、当該入れ子文開
始文字列に対応した終了条件の文字とを対にして入れ子
文判定テーブルに格納しておく。そして、入力データに
入れ子文開始文字列が出現する毎に、入れ子情報スタッ
クに当該入れ子文開始文字列と当該入れ子文開始文字列
に対応した終了条件の文字とを順次入れ子情報として格
納する。一方、インデント設定手段は、当該入れ子情報
スタックに格納された入れ子情報の総数に応じた大きさ
のインデントを入力データに付加する。他方、入れ子関
係判断手段は、入力データに、前記入れ子情報スタック
に最後に格納された入れ子文開始文字列に対応した入れ
子終了条件の文字が出現したか否かを判断し、当該入れ
子条件の文字が出現したとき、前記入れ子情報スタック
から最後に格納された入れ子情報を取り出す。また、こ
の入れ子情報判断手段は、入力データに、他の入れ子開
始文字列が出現したとき、当該他の入れ子情報を前記入
れ子情報スタックに格納する。
【0007】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明の方式の装置の実施例のブ
ロック図である。図示の処理装置は、入れ子文判定テー
ブル1と、入れ子情報スタック2と、インデント設定手
段3と、入れ子関係判断手段4とから成る。入れ子文判
定テーブル1は、主記憶装置の一部の領域等から成り、
相互に入れ子関係にある入れ子文開始文字列と、当該入
れ子文開始文字列に対応した終了条件の文字とを対にし
て格納する。
【0008】図2は、入れ子文判定テーブルの詳細の説
明図である。図中アンダラインを付した文字列は、入れ
子文開始文字列である。また、図中2重のアンダライン
を付した文字は、対応する終了条件の文字である。即
ち、“{”と“}”とが対として格納され、“whil
e(){”と“} ”とが対として格納され、“for(){”
と“} ”とが対として格納され、“if(){ ”と“} ”と
が対として格納され、“switch(){”と“} ”とが対と
して格納され、“do(){ ”と“} ”とが対として格納さ
れている。また、“while() ”と“; ”とが対として格
納され、“for() ”と“; ”とが対として格納され、
“if()”と“; ”とが対として格納され、“do()”
と“; ”とが対として格納されている。再び、図1の説
明に戻る。
【0009】入れ子情報スタック2は、主記憶装置の一
部の領域等から成り、入力データに出現する入れ子文開
始文字列と、当該入れ子文開始文字列に対応した終了条
件の文字とを出現する順に入れ子情報として格納する。
また、最後に格納した入れ子情報から順に取り出す。
【0010】図3は、入れ子情報スタックの詳細の説明
図である。図示のように、入れ子情報スタックには、階
層21と、入れ子文ID22と、終了条件23とが格納
される。階層21は、入れ子の階層を示す数値である。
上から順に入れ子情報が格納されるとすると、図中上側
の階層から順に階層が深くなる。新たに入れ子情報が格
納されると、最上位に入れられ、下方の入れ子情報は押
し下げられる。また、取り出されるときは、最上位の階
層から取り出され、下方の入れ子情報は押し上げられ
る。
【0011】入れ子文ID22は、図2に示す入れ子文
判定テーブルに格納された入れ子文開始文字列を識別す
るためのIDである。終了条件23は、入れ子文開始文
字列に対応した終了条件の文字を格納する部分である。
再び、図1の説明に戻る。
【0012】インデント設定手段3は、入れ子情報スタ
ック2に格納された入れ子情報の総数に応じた大きさの
インデントを入力データに付加する。即ち、図3に示す
入れ子情報スタック中の階層21の最上位を参照し、こ
こに格納された数値と、インデント設定の単位Lを乗算
した数の空白文字を自動的に入力する。入れ子関係判断
手段4は、入力データに、入れ子情報スタック2に最後
に格納された入れ子文開始文字列に対応した入れ子終了
条件の文字が出現したか否かを判断する。そして、当該
入れ子条件の文字が出現したとき、入れ子情報スタック
2から最後に格納された入れ子情報を取り出す。一方、
入力データに、他の入れ子開始文字列が出現したとき、
当該他の入れ子情報を入れ子情報スタック2に格納す
る。次に、上述した装置における処理手順を説明する。
【0013】図4は、本発明に係る処理手順を説明する
フローチャートであり、図5は、ソースプログラムの入
力の例を示す図である。図4に示すプログラムにおい
て、これから入力しようとする文がどの階層の入れ子の
下にあるかを認識し、その入れ子の階層に見合ったイン
デントをカレント行に設定する。ここで、カレント行と
は、プログラミング開発者が入力しているか、又は入力
しようとしている行をいう。
【0014】まず、オペレータは、カレント行を入力す
る(ステップS1)。その後、カレント行がどの入れ子
文の直下にあるかを、記憶した入れ子情報スタックのデ
ータの有無で判断する(ステップS2)。入れ子情報ス
タックにデータが存在している場合、即ちカレント行自
身が入れ子の中に存在している場合、入れ子情報スタッ
クの最上位の階層21の数値から調べた入れ子文の階層
を基にカレント行に対するインデント値を作成し、設定
する(ステップS3)。即ち、図5に示す入力の例42
の部分では常に入れ子が存在している状態となる。一
方、入れ子文がいっさい存在していない場合、カレント
行入力は、最上位の階層にいるものとしてインデント値
=“0”を作成して設定する(ステップS4)。これに
は、図5に示す入力の例41の部分が相当している。
【0015】そして、上記ステップS3又はS4で設定
したインデント位置に入力ポジションを移動し、ステッ
プS1で入力した行の出力を行なう(ステップS5)。
また、上記ステップS5で出力した行データの中に現在
の入れ子に関する終了条件となる文字が存在しているか
調べる(ステップS6)。このような終了条件の文字が
存在する場合、現在の入れ子は終了するので、入れ子情
報スタックから当該入れ子に対する情報を外す(ステッ
プS7)。例えば、図5に示す入れ子43に対しては終
了条件45の“}”が入力された時点で入れ子43は終
了することになる。
【0016】他方、ステップS8では、入力した行デー
タの中に他の入れ子文が含まれているかを調べる。これ
を調べる方法は、入れ子判定テーブルに登録されている
判定文字列との比較をし、一致していれば入れ子文とみ
なす。そして、ステップS9で、入れ子情報スタックへ
の記憶を行なう。例えば、図2に示す入れ子31の“wh
ile(){”に一致していれば、入れ子文IDに“whil
e(){”をセットし、階層に現在の入れ子階層に1加算し
た値をセットし、終了条件に入れ子判定テーブルに登録
されている“}”をセットする。図3に示す入れ子情報
スタックは、図5に示す最上位の入れ子47、 while文
の入れ子43、if文の入れ子46の順に格納した例であ
る。ステップS10では、行データが単純に最後の行か
否かを調べ、最後の行なら、処理を終了させている。こ
の例では、終了条件47の閉じカッコが入力された時点
で終了となる。
【0017】
【発明の効果】以上説明したように、本発明の字下げ処
理方式によれば、入力データを構成する文と文との入れ
子関係を判断する手段と、入れ子の階層を基にインデン
トを設定する手段とを備えたので、コーディング時のイ
ンデント設定操作を自動で行なうことができる。従っ
て、プログラミング開発者への負荷を大幅に軽減するこ
とができる。この結果、プログラミング開発者が本来の
コーディング作業に集中でき、ソフトウェアの生産性及
び品質を大幅に向上することができる。
【図面の簡単な説明】
【図1】本発明の方式の装置の実施例のブロック図であ
る。
【図2】入れ子判定テーブルの詳細の説明図である。
【図3】入れ子情報スタックの詳細の説明図である。
【図4】本発明に係る処理手順を説明するフローチャー
トである。
【図5】ソースプログラムの入力の例を示す図である。
【符号の説明】
1 入れ子文判定テーブル 2 入れ子情報スタック 3 インデント設定手段 4 入れ子関係判断手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 相互に入れ子関係にある入れ子文開始文
    字列及び終了条件の文字を対にして格納する入れ子文判
    定テーブルと、 入力データに出現する入れ子文開始文字列と、当該入れ
    子文開始文字列に対応した終了条件の文字とを順次入れ
    子情報として格納し、取り出し時は最後に格納した入れ
    子情報から順に取り出す入れ子情報スタックと、 当該入れ子情報スタックに格納された入れ子情報の総数
    に応じた大きさのインデントを入力データに付加するイ
    ンデント設定手段と、 入力データに、前記入れ子情報スタックに最後に格納さ
    れた入れ子文開始文字列に対応した入れ子終了条件の文
    字が出現したか否かを判断し、当該入れ子条件の文字が
    出現したとき、前記入れ子情報スタックから最後に格納
    された入れ子情報を取り出す一方、入力データに、他の
    入れ子開始文字列が出現したとき、当該他の入れ子情報
    を前記入れ子情報スタックに格納する入れ子関係判断手
    段とから成ることを特徴とする字下げ処理方式。
JP27200491A 1991-09-24 1991-09-24 字下げ処理方式 Pending JPH0581008A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27200491A JPH0581008A (ja) 1991-09-24 1991-09-24 字下げ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27200491A JPH0581008A (ja) 1991-09-24 1991-09-24 字下げ処理方式

Publications (1)

Publication Number Publication Date
JPH0581008A true JPH0581008A (ja) 1993-04-02

Family

ID=17507805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27200491A Pending JPH0581008A (ja) 1991-09-24 1991-09-24 字下げ処理方式

Country Status (1)

Country Link
JP (1) JPH0581008A (ja)

Similar Documents

Publication Publication Date Title
JPH0581008A (ja) 字下げ処理方式
JP2009169573A (ja) 解析結果出力装置、及び解析結果出力方法
CN118057779A (zh) 一种通信网络业务处理方法和装置
JP2588210B2 (ja) ヘルプガイド方式
JPH05282360A (ja) 多国語入力装置
JP2570681B2 (ja) ワード・プロセッサ
EP0694835A1 (en) Integrated software command specification and documentation system
JPH1021192A (ja) 操作抽出方式およびマクロ作成方式
JPH08190561A (ja) 文書修正装置
JP3087699B2 (ja) 定型情報簡易入力システム及び定型情報簡易入力方法
JP2623106B2 (ja) コンピュータ・システム
JPH09223111A (ja) データ処理装置のコマンド実行方法
JPH04281558A (ja) 文書検索方法および装置
JPH11161666A (ja) ドキュメントデータ検索方法および装置、並びにドキュメント編集装置
JPS5827268A (ja) 日本語処理装置
JP2837611B2 (ja) プログラム編集方法
JPS6325765A (ja) 文書編集装置
JPH08272792A (ja) 文字処理装置及びその方法
JPH03147128A (ja) プログラム作成支援方式
JPH05233714A (ja) 関連語情報作成支援方式
JPH07319878A (ja) 機械翻訳装置
JPH0588872A (ja) プログラム構造図作成処理システム
JPH061470B2 (ja) 文章処理装置
JPH0695309B2 (ja) 中間言語テキストの再利用方式
JPH0543134B2 (ja)