diff options
Diffstat (limited to 'htmtl/parser.py')
| -rw-r--r-- | htmtl/parser.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/htmtl/parser.py b/htmtl/parser.py new file mode 100644 index 0000000..a91de0a --- /dev/null +++ b/htmtl/parser.py @@ -0,0 +1,20 @@ +from abc import ABC, abstractmethod +from typing import Any, Optional +from dompa.nodes import Node +from .expression_parser import ExpressionParser + + +class Parser(ABC): + __data: dict[str, Any] + __expression_parser: ExpressionParser + + def __init__(self, data: dict[str, Any], expression_parser: ExpressionParser) -> None: + self.__data = data + self.__expression_parser = expression_parser + + def expression(self, expression: str) -> Any: + return self.__expression_parser.parse(expression) + + @abstractmethod + def traverse(self, node: Node) -> Optional[Node]: + pass
\ No newline at end of file |
