TECO | |
---|---|
Típusú | Szöveg szerkesztő |
Szerző | Dan Murphy |
Fejlesztő | Daniel Murphy [d] |
Első kiadás | 1962/63 |
Hardver platform | PDP-1 , PDP-6 [d] és PDP-10 |
A TECO ( MFA: [ˈtiːkoʊ] ; eredetileg az angol rövidítése . Tape Editor and Corrector , később - Text Editor and Corrector ) egy szövegszerkesztő , amelyet eredetileg a Massachusetts Institute of Technology -ban fejlesztettek ki az 1960-as években, majd később módosítani lehetett. "bárki" [1] . A TECO az Emacs közvetlen őse volt , amelyet eredetileg a TECO makrójaként valósítottak meg . [2]
A TECO nemcsak szövegszerkesztő volt, hanem értelmezett programozási nyelv is a szövegkezeléshez. A szöveg megtalálására és módosítására szolgáló különféle programok (úgynevezett makrók) meglehetősen hatékonysá tették a szerkesztőt. A reguláris kifejezésekkel ellentétben a programozási nyelv elengedhetetlen volt (bár egyes verziókban volt OR operátor a részkarakterláncok kereséséhez).
A TECO nyelvnek valójában nem volt szigorú szintaxisa , minden karaktert parancsoló parancsként kezeltek, amely egy adott műveletet hajt végre. Ez a művelet lehet a következő karakterek beolvasása a programfolyamból (egy "karakterlánc-argumentum" hatását eredményezve), a "programszámláló" pozíciójának megváltoztatása ( ellenőrző utasítások alkalmazásának hatására ), vagy értékek rányomása az értékre. verem (a beágyazott zárójelek hatását adja). De semmi sem akadályozza meg abban, hogy egy megjegyzés közepébe ugorjon, mivel a nyelvnek nincs szigorú szintaxisa és nincs elemzése .
A klasszikus programozási esszé, a " Valódi programozók nem használnak Pascalt " azt mondja, hogy a TECO szerkesztő hívei gyakori játéka az volt, hogy beírták a nevüket parancsok sorozataként, és megnézték, mi történik. Ugyanebben az esszében először említették a YAFIYGI mozaikszót, ami azt jelenti, hogy "Kérted, megvan" ( angolul - "kérted - megvan"), és a WYSIWYG ("What You See Is What ") ellentéte lett. Kapsz" „amit látsz, azt kapod").
A ma már híres Emacs szerkesztőt eredetileg a TECO-n implementálták. Az Emacs későbbi verziói, először a Multics Emacs, majd később a GNU Emacs Lisp és C nyelven lettek implementálva . A TECO a Digital Equipment Corporation PDP-6 nagyszámítógépének 1964 - es MIT -ben történő bevezetésével emelkedett előtérbe . Ez a megvalósítás folyamatosan jelenítette meg a szöveget egy CRT-kijelzőn , és interaktív szerkesztőként használták (bár eredetileg nem ez volt a cél).
A TECO számos operációs rendszerhez és számítógéphez elérhető volt, beleértve a PDP-1- et , a PDP-6 és PDP-10 nagyszámítógépeken az Incompatibilis Timesharing System - et (ITS), valamint a PDP- 10 számítógépen a TOPS-10 és TOPS-20 operációs rendszert . . A TECO szerkesztő verziót minden DEC operációs rendszerrel szállították. Az RT-11- hez mellékelt verzió képes volt meghajtani a GT40 grafikus kijelzőt, bár az RSTS/E -vel együtt szállított verzió többfelhasználós futásidejű rendszerként valósult meg, és teljes munkaasztalként is használható, így a felhasználó soha nem lépett ki TECO környezet...
A Hewlett - Packard , miután megvásárolta a Compaq -ot (amely korábban a Digital Equipment Corporationt vásárolta meg ), megkezdte a TECO szállítását az OpenVMS operációs rendszerével . [3] A DEC által a PDP-10-hez terjesztett verzió leszármazottja továbbra is elérhető online, valamint számos részleges implementáció az MS-DOS / Microsoft Windows környezethez .
A TECO-t eredetileg a Massachusetts Institute of Technology- ban fejlesztette ki 1963 körül Daniel Murphy két különböző részlegekhez tartozó PDP-1 számítógépen való használatra , mindkettő az MIT 26. épületében volt elhelyezve. Ezeken a számítógépeken a fejlesztési folyamatba bekerült a Friden Flexowriter, amelyen egy perforált papírszalagra előzetesen elkészítették a program forráskódját . A nagy IBM nagyszámítógépeken dolgozó programozók jellemzően a lyukkártyákra írták a forráskódot egy kulcslyukasztó segítségével, amely nem csak géppel olvasható formában lyukasztotta ki a kártyán lévő adatokat, hanem egy mátrixnyomtatóra is nyomtatta az egyes kártyák tetején. konvencionális, ember által olvasható formában. Így az IBM programozói a pakliban lévő lyukkártyák fizikai mozgatásával olvashattak, szúrhattak be, törölhettek és mozgathattak kódsorokat. Lyukszalaggal ez már nem volt lehetséges , és ez a valós idejű szerkesztés szükségességéhez vezetett.
A PDP-1 szerkesztőjének egyik első verziója a "Drága írógép" nevet kapta. Steven Piner írta, ez egy kezdetleges vonalorientált szerkesztő volt, amelyből hiányzott még a szöveges keresés és csere funkció is. Címét egy korábbi szerkesztő „Kolosszális írógép” címének paródiájaként választották. A valós idejű szerkesztés még akkoriban is sok hibakeresési időt takaríthatott meg. Egy másik program, amelyet a PDP-1 aktív felhasználói írtak, a "Drága asztali kalkulátor" volt, amelyet hasonló stílusban neveztek el.
Kódpélda | Magyarázat |
---|---|
ER fájl $ | fájl megnyitása olvasásra |
[ q … ] q | nyomja rá a veremre ... a Q regiszter kihelyezése a veremből (a művelet végrehajtható számmal, szöveggel vagy kóddal) |
< kód > | hurokiteráció; kódok vannak a következőhöz , szünethez , folytatáshoz stb. |
n " X then-code | else-code | feltételes operátor (X az ellenőrzött típus) |
Ez egy példa a TECO-ban írt Brainfuck nyelvi tolmácsra . Úgy működik, hogy az aktuális puffert Brainfuck programként hajtja végre, és bemutatja a szerkesztő képességeit.
@^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)"=^TUT 8^TQPJDQT@I//QIJ@O/end/'(0A-91)"=-.+QPA"=QI+1UZQLJMRMB\-1J.UI'@O/end/'(0A-93)"=- .+QPA"NQI+1UZQLJMRMC\-1J.UI'@O/en d/'!end!QI+1UI(.-Z)"=.=@^a/END/^c^c'C>