diff options
author | Qieerb <qieerbushe7@gmail.com> | 2018-03-22 15:12:33 +0000 |
---|---|---|
committer | Qieerb <qieerbushe7@gmail.com> | 2018-03-22 15:12:33 +0000 |
commit | 51fe7c246a6f4eae3b39efb3e5064e00064f25e0 (patch) | |
tree | 3c3cd746b4460f020e97ca412130740d85032cb6 /FMark | |
parent | 77640344e36b5af3d62882dc122217d6a514ae03 (diff) | |
download | FMark-51fe7c246a6f4eae3b39efb3e5064e00064f25e0.tar.gz FMark-51fe7c246a6f4eae3b39efb3e5064e00064f25e0.zip |
RefStyle agnostic as well
Diffstat (limited to 'FMark')
-rw-r--r-- | FMark/src/Common/TOCite/RefParse.fs | 18 | ||||
-rw-r--r-- | FMark/src/Common/TOCite/TOCite.fs | 5 |
2 files changed, 13 insertions, 10 deletions
diff --git a/FMark/src/Common/TOCite/RefParse.fs b/FMark/src/Common/TOCite/RefParse.fs index d278324..45c1ae6 100644 --- a/FMark/src/Common/TOCite/RefParse.fs +++ b/FMark/src/Common/TOCite/RefParse.fs @@ -152,14 +152,6 @@ let ref2TLine format ref:TLine = urlGen Harvard ref.URL; dateGen Harvard ref.AccessDate] |> List.reduce List.append -let (|Assign|_|) = function - | LITERAL field::WHITESPACE _::EQUAL::WHITESPACE _::tl - | LITERAL field::WHITESPACE _::EQUAL::tl - | LITERAL field::EQUAL::WHITESPACE _::tl - | LITERAL field::EQUAL::tl -> - Some (field, tl) - | _ -> None - // parses a single reference entry // This probably should never see ENDLINE let refParser style tLst = @@ -177,8 +169,16 @@ let refParser style tLst = Some (int y, int m, int d), tl | _ -> None, tail + let (|Field|_|) = function + | LITERAL f::WHITESPACE _::EQUAL::WHITESPACE _::tl + | LITERAL f::WHITESPACE _::EQUAL::tl + | LITERAL f::EQUAL::WHITESPACE _::tl + | LITERAL f::EQUAL::tl -> + Some (f, tl) + | _ -> None + match tLst with - | Assign (f,tl) -> + | Field (f,tl) -> match f with | "type" -> match tl with diff --git a/FMark/src/Common/TOCite/TOCite.fs b/FMark/src/Common/TOCite/TOCite.fs index d4b5ba2..cc668f3 100644 --- a/FMark/src/Common/TOCite/TOCite.fs +++ b/FMark/src/Common/TOCite/TOCite.fs @@ -111,7 +111,10 @@ let rec styleParse rLst tocLst = | "IEEE" -> Some IEEE | _ -> None // use default match tocLst with - | ENDLINE::PERCENT::PERCENT::LITERAL "RefStyle"::WHITESPACE _ ::EQUAL::WHITESPACE _ ::LITERAL lit::tl -> + | ENDLINE::PERCENT::PERCENT::LITERAL "RefStyle"::WHITESPACE _ ::EQUAL::WHITESPACE _ ::LITERAL lit::tl + | ENDLINE::PERCENT::PERCENT::LITERAL "RefStyle"::EQUAL::WHITESPACE _ ::LITERAL lit::tl + | ENDLINE::PERCENT::PERCENT::LITERAL "RefStyle"::WHITESPACE _ ::EQUAL::LITERAL lit::tl + | ENDLINE::PERCENT::PERCENT::LITERAL "RefStyle"::EQUAL::LITERAL lit::tl -> stylify lit, List.append rLst tl | a::tl -> styleParse (a::rLst) tl | [] -> None, rLst |