diff options
| author | 2024-02-28 11:37:54 +0800 | |
|---|---|---|
| committer | 2024-02-28 11:37:54 +0800 | |
| commit | 672e0d03d3ffdba740d166f2c4a7243f142cec5f (patch) | |
| tree | 46cdb4ea015877e7828710a47c945aa2e834beb0 /nivis-python/execution.py | |
| parent | fc6fc64ca3ff7df62dd270fc021f674e56b2dedf (diff) | |
| download | TRPGNivis-672e0d03d3ffdba740d166f2c4a7243f142cec5f.tar.gz TRPGNivis-672e0d03d3ffdba740d166f2c4a7243f142cec5f.zip | |
refactor!: built in rust
Diffstat (limited to 'nivis-python/execution.py')
| -rw-r--r-- | nivis-python/execution.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nivis-python/execution.py b/nivis-python/execution.py new file mode 100644 index 0000000..09055cf --- /dev/null +++ b/nivis-python/execution.py @@ -0,0 +1,47 @@ +from .parsers import Parser +from .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() |
