From ae345a2f193a4d6022edda76523a39f6e891843e Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Sat, 24 Feb 2024 12:48:55 +0800 Subject: refactor!: rewrite python package --- nivis-python/execution.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 nivis-python/execution.py (limited to 'nivis-python/execution.py') diff --git a/nivis-python/execution.py b/nivis-python/execution.py new file mode 100644 index 0000000..0abdf2c --- /dev/null +++ b/nivis-python/execution.py @@ -0,0 +1,46 @@ +from psi.parsers import Parser +from psi.interpreter import Interpreter + +__all__ = ['Execution'] + +class Execution: + """ + A class representing the execution of Psi code. + + Args: + input: The input code to be executed. + + Returns: + None + + Example: + ```python + execution = Execution("print('Hello, World!')") + execution.execute() + ``` + """ + + def __init__(self, input): + """ + Initializes an Execution object. + + Args: + input: The input code to be executed. + + Returns: + None + """ + self.input = input + + def execute(self): + """ + Executes the input code. + + Returns: + The result of the execution. + """ + parser = Parser(self.input) + ast = parser.parse() + + interpreter = Interpreter(ast) + return interpreter.interpret() -- cgit v1.2.3-70-g09d2