Mercurial > hg > ede
view 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 source
{ "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": {} } ] }