nocrlf
Priskribo de la ĉi-paĝa enhavo
ANS -Fortha programo por forviŝi linifinajn signojn el HTML -dosiero kaj ilin meti post ĉiu etikedo.
Mi verkis ĉi malgrandan ANS -Forthan programon por forviŝi ĉiujn linifinajn signojn el HTML -dosiero kaj ilin meti post ĉiu etikedo, por poste povi komforte manipuli ĝin mane.
La Forth-vortoj kaj komentoj estas hispanlingvaj sed la kodo tre simplas kaj facile kompreneblas. La uzvortoj jenas:
DE
= "de", por elekti la originan dosieron.HACIA
= "al", por elekti la novan dosieron.TRADUCE
= "traduku", por fari la taskon.CIERRA
= "fermu", por fermi ambajn dosierojn.
Fontkodo
\ *********************
cr .( nocrlf )
\ *********************
\ Copyright (C) 2005 Marcos Cruz (http://programandala.net)
\ Licencia/Permesilo/License: http://programanadala.net/license
\ Programa escrito en ANS Forth.
\ Programo verkita en ANS-Fortho.
\ Program written in ANS Forth.
\ Programa para quitar los finales de línea arbitrarios de un archivo HTML
\ y colocarlos detrás de cada marca, para poder editarlo.
\ 2005 04 09 Primera versión.
\ Comandos:
\ s" fichero-origen" DE
\ s" fichero-destino" HACIA
\ TRADUCE
\ CIERRA
decimal
10 constant lf-char
13 constant cr-char
variable archivo_original
variable archivo_nuevo
variable lugar
: de ( a u -- )
r/o open-file
abort" Error al abrir el archivo original"
archivo_original !
;
: hacia ( a u -- )
w/o create-file
abort" Error al abrir el archivo nuevo"
archivo_nuevo !
;
: cierra
archivo_original @ close-file
abort" Error al cerrar el archivo original"
archivo_nuevo @ close-file
abort" Error al cerrar el archivo nuevo"
;
: signo ( -- c )
lugar c@
;
: destino ( -- a 1 )
lugar 1
;
: traduce ( -- )
page
begin
destino archivo_original @ read-file
abort" Error leyendo el archivo original"
while
signo dup
lf-char = swap cr-char = or
if
bl lugar c!
then
signo emit
destino archivo_nuevo @ write-file
signo [char] > =
if
cr-char lugar c!
destino archivo_nuevo @ write-file
lf-char lugar c!
destino archivo_nuevo @ write-file
cr
then
repeat
;
.( nocrlf ok!)