Modify the extract-labels procedure
The following register-machine code is ambiguous, because the label here is defined more than once:
start
(goto (label here))
here
(assign a (const 3))
(goto (label there))
here
(assign a (const 4))
(goto (label there))
there
With the simulator as written, what will the contents of register a be when control reaches there ? Modify the extract-labels procedure so that the assembler will signal an error if the same label name is used to indicate two different locations.