[gforth] / gforth / wf.fs  

gforth: gforth/wf.fs

Diff for /gforth/wf.fs between version 1.3 and 1.4

version 1.3, Tue Jul 17 13:14:12 2001 UTC version 1.4, Tue Jul 17 14:21:21 2001 UTC
Line 20 
Line 20 
     s' "' tag-option $+! ;      s' "' tag-option $+! ;
 : href= ( addr u -- )  s" href" opt ;  : href= ( addr u -- )  s" href" opt ;
 : src=  ( addr u -- )  s" src" opt ;  : src=  ( addr u -- )  s" src" opt ;
   : alt=  ( addr u -- )  s" alt" opt ;
 : align= ( addr u -- ) s" align" opt ;  : align= ( addr u -- ) s" align" opt ;
 : mailto: ( addr u -- ) s'  href="mailto:' tag-option $+!  : mailto: ( addr u -- ) s'  href="mailto:' tag-option $+!
     tag-option $+! s' "' tag-option $+! ;      tag-option $+! s' "' tag-option $+! ;
Line 75 
Line 76 
     link-icon? link $@ href= s" a" tagged      link-icon? link $@ href= s" a" tagged
     link-size? ;      link-size? ;
   
   : .img ( -- ) '{ parse type '} parse '| $split
       dup IF  2swap alt=  ELSE  2drop  THEN  src= s" img" tag ;
   
 \ line handling  \ line handling
   
   : char? ( -- c )  >in @ char swap >in ! ;
 : parse-tag ( addr u char -- )  : parse-tag ( addr u char -- )
     >r r@ parse type      >r r@ parse type
     r> parse 2swap tagged ;      r> parse 2swap tagged ;
Line 84 
Line 89 
 : .bold ( -- )  s" b" '* parse-tag ;  : .bold ( -- )  s" b" '* parse-tag ;
 : .em   ( -- )  s" em" '_ parse-tag ;  : .em   ( -- )  s" em" '_ parse-tag ;
   
 : parse-line ( -- )  : do-word ( char -- )
     BEGIN  >in @ >r char r> >in !  
         CASE          CASE
             '* OF .bold ENDOF              '* OF .bold ENDOF
             '_ OF .em   ENDOF              '_ OF .em   ENDOF
             '[ OF .link ENDOF              '[ OF .link ENDOF
           '{ OF .img  ENDOF
             >in @ >r char drop              >in @ >r char drop
             source r@ /string >in @ r> - nip type              source r@ /string >in @ r> - nip type
         ENDCASE      ENDCASE ;
         source nip >in @ = UNTIL ;  
   : parse-line ( -- )
       BEGIN  char? do-word source nip >in @ = UNTIL ;
   
   : parse-to ( char -- ) >r
       BEGIN  char? dup r@ <> WHILE
           do-word source nip >in @ = UNTIL  ELSE  drop  THEN
       r> parse type ;
   
 \ paragraph handling  \ paragraph handling
   
Line 149 
Line 161 
 : |> -env ;  : |> -env ;
 : +| |line  : +| |line
     BEGIN      BEGIN
         |h '| parse type          |h '| parse-to char? '+ =  UNTIL line| ;
         >in @ >r char r> >in ! '+ =  UNTIL line| ;  
 : -| |line  : -| |line
     BEGIN      BEGIN
         |d '| parse type          |d '| parse-to char? '- =  UNTIL line| ;
         >in @ >r char r> >in ! '- =  UNTIL line| ;  
   
 definitions  definitions
   


Generate output suitable for use with a patch program
Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help