nocrlf
Descripción del contenido de la página
Programa en ANS Forth para quitar los finales de línea de un fichero HTML y colocarlos tras cada etiqueta.
Escribí esta pequeña utilidad en ANS Forth para quitar todos los finales de línea de un fichero HTML y colocarlos tras cada etiqueta HTML, para facilitar la edición manual del contenido.
Código fuente
\ *********************
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!)