comparison 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
comparison
equal deleted inserted replaced
0:f598703553ef 1:82e82dda442b
1 {
2 "metadata": {
3 "name": "gen_language"
4 },
5 "nbformat": 3,
6 "nbformat_minor": 0,
7 "worksheets": [
8 {
9 "cells": [
10 {
11 "cell_type": "code",
12 "collapsed": false,
13 "input": [
14 "from pprint import pprint\n",
15 "import sys\n",
16 "sys.path.append('../assembler')\n",
17 "from assembler import *\n",
18 "f = open('instruction_set.txt', 'r')\n",
19 "lang = first_pass(f)\n",
20 "\n",
21 "r = open('instruction_table.txt', 'r')\n",
22 "r = filter(lambda l: l != '\\n', r.readlines())\n",
23 "codes = []\n",
24 "for line in r:\n",
25 " codes.append(line.split()[0])\n",
26 " "
27 ],
28 "language": "python",
29 "metadata": {},
30 "outputs": [],
31 "prompt_number": 2
32 },
33 {
34 "cell_type": "code",
35 "collapsed": false,
36 "input": [
37 "mne_syms = []\n",
38 "arg_syms = []\n",
39 "for line in lang:\n",
40 " mne_syms.append(line[0])\n",
41 " arg_syms.extend(line[1])\n",
42 "mne_set = set(mne_syms)\n",
43 "arg_set = set(arg_syms)\n",
44 "\n",
45 "iset = {}\n",
46 "for mne in mne_set:\n",
47 " i = 0\n",
48 " valid_args = {}\n",
49 " for line in lang:\n",
50 " if line[0] == mne:\n",
51 " valid_args.update({tuple(line[1]):int(codes[i])})\n",
52 " i = i + 1\n",
53 " iset.update({mne:valid_args})\n",
54 "pprint(iset)\n"
55 ],
56 "language": "python",
57 "metadata": {},
58 "outputs": []
59 }
60 ],
61 "metadata": {}
62 }
63 ]
64 }