diff --git a/unmaintained/farkup/farkup.factor b/unmaintained/farkup/farkup.factor deleted file mode 100644 index 894e7ef979..0000000000 --- a/unmaintained/farkup/farkup.factor +++ /dev/null @@ -1,86 +0,0 @@ -! Copyright (C) 2006 Matthew Willis. All Rights Reserved. -! See http://factorcode.org/license.txt for BSD license. -! -USING: parser-combinators kernel sequences lazy-lists -namespaces strings arrays math io errors ; - -IN: farkup -LAZY: <(*)> ( parser -- parser ) - ! kleene star matching, but take shortest match first - { } succeed swap dup <(*)> <&:> <|> ; - -LAZY: <(+)> ( parser -- parser ) - dup <(*)> <&:> ; - -LAZY: 'consume1' ( -- parser ) [ CHAR: \n = not ] satisfy ; - -LAZY: '\n' ( -- parser ) [ CHAR: \n = ] satisfy ; - -: open-tag ( text -- tag ) [ CHAR: < , , CHAR: > , ] { } make ; - -: close-tag ( text -- tag ) [ "" , , CHAR: > , ] { } make ; - -: both-tags ( text -- open-tag close-tag ) dup open-tag swap close-tag ; - -DEFER: 'inline' -LAZY: simple-tag ( start end html -- parser ) - both-tags [ \ drop , , ] [ ] make rot token swap <@ >r - [ \ drop , , ] [ ] make swap token swap <@ - 'inline' <(+)> <&> r> <&> ; - -LAZY: prefix-tag ( pre html -- parser ) - >r 'inline' >r token r> &> - r> both-tags [ swap , \ swap , , \ 3array , ] [ ] make <@ ; - -LAZY: 'strong' ( -- parser ) "*" "*" "strong" simple-tag ; - -LAZY: 'link' ( -- parser ) - "[" token [ drop " <&> - "," token [ drop "\">" ] <@ <&> - 'consume1' <(+)> <&> "]" token [ drop "" ] <@ <&> ; - -LAZY: 'inline' ( -- parser ) - 'strong' - 'link' <|> - 'consume1' <|> ; - -LAZY: 'h1' ( -- parser ) "=" "h1" prefix-tag ; -LAZY: 'h2' ( -- parser ) "==" "h2" prefix-tag ; -LAZY: 'h3' ( -- parser ) "===" "h3" prefix-tag ; -LAZY: 'h4' ( -- parser ) "====" "h4" prefix-tag ; -LAZY: 'h5' ( -- parser ) "=====" "h5" prefix-tag ; -LAZY: 'h6' ( -- parser ) "======" "h6" prefix-tag ; - -LAZY: 'blockquote' ( -- parser ) "[\"" "\"]" "blockquote" simple-tag ; - -LAZY: 'block' ( -- parser ) - 'h6' 'h5' 'h4' 'h3' 'h2' 'h1' <|> <|> <|> <|> <|> - 'blockquote' <|> - 'inline' [ "
" swap "
" 3array ] <@ <|> ; - -LAZY: 'farkup' ( -- parser ) - 'block' '\n' 'block' <&> <&> ; - -GENERIC: tree-write ( object -- ) - -PREDICATE: sequence non-leaf dup number? swap string? or not ; -M: non-leaf tree-write ( sequence -- ) [ tree-write ] each ; - -M: string tree-write ( string -- ) write ; - -M: number tree-write ( char -- ) write1 ; - -: farkup ( str -- html ) - 'farkup' parse dup nil? - [ error ] [ car parse-result-parsed [ tree-write ] with-string-writer ] if ; - -! useful debugging code below - -: farkup-backtracks ( wiki -- backtracks ) - ! for debugging and optimization only - 'farkup' parse list>array length ; - -: farkup-parsed ( wiki -- all-parses ) - ! for debugging and optimization only - 'farkup' parse list>array - [ parse-result-parsed [ tree-write ] with-string-writer ] map ; \ No newline at end of file diff --git a/unmaintained/farkup/farkup.facts b/unmaintained/farkup/farkup.facts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/unmaintained/farkup/farkup.list b/unmaintained/farkup/farkup.list deleted file mode 100644 index 26fdc96325..0000000000 --- a/unmaintained/farkup/farkup.list +++ /dev/null @@ -1,20 +0,0 @@ -Blocks ------- -Must be terminated by \n or end of input. - -foo =>foo
-=foo =>foo- -Inlines -------- -Can appear anywhere within a block - -*foo* => foo -[url,text] => text - - - diff --git a/unmaintained/farkup/load.factor b/unmaintained/farkup/load.factor deleted file mode 100644 index 86a471a759..0000000000 --- a/unmaintained/farkup/load.factor +++ /dev/null @@ -1,12 +0,0 @@ -! Copyright (C) 2006 Matthew Willis. All Rights Reserved. -! See http://factorcode.org/license.txt for BSD license. -! -! Adapted from Wiky (http://goessner.net/articles/wiky/) -! -REQUIRES: libs/lazy-lists libs/parser-combinators ; - -PROVIDE: libs/farkup -{ +files+ { - "farkup.factor" - "farkup.facts" -} } ; \ No newline at end of file