From 8793ecea74706aedb4674434f65ef9d05850b769 Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Wed, 28 Feb 2024 12:09:56 +0800 Subject: refactor(bones)!: rename nivis-python -> nivis_python --- nivis-python/interpreter.py | 76 --------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 nivis-python/interpreter.py (limited to 'nivis-python/interpreter.py') diff --git a/nivis-python/interpreter.py b/nivis-python/interpreter.py deleted file mode 100644 index 6322180..0000000 --- a/nivis-python/interpreter.py +++ /dev/null @@ -1,76 +0,0 @@ -from .lexer import Token - - -__all__ = ["Interpreter"] - - -class Interpreter: - """ - A class representing an interpreter for Psi code. - - Args: - ast: The abstract syntax tree (AST) of the code to be interpreted. - - Returns: - None - - Example: - ```python - interpreter = Interpreter(ast) - interpreter.interpret() - ``` - """ - - def __init__(self, ast): - """ - Initializes an Interpreter object. - - Args: - ast: The abstract syntax tree (AST) of the code to be interpreted. - - Returns: - None - """ - self.ast = ast - - def interpret(self): - """ - Interprets the code represented by the AST. - - Returns: - The result of the interpretation. - """ - return self.interpret_expr(self.ast) - - def interpret_expr(self, node): - """ - Interprets an expression node in the AST. - - Args: - node: The expression node to be interpreted. - - Returns: - The result of the interpretation. - """ - 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): - """ - Interprets a condition node in the AST. - - Args: - node: The condition node to be interpreted. - - Returns: - The result of the interpretation. - """ - variable = self.interpret_expr(node[0]) - value = self.interpret_expr(node[2]) - - return variable == value -- cgit v1.2.3-70-g09d2