JPH07101384B2 - インデント処理装置 - Google Patents

インデント処理装置

Info

Publication number
JPH07101384B2
JPH07101384B2 JP31801987A JP31801987A JPH07101384B2 JP H07101384 B2 JPH07101384 B2 JP H07101384B2 JP 31801987 A JP31801987 A JP 31801987A JP 31801987 A JP31801987 A JP 31801987A JP H07101384 B2 JPH07101384 B2 JP H07101384B2
Authority
JP
Japan
Prior art keywords
line
parenthesis
found
parentheses
determined
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 - Fee Related
Application number
JP31801987A
Other languages
English (en)
Other versions
JPH01158530A (ja
Inventor
祐子 安藝
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31801987A priority Critical patent/JPH07101384B2/ja
Publication of JPH01158530A publication Critical patent/JPH01158530A/ja
Publication of JPH07101384B2 publication Critical patent/JPH07101384B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 画面に表示される文字・記号の字下げを行うインデント
処理装置に関し、 前行の括弧を参照して次行の先頭位置を迅速に決定する
ことを目的とし、 括弧に注目し、指示された行の先頭位置を、前行に記述
されている括弧に基づいて決定する先頭位置決定部を備
え、この先頭位置決定部によって決定された先頭位置か
ら文字・記号列を入力あるいは配列するように構成す
る。
〔産業上の利用分野〕
本発明は、画面に表示される文字・記号の字下げを行う
インデント処理装置に関するものである。
〔従来の技術と発明が解決しようとする問題点〕
リスト処理用プログラミング言語(LISP等)のソースプ
ログラムは、非常に多くの括弧“(”および“)”から
成り、読み易いプログラムに編集するために、意味のあ
るインデント(字下げ)をしながら記述することが望ま
しい。
リストは右括弧“(”および左括弧“)”の一対によっ
て構成されている。これらの括弧は式の初めから見て現
れた“(”に対応する“)”が現れる前に再び“(”が
現れると、リストが構造的に一段深くなり(レベルが下
がり)、一方、対応する“)”が現れると元の深さに戻
るという意味を持っている。このことに注目して、ソー
スプログラム上で見易くするには、リスト構造の深さに
対応するインデントをすることで実現できる。つまり、
式が数行におよぶ場合に、同じ深さのリストは、同じ位
置にインデントされて表示されることが望ましい。
しかし、従来は、この深さに対応した位置から表示(記
述)させるために、式の初めからすべての括弧を探して
対応する括弧を見つけ出し、インデントを決定するよう
にしていたので、迅速に決定し得ないという問題点があ
った。
記述すれば、従来、インデント位置を決定するために、
複数行からなる式の一番最初の“(”を探し、その後に
“(”がくればこの位置を記憶する。“)”がくれば直
前に記憶していた“(”の位置を記憶するというように
して、式の先頭から順次出現する“(”と“)”の対応
関係を調べてその位置を順次記憶し、この記憶した位置
によってインデント位置を決定するようにしていた。こ
のため、式の行数に比例して処理時間が必要となり、式
が数行に及ぶ場合、迅速にインデント位置を決定し得な
いという問題点があった。
本発明は、前行の括弧を参照して次行の先頭位置を迅速
に決定することを目的としている。これにより、先頭位
置を決定する際に参照する行を、式の行数の多少にかか
わらず前行を参照すればよく、参照する行を最小限にと
どめることができる。
〔問題点を解決するための手段〕
第1図を参照して問題点を解決するための手段を説明す
る。
第1図において、先頭位置決定部1は、括弧に注目し
て、指示された行の先頭位置を、前行の括弧を参照して
決定するものである。
画面(画面バッファ)2は、リスト処理プログラム言語
を用いて記述したソースプログラムを表示(格納)する
ものである。
〔作用〕
本発明は、図に示すように、画面2上のある行にカーソ
ルを置き、先頭位置決定部1に指示を与えると、この指
示された行の先頭位置を、前行の括弧を参照して深さレ
ベルに対応して決定し、この決定した先頭位置から文字
・記号を再配置して表示あるいは入力された文字・記号
を順次配列して表示するようにしている。
従って、インデントが指示された場合に、前行の括弧を
参照して先頭位置を迅速に決定して再配列あるいは先頭
位置から順次入力して表示させることが可能となる。
〔実施例〕
次に第1図および第2図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
第1図において、メモリ3は、画面2上に括弧の深さレ
ベルに対応づけてインデントして記述したソースプログ
ラムおよび先頭位置情報を格納したものである。図中 は、改行記号を表す。図中各行の初めに存在する“tab"
や“ ”(1個の空白)は、その行のソースプログラム
の先頭位置を移動するために、先頭位置決定部1が決定
し挿入した制御記号である。1つの“tab"は、予め定め
た所定個(例えばここでは5個)の空白分だけ先頭位置
を移動させることを表している。“tab"が2個あれば、
10個分先頭位置を移動させる。5個に満たない端数の空
白は、図中“ ”を用いて表す。例えば、先頭位置決定
部1が、ソースプログラムのある行の先頭位置を8桁移
動すると決定した場合には、その行の先頭に“tab"1つ
と“ "3つを挿入することになる。これにより、画面表
示の際に8個の空白の後にソースプログラムの先頭がく
ることとなる。
まず、括弧に注目し、指示された行の先頭位置を、前行
の括弧を参照して決定するルールを説明する。
ルール1:指示された行の前行の後ろから探して最初に現
れる括弧が“(”(開括弧という)の場合、その位置よ
りも一段下げた位置(tab 1個分下げた位置)を、当
該指示された行のインデント位置と決定する。
ルール2:指示された行の前行の後ろから探して最初に現
れる括弧が“)”(閉括弧という)のとき、かつこ
の“)”に対応する“(”が見つかった場合、この見つ
かった“(”の位置が当該指示された行のインデント位
置と決定する。但し、見つかった“(”より同じ行の前
方向で対になる“)”と“(”が存在した場合には、後
から見つけた前方向の“)”の方を当該指示された行の
インデント位置と決定する。
ルール3:指示された行の前行の後ろから探して最初に現
れる括弧が“)”のとき、かつこの“)”に対応する
“(”が見つからなかった場合、この見つからなかった
“)”の総数Nを求め、前行中で最後に見つけた“(”
の位置より、この総数分だけ浅いレベルの位置が当該指
示された行のインデント位置と決定する。この浅いレベ
ルの位置は、更に前行の後ろから探してN個目の“(”
の位置である。この際、対となる“)”がある“(”
は、数に数えない。また、N個目の“(”が見つかなら
ないときは、更に前行の後ろから探してN個目の“(”
の位置が見つかるまで繰り返す。
次に、ソースプログラムが各行の例えば左端位置から記
述されており、これを画面2中に示すようにレベル深さ
に応じて先頭位置を決定して移動させる手順を詳細に説
明する。
第2行目のいずれかの位置にカーソルを移動させた後、
tab"キーを押下して指示した場合、先頭位置決定部1
は、前行である第1行目から後から探して最初に図中
の位置で“)”を見つけ、かつ図中の位置で対応する
“(”を見つけたので、既述したルール2合致し、この
の位置を当該指示された第2行目のインデント位置
と決定する。
第3行目のいずれかの位置にカーソルを移動させた後、
tab"キーを押下して指示した場合、先頭位置決定部1
は、前行である第2行目の後から探して最初に図中の
位置で“)”を見つけ、かつ図中の位置で対応する
“(”を見つけたので、既述したルール2に合致し、こ
のの位置を当該指示された第3行目のインデント位
置と決定する。
第4行目のいずれかの位置にカーソルを移動させた後、
tab"キーを押下して指示した場合、先頭位置決定部1
は、前行である第3行目の後から探して最初に図中の
位置で“(”を見つけたので、既述したルール1に合致
し、このの位置よりも1段下げた位置を当該指示さ
れた第4行目のインデント位置と決定する。
第5行目のいずれかの位置にカーソルを移動させた後、
tab″キーを押下して指示した場合、先頭位置決定部1
は、前行である第4行目の後から探して最初に図中の
位置で“)”を見つけたが、この“)”に対応す
る“)”がこの行で見つからないので、既述したルール
3に合致し、この見つからない“)”の総数Nを図中
に示すように“2"として求め、第4行目のインデント位
置よりも2段上がった位置を当該指示された第5行
のインデント位置と決定する。
以上の手順によって、画面2中に記述したようい、イン
デント位置が次々決定されて表示される。尚、上述の説
明は、全てのソースプログラムが記述されており、イン
デント位置のみを後程決定するとして説明したが、ソー
スプログラムを順次記述しながらインデント位置を決定
するようにしてもよい。具体的に言えば、第1行目に示
すソースプログラムを記述した後、第2行目に改行して
tab"キーを押下して指示した場合、位置のインデント
位置からキー入力したソースプログラムが自動的に表示
されるものである。
次に、画面2中に表示されたソースプログラムおよびイ
ンデント情報をメモリ3中に格納すると図示のようにな
る。
簡単に説明すると、メモリ3中には、画面2中の第1行
目ないし第5行目に記述されているソースプログラムが
順次シリアルに格納されている。この際、各行の末尾に
は改行記号が挿入されていると共に、各行の先頭には本
発明に係る先頭位置制御記号“tab"や“ ”が挿入され
ている。先頭位置制御記号は、既述したように、先頭位
置決定部1がその行の先頭位置を決定した際に挿入すべ
き空白の個数に応じて挿入したものである。“tab"は、
ここでは空白5個分、“ ”は空白1個分を意味する。
つまり、空白5個毎に“tab"、残りの端数が“ ”とし
て挿入される。
次に、第2図を用いてリスト処理用のプログラム言語
(LISPなど)でソースプログラムを記述する場合の動作
を簡単に説明する。
第2図において、図中は、行末を記述したことを示
す。これは、第1図画面(画面バッファ)2上の第1行
目の行末の図中を用いて示す“)”を記述したことを
表す。
図中は、改行キーを押すことを示す。これは、図中
で行末を記述し、改行するために改行キーを押下したも
のである。これにより、カーソルが次の行の先頭に移動
する。
図中は、タブキーを押すことを示す。これは、図中
の改行キーの押下に対応して次の行の先頭に移動したカ
ーソルが、記述したルール1ないし4ののいずれかに対
応した位置に移動、例えば第1図画面2上の第2行目の
場合には位置の示す位置にカーソルが移動することを
意味している。このように、改行キーの押下、およびタ
ブキーの押下によって、次の行の記述開始位置に自動的
にカーソルが移動され、図中でこのカーソルの位置か
らソースプログラムの記述を行うことが可能となる。
図中は、終わりか否かを判別することを示す。YESの
場合(終わりの場合)には、終了する。NOの場合には、
図中ないしを繰り返し実行する。
尚、第2図は、改行キーおよびタブキーを順次押下して
自動的に移動されたカーソルの位置からソースプログラ
ムなどを順次記述した場合について説明したが、これに
限られず、既に記述したソースプログラムに対して、あ
る行にカーソルを移動させて、タブキーを押下しても、
図中で説明したと同様に、前行の括弧の状態などを見
て当該行の括弧の先頭位置が設定されるものである。
〔発明の効果〕
以上説明したように、本発明によれば、インデントが指
示された場合に、前行の括弧を参照して当該指示された
行の先頭位置を決定して再配列あるいは先頭位置から順
次入力して表示させる構成を採用しているため、迅速に
インデント位置を決定して再配列あるいはインデント位
置からソースプログラムなどをいわば自動的に記述する
ことができる。
【図面の簡単な説明】
第1図は本発明の1実施例構成図、第2図は本発明の動
作説明フローチャートを示す。 図中、1は先頭位置決定部、2はソースプログラムを表
示する画面(画面バッファ)、3はメモリを表す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】画面に表示される文字・記号の字下げを行
    うインデント処理装置であって、 指示された行の先頭位置を、前行に記述されている後ろ
    から見つけた最初の括弧が 開括弧のときその位置よりも一段下げた位置 閉括弧のときに当該閉括弧に対応する開括弧が見つ
    かった場合にこの見つかった開括弧の位置 閉括弧のときに当該閉括弧に対応する開括弧が見つ
    からなかった場合に前行中で対応する開括弧のない閉括
    弧の総数Nを求め、前行中で最後に見つけた開括弧の位
    置より、この総数N分だけ浅いレベルの位置 のいずれかによって決定する先頭位置決定手段を備え、 この先頭位置決定手段によって決定された先頭位置から
    文字・記号列を入力あるいは配列するように構成したこ
    とを特徴とするインデント処理装置。
JP31801987A 1987-12-15 1987-12-15 インデント処理装置 Expired - Fee Related JPH07101384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31801987A JPH07101384B2 (ja) 1987-12-15 1987-12-15 インデント処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31801987A JPH07101384B2 (ja) 1987-12-15 1987-12-15 インデント処理装置

Publications (2)

Publication Number Publication Date
JPH01158530A JPH01158530A (ja) 1989-06-21
JPH07101384B2 true JPH07101384B2 (ja) 1995-11-01

Family

ID=18094585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31801987A Expired - Fee Related JPH07101384B2 (ja) 1987-12-15 1987-12-15 インデント処理装置

Country Status (1)

Country Link
JP (1) JPH07101384B2 (ja)

Also Published As

Publication number Publication date
JPH01158530A (ja) 1989-06-21

Similar Documents

Publication Publication Date Title
US5893914A (en) Interactive computerized document assembly system and method
JPH07104877B2 (ja) コンピユータ支援作図システムにおける作図方法
US5040113A (en) Data manipulation program
US5307493A (en) "C" program source blocker
JPH07101384B2 (ja) インデント処理装置
EP0821323A2 (en) Data processing device and method for processing data
JPS59114586A (ja) マルチ・ウインドウ・システムにおける同一コマンド実行方式
JP2618865B2 (ja) 情報処理装置
JP2002132125A (ja) コンピュータ画面による言語学習に用いる訓練方式
JP2994387B2 (ja) 文書入力装置
JP3020213B2 (ja) 文書処理装置
JP3160926B2 (ja) 文書作成装置
JPS5949609B2 (ja) 校正位置指示方式
JPH0433159A (ja) 文書作成装置
JPH01147593A (ja) 情報検索画面におけるウィンドウ領域自動設定方法
JPH0315779B2 (ja)
JPS62182967A (ja) 漢字入力装置
JPS60191366A (ja) マイコンアニメ−シヨン
JPH0520018A (ja) フイールド属性表示処理装置
JPS62182966A (ja) 漢字入力装置
JPH01191256A (ja) 文書作成装置
JPH0571111B2 (ja)
JPS58117040A (ja) 文書処理装置
JPH03142657A (ja) 文書処理装置
JPH0320876A (ja) 誘導入力方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees