summaryrefslogtreecommitdiff
path: root/tiger-compiler/tcsh/python/tests/ti.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/tcsh/python/tests/ti.ipynb')
-rw-r--r--tiger-compiler/tcsh/python/tests/ti.ipynb186
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
+}