anchor.diff:  ;;; We also define ASTs that do not correspond to any Common Lisp
   ;;; special operators, because we simplify later code generation that
   ;;; way.
  +
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  +;;;
  +;;; Class CONSTANT-AST. 
  +
  +(defclass constant-ast (ast)
  +  ((%value :initarg :value :reader value)))
  +
  +(defun make-constant-ast (value)
  +  (make-instance 'constant-ast :value value))
  +
  +(defmethod stream-draw-ast ((ast constant-ast) stream)
  +  (format stream "   ~a [style = filled, fillcolor = green];~%" (id ast))
  +  (format stream "   ~a [label = \"~a\"];~%"
  +	  (id ast)
  +	  (value ast)))
  +
  +(defmethod children ((ast constant-ast))
  +  '())
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  
positive.code: 	(then-ast ast)
  	(else-ast ast)))
  
  (defmethod stream-draw-ast ((ast sicl-env:lexical-location) stream)
    (format stream "   ~a [label = \"~a\"];~%" (id ast) (sicl-env:name ast))
    (format stream "   ~a [style = filled, fillcolor = yellow];~%" (id ast)))
  
negative.code: (defmethod stream-draw-ast ((ast function-ast) stream)
    (format stream "   ~a [label = \"function\"];~%"
  	  (id ast))
    (unless (null (argparse-ast ast))
      (stream-draw-ast (argparse-ast ast) stream)
      (format stream "   ~a -> ~a~%"
  	    (id ast)
  	    (id (argparse-ast ast))))
    (stream-draw-ast (body-ast ast) stream)
    (format stream "   ~a -> ~a~%"
  	  (id ast)
  