diff options
| author | 2023-09-28 00:09:06 +0800 | |
|---|---|---|
| committer | 2023-09-28 00:09:06 +0800 | |
| commit | 719b598e98baff2cf5ea34bb6d36eddd8fd29f38 (patch) | |
| tree | 5ec396376f3e85d10cd14a7222979105060b3926 /src/psi/interpreter.py | |
| parent | f0853a78a84205e7e3a6f0f3f5960750127044c6 (diff) | |
| download | TRPGNivis-719b598e98baff2cf5ea34bb6d36eddd8fd29f38.tar.gz TRPGNivis-719b598e98baff2cf5ea34bb6d36eddd8fd29f38.zip | |
feat(src): delete `src` dir & rename `psi` dir
feat(frame): 添加`Lib` `Grammar` `Modules` 目录
Diffstat (limited to 'src/psi/interpreter.py')
| -rw-r--r-- | src/psi/interpreter.py | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/psi/interpreter.py b/src/psi/interpreter.py deleted file mode 100644 index 8aa8fad..0000000 --- a/src/psi/interpreter.py +++ /dev/null @@ -1,75 +0,0 @@ -from psi.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 |
