From 4291a6aac9ee4a1c79bc24c40d4c558bf88d3e93 Mon Sep 17 00:00:00 2001 From: GrĂ©goire DuchĂȘne Date: Thu, 17 Feb 2011 13:43:53 +0100 Subject: Explicit link support added. --- src/parser/document_p.cpp | 2 +- src/parser/text_p.cpp | 5 ++++- src/parser/text_p.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/parser') diff --git a/src/parser/document_p.cpp b/src/parser/document_p.cpp index 208e1f1..5b45212 100644 --- a/src/parser/document_p.cpp +++ b/src/parser/document_p.cpp @@ -16,5 +16,5 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "document_p.h" document_p::document_p() : document_p::base_type(document_) { - document_ = +text_(ph::val(L"*'`$^@")); + document_ = +text_(ph::val(L"*'`$^@[")); } diff --git a/src/parser/text_p.cpp b/src/parser/text_p.cpp index 0701691..ce1e233 100644 --- a/src/parser/text_p.cpp +++ b/src/parser/text_p.cpp @@ -20,7 +20,7 @@ text_p::text_p() : text_p::base_type(text_) { using namespace ph; using qi::standard_wide::char_; - text_ = stext_(_r1) | ptext_(_r1); + text_ = stext_(_r1) | pstext_(_r1) | ptext_(_r1); stext_ = lit("***") >> attr(VSEMPH) >> +text_(_r1) >> "***" | lit("**") >> attr(SEMPH) >> +text_(_r1) >> "**" @@ -34,6 +34,9 @@ text_p::text_p() : text_p::base_type(text_) { | lit(L"@\"") >> attr(QUOTE) >> +text_(val(L"*'`$@\"")) >> '"' | lit(L"@_") >> attr(SUB) >> +text_(val(L"*'`$@_")) >> '_'; + pstext_ = lit('[') >> attr(LINK) >> +text_(val(L"]")) >> ']' >> + lit('(') >> ptext_(val(L")")) >> ')'; + ptext_ = +(echar_ | rchar_(_r1)); echar_ = lit('\\') >> char_; rchar_ = char_ - char_(_r1); diff --git a/src/parser/text_p.h b/src/parser/text_p.h index d9fe7a0..35fc41f 100644 --- a/src/parser/text_p.h +++ b/src/parser/text_p.h @@ -26,6 +26,7 @@ namespace ph = boost::phoenix; struct text_p : qi::grammar { qi::rule text_; qi::rule stext_; + qi::rule pstext_; qi::rule ptext_; qi::rule echar_; qi::rule rchar_; -- cgit v1.2.3-70-g09d2