#include <xml_lexer.h>
ParserT
http://paper.sourceforge.net/
:
1: grammar = node*; 2: node = pi | inode_element | text; 3: inode_element = openElement node* closeElement | closedElement; 4: 5: pi = "<?" name (CHARACTER - "?>")* "?>"; 6: 7: openElement = "<" name attr* ">"; 8: closeElement = "</" name ">"; 9: closedElement = "<" name attr* "/>"; 10: 11: text = (CHARACTER - '<')+; 12: 13: attr = name '=' value; 14: name = ALPHA (ALPHA | DIGIT | '_' | ':')*; 15: value = '"' (CHARACTER - '"')* '"'; 16: 17: - Grammar terminals can be separated by any amount of whitespace. 18: - Grammar terminals are "text", "name", "value", and all literals.
Definition at line 77 of file xml_lexer.h.
Public Types | |
typedef ParserT::universe_T | universe_T |
Defines universe type of xml lexer. | |
typedef universe_T::strict_edge_T | strict_universe_T |
Defines strict universe type of xml lexer. | |
Public Member Functions | |
lexer (strict_universe_T &consumed_data_) | |
Constructs and initializes the object. | |
void | operator= (lexer< ParserT > const &) const |
Assignment does nothing. | |
size_t | xml_grammar (universe_T &universe_) |
XML grammar start rule: describes a series of nodes at the top level of xml tree. | |
size_t | xml_node (universe_T &universe_) |
XML grammar rule: describes types of xml nodes. | |
size_t | xml_name (universe_T &universe_) |
XML grammar rule: describes name of xml element or attribute. | |
size_t | xml_comment (universe_T &universe_) |
XML grammar rule: describes xml comment construct. | |
size_t | xml_pi (universe_T &universe_) |
XML grammar rule: describes xml processing instruction. | |
size_t | xml_element (universe_T &universe_) |
XML grammar rule: describes xml element. | |
size_t | xml_closeElement (universe_T &universe_) |
XML grammar rule: describes xml closing inode_element. | |
size_t | xml_text (universe_T &universe_) |
XML grammar rule: xml text. | |
size_t | xml_attr (universe_T &universe_) |
XML grammar rule: describes xml attribute. | |
size_t | xml_value (universe_T &universe_) |
XML grammar rule: describes xml attribute value. | |
Public Attributes | |
strict_universe_T & | consumed_data |
Reference to edge pointing to the part of the universe that can be safely removed from the input at any time. | |
strict_universe_T | edge_xml_name |
Substring specifying xml name. | |
strict_universe_T | attribute_value |
Substring specifying attribute value. | |
lambda< inode_writer< > >::scalar | inode_text |
Scalar representing xml text node. | |
lambda< inode_writer< > >::scalar | inode_element |
Scalar representing xml element node. | |
lambda< inode_writer< > >::scalar | inode_first |
Scalar representing first xml child node in xml parse tree. | |
lambda< inode_writer< > >::scalar | inode_last |
Scalar representing last xml child node in xml parse tree. | |
lambda< inode_writer< > >::scalar | inode_attribute |
Scalar representing xml attribute node. | |
lambda< inode_writer< > >::scalar | inode_parent |
Scalar representing parent node in xml parse tree. | |
lambda::scalar | id_xml_element |
Temporary storage of xml name id. | |
lambda::scalar | id_attribute_value |
Temporary storage of id of xml attribute value. |
|
Defines strict universe type of xml lexer.
Definition at line 83 of file xml_lexer.h. |
|
Defines universe type of xml lexer.
Definition at line 80 of file xml_lexer.h. |
|
Constructs and initializes the object.
Definition at line 122 of file xml_lexer.h. References attribute_value, consumed_data, edge_xml_name, inode_attribute, inode_element, inode_first, inode_last, inode_parent, and inode_text. |
|
Assignment does nothing.
Definition at line 137 of file xml_lexer.h. |
|
XML grammar rule: describes xml attribute.
Definition at line 379 of file xml_lexer.h. References id_attribute_value, inode_attribute, inode_element, inode_first, inode_last, xml_name(), and xml_value(). Referenced by xml_element(). |
|
XML grammar rule: describes xml closing inode_element.
Definition at line 309 of file xml_lexer.h. References xml_name(). Referenced by xml_element(). |
|
XML grammar rule: describes xml comment construct.
Definition at line 198 of file xml_lexer.h. Referenced by xml_node(). |
|
XML grammar rule: describes xml element.
Definition at line 240 of file xml_lexer.h. References inode_element, inode_first, inode_last, inode_parent, xml_attr(), xml_closeElement(), xml_name(), and xml_node(). Referenced by xml_node(). |
|
XML grammar start rule: describes a series of nodes at the top level of xml tree.
Definition at line 142 of file xml_lexer.h. References xml_node(). |
|
XML grammar rule: describes name of xml element or attribute.
Definition at line 180 of file xml_lexer.h. References edge_xml_name, and id_xml_element. Referenced by xml_attr(), xml_closeElement(), xml_element(), and xml_pi(). |
|
XML grammar rule: describes types of xml nodes.
Definition at line 156 of file xml_lexer.h. References consumed_data, xml_comment(), xml_element(), xml_pi(), and xml_text(). Referenced by xml_element(), and xml_grammar(). |
|
XML grammar rule: describes xml processing instruction.
Definition at line 218 of file xml_lexer.h. References xml_name(). Referenced by xml_node(). |
|
XML grammar rule: xml text.
Definition at line 332 of file xml_lexer.h. References inode_element, inode_first, inode_last, and inode_text. Referenced by xml_node(). |
|
XML grammar rule: describes xml attribute value.
Definition at line 429 of file xml_lexer.h. References attribute_value. Referenced by xml_attr(). |
|
Substring specifying attribute value.
Definition at line 92 of file xml_lexer.h. Referenced by lexer(), and xml_value(). |
|
Reference to edge pointing to the part of the universe that can be safely removed from the input at any time.
Definition at line 86 of file xml_lexer.h. Referenced by lexer(), and xml_node(). |
|
Substring specifying xml name.
Definition at line 89 of file xml_lexer.h. Referenced by lexer(), and xml_name(). |
|
Temporary storage of id of xml attribute value.
Definition at line 118 of file xml_lexer.h. Referenced by xml_attr(). |
|
Temporary storage of xml name id.
Definition at line 115 of file xml_lexer.h. Referenced by xml_name(). |
|
Scalar representing xml attribute node.
Definition at line 107 of file xml_lexer.h. Referenced by lexer(), and xml_attr(). |
|
Scalar representing xml element node.
Definition at line 98 of file xml_lexer.h. Referenced by lexer(), xml_attr(), xml_element(), and xml_text(). |
|
Scalar representing first xml child node in xml parse tree.
Definition at line 101 of file xml_lexer.h. Referenced by lexer(), xml_attr(), xml_element(), and xml_text(). |
|
Scalar representing last xml child node in xml parse tree.
Definition at line 104 of file xml_lexer.h. Referenced by lexer(), xml_attr(), xml_element(), and xml_text(). |
|
Scalar representing parent node in xml parse tree.
Definition at line 110 of file xml_lexer.h. Referenced by lexer(), and xml_element(). |
|
Scalar representing xml text node.
Definition at line 95 of file xml_lexer.h. Referenced by lexer(), and xml_text(). |