jb302@1: { jb302@1: "metadata": { jb302@1: "name": "gen_language" jb302@1: }, jb302@1: "nbformat": 3, jb302@1: "nbformat_minor": 0, jb302@1: "worksheets": [ jb302@1: { jb302@1: "cells": [ jb302@1: { jb302@1: "cell_type": "code", jb302@1: "collapsed": false, jb302@1: "input": [ jb302@1: "from pprint import pprint\n", jb302@1: "import sys\n", jb302@1: "sys.path.append('../assembler')\n", jb302@1: "from assembler import *\n", jb302@1: "f = open('instruction_set.txt', 'r')\n", jb302@1: "lang = first_pass(f)\n", jb302@1: "\n", jb302@1: "r = open('instruction_table.txt', 'r')\n", jb302@1: "r = filter(lambda l: l != '\\n', r.readlines())\n", jb302@1: "codes = []\n", jb302@1: "for line in r:\n", jb302@1: " codes.append(line.split()[0])\n", jb302@1: " " jb302@1: ], jb302@1: "language": "python", jb302@1: "metadata": {}, jb302@1: "outputs": [], jb302@1: "prompt_number": 2 jb302@1: }, jb302@1: { jb302@1: "cell_type": "code", jb302@1: "collapsed": false, jb302@1: "input": [ jb302@1: "mne_syms = []\n", jb302@1: "arg_syms = []\n", jb302@1: "for line in lang:\n", jb302@1: " mne_syms.append(line[0])\n", jb302@1: " arg_syms.extend(line[1])\n", jb302@1: "mne_set = set(mne_syms)\n", jb302@1: "arg_set = set(arg_syms)\n", jb302@1: "\n", jb302@1: "iset = {}\n", jb302@1: "for mne in mne_set:\n", jb302@1: " i = 0\n", jb302@1: " valid_args = {}\n", jb302@1: " for line in lang:\n", jb302@1: " if line[0] == mne:\n", jb302@1: " valid_args.update({tuple(line[1]):int(codes[i])})\n", jb302@1: " i = i + 1\n", jb302@1: " iset.update({mne:valid_args})\n", jb302@1: "pprint(iset)\n" jb302@1: ], jb302@1: "language": "python", jb302@1: "metadata": {}, jb302@1: "outputs": [] jb302@1: } jb302@1: ], jb302@1: "metadata": {} jb302@1: } jb302@1: ] jb302@1: }