anchor.diff:      names[name] = None
       pins.append((name, type, array, dir, value))
   
  -def param(name, type, dir, doc, value):
  +def param(name, type, array, dir, doc, value):
  +    checkarray(name, array)
       type = type2type(type)
       if name in names:
           Error("Duplicate item name %s" % name)
  -    docs.append(('param', name, type, dir, doc, value))
  +    docs.append(('param', name, type, array, dir, doc, value))
       names[name] = None
  -    params.append((name, type, dir, value))
  +    params.append((name, type, array, dir, value))
   
   def function(name, fp, doc):
       if name in names:
  
positive.code: 
      has_array = False
      for name, type, array, dir, value in pins:
          if array: has_array = True
  
      print >>f
  
negative.code:             print >>f, "    hal_%s_t *%s;" % (type, to_c(name))
          names[name] = 1
  
      for name, type, array, dir, value in params:
          if names.has_key(name):
              raise RuntimeError, "Duplicate item name: %s" % name
          if array:
              print >>f, "    hal_%s_t %s[%s];" % (type, to_c(name), array)
          else:
              print >>f, "    hal_%s_t %s;" % (type, to_c(name))
          names[name] = 1
  
      if has_data:
  