{ "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": [ ", **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": [ ", 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 }