From ba4129933cdb6d91e695b2de900b8753652ec385 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Wed, 27 Sep 2023 17:31:16 +0800 Subject: feat(pyproject): 优化python包管理结构 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/psi/interpreter.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/psi/interpreter.py (limited to 'src/psi/interpreter.py') diff --git a/src/psi/interpreter.py b/src/psi/interpreter.py new file mode 100644 index 0000000..f98a777 --- /dev/null +++ b/src/psi/interpreter.py @@ -0,0 +1,26 @@ +from psi.lexer import Token + + +__all__ = ['Interpreter'] + +class Interpreter: + def __init__(self, ast): + self.ast = ast + + def interpret(self): + return self.interpret_expr(self.ast) + + def interpret_expr(self, node): + if isinstance(node, Token): + return node.value + elif isinstance(node, list): + for expr in node: + result = self.interpret_expr(expr) + if result is not None: + return result + + def interpret_condition(self, node): + variable = self.interpret_expr(node[0]) + value = self.interpret_expr(node[2]) + + return variable == value -- cgit v1.2.3-70-g09d2