diff options
Diffstat (limited to 'tiger-compiler/tcsh/python/tests/ti.ipynb')
| -rw-r--r-- | tiger-compiler/tcsh/python/tests/ti.ipynb | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/tiger-compiler/tcsh/python/tests/ti.ipynb b/tiger-compiler/tcsh/python/tests/ti.ipynb new file mode 100644 index 0000000..dfa5399 --- /dev/null +++ b/tiger-compiler/tcsh/python/tests/ti.ipynb @@ -0,0 +1,186 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7415e928", + "metadata": {}, + "source": [ + "The ti module is used to easily perform all the steps in the tc module and in the command line." + ] + }, + { + "cell_type": "markdown", + "id": "cefa08c9", + "metadata": {}, + "source": [ + "# Import ti" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "989c2dff", + "metadata": {}, + "outputs": [], + "source": [ + "import ti" + ] + }, + { + "cell_type": "markdown", + "id": "37e62513", + "metadata": {}, + "source": [ + "# ti Process File" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d293f4f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<function ti.process_file(filename: 'str', backend: 'tc.BackendType' = <BackendType.mips: 'mips'>, **kwargs) -> 'None'>" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ti.process_file" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fefa7505", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello World!\n" + ] + } + ], + "source": [ + "import tempfile\n", + "\n", + "with tempfile.NamedTemporaryFile() as f:\n", + " f.write(b'let in print(\"Hello World!\\n\") end')\n", + " f.seek(0)\n", + " \n", + " if not ti.tc.has(\"llvmtranslate\"): # Simulate result before TCL\n", + " print(\"Hello World!\")\n", + " else:\n", + " ti.process_file(f.name, 'llvm')" + ] + }, + { + "cell_type": "markdown", + "id": "3a6c23a4", + "metadata": {}, + "source": [ + "# ti TiExecutor" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "bd177f77", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<function ti.TiExecutor.__init__(self, filename: 'str', backend: 'tc.BackendType' = <BackendType.mips: 'mips'>, exit_on_error: 'bool' = True, get_result: 'bool' = False, rename: 'bool' = True, desugar: 'bool' = True, object_enabled: 'bool' = True, debug: 'bool' = False)>" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ti.TiExecutor.__init__" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "64c47c73", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ast: None\n", + "error: None\n", + "fragments: None\n", + "lir_fragments: None\n", + "llvm: None\n", + "result: None\n", + "target: None\n", + "tempmap: None\n", + "\n", + "Hello World!\n", + "\n" + ] + } + ], + "source": [ + "import tempfile\n", + "\n", + "with tempfile.NamedTemporaryFile() as f:\n", + " # Create File\n", + " f.write(b'let in print(\"Hello World!\\n\") end')\n", + " f.seek(0)\n", + " \n", + " # Create Executor\n", + " \n", + " if ti.tc.has(\"llvmtranslate\"):\n", + " e = ti.TiExecutor(f.name, backend=\"llvm\", rename=False, desugar=False, exit_on_error=False, get_result=True)\n", + " else:\n", + " e = ti.TiExecutor(f.name, rename=False, desugar=False, exit_on_error=False, get_result=True)\n", + " \n", + " # All data are empty before execution\n", + " print(e.data)\n", + " e.backend_exec()\n", + " \n", + " if not ti.tc.has(\"llvmtranslate\"): # Simulate result before TCL\n", + " e.data.result = \"Hello World!\\n\"\n", + " \n", + " # Result is stored when get_result=True\n", + " print(e.data.result)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} |
