109a110,123
> # Figure out what the input and output types should be
> opmap = {"!": "bool", "-": "int", "++": "Scalar"}
> if self.op in opmap:
> output = opmap[self.op]
> type_in_symtab = self.symtab.find(opmap[self.op], Type)
> if (optype != type_in_symtab):
> self.error("Type mismatch: right operand of " +
> "unary operator '%s' must be of type '%s'. ",
> self.op, type_in_symtab)
> else:
> self.error("Invalid prefix operator '%s'",
> self.op)
>
> # All is well
114c128
< return self.symtab.find("void", Type)
---
> return self.symtab.find(output, Type)