Fix create, delete, and move path parsing
Change-Id: I48941bcf2b8ed14ae5ecc42d665e6626f9e53f1e
diff --git a/src/grammars.hpp b/src/grammars.hpp
index 354c029..39b993d 100644
--- a/src/grammars.hpp
+++ b/src/grammars.hpp
@@ -91,11 +91,26 @@
auto const cd_def =
cd_::name >> space_separator > cdPath;
+#if BOOST_VERSION <= 107700
+auto const create_def =
+ create_::name >> space_separator >
+ (x3::eps >> presenceContainerPath |
+ x3::eps >> listInstancePath |
+ x3::eps >> leafListElementPath);
+
+auto const delete_rule_def =
+ delete_::name >> space_separator >
+ (x3::eps >> presenceContainerPath |
+ x3::eps >> listInstancePath |
+ x3::eps >> leafListElementPath |
+ x3::eps >> writableLeafPath);
+#else
auto const create_def =
create_::name >> space_separator > (presenceContainerPath | listInstancePath | leafListElementPath);
auto const delete_rule_def =
delete_::name >> space_separator > (presenceContainerPath | listInstancePath | leafListElementPath | writableLeafPath);
+#endif
auto const get_def =
get_::name >> -(space_separator >> getPath);
@@ -209,7 +224,11 @@
{
ParserContext& parserContext = x3::get<parser_context_tag>(ctx);
dataPath_ movePath;
+#if BOOST_VERSION <= 107700
+ auto movePathGrammar = x3::eps >> listInstancePath | x3::eps >> leafListElementPath;
+#else
auto movePathGrammar = listInstancePath | leafListElementPath;
+#endif
auto res = movePathGrammar.parse(begin, end, ctx, rctx, attr.m_source);
if (!res) {
parserContext.m_errorMsg = "Expected source path here:";