Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commands = {
- 'prt': 0,
- 'jmp': 1
- }
- program = """
- prt 202;
- jmp 3;
- prt 101;
- prt 256;
- prt 45;
- """
- ignore = [chr(10), chr(13), chr(32)]
- def string_copy(str, i, l):
- output = ""
- for char in range(i, i+l):
- output += str[char]
- return output
- # COMPILE TO BYTECODE
- tokens = []
- values = []
- tok = ''
- for char in program:
- if char in ignore:
- continue
- if char == ';':
- cmd = string_copy(tok, 0, 3)
- val = string_copy(tok, 3, len(tok)-3)
- tokens.append(commands[cmd])
- values.append(int(val))
- tok = ''
- else:
- tok += char
- i = 0
- while i < (len(tokens)):
- if tokens[i] == 0:
- print('prt')
- print(values[i])
- elif tokens[i] == 1:
- i = values[i]-1
- i += 1
- print(tokens)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement