anchor.diff:     (lparen compound-list rparen))
   
     (compound-list
  +   (term separator)
      (term)
  -   (newline-list term)
  -   (term separator)
  -   (newline-list term separator))
  +   (newline-list term separator)
  +   (newline-list term))
   
     (term
      (and-or term-tail))
  
positive.code:    ())
  
    (if-clause
     (if-word compound-list then compound-list else-part fi)
     (if-word compound-list then compound-list fi))
  
    (else-part
     (elif compound-list then else-part)
     (else compound-list))
  
    (while-clause
  
negative.code:    (fname lparen rparen linebreak function-body))
  
    (function-body
     (compound-command redirect-list) ;; Apply rule 9 (need not be reflected in the grammar)
     (compound-command)) ;; Apply rule 9 (need not be reflected in the grammar)
  
    (fname
     name) ;; Apply rule 8 (must be reflected in the grammar)
  