#!/usr/bin/python import sys import re from table import * manipulation = [ Manipulation("copy1\n", 1, (1,1)), Manipulation("drop\n", 1,( )), Manipulation("swap\n", 2,(2,1)), Manipulation("copy2\n", 2,(2,1,2)), Manipulation("tuck2\n", 2,(1,2,1)), Manipulation("drop2\n", 2,(1,)), Manipulation("rsu3\n", 3,(2,3,1)), Manipulation("rsd3\n", 3,(3,1,2)), Manipulation("copy3\n", 3,(3,1,2,3)), Manipulation("tuck3\n", 3,(1,2,3,1)), Manipulation("drop3\n", 3,(1,2)), Manipulation("rsu4\n", 4,(2,3,4,1)), Manipulation("rsd4\n", 4,(4,1,2,3)), Manipulation("copy4\n", 4,(4,1,2,3,4)), Manipulation("tuck4\n", 4,(1,2,3,4,1)), Manipulation("drop4\n", 4,(1,2,3)) ] commute = re.compile(r'((and)|(or)|(xor)|(add)|(mul)|(teq)|(tne))\n') stack_ops = re.compile(r'((copy\d)|(drop\d?)|(tuck\d)|(swap)|(rsu\d)|(rsd\d))\n') lit = re.compile(r'lit( )+(\d)+\n') save_table("utsa_table", manipulation, (1,2,3,4), stack_ops, commute, lit)