summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/elements.h3
-rw-r--r--src/generators/latex/paragraph_g.cpp20
-rw-r--r--src/generators/latex/paragraph_g.h32
-rw-r--r--src/generators/latex_g.cpp2
-rw-r--r--src/generators/latex_g.h4
-rw-r--r--src/parser/document_p.cpp2
-rw-r--r--src/parser/document_p.h5
-rw-r--r--src/parser/paragraph_p.cpp20
-rw-r--r--src/parser/paragraph_p.h31
9 files changed, 112 insertions, 7 deletions
diff --git a/src/elements.h b/src/elements.h
index 0c7b1bf..88161e1 100644
--- a/src/elements.h
+++ b/src/elements.h
@@ -57,7 +57,8 @@ struct pstext_t {
std::wstring parameter;
};
-typedef std::vector<text_t> document_t;
+typedef std::vector<text_t> paragraph_t;
+typedef std::vector<paragraph_t> document_t;
BOOST_FUSION_ADAPT_STRUCT (stext_t,
(stattribute_t, attribute)
diff --git a/src/generators/latex/paragraph_g.cpp b/src/generators/latex/paragraph_g.cpp
new file mode 100644
index 0000000..d93bc10
--- /dev/null
+++ b/src/generators/latex/paragraph_g.cpp
@@ -0,0 +1,20 @@
+/*
+Copyright (c) 2010, 2011, Grégoire Duchêne <gduchene@fastmail.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+#include "paragraph_g.h"
+
+latex::paragraph_g::paragraph_g() : paragraph_g::base_type(paragraph_) {
+ paragraph_ = +text_;
+}
diff --git a/src/generators/latex/paragraph_g.h b/src/generators/latex/paragraph_g.h
new file mode 100644
index 0000000..8cbb750
--- /dev/null
+++ b/src/generators/latex/paragraph_g.h
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2010, 2011, Grégoire Duchêne <gduchene@fastmail.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+#ifndef _MPPDOWN_LATEX_PARAGRAPH_G
+#define _MPPDOWN_LATEX_PARAGRAPH_G
+#include <boost/spirit/include/karma.hpp>
+#include "../../elements.h"
+#include "text_g.h"
+
+namespace ka = boost::spirit::karma;
+
+namespace latex {
+struct paragraph_g : ka::grammar<oiterator, paragraph_t()> {
+ ka::rule<oiterator, paragraph_t()> paragraph_;
+ text_g text_;
+
+ paragraph_g();
+};
+}
+#endif
diff --git a/src/generators/latex_g.cpp b/src/generators/latex_g.cpp
index a8d5191..8d5326f 100644
--- a/src/generators/latex_g.cpp
+++ b/src/generators/latex_g.cpp
@@ -16,5 +16,5 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "latex_g.h"
latex_g::latex_g() : latex_g::base_type(latex_) {
- latex_ = +text_;
+ latex_ = +paragraph_;
}
diff --git a/src/generators/latex_g.h b/src/generators/latex_g.h
index 29f1835..260e288 100644
--- a/src/generators/latex_g.h
+++ b/src/generators/latex_g.h
@@ -17,13 +17,13 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define _MPPDOWN_LATEX_G
#include <boost/spirit/include/karma.hpp>
#include "../elements.h"
-#include "latex/text_g.h"
+#include "latex/paragraph_g.h"
namespace ka = boost::spirit::karma;
struct latex_g : ka::grammar<oiterator, document_t()> {
ka::rule<oiterator, document_t()> latex_;
- latex::text_g text_;
+ latex::paragraph_g paragraph_;
latex_g();
};
diff --git a/src/parser/document_p.cpp b/src/parser/document_p.cpp
index 5b45212..fe11aed 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_ = +paragraph_;
}
diff --git a/src/parser/document_p.h b/src/parser/document_p.h
index f3b66cb..19565d7 100644
--- a/src/parser/document_p.h
+++ b/src/parser/document_p.h
@@ -16,14 +16,15 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef _MPPDOWN_DOCUMENT_P
#define _MPPDOWN_DOCUMENT_P
#include <boost/spirit/include/qi.hpp>
-#include "text_p.h"
+#include "../elements.h"
+#include "paragraph_p.h"
namespace qi = boost::spirit::qi;
namespace ph = boost::phoenix;
struct document_p : qi::grammar<iiterator, document_t()> {
qi::rule<iiterator, document_t()> document_;
- text_p text_;
+ paragraph_p paragraph_;
document_p();
};
diff --git a/src/parser/paragraph_p.cpp b/src/parser/paragraph_p.cpp
new file mode 100644
index 0000000..46f0935
--- /dev/null
+++ b/src/parser/paragraph_p.cpp
@@ -0,0 +1,20 @@
+/*
+Copyright (c) 2010, 2011, Grégoire Duchêne <gduchene@fastmail.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+#include "paragraph_p.h"
+
+paragraph_p::paragraph_p() : paragraph_p::base_type(paragraph_) {
+ paragraph_ = +text_(ph::val(L"*`$^@["));
+}
diff --git a/src/parser/paragraph_p.h b/src/parser/paragraph_p.h
new file mode 100644
index 0000000..7409b52
--- /dev/null
+++ b/src/parser/paragraph_p.h
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2010, 2011, Grégoire Duchêne <gduchene@fastmail.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+#ifndef _MPPDOWN_PARAGRAPH_P
+#define _MPPDOWN_PARAGRAPH_P
+#include <boost/spirit/include/qi.hpp>
+#include "../elements.h"
+#include "text_p.h"
+
+namespace qi = boost::spirit::qi;
+namespace ph = boost::phoenix;
+
+struct paragraph_p : qi::grammar<iiterator, paragraph_t()> {
+ qi::rule<iiterator, paragraph_t()> paragraph_;
+ text_p text_;
+
+ paragraph_p();
+};
+#endif