anchor.diff:    ;
   
   element_list :
  -     element (element_separator_list element2)*
  +     element (element_separator_list element)*
     ;
   
   element :
        expr_in_array
  -  ;
  -
  -element2 :
  -     expr_in_array2
     ;
   
   //non-empty
  
positive.code: prefix_arg :
       pow_arg
    |  t_NOT t_FILLER? prefix_arg
    |  (t_PLUS | t_MINUS) t_FILLER? prefix_arg //NB: plus_arg may break if this is written as two rules
    ;
  
  pow_arg :
  
negative.code:   |  name t_AT name
    ;
  
  //TODO-AC: This is separate from expr because it allows t_COLON and t_END
  //  This shouldn't be necessary - dynamic scopes should handle this.
  //  See revision 709 for an implementation with dynamic scopes.
  