Homework progress
This commit is contained in:
@@ -2,37 +2,56 @@ from MaMaGUI import MaMaGUI
|
||||
from MaMaMa import MaMaMa
|
||||
|
||||
if __name__ == "__main__":
|
||||
prog = {
|
||||
0: 'ldo(-1)',
|
||||
1: 'push(0)',
|
||||
2: 'equal(17)',
|
||||
3: 'push(0)',
|
||||
4: 'ldo(-1)',
|
||||
5: 'equal(19)',
|
||||
6: 'ldo(-1)',
|
||||
7: 'ldo(-1)',
|
||||
8: 'leq(14)',
|
||||
9: 'ldo(-1)',
|
||||
10: 'ldo(-1)',
|
||||
11: 'sub',
|
||||
12: 'sto(-2)',
|
||||
13: 'ujp(6)',
|
||||
14: 'ldo(-1)',
|
||||
15: 'sub',
|
||||
16: 'ujp(3)',
|
||||
17: 'sto(-1)',
|
||||
18: 'stop',
|
||||
19: 'pop',
|
||||
20: 'stop'
|
||||
}
|
||||
prog = [
|
||||
'cequal(26)',
|
||||
'cleqR(11)',
|
||||
'csub(-1,0,-1)',
|
||||
'ujp(15)',
|
||||
'csub(0,-1,0)',
|
||||
'nzero(-1,3)',
|
||||
'swp',
|
||||
'pop',
|
||||
'stop',
|
||||
'pop',
|
||||
'stop'
|
||||
]
|
||||
|
||||
# Create and execute MaMa instance
|
||||
machine = MaMaMa(['equal0(3)', 'stop', 'push(10)', 'stop'], [4, 6, 0])
|
||||
machine = MaMaMa(prog, [1, 1, 1, 4, 6])
|
||||
|
||||
machine.add_macro('equal0', [
|
||||
machine.add_macro('nzero', [
|
||||
'ldo(n)',
|
||||
'ldo(0)',
|
||||
'sub',
|
||||
'push(0)',
|
||||
'equal(n)'
|
||||
], ["n"])
|
||||
'equal(p)'
|
||||
], ['n', 'p'])
|
||||
|
||||
machine.add_macro('cequal', [
|
||||
'ldo(-1)',
|
||||
'ldo(-1)',
|
||||
'equal(p)'
|
||||
], ["p"])
|
||||
|
||||
machine.add_macro('cleqR', [
|
||||
'ldo(0)',
|
||||
'ldo(-2)',
|
||||
'leq(p)'
|
||||
], ['p'])
|
||||
|
||||
machine.add_macro('csub', [
|
||||
'ldo(n)',
|
||||
'ldo(m-1)',
|
||||
'sub',
|
||||
'sto(s-1)'
|
||||
], ['n', 'm', 's'])
|
||||
|
||||
machine.add_macro('swp', [
|
||||
'ldo(-1)',
|
||||
'ldo(-1)',
|
||||
'sto(-2)',
|
||||
'sto(-1)',
|
||||
])
|
||||
|
||||
# Visualize finished execution using journal
|
||||
gui = MaMaGUI(machine)
|
||||
|
||||
Reference in New Issue
Block a user