\ ********************* 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!)