anchor.diff:  import AuxData
   
   reservedwords = ('class', 'signal', 'void')
  +collectors = ('void', 'sum', 'last', 'until0', 'while0')
   keywords = ('TRUE', 'True', 'true', 'FALSE', 'False', 'false',
               'namespace', 'enum', 'enumeration', 'Const', 'typedef', 'interface',
               'record', 'sequence', 'Bool', 'Num', 'Real', 'String')
  
positive.code:               ] '\)'                            # [ '=' auxinit {{ daux = auxinit }} ]
          ) ';'                                   {{ if kind == 'field': ANS (signal, dident) }}
                                                  {{ dtype = yy.clone_type (dtname, void = kind != 'field') }}
                                                  {{ if kind == 'field': return (kind, (dident, dtype, daux)) }}
                                                  {{ return (kind, (dident, dtype, daux, fargs)) }}
  
  
negative.code: def ANS (issignal, identifier): # assert non-signal decl
    if issignal:
      raise TypeError ('non-method invalidly declared as \'signal\': %s' % identifier)
  def ASC (collkind): # assert signal collector
    if not collkind in collectors:
      raise TypeError ('invalid signal collector: %s' % collkind)
  
  class Error (Exception):
    def __init__ (self, msg, ecaret = None):
  