diff utils/gen_language.ipynb @ 1:82e82dda442b

alpha version of assembler 'finished' some more documentation and test files added
author james <jb302@eecs.qmul.ac.uk>
date Fri, 06 Dec 2013 23:39:54 +0000
parents
children 2b8eb2c86602
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/utils/gen_language.ipynb	Fri Dec 06 23:39:54 2013 +0000
@@ -0,0 +1,64 @@
+{
+ "metadata": {
+  "name": "gen_language"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from pprint import pprint\n",
+      "import sys\n",
+      "sys.path.append('../assembler')\n",
+      "from assembler import *\n",
+      "f = open('instruction_set.txt', 'r')\n",
+      "lang = first_pass(f)\n",
+      "\n",
+      "r = open('instruction_table.txt', 'r')\n",
+      "r = filter(lambda l: l != '\\n', r.readlines())\n",
+      "codes = []\n",
+      "for line in r:\n",
+      "    codes.append(line.split()[0])\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "mne_syms = []\n",
+      "arg_syms = []\n",
+      "for line in lang:\n",
+      "    mne_syms.append(line[0])\n",
+      "    arg_syms.extend(line[1])\n",
+      "mne_set = set(mne_syms)\n",
+      "arg_set = set(arg_syms)\n",
+      "\n",
+      "iset = {}\n",
+      "for mne in mne_set:\n",
+      "    i = 0\n",
+      "    valid_args = {}\n",
+      "    for line in lang:\n",
+      "        if line[0] == mne:\n",
+      "            valid_args.update({tuple(line[1]):int(codes[i])})\n",
+      "        i = i + 1\n",
+      "    iset.update({mne:valid_args})\n",
+      "pprint(iset)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file