stack comment
[forthwiki.git] / phpwiki.f
blob3b28f7a63be837849384ac48152f3bdd004f448b
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
6 S" parse.f" INCLUDED
8 : xml-declaration " <?xml version={''}1.0{''} encoding={''}windows-1251{''}?>" STYPE CR ;
10 ALSO XMLSAFE
12 : BACKSTRLISTFREE ( sl --> sl \ <-- ) PRO BACK ['] STRFREE list::free-with TRACKING RESTB CONT ;
14 : para2xml ( a u -- )
15 TRIM
16 2DUP EMPTY? IF 2DROP EXIT THEN
17 start-para
18 RE" \n" re_split BACKSTRLISTFREE LAMBDA{ STR@ phpwiki::parse-line } list::iter
19 close-all
22 : (wiki2xml) ( a u -- )
23 xml-declaration
24 plaintags
25 `article tag
26 RE" \r?\n\r?\n" re_split BACKSTRLISTFREE LAMBDA{ STR@ para2xml } list::iter ;
28 PREVIOUS \ XMLSAFE
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
39 \ BYE