anchor.diff:      yy.dict = None
   def constant_lookup (variable):
       assert isinstance (yy.dict, dict)
  -    if not yy.dict.has_key (variable):
  -        raise NameError ('undeclared symbol: ' + variable)
  -    return yy.dict[variable]
  +    type, value = yy.dict.get (variable, (None, 0))
  +    if type != 'Const':
  +        raise NameError ('undeclared constant: ' + variable)
  +    return value
   def add_evalue (evalue_tuple):
       evalue_name   = evalue_tuple[0]
       evalue_number = evalue_tuple[1]
  
positive.code:                                                 {{ return l }}
  
  rule const_assignment:
          'Const' IDENT '=' expression ';'        {{ AIn (IDENT); yy.dict[IDENT] = expression; }}
  
  
  rule expression: summation                      {{ return summation }}
  rule summation:
  
negative.code:       yy.ecounter = 1 + evalue_number
      AS (evalue_name)
      AN (evalue_number)
      yy.dict[evalue_name] = ('Const', evalue_number)
      return (evalue_name, evalue_number, evalue_label, evalue_blurb)
  def quote (qstring):
      import rfc822
      return '"' + rfc822.quote (qstring) + '"'
  