diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/ricochet/parser/dom_tree.hh | 9 | ||||
| -rw-r--r-- | include/ricochet/parser/html_lexer.hh | 17 | ||||
| -rw-r--r-- | include/ricochet/parser/tree_builder.hh | 27 |
3 files changed, 29 insertions, 24 deletions
diff --git a/include/ricochet/parser/dom_tree.hh b/include/ricochet/parser/dom_tree.hh index b1e4812..e3b3664 100644 --- a/include/ricochet/parser/dom_tree.hh +++ b/include/ricochet/parser/dom_tree.hh @@ -26,10 +26,11 @@ namespace ricochet::parser { /** * @brief DOM Node. Pure value semantics, no pointers. */ -struct DomNode { - std::string tag_name{}; // If empty, it's a pure text node - std::string text_content{}; // Only meaningful when tag_name is empty - std::vector<DomNode> children{}; // Recursive child nodes list +struct DomNode +{ + std::string tag_name {}; // If empty, it's a pure text node + std::string text_content {}; // Only meaningful when tag_name is empty + std::vector<DomNode> children {}; // Recursive child nodes list }; } // namespace ricochet::parser
\ No newline at end of file diff --git a/include/ricochet/parser/html_lexer.hh b/include/ricochet/parser/html_lexer.hh index 2cfdda9..d9ce23a 100644 --- a/include/ricochet/parser/html_lexer.hh +++ b/include/ricochet/parser/html_lexer.hh @@ -25,16 +25,19 @@ namespace ricochet::parser { -struct TextToken { - std::string content{}; +struct TextToken +{ + std::string content {}; }; -struct TagOpenToken { - std::string name{}; +struct TagOpenToken +{ + std::string name {}; }; -struct TagCloseToken { - std::string name{}; +struct TagCloseToken +{ + std::string name {}; }; using HtmlToken = std::variant<TextToken, TagOpenToken, TagCloseToken>; @@ -53,7 +56,7 @@ public: /** * @brief Perform lexical analysis to convert HTML source code into a structured sequence of tokens */ - std::vector<HtmlToken> tokenize(std::string_view html) const; + std::vector<HtmlToken> tokenize( std::string_view html ) const; private: }; diff --git a/include/ricochet/parser/tree_builder.hh b/include/ricochet/parser/tree_builder.hh index 4adbc4d..2cb0748 100644 --- a/include/ricochet/parser/tree_builder.hh +++ b/include/ricochet/parser/tree_builder.hh @@ -25,20 +25,21 @@ namespace ricochet::parser { -class TreeBuilder { +class TreeBuilder +{ public: - TreeBuilder() = default; - ~TreeBuilder() = default; - - TreeBuilder(const TreeBuilder&) = delete; - TreeBuilder& operator=(const TreeBuilder&) = delete; - TreeBuilder(TreeBuilder&&) = delete; - TreeBuilder& operator=(TreeBuilder&&) = delete; - - /** - * @brief Assemble a one-dimensional token sequence into a multi-dimensional DOM tree - */ - DomNode build(const std::vector<HtmlToken>& tokens) const; + TreeBuilder() = default; + ~TreeBuilder() = default; + + TreeBuilder( const TreeBuilder& ) = delete; + TreeBuilder& operator=( const TreeBuilder& ) = delete; + TreeBuilder( TreeBuilder&& ) = delete; + TreeBuilder& operator=( TreeBuilder&& ) = delete; + + /** + * @brief Assemble a one-dimensional token sequence into a multi-dimensional DOM tree + */ + DomNode build( const std::vector<HtmlToken>& tokens ) const; }; } // namespace ricochet::parser
\ No newline at end of file |
