Mercurial > hg > ede
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