[gforth] / gforth / regexp-test.fs  

gforth: gforth/regexp-test.fs

Diff for /gforth/regexp-test.fs between version 1.11 and 1.12

version 1.11, Sat Sep 4 22:27:22 2010 UTC version 1.12, Sun Sep 5 19:09:55 2010 UTC
Line 135 
Line 135 
   
 ." --- simple replacement test ---" cr  ." --- simple replacement test ---" cr
   
 : delnum  ( addr u -- addr' u' )   s// \d s" " //g ;  : delnum  ( addr u -- addr' u' )   s// \d ?end s" " //g ;
 : test-delnum  ( addr u addr' u' -- )  : test-delnum  ( addr u addr' u' -- )
    2swap delnum 2over 2over str= 0= IF     2swap delnum 2over 2over str= 0= IF
       ." test-delnum: got '" type ." ', expected '" type ." '"        ." test-delnum: got '" type ." ', expected '" type ." '"
    ELSE  2drop 2drop  THEN ;     ELSE  2drop 2drop ." passed" cr  THEN ;
 s" 0"  s" " test-delnum  s" 0"  s" " test-delnum
 s" 00"  s" " test-delnum  s" 00"  s" " test-delnum
 s" 0a"  s" a" test-delnum  s" 0a"  s" a" test-delnum
 s" a0"  s" a" test-delnum  s" a0"  s" a" test-delnum
 s" aa"  s" aa" test-delnum  s" aa"  s" aa" test-delnum
   
 : delcomment  ( addr u -- addr' u' )  s// ` # {** .? **}  s" " //g ;  : delcomment  ( addr u -- addr' u' )  s// ` # {** .? **} >> s" " //g ;
 s" hello # test " delcomment type cr  s" hello # test " delcomment type cr
   : delparents  ( addr u -- addr' u' )  s// ` ( {* .? *} ` ) >> s" ()" //g ;
   s" delete (test) and (another test) " delparents type cr
   
 \ replacement tests  \ replacement tests
   
 ." --- replacement tests ---" cr  ." --- replacement tests ---" cr
   
 : hms>s ( addr u -- addr' u' )  : hms>s ( addr u -- addr' u' )
   s// \( \d \d \) ` : \( \d \d \) ` : \( \d \d \)    s// \( \d \d \) ` : \( \d \d \) ` : \( \d \d \) >>
   \1 s>number drop 60 *    \1 s>number drop 60 *
   \2 s>number drop + 60 *    \2 s>number drop + 60 *
   \3 s>number drop + 0 <# 's' hold #s #> //g ;    \3 s>number drop + 0 <# 's' hold #s #> //g ;
Line 163 
Line 165 
 ."  replaced by " 2dup type  ."  replaced by " 2dup type
 s" bla 45296s fasel 117s blubber" str= [IF] .(  ok) [ELSE] .(  failed) [THEN] cr  s" bla 45296s fasel 117s blubber" str= [IF] .(  ok) [ELSE] .(  failed) [THEN] cr
   
   : hms>s,del() ( addr u -- addr' u' )
     s// {{ \( \d \d \) ` : \( \d \d \) ` : \( \d \d \)
            >> \1 s>number drop 60 *
               \2 s>number drop + 60 *
               \3 s>number drop + 0 <# 's' hold #s #> <<
            || ` ( {* -` ) *} ` ) \ >> <<" "
         }} LEAVE //s ;
   
   \ doesn't work yet
   \ s" (bla) 12:34:56 (fasel) 00:01:57 (blubber)" 2dup type hms>s,del() space type cr
   
 script? [IF] bye [THEN]  script? [IF] bye [THEN]


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

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help