Makrooj por The Editor

Priskribo de la ĉi-paĝa enhavo

Makrooj por la teksto-redaktilo The Editor de la komputilo Sinclair QL.

Etikedoj:

Unu el la de mi plej uzitaj QL-programoj estis The Editor. Ĝi estis teksto-redaktilo kun tre pova eco: ĝi ebligis verki makroojn el siaj komandoj, en teksto-dosieroj, kaj ilin funkciigi iam ajn. Tio ebligis aŭtomatigi multajn kompleksajn aŭ ripetajn taskojn.

Mi jene montras iujn el la makrooj aŭ programetoj por The Editor kiujn mi konservas, la plej kuriozajn.

Fontkodo

adaptador_del_gens_3_cmd

Ĉi programeton mi verkis eble fine da la 1980aj. Ĝi ebligis al mi traduki fontkodojn Z80-asemblajn, verkitajn per la asemblilo GENS-3 de la komputilo Sinclair ZX Spectrum, en pli norman formaton, uzeblan per mia asemblilo ql80.

La krampoj utilis por grupigi ripetendajn komandojn, sed mi ne rememoras tion, kio signifas la komenca nulo— eble senfinan iteracion.

jl
0(6cr;s;p;d;7cr;s;a//;p;pr;d;2p;7cr;j;n)
w

elordesperante_cmd

Jenaj komandoj estas simplaj signo-anstataŭigoj. Por uzi Esperanton ĉe la QL, mi kreis alternativan signaron, en kiu plurajn de mi neneuzitajn signojn mi anstataŭigis per la ĉapelitaj Esperanto-literoj, kaj anke per la majusklaj hispanlingvaj akcentitaj vokaloj (Á, É, Í, Ó, Ú), kiuj bedaŭrinde mankis en la nenorma QL-signaro. Ja la QL havis progran signaron; ĝia unua duono koincidis kun askio (ASCII), sed la cetero ne sekvis oficialan normon, kio devigis uzi tradukilojn por interŝanĝi tekstojn kun programoj de aliaj sistemoj.

Jena programeto do anstataŭigas la Esperanto-literojn reprezentitajn de paro de signoj (senĉapela litero plus plej simila ĉapelo disponebla en askio) per la koresponda signo en mia propra signaro.

t;rp ec.c^.¢.
t;rp ec.g^.¥.
t;rp ec.h^.α.
t;rp ec.j^.δ.
t;rp ec.s^.θ.
t;rp ec.u~.λ.
t;rp ec.C^.μ.
t;rp ec.G^.π.
t;rp ec.H^.χ.
t;rp ec.J^.ƨ̣.
t;rp ec.S^.§.
t;rp ec.U~.¤.

novesperante_iksen_cmd

Ĉi makroo faris la malon. Ĝi tradukis la signojn uzitajn por la Esperanto-literoj en mia propra signaro en askion sed alinorman, nome ikso-alfabeton.

t;rp ec.¢.cx.
t;rp ec.¥.gx.
t;rp ec.α.hx.
t;rp ec.δ.jx.
t;rp ec.θ.sx.
t;rp ec.λ.ux.
t;rp ec.μ.CX.
t;rp ec.π.GX.
t;rp ec.χ.HX.
t;rp ec.ƨ̣.JX.
t;rp ec.§.SX.
t;rp ec.¤.UX.

faru_indekson_cmd

Jana makroo kreis enhavtabelon. Ne demandu min kiel. Ŝajne kaj laŭmiamemore, ĝi senĉese ripetis serĉadon de du signoj "=", kio kredeble markis la fak-titolojn de la dokumento, kaj kopiis tiun linion en la enhavtabelon.

rp(f.==.;sm;p;bs;be;gb;bi;cm;n)

qb_cmd

Jena programeto estas tre interesa. Mi verkis ĝin por traduki programon el Sinclair BASIC, de la komputilo ZX Spectrum, en formaton de QBASIC de Microsoft. Ja mi intencis verki QBASIC-version de iuj miaj programoj, sed la afero restis nur ideo.

Tamen ĉi malgranda tradukilo bone faris sian taskon. Ĝi kompreneble ne ĉion povis fari, nur la blindajn aŭtomatajn tradukojn.

La printaĵon de la originala programo mi kreis en teksto-dosiero per la print-kapabloj de la Spectrum -emulilo Z80, kiu funkciis sub la mastrumsistemo DOS kaj tiam estis unu el la plej bonaj tiafake. Mi eĉ estis oficiala paginta uzanto de Z80. La teksto-dosieron kun la printaĵo mi portis al mia komputilo QL, tradukis ĝin per The Editor kaj reportis ĝin al la komputilo PC por plu prilabori ĝin per QBASIC... Tuta simfonio do.

Tiam (ĉirkaŭ 1996) mi ne plu uzis miajn QL-ojn, sed PC de la jaro 1991 (de 486-procezilo je 50 megahercoj kaj 8 ramaj megabajtoj, mi memoras), kun QXL-karto kiu faris ĉiujn funkciojn de QL (la karto havis propran procezilon 68000 kaj propran memoron; la PC-on ĝi uzis por eniro kaj eliro). Tial ambajn sistemojn enhavis unu sola maŝino, kaj estis pli komforte labori per ambaj samtempe.

La notoj en la fontkodo estas en la hispana.

. qb_cmd

. Convierte (en parte) un texto de un listado de Sinclair Basic 
. (de la ZX Spectrum) a QBASIC de Microsoft

. Copyright (C) 1996 Marcos Cruz (http://programandala.net)
. Licencia/Permesilo/License: http://programandala.net/licencia

. 1996-05-28

. convertir los números de línea en etiquetas
t si1 s
rp( i/ / j cw s p d cw s p i/etiqueta_/ j ce a/:/ p j 2n )
t d

. insertar los ENDIF
t rp( fwc/IF/ a/ENDIF/ p fwc/THEN/ cw 2s p d p ce )

. separar los comandos en líneas
t rp ( f/: / s 2dc s p d )

. conversiones directas
t rp ewc/GO TO/GOTO/
t rp ewc/GO SUB/GOSUB/
t rp ewc/CODE/ASC/
t rp ewc/REM/'/

. convertir los saltos en etiquetas
t rp( fwc/GOTO/ cw s i/ etiqueta_/ j p j n )
t rp( fwc/GOSUB/ cw s i/ etiqueta_/ j p j n )