anchor.diff:      EmitLn('    subq $8, %rsp');
   end;
   
  +{--------------------------------------------------------------}
  +{ After expression parsing boiler plate. }
   procedure Post;
   begin
       { Post Program teardown. Always report program success for now. }
  
positive.code:     EmitLn('    pop %rbx');
      EmitLn('    sub %rax, %rbx');
  end;
  {-------------------------------------------------------------}
  
  
  {---------------------------------------------------------------}
  { Parse and Translate an Expression }
  
  procedure Expression;
  begin
      Term;
  
negative.code: 
  {--------------------------------------------------------------}
  { Report an Error }
  procedure Error(s: string);
  begin
      WriteLn; { assuming this means write a single new line? }
      WriteLn(^G, 'Error: ', s, '.'); { Not sure what ^G is. }
  end;
  
  {--------------------------------------------------------------}
  { Report Error and Halt }
  procedure Abort(s: string);
  begin
      Error(s);
      Halt; { No exit code? }
  end;
  
  {--------------------------------------------------------------}
  { Report What Was Expected }
  procedure Expected(s: string);
  begin
      Abort(s + ' Expected');
  