Text Editor and Corrector

出典: フリー百科事典『ウィキペディア(Wikipedia)』
TECOから転送)

Text Editor and CorrectorTECO1960[paper] Tape Editor and COrrectorTECOviUNIXEmacs使EmacsTECOTECO

[]


TECO使TECOTECO

TECOEmacsMultics EmacsGNU EmacsLISPEmacs LispTECO1964Project MACDEC PDP-6使使TECODECVT100

TECOPDP-1PDP-6PDP-10Incompatible Timesharing System (ITS)PDP-10TOPS-10TOPS-20DECRT11GT40RSTS/ETECODECOpenVMSTECO

DECPDP-10MS-DOS/Microsoft Windows

[]


TECO1963[1]PDP-1使PDP-12使IBM1IBM

PDP-1[2][3]PDP-1[4]

TECOPDP-1使CPUPDP-1TECO

TECOFlexowriterTECO

TECO使TECOPDP-1

TECO使[]


hello.c :
   int main(int argc, char **argv)
   {
       printf("Hello world!\n");
       return 0;
   }

"Hello"  "Goodbye" TECO"*" "$"  ESC :
*EBhello.c$$                     バックアップ付きでファイルをリード/ライト・オープン
*P$$                             最初のページを読み込む
*SHello$0TT$$                    "Hello" を検索してその行を表示する
    printf("Hello world!\n");    その行
*-5DIGoodbye$0TT$$               5文字削除して、"Goodbye" を挿入し、その行を表示
    printf("Goodbye world!\n");  修正された行
*EX$$                            編集結果をファイルにコピーして終了

TECOコード例[編集]

コード例 説明
ER file $ ファイルをリード・オープンする
[q ... ]q レジスタQ(数、テキスト、コードなどを保持できる)のプッシュとポップ
< code > 繰り返し; 他にも nextbreakcontinue などに相当するコードがある
n "X then-code | else-code ' if-then-else(Xは条件)

TECOプログラミング言語[編集]


TECOMS-DOSUNIXTECO*ESC2$$

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[]


TECOBrainfuckBrainfuck
 @^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]

脚注[編集]

  1. ^ : Daniel L. Murphy
  2. ^ : expensive typewriter
  3. ^ : Stephen D. Piner
  4. ^ : colossal typewriter

関連項目[編集]

外部リンク[編集]