1 REQUIRE STR@ ~ac
/lib
/str5
.f
2 REQUIRE re_split ~ygrek
/lib
/re
/ext
.f
3 REQUIRE OCCUPY ~pinka
/samples
/2005/lib
/append
-file
.f
4 REQUIRE TYPE
>STR ~ygrek
/lib
/typestr
.f
8 : xml
-declaration
" <?xml version={''}1.0{''} encoding={''}windows-1251{''}?>" STYPE CR
;
12 : BACKSTRLISTFREE
( sl
--> sl \
<-- ) PRO BACK
['] STRFREE list::free-with TRACKING RESTB CONT ;
16 2DUP EMPTY? IF 2DROP EXIT THEN
18 RE" \n" re_split BACKSTRLISTFREE LAMBDA{ STR@ phpwiki::parse-line } list::iter
22 : (wiki2xml) ( a u -- )
26 RE" \r?\n\r?\n" re_split BACKSTRLISTFREE LAMBDA{ STR@ para2xml } list::iter ;
30 : wiki2xml ['] (wiki2xml
) TYPE
>STR
;
32 : xml
( `filename
-- s
) >STR DUP
" \n" " {EOLN}" replace
-str
- STR@ wiki2xml
;
34 \ `lisp
.wiki FILE xml STR@ `Lisp
.xml OCCUPY
35 \ `haskell
.wiki FILE xml STR@ `Haskell
.xml OCCUPY
37 \ `phpwiki
.test FILE xml STYPE