Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def parse(self, exp):
- opers = []
- output = []
- for x in exp:
- if x in self.ops:
- if opers:
- while opers and self.ops.get(opers[-1]) >= self.ops.get(x):
- output.append(opers.pop())
- opers.append(x)
- elif x == '(':
- opers.append(x)
- elif x == ')':
- while opers and opers[-1] != '(':
- output.append(opers.pop())
- opers.pop()
- else:
- output.append(x)
- while opers:
- x = opers.pop()
- if x != '(' and x != ')':
- output.append(x)
- return output
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement