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