Text Editor and Corrector
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/17 14:47 UTC 版)
TECOコード例
コード例 | 説明 |
---|---|
ER file $ | ファイルをリード・オープンする |
[q ... ]q | レジスタQ(数、テキスト、コードなどを保持できる)のプッシュとポップ |
< code > | 繰り返し; 他にも next、break、continue などに相当するコードがある |
n "X then-code | else-code ' | if-then-else(Xは条件) |
TECOプログラミング言語
プログラミング言語としてのTECOの文法は奇妙だが、非常に強力で、そのクローンはMS-DOSやUNIX上でいまだに利用可能である。TECOのコマンドは文字(制御文字もある)であり、プロンプトはアスタリスク「*」である。ESCキーを2回押下することでコマンドが完了し、画面にはドル記号「$$」で表示される。
TECOプログラム例
TECOプログラムでは、大文字/小文字は区別されず、空白は無視される。ただし、タブは挿入コマンドであり、無視されない。
例 1
バッファ内の各行を行の先頭の文字に従ってソートする。この例ではGoto文を使用している。
!START! j 0aua ! 先頭にジャンプし、1文字めをレジスタAにロード ! !CONT! l 0aub ! 次の行の1文字めをレジスタBにロード ! qa-qb"g xa k -l ga 1uz ' ! A>B なら行を入れ替えて、フラグをレジスタZにセットする ! qbua ! B を A にロード ! l z-."g -l @o/CONT/ ' ! バッファに他の行があれば(CONTに)ループする ! qz"g 0uz @o/START/ ' ! 行入れ替えが起きた場合、最初からもう1回行う !
例 2
例1と同じことをするが、構造化プログラミングを使用している。
0uz ! 繰り返しフラグをクリア ! <j 0aua l ! 1文字目をレジスタAにロード ! <0aub ! 次の行の1文字目をBにロード ! qa-qb"g xa k -l ga -1uz ' ! A>B なら、行を入れ替えてフラグをセット ! qbua ! B を A にロード ! l .-z;> ! バッファに他の行があればループ ! qz;> ! 入れ替えが起きたときは最初に戻る !
例 3
TECOで書かれたBrainfuckインタプリタの例である。バッファの内容をBrainfuckプログラムとして実行する。
@^UB#@S/{^EQQ,/#@^UC#@S/,^EQQ}/@-1S/{/#@^UR#.U1ZJQZ\^SC.,.+-^SXQ-^SDQ1J#@^U9/[]-+<>.,/<@:-FD/^N^EG9/;>J30000<0@I//>ZJZUL30000J0U10U20U30U60U7@^U4/[]/@^U5#<@:S/^EG4/U7Q7; -AU3(Q3-91)"=%1|Q1"=.U6ZJ@i/{/Q2\@i/,/Q6\@i/}/Q6J0;'-1%1'>#<@:S/[/UT.U210^T13^TQT;QT"NM5Q2J'>0UP30000J.US.UI<(0A-43)"=QPJ0AUTDQT+1@I//QIJ@O/end/'(0A-45)"=QPJ0AUTDQT-1@I/ /QIJ@O/end/'(0A-60)"=QP-1UP@O/end/'(0A-62)"=QP+1UP@O/end/'(0A-46)"=-.+QPA^T(-.+QPA-10)"=13^T'@O/end/'(0A-44)"=^TUT8^TQPJDQT@I//QIJ@O/end/'(0A-91)"=-.+QPA"=QI+1UZQLJMRMB\ -1J.UI'@O/end/'(0A-93)"=-.+QPA"NQI+1UZQLJMRMC\-1J.UI'@O/end/'!end!QI+1UI(.-Z)"=.=@^a/END/^c^c'C>
参考文献
- TECO pocket guide. Digital Equipment Corporation, 1978. Order No. AV-D530A-TK. 17 pp. [1]
- TECO 6. PDP-6 Memo No. 2, Memorandum MAC-M-191, October 29, 1964. [2]
|
固有名詞の分類
プログラミング言語 |
Common Lisp Icon Text Editor and Corrector Planner 擬似言語 |
テキストエディタ |
Acme EDLIN Text Editor and Corrector シンタックスハイライト Apsaly |
- Text Editor and Correctorのページへのリンク