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.

Etiquetas:

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

Descargas

nocrlf.fs (1.54 KiB)