diff options
Diffstat (limited to 'tools/quickbook/src/block_element_grammar.cpp')
-rw-r--r-- | tools/quickbook/src/block_element_grammar.cpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/tools/quickbook/src/block_element_grammar.cpp b/tools/quickbook/src/block_element_grammar.cpp index 1d998b9dd..04a320e9e 100644 --- a/tools/quickbook/src/block_element_grammar.cpp +++ b/tools/quickbook/src/block_element_grammar.cpp @@ -35,7 +35,7 @@ namespace quickbook xinclude, include, include_filename, template_, template_id, template_formal_arg, template_body, identifier, import, - element_id, element_id_1_5, element_id_1_6, + element_id, same_line; }; @@ -47,27 +47,25 @@ namespace quickbook // Actions error_action error(state); element_id_warning_action element_id_warning(state); - raw_char_action raw_char(state.phrase); + raw_char_action raw_char(state); + explicit_list_action explicit_list(state); scoped_parser<to_value_scoped_action> to_value(state); local.element_id = !( ':' - >> ( !(qbk_ver(105u) >> space) + >> ( qbk_ver(107u) + >> to_value(general_tags::element_id) [attribute_value_1_7] + | qbk_ver(0, 107u) + >> !(qbk_ver(105u) >> space) >> (+(cl::alnum_p | '_')) [state.values.entry(ph::arg1, ph::arg2, general_tags::element_id)] | cl::eps_p [element_id_warning] ) ) ; - local.element_id_1_5 = - !(qbk_ver(105u) >> local.element_id); - - local.element_id_1_6 = - !(qbk_ver(106u) >> local.element_id); - elements.add - ("section", element_info(element_info::block, &local.begin_section, block_tags::begin_section)) - ("endsect", element_info(element_info::block, &local.end_section, block_tags::end_section)) + ("section", element_info(element_info::section_block, &local.begin_section, block_tags::begin_section)) + ("endsect", element_info(element_info::section_block, &local.end_section, block_tags::end_section)) ; local.begin_section = @@ -83,7 +81,7 @@ namespace quickbook local.heading = space - >> local.element_id_1_6 + >> !(qbk_ver(106u) >> local.element_id) >> space >> local.inner_phrase ; @@ -222,7 +220,7 @@ namespace quickbook local.table = local.same_line - >> local.element_id_1_5 + >> !(qbk_ver(105u) >> local.element_id) >> local.same_line >> local.table_title >> *local.table_row @@ -261,7 +259,11 @@ namespace quickbook ("itemized_list", element_info(element_info::nested_block, &local.list, block_tags::itemized_list, 106)) ; - local.list = *local.cell; + local.list = + *( cl::eps_p [explicit_list] + >> local.cell + ) + ; local.cell = space @@ -304,13 +306,15 @@ namespace quickbook local.include_filename = qbk_ver(0, 106u) >> (*(cl::anychar_p - phrase_end)) [state.values.entry(ph::arg1, ph::arg2)] - | qbk_ver(106u) + | qbk_ver(106u, 107u) >> to_value() [ *( raw_escape | (cl::anychar_p - phrase_end) [raw_char] ) ] + | qbk_ver(107u) + >> to_value() [ attribute_value_1_7 ] ; local.inner_block = |