diff options
| author | 2023-09-28 00:09:06 +0800 | |
|---|---|---|
| committer | 2023-09-28 00:09:06 +0800 | |
| commit | 719b598e98baff2cf5ea34bb6d36eddd8fd29f38 (patch) | |
| tree | 5ec396376f3e85d10cd14a7222979105060b3926 /psi/execution.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 'psi/execution.py')
| -rw-r--r-- | psi/execution.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/psi/execution.py b/psi/execution.py new file mode 100644 index 0000000..0abdf2c --- /dev/null +++ b/psi/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() |
