summaryrefslogtreecommitdiff
path: root/tools/quickbook/src/block_element_grammar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/quickbook/src/block_element_grammar.cpp')
-rw-r--r--tools/quickbook/src/block_element_grammar.cpp34
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 =