aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ricochet/parser/dom_tree.hh9
-rw-r--r--include/ricochet/parser/html_lexer.hh17
-rw-r--r--include/ricochet/parser/tree_builder.hh27
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